From 0794721e053e3d965bbaecce711e77aa0a74c182 Mon Sep 17 00:00:00 2001 From: Anurag Saxena Date: Mon, 2 Feb 2026 21:52:02 -0500 Subject: [PATCH 1/2] Add vendor dependencies for OpenShift Tests Extension (OTE) framework Add vendor dependencies required for the OpenShift Tests Extension (OTE) framework integration, including: - github.com/openshift-eng/openshift-tests-extension - github.com/onsi/ginkgo/v2 (OpenShift fork) - github.com/spf13/cobra for CLI support - google.golang.org/cel-go and related CEL dependencies - Additional supporting libraries Also upgrade golang.org/x/oauth2 from v0.25.0 to v0.27.0 to address CVE-2025-22868 (GO-2025-3488, GHSA-6v2p-p543-phr9), a HIGH severity denial-of-service vulnerability that allows attackers to trigger unexpected memory consumption during token parsing. Co-Authored-By: Claude Sonnet 4.5 --- go.mod | 47 +- go.sum | 37 +- vendor/cel.dev/expr/.bazelversion | 2 + vendor/cel.dev/expr/.gitattributes | 2 + vendor/cel.dev/expr/.gitignore | 2 + vendor/cel.dev/expr/BUILD.bazel | 34 + vendor/cel.dev/expr/CODE_OF_CONDUCT.md | 25 + vendor/cel.dev/expr/CONTRIBUTING.md | 32 + vendor/cel.dev/expr/GOVERNANCE.md | 43 + vendor/cel.dev/expr/LICENSE | 202 + vendor/cel.dev/expr/MAINTAINERS.md | 13 + vendor/cel.dev/expr/MODULE.bazel | 70 + vendor/cel.dev/expr/README.md | 73 + vendor/cel.dev/expr/WORKSPACE | 145 + vendor/cel.dev/expr/WORKSPACE.bzlmod | 0 vendor/cel.dev/expr/checked.pb.go | 1432 ++++ vendor/cel.dev/expr/cloudbuild.yaml | 9 + vendor/cel.dev/expr/eval.pb.go | 490 ++ vendor/cel.dev/expr/explain.pb.go | 236 + vendor/cel.dev/expr/regen_go_proto.sh | 9 + .../expr/regen_go_proto_canonical_protos.sh | 10 + vendor/cel.dev/expr/syntax.pb.go | 1633 +++++ vendor/cel.dev/expr/value.pb.go | 653 ++ .../github.com/antlr4-go/antlr/v4/.gitignore | 18 + vendor/github.com/antlr4-go/antlr/v4/LICENSE | 28 + .../github.com/antlr4-go/antlr/v4/README.md | 54 + .../github.com/antlr4-go/antlr/v4/antlrdoc.go | 102 + vendor/github.com/antlr4-go/antlr/v4/atn.go | 179 + .../antlr4-go/antlr/v4/atn_config.go | 335 + .../antlr4-go/antlr/v4/atn_config_set.go | 301 + .../antlr/v4/atn_deserialization_options.go | 62 + .../antlr4-go/antlr/v4/atn_deserializer.go | 684 ++ .../antlr4-go/antlr/v4/atn_simulator.go | 41 + .../antlr4-go/antlr/v4/atn_state.go | 461 ++ .../github.com/antlr4-go/antlr/v4/atn_type.go | 11 + .../antlr4-go/antlr/v4/char_stream.go | 12 + .../antlr/v4/common_token_factory.go | 56 + .../antlr4-go/antlr/v4/common_token_stream.go | 450 ++ .../antlr4-go/antlr/v4/comparators.go | 150 + .../antlr4-go/antlr/v4/configuration.go | 214 + vendor/github.com/antlr4-go/antlr/v4/dfa.go | 175 + .../antlr4-go/antlr/v4/dfa_serializer.go | 158 + .../antlr4-go/antlr/v4/dfa_state.go | 170 + .../antlr/v4/diagnostic_error_listener.go | 110 + .../antlr4-go/antlr/v4/error_listener.go | 100 + .../antlr4-go/antlr/v4/error_strategy.go | 702 ++ .../github.com/antlr4-go/antlr/v4/errors.go | 259 + .../antlr4-go/antlr/v4/file_stream.go | 67 + .../antlr4-go/antlr/v4/input_stream.go | 157 + .../antlr4-go/antlr/v4/int_stream.go | 16 + .../antlr4-go/antlr/v4/interval_set.go | 330 + .../github.com/antlr4-go/antlr/v4/jcollect.go | 685 ++ vendor/github.com/antlr4-go/antlr/v4/lexer.go | 426 ++ .../antlr4-go/antlr/v4/lexer_action.go | 452 ++ .../antlr/v4/lexer_action_executor.go | 173 + .../antlr4-go/antlr/v4/lexer_atn_simulator.go | 677 ++ .../antlr4-go/antlr/v4/ll1_analyzer.go | 218 + .../antlr4-go/antlr/v4/nostatistics.go | 47 + .../github.com/antlr4-go/antlr/v4/parser.go | 700 ++ .../antlr/v4/parser_atn_simulator.go | 1668 +++++ .../antlr4-go/antlr/v4/parser_rule_context.go | 421 ++ .../antlr4-go/antlr/v4/prediction_context.go | 727 ++ .../antlr/v4/prediction_context_cache.go | 48 + .../antlr4-go/antlr/v4/prediction_mode.go | 536 ++ .../antlr4-go/antlr/v4/recognizer.go | 241 + .../antlr4-go/antlr/v4/rule_context.go | 40 + .../antlr4-go/antlr/v4/semantic_context.go | 464 ++ .../antlr4-go/antlr/v4/statistics.go | 281 + .../antlr4-go/antlr/v4/stats_data.go | 23 + vendor/github.com/antlr4-go/antlr/v4/token.go | 213 + .../antlr4-go/antlr/v4/token_source.go | 17 + .../antlr4-go/antlr/v4/token_stream.go | 21 + .../antlr/v4/tokenstream_rewriter.go | 662 ++ .../antlr4-go/antlr/v4/trace_listener.go | 32 + .../antlr4-go/antlr/v4/transition.go | 439 ++ vendor/github.com/antlr4-go/antlr/v4/tree.go | 304 + vendor/github.com/antlr4-go/antlr/v4/trees.go | 142 + vendor/github.com/antlr4-go/antlr/v4/utils.go | 328 + vendor/github.com/go-logr/logr/funcr/funcr.go | 914 +++ .../github.com/go-logr/logr/funcr/slogsink.go | 105 + .../go-task/slim-sprig/v3/.editorconfig | 14 + .../go-task/slim-sprig/v3/.gitattributes | 1 + .../go-task/slim-sprig/v3/.gitignore | 2 + .../go-task/slim-sprig/v3/CHANGELOG.md | 383 + .../go-task/slim-sprig/v3/LICENSE.txt | 19 + .../go-task/slim-sprig/v3/README.md | 73 + .../go-task/slim-sprig/v3/Taskfile.yml | 12 + .../go-task/slim-sprig/v3/crypto.go | 24 + .../github.com/go-task/slim-sprig/v3/date.go | 152 + .../go-task/slim-sprig/v3/defaults.go | 163 + .../github.com/go-task/slim-sprig/v3/dict.go | 118 + .../github.com/go-task/slim-sprig/v3/doc.go | 19 + .../go-task/slim-sprig/v3/functions.go | 317 + .../github.com/go-task/slim-sprig/v3/list.go | 464 ++ .../go-task/slim-sprig/v3/network.go | 12 + .../go-task/slim-sprig/v3/numeric.go | 228 + .../go-task/slim-sprig/v3/reflect.go | 28 + .../github.com/go-task/slim-sprig/v3/regex.go | 83 + .../go-task/slim-sprig/v3/strings.go | 189 + .../github.com/go-task/slim-sprig/v3/url.go | 66 + vendor/github.com/google/cel-go/LICENSE | 233 + .../github.com/google/cel-go/cel/BUILD.bazel | 91 + vendor/github.com/google/cel-go/cel/cel.go | 19 + vendor/github.com/google/cel-go/cel/decls.go | 370 + vendor/github.com/google/cel-go/cel/env.go | 894 +++ .../github.com/google/cel-go/cel/folding.go | 559 ++ .../github.com/google/cel-go/cel/inlining.go | 228 + vendor/github.com/google/cel-go/cel/io.go | 288 + .../github.com/google/cel-go/cel/library.go | 790 +++ vendor/github.com/google/cel-go/cel/macro.go | 576 ++ .../github.com/google/cel-go/cel/optimizer.go | 535 ++ .../github.com/google/cel-go/cel/options.go | 667 ++ .../github.com/google/cel-go/cel/program.go | 546 ++ .../github.com/google/cel-go/cel/validator.go | 375 + .../google/cel-go/checker/BUILD.bazel | 64 + .../google/cel-go/checker/checker.go | 711 ++ .../github.com/google/cel-go/checker/cost.go | 705 ++ .../google/cel-go/checker/decls/BUILD.bazel | 19 + .../google/cel-go/checker/decls/decls.go | 237 + .../github.com/google/cel-go/checker/env.go | 284 + .../google/cel-go/checker/errors.go | 88 + .../google/cel-go/checker/format.go | 216 + .../google/cel-go/checker/mapping.go | 49 + .../google/cel-go/checker/options.go | 42 + .../google/cel-go/checker/printer.go | 74 + .../google/cel-go/checker/scopes.go | 147 + .../github.com/google/cel-go/checker/types.go | 314 + .../google/cel-go/common/BUILD.bazel | 34 + .../google/cel-go/common/ast/BUILD.bazel | 57 + .../google/cel-go/common/ast/ast.go | 457 ++ .../google/cel-go/common/ast/conversion.go | 659 ++ .../google/cel-go/common/ast/expr.go | 884 +++ .../google/cel-go/common/ast/factory.go | 313 + .../google/cel-go/common/ast/navigable.go | 660 ++ .../cel-go/common/containers/BUILD.bazel | 31 + .../cel-go/common/containers/container.go | 328 + .../github.com/google/cel-go/common/cost.go | 40 + .../google/cel-go/common/debug/BUILD.bazel | 20 + .../google/cel-go/common/debug/debug.go | 314 + .../google/cel-go/common/decls/BUILD.bazel | 39 + .../google/cel-go/common/decls/decls.go | 846 +++ vendor/github.com/google/cel-go/common/doc.go | 17 + .../github.com/google/cel-go/common/error.go | 74 + .../github.com/google/cel-go/common/errors.go | 103 + .../cel-go/common/functions/BUILD.bazel | 17 + .../cel-go/common/functions/functions.go | 61 + .../google/cel-go/common/location.go | 51 + .../cel-go/common/operators/BUILD.bazel | 14 + .../cel-go/common/operators/operators.go | 157 + .../cel-go/common/overloads/BUILD.bazel | 14 + .../cel-go/common/overloads/overloads.go | 327 + .../google/cel-go/common/runes/BUILD.bazel | 25 + .../google/cel-go/common/runes/buffer.go | 242 + .../github.com/google/cel-go/common/source.go | 173 + .../google/cel-go/common/stdlib/BUILD.bazel | 23 + .../google/cel-go/common/stdlib/standard.go | 620 ++ .../google/cel-go/common/types/BUILD.bazel | 92 + .../google/cel-go/common/types/any_value.go | 24 + .../google/cel-go/common/types/bool.go | 141 + .../google/cel-go/common/types/bytes.go | 140 + .../google/cel-go/common/types/compare.go | 97 + .../google/cel-go/common/types/doc.go | 17 + .../google/cel-go/common/types/double.go | 211 + .../google/cel-go/common/types/duration.go | 222 + .../google/cel-go/common/types/err.go | 169 + .../google/cel-go/common/types/int.go | 303 + .../google/cel-go/common/types/iterator.go | 55 + .../google/cel-go/common/types/json_value.go | 29 + .../google/cel-go/common/types/list.go | 574 ++ .../google/cel-go/common/types/map.go | 1002 +++ .../google/cel-go/common/types/null.go | 119 + .../google/cel-go/common/types/object.go | 165 + .../google/cel-go/common/types/optional.go | 108 + .../google/cel-go/common/types/overflow.go | 429 ++ .../google/cel-go/common/types/pb/BUILD.bazel | 53 + .../google/cel-go/common/types/pb/checked.go | 93 + .../google/cel-go/common/types/pb/enum.go | 44 + .../google/cel-go/common/types/pb/equal.go | 206 + .../google/cel-go/common/types/pb/file.go | 202 + .../google/cel-go/common/types/pb/pb.go | 258 + .../google/cel-go/common/types/pb/type.go | 614 ++ .../google/cel-go/common/types/provider.go | 766 ++ .../cel-go/common/types/ref/BUILD.bazel | 20 + .../cel-go/common/types/ref/provider.go | 102 + .../cel-go/common/types/ref/reference.go | 63 + .../google/cel-go/common/types/string.go | 226 + .../google/cel-go/common/types/timestamp.go | 311 + .../cel-go/common/types/traits/BUILD.bazel | 29 + .../cel-go/common/types/traits/comparer.go | 33 + .../cel-go/common/types/traits/container.go | 23 + .../common/types/traits/field_tester.go | 30 + .../cel-go/common/types/traits/indexer.go | 25 + .../cel-go/common/types/traits/iterator.go | 49 + .../cel-go/common/types/traits/lister.go | 36 + .../cel-go/common/types/traits/mapper.go | 48 + .../cel-go/common/types/traits/matcher.go | 23 + .../google/cel-go/common/types/traits/math.go | 62 + .../cel-go/common/types/traits/receiver.go | 24 + .../cel-go/common/types/traits/sizer.go | 25 + .../cel-go/common/types/traits/traits.go | 79 + .../cel-go/common/types/traits/zeroer.go | 21 + .../google/cel-go/common/types/types.go | 864 +++ .../google/cel-go/common/types/uint.go | 256 + .../google/cel-go/common/types/unknown.go | 326 + .../google/cel-go/common/types/util.go | 48 + .../google/cel-go/interpreter/BUILD.bazel | 74 + .../google/cel-go/interpreter/activation.go | 168 + .../cel-go/interpreter/attribute_patterns.go | 397 ++ .../google/cel-go/interpreter/attributes.go | 1436 ++++ .../google/cel-go/interpreter/decorators.go | 272 + .../google/cel-go/interpreter/dispatcher.go | 100 + .../google/cel-go/interpreter/evalstate.go | 79 + .../cel-go/interpreter/interpretable.go | 1407 ++++ .../google/cel-go/interpreter/interpreter.go | 185 + .../cel-go/interpreter/optimizations.go | 46 + .../google/cel-go/interpreter/planner.go | 757 ++ .../google/cel-go/interpreter/prune.go | 543 ++ .../google/cel-go/interpreter/runtimecost.go | 316 + .../google/cel-go/parser/BUILD.bazel | 58 + .../github.com/google/cel-go/parser/errors.go | 43 + .../google/cel-go/parser/gen/BUILD.bazel | 26 + .../google/cel-go/parser/gen/CEL.g4 | 200 + .../google/cel-go/parser/gen/CEL.interp | 99 + .../google/cel-go/parser/gen/CEL.tokens | 64 + .../google/cel-go/parser/gen/CELLexer.interp | 136 + .../google/cel-go/parser/gen/CELLexer.tokens | 64 + .../cel-go/parser/gen/cel_base_listener.go | 219 + .../cel-go/parser/gen/cel_base_visitor.go | 141 + .../google/cel-go/parser/gen/cel_lexer.go | 344 + .../google/cel-go/parser/gen/cel_listener.go | 208 + .../google/cel-go/parser/gen/cel_parser.go | 6274 +++++++++++++++++ .../google/cel-go/parser/gen/cel_visitor.go | 110 + .../google/cel-go/parser/gen/doc.go | 16 + .../google/cel-go/parser/gen/generate.sh | 35 + .../github.com/google/cel-go/parser/helper.go | 510 ++ .../github.com/google/cel-go/parser/input.go | 129 + .../github.com/google/cel-go/parser/macro.go | 428 ++ .../google/cel-go/parser/options.go | 140 + .../github.com/google/cel-go/parser/parser.go | 1012 +++ .../google/cel-go/parser/unescape.go | 237 + .../google/cel-go/parser/unparser.go | 629 ++ vendor/github.com/google/pprof/AUTHORS | 7 + vendor/github.com/google/pprof/CONTRIBUTORS | 16 + vendor/github.com/google/pprof/LICENSE | 202 + .../github.com/google/pprof/profile/encode.go | 596 ++ .../github.com/google/pprof/profile/filter.go | 274 + .../github.com/google/pprof/profile/index.go | 64 + .../pprof/profile/legacy_java_profile.go | 315 + .../google/pprof/profile/legacy_profile.go | 1228 ++++ .../github.com/google/pprof/profile/merge.go | 674 ++ .../google/pprof/profile/profile.go | 869 +++ .../github.com/google/pprof/profile/proto.go | 367 + .../github.com/google/pprof/profile/prune.go | 194 + .../inconshreveable/mousetrap/LICENSE | 201 + .../inconshreveable/mousetrap/README.md | 23 + .../inconshreveable/mousetrap/trap_others.go | 16 + .../inconshreveable/mousetrap/trap_windows.go | 42 + vendor/github.com/onsi/ginkgo/v2/.gitignore | 7 + vendor/github.com/onsi/ginkgo/v2/CHANGELOG.md | 1075 +++ .../github.com/onsi/ginkgo/v2/CONTRIBUTING.md | 15 + vendor/github.com/onsi/ginkgo/v2/LICENSE | 20 + vendor/github.com/onsi/ginkgo/v2/Makefile | 16 + vendor/github.com/onsi/ginkgo/v2/OWNERS | 4 + vendor/github.com/onsi/ginkgo/v2/README.md | 115 + vendor/github.com/onsi/ginkgo/v2/RELEASING.md | 23 + .../onsi/ginkgo/v2/config/deprecated.go | 69 + vendor/github.com/onsi/ginkgo/v2/core_dsl.go | 847 +++ .../onsi/ginkgo/v2/core_dsl_patch.go | 33 + .../onsi/ginkgo/v2/decorator_dsl.go | 143 + .../onsi/ginkgo/v2/deprecated_dsl.go | 135 + .../ginkgo/v2/formatter/colorable_others.go | 41 + .../ginkgo/v2/formatter/colorable_windows.go | 809 +++ .../onsi/ginkgo/v2/formatter/formatter.go | 234 + .../ginkgo/v2/ginkgo/build/build_command.go | 76 + .../onsi/ginkgo/v2/ginkgo/command/abort.go | 61 + .../onsi/ginkgo/v2/ginkgo/command/command.go | 50 + .../onsi/ginkgo/v2/ginkgo/command/program.go | 182 + .../ginkgo/generators/boostrap_templates.go | 48 + .../v2/ginkgo/generators/bootstrap_command.go | 133 + .../v2/ginkgo/generators/generate_command.go | 265 + .../ginkgo/generators/generate_templates.go | 43 + .../v2/ginkgo/generators/generators_common.go | 76 + .../onsi/ginkgo/v2/ginkgo/internal/compile.go | 173 + .../ginkgo/v2/ginkgo/internal/gocovmerge.go | 129 + .../ginkgo/internal/profiles_and_reports.go | 227 + .../onsi/ginkgo/v2/ginkgo/internal/run.go | 355 + .../ginkgo/v2/ginkgo/internal/test_suite.go | 284 + .../onsi/ginkgo/v2/ginkgo/internal/utils.go | 86 + .../v2/ginkgo/internal/verify_version.go | 54 + .../ginkgo/v2/ginkgo/labels/labels_command.go | 123 + .../github.com/onsi/ginkgo/v2/ginkgo/main.go | 58 + .../onsi/ginkgo/v2/ginkgo/outline/ginkgo.go | 301 + .../onsi/ginkgo/v2/ginkgo/outline/import.go | 58 + .../onsi/ginkgo/v2/ginkgo/outline/outline.go | 110 + .../v2/ginkgo/outline/outline_command.go | 98 + .../onsi/ginkgo/v2/ginkgo/run/run_command.go | 232 + .../v2/ginkgo/unfocus/unfocus_command.go | 186 + .../onsi/ginkgo/v2/ginkgo/watch/delta.go | 22 + .../ginkgo/v2/ginkgo/watch/delta_tracker.go | 75 + .../ginkgo/v2/ginkgo/watch/dependencies.go | 92 + .../ginkgo/v2/ginkgo/watch/package_hash.go | 117 + .../ginkgo/v2/ginkgo/watch/package_hashes.go | 85 + .../onsi/ginkgo/v2/ginkgo/watch/suite.go | 87 + .../ginkgo/v2/ginkgo/watch/watch_command.go | 192 + .../onsi/ginkgo/v2/ginkgo_cli_dependencies.go | 8 + .../github.com/onsi/ginkgo/v2/ginkgo_t_dsl.go | 180 + .../onsi/ginkgo/v2/internal/counter.go | 9 + .../onsi/ginkgo/v2/internal/failer.go | 99 + .../onsi/ginkgo/v2/internal/focus.go | 122 + .../onsi/ginkgo/v2/internal/global/init.go | 28 + .../onsi/ginkgo/v2/internal/group.go | 383 + .../interrupt_handler/interrupt_handler.go | 177 + .../sigquit_swallower_unix.go | 15 + .../sigquit_swallower_windows.go | 8 + .../onsi/ginkgo/v2/internal/node.go | 935 +++ .../onsi/ginkgo/v2/internal/ordering.go | 171 + .../ginkgo/v2/internal/output_interceptor.go | 250 + .../v2/internal/output_interceptor_unix.go | 73 + .../v2/internal/output_interceptor_wasm.go | 7 + .../v2/internal/output_interceptor_win.go | 7 + .../parallel_support/client_server.go | 72 + .../internal/parallel_support/http_client.go | 169 + .../internal/parallel_support/http_server.go | 242 + .../internal/parallel_support/rpc_client.go | 136 + .../internal/parallel_support/rpc_server.go | 75 + .../parallel_support/server_handler.go | 234 + .../ginkgo/v2/internal/progress_report.go | 287 + .../ginkgo/v2/internal/progress_report_bsd.go | 11 + .../v2/internal/progress_report_unix.go | 11 + .../v2/internal/progress_report_wasm.go | 10 + .../ginkgo/v2/internal/progress_report_win.go | 8 + .../v2/internal/progress_reporter_manager.go | 79 + .../onsi/ginkgo/v2/internal/report_entry.go | 39 + .../onsi/ginkgo/v2/internal/spec.go | 87 + .../onsi/ginkgo/v2/internal/spec_context.go | 47 + .../onsi/ginkgo/v2/internal/spec_patch.go | 22 + .../onsi/ginkgo/v2/internal/suite.go | 1053 +++ .../onsi/ginkgo/v2/internal/suite_patch.go | 71 + .../internal/testingtproxy/testing_t_proxy.go | 210 + .../onsi/ginkgo/v2/internal/tree.go | 77 + .../onsi/ginkgo/v2/internal/writer.go | 144 + .../ginkgo/v2/reporters/default_reporter.go | 788 +++ .../v2/reporters/deprecated_reporter.go | 149 + .../onsi/ginkgo/v2/reporters/json_report.go | 69 + .../onsi/ginkgo/v2/reporters/junit_report.go | 390 + .../onsi/ginkgo/v2/reporters/reporter.go | 29 + .../ginkgo/v2/reporters/teamcity_report.go | 105 + .../onsi/ginkgo/v2/reporting_dsl.go | 221 + vendor/github.com/onsi/ginkgo/v2/table_dsl.go | 386 + .../onsi/ginkgo/v2/types/code_location.go | 159 + .../github.com/onsi/ginkgo/v2/types/config.go | 776 ++ .../onsi/ginkgo/v2/types/deprecated_types.go | 141 + .../ginkgo/v2/types/deprecation_support.go | 177 + .../onsi/ginkgo/v2/types/enum_support.go | 43 + .../github.com/onsi/ginkgo/v2/types/errors.go | 639 ++ .../onsi/ginkgo/v2/types/file_filter.go | 106 + .../github.com/onsi/ginkgo/v2/types/flags.go | 490 ++ .../onsi/ginkgo/v2/types/label_filter.go | 583 ++ .../onsi/ginkgo/v2/types/report_entry.go | 190 + .../github.com/onsi/ginkgo/v2/types/types.go | 922 +++ .../onsi/ginkgo/v2/types/types_patch.go | 8 + .../onsi/ginkgo/v2/types/version.go | 3 + .../openshift-tests-extension/LICENSE | 201 + .../openshift-tests-extension/pkg/cmd/cmd.go | 23 + .../pkg/cmd/cmdimages/cmdimages.go | 36 + .../pkg/cmd/cmdinfo/info.go | 38 + .../pkg/cmd/cmdlist/list.go | 133 + .../pkg/cmd/cmdrun/runsuite.go | 153 + .../pkg/cmd/cmdrun/runtest.go | 113 + .../pkg/cmd/cmdupdate/update.go | 84 + .../pkg/dbtime/time.go | 26 + .../pkg/extension/extension.go | 165 + .../extension/extensiontests/environment.go | 92 + .../pkg/extension/extensiontests/result.go | 125 + .../extension/extensiontests/result_writer.go | 213 + .../pkg/extension/extensiontests/spec.go | 621 ++ .../pkg/extension/extensiontests/task.go | 31 + .../pkg/extension/extensiontests/types.go | 119 + .../pkg/extension/extensiontests/viewer.html | 1520 ++++ .../pkg/extension/registry.go | 39 + .../pkg/extension/types.go | 94 + .../pkg/flags/component.go | 25 + .../pkg/flags/concurrency.go | 23 + .../pkg/flags/environment.go | 114 + .../pkg/flags/names.go | 24 + .../pkg/flags/output.go | 95 + .../pkg/flags/suite.go | 21 + .../pkg/ginkgo/logging.go | 21 + .../pkg/ginkgo/parallel.go | 139 + .../pkg/ginkgo/util.go | 229 + .../pkg/junit/types.go | 104 + .../pkg/util/sets/LICENSE | 202 + .../pkg/util/sets/README.md | 3 + .../pkg/util/sets/byte.go | 137 + .../pkg/util/sets/doc.go | 19 + .../pkg/util/sets/empty.go | 21 + .../pkg/util/sets/int.go | 137 + .../pkg/util/sets/int32.go | 137 + .../pkg/util/sets/int64.go | 137 + .../pkg/util/sets/set.go | 236 + .../pkg/util/sets/string.go | 137 + .../pkg/version/version.go | 11 + vendor/github.com/spf13/cobra/.gitignore | 39 + vendor/github.com/spf13/cobra/.golangci.yml | 57 + vendor/github.com/spf13/cobra/.mailmap | 3 + vendor/github.com/spf13/cobra/CONDUCT.md | 37 + vendor/github.com/spf13/cobra/CONTRIBUTING.md | 50 + vendor/github.com/spf13/cobra/LICENSE.txt | 174 + vendor/github.com/spf13/cobra/MAINTAINERS | 13 + vendor/github.com/spf13/cobra/Makefile | 35 + vendor/github.com/spf13/cobra/README.md | 112 + vendor/github.com/spf13/cobra/active_help.go | 60 + vendor/github.com/spf13/cobra/args.go | 131 + .../spf13/cobra/bash_completions.go | 709 ++ .../spf13/cobra/bash_completionsV2.go | 396 ++ vendor/github.com/spf13/cobra/cobra.go | 242 + vendor/github.com/spf13/cobra/command.go | 1896 +++++ .../github.com/spf13/cobra/command_notwin.go | 20 + vendor/github.com/spf13/cobra/command_win.go | 41 + vendor/github.com/spf13/cobra/completions.go | 939 +++ .../spf13/cobra/fish_completions.go | 292 + vendor/github.com/spf13/cobra/flag_groups.go | 290 + .../spf13/cobra/powershell_completions.go | 325 + .../spf13/cobra/shell_completions.go | 98 + .../github.com/spf13/cobra/zsh_completions.go | 308 + .../github.com/stoewer/go-strcase/.gitignore | 17 + .../stoewer/go-strcase/.golangci.yml | 26 + vendor/github.com/stoewer/go-strcase/LICENSE | 21 + .../github.com/stoewer/go-strcase/README.md | 50 + vendor/github.com/stoewer/go-strcase/camel.go | 40 + vendor/github.com/stoewer/go-strcase/doc.go | 8 + .../github.com/stoewer/go-strcase/helper.go | 71 + vendor/github.com/stoewer/go-strcase/kebab.go | 14 + vendor/github.com/stoewer/go-strcase/snake.go | 58 + vendor/golang.org/x/exp/LICENSE | 27 + vendor/golang.org/x/exp/PATENTS | 22 + .../x/exp/constraints/constraints.go | 50 + vendor/golang.org/x/exp/slices/cmp.go | 44 + vendor/golang.org/x/exp/slices/slices.go | 515 ++ vendor/golang.org/x/exp/slices/sort.go | 197 + .../golang.org/x/exp/slices/zsortanyfunc.go | 479 ++ .../golang.org/x/exp/slices/zsortordered.go | 481 ++ vendor/golang.org/x/net/context/context.go | 144 + vendor/golang.org/x/tools/LICENSE | 27 + vendor/golang.org/x/tools/PATENTS | 22 + vendor/golang.org/x/tools/cover/profile.go | 266 + .../x/tools/go/ast/inspector/inspector.go | 284 + .../x/tools/go/ast/inspector/iter.go | 85 + .../x/tools/go/ast/inspector/typeof.go | 230 + .../x/tools/go/ast/inspector/walk.go | 341 + .../x/tools/internal/astutil/edge/edge.go | 295 + .../genproto/googleapis/api/LICENSE | 202 + .../api/expr/v1alpha1/checked.pb.go | 1664 +++++ .../googleapis/api/expr/v1alpha1/eval.pb.go | 580 ++ .../api/expr/v1alpha1/explain.pb.go | 275 + .../googleapis/api/expr/v1alpha1/syntax.pb.go | 2040 ++++++ .../googleapis/api/expr/v1alpha1/value.pb.go | 721 ++ .../genproto/googleapis/rpc/LICENSE | 202 + .../googleapis/rpc/status/status.pb.go | 203 + .../protobuf/encoding/protojson/decode.go | 680 ++ .../protobuf/encoding/protojson/doc.go | 11 + .../protobuf/encoding/protojson/encode.go | 380 + .../encoding/protojson/well_known_types.go | 880 +++ .../protobuf/internal/encoding/json/decode.go | 340 + .../internal/encoding/json/decode_number.go | 254 + .../internal/encoding/json/decode_string.go | 91 + .../internal/encoding/json/decode_token.go | 192 + .../protobuf/internal/encoding/json/encode.go | 278 + .../protobuf/types/dynamicpb/dynamic.go | 718 ++ .../protobuf/types/dynamicpb/types.go | 180 + .../protobuf/types/known/emptypb/empty.pb.go | 150 + .../types/known/structpb/struct.pb.go | 791 +++ .../types/known/wrapperspb/wrappers.pb.go | 623 ++ vendor/modules.txt | 141 +- 474 files changed, 117597 insertions(+), 11 deletions(-) create mode 100644 vendor/cel.dev/expr/.bazelversion create mode 100644 vendor/cel.dev/expr/.gitattributes create mode 100644 vendor/cel.dev/expr/.gitignore create mode 100644 vendor/cel.dev/expr/BUILD.bazel create mode 100644 vendor/cel.dev/expr/CODE_OF_CONDUCT.md create mode 100644 vendor/cel.dev/expr/CONTRIBUTING.md create mode 100644 vendor/cel.dev/expr/GOVERNANCE.md create mode 100644 vendor/cel.dev/expr/LICENSE create mode 100644 vendor/cel.dev/expr/MAINTAINERS.md create mode 100644 vendor/cel.dev/expr/MODULE.bazel create mode 100644 vendor/cel.dev/expr/README.md create mode 100644 vendor/cel.dev/expr/WORKSPACE create mode 100644 vendor/cel.dev/expr/WORKSPACE.bzlmod create mode 100644 vendor/cel.dev/expr/checked.pb.go create mode 100644 vendor/cel.dev/expr/cloudbuild.yaml create mode 100644 vendor/cel.dev/expr/eval.pb.go create mode 100644 vendor/cel.dev/expr/explain.pb.go create mode 100644 vendor/cel.dev/expr/regen_go_proto.sh create mode 100644 vendor/cel.dev/expr/regen_go_proto_canonical_protos.sh create mode 100644 vendor/cel.dev/expr/syntax.pb.go create mode 100644 vendor/cel.dev/expr/value.pb.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/.gitignore create mode 100644 vendor/github.com/antlr4-go/antlr/v4/LICENSE create mode 100644 vendor/github.com/antlr4-go/antlr/v4/README.md create mode 100644 vendor/github.com/antlr4-go/antlr/v4/antlrdoc.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/atn.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/atn_config.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/atn_config_set.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/atn_deserialization_options.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/atn_deserializer.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/atn_simulator.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/atn_state.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/atn_type.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/char_stream.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/common_token_factory.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/common_token_stream.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/comparators.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/configuration.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/dfa.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/dfa_serializer.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/dfa_state.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/diagnostic_error_listener.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/error_listener.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/error_strategy.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/errors.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/file_stream.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/input_stream.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/int_stream.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/interval_set.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/jcollect.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/lexer.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/lexer_action.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/lexer_action_executor.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/lexer_atn_simulator.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/ll1_analyzer.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/nostatistics.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/parser.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/parser_atn_simulator.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/parser_rule_context.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/prediction_context.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/prediction_context_cache.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/prediction_mode.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/recognizer.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/rule_context.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/semantic_context.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/statistics.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/stats_data.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/token.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/token_source.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/token_stream.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/tokenstream_rewriter.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/trace_listener.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/transition.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/tree.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/trees.go create mode 100644 vendor/github.com/antlr4-go/antlr/v4/utils.go create mode 100644 vendor/github.com/go-logr/logr/funcr/funcr.go create mode 100644 vendor/github.com/go-logr/logr/funcr/slogsink.go create mode 100644 vendor/github.com/go-task/slim-sprig/v3/.editorconfig create mode 100644 vendor/github.com/go-task/slim-sprig/v3/.gitattributes create mode 100644 vendor/github.com/go-task/slim-sprig/v3/.gitignore create mode 100644 vendor/github.com/go-task/slim-sprig/v3/CHANGELOG.md create mode 100644 vendor/github.com/go-task/slim-sprig/v3/LICENSE.txt create mode 100644 vendor/github.com/go-task/slim-sprig/v3/README.md create mode 100644 vendor/github.com/go-task/slim-sprig/v3/Taskfile.yml create mode 100644 vendor/github.com/go-task/slim-sprig/v3/crypto.go create mode 100644 vendor/github.com/go-task/slim-sprig/v3/date.go create mode 100644 vendor/github.com/go-task/slim-sprig/v3/defaults.go create mode 100644 vendor/github.com/go-task/slim-sprig/v3/dict.go create mode 100644 vendor/github.com/go-task/slim-sprig/v3/doc.go create mode 100644 vendor/github.com/go-task/slim-sprig/v3/functions.go create mode 100644 vendor/github.com/go-task/slim-sprig/v3/list.go create mode 100644 vendor/github.com/go-task/slim-sprig/v3/network.go create mode 100644 vendor/github.com/go-task/slim-sprig/v3/numeric.go create mode 100644 vendor/github.com/go-task/slim-sprig/v3/reflect.go create mode 100644 vendor/github.com/go-task/slim-sprig/v3/regex.go create mode 100644 vendor/github.com/go-task/slim-sprig/v3/strings.go create mode 100644 vendor/github.com/go-task/slim-sprig/v3/url.go create mode 100644 vendor/github.com/google/cel-go/LICENSE create mode 100644 vendor/github.com/google/cel-go/cel/BUILD.bazel create mode 100644 vendor/github.com/google/cel-go/cel/cel.go create mode 100644 vendor/github.com/google/cel-go/cel/decls.go create mode 100644 vendor/github.com/google/cel-go/cel/env.go create mode 100644 vendor/github.com/google/cel-go/cel/folding.go create mode 100644 vendor/github.com/google/cel-go/cel/inlining.go create mode 100644 vendor/github.com/google/cel-go/cel/io.go create mode 100644 vendor/github.com/google/cel-go/cel/library.go create mode 100644 vendor/github.com/google/cel-go/cel/macro.go create mode 100644 vendor/github.com/google/cel-go/cel/optimizer.go create mode 100644 vendor/github.com/google/cel-go/cel/options.go create mode 100644 vendor/github.com/google/cel-go/cel/program.go create mode 100644 vendor/github.com/google/cel-go/cel/validator.go create mode 100644 vendor/github.com/google/cel-go/checker/BUILD.bazel create mode 100644 vendor/github.com/google/cel-go/checker/checker.go create mode 100644 vendor/github.com/google/cel-go/checker/cost.go create mode 100644 vendor/github.com/google/cel-go/checker/decls/BUILD.bazel create mode 100644 vendor/github.com/google/cel-go/checker/decls/decls.go create mode 100644 vendor/github.com/google/cel-go/checker/env.go create mode 100644 vendor/github.com/google/cel-go/checker/errors.go create mode 100644 vendor/github.com/google/cel-go/checker/format.go create mode 100644 vendor/github.com/google/cel-go/checker/mapping.go create mode 100644 vendor/github.com/google/cel-go/checker/options.go create mode 100644 vendor/github.com/google/cel-go/checker/printer.go create mode 100644 vendor/github.com/google/cel-go/checker/scopes.go create mode 100644 vendor/github.com/google/cel-go/checker/types.go create mode 100644 vendor/github.com/google/cel-go/common/BUILD.bazel create mode 100644 vendor/github.com/google/cel-go/common/ast/BUILD.bazel create mode 100644 vendor/github.com/google/cel-go/common/ast/ast.go create mode 100644 vendor/github.com/google/cel-go/common/ast/conversion.go create mode 100644 vendor/github.com/google/cel-go/common/ast/expr.go create mode 100644 vendor/github.com/google/cel-go/common/ast/factory.go create mode 100644 vendor/github.com/google/cel-go/common/ast/navigable.go create mode 100644 vendor/github.com/google/cel-go/common/containers/BUILD.bazel create mode 100644 vendor/github.com/google/cel-go/common/containers/container.go create mode 100644 vendor/github.com/google/cel-go/common/cost.go create mode 100644 vendor/github.com/google/cel-go/common/debug/BUILD.bazel create mode 100644 vendor/github.com/google/cel-go/common/debug/debug.go create mode 100644 vendor/github.com/google/cel-go/common/decls/BUILD.bazel create mode 100644 vendor/github.com/google/cel-go/common/decls/decls.go create mode 100644 vendor/github.com/google/cel-go/common/doc.go create mode 100644 vendor/github.com/google/cel-go/common/error.go create mode 100644 vendor/github.com/google/cel-go/common/errors.go create mode 100644 vendor/github.com/google/cel-go/common/functions/BUILD.bazel create mode 100644 vendor/github.com/google/cel-go/common/functions/functions.go create mode 100644 vendor/github.com/google/cel-go/common/location.go create mode 100644 vendor/github.com/google/cel-go/common/operators/BUILD.bazel create mode 100644 vendor/github.com/google/cel-go/common/operators/operators.go create mode 100644 vendor/github.com/google/cel-go/common/overloads/BUILD.bazel create mode 100644 vendor/github.com/google/cel-go/common/overloads/overloads.go create mode 100644 vendor/github.com/google/cel-go/common/runes/BUILD.bazel create mode 100644 vendor/github.com/google/cel-go/common/runes/buffer.go create mode 100644 vendor/github.com/google/cel-go/common/source.go create mode 100644 vendor/github.com/google/cel-go/common/stdlib/BUILD.bazel create mode 100644 vendor/github.com/google/cel-go/common/stdlib/standard.go create mode 100644 vendor/github.com/google/cel-go/common/types/BUILD.bazel create mode 100644 vendor/github.com/google/cel-go/common/types/any_value.go create mode 100644 vendor/github.com/google/cel-go/common/types/bool.go create mode 100644 vendor/github.com/google/cel-go/common/types/bytes.go create mode 100644 vendor/github.com/google/cel-go/common/types/compare.go create mode 100644 vendor/github.com/google/cel-go/common/types/doc.go create mode 100644 vendor/github.com/google/cel-go/common/types/double.go create mode 100644 vendor/github.com/google/cel-go/common/types/duration.go create mode 100644 vendor/github.com/google/cel-go/common/types/err.go create mode 100644 vendor/github.com/google/cel-go/common/types/int.go create mode 100644 vendor/github.com/google/cel-go/common/types/iterator.go create mode 100644 vendor/github.com/google/cel-go/common/types/json_value.go create mode 100644 vendor/github.com/google/cel-go/common/types/list.go create mode 100644 vendor/github.com/google/cel-go/common/types/map.go create mode 100644 vendor/github.com/google/cel-go/common/types/null.go create mode 100644 vendor/github.com/google/cel-go/common/types/object.go create mode 100644 vendor/github.com/google/cel-go/common/types/optional.go create mode 100644 vendor/github.com/google/cel-go/common/types/overflow.go create mode 100644 vendor/github.com/google/cel-go/common/types/pb/BUILD.bazel create mode 100644 vendor/github.com/google/cel-go/common/types/pb/checked.go create mode 100644 vendor/github.com/google/cel-go/common/types/pb/enum.go create mode 100644 vendor/github.com/google/cel-go/common/types/pb/equal.go create mode 100644 vendor/github.com/google/cel-go/common/types/pb/file.go create mode 100644 vendor/github.com/google/cel-go/common/types/pb/pb.go create mode 100644 vendor/github.com/google/cel-go/common/types/pb/type.go create mode 100644 vendor/github.com/google/cel-go/common/types/provider.go create mode 100644 vendor/github.com/google/cel-go/common/types/ref/BUILD.bazel create mode 100644 vendor/github.com/google/cel-go/common/types/ref/provider.go create mode 100644 vendor/github.com/google/cel-go/common/types/ref/reference.go create mode 100644 vendor/github.com/google/cel-go/common/types/string.go create mode 100644 vendor/github.com/google/cel-go/common/types/timestamp.go create mode 100644 vendor/github.com/google/cel-go/common/types/traits/BUILD.bazel create mode 100644 vendor/github.com/google/cel-go/common/types/traits/comparer.go create mode 100644 vendor/github.com/google/cel-go/common/types/traits/container.go create mode 100644 vendor/github.com/google/cel-go/common/types/traits/field_tester.go create mode 100644 vendor/github.com/google/cel-go/common/types/traits/indexer.go create mode 100644 vendor/github.com/google/cel-go/common/types/traits/iterator.go create mode 100644 vendor/github.com/google/cel-go/common/types/traits/lister.go create mode 100644 vendor/github.com/google/cel-go/common/types/traits/mapper.go create mode 100644 vendor/github.com/google/cel-go/common/types/traits/matcher.go create mode 100644 vendor/github.com/google/cel-go/common/types/traits/math.go create mode 100644 vendor/github.com/google/cel-go/common/types/traits/receiver.go create mode 100644 vendor/github.com/google/cel-go/common/types/traits/sizer.go create mode 100644 vendor/github.com/google/cel-go/common/types/traits/traits.go create mode 100644 vendor/github.com/google/cel-go/common/types/traits/zeroer.go create mode 100644 vendor/github.com/google/cel-go/common/types/types.go create mode 100644 vendor/github.com/google/cel-go/common/types/uint.go create mode 100644 vendor/github.com/google/cel-go/common/types/unknown.go create mode 100644 vendor/github.com/google/cel-go/common/types/util.go create mode 100644 vendor/github.com/google/cel-go/interpreter/BUILD.bazel create mode 100644 vendor/github.com/google/cel-go/interpreter/activation.go create mode 100644 vendor/github.com/google/cel-go/interpreter/attribute_patterns.go create mode 100644 vendor/github.com/google/cel-go/interpreter/attributes.go create mode 100644 vendor/github.com/google/cel-go/interpreter/decorators.go create mode 100644 vendor/github.com/google/cel-go/interpreter/dispatcher.go create mode 100644 vendor/github.com/google/cel-go/interpreter/evalstate.go create mode 100644 vendor/github.com/google/cel-go/interpreter/interpretable.go create mode 100644 vendor/github.com/google/cel-go/interpreter/interpreter.go create mode 100644 vendor/github.com/google/cel-go/interpreter/optimizations.go create mode 100644 vendor/github.com/google/cel-go/interpreter/planner.go create mode 100644 vendor/github.com/google/cel-go/interpreter/prune.go create mode 100644 vendor/github.com/google/cel-go/interpreter/runtimecost.go create mode 100644 vendor/github.com/google/cel-go/parser/BUILD.bazel create mode 100644 vendor/github.com/google/cel-go/parser/errors.go create mode 100644 vendor/github.com/google/cel-go/parser/gen/BUILD.bazel create mode 100644 vendor/github.com/google/cel-go/parser/gen/CEL.g4 create mode 100644 vendor/github.com/google/cel-go/parser/gen/CEL.interp create mode 100644 vendor/github.com/google/cel-go/parser/gen/CEL.tokens create mode 100644 vendor/github.com/google/cel-go/parser/gen/CELLexer.interp create mode 100644 vendor/github.com/google/cel-go/parser/gen/CELLexer.tokens create mode 100644 vendor/github.com/google/cel-go/parser/gen/cel_base_listener.go create mode 100644 vendor/github.com/google/cel-go/parser/gen/cel_base_visitor.go create mode 100644 vendor/github.com/google/cel-go/parser/gen/cel_lexer.go create mode 100644 vendor/github.com/google/cel-go/parser/gen/cel_listener.go create mode 100644 vendor/github.com/google/cel-go/parser/gen/cel_parser.go create mode 100644 vendor/github.com/google/cel-go/parser/gen/cel_visitor.go create mode 100644 vendor/github.com/google/cel-go/parser/gen/doc.go create mode 100644 vendor/github.com/google/cel-go/parser/gen/generate.sh create mode 100644 vendor/github.com/google/cel-go/parser/helper.go create mode 100644 vendor/github.com/google/cel-go/parser/input.go create mode 100644 vendor/github.com/google/cel-go/parser/macro.go create mode 100644 vendor/github.com/google/cel-go/parser/options.go create mode 100644 vendor/github.com/google/cel-go/parser/parser.go create mode 100644 vendor/github.com/google/cel-go/parser/unescape.go create mode 100644 vendor/github.com/google/cel-go/parser/unparser.go create mode 100644 vendor/github.com/google/pprof/AUTHORS create mode 100644 vendor/github.com/google/pprof/CONTRIBUTORS create mode 100644 vendor/github.com/google/pprof/LICENSE create mode 100644 vendor/github.com/google/pprof/profile/encode.go create mode 100644 vendor/github.com/google/pprof/profile/filter.go create mode 100644 vendor/github.com/google/pprof/profile/index.go create mode 100644 vendor/github.com/google/pprof/profile/legacy_java_profile.go create mode 100644 vendor/github.com/google/pprof/profile/legacy_profile.go create mode 100644 vendor/github.com/google/pprof/profile/merge.go create mode 100644 vendor/github.com/google/pprof/profile/profile.go create mode 100644 vendor/github.com/google/pprof/profile/proto.go create mode 100644 vendor/github.com/google/pprof/profile/prune.go create mode 100644 vendor/github.com/inconshreveable/mousetrap/LICENSE create mode 100644 vendor/github.com/inconshreveable/mousetrap/README.md create mode 100644 vendor/github.com/inconshreveable/mousetrap/trap_others.go create mode 100644 vendor/github.com/inconshreveable/mousetrap/trap_windows.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/.gitignore create mode 100644 vendor/github.com/onsi/ginkgo/v2/CHANGELOG.md create mode 100644 vendor/github.com/onsi/ginkgo/v2/CONTRIBUTING.md create mode 100644 vendor/github.com/onsi/ginkgo/v2/LICENSE create mode 100644 vendor/github.com/onsi/ginkgo/v2/Makefile create mode 100644 vendor/github.com/onsi/ginkgo/v2/OWNERS create mode 100644 vendor/github.com/onsi/ginkgo/v2/README.md create mode 100644 vendor/github.com/onsi/ginkgo/v2/RELEASING.md create mode 100644 vendor/github.com/onsi/ginkgo/v2/config/deprecated.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/core_dsl.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/core_dsl_patch.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/decorator_dsl.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/deprecated_dsl.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/formatter/colorable_others.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/formatter/colorable_windows.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/formatter/formatter.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/build/build_command.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/command/abort.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/command/command.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/command/program.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/boostrap_templates.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/bootstrap_command.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_command.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_templates.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generators_common.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/compile.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/gocovmerge.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/profiles_and_reports.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/run.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/test_suite.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/utils.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/verify_version.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/labels/labels_command.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/main.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/ginkgo.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/import.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline_command.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/run/run_command.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/unfocus/unfocus_command.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta_tracker.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/dependencies.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hash.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hashes.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/suite.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/watch_command.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo_cli_dependencies.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/ginkgo_t_dsl.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/counter.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/failer.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/focus.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/global/init.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/group.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/interrupt_handler.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_unix.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_windows.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/node.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/ordering.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_unix.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_wasm.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_win.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/client_server.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_client.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_server.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_client.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_server.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/server_handler.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/progress_report.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/progress_report_bsd.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/progress_report_unix.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/progress_report_wasm.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/progress_report_win.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/progress_reporter_manager.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/report_entry.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/spec.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/spec_context.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/spec_patch.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/suite.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/suite_patch.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/testingtproxy/testing_t_proxy.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/tree.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/internal/writer.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/reporters/default_reporter.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/reporters/deprecated_reporter.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/reporters/json_report.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/reporters/junit_report.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/reporters/reporter.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/reporters/teamcity_report.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/reporting_dsl.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/table_dsl.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/types/code_location.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/types/config.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/types/deprecated_types.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/types/deprecation_support.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/types/enum_support.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/types/errors.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/types/file_filter.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/types/flags.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/types/label_filter.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/types/report_entry.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/types/types.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/types/types_patch.go create mode 100644 vendor/github.com/onsi/ginkgo/v2/types/version.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/LICENSE create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmd.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdimages/cmdimages.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdinfo/info.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdlist/list.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runsuite.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runtest.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdupdate/update.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/dbtime/time.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extension.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/environment.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result_writer.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/spec.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/task.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/types.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/viewer.html create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/registry.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/types.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/component.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/concurrency.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/environment.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/names.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/output.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/suite.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/logging.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/parallel.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/util.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/junit/types.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/LICENSE create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/README.md create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/byte.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/doc.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/empty.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int32.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int64.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/set.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/string.go create mode 100644 vendor/github.com/openshift-eng/openshift-tests-extension/pkg/version/version.go create mode 100644 vendor/github.com/spf13/cobra/.gitignore create mode 100644 vendor/github.com/spf13/cobra/.golangci.yml create mode 100644 vendor/github.com/spf13/cobra/.mailmap create mode 100644 vendor/github.com/spf13/cobra/CONDUCT.md create mode 100644 vendor/github.com/spf13/cobra/CONTRIBUTING.md create mode 100644 vendor/github.com/spf13/cobra/LICENSE.txt create mode 100644 vendor/github.com/spf13/cobra/MAINTAINERS create mode 100644 vendor/github.com/spf13/cobra/Makefile create mode 100644 vendor/github.com/spf13/cobra/README.md create mode 100644 vendor/github.com/spf13/cobra/active_help.go create mode 100644 vendor/github.com/spf13/cobra/args.go create mode 100644 vendor/github.com/spf13/cobra/bash_completions.go create mode 100644 vendor/github.com/spf13/cobra/bash_completionsV2.go create mode 100644 vendor/github.com/spf13/cobra/cobra.go create mode 100644 vendor/github.com/spf13/cobra/command.go create mode 100644 vendor/github.com/spf13/cobra/command_notwin.go create mode 100644 vendor/github.com/spf13/cobra/command_win.go create mode 100644 vendor/github.com/spf13/cobra/completions.go create mode 100644 vendor/github.com/spf13/cobra/fish_completions.go create mode 100644 vendor/github.com/spf13/cobra/flag_groups.go create mode 100644 vendor/github.com/spf13/cobra/powershell_completions.go create mode 100644 vendor/github.com/spf13/cobra/shell_completions.go create mode 100644 vendor/github.com/spf13/cobra/zsh_completions.go create mode 100644 vendor/github.com/stoewer/go-strcase/.gitignore create mode 100644 vendor/github.com/stoewer/go-strcase/.golangci.yml create mode 100644 vendor/github.com/stoewer/go-strcase/LICENSE create mode 100644 vendor/github.com/stoewer/go-strcase/README.md create mode 100644 vendor/github.com/stoewer/go-strcase/camel.go create mode 100644 vendor/github.com/stoewer/go-strcase/doc.go create mode 100644 vendor/github.com/stoewer/go-strcase/helper.go create mode 100644 vendor/github.com/stoewer/go-strcase/kebab.go create mode 100644 vendor/github.com/stoewer/go-strcase/snake.go create mode 100644 vendor/golang.org/x/exp/LICENSE create mode 100644 vendor/golang.org/x/exp/PATENTS create mode 100644 vendor/golang.org/x/exp/constraints/constraints.go create mode 100644 vendor/golang.org/x/exp/slices/cmp.go create mode 100644 vendor/golang.org/x/exp/slices/slices.go create mode 100644 vendor/golang.org/x/exp/slices/sort.go create mode 100644 vendor/golang.org/x/exp/slices/zsortanyfunc.go create mode 100644 vendor/golang.org/x/exp/slices/zsortordered.go create mode 100644 vendor/golang.org/x/net/context/context.go create mode 100644 vendor/golang.org/x/tools/LICENSE create mode 100644 vendor/golang.org/x/tools/PATENTS create mode 100644 vendor/golang.org/x/tools/cover/profile.go create mode 100644 vendor/golang.org/x/tools/go/ast/inspector/inspector.go create mode 100644 vendor/golang.org/x/tools/go/ast/inspector/iter.go create mode 100644 vendor/golang.org/x/tools/go/ast/inspector/typeof.go create mode 100644 vendor/golang.org/x/tools/go/ast/inspector/walk.go create mode 100644 vendor/golang.org/x/tools/internal/astutil/edge/edge.go create mode 100644 vendor/google.golang.org/genproto/googleapis/api/LICENSE create mode 100644 vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/checked.pb.go create mode 100644 vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/eval.pb.go create mode 100644 vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/explain.pb.go create mode 100644 vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/syntax.pb.go create mode 100644 vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/value.pb.go create mode 100644 vendor/google.golang.org/genproto/googleapis/rpc/LICENSE create mode 100644 vendor/google.golang.org/genproto/googleapis/rpc/status/status.pb.go create mode 100644 vendor/google.golang.org/protobuf/encoding/protojson/decode.go create mode 100644 vendor/google.golang.org/protobuf/encoding/protojson/doc.go create mode 100644 vendor/google.golang.org/protobuf/encoding/protojson/encode.go create mode 100644 vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go create mode 100644 vendor/google.golang.org/protobuf/internal/encoding/json/decode.go create mode 100644 vendor/google.golang.org/protobuf/internal/encoding/json/decode_number.go create mode 100644 vendor/google.golang.org/protobuf/internal/encoding/json/decode_string.go create mode 100644 vendor/google.golang.org/protobuf/internal/encoding/json/decode_token.go create mode 100644 vendor/google.golang.org/protobuf/internal/encoding/json/encode.go create mode 100644 vendor/google.golang.org/protobuf/types/dynamicpb/dynamic.go create mode 100644 vendor/google.golang.org/protobuf/types/dynamicpb/types.go create mode 100644 vendor/google.golang.org/protobuf/types/known/emptypb/empty.pb.go create mode 100644 vendor/google.golang.org/protobuf/types/known/structpb/struct.pb.go create mode 100644 vendor/google.golang.org/protobuf/types/known/wrapperspb/wrappers.pb.go diff --git a/go.mod b/go.mod index 33ee76c11..043d4f3ff 100644 --- a/go.mod +++ b/go.mod @@ -13,10 +13,13 @@ require ( github.com/google/gopacket v1.1.19 github.com/kennygrant/sanitize v1.2.4 github.com/onsi/ginkgo v1.16.5 + github.com/onsi/ginkgo/v2 v2.23.3 github.com/onsi/gomega v1.37.0 + github.com/openshift-eng/openshift-tests-extension v0.0.0-20251218142942-7ecc8801b9df github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.22.0 github.com/prometheus/common v0.63.0 + github.com/spf13/cobra v1.8.1 github.com/vishvananda/netlink v1.3.1-0.20250206174618-62fb240731fa golang.org/x/sys v0.32.0 gopkg.in/mcuadros/go-syslog.v2 v2.3.0 @@ -32,8 +35,10 @@ require ( ) require ( + cel.dev/expr v0.18.0 // indirect github.com/Masterminds/goutils v1.1.1 // indirect github.com/Masterminds/semver v1.5.0 // indirect + github.com/antlr4-go/antlr/v4 v4.13.0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/blang/semver/v4 v4.0.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect @@ -47,16 +52,20 @@ require ( github.com/go-openapi/jsonpointer v0.21.0 // indirect github.com/go-openapi/jsonreference v0.21.0 // indirect github.com/go-openapi/swag v0.23.0 // indirect + github.com/go-task/slim-sprig/v3 v3.0.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/google/btree v1.1.3 // indirect + github.com/google/cel-go v0.22.0 // indirect github.com/google/gnostic-models v0.6.8 // indirect github.com/google/go-cmp v0.7.0 // indirect github.com/google/gofuzz v1.2.0 // indirect + github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect github.com/google/uuid v1.6.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/huandu/xstrings v1.3.2 // indirect github.com/imdario/mergo v0.3.16 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/kylelemons/godebug v1.1.0 // indirect @@ -72,6 +81,7 @@ require ( github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/spf13/pflag v1.0.5 // indirect + github.com/stoewer/go-strcase v1.3.0 // indirect github.com/vishvananda/netns v0.0.4 // indirect github.com/x448/float16 v0.8.4 // indirect go.opentelemetry.io/otel v1.32.0 // indirect @@ -79,13 +89,17 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect golang.org/x/crypto v0.36.0 // indirect + golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect golang.org/x/net v0.37.0 // indirect - golang.org/x/oauth2 v0.25.0 // indirect + golang.org/x/oauth2 v0.27.0 // indirect golang.org/x/sync v0.12.0 // indirect golang.org/x/term v0.30.0 // indirect golang.org/x/text v0.23.0 // indirect golang.org/x/time v0.7.0 // indirect + golang.org/x/tools v0.30.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250102185135-69823020774d // indirect google.golang.org/protobuf v1.36.5 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect @@ -97,3 +111,34 @@ require ( sigs.k8s.io/structured-merge-diff/v4 v4.4.2 // indirect sigs.k8s.io/yaml v1.4.0 // indirect ) + +// Replace directives for OTE framework +replace ( + github.com/onsi/ginkgo/v2 => github.com/openshift/onsi-ginkgo/v2 v2.6.1-0.20241205171354-8006f302fd12 + k8s.io/api => k8s.io/api v0.32.3 + k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.32.3 + k8s.io/apimachinery => k8s.io/apimachinery v0.32.3 + k8s.io/apiserver => k8s.io/apiserver v0.32.3 + k8s.io/cli-runtime => k8s.io/cli-runtime v0.32.3 + k8s.io/client-go => k8s.io/client-go v0.32.3 + k8s.io/cloud-provider => k8s.io/cloud-provider v0.32.3 + k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.32.3 + k8s.io/code-generator => k8s.io/code-generator v0.32.3 + k8s.io/component-base => k8s.io/component-base v0.32.3 + k8s.io/component-helpers => k8s.io/component-helpers v0.32.3 + k8s.io/controller-manager => k8s.io/controller-manager v0.32.3 + k8s.io/cri-api => k8s.io/cri-api v0.32.3 + k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.32.3 + k8s.io/dynamic-resource-allocation => k8s.io/dynamic-resource-allocation v0.32.3 + k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.32.3 + k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.32.3 + k8s.io/kube-proxy => k8s.io/kube-proxy v0.32.3 + k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.32.3 + k8s.io/kubectl => k8s.io/kubectl v0.32.3 + k8s.io/kubelet => k8s.io/kubelet v0.32.3 + k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.32.3 + k8s.io/metrics => k8s.io/metrics v0.32.3 + k8s.io/mount-utils => k8s.io/mount-utils v0.32.3 + k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.32.3 + k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.32.3 +) diff --git a/go.sum b/go.sum index 50df3ef57..5ac0aac34 100644 --- a/go.sum +++ b/go.sum @@ -1,9 +1,13 @@ +cel.dev/expr v0.18.0 h1:CJ6drgk+Hf96lkLikr4rFf19WrU0BOWEihyZnI2TAzo= +cel.dev/expr v0.18.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZCSYp4Z0m2dk6cEM60= github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= +github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI= +github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -16,6 +20,7 @@ github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UF github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cilium/ebpf v0.18.0 h1:OsSwqS4y+gQHxaKgg2U/+Fev834kdnsQbtzRnbVC6Gs= github.com/cilium/ebpf v0.18.0/go.mod h1:vmsAT73y4lW2b4peE+qcOqw6MxvWQdC+LiU5gd/xyo4= +github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -45,7 +50,6 @@ github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+Gr github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= github.com/go-quicktest/qt v1.101.1-0.20240301121107-c6c8733fa1e6 h1:teYtXy9B7y5lHTp8V9KPxpYRAVA7dozigQcMiBust1s= github.com/go-quicktest/qt v1.101.1-0.20240301121107-c6c8733fa1e6/go.mod h1:p4lGIVX+8Wa6ZPNDvqcxq36XpUDLh42FLetFU7odllI= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= @@ -64,6 +68,8 @@ github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= +github.com/google/cel-go v0.22.0 h1:b3FJZxpiv1vTMo2/5RDUqAHPxkT8mmMfJIrq1llbf7g= +github.com/google/cel-go v0.22.0/go.mod h1:BuznPXXfQDpXKWQ9sPW3TzlAJN5zzFe+i9tIs0yC4s8= github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -88,6 +94,8 @@ github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/josharian/native v1.1.0 h1:uuaP0hAbW7Y4l0ZRQ6C9zfb7Mg1mbFKry/xzDAfmtLA= @@ -136,12 +144,14 @@ github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.37.0 h1:CdEG8g0S133B4OswTDC/5XPSzE1OeP29QOioj2PID2Y= github.com/onsi/gomega v1.37.0/go.mod h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0= +github.com/openshift-eng/openshift-tests-extension v0.0.0-20251218142942-7ecc8801b9df h1:/KiCxPFpkZN4HErfAX5tyhn6G3ziPFbkGswHVAZKY5Q= +github.com/openshift-eng/openshift-tests-extension v0.0.0-20251218142942-7ecc8801b9df/go.mod h1:6gkP5f2HL0meusT0Aim8icAspcD1cG055xxBZ9yC68M= +github.com/openshift/onsi-ginkgo/v2 v2.6.1-0.20241205171354-8006f302fd12 h1:AKx/w1qpS8We43bsRgf8Nll3CGlDHpr/WAXvuedTNZI= +github.com/openshift/onsi-ginkgo/v2 v2.6.1-0.20241205171354-8006f302fd12/go.mod h1:7Du3c42kxCUegi0IImZ1wUQzMBVecgIHjR1C+NkhLQo= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -157,11 +167,21 @@ github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0leargg github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= +github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs= +github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +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.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/vishvananda/netlink v1.3.1-0.20250206174618-62fb240731fa h1:iAhToRwOrdk+pKzclvLM7nKZhsg8f7dVrgkFccDUbUw= @@ -187,6 +207,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= +golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= +golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -199,8 +221,8 @@ golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c= golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70= -golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= +golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/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= @@ -242,6 +264,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw= gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= +google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7 h1:YcyjlL1PRr2Q17/I0dPk2JmYS5CDXfcdb2Z3YRioEbw= +google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7/go.mod h1:OCdP9MfskevB/rbYvHTsXTtKC+3bHWajPdoKgjcYkfo= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250102185135-69823020774d h1:xJJRGY7TJcvIlpSrN3K6LAWgNFUILlO+OMAqtg9aqnw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250102185135-69823020774d/go.mod h1:3ENsm/5D1mzDyhpzeRi1NR784I0BcofWBoSc5QqqMK4= 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= @@ -265,6 +291,7 @@ gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWD gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= k8s.io/api v0.32.3 h1:Hw7KqxRusq+6QSplE3NYG4MBxZw1BZnq4aP4cJVINls= diff --git a/vendor/cel.dev/expr/.bazelversion b/vendor/cel.dev/expr/.bazelversion new file mode 100644 index 000000000..26bc914a3 --- /dev/null +++ b/vendor/cel.dev/expr/.bazelversion @@ -0,0 +1,2 @@ +7.0.1 +# Keep this pinned version in parity with cel-go diff --git a/vendor/cel.dev/expr/.gitattributes b/vendor/cel.dev/expr/.gitattributes new file mode 100644 index 000000000..3de1ec213 --- /dev/null +++ b/vendor/cel.dev/expr/.gitattributes @@ -0,0 +1,2 @@ +*.pb.go linguist-generated=true +*.pb.go -diff -merge diff --git a/vendor/cel.dev/expr/.gitignore b/vendor/cel.dev/expr/.gitignore new file mode 100644 index 000000000..0d4fed27c --- /dev/null +++ b/vendor/cel.dev/expr/.gitignore @@ -0,0 +1,2 @@ +bazel-* +MODULE.bazel.lock diff --git a/vendor/cel.dev/expr/BUILD.bazel b/vendor/cel.dev/expr/BUILD.bazel new file mode 100644 index 000000000..37d8adc95 --- /dev/null +++ b/vendor/cel.dev/expr/BUILD.bazel @@ -0,0 +1,34 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) # Apache 2.0 + +go_library( + name = "expr", + srcs = [ + "checked.pb.go", + "eval.pb.go", + "explain.pb.go", + "syntax.pb.go", + "value.pb.go", + ], + importpath = "cel.dev/expr", + visibility = ["//visibility:public"], + deps = [ + "@org_golang_google_genproto_googleapis_rpc//status:go_default_library", + "@org_golang_google_protobuf//reflect/protoreflect", + "@org_golang_google_protobuf//runtime/protoimpl", + "@org_golang_google_protobuf//types/known/anypb", + "@org_golang_google_protobuf//types/known/durationpb", + "@org_golang_google_protobuf//types/known/emptypb", + "@org_golang_google_protobuf//types/known/structpb", + "@org_golang_google_protobuf//types/known/timestamppb", + ], +) + +alias( + name = "go_default_library", + actual = ":expr", + visibility = ["//visibility:public"], +) diff --git a/vendor/cel.dev/expr/CODE_OF_CONDUCT.md b/vendor/cel.dev/expr/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..59908e2d8 --- /dev/null +++ b/vendor/cel.dev/expr/CODE_OF_CONDUCT.md @@ -0,0 +1,25 @@ +# Contributor Code of Conduct +## Version 0.1.1 (adapted from 0.3b-angular) + +As contributors and maintainers of the Common Expression Language +(CEL) project, we pledge to respect everyone who contributes by +posting issues, updating documentation, submitting pull requests, +providing feedback in comments, and any other activities. + +Communication through any of CEL's channels (GitHub, Gitter, IRC, +mailing lists, Google+, Twitter, etc.) must be constructive and never +resort to personal attacks, trolling, public or private harassment, +insults, or other unprofessional conduct. + +We promise to extend courtesy and respect to everyone involved in this +project regardless of gender, gender identity, sexual orientation, +disability, age, race, ethnicity, religion, or level of experience. We +expect anyone contributing to the project to do the same. + +If any member of the community violates this code of conduct, the +maintainers of the CEL project may take action, removing issues, +comments, and PRs or blocking accounts as deemed appropriate. + +If you are subject to or witness unacceptable behavior, or have any +other concerns, please email us at +[cel-conduct@google.com](mailto:cel-conduct@google.com). diff --git a/vendor/cel.dev/expr/CONTRIBUTING.md b/vendor/cel.dev/expr/CONTRIBUTING.md new file mode 100644 index 000000000..8f5fd5c31 --- /dev/null +++ b/vendor/cel.dev/expr/CONTRIBUTING.md @@ -0,0 +1,32 @@ +# How to Contribute + +We'd love to accept your patches and contributions to this project. There are a +few guidelines you need to follow. + +## Contributor License Agreement + +Contributions to this project must be accompanied by a Contributor License +Agreement. You (or your employer) retain the copyright to your contribution, +this simply gives us permission to use and redistribute your contributions as +part of the project. Head over to to see +your current agreements on file or to sign a new one. + +You generally only need to submit a CLA once, so if you've already submitted one +(even if it was for a different project), you probably don't need to do it +again. + +## Code reviews + +All submissions, including submissions by project members, require review. We +use GitHub pull requests for this purpose. Consult +[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more +information on using pull requests. + +## What to expect from maintainers + +Expect maintainers to respond to new issues or pull requests within a week. +For outstanding and ongoing issues and particularly for long-running +pull requests, expect the maintainers to review within a week of a +contributor asking for a new review. There is no commitment to resolution -- +merging or closing a pull request, or fixing or closing an issue -- because some +issues will require more discussion than others. diff --git a/vendor/cel.dev/expr/GOVERNANCE.md b/vendor/cel.dev/expr/GOVERNANCE.md new file mode 100644 index 000000000..0a525bc17 --- /dev/null +++ b/vendor/cel.dev/expr/GOVERNANCE.md @@ -0,0 +1,43 @@ +# Project Governance + +This document defines the governance process for the CEL language. CEL is +Google-developed, but openly governed. Major contributors to the CEL +specification and its corresponding implementations constitute the CEL +Language Council. New members may be added by a unanimous vote of the +Council. + +The MAINTAINERS.md file lists the members of the CEL Language Council, and +unofficially indicates the "areas of expertise" of each member with respect +to the publicly available CEL repos. + +## Code Changes + +Code changes must follow the standard pull request (PR) model documented in the +CONTRIBUTING.md for each CEL repo. All fixes and features must be reviewed by a +maintainer. The maintainer reserves the right to request that any feature +request (FR) or PR be reviewed by the language council. + +## Syntax and Semantic Changes + +Syntactic and semantic changes must be reviewed by the CEL Language Council. +Maintainers may also request language council review at their discretion. + +The review process is as follows: + +- Create a Feature Request in the CEL-Spec repo. The feature description will + serve as an abstract for the detailed design document. +- Co-develop a design document with the Language Council. +- Once the proposer gives the design document approval, the document will be + linked to the FR in the CEL-Spec repo and opened for comments to members of + the cel-lang-discuss@googlegroups.com. +- The Language Council will review the design doc at the next council meeting + (once every three weeks) and the council decision included in the document. + +If the proposal is approved, the spec will be updated by a maintainer (if +applicable) and a rationale will be included in the CEL-Spec wiki to ensure +future developers may follow CEL's growth and direction over time. + +Approved proposals may be implemented by the proposer or by the maintainers as +the parties see fit. At the discretion of the maintainer, changes from the +approved design are permitted during implementation if they improve the user +experience and clarity of the feature. diff --git a/vendor/cel.dev/expr/LICENSE b/vendor/cel.dev/expr/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/cel.dev/expr/LICENSE @@ -0,0 +1,202 @@ + + 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 [yyyy] [name of copyright owner] + + 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/cel.dev/expr/MAINTAINERS.md b/vendor/cel.dev/expr/MAINTAINERS.md new file mode 100644 index 000000000..1ed2eb8ab --- /dev/null +++ b/vendor/cel.dev/expr/MAINTAINERS.md @@ -0,0 +1,13 @@ +# CEL Language Council + +| Name | Company | Area of Expertise | +|-----------------|--------------|-------------------| +| Alfred Fuller | Facebook | cel-cpp, cel-spec | +| Jim Larson | Google | cel-go, cel-spec | +| Matthais Blume | Google | cel-spec | +| Tristan Swadell | Google | cel-go, cel-spec | + +## Emeritus + +* Sanjay Ghemawat (Google) +* Wolfgang Grieskamp (Facebook) diff --git a/vendor/cel.dev/expr/MODULE.bazel b/vendor/cel.dev/expr/MODULE.bazel new file mode 100644 index 000000000..9794266f5 --- /dev/null +++ b/vendor/cel.dev/expr/MODULE.bazel @@ -0,0 +1,70 @@ +module( + name = "cel-spec", +) + +bazel_dep( + name = "bazel_skylib", + version = "1.7.1", +) +bazel_dep( + name = "gazelle", + version = "0.36.0", + repo_name = "bazel_gazelle", +) +bazel_dep( + name = "googleapis", + version = "0.0.0-20240819-fe8ba054a", + repo_name = "com_google_googleapis", +) +bazel_dep( + name = "protobuf", + version = "26.0", + repo_name = "com_google_protobuf", +) +bazel_dep( + name = "rules_cc", + version = "0.0.9", +) +bazel_dep( + name = "rules_go", + version = "0.49.0", + repo_name = "io_bazel_rules_go", +) +bazel_dep( + name = "rules_java", + version = "7.6.5", +) +bazel_dep( + name = "rules_proto", + version = "6.0.0", +) +bazel_dep( + name = "rules_python", + version = "0.35.0", +) + +### PYTHON ### +python = use_extension("@rules_python//python/extensions:python.bzl", "python") +python.toolchain( + ignore_root_user_error = True, + python_version = "3.11", +) + +switched_rules = use_extension("@com_google_googleapis//:extensions.bzl", "switched_rules") +switched_rules.use_languages( + cc = True, + go = True, + java = True, +) +use_repo(switched_rules, "com_google_googleapis_imports") + +go_sdk = use_extension("@io_bazel_rules_go//go:extensions.bzl", "go_sdk") +go_sdk.download(version = "1.21.1") + +go_deps = use_extension("@bazel_gazelle//:extensions.bzl", "go_deps") +go_deps.from_file(go_mod = "//:go.mod") +use_repo( + go_deps, + "org_golang_google_genproto_googleapis_rpc", + "org_golang_google_protobuf", +) diff --git a/vendor/cel.dev/expr/README.md b/vendor/cel.dev/expr/README.md new file mode 100644 index 000000000..7930c0b75 --- /dev/null +++ b/vendor/cel.dev/expr/README.md @@ -0,0 +1,73 @@ +# Common Expression Language + +The Common Expression Language (CEL) implements common semantics for expression +evaluation, enabling different applications to more easily interoperate. + +Key Applications + +* Security policy: organizations have complex infrastructure and need common + tooling to reason about the system as a whole +* Protocols: expressions are a useful data type and require interoperability + across programming languages and platforms. + + +Guiding philosophy: + +1. Keep it small & fast. + * CEL evaluates in linear time, is mutation free, and not Turing-complete. + This limitation is a feature of the language design, which allows the + implementation to evaluate orders of magnitude faster than equivalently + sandboxed JavaScript. +2. Make it extensible. + * CEL is designed to be embedded in applications, and allows for + extensibility via its context which allows for functions and data to be + provided by the software that embeds it. +3. Developer-friendly. + * The language is approachable to developers. The initial spec was based + on the experience of developing Firebase Rules and usability testing + many prior iterations. + * The library itself and accompanying toolings should be easy to adopt by + teams that seek to integrate CEL into their platforms. + +The required components of a system that supports CEL are: + +* The textual representation of an expression as written by a developer. It is + of similar syntax to expressions in C/C++/Java/JavaScript +* A representation of the program's abstract syntax tree (AST). +* A compiler library that converts the textual representation to the binary + representation. This can be done ahead of time (in the control plane) or + just before evaluation (in the data plane). +* A context containing one or more typed variables, often protobuf messages. + Most use-cases will use `attribute_context.proto` +* An evaluator library that takes the binary format in the context and + produces a result, usually a Boolean. + +For use cases which require persistence or cross-process communcation, it is +highly recommended to serialize the type-checked expression as a protocol +buffer. The CEL team will maintains canonical protocol buffers for ASTs and +will keep these versions identical and wire-compatible in perpetuity: + +* [CEL canonical](https://github.com/google/cel-spec/tree/master/proto/cel/expr) +* [CEL v1alpha1](https://github.com/googleapis/googleapis/tree/master/google/api/expr/v1alpha1) + + +Example of boolean conditions and object construction: + +``` c +// Condition +account.balance >= transaction.withdrawal + || (account.overdraftProtection + && account.overdraftLimit >= transaction.withdrawal - account.balance) + +// Object construction +common.GeoPoint{ latitude: 10.0, longitude: -5.5 } +``` + +For more detail, see: + +* [Introduction](doc/intro.md) +* [Language Definition](doc/langdef.md) + +Released under the [Apache License](LICENSE). + +Disclaimer: This is not an official Google product. diff --git a/vendor/cel.dev/expr/WORKSPACE b/vendor/cel.dev/expr/WORKSPACE new file mode 100644 index 000000000..b6dc9ed67 --- /dev/null +++ b/vendor/cel.dev/expr/WORKSPACE @@ -0,0 +1,145 @@ +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +http_archive( + name = "io_bazel_rules_go", + sha256 = "099a9fb96a376ccbbb7d291ed4ecbdfd42f6bc822ab77ae6f1b5cb9e914e94fa", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.35.0/rules_go-v0.35.0.zip", + "https://github.com/bazelbuild/rules_go/releases/download/v0.35.0/rules_go-v0.35.0.zip", + ], +) + +http_archive( + name = "bazel_gazelle", + sha256 = "ecba0f04f96b4960a5b250c8e8eeec42281035970aa8852dda73098274d14a1d", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.29.0/bazel-gazelle-v0.29.0.tar.gz", + "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.29.0/bazel-gazelle-v0.29.0.tar.gz", + ], +) + +http_archive( + name = "rules_proto", + sha256 = "e017528fd1c91c5a33f15493e3a398181a9e821a804eb7ff5acdd1d2d6c2b18d", + strip_prefix = "rules_proto-4.0.0-3.20.0", + urls = [ + "https://github.com/bazelbuild/rules_proto/archive/refs/tags/4.0.0-3.20.0.tar.gz", + ], +) + +# googleapis as of 09/16/2024 +http_archive( + name = "com_google_googleapis", + strip_prefix = "googleapis-4082d5e51e8481f6ccc384cacd896f4e78f19dee", + sha256 = "57319889d47578b3c89bf1b3f34888d796a8913d63b32d750a4cd12ed303c4e8", + urls = [ + "https://github.com/googleapis/googleapis/archive/4082d5e51e8481f6ccc384cacd896f4e78f19dee.tar.gz", + ], +) + +# protobuf +http_archive( + name = "com_google_protobuf", + sha256 = "8242327e5df8c80ba49e4165250b8f79a76bd11765facefaaecfca7747dc8da2", + strip_prefix = "protobuf-3.21.5", + urls = ["https://github.com/protocolbuffers/protobuf/archive/v3.21.5.zip"], +) + +# googletest +http_archive( + name = "com_google_googletest", + urls = ["https://github.com/google/googletest/archive/master.zip"], + strip_prefix = "googletest-master", +) + +# gflags +http_archive( + name = "com_github_gflags_gflags", + sha256 = "6e16c8bc91b1310a44f3965e616383dbda48f83e8c1eaa2370a215057b00cabe", + strip_prefix = "gflags-77592648e3f3be87d6c7123eb81cbad75f9aef5a", + urls = [ + "https://mirror.bazel.build/github.com/gflags/gflags/archive/77592648e3f3be87d6c7123eb81cbad75f9aef5a.tar.gz", + "https://github.com/gflags/gflags/archive/77592648e3f3be87d6c7123eb81cbad75f9aef5a.tar.gz", + ], +) + +# glog +http_archive( + name = "com_google_glog", + sha256 = "1ee310e5d0a19b9d584a855000434bb724aa744745d5b8ab1855c85bff8a8e21", + strip_prefix = "glog-028d37889a1e80e8a07da1b8945ac706259e5fd8", + urls = [ + "https://mirror.bazel.build/github.com/google/glog/archive/028d37889a1e80e8a07da1b8945ac706259e5fd8.tar.gz", + "https://github.com/google/glog/archive/028d37889a1e80e8a07da1b8945ac706259e5fd8.tar.gz", + ], +) + +# absl +http_archive( + name = "com_google_absl", + strip_prefix = "abseil-cpp-master", + urls = ["https://github.com/abseil/abseil-cpp/archive/master.zip"], +) + +load("@io_bazel_rules_go//go:deps.bzl", "go_rules_dependencies", "go_register_toolchains") +load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies", "go_repository") +load("@com_google_googleapis//:repository_rules.bzl", "switched_rules_by_language") +load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies", "rules_proto_toolchains") +load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") + +switched_rules_by_language( + name = "com_google_googleapis_imports", + cc = True, +) + +# Do *not* call *_dependencies(), etc, yet. See comment at the end. + +# Generated Google APIs protos for Golang +# Generated Google APIs protos for Golang 08/26/2024 +go_repository( + name = "org_golang_google_genproto_googleapis_api", + build_file_proto_mode = "disable_global", + importpath = "google.golang.org/genproto/googleapis/api", + sum = "h1:YcyjlL1PRr2Q17/I0dPk2JmYS5CDXfcdb2Z3YRioEbw=", + version = "v0.0.0-20240826202546-f6391c0de4c7", +) + +# Generated Google APIs protos for Golang 08/26/2024 +go_repository( + name = "org_golang_google_genproto_googleapis_rpc", + build_file_proto_mode = "disable_global", + importpath = "google.golang.org/genproto/googleapis/rpc", + sum = "h1:2035KHhUv+EpyB+hWgJnaWKJOdX1E95w2S8Rr4uWKTs=", + version = "v0.0.0-20240826202546-f6391c0de4c7", +) + +# gRPC deps +go_repository( + name = "org_golang_google_grpc", + build_file_proto_mode = "disable_global", + importpath = "google.golang.org/grpc", + tag = "v1.49.0", +) + +go_repository( + name = "org_golang_x_net", + importpath = "golang.org/x/net", + sum = "h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628=", + version = "v0.0.0-20190311183353-d8887717615a", +) + +go_repository( + name = "org_golang_x_text", + importpath = "golang.org/x/text", + sum = "h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=", + version = "v0.3.2", +) + +# Run the dependencies at the end. These will silently try to import some +# of the above repositories but at different versions, so ours must come first. +go_rules_dependencies() +go_register_toolchains(version = "1.19.1") +gazelle_dependencies() +rules_proto_dependencies() +rules_proto_toolchains() +protobuf_deps() diff --git a/vendor/cel.dev/expr/WORKSPACE.bzlmod b/vendor/cel.dev/expr/WORKSPACE.bzlmod new file mode 100644 index 000000000..e69de29bb diff --git a/vendor/cel.dev/expr/checked.pb.go b/vendor/cel.dev/expr/checked.pb.go new file mode 100644 index 000000000..bb225c8ab --- /dev/null +++ b/vendor/cel.dev/expr/checked.pb.go @@ -0,0 +1,1432 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.21.5 +// source: cel/expr/checked.proto + +package expr + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + structpb "google.golang.org/protobuf/types/known/structpb" + 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 Type_PrimitiveType int32 + +const ( + Type_PRIMITIVE_TYPE_UNSPECIFIED Type_PrimitiveType = 0 + Type_BOOL Type_PrimitiveType = 1 + Type_INT64 Type_PrimitiveType = 2 + Type_UINT64 Type_PrimitiveType = 3 + Type_DOUBLE Type_PrimitiveType = 4 + Type_STRING Type_PrimitiveType = 5 + Type_BYTES Type_PrimitiveType = 6 +) + +// Enum value maps for Type_PrimitiveType. +var ( + Type_PrimitiveType_name = map[int32]string{ + 0: "PRIMITIVE_TYPE_UNSPECIFIED", + 1: "BOOL", + 2: "INT64", + 3: "UINT64", + 4: "DOUBLE", + 5: "STRING", + 6: "BYTES", + } + Type_PrimitiveType_value = map[string]int32{ + "PRIMITIVE_TYPE_UNSPECIFIED": 0, + "BOOL": 1, + "INT64": 2, + "UINT64": 3, + "DOUBLE": 4, + "STRING": 5, + "BYTES": 6, + } +) + +func (x Type_PrimitiveType) Enum() *Type_PrimitiveType { + p := new(Type_PrimitiveType) + *p = x + return p +} + +func (x Type_PrimitiveType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Type_PrimitiveType) Descriptor() protoreflect.EnumDescriptor { + return file_cel_expr_checked_proto_enumTypes[0].Descriptor() +} + +func (Type_PrimitiveType) Type() protoreflect.EnumType { + return &file_cel_expr_checked_proto_enumTypes[0] +} + +func (x Type_PrimitiveType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Type_PrimitiveType.Descriptor instead. +func (Type_PrimitiveType) EnumDescriptor() ([]byte, []int) { + return file_cel_expr_checked_proto_rawDescGZIP(), []int{1, 0} +} + +type Type_WellKnownType int32 + +const ( + Type_WELL_KNOWN_TYPE_UNSPECIFIED Type_WellKnownType = 0 + Type_ANY Type_WellKnownType = 1 + Type_TIMESTAMP Type_WellKnownType = 2 + Type_DURATION Type_WellKnownType = 3 +) + +// Enum value maps for Type_WellKnownType. +var ( + Type_WellKnownType_name = map[int32]string{ + 0: "WELL_KNOWN_TYPE_UNSPECIFIED", + 1: "ANY", + 2: "TIMESTAMP", + 3: "DURATION", + } + Type_WellKnownType_value = map[string]int32{ + "WELL_KNOWN_TYPE_UNSPECIFIED": 0, + "ANY": 1, + "TIMESTAMP": 2, + "DURATION": 3, + } +) + +func (x Type_WellKnownType) Enum() *Type_WellKnownType { + p := new(Type_WellKnownType) + *p = x + return p +} + +func (x Type_WellKnownType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Type_WellKnownType) Descriptor() protoreflect.EnumDescriptor { + return file_cel_expr_checked_proto_enumTypes[1].Descriptor() +} + +func (Type_WellKnownType) Type() protoreflect.EnumType { + return &file_cel_expr_checked_proto_enumTypes[1] +} + +func (x Type_WellKnownType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Type_WellKnownType.Descriptor instead. +func (Type_WellKnownType) EnumDescriptor() ([]byte, []int) { + return file_cel_expr_checked_proto_rawDescGZIP(), []int{1, 1} +} + +type CheckedExpr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReferenceMap map[int64]*Reference `protobuf:"bytes,2,rep,name=reference_map,json=referenceMap,proto3" json:"reference_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + TypeMap map[int64]*Type `protobuf:"bytes,3,rep,name=type_map,json=typeMap,proto3" json:"type_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + SourceInfo *SourceInfo `protobuf:"bytes,5,opt,name=source_info,json=sourceInfo,proto3" json:"source_info,omitempty"` + ExprVersion string `protobuf:"bytes,6,opt,name=expr_version,json=exprVersion,proto3" json:"expr_version,omitempty"` + Expr *Expr `protobuf:"bytes,4,opt,name=expr,proto3" json:"expr,omitempty"` +} + +func (x *CheckedExpr) Reset() { + *x = CheckedExpr{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_checked_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckedExpr) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckedExpr) ProtoMessage() {} + +func (x *CheckedExpr) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_checked_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 CheckedExpr.ProtoReflect.Descriptor instead. +func (*CheckedExpr) Descriptor() ([]byte, []int) { + return file_cel_expr_checked_proto_rawDescGZIP(), []int{0} +} + +func (x *CheckedExpr) GetReferenceMap() map[int64]*Reference { + if x != nil { + return x.ReferenceMap + } + return nil +} + +func (x *CheckedExpr) GetTypeMap() map[int64]*Type { + if x != nil { + return x.TypeMap + } + return nil +} + +func (x *CheckedExpr) GetSourceInfo() *SourceInfo { + if x != nil { + return x.SourceInfo + } + return nil +} + +func (x *CheckedExpr) GetExprVersion() string { + if x != nil { + return x.ExprVersion + } + return "" +} + +func (x *CheckedExpr) GetExpr() *Expr { + if x != nil { + return x.Expr + } + return nil +} + +type Type struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to TypeKind: + // + // *Type_Dyn + // *Type_Null + // *Type_Primitive + // *Type_Wrapper + // *Type_WellKnown + // *Type_ListType_ + // *Type_MapType_ + // *Type_Function + // *Type_MessageType + // *Type_TypeParam + // *Type_Type + // *Type_Error + // *Type_AbstractType_ + TypeKind isType_TypeKind `protobuf_oneof:"type_kind"` +} + +func (x *Type) Reset() { + *x = Type{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_checked_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Type) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Type) ProtoMessage() {} + +func (x *Type) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_checked_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 Type.ProtoReflect.Descriptor instead. +func (*Type) Descriptor() ([]byte, []int) { + return file_cel_expr_checked_proto_rawDescGZIP(), []int{1} +} + +func (m *Type) GetTypeKind() isType_TypeKind { + if m != nil { + return m.TypeKind + } + return nil +} + +func (x *Type) GetDyn() *emptypb.Empty { + if x, ok := x.GetTypeKind().(*Type_Dyn); ok { + return x.Dyn + } + return nil +} + +func (x *Type) GetNull() structpb.NullValue { + if x, ok := x.GetTypeKind().(*Type_Null); ok { + return x.Null + } + return structpb.NullValue(0) +} + +func (x *Type) GetPrimitive() Type_PrimitiveType { + if x, ok := x.GetTypeKind().(*Type_Primitive); ok { + return x.Primitive + } + return Type_PRIMITIVE_TYPE_UNSPECIFIED +} + +func (x *Type) GetWrapper() Type_PrimitiveType { + if x, ok := x.GetTypeKind().(*Type_Wrapper); ok { + return x.Wrapper + } + return Type_PRIMITIVE_TYPE_UNSPECIFIED +} + +func (x *Type) GetWellKnown() Type_WellKnownType { + if x, ok := x.GetTypeKind().(*Type_WellKnown); ok { + return x.WellKnown + } + return Type_WELL_KNOWN_TYPE_UNSPECIFIED +} + +func (x *Type) GetListType() *Type_ListType { + if x, ok := x.GetTypeKind().(*Type_ListType_); ok { + return x.ListType + } + return nil +} + +func (x *Type) GetMapType() *Type_MapType { + if x, ok := x.GetTypeKind().(*Type_MapType_); ok { + return x.MapType + } + return nil +} + +func (x *Type) GetFunction() *Type_FunctionType { + if x, ok := x.GetTypeKind().(*Type_Function); ok { + return x.Function + } + return nil +} + +func (x *Type) GetMessageType() string { + if x, ok := x.GetTypeKind().(*Type_MessageType); ok { + return x.MessageType + } + return "" +} + +func (x *Type) GetTypeParam() string { + if x, ok := x.GetTypeKind().(*Type_TypeParam); ok { + return x.TypeParam + } + return "" +} + +func (x *Type) GetType() *Type { + if x, ok := x.GetTypeKind().(*Type_Type); ok { + return x.Type + } + return nil +} + +func (x *Type) GetError() *emptypb.Empty { + if x, ok := x.GetTypeKind().(*Type_Error); ok { + return x.Error + } + return nil +} + +func (x *Type) GetAbstractType() *Type_AbstractType { + if x, ok := x.GetTypeKind().(*Type_AbstractType_); ok { + return x.AbstractType + } + return nil +} + +type isType_TypeKind interface { + isType_TypeKind() +} + +type Type_Dyn struct { + Dyn *emptypb.Empty `protobuf:"bytes,1,opt,name=dyn,proto3,oneof"` +} + +type Type_Null struct { + Null structpb.NullValue `protobuf:"varint,2,opt,name=null,proto3,enum=google.protobuf.NullValue,oneof"` +} + +type Type_Primitive struct { + Primitive Type_PrimitiveType `protobuf:"varint,3,opt,name=primitive,proto3,enum=cel.expr.Type_PrimitiveType,oneof"` +} + +type Type_Wrapper struct { + Wrapper Type_PrimitiveType `protobuf:"varint,4,opt,name=wrapper,proto3,enum=cel.expr.Type_PrimitiveType,oneof"` +} + +type Type_WellKnown struct { + WellKnown Type_WellKnownType `protobuf:"varint,5,opt,name=well_known,json=wellKnown,proto3,enum=cel.expr.Type_WellKnownType,oneof"` +} + +type Type_ListType_ struct { + ListType *Type_ListType `protobuf:"bytes,6,opt,name=list_type,json=listType,proto3,oneof"` +} + +type Type_MapType_ struct { + MapType *Type_MapType `protobuf:"bytes,7,opt,name=map_type,json=mapType,proto3,oneof"` +} + +type Type_Function struct { + Function *Type_FunctionType `protobuf:"bytes,8,opt,name=function,proto3,oneof"` +} + +type Type_MessageType struct { + MessageType string `protobuf:"bytes,9,opt,name=message_type,json=messageType,proto3,oneof"` +} + +type Type_TypeParam struct { + TypeParam string `protobuf:"bytes,10,opt,name=type_param,json=typeParam,proto3,oneof"` +} + +type Type_Type struct { + Type *Type `protobuf:"bytes,11,opt,name=type,proto3,oneof"` +} + +type Type_Error struct { + Error *emptypb.Empty `protobuf:"bytes,12,opt,name=error,proto3,oneof"` +} + +type Type_AbstractType_ struct { + AbstractType *Type_AbstractType `protobuf:"bytes,14,opt,name=abstract_type,json=abstractType,proto3,oneof"` +} + +func (*Type_Dyn) isType_TypeKind() {} + +func (*Type_Null) isType_TypeKind() {} + +func (*Type_Primitive) isType_TypeKind() {} + +func (*Type_Wrapper) isType_TypeKind() {} + +func (*Type_WellKnown) isType_TypeKind() {} + +func (*Type_ListType_) isType_TypeKind() {} + +func (*Type_MapType_) isType_TypeKind() {} + +func (*Type_Function) isType_TypeKind() {} + +func (*Type_MessageType) isType_TypeKind() {} + +func (*Type_TypeParam) isType_TypeKind() {} + +func (*Type_Type) isType_TypeKind() {} + +func (*Type_Error) isType_TypeKind() {} + +func (*Type_AbstractType_) isType_TypeKind() {} + +type Decl struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Types that are assignable to DeclKind: + // + // *Decl_Ident + // *Decl_Function + DeclKind isDecl_DeclKind `protobuf_oneof:"decl_kind"` +} + +func (x *Decl) Reset() { + *x = Decl{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_checked_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Decl) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Decl) ProtoMessage() {} + +func (x *Decl) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_checked_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 Decl.ProtoReflect.Descriptor instead. +func (*Decl) Descriptor() ([]byte, []int) { + return file_cel_expr_checked_proto_rawDescGZIP(), []int{2} +} + +func (x *Decl) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (m *Decl) GetDeclKind() isDecl_DeclKind { + if m != nil { + return m.DeclKind + } + return nil +} + +func (x *Decl) GetIdent() *Decl_IdentDecl { + if x, ok := x.GetDeclKind().(*Decl_Ident); ok { + return x.Ident + } + return nil +} + +func (x *Decl) GetFunction() *Decl_FunctionDecl { + if x, ok := x.GetDeclKind().(*Decl_Function); ok { + return x.Function + } + return nil +} + +type isDecl_DeclKind interface { + isDecl_DeclKind() +} + +type Decl_Ident struct { + Ident *Decl_IdentDecl `protobuf:"bytes,2,opt,name=ident,proto3,oneof"` +} + +type Decl_Function struct { + Function *Decl_FunctionDecl `protobuf:"bytes,3,opt,name=function,proto3,oneof"` +} + +func (*Decl_Ident) isDecl_DeclKind() {} + +func (*Decl_Function) isDecl_DeclKind() {} + +type Reference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + OverloadId []string `protobuf:"bytes,3,rep,name=overload_id,json=overloadId,proto3" json:"overload_id,omitempty"` + Value *Constant `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *Reference) Reset() { + *x = Reference{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_checked_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Reference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Reference) ProtoMessage() {} + +func (x *Reference) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_checked_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 Reference.ProtoReflect.Descriptor instead. +func (*Reference) Descriptor() ([]byte, []int) { + return file_cel_expr_checked_proto_rawDescGZIP(), []int{3} +} + +func (x *Reference) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Reference) GetOverloadId() []string { + if x != nil { + return x.OverloadId + } + return nil +} + +func (x *Reference) GetValue() *Constant { + if x != nil { + return x.Value + } + return nil +} + +type Type_ListType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ElemType *Type `protobuf:"bytes,1,opt,name=elem_type,json=elemType,proto3" json:"elem_type,omitempty"` +} + +func (x *Type_ListType) Reset() { + *x = Type_ListType{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_checked_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Type_ListType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Type_ListType) ProtoMessage() {} + +func (x *Type_ListType) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_checked_proto_msgTypes[6] + 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 Type_ListType.ProtoReflect.Descriptor instead. +func (*Type_ListType) Descriptor() ([]byte, []int) { + return file_cel_expr_checked_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *Type_ListType) GetElemType() *Type { + if x != nil { + return x.ElemType + } + return nil +} + +type Type_MapType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + KeyType *Type `protobuf:"bytes,1,opt,name=key_type,json=keyType,proto3" json:"key_type,omitempty"` + ValueType *Type `protobuf:"bytes,2,opt,name=value_type,json=valueType,proto3" json:"value_type,omitempty"` +} + +func (x *Type_MapType) Reset() { + *x = Type_MapType{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_checked_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Type_MapType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Type_MapType) ProtoMessage() {} + +func (x *Type_MapType) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_checked_proto_msgTypes[7] + 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 Type_MapType.ProtoReflect.Descriptor instead. +func (*Type_MapType) Descriptor() ([]byte, []int) { + return file_cel_expr_checked_proto_rawDescGZIP(), []int{1, 1} +} + +func (x *Type_MapType) GetKeyType() *Type { + if x != nil { + return x.KeyType + } + return nil +} + +func (x *Type_MapType) GetValueType() *Type { + if x != nil { + return x.ValueType + } + return nil +} + +type Type_FunctionType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ResultType *Type `protobuf:"bytes,1,opt,name=result_type,json=resultType,proto3" json:"result_type,omitempty"` + ArgTypes []*Type `protobuf:"bytes,2,rep,name=arg_types,json=argTypes,proto3" json:"arg_types,omitempty"` +} + +func (x *Type_FunctionType) Reset() { + *x = Type_FunctionType{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_checked_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Type_FunctionType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Type_FunctionType) ProtoMessage() {} + +func (x *Type_FunctionType) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_checked_proto_msgTypes[8] + 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 Type_FunctionType.ProtoReflect.Descriptor instead. +func (*Type_FunctionType) Descriptor() ([]byte, []int) { + return file_cel_expr_checked_proto_rawDescGZIP(), []int{1, 2} +} + +func (x *Type_FunctionType) GetResultType() *Type { + if x != nil { + return x.ResultType + } + return nil +} + +func (x *Type_FunctionType) GetArgTypes() []*Type { + if x != nil { + return x.ArgTypes + } + return nil +} + +type Type_AbstractType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + ParameterTypes []*Type `protobuf:"bytes,2,rep,name=parameter_types,json=parameterTypes,proto3" json:"parameter_types,omitempty"` +} + +func (x *Type_AbstractType) Reset() { + *x = Type_AbstractType{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_checked_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Type_AbstractType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Type_AbstractType) ProtoMessage() {} + +func (x *Type_AbstractType) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_checked_proto_msgTypes[9] + 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 Type_AbstractType.ProtoReflect.Descriptor instead. +func (*Type_AbstractType) Descriptor() ([]byte, []int) { + return file_cel_expr_checked_proto_rawDescGZIP(), []int{1, 3} +} + +func (x *Type_AbstractType) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Type_AbstractType) GetParameterTypes() []*Type { + if x != nil { + return x.ParameterTypes + } + return nil +} + +type Decl_IdentDecl struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type *Type `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + Value *Constant `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + Doc string `protobuf:"bytes,3,opt,name=doc,proto3" json:"doc,omitempty"` +} + +func (x *Decl_IdentDecl) Reset() { + *x = Decl_IdentDecl{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_checked_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Decl_IdentDecl) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Decl_IdentDecl) ProtoMessage() {} + +func (x *Decl_IdentDecl) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_checked_proto_msgTypes[10] + 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 Decl_IdentDecl.ProtoReflect.Descriptor instead. +func (*Decl_IdentDecl) Descriptor() ([]byte, []int) { + return file_cel_expr_checked_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *Decl_IdentDecl) GetType() *Type { + if x != nil { + return x.Type + } + return nil +} + +func (x *Decl_IdentDecl) GetValue() *Constant { + if x != nil { + return x.Value + } + return nil +} + +func (x *Decl_IdentDecl) GetDoc() string { + if x != nil { + return x.Doc + } + return "" +} + +type Decl_FunctionDecl struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Overloads []*Decl_FunctionDecl_Overload `protobuf:"bytes,1,rep,name=overloads,proto3" json:"overloads,omitempty"` +} + +func (x *Decl_FunctionDecl) Reset() { + *x = Decl_FunctionDecl{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_checked_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Decl_FunctionDecl) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Decl_FunctionDecl) ProtoMessage() {} + +func (x *Decl_FunctionDecl) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_checked_proto_msgTypes[11] + 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 Decl_FunctionDecl.ProtoReflect.Descriptor instead. +func (*Decl_FunctionDecl) Descriptor() ([]byte, []int) { + return file_cel_expr_checked_proto_rawDescGZIP(), []int{2, 1} +} + +func (x *Decl_FunctionDecl) GetOverloads() []*Decl_FunctionDecl_Overload { + if x != nil { + return x.Overloads + } + return nil +} + +type Decl_FunctionDecl_Overload struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OverloadId string `protobuf:"bytes,1,opt,name=overload_id,json=overloadId,proto3" json:"overload_id,omitempty"` + Params []*Type `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty"` + TypeParams []string `protobuf:"bytes,3,rep,name=type_params,json=typeParams,proto3" json:"type_params,omitempty"` + ResultType *Type `protobuf:"bytes,4,opt,name=result_type,json=resultType,proto3" json:"result_type,omitempty"` + IsInstanceFunction bool `protobuf:"varint,5,opt,name=is_instance_function,json=isInstanceFunction,proto3" json:"is_instance_function,omitempty"` + Doc string `protobuf:"bytes,6,opt,name=doc,proto3" json:"doc,omitempty"` +} + +func (x *Decl_FunctionDecl_Overload) Reset() { + *x = Decl_FunctionDecl_Overload{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_checked_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Decl_FunctionDecl_Overload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Decl_FunctionDecl_Overload) ProtoMessage() {} + +func (x *Decl_FunctionDecl_Overload) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_checked_proto_msgTypes[12] + 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 Decl_FunctionDecl_Overload.ProtoReflect.Descriptor instead. +func (*Decl_FunctionDecl_Overload) Descriptor() ([]byte, []int) { + return file_cel_expr_checked_proto_rawDescGZIP(), []int{2, 1, 0} +} + +func (x *Decl_FunctionDecl_Overload) GetOverloadId() string { + if x != nil { + return x.OverloadId + } + return "" +} + +func (x *Decl_FunctionDecl_Overload) GetParams() []*Type { + if x != nil { + return x.Params + } + return nil +} + +func (x *Decl_FunctionDecl_Overload) GetTypeParams() []string { + if x != nil { + return x.TypeParams + } + return nil +} + +func (x *Decl_FunctionDecl_Overload) GetResultType() *Type { + if x != nil { + return x.ResultType + } + return nil +} + +func (x *Decl_FunctionDecl_Overload) GetIsInstanceFunction() bool { + if x != nil { + return x.IsInstanceFunction + } + return false +} + +func (x *Decl_FunctionDecl_Overload) GetDoc() string { + if x != nil { + return x.Doc + } + return "" +} + +var File_cel_expr_checked_proto protoreflect.FileDescriptor + +var file_cel_expr_checked_proto_rawDesc = []byte{ + 0x0a, 0x16, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, + 0x70, 0x72, 0x1a, 0x15, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x73, 0x79, 0x6e, + 0x74, 0x61, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xba, 0x03, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, + 0x45, 0x78, 0x70, 0x72, 0x12, 0x4c, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x65, + 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, + 0x70, 0x72, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, + 0x61, 0x70, 0x12, 0x3d, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, + 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x61, + 0x70, 0x12, 0x35, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, + 0x72, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x72, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x65, 0x78, 0x70, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x65, + 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, + 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x1a, + 0x54, 0x0a, 0x11, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, + 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4a, 0x0a, 0x0c, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, + 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0xe6, 0x09, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x03, 0x64, 0x79, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, + 0x00, 0x52, 0x03, 0x64, 0x79, 0x6e, 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x48, 0x00, 0x52, 0x04, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x3c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6d, + 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x65, + 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x72, 0x69, 0x6d, + 0x69, 0x74, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x69, + 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, + 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, + 0x12, 0x3d, 0x0a, 0x0a, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, + 0x54, 0x79, 0x70, 0x65, 0x2e, 0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x48, 0x00, 0x52, 0x09, 0x77, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x12, + 0x36, 0x0a, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, + 0x70, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x08, 0x6c, + 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x65, 0x6c, 0x2e, + 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x54, 0x79, 0x70, + 0x65, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x08, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x46, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x08, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0a, + 0x74, 0x79, 0x70, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x09, 0x74, 0x79, 0x70, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x24, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, + 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x12, 0x42, 0x0a, 0x0d, 0x61, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x65, 0x6c, + 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x41, 0x62, 0x73, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x62, 0x73, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x37, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x09, 0x65, 0x6c, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, + 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, + 0x1a, 0x63, 0x0a, 0x07, 0x4d, 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x08, 0x6b, + 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6b, + 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, + 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x6c, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, + 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, + 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x61, 0x72, 0x67, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x1a, 0x5b, 0x0a, 0x0c, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x0e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x22, 0x73, 0x0a, 0x0d, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x52, 0x49, 0x4d, 0x49, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x49, + 0x4e, 0x54, 0x36, 0x34, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34, + 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x0a, + 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x59, + 0x54, 0x45, 0x53, 0x10, 0x06, 0x22, 0x56, 0x0a, 0x0d, 0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, + 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x57, 0x45, 0x4c, 0x4c, 0x5f, 0x4b, + 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0x01, + 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x02, 0x12, + 0x0c, 0x0a, 0x08, 0x44, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x42, 0x0b, 0x0a, + 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xc2, 0x04, 0x0a, 0x04, 0x44, + 0x65, 0x63, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, + 0x72, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x63, 0x6c, + 0x48, 0x00, 0x52, 0x05, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x08, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x65, + 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x2e, 0x46, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x63, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x6b, 0x0a, 0x09, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x63, + 0x6c, 0x12, 0x22, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, + 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x64, 0x6f, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x6f, + 0x63, 0x1a, 0xbe, 0x02, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, + 0x63, 0x6c, 0x12, 0x42, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, + 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, + 0x63, 0x6c, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x09, 0x6f, 0x76, 0x65, + 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x1a, 0xe9, 0x01, 0x0a, 0x08, 0x4f, 0x76, 0x65, 0x72, 0x6c, + 0x6f, 0x61, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, + 0x61, 0x64, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1f, 0x0a, 0x0b, + 0x74, 0x79, 0x70, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2f, 0x0a, + 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x30, + 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x10, 0x0a, 0x03, 0x64, 0x6f, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, + 0x6f, 0x63, 0x42, 0x0b, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x6c, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, + 0x6a, 0x0a, 0x09, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x49, + 0x64, 0x12, 0x28, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x2c, 0x0a, 0x0c, 0x64, + 0x65, 0x76, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x42, 0x09, 0x44, 0x65, 0x63, + 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x0c, 0x63, 0x65, 0x6c, 0x2e, 0x64, 0x65, + 0x76, 0x2f, 0x65, 0x78, 0x70, 0x72, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_cel_expr_checked_proto_rawDescOnce sync.Once + file_cel_expr_checked_proto_rawDescData = file_cel_expr_checked_proto_rawDesc +) + +func file_cel_expr_checked_proto_rawDescGZIP() []byte { + file_cel_expr_checked_proto_rawDescOnce.Do(func() { + file_cel_expr_checked_proto_rawDescData = protoimpl.X.CompressGZIP(file_cel_expr_checked_proto_rawDescData) + }) + return file_cel_expr_checked_proto_rawDescData +} + +var file_cel_expr_checked_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_cel_expr_checked_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_cel_expr_checked_proto_goTypes = []interface{}{ + (Type_PrimitiveType)(0), // 0: cel.expr.Type.PrimitiveType + (Type_WellKnownType)(0), // 1: cel.expr.Type.WellKnownType + (*CheckedExpr)(nil), // 2: cel.expr.CheckedExpr + (*Type)(nil), // 3: cel.expr.Type + (*Decl)(nil), // 4: cel.expr.Decl + (*Reference)(nil), // 5: cel.expr.Reference + nil, // 6: cel.expr.CheckedExpr.ReferenceMapEntry + nil, // 7: cel.expr.CheckedExpr.TypeMapEntry + (*Type_ListType)(nil), // 8: cel.expr.Type.ListType + (*Type_MapType)(nil), // 9: cel.expr.Type.MapType + (*Type_FunctionType)(nil), // 10: cel.expr.Type.FunctionType + (*Type_AbstractType)(nil), // 11: cel.expr.Type.AbstractType + (*Decl_IdentDecl)(nil), // 12: cel.expr.Decl.IdentDecl + (*Decl_FunctionDecl)(nil), // 13: cel.expr.Decl.FunctionDecl + (*Decl_FunctionDecl_Overload)(nil), // 14: cel.expr.Decl.FunctionDecl.Overload + (*SourceInfo)(nil), // 15: cel.expr.SourceInfo + (*Expr)(nil), // 16: cel.expr.Expr + (*emptypb.Empty)(nil), // 17: google.protobuf.Empty + (structpb.NullValue)(0), // 18: google.protobuf.NullValue + (*Constant)(nil), // 19: cel.expr.Constant +} +var file_cel_expr_checked_proto_depIdxs = []int32{ + 6, // 0: cel.expr.CheckedExpr.reference_map:type_name -> cel.expr.CheckedExpr.ReferenceMapEntry + 7, // 1: cel.expr.CheckedExpr.type_map:type_name -> cel.expr.CheckedExpr.TypeMapEntry + 15, // 2: cel.expr.CheckedExpr.source_info:type_name -> cel.expr.SourceInfo + 16, // 3: cel.expr.CheckedExpr.expr:type_name -> cel.expr.Expr + 17, // 4: cel.expr.Type.dyn:type_name -> google.protobuf.Empty + 18, // 5: cel.expr.Type.null:type_name -> google.protobuf.NullValue + 0, // 6: cel.expr.Type.primitive:type_name -> cel.expr.Type.PrimitiveType + 0, // 7: cel.expr.Type.wrapper:type_name -> cel.expr.Type.PrimitiveType + 1, // 8: cel.expr.Type.well_known:type_name -> cel.expr.Type.WellKnownType + 8, // 9: cel.expr.Type.list_type:type_name -> cel.expr.Type.ListType + 9, // 10: cel.expr.Type.map_type:type_name -> cel.expr.Type.MapType + 10, // 11: cel.expr.Type.function:type_name -> cel.expr.Type.FunctionType + 3, // 12: cel.expr.Type.type:type_name -> cel.expr.Type + 17, // 13: cel.expr.Type.error:type_name -> google.protobuf.Empty + 11, // 14: cel.expr.Type.abstract_type:type_name -> cel.expr.Type.AbstractType + 12, // 15: cel.expr.Decl.ident:type_name -> cel.expr.Decl.IdentDecl + 13, // 16: cel.expr.Decl.function:type_name -> cel.expr.Decl.FunctionDecl + 19, // 17: cel.expr.Reference.value:type_name -> cel.expr.Constant + 5, // 18: cel.expr.CheckedExpr.ReferenceMapEntry.value:type_name -> cel.expr.Reference + 3, // 19: cel.expr.CheckedExpr.TypeMapEntry.value:type_name -> cel.expr.Type + 3, // 20: cel.expr.Type.ListType.elem_type:type_name -> cel.expr.Type + 3, // 21: cel.expr.Type.MapType.key_type:type_name -> cel.expr.Type + 3, // 22: cel.expr.Type.MapType.value_type:type_name -> cel.expr.Type + 3, // 23: cel.expr.Type.FunctionType.result_type:type_name -> cel.expr.Type + 3, // 24: cel.expr.Type.FunctionType.arg_types:type_name -> cel.expr.Type + 3, // 25: cel.expr.Type.AbstractType.parameter_types:type_name -> cel.expr.Type + 3, // 26: cel.expr.Decl.IdentDecl.type:type_name -> cel.expr.Type + 19, // 27: cel.expr.Decl.IdentDecl.value:type_name -> cel.expr.Constant + 14, // 28: cel.expr.Decl.FunctionDecl.overloads:type_name -> cel.expr.Decl.FunctionDecl.Overload + 3, // 29: cel.expr.Decl.FunctionDecl.Overload.params:type_name -> cel.expr.Type + 3, // 30: cel.expr.Decl.FunctionDecl.Overload.result_type:type_name -> cel.expr.Type + 31, // [31:31] is the sub-list for method output_type + 31, // [31:31] is the sub-list for method input_type + 31, // [31:31] is the sub-list for extension type_name + 31, // [31:31] is the sub-list for extension extendee + 0, // [0:31] is the sub-list for field type_name +} + +func init() { file_cel_expr_checked_proto_init() } +func file_cel_expr_checked_proto_init() { + if File_cel_expr_checked_proto != nil { + return + } + file_cel_expr_syntax_proto_init() + if !protoimpl.UnsafeEnabled { + file_cel_expr_checked_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckedExpr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_checked_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Type); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_checked_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Decl); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_checked_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Reference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_checked_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Type_ListType); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_checked_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Type_MapType); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_checked_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Type_FunctionType); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_checked_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Type_AbstractType); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_checked_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Decl_IdentDecl); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_checked_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Decl_FunctionDecl); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_checked_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Decl_FunctionDecl_Overload); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_cel_expr_checked_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*Type_Dyn)(nil), + (*Type_Null)(nil), + (*Type_Primitive)(nil), + (*Type_Wrapper)(nil), + (*Type_WellKnown)(nil), + (*Type_ListType_)(nil), + (*Type_MapType_)(nil), + (*Type_Function)(nil), + (*Type_MessageType)(nil), + (*Type_TypeParam)(nil), + (*Type_Type)(nil), + (*Type_Error)(nil), + (*Type_AbstractType_)(nil), + } + file_cel_expr_checked_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*Decl_Ident)(nil), + (*Decl_Function)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cel_expr_checked_proto_rawDesc, + NumEnums: 2, + NumMessages: 13, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cel_expr_checked_proto_goTypes, + DependencyIndexes: file_cel_expr_checked_proto_depIdxs, + EnumInfos: file_cel_expr_checked_proto_enumTypes, + MessageInfos: file_cel_expr_checked_proto_msgTypes, + }.Build() + File_cel_expr_checked_proto = out.File + file_cel_expr_checked_proto_rawDesc = nil + file_cel_expr_checked_proto_goTypes = nil + file_cel_expr_checked_proto_depIdxs = nil +} diff --git a/vendor/cel.dev/expr/cloudbuild.yaml b/vendor/cel.dev/expr/cloudbuild.yaml new file mode 100644 index 000000000..c40881f12 --- /dev/null +++ b/vendor/cel.dev/expr/cloudbuild.yaml @@ -0,0 +1,9 @@ +steps: +- name: 'gcr.io/cloud-builders/bazel:7.0.1' + entrypoint: bazel + args: ['build', '...'] + id: bazel-build + waitFor: ['-'] +timeout: 15m +options: + machineType: 'N1_HIGHCPU_32' diff --git a/vendor/cel.dev/expr/eval.pb.go b/vendor/cel.dev/expr/eval.pb.go new file mode 100644 index 000000000..8f651f9cc --- /dev/null +++ b/vendor/cel.dev/expr/eval.pb.go @@ -0,0 +1,490 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.21.5 +// source: cel/expr/eval.proto + +package expr + +import ( + status "google.golang.org/genproto/googleapis/rpc/status" + 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 EvalState struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Values []*ExprValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` + Results []*EvalState_Result `protobuf:"bytes,3,rep,name=results,proto3" json:"results,omitempty"` +} + +func (x *EvalState) Reset() { + *x = EvalState{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_eval_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EvalState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvalState) ProtoMessage() {} + +func (x *EvalState) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_eval_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 EvalState.ProtoReflect.Descriptor instead. +func (*EvalState) Descriptor() ([]byte, []int) { + return file_cel_expr_eval_proto_rawDescGZIP(), []int{0} +} + +func (x *EvalState) GetValues() []*ExprValue { + if x != nil { + return x.Values + } + return nil +} + +func (x *EvalState) GetResults() []*EvalState_Result { + if x != nil { + return x.Results + } + return nil +} + +type ExprValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Kind: + // + // *ExprValue_Value + // *ExprValue_Error + // *ExprValue_Unknown + Kind isExprValue_Kind `protobuf_oneof:"kind"` +} + +func (x *ExprValue) Reset() { + *x = ExprValue{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_eval_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExprValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExprValue) ProtoMessage() {} + +func (x *ExprValue) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_eval_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 ExprValue.ProtoReflect.Descriptor instead. +func (*ExprValue) Descriptor() ([]byte, []int) { + return file_cel_expr_eval_proto_rawDescGZIP(), []int{1} +} + +func (m *ExprValue) GetKind() isExprValue_Kind { + if m != nil { + return m.Kind + } + return nil +} + +func (x *ExprValue) GetValue() *Value { + if x, ok := x.GetKind().(*ExprValue_Value); ok { + return x.Value + } + return nil +} + +func (x *ExprValue) GetError() *ErrorSet { + if x, ok := x.GetKind().(*ExprValue_Error); ok { + return x.Error + } + return nil +} + +func (x *ExprValue) GetUnknown() *UnknownSet { + if x, ok := x.GetKind().(*ExprValue_Unknown); ok { + return x.Unknown + } + return nil +} + +type isExprValue_Kind interface { + isExprValue_Kind() +} + +type ExprValue_Value struct { + Value *Value `protobuf:"bytes,1,opt,name=value,proto3,oneof"` +} + +type ExprValue_Error struct { + Error *ErrorSet `protobuf:"bytes,2,opt,name=error,proto3,oneof"` +} + +type ExprValue_Unknown struct { + Unknown *UnknownSet `protobuf:"bytes,3,opt,name=unknown,proto3,oneof"` +} + +func (*ExprValue_Value) isExprValue_Kind() {} + +func (*ExprValue_Error) isExprValue_Kind() {} + +func (*ExprValue_Unknown) isExprValue_Kind() {} + +type ErrorSet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Errors []*status.Status `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"` +} + +func (x *ErrorSet) Reset() { + *x = ErrorSet{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_eval_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ErrorSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ErrorSet) ProtoMessage() {} + +func (x *ErrorSet) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_eval_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 ErrorSet.ProtoReflect.Descriptor instead. +func (*ErrorSet) Descriptor() ([]byte, []int) { + return file_cel_expr_eval_proto_rawDescGZIP(), []int{2} +} + +func (x *ErrorSet) GetErrors() []*status.Status { + if x != nil { + return x.Errors + } + return nil +} + +type UnknownSet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Exprs []int64 `protobuf:"varint,1,rep,packed,name=exprs,proto3" json:"exprs,omitempty"` +} + +func (x *UnknownSet) Reset() { + *x = UnknownSet{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_eval_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnknownSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnknownSet) ProtoMessage() {} + +func (x *UnknownSet) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_eval_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 UnknownSet.ProtoReflect.Descriptor instead. +func (*UnknownSet) Descriptor() ([]byte, []int) { + return file_cel_expr_eval_proto_rawDescGZIP(), []int{3} +} + +func (x *UnknownSet) GetExprs() []int64 { + if x != nil { + return x.Exprs + } + return nil +} + +type EvalState_Result struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Expr int64 `protobuf:"varint,1,opt,name=expr,proto3" json:"expr,omitempty"` + Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *EvalState_Result) Reset() { + *x = EvalState_Result{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_eval_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EvalState_Result) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvalState_Result) ProtoMessage() {} + +func (x *EvalState_Result) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_eval_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 EvalState_Result.ProtoReflect.Descriptor instead. +func (*EvalState_Result) Descriptor() ([]byte, []int) { + return file_cel_expr_eval_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *EvalState_Result) GetExpr() int64 { + if x != nil { + return x.Expr + } + return 0 +} + +func (x *EvalState_Result) GetValue() int64 { + if x != nil { + return x.Value + } + return 0 +} + +var File_cel_expr_eval_proto protoreflect.FileDescriptor + +var file_cel_expr_eval_proto_rawDesc = []byte{ + 0x0a, 0x13, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x1a, + 0x14, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, + 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa2, + 0x01, 0x0a, 0x09, 0x45, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x06, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, + 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x65, 0x6c, + 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, + 0x32, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x78, 0x70, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x09, 0x45, 0x78, 0x70, 0x72, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x65, 0x6c, 0x2e, + 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, + 0x70, 0x72, 0x2e, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, + 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x22, 0x36, 0x0a, 0x08, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x06, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x22, 0x0a, 0x0a, 0x55, 0x6e, 0x6b, 0x6e, + 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x42, 0x2c, 0x0a, 0x0c, + 0x64, 0x65, 0x76, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x42, 0x09, 0x45, 0x76, + 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x0c, 0x63, 0x65, 0x6c, 0x2e, 0x64, + 0x65, 0x76, 0x2f, 0x65, 0x78, 0x70, 0x72, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_cel_expr_eval_proto_rawDescOnce sync.Once + file_cel_expr_eval_proto_rawDescData = file_cel_expr_eval_proto_rawDesc +) + +func file_cel_expr_eval_proto_rawDescGZIP() []byte { + file_cel_expr_eval_proto_rawDescOnce.Do(func() { + file_cel_expr_eval_proto_rawDescData = protoimpl.X.CompressGZIP(file_cel_expr_eval_proto_rawDescData) + }) + return file_cel_expr_eval_proto_rawDescData +} + +var file_cel_expr_eval_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_cel_expr_eval_proto_goTypes = []interface{}{ + (*EvalState)(nil), // 0: cel.expr.EvalState + (*ExprValue)(nil), // 1: cel.expr.ExprValue + (*ErrorSet)(nil), // 2: cel.expr.ErrorSet + (*UnknownSet)(nil), // 3: cel.expr.UnknownSet + (*EvalState_Result)(nil), // 4: cel.expr.EvalState.Result + (*Value)(nil), // 5: cel.expr.Value + (*status.Status)(nil), // 6: google.rpc.Status +} +var file_cel_expr_eval_proto_depIdxs = []int32{ + 1, // 0: cel.expr.EvalState.values:type_name -> cel.expr.ExprValue + 4, // 1: cel.expr.EvalState.results:type_name -> cel.expr.EvalState.Result + 5, // 2: cel.expr.ExprValue.value:type_name -> cel.expr.Value + 2, // 3: cel.expr.ExprValue.error:type_name -> cel.expr.ErrorSet + 3, // 4: cel.expr.ExprValue.unknown:type_name -> cel.expr.UnknownSet + 6, // 5: cel.expr.ErrorSet.errors:type_name -> google.rpc.Status + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { file_cel_expr_eval_proto_init() } +func file_cel_expr_eval_proto_init() { + if File_cel_expr_eval_proto != nil { + return + } + file_cel_expr_value_proto_init() + if !protoimpl.UnsafeEnabled { + file_cel_expr_eval_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EvalState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_eval_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExprValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_eval_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ErrorSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_eval_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnknownSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_eval_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EvalState_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_cel_expr_eval_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*ExprValue_Value)(nil), + (*ExprValue_Error)(nil), + (*ExprValue_Unknown)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cel_expr_eval_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cel_expr_eval_proto_goTypes, + DependencyIndexes: file_cel_expr_eval_proto_depIdxs, + MessageInfos: file_cel_expr_eval_proto_msgTypes, + }.Build() + File_cel_expr_eval_proto = out.File + file_cel_expr_eval_proto_rawDesc = nil + file_cel_expr_eval_proto_goTypes = nil + file_cel_expr_eval_proto_depIdxs = nil +} diff --git a/vendor/cel.dev/expr/explain.pb.go b/vendor/cel.dev/expr/explain.pb.go new file mode 100644 index 000000000..79fd5443b --- /dev/null +++ b/vendor/cel.dev/expr/explain.pb.go @@ -0,0 +1,236 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.21.5 +// source: cel/expr/explain.proto + +package expr + +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) +) + +// Deprecated: Do not use. +type Explain struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Values []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` + ExprSteps []*Explain_ExprStep `protobuf:"bytes,2,rep,name=expr_steps,json=exprSteps,proto3" json:"expr_steps,omitempty"` +} + +func (x *Explain) Reset() { + *x = Explain{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_explain_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Explain) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Explain) ProtoMessage() {} + +func (x *Explain) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_explain_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 Explain.ProtoReflect.Descriptor instead. +func (*Explain) Descriptor() ([]byte, []int) { + return file_cel_expr_explain_proto_rawDescGZIP(), []int{0} +} + +func (x *Explain) GetValues() []*Value { + if x != nil { + return x.Values + } + return nil +} + +func (x *Explain) GetExprSteps() []*Explain_ExprStep { + if x != nil { + return x.ExprSteps + } + return nil +} + +type Explain_ExprStep struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + ValueIndex int32 `protobuf:"varint,2,opt,name=value_index,json=valueIndex,proto3" json:"value_index,omitempty"` +} + +func (x *Explain_ExprStep) Reset() { + *x = Explain_ExprStep{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_explain_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Explain_ExprStep) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Explain_ExprStep) ProtoMessage() {} + +func (x *Explain_ExprStep) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_explain_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 Explain_ExprStep.ProtoReflect.Descriptor instead. +func (*Explain_ExprStep) Descriptor() ([]byte, []int) { + return file_cel_expr_explain_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *Explain_ExprStep) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *Explain_ExprStep) GetValueIndex() int32 { + if x != nil { + return x.ValueIndex + } + return 0 +} + +var File_cel_expr_explain_proto protoreflect.FileDescriptor + +var file_cel_expr_explain_proto_rawDesc = []byte{ + 0x0a, 0x16, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61, + 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, + 0x70, 0x72, 0x1a, 0x14, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae, 0x01, 0x0a, 0x07, 0x45, 0x78, 0x70, + 0x6c, 0x61, 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x39, 0x0a, + 0x0a, 0x65, 0x78, 0x70, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, + 0x6c, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x53, 0x74, 0x65, 0x70, 0x52, 0x09, 0x65, + 0x78, 0x70, 0x72, 0x53, 0x74, 0x65, 0x70, 0x73, 0x1a, 0x3b, 0x0a, 0x08, 0x45, 0x78, 0x70, 0x72, + 0x53, 0x74, 0x65, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x3a, 0x02, 0x18, 0x01, 0x42, 0x2f, 0x0a, 0x0c, 0x64, 0x65, 0x76, + 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x42, 0x0c, 0x45, 0x78, 0x70, 0x6c, 0x61, + 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x0c, 0x63, 0x65, 0x6c, 0x2e, 0x64, + 0x65, 0x76, 0x2f, 0x65, 0x78, 0x70, 0x72, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_cel_expr_explain_proto_rawDescOnce sync.Once + file_cel_expr_explain_proto_rawDescData = file_cel_expr_explain_proto_rawDesc +) + +func file_cel_expr_explain_proto_rawDescGZIP() []byte { + file_cel_expr_explain_proto_rawDescOnce.Do(func() { + file_cel_expr_explain_proto_rawDescData = protoimpl.X.CompressGZIP(file_cel_expr_explain_proto_rawDescData) + }) + return file_cel_expr_explain_proto_rawDescData +} + +var file_cel_expr_explain_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_cel_expr_explain_proto_goTypes = []interface{}{ + (*Explain)(nil), // 0: cel.expr.Explain + (*Explain_ExprStep)(nil), // 1: cel.expr.Explain.ExprStep + (*Value)(nil), // 2: cel.expr.Value +} +var file_cel_expr_explain_proto_depIdxs = []int32{ + 2, // 0: cel.expr.Explain.values:type_name -> cel.expr.Value + 1, // 1: cel.expr.Explain.expr_steps:type_name -> cel.expr.Explain.ExprStep + 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_cel_expr_explain_proto_init() } +func file_cel_expr_explain_proto_init() { + if File_cel_expr_explain_proto != nil { + return + } + file_cel_expr_value_proto_init() + if !protoimpl.UnsafeEnabled { + file_cel_expr_explain_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Explain); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_explain_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Explain_ExprStep); 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_cel_expr_explain_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cel_expr_explain_proto_goTypes, + DependencyIndexes: file_cel_expr_explain_proto_depIdxs, + MessageInfos: file_cel_expr_explain_proto_msgTypes, + }.Build() + File_cel_expr_explain_proto = out.File + file_cel_expr_explain_proto_rawDesc = nil + file_cel_expr_explain_proto_goTypes = nil + file_cel_expr_explain_proto_depIdxs = nil +} diff --git a/vendor/cel.dev/expr/regen_go_proto.sh b/vendor/cel.dev/expr/regen_go_proto.sh new file mode 100644 index 000000000..fdcbb3ce2 --- /dev/null +++ b/vendor/cel.dev/expr/regen_go_proto.sh @@ -0,0 +1,9 @@ +#!/bin/sh +bazel build //proto/cel/expr/conformance/... +files=($(bazel aquery 'kind(proto, //proto/cel/expr/conformance/...)' | grep Outputs | grep "[.]pb[.]go" | sed 's/Outputs: \[//' | sed 's/\]//' | tr "," "\n")) +for src in ${files[@]}; +do + dst=$(echo $src | sed 's/\(.*\/cel.dev\/expr\/\(.*\)\)/\2/') + echo "copying $dst" + $(cp $src $dst) +done diff --git a/vendor/cel.dev/expr/regen_go_proto_canonical_protos.sh b/vendor/cel.dev/expr/regen_go_proto_canonical_protos.sh new file mode 100644 index 000000000..9a13479e4 --- /dev/null +++ b/vendor/cel.dev/expr/regen_go_proto_canonical_protos.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +bazel build //proto/cel/expr:all + +rm -vf ./*.pb.go + +files=( $(bazel cquery //proto/cel/expr:expr_go_proto --output=starlark --starlark:expr="'\n'.join([f.path for f in target.output_groups.go_generated_srcs.to_list()])") ) +for src in "${files[@]}"; +do + cp -v "${src}" ./ +done diff --git a/vendor/cel.dev/expr/syntax.pb.go b/vendor/cel.dev/expr/syntax.pb.go new file mode 100644 index 000000000..48a952872 --- /dev/null +++ b/vendor/cel.dev/expr/syntax.pb.go @@ -0,0 +1,1633 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.21.5 +// source: cel/expr/syntax.proto + +package expr + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + structpb "google.golang.org/protobuf/types/known/structpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + 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 SourceInfo_Extension_Component int32 + +const ( + SourceInfo_Extension_COMPONENT_UNSPECIFIED SourceInfo_Extension_Component = 0 + SourceInfo_Extension_COMPONENT_PARSER SourceInfo_Extension_Component = 1 + SourceInfo_Extension_COMPONENT_TYPE_CHECKER SourceInfo_Extension_Component = 2 + SourceInfo_Extension_COMPONENT_RUNTIME SourceInfo_Extension_Component = 3 +) + +// Enum value maps for SourceInfo_Extension_Component. +var ( + SourceInfo_Extension_Component_name = map[int32]string{ + 0: "COMPONENT_UNSPECIFIED", + 1: "COMPONENT_PARSER", + 2: "COMPONENT_TYPE_CHECKER", + 3: "COMPONENT_RUNTIME", + } + SourceInfo_Extension_Component_value = map[string]int32{ + "COMPONENT_UNSPECIFIED": 0, + "COMPONENT_PARSER": 1, + "COMPONENT_TYPE_CHECKER": 2, + "COMPONENT_RUNTIME": 3, + } +) + +func (x SourceInfo_Extension_Component) Enum() *SourceInfo_Extension_Component { + p := new(SourceInfo_Extension_Component) + *p = x + return p +} + +func (x SourceInfo_Extension_Component) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SourceInfo_Extension_Component) Descriptor() protoreflect.EnumDescriptor { + return file_cel_expr_syntax_proto_enumTypes[0].Descriptor() +} + +func (SourceInfo_Extension_Component) Type() protoreflect.EnumType { + return &file_cel_expr_syntax_proto_enumTypes[0] +} + +func (x SourceInfo_Extension_Component) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SourceInfo_Extension_Component.Descriptor instead. +func (SourceInfo_Extension_Component) EnumDescriptor() ([]byte, []int) { + return file_cel_expr_syntax_proto_rawDescGZIP(), []int{3, 2, 0} +} + +type ParsedExpr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Expr *Expr `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` + SourceInfo *SourceInfo `protobuf:"bytes,3,opt,name=source_info,json=sourceInfo,proto3" json:"source_info,omitempty"` +} + +func (x *ParsedExpr) Reset() { + *x = ParsedExpr{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_syntax_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ParsedExpr) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ParsedExpr) ProtoMessage() {} + +func (x *ParsedExpr) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_syntax_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 ParsedExpr.ProtoReflect.Descriptor instead. +func (*ParsedExpr) Descriptor() ([]byte, []int) { + return file_cel_expr_syntax_proto_rawDescGZIP(), []int{0} +} + +func (x *ParsedExpr) GetExpr() *Expr { + if x != nil { + return x.Expr + } + return nil +} + +func (x *ParsedExpr) GetSourceInfo() *SourceInfo { + if x != nil { + return x.SourceInfo + } + return nil +} + +type Expr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` + // Types that are assignable to ExprKind: + // + // *Expr_ConstExpr + // *Expr_IdentExpr + // *Expr_SelectExpr + // *Expr_CallExpr + // *Expr_ListExpr + // *Expr_StructExpr + // *Expr_ComprehensionExpr + ExprKind isExpr_ExprKind `protobuf_oneof:"expr_kind"` +} + +func (x *Expr) Reset() { + *x = Expr{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_syntax_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expr) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expr) ProtoMessage() {} + +func (x *Expr) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_syntax_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 Expr.ProtoReflect.Descriptor instead. +func (*Expr) Descriptor() ([]byte, []int) { + return file_cel_expr_syntax_proto_rawDescGZIP(), []int{1} +} + +func (x *Expr) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (m *Expr) GetExprKind() isExpr_ExprKind { + if m != nil { + return m.ExprKind + } + return nil +} + +func (x *Expr) GetConstExpr() *Constant { + if x, ok := x.GetExprKind().(*Expr_ConstExpr); ok { + return x.ConstExpr + } + return nil +} + +func (x *Expr) GetIdentExpr() *Expr_Ident { + if x, ok := x.GetExprKind().(*Expr_IdentExpr); ok { + return x.IdentExpr + } + return nil +} + +func (x *Expr) GetSelectExpr() *Expr_Select { + if x, ok := x.GetExprKind().(*Expr_SelectExpr); ok { + return x.SelectExpr + } + return nil +} + +func (x *Expr) GetCallExpr() *Expr_Call { + if x, ok := x.GetExprKind().(*Expr_CallExpr); ok { + return x.CallExpr + } + return nil +} + +func (x *Expr) GetListExpr() *Expr_CreateList { + if x, ok := x.GetExprKind().(*Expr_ListExpr); ok { + return x.ListExpr + } + return nil +} + +func (x *Expr) GetStructExpr() *Expr_CreateStruct { + if x, ok := x.GetExprKind().(*Expr_StructExpr); ok { + return x.StructExpr + } + return nil +} + +func (x *Expr) GetComprehensionExpr() *Expr_Comprehension { + if x, ok := x.GetExprKind().(*Expr_ComprehensionExpr); ok { + return x.ComprehensionExpr + } + return nil +} + +type isExpr_ExprKind interface { + isExpr_ExprKind() +} + +type Expr_ConstExpr struct { + ConstExpr *Constant `protobuf:"bytes,3,opt,name=const_expr,json=constExpr,proto3,oneof"` +} + +type Expr_IdentExpr struct { + IdentExpr *Expr_Ident `protobuf:"bytes,4,opt,name=ident_expr,json=identExpr,proto3,oneof"` +} + +type Expr_SelectExpr struct { + SelectExpr *Expr_Select `protobuf:"bytes,5,opt,name=select_expr,json=selectExpr,proto3,oneof"` +} + +type Expr_CallExpr struct { + CallExpr *Expr_Call `protobuf:"bytes,6,opt,name=call_expr,json=callExpr,proto3,oneof"` +} + +type Expr_ListExpr struct { + ListExpr *Expr_CreateList `protobuf:"bytes,7,opt,name=list_expr,json=listExpr,proto3,oneof"` +} + +type Expr_StructExpr struct { + StructExpr *Expr_CreateStruct `protobuf:"bytes,8,opt,name=struct_expr,json=structExpr,proto3,oneof"` +} + +type Expr_ComprehensionExpr struct { + ComprehensionExpr *Expr_Comprehension `protobuf:"bytes,9,opt,name=comprehension_expr,json=comprehensionExpr,proto3,oneof"` +} + +func (*Expr_ConstExpr) isExpr_ExprKind() {} + +func (*Expr_IdentExpr) isExpr_ExprKind() {} + +func (*Expr_SelectExpr) isExpr_ExprKind() {} + +func (*Expr_CallExpr) isExpr_ExprKind() {} + +func (*Expr_ListExpr) isExpr_ExprKind() {} + +func (*Expr_StructExpr) isExpr_ExprKind() {} + +func (*Expr_ComprehensionExpr) isExpr_ExprKind() {} + +type Constant struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to ConstantKind: + // + // *Constant_NullValue + // *Constant_BoolValue + // *Constant_Int64Value + // *Constant_Uint64Value + // *Constant_DoubleValue + // *Constant_StringValue + // *Constant_BytesValue + // *Constant_DurationValue + // *Constant_TimestampValue + ConstantKind isConstant_ConstantKind `protobuf_oneof:"constant_kind"` +} + +func (x *Constant) Reset() { + *x = Constant{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_syntax_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Constant) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Constant) ProtoMessage() {} + +func (x *Constant) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_syntax_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 Constant.ProtoReflect.Descriptor instead. +func (*Constant) Descriptor() ([]byte, []int) { + return file_cel_expr_syntax_proto_rawDescGZIP(), []int{2} +} + +func (m *Constant) GetConstantKind() isConstant_ConstantKind { + if m != nil { + return m.ConstantKind + } + return nil +} + +func (x *Constant) GetNullValue() structpb.NullValue { + if x, ok := x.GetConstantKind().(*Constant_NullValue); ok { + return x.NullValue + } + return structpb.NullValue(0) +} + +func (x *Constant) GetBoolValue() bool { + if x, ok := x.GetConstantKind().(*Constant_BoolValue); ok { + return x.BoolValue + } + return false +} + +func (x *Constant) GetInt64Value() int64 { + if x, ok := x.GetConstantKind().(*Constant_Int64Value); ok { + return x.Int64Value + } + return 0 +} + +func (x *Constant) GetUint64Value() uint64 { + if x, ok := x.GetConstantKind().(*Constant_Uint64Value); ok { + return x.Uint64Value + } + return 0 +} + +func (x *Constant) GetDoubleValue() float64 { + if x, ok := x.GetConstantKind().(*Constant_DoubleValue); ok { + return x.DoubleValue + } + return 0 +} + +func (x *Constant) GetStringValue() string { + if x, ok := x.GetConstantKind().(*Constant_StringValue); ok { + return x.StringValue + } + return "" +} + +func (x *Constant) GetBytesValue() []byte { + if x, ok := x.GetConstantKind().(*Constant_BytesValue); ok { + return x.BytesValue + } + return nil +} + +// Deprecated: Do not use. +func (x *Constant) GetDurationValue() *durationpb.Duration { + if x, ok := x.GetConstantKind().(*Constant_DurationValue); ok { + return x.DurationValue + } + return nil +} + +// Deprecated: Do not use. +func (x *Constant) GetTimestampValue() *timestamppb.Timestamp { + if x, ok := x.GetConstantKind().(*Constant_TimestampValue); ok { + return x.TimestampValue + } + return nil +} + +type isConstant_ConstantKind interface { + isConstant_ConstantKind() +} + +type Constant_NullValue struct { + NullValue structpb.NullValue `protobuf:"varint,1,opt,name=null_value,json=nullValue,proto3,enum=google.protobuf.NullValue,oneof"` +} + +type Constant_BoolValue struct { + BoolValue bool `protobuf:"varint,2,opt,name=bool_value,json=boolValue,proto3,oneof"` +} + +type Constant_Int64Value struct { + Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,proto3,oneof"` +} + +type Constant_Uint64Value struct { + Uint64Value uint64 `protobuf:"varint,4,opt,name=uint64_value,json=uint64Value,proto3,oneof"` +} + +type Constant_DoubleValue struct { + DoubleValue float64 `protobuf:"fixed64,5,opt,name=double_value,json=doubleValue,proto3,oneof"` +} + +type Constant_StringValue struct { + StringValue string `protobuf:"bytes,6,opt,name=string_value,json=stringValue,proto3,oneof"` +} + +type Constant_BytesValue struct { + BytesValue []byte `protobuf:"bytes,7,opt,name=bytes_value,json=bytesValue,proto3,oneof"` +} + +type Constant_DurationValue struct { + // Deprecated: Do not use. + DurationValue *durationpb.Duration `protobuf:"bytes,8,opt,name=duration_value,json=durationValue,proto3,oneof"` +} + +type Constant_TimestampValue struct { + // Deprecated: Do not use. + TimestampValue *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=timestamp_value,json=timestampValue,proto3,oneof"` +} + +func (*Constant_NullValue) isConstant_ConstantKind() {} + +func (*Constant_BoolValue) isConstant_ConstantKind() {} + +func (*Constant_Int64Value) isConstant_ConstantKind() {} + +func (*Constant_Uint64Value) isConstant_ConstantKind() {} + +func (*Constant_DoubleValue) isConstant_ConstantKind() {} + +func (*Constant_StringValue) isConstant_ConstantKind() {} + +func (*Constant_BytesValue) isConstant_ConstantKind() {} + +func (*Constant_DurationValue) isConstant_ConstantKind() {} + +func (*Constant_TimestampValue) isConstant_ConstantKind() {} + +type SourceInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SyntaxVersion string `protobuf:"bytes,1,opt,name=syntax_version,json=syntaxVersion,proto3" json:"syntax_version,omitempty"` + Location string `protobuf:"bytes,2,opt,name=location,proto3" json:"location,omitempty"` + LineOffsets []int32 `protobuf:"varint,3,rep,packed,name=line_offsets,json=lineOffsets,proto3" json:"line_offsets,omitempty"` + Positions map[int64]int32 `protobuf:"bytes,4,rep,name=positions,proto3" json:"positions,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + MacroCalls map[int64]*Expr `protobuf:"bytes,5,rep,name=macro_calls,json=macroCalls,proto3" json:"macro_calls,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Extensions []*SourceInfo_Extension `protobuf:"bytes,6,rep,name=extensions,proto3" json:"extensions,omitempty"` +} + +func (x *SourceInfo) Reset() { + *x = SourceInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_syntax_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SourceInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SourceInfo) ProtoMessage() {} + +func (x *SourceInfo) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_syntax_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 SourceInfo.ProtoReflect.Descriptor instead. +func (*SourceInfo) Descriptor() ([]byte, []int) { + return file_cel_expr_syntax_proto_rawDescGZIP(), []int{3} +} + +func (x *SourceInfo) GetSyntaxVersion() string { + if x != nil { + return x.SyntaxVersion + } + return "" +} + +func (x *SourceInfo) GetLocation() string { + if x != nil { + return x.Location + } + return "" +} + +func (x *SourceInfo) GetLineOffsets() []int32 { + if x != nil { + return x.LineOffsets + } + return nil +} + +func (x *SourceInfo) GetPositions() map[int64]int32 { + if x != nil { + return x.Positions + } + return nil +} + +func (x *SourceInfo) GetMacroCalls() map[int64]*Expr { + if x != nil { + return x.MacroCalls + } + return nil +} + +func (x *SourceInfo) GetExtensions() []*SourceInfo_Extension { + if x != nil { + return x.Extensions + } + return nil +} + +type Expr_Ident struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *Expr_Ident) Reset() { + *x = Expr_Ident{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_syntax_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expr_Ident) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expr_Ident) ProtoMessage() {} + +func (x *Expr_Ident) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_syntax_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 Expr_Ident.ProtoReflect.Descriptor instead. +func (*Expr_Ident) Descriptor() ([]byte, []int) { + return file_cel_expr_syntax_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *Expr_Ident) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type Expr_Select struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Operand *Expr `protobuf:"bytes,1,opt,name=operand,proto3" json:"operand,omitempty"` + Field string `protobuf:"bytes,2,opt,name=field,proto3" json:"field,omitempty"` + TestOnly bool `protobuf:"varint,3,opt,name=test_only,json=testOnly,proto3" json:"test_only,omitempty"` +} + +func (x *Expr_Select) Reset() { + *x = Expr_Select{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_syntax_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expr_Select) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expr_Select) ProtoMessage() {} + +func (x *Expr_Select) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_syntax_proto_msgTypes[5] + 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 Expr_Select.ProtoReflect.Descriptor instead. +func (*Expr_Select) Descriptor() ([]byte, []int) { + return file_cel_expr_syntax_proto_rawDescGZIP(), []int{1, 1} +} + +func (x *Expr_Select) GetOperand() *Expr { + if x != nil { + return x.Operand + } + return nil +} + +func (x *Expr_Select) GetField() string { + if x != nil { + return x.Field + } + return "" +} + +func (x *Expr_Select) GetTestOnly() bool { + if x != nil { + return x.TestOnly + } + return false +} + +type Expr_Call struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Target *Expr `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` + Function string `protobuf:"bytes,2,opt,name=function,proto3" json:"function,omitempty"` + Args []*Expr `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` +} + +func (x *Expr_Call) Reset() { + *x = Expr_Call{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_syntax_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expr_Call) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expr_Call) ProtoMessage() {} + +func (x *Expr_Call) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_syntax_proto_msgTypes[6] + 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 Expr_Call.ProtoReflect.Descriptor instead. +func (*Expr_Call) Descriptor() ([]byte, []int) { + return file_cel_expr_syntax_proto_rawDescGZIP(), []int{1, 2} +} + +func (x *Expr_Call) GetTarget() *Expr { + if x != nil { + return x.Target + } + return nil +} + +func (x *Expr_Call) GetFunction() string { + if x != nil { + return x.Function + } + return "" +} + +func (x *Expr_Call) GetArgs() []*Expr { + if x != nil { + return x.Args + } + return nil +} + +type Expr_CreateList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Elements []*Expr `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"` + OptionalIndices []int32 `protobuf:"varint,2,rep,packed,name=optional_indices,json=optionalIndices,proto3" json:"optional_indices,omitempty"` +} + +func (x *Expr_CreateList) Reset() { + *x = Expr_CreateList{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_syntax_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expr_CreateList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expr_CreateList) ProtoMessage() {} + +func (x *Expr_CreateList) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_syntax_proto_msgTypes[7] + 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 Expr_CreateList.ProtoReflect.Descriptor instead. +func (*Expr_CreateList) Descriptor() ([]byte, []int) { + return file_cel_expr_syntax_proto_rawDescGZIP(), []int{1, 3} +} + +func (x *Expr_CreateList) GetElements() []*Expr { + if x != nil { + return x.Elements + } + return nil +} + +func (x *Expr_CreateList) GetOptionalIndices() []int32 { + if x != nil { + return x.OptionalIndices + } + return nil +} + +type Expr_CreateStruct struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MessageName string `protobuf:"bytes,1,opt,name=message_name,json=messageName,proto3" json:"message_name,omitempty"` + Entries []*Expr_CreateStruct_Entry `protobuf:"bytes,2,rep,name=entries,proto3" json:"entries,omitempty"` +} + +func (x *Expr_CreateStruct) Reset() { + *x = Expr_CreateStruct{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_syntax_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expr_CreateStruct) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expr_CreateStruct) ProtoMessage() {} + +func (x *Expr_CreateStruct) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_syntax_proto_msgTypes[8] + 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 Expr_CreateStruct.ProtoReflect.Descriptor instead. +func (*Expr_CreateStruct) Descriptor() ([]byte, []int) { + return file_cel_expr_syntax_proto_rawDescGZIP(), []int{1, 4} +} + +func (x *Expr_CreateStruct) GetMessageName() string { + if x != nil { + return x.MessageName + } + return "" +} + +func (x *Expr_CreateStruct) GetEntries() []*Expr_CreateStruct_Entry { + if x != nil { + return x.Entries + } + return nil +} + +type Expr_Comprehension struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IterVar string `protobuf:"bytes,1,opt,name=iter_var,json=iterVar,proto3" json:"iter_var,omitempty"` + IterRange *Expr `protobuf:"bytes,2,opt,name=iter_range,json=iterRange,proto3" json:"iter_range,omitempty"` + AccuVar string `protobuf:"bytes,3,opt,name=accu_var,json=accuVar,proto3" json:"accu_var,omitempty"` + AccuInit *Expr `protobuf:"bytes,4,opt,name=accu_init,json=accuInit,proto3" json:"accu_init,omitempty"` + LoopCondition *Expr `protobuf:"bytes,5,opt,name=loop_condition,json=loopCondition,proto3" json:"loop_condition,omitempty"` + LoopStep *Expr `protobuf:"bytes,6,opt,name=loop_step,json=loopStep,proto3" json:"loop_step,omitempty"` + Result *Expr `protobuf:"bytes,7,opt,name=result,proto3" json:"result,omitempty"` +} + +func (x *Expr_Comprehension) Reset() { + *x = Expr_Comprehension{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_syntax_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expr_Comprehension) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expr_Comprehension) ProtoMessage() {} + +func (x *Expr_Comprehension) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_syntax_proto_msgTypes[9] + 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 Expr_Comprehension.ProtoReflect.Descriptor instead. +func (*Expr_Comprehension) Descriptor() ([]byte, []int) { + return file_cel_expr_syntax_proto_rawDescGZIP(), []int{1, 5} +} + +func (x *Expr_Comprehension) GetIterVar() string { + if x != nil { + return x.IterVar + } + return "" +} + +func (x *Expr_Comprehension) GetIterRange() *Expr { + if x != nil { + return x.IterRange + } + return nil +} + +func (x *Expr_Comprehension) GetAccuVar() string { + if x != nil { + return x.AccuVar + } + return "" +} + +func (x *Expr_Comprehension) GetAccuInit() *Expr { + if x != nil { + return x.AccuInit + } + return nil +} + +func (x *Expr_Comprehension) GetLoopCondition() *Expr { + if x != nil { + return x.LoopCondition + } + return nil +} + +func (x *Expr_Comprehension) GetLoopStep() *Expr { + if x != nil { + return x.LoopStep + } + return nil +} + +func (x *Expr_Comprehension) GetResult() *Expr { + if x != nil { + return x.Result + } + return nil +} + +type Expr_CreateStruct_Entry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // Types that are assignable to KeyKind: + // + // *Expr_CreateStruct_Entry_FieldKey + // *Expr_CreateStruct_Entry_MapKey + KeyKind isExpr_CreateStruct_Entry_KeyKind `protobuf_oneof:"key_kind"` + Value *Expr `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"` + OptionalEntry bool `protobuf:"varint,5,opt,name=optional_entry,json=optionalEntry,proto3" json:"optional_entry,omitempty"` +} + +func (x *Expr_CreateStruct_Entry) Reset() { + *x = Expr_CreateStruct_Entry{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_syntax_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expr_CreateStruct_Entry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expr_CreateStruct_Entry) ProtoMessage() {} + +func (x *Expr_CreateStruct_Entry) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_syntax_proto_msgTypes[10] + 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 Expr_CreateStruct_Entry.ProtoReflect.Descriptor instead. +func (*Expr_CreateStruct_Entry) Descriptor() ([]byte, []int) { + return file_cel_expr_syntax_proto_rawDescGZIP(), []int{1, 4, 0} +} + +func (x *Expr_CreateStruct_Entry) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (m *Expr_CreateStruct_Entry) GetKeyKind() isExpr_CreateStruct_Entry_KeyKind { + if m != nil { + return m.KeyKind + } + return nil +} + +func (x *Expr_CreateStruct_Entry) GetFieldKey() string { + if x, ok := x.GetKeyKind().(*Expr_CreateStruct_Entry_FieldKey); ok { + return x.FieldKey + } + return "" +} + +func (x *Expr_CreateStruct_Entry) GetMapKey() *Expr { + if x, ok := x.GetKeyKind().(*Expr_CreateStruct_Entry_MapKey); ok { + return x.MapKey + } + return nil +} + +func (x *Expr_CreateStruct_Entry) GetValue() *Expr { + if x != nil { + return x.Value + } + return nil +} + +func (x *Expr_CreateStruct_Entry) GetOptionalEntry() bool { + if x != nil { + return x.OptionalEntry + } + return false +} + +type isExpr_CreateStruct_Entry_KeyKind interface { + isExpr_CreateStruct_Entry_KeyKind() +} + +type Expr_CreateStruct_Entry_FieldKey struct { + FieldKey string `protobuf:"bytes,2,opt,name=field_key,json=fieldKey,proto3,oneof"` +} + +type Expr_CreateStruct_Entry_MapKey struct { + MapKey *Expr `protobuf:"bytes,3,opt,name=map_key,json=mapKey,proto3,oneof"` +} + +func (*Expr_CreateStruct_Entry_FieldKey) isExpr_CreateStruct_Entry_KeyKind() {} + +func (*Expr_CreateStruct_Entry_MapKey) isExpr_CreateStruct_Entry_KeyKind() {} + +type SourceInfo_Extension struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + AffectedComponents []SourceInfo_Extension_Component `protobuf:"varint,2,rep,packed,name=affected_components,json=affectedComponents,proto3,enum=cel.expr.SourceInfo_Extension_Component" json:"affected_components,omitempty"` + Version *SourceInfo_Extension_Version `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *SourceInfo_Extension) Reset() { + *x = SourceInfo_Extension{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_syntax_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SourceInfo_Extension) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SourceInfo_Extension) ProtoMessage() {} + +func (x *SourceInfo_Extension) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_syntax_proto_msgTypes[13] + 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 SourceInfo_Extension.ProtoReflect.Descriptor instead. +func (*SourceInfo_Extension) Descriptor() ([]byte, []int) { + return file_cel_expr_syntax_proto_rawDescGZIP(), []int{3, 2} +} + +func (x *SourceInfo_Extension) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *SourceInfo_Extension) GetAffectedComponents() []SourceInfo_Extension_Component { + if x != nil { + return x.AffectedComponents + } + return nil +} + +func (x *SourceInfo_Extension) GetVersion() *SourceInfo_Extension_Version { + if x != nil { + return x.Version + } + return nil +} + +type SourceInfo_Extension_Version struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Major int64 `protobuf:"varint,1,opt,name=major,proto3" json:"major,omitempty"` + Minor int64 `protobuf:"varint,2,opt,name=minor,proto3" json:"minor,omitempty"` +} + +func (x *SourceInfo_Extension_Version) Reset() { + *x = SourceInfo_Extension_Version{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_syntax_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SourceInfo_Extension_Version) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SourceInfo_Extension_Version) ProtoMessage() {} + +func (x *SourceInfo_Extension_Version) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_syntax_proto_msgTypes[14] + 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 SourceInfo_Extension_Version.ProtoReflect.Descriptor instead. +func (*SourceInfo_Extension_Version) Descriptor() ([]byte, []int) { + return file_cel_expr_syntax_proto_rawDescGZIP(), []int{3, 2, 0} +} + +func (x *SourceInfo_Extension_Version) GetMajor() int64 { + if x != nil { + return x.Major + } + return 0 +} + +func (x *SourceInfo_Extension_Version) GetMinor() int64 { + if x != nil { + return x.Minor + } + return 0 +} + +var File_cel_expr_syntax_proto protoreflect.FileDescriptor + +var file_cel_expr_syntax_proto_rawDesc = []byte{ + 0x0a, 0x15, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x73, 0x79, 0x6e, 0x74, 0x61, + 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, + 0x72, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x67, 0x0a, 0x0a, 0x50, 0x61, 0x72, 0x73, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x12, 0x22, + 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, + 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x04, 0x65, 0x78, + 0x70, 0x72, 0x12, 0x35, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, + 0x70, 0x72, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xfd, 0x0a, 0x0a, 0x04, 0x45, 0x78, + 0x70, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x33, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, + 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x35, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x65, + 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x48, 0x00, 0x52, 0x09, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x38, + 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, + 0x78, 0x70, 0x72, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x32, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, + 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x65, + 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x43, 0x61, 0x6c, 0x6c, + 0x48, 0x00, 0x52, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x12, 0x38, 0x0a, 0x09, + 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x69, + 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x3e, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x65, + 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x4d, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, + 0x68, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, + 0x70, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x68, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x48, 0x00, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x68, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x45, 0x78, 0x70, 0x72, 0x1a, 0x1b, 0x0a, 0x05, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x1a, 0x65, 0x0a, 0x06, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x28, 0x0a, 0x07, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x07, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1b, 0x0a, 0x09, + 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x74, 0x65, 0x73, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x1a, 0x6e, 0x0a, 0x04, 0x43, 0x61, 0x6c, + 0x6c, 0x12, 0x26, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, + 0x72, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, + 0x78, 0x70, 0x72, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x1a, 0x63, 0x0a, 0x0a, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, + 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, + 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x1a, 0xab, + 0x02, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, + 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, + 0x78, 0x70, 0x72, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, + 0xba, 0x01, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, + 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x61, 0x70, + 0x4b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, + 0x70, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x42, 0x0a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x1a, 0xad, 0x02, 0x0a, + 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x68, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, + 0x0a, 0x08, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x69, 0x74, 0x65, 0x72, 0x56, 0x61, 0x72, 0x12, 0x2d, 0x0a, 0x0a, 0x69, 0x74, 0x65, + 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x09, 0x69, + 0x74, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x75, + 0x5f, 0x76, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x75, + 0x56, 0x61, 0x72, 0x12, 0x2b, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x75, 0x5f, 0x69, 0x6e, 0x69, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, + 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, 0x61, 0x63, 0x63, 0x75, 0x49, 0x6e, 0x69, 0x74, + 0x12, 0x35, 0x0a, 0x0e, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, + 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x0d, 0x6c, 0x6f, 0x6f, 0x70, 0x43, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x09, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, + 0x73, 0x74, 0x65, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, + 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, 0x6c, 0x6f, 0x6f, 0x70, + 0x53, 0x74, 0x65, 0x70, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, + 0x45, 0x78, 0x70, 0x72, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x0b, 0x0a, 0x09, + 0x65, 0x78, 0x70, 0x72, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xc1, 0x03, 0x0a, 0x08, 0x43, 0x6f, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0a, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, + 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x75, 0x6c, 0x6c, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, + 0x0b, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, + 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x46, 0x0a, 0x0e, 0x64, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 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, 0x02, 0x18, 0x01, + 0x48, 0x00, 0x52, 0x0d, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x49, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 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, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0f, 0x0a, 0x0d, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xac, 0x06, + 0x0a, 0x0a, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, + 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x21, 0x0a, 0x0c, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x6c, 0x69, 0x6e, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x73, 0x12, 0x41, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, + 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x5f, 0x63, + 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x65, 0x6c, + 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x2e, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x3e, 0x0a, 0x0a, + 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3c, 0x0a, 0x0e, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4d, 0x0a, 0x0f, 0x4d, 0x61, + 0x63, 0x72, 0x6f, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xe0, 0x02, 0x0a, 0x09, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x59, 0x0a, 0x13, 0x61, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x12, + 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x40, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x35, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x22, 0x6f, 0x0a, 0x09, 0x43, + 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4d, 0x50, + 0x4f, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45, 0x4e, 0x54, + 0x5f, 0x50, 0x41, 0x52, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x4d, + 0x50, 0x4f, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x48, 0x45, 0x43, + 0x4b, 0x45, 0x52, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45, + 0x4e, 0x54, 0x5f, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x03, 0x42, 0x2e, 0x0a, 0x0c, + 0x64, 0x65, 0x76, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x42, 0x0b, 0x53, 0x79, + 0x6e, 0x74, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x0c, 0x63, 0x65, 0x6c, + 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x65, 0x78, 0x70, 0x72, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cel_expr_syntax_proto_rawDescOnce sync.Once + file_cel_expr_syntax_proto_rawDescData = file_cel_expr_syntax_proto_rawDesc +) + +func file_cel_expr_syntax_proto_rawDescGZIP() []byte { + file_cel_expr_syntax_proto_rawDescOnce.Do(func() { + file_cel_expr_syntax_proto_rawDescData = protoimpl.X.CompressGZIP(file_cel_expr_syntax_proto_rawDescData) + }) + return file_cel_expr_syntax_proto_rawDescData +} + +var file_cel_expr_syntax_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_cel_expr_syntax_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_cel_expr_syntax_proto_goTypes = []interface{}{ + (SourceInfo_Extension_Component)(0), // 0: cel.expr.SourceInfo.Extension.Component + (*ParsedExpr)(nil), // 1: cel.expr.ParsedExpr + (*Expr)(nil), // 2: cel.expr.Expr + (*Constant)(nil), // 3: cel.expr.Constant + (*SourceInfo)(nil), // 4: cel.expr.SourceInfo + (*Expr_Ident)(nil), // 5: cel.expr.Expr.Ident + (*Expr_Select)(nil), // 6: cel.expr.Expr.Select + (*Expr_Call)(nil), // 7: cel.expr.Expr.Call + (*Expr_CreateList)(nil), // 8: cel.expr.Expr.CreateList + (*Expr_CreateStruct)(nil), // 9: cel.expr.Expr.CreateStruct + (*Expr_Comprehension)(nil), // 10: cel.expr.Expr.Comprehension + (*Expr_CreateStruct_Entry)(nil), // 11: cel.expr.Expr.CreateStruct.Entry + nil, // 12: cel.expr.SourceInfo.PositionsEntry + nil, // 13: cel.expr.SourceInfo.MacroCallsEntry + (*SourceInfo_Extension)(nil), // 14: cel.expr.SourceInfo.Extension + (*SourceInfo_Extension_Version)(nil), // 15: cel.expr.SourceInfo.Extension.Version + (structpb.NullValue)(0), // 16: google.protobuf.NullValue + (*durationpb.Duration)(nil), // 17: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp +} +var file_cel_expr_syntax_proto_depIdxs = []int32{ + 2, // 0: cel.expr.ParsedExpr.expr:type_name -> cel.expr.Expr + 4, // 1: cel.expr.ParsedExpr.source_info:type_name -> cel.expr.SourceInfo + 3, // 2: cel.expr.Expr.const_expr:type_name -> cel.expr.Constant + 5, // 3: cel.expr.Expr.ident_expr:type_name -> cel.expr.Expr.Ident + 6, // 4: cel.expr.Expr.select_expr:type_name -> cel.expr.Expr.Select + 7, // 5: cel.expr.Expr.call_expr:type_name -> cel.expr.Expr.Call + 8, // 6: cel.expr.Expr.list_expr:type_name -> cel.expr.Expr.CreateList + 9, // 7: cel.expr.Expr.struct_expr:type_name -> cel.expr.Expr.CreateStruct + 10, // 8: cel.expr.Expr.comprehension_expr:type_name -> cel.expr.Expr.Comprehension + 16, // 9: cel.expr.Constant.null_value:type_name -> google.protobuf.NullValue + 17, // 10: cel.expr.Constant.duration_value:type_name -> google.protobuf.Duration + 18, // 11: cel.expr.Constant.timestamp_value:type_name -> google.protobuf.Timestamp + 12, // 12: cel.expr.SourceInfo.positions:type_name -> cel.expr.SourceInfo.PositionsEntry + 13, // 13: cel.expr.SourceInfo.macro_calls:type_name -> cel.expr.SourceInfo.MacroCallsEntry + 14, // 14: cel.expr.SourceInfo.extensions:type_name -> cel.expr.SourceInfo.Extension + 2, // 15: cel.expr.Expr.Select.operand:type_name -> cel.expr.Expr + 2, // 16: cel.expr.Expr.Call.target:type_name -> cel.expr.Expr + 2, // 17: cel.expr.Expr.Call.args:type_name -> cel.expr.Expr + 2, // 18: cel.expr.Expr.CreateList.elements:type_name -> cel.expr.Expr + 11, // 19: cel.expr.Expr.CreateStruct.entries:type_name -> cel.expr.Expr.CreateStruct.Entry + 2, // 20: cel.expr.Expr.Comprehension.iter_range:type_name -> cel.expr.Expr + 2, // 21: cel.expr.Expr.Comprehension.accu_init:type_name -> cel.expr.Expr + 2, // 22: cel.expr.Expr.Comprehension.loop_condition:type_name -> cel.expr.Expr + 2, // 23: cel.expr.Expr.Comprehension.loop_step:type_name -> cel.expr.Expr + 2, // 24: cel.expr.Expr.Comprehension.result:type_name -> cel.expr.Expr + 2, // 25: cel.expr.Expr.CreateStruct.Entry.map_key:type_name -> cel.expr.Expr + 2, // 26: cel.expr.Expr.CreateStruct.Entry.value:type_name -> cel.expr.Expr + 2, // 27: cel.expr.SourceInfo.MacroCallsEntry.value:type_name -> cel.expr.Expr + 0, // 28: cel.expr.SourceInfo.Extension.affected_components:type_name -> cel.expr.SourceInfo.Extension.Component + 15, // 29: cel.expr.SourceInfo.Extension.version:type_name -> cel.expr.SourceInfo.Extension.Version + 30, // [30:30] is the sub-list for method output_type + 30, // [30:30] is the sub-list for method input_type + 30, // [30:30] is the sub-list for extension type_name + 30, // [30:30] is the sub-list for extension extendee + 0, // [0:30] is the sub-list for field type_name +} + +func init() { file_cel_expr_syntax_proto_init() } +func file_cel_expr_syntax_proto_init() { + if File_cel_expr_syntax_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cel_expr_syntax_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ParsedExpr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_syntax_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_syntax_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Constant); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_syntax_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SourceInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_syntax_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expr_Ident); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_syntax_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expr_Select); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_syntax_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expr_Call); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_syntax_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expr_CreateList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_syntax_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expr_CreateStruct); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_syntax_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expr_Comprehension); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_syntax_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expr_CreateStruct_Entry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_syntax_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SourceInfo_Extension); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_syntax_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SourceInfo_Extension_Version); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_cel_expr_syntax_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*Expr_ConstExpr)(nil), + (*Expr_IdentExpr)(nil), + (*Expr_SelectExpr)(nil), + (*Expr_CallExpr)(nil), + (*Expr_ListExpr)(nil), + (*Expr_StructExpr)(nil), + (*Expr_ComprehensionExpr)(nil), + } + file_cel_expr_syntax_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*Constant_NullValue)(nil), + (*Constant_BoolValue)(nil), + (*Constant_Int64Value)(nil), + (*Constant_Uint64Value)(nil), + (*Constant_DoubleValue)(nil), + (*Constant_StringValue)(nil), + (*Constant_BytesValue)(nil), + (*Constant_DurationValue)(nil), + (*Constant_TimestampValue)(nil), + } + file_cel_expr_syntax_proto_msgTypes[10].OneofWrappers = []interface{}{ + (*Expr_CreateStruct_Entry_FieldKey)(nil), + (*Expr_CreateStruct_Entry_MapKey)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cel_expr_syntax_proto_rawDesc, + NumEnums: 1, + NumMessages: 15, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cel_expr_syntax_proto_goTypes, + DependencyIndexes: file_cel_expr_syntax_proto_depIdxs, + EnumInfos: file_cel_expr_syntax_proto_enumTypes, + MessageInfos: file_cel_expr_syntax_proto_msgTypes, + }.Build() + File_cel_expr_syntax_proto = out.File + file_cel_expr_syntax_proto_rawDesc = nil + file_cel_expr_syntax_proto_goTypes = nil + file_cel_expr_syntax_proto_depIdxs = nil +} diff --git a/vendor/cel.dev/expr/value.pb.go b/vendor/cel.dev/expr/value.pb.go new file mode 100644 index 000000000..e5e29228c --- /dev/null +++ b/vendor/cel.dev/expr/value.pb.go @@ -0,0 +1,653 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.21.5 +// source: cel/expr/value.proto + +package expr + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + structpb "google.golang.org/protobuf/types/known/structpb" + 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 Value struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Kind: + // + // *Value_NullValue + // *Value_BoolValue + // *Value_Int64Value + // *Value_Uint64Value + // *Value_DoubleValue + // *Value_StringValue + // *Value_BytesValue + // *Value_EnumValue + // *Value_ObjectValue + // *Value_MapValue + // *Value_ListValue + // *Value_TypeValue + Kind isValue_Kind `protobuf_oneof:"kind"` +} + +func (x *Value) Reset() { + *x = Value{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_value_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Value) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Value) ProtoMessage() {} + +func (x *Value) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_value_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 Value.ProtoReflect.Descriptor instead. +func (*Value) Descriptor() ([]byte, []int) { + return file_cel_expr_value_proto_rawDescGZIP(), []int{0} +} + +func (m *Value) GetKind() isValue_Kind { + if m != nil { + return m.Kind + } + return nil +} + +func (x *Value) GetNullValue() structpb.NullValue { + if x, ok := x.GetKind().(*Value_NullValue); ok { + return x.NullValue + } + return structpb.NullValue(0) +} + +func (x *Value) GetBoolValue() bool { + if x, ok := x.GetKind().(*Value_BoolValue); ok { + return x.BoolValue + } + return false +} + +func (x *Value) GetInt64Value() int64 { + if x, ok := x.GetKind().(*Value_Int64Value); ok { + return x.Int64Value + } + return 0 +} + +func (x *Value) GetUint64Value() uint64 { + if x, ok := x.GetKind().(*Value_Uint64Value); ok { + return x.Uint64Value + } + return 0 +} + +func (x *Value) GetDoubleValue() float64 { + if x, ok := x.GetKind().(*Value_DoubleValue); ok { + return x.DoubleValue + } + return 0 +} + +func (x *Value) GetStringValue() string { + if x, ok := x.GetKind().(*Value_StringValue); ok { + return x.StringValue + } + return "" +} + +func (x *Value) GetBytesValue() []byte { + if x, ok := x.GetKind().(*Value_BytesValue); ok { + return x.BytesValue + } + return nil +} + +func (x *Value) GetEnumValue() *EnumValue { + if x, ok := x.GetKind().(*Value_EnumValue); ok { + return x.EnumValue + } + return nil +} + +func (x *Value) GetObjectValue() *anypb.Any { + if x, ok := x.GetKind().(*Value_ObjectValue); ok { + return x.ObjectValue + } + return nil +} + +func (x *Value) GetMapValue() *MapValue { + if x, ok := x.GetKind().(*Value_MapValue); ok { + return x.MapValue + } + return nil +} + +func (x *Value) GetListValue() *ListValue { + if x, ok := x.GetKind().(*Value_ListValue); ok { + return x.ListValue + } + return nil +} + +func (x *Value) GetTypeValue() string { + if x, ok := x.GetKind().(*Value_TypeValue); ok { + return x.TypeValue + } + return "" +} + +type isValue_Kind interface { + isValue_Kind() +} + +type Value_NullValue struct { + NullValue structpb.NullValue `protobuf:"varint,1,opt,name=null_value,json=nullValue,proto3,enum=google.protobuf.NullValue,oneof"` +} + +type Value_BoolValue struct { + BoolValue bool `protobuf:"varint,2,opt,name=bool_value,json=boolValue,proto3,oneof"` +} + +type Value_Int64Value struct { + Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,proto3,oneof"` +} + +type Value_Uint64Value struct { + Uint64Value uint64 `protobuf:"varint,4,opt,name=uint64_value,json=uint64Value,proto3,oneof"` +} + +type Value_DoubleValue struct { + DoubleValue float64 `protobuf:"fixed64,5,opt,name=double_value,json=doubleValue,proto3,oneof"` +} + +type Value_StringValue struct { + StringValue string `protobuf:"bytes,6,opt,name=string_value,json=stringValue,proto3,oneof"` +} + +type Value_BytesValue struct { + BytesValue []byte `protobuf:"bytes,7,opt,name=bytes_value,json=bytesValue,proto3,oneof"` +} + +type Value_EnumValue struct { + EnumValue *EnumValue `protobuf:"bytes,9,opt,name=enum_value,json=enumValue,proto3,oneof"` +} + +type Value_ObjectValue struct { + ObjectValue *anypb.Any `protobuf:"bytes,10,opt,name=object_value,json=objectValue,proto3,oneof"` +} + +type Value_MapValue struct { + MapValue *MapValue `protobuf:"bytes,11,opt,name=map_value,json=mapValue,proto3,oneof"` +} + +type Value_ListValue struct { + ListValue *ListValue `protobuf:"bytes,12,opt,name=list_value,json=listValue,proto3,oneof"` +} + +type Value_TypeValue struct { + TypeValue string `protobuf:"bytes,15,opt,name=type_value,json=typeValue,proto3,oneof"` +} + +func (*Value_NullValue) isValue_Kind() {} + +func (*Value_BoolValue) isValue_Kind() {} + +func (*Value_Int64Value) isValue_Kind() {} + +func (*Value_Uint64Value) isValue_Kind() {} + +func (*Value_DoubleValue) isValue_Kind() {} + +func (*Value_StringValue) isValue_Kind() {} + +func (*Value_BytesValue) isValue_Kind() {} + +func (*Value_EnumValue) isValue_Kind() {} + +func (*Value_ObjectValue) isValue_Kind() {} + +func (*Value_MapValue) isValue_Kind() {} + +func (*Value_ListValue) isValue_Kind() {} + +func (*Value_TypeValue) isValue_Kind() {} + +type EnumValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + Value int32 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *EnumValue) Reset() { + *x = EnumValue{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_value_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnumValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnumValue) ProtoMessage() {} + +func (x *EnumValue) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_value_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 EnumValue.ProtoReflect.Descriptor instead. +func (*EnumValue) Descriptor() ([]byte, []int) { + return file_cel_expr_value_proto_rawDescGZIP(), []int{1} +} + +func (x *EnumValue) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *EnumValue) GetValue() int32 { + if x != nil { + return x.Value + } + return 0 +} + +type ListValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Values []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` +} + +func (x *ListValue) Reset() { + *x = ListValue{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_value_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListValue) ProtoMessage() {} + +func (x *ListValue) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_value_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 ListValue.ProtoReflect.Descriptor instead. +func (*ListValue) Descriptor() ([]byte, []int) { + return file_cel_expr_value_proto_rawDescGZIP(), []int{2} +} + +func (x *ListValue) GetValues() []*Value { + if x != nil { + return x.Values + } + return nil +} + +type MapValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Entries []*MapValue_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` +} + +func (x *MapValue) Reset() { + *x = MapValue{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_value_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MapValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MapValue) ProtoMessage() {} + +func (x *MapValue) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_value_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 MapValue.ProtoReflect.Descriptor instead. +func (*MapValue) Descriptor() ([]byte, []int) { + return file_cel_expr_value_proto_rawDescGZIP(), []int{3} +} + +func (x *MapValue) GetEntries() []*MapValue_Entry { + if x != nil { + return x.Entries + } + return nil +} + +type MapValue_Entry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key *Value `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value *Value `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *MapValue_Entry) Reset() { + *x = MapValue_Entry{} + if protoimpl.UnsafeEnabled { + mi := &file_cel_expr_value_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MapValue_Entry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MapValue_Entry) ProtoMessage() {} + +func (x *MapValue_Entry) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_value_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 MapValue_Entry.ProtoReflect.Descriptor instead. +func (*MapValue_Entry) Descriptor() ([]byte, []int) { + return file_cel_expr_value_proto_rawDescGZIP(), []int{3, 0} +} + +func (x *MapValue_Entry) GetKey() *Value { + if x != nil { + return x.Key + } + return nil +} + +func (x *MapValue_Entry) GetValue() *Value { + if x != nil { + return x.Value + } + return nil +} + +var File_cel_expr_value_proto protoreflect.FileDescriptor + +var file_cel_expr_value_proto_rawDesc = []byte{ + 0x0a, 0x14, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, + 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x04, 0x0a, 0x05, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x75, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x64, 0x6f, 0x75, + 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x48, + 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, + 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x65, 0x6c, + 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, + 0x00, 0x52, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x39, 0x0a, 0x0c, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x65, 0x6c, + 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x4d, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, + 0x52, 0x08, 0x6d, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x6c, 0x69, + 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x74, 0x79, 0x70, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x35, 0x0a, 0x09, 0x45, 0x6e, 0x75, + 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x22, 0x34, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x27, 0x0a, + 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x91, 0x01, 0x0a, 0x08, 0x4d, 0x61, 0x70, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x32, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, + 0x4d, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, + 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x51, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x21, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x2d, 0x0a, 0x0c, 0x64, 0x65, + 0x76, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x42, 0x0a, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x0c, 0x63, 0x65, 0x6c, 0x2e, 0x64, 0x65, + 0x76, 0x2f, 0x65, 0x78, 0x70, 0x72, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_cel_expr_value_proto_rawDescOnce sync.Once + file_cel_expr_value_proto_rawDescData = file_cel_expr_value_proto_rawDesc +) + +func file_cel_expr_value_proto_rawDescGZIP() []byte { + file_cel_expr_value_proto_rawDescOnce.Do(func() { + file_cel_expr_value_proto_rawDescData = protoimpl.X.CompressGZIP(file_cel_expr_value_proto_rawDescData) + }) + return file_cel_expr_value_proto_rawDescData +} + +var file_cel_expr_value_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_cel_expr_value_proto_goTypes = []interface{}{ + (*Value)(nil), // 0: cel.expr.Value + (*EnumValue)(nil), // 1: cel.expr.EnumValue + (*ListValue)(nil), // 2: cel.expr.ListValue + (*MapValue)(nil), // 3: cel.expr.MapValue + (*MapValue_Entry)(nil), // 4: cel.expr.MapValue.Entry + (structpb.NullValue)(0), // 5: google.protobuf.NullValue + (*anypb.Any)(nil), // 6: google.protobuf.Any +} +var file_cel_expr_value_proto_depIdxs = []int32{ + 5, // 0: cel.expr.Value.null_value:type_name -> google.protobuf.NullValue + 1, // 1: cel.expr.Value.enum_value:type_name -> cel.expr.EnumValue + 6, // 2: cel.expr.Value.object_value:type_name -> google.protobuf.Any + 3, // 3: cel.expr.Value.map_value:type_name -> cel.expr.MapValue + 2, // 4: cel.expr.Value.list_value:type_name -> cel.expr.ListValue + 0, // 5: cel.expr.ListValue.values:type_name -> cel.expr.Value + 4, // 6: cel.expr.MapValue.entries:type_name -> cel.expr.MapValue.Entry + 0, // 7: cel.expr.MapValue.Entry.key:type_name -> cel.expr.Value + 0, // 8: cel.expr.MapValue.Entry.value:type_name -> cel.expr.Value + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { file_cel_expr_value_proto_init() } +func file_cel_expr_value_proto_init() { + if File_cel_expr_value_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cel_expr_value_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Value); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_value_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnumValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_value_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_value_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MapValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cel_expr_value_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MapValue_Entry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_cel_expr_value_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*Value_NullValue)(nil), + (*Value_BoolValue)(nil), + (*Value_Int64Value)(nil), + (*Value_Uint64Value)(nil), + (*Value_DoubleValue)(nil), + (*Value_StringValue)(nil), + (*Value_BytesValue)(nil), + (*Value_EnumValue)(nil), + (*Value_ObjectValue)(nil), + (*Value_MapValue)(nil), + (*Value_ListValue)(nil), + (*Value_TypeValue)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cel_expr_value_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cel_expr_value_proto_goTypes, + DependencyIndexes: file_cel_expr_value_proto_depIdxs, + MessageInfos: file_cel_expr_value_proto_msgTypes, + }.Build() + File_cel_expr_value_proto = out.File + file_cel_expr_value_proto_rawDesc = nil + file_cel_expr_value_proto_goTypes = nil + file_cel_expr_value_proto_depIdxs = nil +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/.gitignore b/vendor/github.com/antlr4-go/antlr/v4/.gitignore new file mode 100644 index 000000000..38ea34ff5 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/.gitignore @@ -0,0 +1,18 @@ +### Go template + +# Binaries for programs and plugins +*.exe +*.exe~ +*.dll +*.so +*.dylib + +# Test binary, built with `go test -c` +*.test + + +# Go workspace file +go.work + +# No Goland stuff in this repo +.idea diff --git a/vendor/github.com/antlr4-go/antlr/v4/LICENSE b/vendor/github.com/antlr4-go/antlr/v4/LICENSE new file mode 100644 index 000000000..a22292eb5 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/LICENSE @@ -0,0 +1,28 @@ +Copyright (c) 2012-2023 The ANTLR Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + +3. Neither name of copyright holders nor the names of its contributors +may be used to endorse or promote products derived from this software +without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/antlr4-go/antlr/v4/README.md b/vendor/github.com/antlr4-go/antlr/v4/README.md new file mode 100644 index 000000000..03e5b83eb --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/README.md @@ -0,0 +1,54 @@ +[![Go Report Card](https://goreportcard.com/badge/github.com/antlr4-go/antlr?style=flat-square)](https://goreportcard.com/report/github.com/antlr4-go/antlr) +[![PkgGoDev](https://pkg.go.dev/badge/github.com/github.com/antlr4-go/antlr)](https://pkg.go.dev/github.com/antlr4-go/antlr) +[![Release](https://img.shields.io/github/v/release/antlr4-go/antlr?sort=semver&style=flat-square)](https://github.com/antlr4-go/antlr/releases/latest) +[![Release](https://img.shields.io/github/go-mod/go-version/antlr4-go/antlr?style=flat-square)](https://github.com/antlr4-go/antlr/releases/latest) +[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg?style=flat-square)](https://github.com/antlr4-go/antlr/commit-activity) +[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) +[![GitHub stars](https://img.shields.io/github/stars/antlr4-go/antlr?style=flat-square&label=Star&maxAge=2592000)](https://GitHub.com/Naereen/StrapDown.js/stargazers/) +# ANTLR4 Go Runtime Module Repo + +IMPORTANT: Please submit PRs via a clone of the https://github.com/antlr/antlr4 repo, and not here. + + - Do not submit PRs or any change requests to this repo + - This repo is read only and is updated by the ANTLR team to create a new release of the Go Runtime for ANTLR + - This repo contains the Go runtime that your generated projects should import + +## Introduction + +This repo contains the official modules for the Go Runtime for ANTLR. It is a copy of the runtime maintained +at: https://github.com/antlr/antlr4/tree/master/runtime/Go/antlr and is automatically updated by the ANTLR team to create +the official Go runtime release only. No development work is carried out in this repo and PRs are not accepted here. + +The dev branch of this repo is kept in sync with the dev branch of the main ANTLR repo and is updated periodically. + +### Why? + +The `go get` command is unable to retrieve the Go runtime when it is embedded so +deeply in the main repo. A `go get` against the `antlr/antlr4` repo, while retrieving the correct source code for the runtime, +does not correctly resolve tags and will create a reference in your `go.mod` file that is unclear, will not upgrade smoothly and +causes confusion. + +For instance, the current Go runtime release, which is tagged with v4.13.0 in `antlr/antlr4` is retrieved by go get as: + +```sh +require ( + github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230219212500-1f9a474cc2dc +) +``` + +Where you would expect to see: + +```sh +require ( + github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.13.0 +) +``` + +The decision was taken to create a separate org in a separate repo to hold the official Go runtime for ANTLR and +from whence users can expect `go get` to behave as expected. + + +# Documentation +Please read the official documentation at: https://github.com/antlr/antlr4/blob/master/doc/index.md for tips on +migrating existing projects to use the new module location and for information on how to use the Go runtime in +general. diff --git a/vendor/github.com/antlr4-go/antlr/v4/antlrdoc.go b/vendor/github.com/antlr4-go/antlr/v4/antlrdoc.go new file mode 100644 index 000000000..3bb4fd7c4 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/antlrdoc.go @@ -0,0 +1,102 @@ +/* +Package antlr implements the Go version of the ANTLR 4 runtime. + +# The ANTLR Tool + +ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, +or translating structured text or binary files. It's widely used to build languages, tools, and frameworks. +From a grammar, ANTLR generates a parser that can build parse trees and also generates a listener interface +(or visitor) that makes it easy to respond to the recognition of phrases of interest. + +# Go Runtime + +At version 4.11.x and prior, the Go runtime was not properly versioned for go modules. After this point, the runtime +source code to be imported was held in the `runtime/Go/antlr/v4` directory, and the go.mod file was updated to reflect the version of +ANTLR4 that it is compatible with (I.E. uses the /v4 path). + +However, this was found to be problematic, as it meant that with the runtime embedded so far underneath the root +of the repo, the `go get` and related commands could not properly resolve the location of the go runtime source code. +This meant that the reference to the runtime in your `go.mod` file would refer to the correct source code, but would not +list the release tag such as @4.12.0 - this was confusing, to say the least. + +As of 4.12.1, the runtime is now available as a go module in its own repo, and can be imported as `github.com/antlr4-go/antlr` +(the go get command should also be used with this path). See the main documentation for the ANTLR4 project for more information, +which is available at [ANTLR docs]. The documentation for using the Go runtime is available at [Go runtime docs]. + +This means that if you are using the source code without modules, you should also use the source code in the [new repo]. +Though we highly recommend that you use go modules, as they are now idiomatic for Go. + +I am aware that this change will prove Hyrum's Law, but am prepared to live with it for the common good. + +Go runtime author: [Jim Idle] jimi@idle.ws + +# Code Generation + +ANTLR supports the generation of code in a number of [target languages], and the generated code is supported by a +runtime library, written specifically to support the generated code in the target language. This library is the +runtime for the Go target. + +To generate code for the go target, it is generally recommended to place the source grammar files in a package of +their own, and use the `.sh` script method of generating code, using the go generate directive. In that same directory +it is usual, though not required, to place the antlr tool that should be used to generate the code. That does mean +that the antlr tool JAR file will be checked in to your source code control though, so you are, of course, free to use any other +way of specifying the version of the ANTLR tool to use, such as aliasing in `.zshrc` or equivalent, or a profile in +your IDE, or configuration in your CI system. Checking in the jar does mean that it is easy to reproduce the build as +it was at any point in its history. + +Here is a general/recommended template for an ANTLR based recognizer in Go: + + . + ├── parser + │ ├── mygrammar.g4 + │ ├── antlr-4.12.1-complete.jar + │ ├── generate.go + │ └── generate.sh + ├── parsing - generated code goes here + │ └── error_listeners.go + ├── go.mod + ├── go.sum + ├── main.go + └── main_test.go + +Make sure that the package statement in your grammar file(s) reflects the go package the generated code will exist in. + +The generate.go file then looks like this: + + package parser + + //go:generate ./generate.sh + +And the generate.sh file will look similar to this: + + #!/bin/sh + + alias antlr4='java -Xmx500M -cp "./antlr4-4.12.1-complete.jar:$CLASSPATH" org.antlr.v4.Tool' + antlr4 -Dlanguage=Go -no-visitor -package parsing *.g4 + +depending on whether you want visitors or listeners or any other ANTLR options. Not that another option here +is to generate the code into a + +From the command line at the root of your source package (location of go.mo)d) you can then simply issue the command: + + go generate ./... + +Which will generate the code for the parser, and place it in the parsing package. You can then use the generated code +by importing the parsing package. + +There are no hard and fast rules on this. It is just a recommendation. You can generate the code in any way and to anywhere you like. + +# Copyright Notice + +Copyright (c) 2012-2023 The ANTLR Project. All rights reserved. + +Use of this file is governed by the BSD 3-clause license, which can be found in the [LICENSE.txt] file in the project root. + +[target languages]: https://github.com/antlr/antlr4/tree/master/runtime +[LICENSE.txt]: https://github.com/antlr/antlr4/blob/master/LICENSE.txt +[ANTLR docs]: https://github.com/antlr/antlr4/blob/master/doc/index.md +[new repo]: https://github.com/antlr4-go/antlr +[Jim Idle]: https://github.com/jimidle +[Go runtime docs]: https://github.com/antlr/antlr4/blob/master/doc/go-target.md +*/ +package antlr diff --git a/vendor/github.com/antlr4-go/antlr/v4/atn.go b/vendor/github.com/antlr4-go/antlr/v4/atn.go new file mode 100644 index 000000000..cdeefed24 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/atn.go @@ -0,0 +1,179 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import "sync" + +// ATNInvalidAltNumber is used to represent an ALT number that has yet to be calculated or +// which is invalid for a particular struct such as [*antlr.BaseRuleContext] +var ATNInvalidAltNumber int + +// ATN represents an “[Augmented Transition Network]”, though general in ANTLR the term +// “Augmented Recursive Transition Network” though there are some descriptions of “[Recursive Transition Network]” +// in existence. +// +// ATNs represent the main networks in the system and are serialized by the code generator and support [ALL(*)]. +// +// [Augmented Transition Network]: https://en.wikipedia.org/wiki/Augmented_transition_network +// [ALL(*)]: https://www.antlr.org/papers/allstar-techreport.pdf +// [Recursive Transition Network]: https://en.wikipedia.org/wiki/Recursive_transition_network +type ATN struct { + + // DecisionToState is the decision points for all rules, sub-rules, optional + // blocks, ()+, ()*, etc. Each sub-rule/rule is a decision point, and we must track them, so we + // can go back later and build DFA predictors for them. This includes + // all the rules, sub-rules, optional blocks, ()+, ()* etc... + DecisionToState []DecisionState + + // grammarType is the ATN type and is used for deserializing ATNs from strings. + grammarType int + + // lexerActions is referenced by action transitions in the ATN for lexer ATNs. + lexerActions []LexerAction + + // maxTokenType is the maximum value for any symbol recognized by a transition in the ATN. + maxTokenType int + + modeNameToStartState map[string]*TokensStartState + + modeToStartState []*TokensStartState + + // ruleToStartState maps from rule index to starting state number. + ruleToStartState []*RuleStartState + + // ruleToStopState maps from rule index to stop state number. + ruleToStopState []*RuleStopState + + // ruleToTokenType maps the rule index to the resulting token type for lexer + // ATNs. For parser ATNs, it maps the rule index to the generated bypass token + // type if ATNDeserializationOptions.isGenerateRuleBypassTransitions was + // specified, and otherwise is nil. + ruleToTokenType []int + + // ATNStates is a list of all states in the ATN, ordered by state number. + // + states []ATNState + + mu sync.Mutex + stateMu sync.RWMutex + edgeMu sync.RWMutex +} + +// NewATN returns a new ATN struct representing the given grammarType and is used +// for runtime deserialization of ATNs from the code generated by the ANTLR tool +func NewATN(grammarType int, maxTokenType int) *ATN { + return &ATN{ + grammarType: grammarType, + maxTokenType: maxTokenType, + modeNameToStartState: make(map[string]*TokensStartState), + } +} + +// NextTokensInContext computes and returns the set of valid tokens that can occur starting +// in state s. If ctx is nil, the set of tokens will not include what can follow +// the rule surrounding s. In other words, the set will be restricted to tokens +// reachable staying within the rule of s. +func (a *ATN) NextTokensInContext(s ATNState, ctx RuleContext) *IntervalSet { + return NewLL1Analyzer(a).Look(s, nil, ctx) +} + +// NextTokensNoContext computes and returns the set of valid tokens that can occur starting +// in state s and staying in same rule. [antlr.Token.EPSILON] is in set if we reach end of +// rule. +func (a *ATN) NextTokensNoContext(s ATNState) *IntervalSet { + a.mu.Lock() + defer a.mu.Unlock() + iset := s.GetNextTokenWithinRule() + if iset == nil { + iset = a.NextTokensInContext(s, nil) + iset.readOnly = true + s.SetNextTokenWithinRule(iset) + } + return iset +} + +// NextTokens computes and returns the set of valid tokens starting in state s, by +// calling either [NextTokensNoContext] (ctx == nil) or [NextTokensInContext] (ctx != nil). +func (a *ATN) NextTokens(s ATNState, ctx RuleContext) *IntervalSet { + if ctx == nil { + return a.NextTokensNoContext(s) + } + + return a.NextTokensInContext(s, ctx) +} + +func (a *ATN) addState(state ATNState) { + if state != nil { + state.SetATN(a) + state.SetStateNumber(len(a.states)) + } + + a.states = append(a.states, state) +} + +func (a *ATN) removeState(state ATNState) { + a.states[state.GetStateNumber()] = nil // Just free the memory; don't shift states in the slice +} + +func (a *ATN) defineDecisionState(s DecisionState) int { + a.DecisionToState = append(a.DecisionToState, s) + s.setDecision(len(a.DecisionToState) - 1) + + return s.getDecision() +} + +func (a *ATN) getDecisionState(decision int) DecisionState { + if len(a.DecisionToState) == 0 { + return nil + } + + return a.DecisionToState[decision] +} + +// getExpectedTokens computes the set of input symbols which could follow ATN +// state number stateNumber in the specified full parse context ctx and returns +// the set of potentially valid input symbols which could follow the specified +// state in the specified context. This method considers the complete parser +// context, but does not evaluate semantic predicates (i.e. all predicates +// encountered during the calculation are assumed true). If a path in the ATN +// exists from the starting state to the RuleStopState of the outermost context +// without Matching any symbols, Token.EOF is added to the returned set. +// +// A nil ctx defaults to ParserRuleContext.EMPTY. +// +// It panics if the ATN does not contain state stateNumber. +func (a *ATN) getExpectedTokens(stateNumber int, ctx RuleContext) *IntervalSet { + if stateNumber < 0 || stateNumber >= len(a.states) { + panic("Invalid state number.") + } + + s := a.states[stateNumber] + following := a.NextTokens(s, nil) + + if !following.contains(TokenEpsilon) { + return following + } + + expected := NewIntervalSet() + + expected.addSet(following) + expected.removeOne(TokenEpsilon) + + for ctx != nil && ctx.GetInvokingState() >= 0 && following.contains(TokenEpsilon) { + invokingState := a.states[ctx.GetInvokingState()] + rt := invokingState.GetTransitions()[0] + + following = a.NextTokens(rt.(*RuleTransition).followState, nil) + expected.addSet(following) + expected.removeOne(TokenEpsilon) + ctx = ctx.GetParent().(RuleContext) + } + + if following.contains(TokenEpsilon) { + expected.addOne(TokenEOF) + } + + return expected +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/atn_config.go b/vendor/github.com/antlr4-go/antlr/v4/atn_config.go new file mode 100644 index 000000000..a83f25d34 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/atn_config.go @@ -0,0 +1,335 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "fmt" +) + +const ( + lexerConfig = iota // Indicates that this ATNConfig is for a lexer + parserConfig // Indicates that this ATNConfig is for a parser +) + +// ATNConfig is a tuple: (ATN state, predicted alt, syntactic, semantic +// context). The syntactic context is a graph-structured stack node whose +// path(s) to the root is the rule invocation(s) chain used to arrive in the +// state. The semantic context is the tree of semantic predicates encountered +// before reaching an ATN state. +type ATNConfig struct { + precedenceFilterSuppressed bool + state ATNState + alt int + context *PredictionContext + semanticContext SemanticContext + reachesIntoOuterContext int + cType int // lexerConfig or parserConfig + lexerActionExecutor *LexerActionExecutor + passedThroughNonGreedyDecision bool +} + +// NewATNConfig6 creates a new ATNConfig instance given a state, alt and context only +func NewATNConfig6(state ATNState, alt int, context *PredictionContext) *ATNConfig { + return NewATNConfig5(state, alt, context, SemanticContextNone) +} + +// NewATNConfig5 creates a new ATNConfig instance given a state, alt, context and semantic context +func NewATNConfig5(state ATNState, alt int, context *PredictionContext, semanticContext SemanticContext) *ATNConfig { + if semanticContext == nil { + panic("semanticContext cannot be nil") // TODO: Necessary? + } + + pac := &ATNConfig{} + pac.state = state + pac.alt = alt + pac.context = context + pac.semanticContext = semanticContext + pac.cType = parserConfig + return pac +} + +// NewATNConfig4 creates a new ATNConfig instance given an existing config, and a state only +func NewATNConfig4(c *ATNConfig, state ATNState) *ATNConfig { + return NewATNConfig(c, state, c.GetContext(), c.GetSemanticContext()) +} + +// NewATNConfig3 creates a new ATNConfig instance given an existing config, a state and a semantic context +func NewATNConfig3(c *ATNConfig, state ATNState, semanticContext SemanticContext) *ATNConfig { + return NewATNConfig(c, state, c.GetContext(), semanticContext) +} + +// NewATNConfig2 creates a new ATNConfig instance given an existing config, and a context only +func NewATNConfig2(c *ATNConfig, semanticContext SemanticContext) *ATNConfig { + return NewATNConfig(c, c.GetState(), c.GetContext(), semanticContext) +} + +// NewATNConfig1 creates a new ATNConfig instance given an existing config, a state, and a context only +func NewATNConfig1(c *ATNConfig, state ATNState, context *PredictionContext) *ATNConfig { + return NewATNConfig(c, state, context, c.GetSemanticContext()) +} + +// NewATNConfig creates a new ATNConfig instance given an existing config, a state, a context and a semantic context, other 'constructors' +// are just wrappers around this one. +func NewATNConfig(c *ATNConfig, state ATNState, context *PredictionContext, semanticContext SemanticContext) *ATNConfig { + if semanticContext == nil { + panic("semanticContext cannot be nil") // TODO: Remove this - probably put here for some bug that is now fixed + } + b := &ATNConfig{} + b.InitATNConfig(c, state, c.GetAlt(), context, semanticContext) + b.cType = parserConfig + return b +} + +func (a *ATNConfig) InitATNConfig(c *ATNConfig, state ATNState, alt int, context *PredictionContext, semanticContext SemanticContext) { + + a.state = state + a.alt = alt + a.context = context + a.semanticContext = semanticContext + a.reachesIntoOuterContext = c.GetReachesIntoOuterContext() + a.precedenceFilterSuppressed = c.getPrecedenceFilterSuppressed() +} + +func (a *ATNConfig) getPrecedenceFilterSuppressed() bool { + return a.precedenceFilterSuppressed +} + +func (a *ATNConfig) setPrecedenceFilterSuppressed(v bool) { + a.precedenceFilterSuppressed = v +} + +// GetState returns the ATN state associated with this configuration +func (a *ATNConfig) GetState() ATNState { + return a.state +} + +// GetAlt returns the alternative associated with this configuration +func (a *ATNConfig) GetAlt() int { + return a.alt +} + +// SetContext sets the rule invocation stack associated with this configuration +func (a *ATNConfig) SetContext(v *PredictionContext) { + a.context = v +} + +// GetContext returns the rule invocation stack associated with this configuration +func (a *ATNConfig) GetContext() *PredictionContext { + return a.context +} + +// GetSemanticContext returns the semantic context associated with this configuration +func (a *ATNConfig) GetSemanticContext() SemanticContext { + return a.semanticContext +} + +// GetReachesIntoOuterContext returns the count of references to an outer context from this configuration +func (a *ATNConfig) GetReachesIntoOuterContext() int { + return a.reachesIntoOuterContext +} + +// SetReachesIntoOuterContext sets the count of references to an outer context from this configuration +func (a *ATNConfig) SetReachesIntoOuterContext(v int) { + a.reachesIntoOuterContext = v +} + +// Equals is the default comparison function for an ATNConfig when no specialist implementation is required +// for a collection. +// +// An ATN configuration is equal to another if both have the same state, they +// predict the same alternative, and syntactic/semantic contexts are the same. +func (a *ATNConfig) Equals(o Collectable[*ATNConfig]) bool { + switch a.cType { + case lexerConfig: + return a.LEquals(o) + case parserConfig: + return a.PEquals(o) + default: + panic("Invalid ATNConfig type") + } +} + +// PEquals is the default comparison function for a Parser ATNConfig when no specialist implementation is required +// for a collection. +// +// An ATN configuration is equal to another if both have the same state, they +// predict the same alternative, and syntactic/semantic contexts are the same. +func (a *ATNConfig) PEquals(o Collectable[*ATNConfig]) bool { + var other, ok = o.(*ATNConfig) + + if !ok { + return false + } + if a == other { + return true + } else if other == nil { + return false + } + + var equal bool + + if a.context == nil { + equal = other.context == nil + } else { + equal = a.context.Equals(other.context) + } + + var ( + nums = a.state.GetStateNumber() == other.state.GetStateNumber() + alts = a.alt == other.alt + cons = a.semanticContext.Equals(other.semanticContext) + sups = a.precedenceFilterSuppressed == other.precedenceFilterSuppressed + ) + + return nums && alts && cons && sups && equal +} + +// Hash is the default hash function for a parser ATNConfig, when no specialist hash function +// is required for a collection +func (a *ATNConfig) Hash() int { + switch a.cType { + case lexerConfig: + return a.LHash() + case parserConfig: + return a.PHash() + default: + panic("Invalid ATNConfig type") + } +} + +// PHash is the default hash function for a parser ATNConfig, when no specialist hash function +// is required for a collection +func (a *ATNConfig) PHash() int { + var c int + if a.context != nil { + c = a.context.Hash() + } + + h := murmurInit(7) + h = murmurUpdate(h, a.state.GetStateNumber()) + h = murmurUpdate(h, a.alt) + h = murmurUpdate(h, c) + h = murmurUpdate(h, a.semanticContext.Hash()) + return murmurFinish(h, 4) +} + +// String returns a string representation of the ATNConfig, usually used for debugging purposes +func (a *ATNConfig) String() string { + var s1, s2, s3 string + + if a.context != nil { + s1 = ",[" + fmt.Sprint(a.context) + "]" + } + + if a.semanticContext != SemanticContextNone { + s2 = "," + fmt.Sprint(a.semanticContext) + } + + if a.reachesIntoOuterContext > 0 { + s3 = ",up=" + fmt.Sprint(a.reachesIntoOuterContext) + } + + return fmt.Sprintf("(%v,%v%v%v%v)", a.state, a.alt, s1, s2, s3) +} + +func NewLexerATNConfig6(state ATNState, alt int, context *PredictionContext) *ATNConfig { + lac := &ATNConfig{} + lac.state = state + lac.alt = alt + lac.context = context + lac.semanticContext = SemanticContextNone + lac.cType = lexerConfig + return lac +} + +func NewLexerATNConfig4(c *ATNConfig, state ATNState) *ATNConfig { + lac := &ATNConfig{} + lac.lexerActionExecutor = c.lexerActionExecutor + lac.passedThroughNonGreedyDecision = checkNonGreedyDecision(c, state) + lac.InitATNConfig(c, state, c.GetAlt(), c.GetContext(), c.GetSemanticContext()) + lac.cType = lexerConfig + return lac +} + +func NewLexerATNConfig3(c *ATNConfig, state ATNState, lexerActionExecutor *LexerActionExecutor) *ATNConfig { + lac := &ATNConfig{} + lac.lexerActionExecutor = lexerActionExecutor + lac.passedThroughNonGreedyDecision = checkNonGreedyDecision(c, state) + lac.InitATNConfig(c, state, c.GetAlt(), c.GetContext(), c.GetSemanticContext()) + lac.cType = lexerConfig + return lac +} + +func NewLexerATNConfig2(c *ATNConfig, state ATNState, context *PredictionContext) *ATNConfig { + lac := &ATNConfig{} + lac.lexerActionExecutor = c.lexerActionExecutor + lac.passedThroughNonGreedyDecision = checkNonGreedyDecision(c, state) + lac.InitATNConfig(c, state, c.GetAlt(), context, c.GetSemanticContext()) + lac.cType = lexerConfig + return lac +} + +//goland:noinspection GoUnusedExportedFunction +func NewLexerATNConfig1(state ATNState, alt int, context *PredictionContext) *ATNConfig { + lac := &ATNConfig{} + lac.state = state + lac.alt = alt + lac.context = context + lac.semanticContext = SemanticContextNone + lac.cType = lexerConfig + return lac +} + +// LHash is the default hash function for Lexer ATNConfig objects, it can be used directly or via +// the default comparator [ObjEqComparator]. +func (a *ATNConfig) LHash() int { + var f int + if a.passedThroughNonGreedyDecision { + f = 1 + } else { + f = 0 + } + h := murmurInit(7) + h = murmurUpdate(h, a.state.GetStateNumber()) + h = murmurUpdate(h, a.alt) + h = murmurUpdate(h, a.context.Hash()) + h = murmurUpdate(h, a.semanticContext.Hash()) + h = murmurUpdate(h, f) + h = murmurUpdate(h, a.lexerActionExecutor.Hash()) + h = murmurFinish(h, 6) + return h +} + +// LEquals is the default comparison function for Lexer ATNConfig objects, it can be used directly or via +// the default comparator [ObjEqComparator]. +func (a *ATNConfig) LEquals(other Collectable[*ATNConfig]) bool { + var otherT, ok = other.(*ATNConfig) + if !ok { + return false + } else if a == otherT { + return true + } else if a.passedThroughNonGreedyDecision != otherT.passedThroughNonGreedyDecision { + return false + } + + switch { + case a.lexerActionExecutor == nil && otherT.lexerActionExecutor == nil: + return true + case a.lexerActionExecutor != nil && otherT.lexerActionExecutor != nil: + if !a.lexerActionExecutor.Equals(otherT.lexerActionExecutor) { + return false + } + default: + return false // One but not both, are nil + } + + return a.PEquals(otherT) +} + +func checkNonGreedyDecision(source *ATNConfig, target ATNState) bool { + var ds, ok = target.(DecisionState) + + return source.passedThroughNonGreedyDecision || (ok && ds.getNonGreedy()) +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/atn_config_set.go b/vendor/github.com/antlr4-go/antlr/v4/atn_config_set.go new file mode 100644 index 000000000..52dbaf806 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/atn_config_set.go @@ -0,0 +1,301 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "fmt" +) + +// ATNConfigSet is a specialized set of ATNConfig that tracks information +// about its elements and can combine similar configurations using a +// graph-structured stack. +type ATNConfigSet struct { + cachedHash int + + // configLookup is used to determine whether two ATNConfigSets are equal. We + // need all configurations with the same (s, i, _, semctx) to be equal. A key + // effectively doubles the number of objects associated with ATNConfigs. All + // keys are hashed by (s, i, _, pi), not including the context. Wiped out when + // read-only because a set becomes a DFA state. + configLookup *JStore[*ATNConfig, Comparator[*ATNConfig]] + + // configs is the added elements that did not match an existing key in configLookup + configs []*ATNConfig + + // TODO: These fields make me pretty uncomfortable, but it is nice to pack up + // info together because it saves re-computation. Can we track conflicts as they + // are added to save scanning configs later? + conflictingAlts *BitSet + + // dipsIntoOuterContext is used by parsers and lexers. In a lexer, it indicates + // we hit a pred while computing a closure operation. Do not make a DFA state + // from the ATNConfigSet in this case. TODO: How is this used by parsers? + dipsIntoOuterContext bool + + // fullCtx is whether it is part of a full context LL prediction. Used to + // determine how to merge $. It is a wildcard with SLL, but not for an LL + // context merge. + fullCtx bool + + // Used in parser and lexer. In lexer, it indicates we hit a pred + // while computing a closure operation. Don't make a DFA state from this set. + hasSemanticContext bool + + // readOnly is whether it is read-only. Do not + // allow any code to manipulate the set if true because DFA states will point at + // sets and those must not change. It not, protect other fields; conflictingAlts + // in particular, which is assigned after readOnly. + readOnly bool + + // TODO: These fields make me pretty uncomfortable, but it is nice to pack up + // info together because it saves re-computation. Can we track conflicts as they + // are added to save scanning configs later? + uniqueAlt int +} + +// Alts returns the combined set of alts for all the configurations in this set. +func (b *ATNConfigSet) Alts() *BitSet { + alts := NewBitSet() + for _, it := range b.configs { + alts.add(it.GetAlt()) + } + return alts +} + +// NewATNConfigSet creates a new ATNConfigSet instance. +func NewATNConfigSet(fullCtx bool) *ATNConfigSet { + return &ATNConfigSet{ + cachedHash: -1, + configLookup: NewJStore[*ATNConfig, Comparator[*ATNConfig]](aConfCompInst, ATNConfigLookupCollection, "NewATNConfigSet()"), + fullCtx: fullCtx, + } +} + +// Add merges contexts with existing configs for (s, i, pi, _), +// where 's' is the ATNConfig.state, 'i' is the ATNConfig.alt, and +// 'pi' is the [ATNConfig].semanticContext. +// +// We use (s,i,pi) as the key. +// Updates dipsIntoOuterContext and hasSemanticContext when necessary. +func (b *ATNConfigSet) Add(config *ATNConfig, mergeCache *JPCMap) bool { + if b.readOnly { + panic("set is read-only") + } + + if config.GetSemanticContext() != SemanticContextNone { + b.hasSemanticContext = true + } + + if config.GetReachesIntoOuterContext() > 0 { + b.dipsIntoOuterContext = true + } + + existing, present := b.configLookup.Put(config) + + // The config was not already in the set + // + if !present { + b.cachedHash = -1 + b.configs = append(b.configs, config) // Track order here + return true + } + + // Merge a previous (s, i, pi, _) with it and save the result + rootIsWildcard := !b.fullCtx + merged := merge(existing.GetContext(), config.GetContext(), rootIsWildcard, mergeCache) + + // No need to check for existing.context because config.context is in the cache, + // since the only way to create new graphs is the "call rule" and here. We cache + // at both places. + existing.SetReachesIntoOuterContext(intMax(existing.GetReachesIntoOuterContext(), config.GetReachesIntoOuterContext())) + + // Preserve the precedence filter suppression during the merge + if config.getPrecedenceFilterSuppressed() { + existing.setPrecedenceFilterSuppressed(true) + } + + // Replace the context because there is no need to do alt mapping + existing.SetContext(merged) + + return true +} + +// GetStates returns the set of states represented by all configurations in this config set +func (b *ATNConfigSet) GetStates() *JStore[ATNState, Comparator[ATNState]] { + + // states uses the standard comparator and Hash() provided by the ATNState instance + // + states := NewJStore[ATNState, Comparator[ATNState]](aStateEqInst, ATNStateCollection, "ATNConfigSet.GetStates()") + + for i := 0; i < len(b.configs); i++ { + states.Put(b.configs[i].GetState()) + } + + return states +} + +func (b *ATNConfigSet) GetPredicates() []SemanticContext { + predicates := make([]SemanticContext, 0) + + for i := 0; i < len(b.configs); i++ { + c := b.configs[i].GetSemanticContext() + + if c != SemanticContextNone { + predicates = append(predicates, c) + } + } + + return predicates +} + +func (b *ATNConfigSet) OptimizeConfigs(interpreter *BaseATNSimulator) { + if b.readOnly { + panic("set is read-only") + } + + // Empty indicate no optimization is possible + if b.configLookup == nil || b.configLookup.Len() == 0 { + return + } + + for i := 0; i < len(b.configs); i++ { + config := b.configs[i] + config.SetContext(interpreter.getCachedContext(config.GetContext())) + } +} + +func (b *ATNConfigSet) AddAll(coll []*ATNConfig) bool { + for i := 0; i < len(coll); i++ { + b.Add(coll[i], nil) + } + + return false +} + +// Compare The configs are only equal if they are in the same order and their Equals function returns true. +// Java uses ArrayList.equals(), which requires the same order. +func (b *ATNConfigSet) Compare(bs *ATNConfigSet) bool { + if len(b.configs) != len(bs.configs) { + return false + } + for i := 0; i < len(b.configs); i++ { + if !b.configs[i].Equals(bs.configs[i]) { + return false + } + } + + return true +} + +func (b *ATNConfigSet) Equals(other Collectable[ATNConfig]) bool { + if b == other { + return true + } else if _, ok := other.(*ATNConfigSet); !ok { + return false + } + + other2 := other.(*ATNConfigSet) + var eca bool + switch { + case b.conflictingAlts == nil && other2.conflictingAlts == nil: + eca = true + case b.conflictingAlts != nil && other2.conflictingAlts != nil: + eca = b.conflictingAlts.equals(other2.conflictingAlts) + } + return b.configs != nil && + b.fullCtx == other2.fullCtx && + b.uniqueAlt == other2.uniqueAlt && + eca && + b.hasSemanticContext == other2.hasSemanticContext && + b.dipsIntoOuterContext == other2.dipsIntoOuterContext && + b.Compare(other2) +} + +func (b *ATNConfigSet) Hash() int { + if b.readOnly { + if b.cachedHash == -1 { + b.cachedHash = b.hashCodeConfigs() + } + + return b.cachedHash + } + + return b.hashCodeConfigs() +} + +func (b *ATNConfigSet) hashCodeConfigs() int { + h := 1 + for _, config := range b.configs { + h = 31*h + config.Hash() + } + return h +} + +func (b *ATNConfigSet) Contains(item *ATNConfig) bool { + if b.readOnly { + panic("not implemented for read-only sets") + } + if b.configLookup == nil { + return false + } + return b.configLookup.Contains(item) +} + +func (b *ATNConfigSet) ContainsFast(item *ATNConfig) bool { + return b.Contains(item) +} + +func (b *ATNConfigSet) Clear() { + if b.readOnly { + panic("set is read-only") + } + b.configs = make([]*ATNConfig, 0) + b.cachedHash = -1 + b.configLookup = NewJStore[*ATNConfig, Comparator[*ATNConfig]](aConfCompInst, ATNConfigLookupCollection, "NewATNConfigSet()") +} + +func (b *ATNConfigSet) String() string { + + s := "[" + + for i, c := range b.configs { + s += c.String() + + if i != len(b.configs)-1 { + s += ", " + } + } + + s += "]" + + if b.hasSemanticContext { + s += ",hasSemanticContext=" + fmt.Sprint(b.hasSemanticContext) + } + + if b.uniqueAlt != ATNInvalidAltNumber { + s += ",uniqueAlt=" + fmt.Sprint(b.uniqueAlt) + } + + if b.conflictingAlts != nil { + s += ",conflictingAlts=" + b.conflictingAlts.String() + } + + if b.dipsIntoOuterContext { + s += ",dipsIntoOuterContext" + } + + return s +} + +// NewOrderedATNConfigSet creates a config set with a slightly different Hash/Equal pair +// for use in lexers. +func NewOrderedATNConfigSet() *ATNConfigSet { + return &ATNConfigSet{ + cachedHash: -1, + // This set uses the standard Hash() and Equals() from ATNConfig + configLookup: NewJStore[*ATNConfig, Comparator[*ATNConfig]](aConfEqInst, ATNConfigCollection, "ATNConfigSet.NewOrderedATNConfigSet()"), + fullCtx: false, + } +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/atn_deserialization_options.go b/vendor/github.com/antlr4-go/antlr/v4/atn_deserialization_options.go new file mode 100644 index 000000000..bdb30b362 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/atn_deserialization_options.go @@ -0,0 +1,62 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import "errors" + +var defaultATNDeserializationOptions = ATNDeserializationOptions{true, true, false} + +type ATNDeserializationOptions struct { + readOnly bool + verifyATN bool + generateRuleBypassTransitions bool +} + +func (opts *ATNDeserializationOptions) ReadOnly() bool { + return opts.readOnly +} + +func (opts *ATNDeserializationOptions) SetReadOnly(readOnly bool) { + if opts.readOnly { + panic(errors.New("cannot mutate read only ATNDeserializationOptions")) + } + opts.readOnly = readOnly +} + +func (opts *ATNDeserializationOptions) VerifyATN() bool { + return opts.verifyATN +} + +func (opts *ATNDeserializationOptions) SetVerifyATN(verifyATN bool) { + if opts.readOnly { + panic(errors.New("cannot mutate read only ATNDeserializationOptions")) + } + opts.verifyATN = verifyATN +} + +func (opts *ATNDeserializationOptions) GenerateRuleBypassTransitions() bool { + return opts.generateRuleBypassTransitions +} + +func (opts *ATNDeserializationOptions) SetGenerateRuleBypassTransitions(generateRuleBypassTransitions bool) { + if opts.readOnly { + panic(errors.New("cannot mutate read only ATNDeserializationOptions")) + } + opts.generateRuleBypassTransitions = generateRuleBypassTransitions +} + +//goland:noinspection GoUnusedExportedFunction +func DefaultATNDeserializationOptions() *ATNDeserializationOptions { + return NewATNDeserializationOptions(&defaultATNDeserializationOptions) +} + +func NewATNDeserializationOptions(other *ATNDeserializationOptions) *ATNDeserializationOptions { + o := new(ATNDeserializationOptions) + if other != nil { + *o = *other + o.readOnly = false + } + return o +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/atn_deserializer.go b/vendor/github.com/antlr4-go/antlr/v4/atn_deserializer.go new file mode 100644 index 000000000..2dcb9ae11 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/atn_deserializer.go @@ -0,0 +1,684 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "fmt" + "strconv" +) + +const serializedVersion = 4 + +type loopEndStateIntPair struct { + item0 *LoopEndState + item1 int +} + +type blockStartStateIntPair struct { + item0 BlockStartState + item1 int +} + +type ATNDeserializer struct { + options *ATNDeserializationOptions + data []int32 + pos int +} + +func NewATNDeserializer(options *ATNDeserializationOptions) *ATNDeserializer { + if options == nil { + options = &defaultATNDeserializationOptions + } + + return &ATNDeserializer{options: options} +} + +//goland:noinspection GoUnusedFunction +func stringInSlice(a string, list []string) int { + for i, b := range list { + if b == a { + return i + } + } + + return -1 +} + +func (a *ATNDeserializer) Deserialize(data []int32) *ATN { + a.data = data + a.pos = 0 + a.checkVersion() + + atn := a.readATN() + + a.readStates(atn) + a.readRules(atn) + a.readModes(atn) + + sets := a.readSets(atn, nil) + + a.readEdges(atn, sets) + a.readDecisions(atn) + a.readLexerActions(atn) + a.markPrecedenceDecisions(atn) + a.verifyATN(atn) + + if a.options.GenerateRuleBypassTransitions() && atn.grammarType == ATNTypeParser { + a.generateRuleBypassTransitions(atn) + // Re-verify after modification + a.verifyATN(atn) + } + + return atn + +} + +func (a *ATNDeserializer) checkVersion() { + version := a.readInt() + + if version != serializedVersion { + panic("Could not deserialize ATN with version " + strconv.Itoa(version) + " (expected " + strconv.Itoa(serializedVersion) + ").") + } +} + +func (a *ATNDeserializer) readATN() *ATN { + grammarType := a.readInt() + maxTokenType := a.readInt() + + return NewATN(grammarType, maxTokenType) +} + +func (a *ATNDeserializer) readStates(atn *ATN) { + nstates := a.readInt() + + // Allocate worst case size. + loopBackStateNumbers := make([]loopEndStateIntPair, 0, nstates) + endStateNumbers := make([]blockStartStateIntPair, 0, nstates) + + // Preallocate states slice. + atn.states = make([]ATNState, 0, nstates) + + for i := 0; i < nstates; i++ { + stype := a.readInt() + + // Ignore bad types of states + if stype == ATNStateInvalidType { + atn.addState(nil) + continue + } + + ruleIndex := a.readInt() + + s := a.stateFactory(stype, ruleIndex) + + if stype == ATNStateLoopEnd { + loopBackStateNumber := a.readInt() + + loopBackStateNumbers = append(loopBackStateNumbers, loopEndStateIntPair{s.(*LoopEndState), loopBackStateNumber}) + } else if s2, ok := s.(BlockStartState); ok { + endStateNumber := a.readInt() + + endStateNumbers = append(endStateNumbers, blockStartStateIntPair{s2, endStateNumber}) + } + + atn.addState(s) + } + + // Delay the assignment of loop back and end states until we know all the state + // instances have been initialized + for _, pair := range loopBackStateNumbers { + pair.item0.loopBackState = atn.states[pair.item1] + } + + for _, pair := range endStateNumbers { + pair.item0.setEndState(atn.states[pair.item1].(*BlockEndState)) + } + + numNonGreedyStates := a.readInt() + for j := 0; j < numNonGreedyStates; j++ { + stateNumber := a.readInt() + + atn.states[stateNumber].(DecisionState).setNonGreedy(true) + } + + numPrecedenceStates := a.readInt() + for j := 0; j < numPrecedenceStates; j++ { + stateNumber := a.readInt() + + atn.states[stateNumber].(*RuleStartState).isPrecedenceRule = true + } +} + +func (a *ATNDeserializer) readRules(atn *ATN) { + nrules := a.readInt() + + if atn.grammarType == ATNTypeLexer { + atn.ruleToTokenType = make([]int, nrules) + } + + atn.ruleToStartState = make([]*RuleStartState, nrules) + + for i := range atn.ruleToStartState { + s := a.readInt() + startState := atn.states[s].(*RuleStartState) + + atn.ruleToStartState[i] = startState + + if atn.grammarType == ATNTypeLexer { + tokenType := a.readInt() + + atn.ruleToTokenType[i] = tokenType + } + } + + atn.ruleToStopState = make([]*RuleStopState, nrules) + + for _, state := range atn.states { + if s2, ok := state.(*RuleStopState); ok { + atn.ruleToStopState[s2.ruleIndex] = s2 + atn.ruleToStartState[s2.ruleIndex].stopState = s2 + } + } +} + +func (a *ATNDeserializer) readModes(atn *ATN) { + nmodes := a.readInt() + atn.modeToStartState = make([]*TokensStartState, nmodes) + + for i := range atn.modeToStartState { + s := a.readInt() + + atn.modeToStartState[i] = atn.states[s].(*TokensStartState) + } +} + +func (a *ATNDeserializer) readSets(_ *ATN, sets []*IntervalSet) []*IntervalSet { + m := a.readInt() + + // Preallocate the needed capacity. + if cap(sets)-len(sets) < m { + isets := make([]*IntervalSet, len(sets), len(sets)+m) + copy(isets, sets) + sets = isets + } + + for i := 0; i < m; i++ { + iset := NewIntervalSet() + + sets = append(sets, iset) + + n := a.readInt() + containsEOF := a.readInt() + + if containsEOF != 0 { + iset.addOne(-1) + } + + for j := 0; j < n; j++ { + i1 := a.readInt() + i2 := a.readInt() + + iset.addRange(i1, i2) + } + } + + return sets +} + +func (a *ATNDeserializer) readEdges(atn *ATN, sets []*IntervalSet) { + nedges := a.readInt() + + for i := 0; i < nedges; i++ { + var ( + src = a.readInt() + trg = a.readInt() + ttype = a.readInt() + arg1 = a.readInt() + arg2 = a.readInt() + arg3 = a.readInt() + trans = a.edgeFactory(atn, ttype, src, trg, arg1, arg2, arg3, sets) + srcState = atn.states[src] + ) + + srcState.AddTransition(trans, -1) + } + + // Edges for rule stop states can be derived, so they are not serialized + for _, state := range atn.states { + for _, t := range state.GetTransitions() { + var rt, ok = t.(*RuleTransition) + + if !ok { + continue + } + + outermostPrecedenceReturn := -1 + + if atn.ruleToStartState[rt.getTarget().GetRuleIndex()].isPrecedenceRule { + if rt.precedence == 0 { + outermostPrecedenceReturn = rt.getTarget().GetRuleIndex() + } + } + + trans := NewEpsilonTransition(rt.followState, outermostPrecedenceReturn) + + atn.ruleToStopState[rt.getTarget().GetRuleIndex()].AddTransition(trans, -1) + } + } + + for _, state := range atn.states { + if s2, ok := state.(BlockStartState); ok { + // We need to know the end state to set its start state + if s2.getEndState() == nil { + panic("IllegalState") + } + + // Block end states can only be associated to a single block start state + if s2.getEndState().startState != nil { + panic("IllegalState") + } + + s2.getEndState().startState = state + } + + if s2, ok := state.(*PlusLoopbackState); ok { + for _, t := range s2.GetTransitions() { + if t2, ok := t.getTarget().(*PlusBlockStartState); ok { + t2.loopBackState = state + } + } + } else if s2, ok := state.(*StarLoopbackState); ok { + for _, t := range s2.GetTransitions() { + if t2, ok := t.getTarget().(*StarLoopEntryState); ok { + t2.loopBackState = state + } + } + } + } +} + +func (a *ATNDeserializer) readDecisions(atn *ATN) { + ndecisions := a.readInt() + + for i := 0; i < ndecisions; i++ { + s := a.readInt() + decState := atn.states[s].(DecisionState) + + atn.DecisionToState = append(atn.DecisionToState, decState) + decState.setDecision(i) + } +} + +func (a *ATNDeserializer) readLexerActions(atn *ATN) { + if atn.grammarType == ATNTypeLexer { + count := a.readInt() + + atn.lexerActions = make([]LexerAction, count) + + for i := range atn.lexerActions { + actionType := a.readInt() + data1 := a.readInt() + data2 := a.readInt() + atn.lexerActions[i] = a.lexerActionFactory(actionType, data1, data2) + } + } +} + +func (a *ATNDeserializer) generateRuleBypassTransitions(atn *ATN) { + count := len(atn.ruleToStartState) + + for i := 0; i < count; i++ { + atn.ruleToTokenType[i] = atn.maxTokenType + i + 1 + } + + for i := 0; i < count; i++ { + a.generateRuleBypassTransition(atn, i) + } +} + +func (a *ATNDeserializer) generateRuleBypassTransition(atn *ATN, idx int) { + bypassStart := NewBasicBlockStartState() + + bypassStart.ruleIndex = idx + atn.addState(bypassStart) + + bypassStop := NewBlockEndState() + + bypassStop.ruleIndex = idx + atn.addState(bypassStop) + + bypassStart.endState = bypassStop + + atn.defineDecisionState(&bypassStart.BaseDecisionState) + + bypassStop.startState = bypassStart + + var excludeTransition Transition + var endState ATNState + + if atn.ruleToStartState[idx].isPrecedenceRule { + // Wrap from the beginning of the rule to the StarLoopEntryState + endState = nil + + for i := 0; i < len(atn.states); i++ { + state := atn.states[i] + + if a.stateIsEndStateFor(state, idx) != nil { + endState = state + excludeTransition = state.(*StarLoopEntryState).loopBackState.GetTransitions()[0] + + break + } + } + + if excludeTransition == nil { + panic("Couldn't identify final state of the precedence rule prefix section.") + } + } else { + endState = atn.ruleToStopState[idx] + } + + // All non-excluded transitions that currently target end state need to target + // blockEnd instead + for i := 0; i < len(atn.states); i++ { + state := atn.states[i] + + for j := 0; j < len(state.GetTransitions()); j++ { + transition := state.GetTransitions()[j] + + if transition == excludeTransition { + continue + } + + if transition.getTarget() == endState { + transition.setTarget(bypassStop) + } + } + } + + // All transitions leaving the rule start state need to leave blockStart instead + ruleToStartState := atn.ruleToStartState[idx] + count := len(ruleToStartState.GetTransitions()) + + for count > 0 { + bypassStart.AddTransition(ruleToStartState.GetTransitions()[count-1], -1) + ruleToStartState.SetTransitions([]Transition{ruleToStartState.GetTransitions()[len(ruleToStartState.GetTransitions())-1]}) + } + + // Link the new states + atn.ruleToStartState[idx].AddTransition(NewEpsilonTransition(bypassStart, -1), -1) + bypassStop.AddTransition(NewEpsilonTransition(endState, -1), -1) + + MatchState := NewBasicState() + + atn.addState(MatchState) + MatchState.AddTransition(NewAtomTransition(bypassStop, atn.ruleToTokenType[idx]), -1) + bypassStart.AddTransition(NewEpsilonTransition(MatchState, -1), -1) +} + +func (a *ATNDeserializer) stateIsEndStateFor(state ATNState, idx int) ATNState { + if state.GetRuleIndex() != idx { + return nil + } + + if _, ok := state.(*StarLoopEntryState); !ok { + return nil + } + + maybeLoopEndState := state.GetTransitions()[len(state.GetTransitions())-1].getTarget() + + if _, ok := maybeLoopEndState.(*LoopEndState); !ok { + return nil + } + + var _, ok = maybeLoopEndState.GetTransitions()[0].getTarget().(*RuleStopState) + + if maybeLoopEndState.(*LoopEndState).epsilonOnlyTransitions && ok { + return state + } + + return nil +} + +// markPrecedenceDecisions analyzes the StarLoopEntryState states in the +// specified ATN to set the StarLoopEntryState.precedenceRuleDecision field to +// the correct value. +func (a *ATNDeserializer) markPrecedenceDecisions(atn *ATN) { + for _, state := range atn.states { + if _, ok := state.(*StarLoopEntryState); !ok { + continue + } + + // We analyze the [ATN] to determine if an ATN decision state is the + // decision for the closure block that determines whether a + // precedence rule should continue or complete. + if atn.ruleToStartState[state.GetRuleIndex()].isPrecedenceRule { + maybeLoopEndState := state.GetTransitions()[len(state.GetTransitions())-1].getTarget() + + if s3, ok := maybeLoopEndState.(*LoopEndState); ok { + var _, ok2 = maybeLoopEndState.GetTransitions()[0].getTarget().(*RuleStopState) + + if s3.epsilonOnlyTransitions && ok2 { + state.(*StarLoopEntryState).precedenceRuleDecision = true + } + } + } + } +} + +func (a *ATNDeserializer) verifyATN(atn *ATN) { + if !a.options.VerifyATN() { + return + } + + // Verify assumptions + for _, state := range atn.states { + if state == nil { + continue + } + + a.checkCondition(state.GetEpsilonOnlyTransitions() || len(state.GetTransitions()) <= 1, "") + + switch s2 := state.(type) { + case *PlusBlockStartState: + a.checkCondition(s2.loopBackState != nil, "") + + case *StarLoopEntryState: + a.checkCondition(s2.loopBackState != nil, "") + a.checkCondition(len(s2.GetTransitions()) == 2, "") + + switch s2.transitions[0].getTarget().(type) { + case *StarBlockStartState: + _, ok := s2.transitions[1].getTarget().(*LoopEndState) + + a.checkCondition(ok, "") + a.checkCondition(!s2.nonGreedy, "") + + case *LoopEndState: + var _, ok = s2.transitions[1].getTarget().(*StarBlockStartState) + + a.checkCondition(ok, "") + a.checkCondition(s2.nonGreedy, "") + + default: + panic("IllegalState") + } + + case *StarLoopbackState: + a.checkCondition(len(state.GetTransitions()) == 1, "") + + var _, ok = state.GetTransitions()[0].getTarget().(*StarLoopEntryState) + + a.checkCondition(ok, "") + + case *LoopEndState: + a.checkCondition(s2.loopBackState != nil, "") + + case *RuleStartState: + a.checkCondition(s2.stopState != nil, "") + + case BlockStartState: + a.checkCondition(s2.getEndState() != nil, "") + + case *BlockEndState: + a.checkCondition(s2.startState != nil, "") + + case DecisionState: + a.checkCondition(len(s2.GetTransitions()) <= 1 || s2.getDecision() >= 0, "") + + default: + var _, ok = s2.(*RuleStopState) + + a.checkCondition(len(s2.GetTransitions()) <= 1 || ok, "") + } + } +} + +func (a *ATNDeserializer) checkCondition(condition bool, message string) { + if !condition { + if message == "" { + message = "IllegalState" + } + + panic(message) + } +} + +func (a *ATNDeserializer) readInt() int { + v := a.data[a.pos] + + a.pos++ + + return int(v) // data is 32 bits but int is at least that big +} + +func (a *ATNDeserializer) edgeFactory(atn *ATN, typeIndex, _, trg, arg1, arg2, arg3 int, sets []*IntervalSet) Transition { + target := atn.states[trg] + + switch typeIndex { + case TransitionEPSILON: + return NewEpsilonTransition(target, -1) + + case TransitionRANGE: + if arg3 != 0 { + return NewRangeTransition(target, TokenEOF, arg2) + } + + return NewRangeTransition(target, arg1, arg2) + + case TransitionRULE: + return NewRuleTransition(atn.states[arg1], arg2, arg3, target) + + case TransitionPREDICATE: + return NewPredicateTransition(target, arg1, arg2, arg3 != 0) + + case TransitionPRECEDENCE: + return NewPrecedencePredicateTransition(target, arg1) + + case TransitionATOM: + if arg3 != 0 { + return NewAtomTransition(target, TokenEOF) + } + + return NewAtomTransition(target, arg1) + + case TransitionACTION: + return NewActionTransition(target, arg1, arg2, arg3 != 0) + + case TransitionSET: + return NewSetTransition(target, sets[arg1]) + + case TransitionNOTSET: + return NewNotSetTransition(target, sets[arg1]) + + case TransitionWILDCARD: + return NewWildcardTransition(target) + } + + panic("The specified transition type is not valid.") +} + +func (a *ATNDeserializer) stateFactory(typeIndex, ruleIndex int) ATNState { + var s ATNState + + switch typeIndex { + case ATNStateInvalidType: + return nil + + case ATNStateBasic: + s = NewBasicState() + + case ATNStateRuleStart: + s = NewRuleStartState() + + case ATNStateBlockStart: + s = NewBasicBlockStartState() + + case ATNStatePlusBlockStart: + s = NewPlusBlockStartState() + + case ATNStateStarBlockStart: + s = NewStarBlockStartState() + + case ATNStateTokenStart: + s = NewTokensStartState() + + case ATNStateRuleStop: + s = NewRuleStopState() + + case ATNStateBlockEnd: + s = NewBlockEndState() + + case ATNStateStarLoopBack: + s = NewStarLoopbackState() + + case ATNStateStarLoopEntry: + s = NewStarLoopEntryState() + + case ATNStatePlusLoopBack: + s = NewPlusLoopbackState() + + case ATNStateLoopEnd: + s = NewLoopEndState() + + default: + panic(fmt.Sprintf("state type %d is invalid", typeIndex)) + } + + s.SetRuleIndex(ruleIndex) + + return s +} + +func (a *ATNDeserializer) lexerActionFactory(typeIndex, data1, data2 int) LexerAction { + switch typeIndex { + case LexerActionTypeChannel: + return NewLexerChannelAction(data1) + + case LexerActionTypeCustom: + return NewLexerCustomAction(data1, data2) + + case LexerActionTypeMode: + return NewLexerModeAction(data1) + + case LexerActionTypeMore: + return LexerMoreActionINSTANCE + + case LexerActionTypePopMode: + return LexerPopModeActionINSTANCE + + case LexerActionTypePushMode: + return NewLexerPushModeAction(data1) + + case LexerActionTypeSkip: + return LexerSkipActionINSTANCE + + case LexerActionTypeType: + return NewLexerTypeAction(data1) + + default: + panic(fmt.Sprintf("lexer action %d is invalid", typeIndex)) + } +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/atn_simulator.go b/vendor/github.com/antlr4-go/antlr/v4/atn_simulator.go new file mode 100644 index 000000000..afe6c9f80 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/atn_simulator.go @@ -0,0 +1,41 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +var ATNSimulatorError = NewDFAState(0x7FFFFFFF, NewATNConfigSet(false)) + +type IATNSimulator interface { + SharedContextCache() *PredictionContextCache + ATN() *ATN + DecisionToDFA() []*DFA +} + +type BaseATNSimulator struct { + atn *ATN + sharedContextCache *PredictionContextCache + decisionToDFA []*DFA +} + +func (b *BaseATNSimulator) getCachedContext(context *PredictionContext) *PredictionContext { + if b.sharedContextCache == nil { + return context + } + + //visited := NewJMap[*PredictionContext, *PredictionContext, Comparator[*PredictionContext]](pContextEqInst, PredictionVisitedCollection, "Visit map in getCachedContext()") + visited := NewVisitRecord() + return getCachedBasePredictionContext(context, b.sharedContextCache, visited) +} + +func (b *BaseATNSimulator) SharedContextCache() *PredictionContextCache { + return b.sharedContextCache +} + +func (b *BaseATNSimulator) ATN() *ATN { + return b.atn +} + +func (b *BaseATNSimulator) DecisionToDFA() []*DFA { + return b.decisionToDFA +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/atn_state.go b/vendor/github.com/antlr4-go/antlr/v4/atn_state.go new file mode 100644 index 000000000..2ae5807cd --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/atn_state.go @@ -0,0 +1,461 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "fmt" + "os" + "strconv" +) + +// Constants for serialization. +const ( + ATNStateInvalidType = 0 + ATNStateBasic = 1 + ATNStateRuleStart = 2 + ATNStateBlockStart = 3 + ATNStatePlusBlockStart = 4 + ATNStateStarBlockStart = 5 + ATNStateTokenStart = 6 + ATNStateRuleStop = 7 + ATNStateBlockEnd = 8 + ATNStateStarLoopBack = 9 + ATNStateStarLoopEntry = 10 + ATNStatePlusLoopBack = 11 + ATNStateLoopEnd = 12 + + ATNStateInvalidStateNumber = -1 +) + +//goland:noinspection GoUnusedGlobalVariable +var ATNStateInitialNumTransitions = 4 + +type ATNState interface { + GetEpsilonOnlyTransitions() bool + + GetRuleIndex() int + SetRuleIndex(int) + + GetNextTokenWithinRule() *IntervalSet + SetNextTokenWithinRule(*IntervalSet) + + GetATN() *ATN + SetATN(*ATN) + + GetStateType() int + + GetStateNumber() int + SetStateNumber(int) + + GetTransitions() []Transition + SetTransitions([]Transition) + AddTransition(Transition, int) + + String() string + Hash() int + Equals(Collectable[ATNState]) bool +} + +type BaseATNState struct { + // NextTokenWithinRule caches lookahead during parsing. Not used during construction. + NextTokenWithinRule *IntervalSet + + // atn is the current ATN. + atn *ATN + + epsilonOnlyTransitions bool + + // ruleIndex tracks the Rule index because there are no Rule objects at runtime. + ruleIndex int + + stateNumber int + + stateType int + + // Track the transitions emanating from this ATN state. + transitions []Transition +} + +func NewATNState() *BaseATNState { + return &BaseATNState{stateNumber: ATNStateInvalidStateNumber, stateType: ATNStateInvalidType} +} + +func (as *BaseATNState) GetRuleIndex() int { + return as.ruleIndex +} + +func (as *BaseATNState) SetRuleIndex(v int) { + as.ruleIndex = v +} +func (as *BaseATNState) GetEpsilonOnlyTransitions() bool { + return as.epsilonOnlyTransitions +} + +func (as *BaseATNState) GetATN() *ATN { + return as.atn +} + +func (as *BaseATNState) SetATN(atn *ATN) { + as.atn = atn +} + +func (as *BaseATNState) GetTransitions() []Transition { + return as.transitions +} + +func (as *BaseATNState) SetTransitions(t []Transition) { + as.transitions = t +} + +func (as *BaseATNState) GetStateType() int { + return as.stateType +} + +func (as *BaseATNState) GetStateNumber() int { + return as.stateNumber +} + +func (as *BaseATNState) SetStateNumber(stateNumber int) { + as.stateNumber = stateNumber +} + +func (as *BaseATNState) GetNextTokenWithinRule() *IntervalSet { + return as.NextTokenWithinRule +} + +func (as *BaseATNState) SetNextTokenWithinRule(v *IntervalSet) { + as.NextTokenWithinRule = v +} + +func (as *BaseATNState) Hash() int { + return as.stateNumber +} + +func (as *BaseATNState) String() string { + return strconv.Itoa(as.stateNumber) +} + +func (as *BaseATNState) Equals(other Collectable[ATNState]) bool { + if ot, ok := other.(ATNState); ok { + return as.stateNumber == ot.GetStateNumber() + } + + return false +} + +func (as *BaseATNState) isNonGreedyExitState() bool { + return false +} + +func (as *BaseATNState) AddTransition(trans Transition, index int) { + if len(as.transitions) == 0 { + as.epsilonOnlyTransitions = trans.getIsEpsilon() + } else if as.epsilonOnlyTransitions != trans.getIsEpsilon() { + _, _ = fmt.Fprintf(os.Stdin, "ATN state %d has both epsilon and non-epsilon transitions.\n", as.stateNumber) + as.epsilonOnlyTransitions = false + } + + // TODO: Check code for already present compared to the Java equivalent + //alreadyPresent := false + //for _, t := range as.transitions { + // if t.getTarget().GetStateNumber() == trans.getTarget().GetStateNumber() { + // if t.getLabel() != nil && trans.getLabel() != nil && trans.getLabel().Equals(t.getLabel()) { + // alreadyPresent = true + // break + // } + // } else if t.getIsEpsilon() && trans.getIsEpsilon() { + // alreadyPresent = true + // break + // } + //} + //if !alreadyPresent { + if index == -1 { + as.transitions = append(as.transitions, trans) + } else { + as.transitions = append(as.transitions[:index], append([]Transition{trans}, as.transitions[index:]...)...) + // TODO: as.transitions.splice(index, 1, trans) + } + //} else { + // _, _ = fmt.Fprintf(os.Stderr, "Transition already present in state %d\n", as.stateNumber) + //} +} + +type BasicState struct { + BaseATNState +} + +func NewBasicState() *BasicState { + return &BasicState{ + BaseATNState: BaseATNState{ + stateNumber: ATNStateInvalidStateNumber, + stateType: ATNStateBasic, + }, + } +} + +type DecisionState interface { + ATNState + + getDecision() int + setDecision(int) + + getNonGreedy() bool + setNonGreedy(bool) +} + +type BaseDecisionState struct { + BaseATNState + decision int + nonGreedy bool +} + +func NewBaseDecisionState() *BaseDecisionState { + return &BaseDecisionState{ + BaseATNState: BaseATNState{ + stateNumber: ATNStateInvalidStateNumber, + stateType: ATNStateBasic, + }, + decision: -1, + } +} + +func (s *BaseDecisionState) getDecision() int { + return s.decision +} + +func (s *BaseDecisionState) setDecision(b int) { + s.decision = b +} + +func (s *BaseDecisionState) getNonGreedy() bool { + return s.nonGreedy +} + +func (s *BaseDecisionState) setNonGreedy(b bool) { + s.nonGreedy = b +} + +type BlockStartState interface { + DecisionState + + getEndState() *BlockEndState + setEndState(*BlockEndState) +} + +// BaseBlockStartState is the start of a regular (...) block. +type BaseBlockStartState struct { + BaseDecisionState + endState *BlockEndState +} + +func NewBlockStartState() *BaseBlockStartState { + return &BaseBlockStartState{ + BaseDecisionState: BaseDecisionState{ + BaseATNState: BaseATNState{ + stateNumber: ATNStateInvalidStateNumber, + stateType: ATNStateBasic, + }, + decision: -1, + }, + } +} + +func (s *BaseBlockStartState) getEndState() *BlockEndState { + return s.endState +} + +func (s *BaseBlockStartState) setEndState(b *BlockEndState) { + s.endState = b +} + +type BasicBlockStartState struct { + BaseBlockStartState +} + +func NewBasicBlockStartState() *BasicBlockStartState { + return &BasicBlockStartState{ + BaseBlockStartState: BaseBlockStartState{ + BaseDecisionState: BaseDecisionState{ + BaseATNState: BaseATNState{ + stateNumber: ATNStateInvalidStateNumber, + stateType: ATNStateBlockStart, + }, + }, + }, + } +} + +var _ BlockStartState = &BasicBlockStartState{} + +// BlockEndState is a terminal node of a simple (a|b|c) block. +type BlockEndState struct { + BaseATNState + startState ATNState +} + +func NewBlockEndState() *BlockEndState { + return &BlockEndState{ + BaseATNState: BaseATNState{ + stateNumber: ATNStateInvalidStateNumber, + stateType: ATNStateBlockEnd, + }, + startState: nil, + } +} + +// RuleStopState is the last node in the ATN for a rule, unless that rule is the +// start symbol. In that case, there is one transition to EOF. Later, we might +// encode references to all calls to this rule to compute FOLLOW sets for error +// handling. +type RuleStopState struct { + BaseATNState +} + +func NewRuleStopState() *RuleStopState { + return &RuleStopState{ + BaseATNState: BaseATNState{ + stateNumber: ATNStateInvalidStateNumber, + stateType: ATNStateRuleStop, + }, + } +} + +type RuleStartState struct { + BaseATNState + stopState ATNState + isPrecedenceRule bool +} + +func NewRuleStartState() *RuleStartState { + return &RuleStartState{ + BaseATNState: BaseATNState{ + stateNumber: ATNStateInvalidStateNumber, + stateType: ATNStateRuleStart, + }, + } +} + +// PlusLoopbackState is a decision state for A+ and (A|B)+. It has two +// transitions: one to the loop back to start of the block, and one to exit. +type PlusLoopbackState struct { + BaseDecisionState +} + +func NewPlusLoopbackState() *PlusLoopbackState { + return &PlusLoopbackState{ + BaseDecisionState: BaseDecisionState{ + BaseATNState: BaseATNState{ + stateNumber: ATNStateInvalidStateNumber, + stateType: ATNStatePlusLoopBack, + }, + }, + } +} + +// PlusBlockStartState is the start of a (A|B|...)+ loop. Technically it is a +// decision state; we don't use it for code generation. Somebody might need it, +// it is included for completeness. In reality, PlusLoopbackState is the real +// decision-making node for A+. +type PlusBlockStartState struct { + BaseBlockStartState + loopBackState ATNState +} + +func NewPlusBlockStartState() *PlusBlockStartState { + return &PlusBlockStartState{ + BaseBlockStartState: BaseBlockStartState{ + BaseDecisionState: BaseDecisionState{ + BaseATNState: BaseATNState{ + stateNumber: ATNStateInvalidStateNumber, + stateType: ATNStatePlusBlockStart, + }, + }, + }, + } +} + +var _ BlockStartState = &PlusBlockStartState{} + +// StarBlockStartState is the block that begins a closure loop. +type StarBlockStartState struct { + BaseBlockStartState +} + +func NewStarBlockStartState() *StarBlockStartState { + return &StarBlockStartState{ + BaseBlockStartState: BaseBlockStartState{ + BaseDecisionState: BaseDecisionState{ + BaseATNState: BaseATNState{ + stateNumber: ATNStateInvalidStateNumber, + stateType: ATNStateStarBlockStart, + }, + }, + }, + } +} + +var _ BlockStartState = &StarBlockStartState{} + +type StarLoopbackState struct { + BaseATNState +} + +func NewStarLoopbackState() *StarLoopbackState { + return &StarLoopbackState{ + BaseATNState: BaseATNState{ + stateNumber: ATNStateInvalidStateNumber, + stateType: ATNStateStarLoopBack, + }, + } +} + +type StarLoopEntryState struct { + BaseDecisionState + loopBackState ATNState + precedenceRuleDecision bool +} + +func NewStarLoopEntryState() *StarLoopEntryState { + // False precedenceRuleDecision indicates whether s state can benefit from a precedence DFA during SLL decision making. + return &StarLoopEntryState{ + BaseDecisionState: BaseDecisionState{ + BaseATNState: BaseATNState{ + stateNumber: ATNStateInvalidStateNumber, + stateType: ATNStateStarLoopEntry, + }, + }, + } +} + +// LoopEndState marks the end of a * or + loop. +type LoopEndState struct { + BaseATNState + loopBackState ATNState +} + +func NewLoopEndState() *LoopEndState { + return &LoopEndState{ + BaseATNState: BaseATNState{ + stateNumber: ATNStateInvalidStateNumber, + stateType: ATNStateLoopEnd, + }, + } +} + +// TokensStartState is the Tokens rule start state linking to each lexer rule start state. +type TokensStartState struct { + BaseDecisionState +} + +func NewTokensStartState() *TokensStartState { + return &TokensStartState{ + BaseDecisionState: BaseDecisionState{ + BaseATNState: BaseATNState{ + stateNumber: ATNStateInvalidStateNumber, + stateType: ATNStateTokenStart, + }, + }, + } +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/atn_type.go b/vendor/github.com/antlr4-go/antlr/v4/atn_type.go new file mode 100644 index 000000000..3a515a145 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/atn_type.go @@ -0,0 +1,11 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +// Represent the type of recognizer an ATN applies to. +const ( + ATNTypeLexer = 0 + ATNTypeParser = 1 +) diff --git a/vendor/github.com/antlr4-go/antlr/v4/char_stream.go b/vendor/github.com/antlr4-go/antlr/v4/char_stream.go new file mode 100644 index 000000000..bd8127b6b --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/char_stream.go @@ -0,0 +1,12 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +type CharStream interface { + IntStream + GetText(int, int) string + GetTextFromTokens(start, end Token) string + GetTextFromInterval(Interval) string +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/common_token_factory.go b/vendor/github.com/antlr4-go/antlr/v4/common_token_factory.go new file mode 100644 index 000000000..1bb0314ea --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/common_token_factory.go @@ -0,0 +1,56 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +// TokenFactory creates CommonToken objects. +type TokenFactory interface { + Create(source *TokenSourceCharStreamPair, ttype int, text string, channel, start, stop, line, column int) Token +} + +// CommonTokenFactory is the default TokenFactory implementation. +type CommonTokenFactory struct { + // copyText indicates whether CommonToken.setText should be called after + // constructing tokens to explicitly set the text. This is useful for cases + // where the input stream might not be able to provide arbitrary substrings of + // text from the input after the lexer creates a token (e.g. the + // implementation of CharStream.GetText in UnbufferedCharStream panics an + // UnsupportedOperationException). Explicitly setting the token text allows + // Token.GetText to be called at any time regardless of the input stream + // implementation. + // + // The default value is false to avoid the performance and memory overhead of + // copying text for every token unless explicitly requested. + copyText bool +} + +func NewCommonTokenFactory(copyText bool) *CommonTokenFactory { + return &CommonTokenFactory{copyText: copyText} +} + +// CommonTokenFactoryDEFAULT is the default CommonTokenFactory. It does not +// explicitly copy token text when constructing tokens. +var CommonTokenFactoryDEFAULT = NewCommonTokenFactory(false) + +func (c *CommonTokenFactory) Create(source *TokenSourceCharStreamPair, ttype int, text string, channel, start, stop, line, column int) Token { + t := NewCommonToken(source, ttype, channel, start, stop) + + t.line = line + t.column = column + + if text != "" { + t.SetText(text) + } else if c.copyText && source.charStream != nil { + t.SetText(source.charStream.GetTextFromInterval(NewInterval(start, stop))) + } + + return t +} + +func (c *CommonTokenFactory) createThin(ttype int, text string) Token { + t := NewCommonToken(nil, ttype, TokenDefaultChannel, -1, -1) + t.SetText(text) + + return t +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/common_token_stream.go b/vendor/github.com/antlr4-go/antlr/v4/common_token_stream.go new file mode 100644 index 000000000..b75da9df0 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/common_token_stream.go @@ -0,0 +1,450 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "strconv" +) + +// CommonTokenStream is an implementation of TokenStream that loads tokens from +// a TokenSource on-demand and places the tokens in a buffer to provide access +// to any previous token by index. This token stream ignores the value of +// Token.getChannel. If your parser requires the token stream filter tokens to +// only those on a particular channel, such as Token.DEFAULT_CHANNEL or +// Token.HIDDEN_CHANNEL, use a filtering token stream such a CommonTokenStream. +type CommonTokenStream struct { + channel int + + // fetchedEOF indicates whether the Token.EOF token has been fetched from + // tokenSource and added to tokens. This field improves performance for the + // following cases: + // + // consume: The lookahead check in consume to preven consuming the EOF symbol is + // optimized by checking the values of fetchedEOF and p instead of calling LA. + // + // fetch: The check to prevent adding multiple EOF symbols into tokens is + // trivial with bt field. + fetchedEOF bool + + // index into [tokens] of the current token (next token to consume). + // tokens[p] should be LT(1). It is set to -1 when the stream is first + // constructed or when SetTokenSource is called, indicating that the first token + // has not yet been fetched from the token source. For additional information, + // see the documentation of [IntStream] for a description of initializing methods. + index int + + // tokenSource is the [TokenSource] from which tokens for the bt stream are + // fetched. + tokenSource TokenSource + + // tokens contains all tokens fetched from the token source. The list is considered a + // complete view of the input once fetchedEOF is set to true. + tokens []Token +} + +// NewCommonTokenStream creates a new CommonTokenStream instance using the supplied lexer to produce +// tokens and will pull tokens from the given lexer channel. +func NewCommonTokenStream(lexer Lexer, channel int) *CommonTokenStream { + return &CommonTokenStream{ + channel: channel, + index: -1, + tokenSource: lexer, + tokens: make([]Token, 0), + } +} + +// GetAllTokens returns all tokens currently pulled from the token source. +func (c *CommonTokenStream) GetAllTokens() []Token { + return c.tokens +} + +func (c *CommonTokenStream) Mark() int { + return 0 +} + +func (c *CommonTokenStream) Release(_ int) {} + +func (c *CommonTokenStream) Reset() { + c.fetchedEOF = false + c.tokens = make([]Token, 0) + c.Seek(0) +} + +func (c *CommonTokenStream) Seek(index int) { + c.lazyInit() + c.index = c.adjustSeekIndex(index) +} + +func (c *CommonTokenStream) Get(index int) Token { + c.lazyInit() + + return c.tokens[index] +} + +func (c *CommonTokenStream) Consume() { + SkipEOFCheck := false + + if c.index >= 0 { + if c.fetchedEOF { + // The last token in tokens is EOF. Skip the check if p indexes any fetched. + // token except the last. + SkipEOFCheck = c.index < len(c.tokens)-1 + } else { + // No EOF token in tokens. Skip the check if p indexes a fetched token. + SkipEOFCheck = c.index < len(c.tokens) + } + } else { + // Not yet initialized + SkipEOFCheck = false + } + + if !SkipEOFCheck && c.LA(1) == TokenEOF { + panic("cannot consume EOF") + } + + if c.Sync(c.index + 1) { + c.index = c.adjustSeekIndex(c.index + 1) + } +} + +// Sync makes sure index i in tokens has a token and returns true if a token is +// located at index i and otherwise false. +func (c *CommonTokenStream) Sync(i int) bool { + n := i - len(c.tokens) + 1 // How many more elements do we need? + + if n > 0 { + fetched := c.fetch(n) + return fetched >= n + } + + return true +} + +// fetch adds n elements to buffer and returns the actual number of elements +// added to the buffer. +func (c *CommonTokenStream) fetch(n int) int { + if c.fetchedEOF { + return 0 + } + + for i := 0; i < n; i++ { + t := c.tokenSource.NextToken() + + t.SetTokenIndex(len(c.tokens)) + c.tokens = append(c.tokens, t) + + if t.GetTokenType() == TokenEOF { + c.fetchedEOF = true + + return i + 1 + } + } + + return n +} + +// GetTokens gets all tokens from start to stop inclusive. +func (c *CommonTokenStream) GetTokens(start int, stop int, types *IntervalSet) []Token { + if start < 0 || stop < 0 { + return nil + } + + c.lazyInit() + + subset := make([]Token, 0) + + if stop >= len(c.tokens) { + stop = len(c.tokens) - 1 + } + + for i := start; i < stop; i++ { + t := c.tokens[i] + + if t.GetTokenType() == TokenEOF { + break + } + + if types == nil || types.contains(t.GetTokenType()) { + subset = append(subset, t) + } + } + + return subset +} + +func (c *CommonTokenStream) LA(i int) int { + return c.LT(i).GetTokenType() +} + +func (c *CommonTokenStream) lazyInit() { + if c.index == -1 { + c.setup() + } +} + +func (c *CommonTokenStream) setup() { + c.Sync(0) + c.index = c.adjustSeekIndex(0) +} + +func (c *CommonTokenStream) GetTokenSource() TokenSource { + return c.tokenSource +} + +// SetTokenSource resets the c token stream by setting its token source. +func (c *CommonTokenStream) SetTokenSource(tokenSource TokenSource) { + c.tokenSource = tokenSource + c.tokens = make([]Token, 0) + c.index = -1 + c.fetchedEOF = false +} + +// NextTokenOnChannel returns the index of the next token on channel given a +// starting index. Returns i if tokens[i] is on channel. Returns -1 if there are +// no tokens on channel between 'i' and [TokenEOF]. +func (c *CommonTokenStream) NextTokenOnChannel(i, _ int) int { + c.Sync(i) + + if i >= len(c.tokens) { + return -1 + } + + token := c.tokens[i] + + for token.GetChannel() != c.channel { + if token.GetTokenType() == TokenEOF { + return -1 + } + + i++ + c.Sync(i) + token = c.tokens[i] + } + + return i +} + +// previousTokenOnChannel returns the index of the previous token on channel +// given a starting index. Returns i if tokens[i] is on channel. Returns -1 if +// there are no tokens on channel between i and 0. +func (c *CommonTokenStream) previousTokenOnChannel(i, channel int) int { + for i >= 0 && c.tokens[i].GetChannel() != channel { + i-- + } + + return i +} + +// GetHiddenTokensToRight collects all tokens on a specified channel to the +// right of the current token up until we see a token on DEFAULT_TOKEN_CHANNEL +// or EOF. If channel is -1, it finds any non-default channel token. +func (c *CommonTokenStream) GetHiddenTokensToRight(tokenIndex, channel int) []Token { + c.lazyInit() + + if tokenIndex < 0 || tokenIndex >= len(c.tokens) { + panic(strconv.Itoa(tokenIndex) + " not in 0.." + strconv.Itoa(len(c.tokens)-1)) + } + + nextOnChannel := c.NextTokenOnChannel(tokenIndex+1, LexerDefaultTokenChannel) + from := tokenIndex + 1 + + // If no onChannel to the right, then nextOnChannel == -1, so set 'to' to the last token + var to int + + if nextOnChannel == -1 { + to = len(c.tokens) - 1 + } else { + to = nextOnChannel + } + + return c.filterForChannel(from, to, channel) +} + +// GetHiddenTokensToLeft collects all tokens on channel to the left of the +// current token until we see a token on DEFAULT_TOKEN_CHANNEL. If channel is +// -1, it finds any non default channel token. +func (c *CommonTokenStream) GetHiddenTokensToLeft(tokenIndex, channel int) []Token { + c.lazyInit() + + if tokenIndex < 0 || tokenIndex >= len(c.tokens) { + panic(strconv.Itoa(tokenIndex) + " not in 0.." + strconv.Itoa(len(c.tokens)-1)) + } + + prevOnChannel := c.previousTokenOnChannel(tokenIndex-1, LexerDefaultTokenChannel) + + if prevOnChannel == tokenIndex-1 { + return nil + } + + // If there are none on channel to the left and prevOnChannel == -1 then from = 0 + from := prevOnChannel + 1 + to := tokenIndex - 1 + + return c.filterForChannel(from, to, channel) +} + +func (c *CommonTokenStream) filterForChannel(left, right, channel int) []Token { + hidden := make([]Token, 0) + + for i := left; i < right+1; i++ { + t := c.tokens[i] + + if channel == -1 { + if t.GetChannel() != LexerDefaultTokenChannel { + hidden = append(hidden, t) + } + } else if t.GetChannel() == channel { + hidden = append(hidden, t) + } + } + + if len(hidden) == 0 { + return nil + } + + return hidden +} + +func (c *CommonTokenStream) GetSourceName() string { + return c.tokenSource.GetSourceName() +} + +func (c *CommonTokenStream) Size() int { + return len(c.tokens) +} + +func (c *CommonTokenStream) Index() int { + return c.index +} + +func (c *CommonTokenStream) GetAllText() string { + c.Fill() + return c.GetTextFromInterval(NewInterval(0, len(c.tokens)-1)) +} + +func (c *CommonTokenStream) GetTextFromTokens(start, end Token) string { + if start == nil || end == nil { + return "" + } + + return c.GetTextFromInterval(NewInterval(start.GetTokenIndex(), end.GetTokenIndex())) +} + +func (c *CommonTokenStream) GetTextFromRuleContext(interval RuleContext) string { + return c.GetTextFromInterval(interval.GetSourceInterval()) +} + +func (c *CommonTokenStream) GetTextFromInterval(interval Interval) string { + c.lazyInit() + c.Sync(interval.Stop) + + start := interval.Start + stop := interval.Stop + + if start < 0 || stop < 0 { + return "" + } + + if stop >= len(c.tokens) { + stop = len(c.tokens) - 1 + } + + s := "" + + for i := start; i < stop+1; i++ { + t := c.tokens[i] + + if t.GetTokenType() == TokenEOF { + break + } + + s += t.GetText() + } + + return s +} + +// Fill gets all tokens from the lexer until EOF. +func (c *CommonTokenStream) Fill() { + c.lazyInit() + + for c.fetch(1000) == 1000 { + continue + } +} + +func (c *CommonTokenStream) adjustSeekIndex(i int) int { + return c.NextTokenOnChannel(i, c.channel) +} + +func (c *CommonTokenStream) LB(k int) Token { + if k == 0 || c.index-k < 0 { + return nil + } + + i := c.index + n := 1 + + // Find k good tokens looking backward + for n <= k { + // Skip off-channel tokens + i = c.previousTokenOnChannel(i-1, c.channel) + n++ + } + + if i < 0 { + return nil + } + + return c.tokens[i] +} + +func (c *CommonTokenStream) LT(k int) Token { + c.lazyInit() + + if k == 0 { + return nil + } + + if k < 0 { + return c.LB(-k) + } + + i := c.index + n := 1 // We know tokens[n] is valid + + // Find k good tokens + for n < k { + // Skip off-channel tokens, but make sure to not look past EOF + if c.Sync(i + 1) { + i = c.NextTokenOnChannel(i+1, c.channel) + } + + n++ + } + + return c.tokens[i] +} + +// getNumberOfOnChannelTokens counts EOF once. +func (c *CommonTokenStream) getNumberOfOnChannelTokens() int { + var n int + + c.Fill() + + for i := 0; i < len(c.tokens); i++ { + t := c.tokens[i] + + if t.GetChannel() == c.channel { + n++ + } + + if t.GetTokenType() == TokenEOF { + break + } + } + + return n +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/comparators.go b/vendor/github.com/antlr4-go/antlr/v4/comparators.go new file mode 100644 index 000000000..7467e9b43 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/comparators.go @@ -0,0 +1,150 @@ +package antlr + +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +// This file contains all the implementations of custom comparators used for generic collections when the +// Hash() and Equals() funcs supplied by the struct objects themselves need to be overridden. Normally, we would +// put the comparators in the source file for the struct themselves, but given the organization of this code is +// sorta kinda based upon the Java code, I found it confusing trying to find out which comparator was where and used by +// which instantiation of a collection. For instance, an Array2DHashSet in the Java source, when used with ATNConfig +// collections requires three different comparators depending on what the collection is being used for. Collecting - pun intended - +// all the comparators here, makes it much easier to see which implementation of hash and equals is used by which collection. +// It also makes it easy to verify that the Hash() and Equals() functions marry up with the Java implementations. + +// ObjEqComparator is the equivalent of the Java ObjectEqualityComparator, which is the default instance of +// Equality comparator. We do not have inheritance in Go, only interfaces, so we use generics to enforce some +// type safety and avoid having to implement this for every type that we want to perform comparison on. +// +// This comparator works by using the standard Hash() and Equals() methods of the type T that is being compared. Which +// allows us to use it in any collection instance that does not require a special hash or equals implementation. +type ObjEqComparator[T Collectable[T]] struct{} + +var ( + aStateEqInst = &ObjEqComparator[ATNState]{} + aConfEqInst = &ObjEqComparator[*ATNConfig]{} + + // aConfCompInst is the comparator used for the ATNConfigSet for the configLookup cache + aConfCompInst = &ATNConfigComparator[*ATNConfig]{} + atnConfCompInst = &BaseATNConfigComparator[*ATNConfig]{} + dfaStateEqInst = &ObjEqComparator[*DFAState]{} + semctxEqInst = &ObjEqComparator[SemanticContext]{} + atnAltCfgEqInst = &ATNAltConfigComparator[*ATNConfig]{} + pContextEqInst = &ObjEqComparator[*PredictionContext]{} +) + +// Equals2 delegates to the Equals() method of type T +func (c *ObjEqComparator[T]) Equals2(o1, o2 T) bool { + return o1.Equals(o2) +} + +// Hash1 delegates to the Hash() method of type T +func (c *ObjEqComparator[T]) Hash1(o T) int { + + return o.Hash() +} + +type SemCComparator[T Collectable[T]] struct{} + +// ATNConfigComparator is used as the comparator for the configLookup field of an ATNConfigSet +// and has a custom Equals() and Hash() implementation, because equality is not based on the +// standard Hash() and Equals() methods of the ATNConfig type. +type ATNConfigComparator[T Collectable[T]] struct { +} + +// Equals2 is a custom comparator for ATNConfigs specifically for configLookup +func (c *ATNConfigComparator[T]) Equals2(o1, o2 *ATNConfig) bool { + + // Same pointer, must be equal, even if both nil + // + if o1 == o2 { + return true + + } + + // If either are nil, but not both, then the result is false + // + if o1 == nil || o2 == nil { + return false + } + + return o1.GetState().GetStateNumber() == o2.GetState().GetStateNumber() && + o1.GetAlt() == o2.GetAlt() && + o1.GetSemanticContext().Equals(o2.GetSemanticContext()) +} + +// Hash1 is custom hash implementation for ATNConfigs specifically for configLookup +func (c *ATNConfigComparator[T]) Hash1(o *ATNConfig) int { + + hash := 7 + hash = 31*hash + o.GetState().GetStateNumber() + hash = 31*hash + o.GetAlt() + hash = 31*hash + o.GetSemanticContext().Hash() + return hash +} + +// ATNAltConfigComparator is used as the comparator for mapping configs to Alt Bitsets +type ATNAltConfigComparator[T Collectable[T]] struct { +} + +// Equals2 is a custom comparator for ATNConfigs specifically for configLookup +func (c *ATNAltConfigComparator[T]) Equals2(o1, o2 *ATNConfig) bool { + + // Same pointer, must be equal, even if both nil + // + if o1 == o2 { + return true + + } + + // If either are nil, but not both, then the result is false + // + if o1 == nil || o2 == nil { + return false + } + + return o1.GetState().GetStateNumber() == o2.GetState().GetStateNumber() && + o1.GetContext().Equals(o2.GetContext()) +} + +// Hash1 is custom hash implementation for ATNConfigs specifically for configLookup +func (c *ATNAltConfigComparator[T]) Hash1(o *ATNConfig) int { + h := murmurInit(7) + h = murmurUpdate(h, o.GetState().GetStateNumber()) + h = murmurUpdate(h, o.GetContext().Hash()) + return murmurFinish(h, 2) +} + +// BaseATNConfigComparator is used as the comparator for the configLookup field of a ATNConfigSet +// and has a custom Equals() and Hash() implementation, because equality is not based on the +// standard Hash() and Equals() methods of the ATNConfig type. +type BaseATNConfigComparator[T Collectable[T]] struct { +} + +// Equals2 is a custom comparator for ATNConfigs specifically for baseATNConfigSet +func (c *BaseATNConfigComparator[T]) Equals2(o1, o2 *ATNConfig) bool { + + // Same pointer, must be equal, even if both nil + // + if o1 == o2 { + return true + + } + + // If either are nil, but not both, then the result is false + // + if o1 == nil || o2 == nil { + return false + } + + return o1.GetState().GetStateNumber() == o2.GetState().GetStateNumber() && + o1.GetAlt() == o2.GetAlt() && + o1.GetSemanticContext().Equals(o2.GetSemanticContext()) +} + +// Hash1 is custom hash implementation for ATNConfigs specifically for configLookup, but in fact just +// delegates to the standard Hash() method of the ATNConfig type. +func (c *BaseATNConfigComparator[T]) Hash1(o *ATNConfig) int { + return o.Hash() +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/configuration.go b/vendor/github.com/antlr4-go/antlr/v4/configuration.go new file mode 100644 index 000000000..c2b724514 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/configuration.go @@ -0,0 +1,214 @@ +package antlr + +type runtimeConfiguration struct { + statsTraceStacks bool + lexerATNSimulatorDebug bool + lexerATNSimulatorDFADebug bool + parserATNSimulatorDebug bool + parserATNSimulatorTraceATNSim bool + parserATNSimulatorDFADebug bool + parserATNSimulatorRetryDebug bool + lRLoopEntryBranchOpt bool + memoryManager bool +} + +// Global runtime configuration +var runtimeConfig = runtimeConfiguration{ + lRLoopEntryBranchOpt: true, +} + +type runtimeOption func(*runtimeConfiguration) error + +// ConfigureRuntime allows the runtime to be configured globally setting things like trace and statistics options. +// It uses the functional options pattern for go. This is a package global function as it operates on the runtime +// configuration regardless of the instantiation of anything higher up such as a parser or lexer. Generally this is +// used for debugging/tracing/statistics options, which are usually used by the runtime maintainers (or rather the +// only maintainer). However, it is possible that you might want to use this to set a global option concerning the +// memory allocation type used by the runtime such as sync.Pool or not. +// +// The options are applied in the order they are passed in, so the last option will override any previous options. +// +// For example, if you want to turn on the collection create point stack flag to true, you can do: +// +// antlr.ConfigureRuntime(antlr.WithStatsTraceStacks(true)) +// +// If you want to turn it off, you can do: +// +// antlr.ConfigureRuntime(antlr.WithStatsTraceStacks(false)) +func ConfigureRuntime(options ...runtimeOption) error { + for _, option := range options { + err := option(&runtimeConfig) + if err != nil { + return err + } + } + return nil +} + +// WithStatsTraceStacks sets the global flag indicating whether to collect stack traces at the create-point of +// certain structs, such as collections, or the use point of certain methods such as Put(). +// Because this can be expensive, it is turned off by default. However, it +// can be useful to track down exactly where memory is being created and used. +// +// Use: +// +// antlr.ConfigureRuntime(antlr.WithStatsTraceStacks(true)) +// +// You can turn it off at any time using: +// +// antlr.ConfigureRuntime(antlr.WithStatsTraceStacks(false)) +func WithStatsTraceStacks(trace bool) runtimeOption { + return func(config *runtimeConfiguration) error { + config.statsTraceStacks = trace + return nil + } +} + +// WithLexerATNSimulatorDebug sets the global flag indicating whether to log debug information from the lexer [ATN] +// simulator. This is useful for debugging lexer issues by comparing the output with the Java runtime. Only useful +// to the runtime maintainers. +// +// Use: +// +// antlr.ConfigureRuntime(antlr.WithLexerATNSimulatorDebug(true)) +// +// You can turn it off at any time using: +// +// antlr.ConfigureRuntime(antlr.WithLexerATNSimulatorDebug(false)) +func WithLexerATNSimulatorDebug(debug bool) runtimeOption { + return func(config *runtimeConfiguration) error { + config.lexerATNSimulatorDebug = debug + return nil + } +} + +// WithLexerATNSimulatorDFADebug sets the global flag indicating whether to log debug information from the lexer [ATN] [DFA] +// simulator. This is useful for debugging lexer issues by comparing the output with the Java runtime. Only useful +// to the runtime maintainers. +// +// Use: +// +// antlr.ConfigureRuntime(antlr.WithLexerATNSimulatorDFADebug(true)) +// +// You can turn it off at any time using: +// +// antlr.ConfigureRuntime(antlr.WithLexerATNSimulatorDFADebug(false)) +func WithLexerATNSimulatorDFADebug(debug bool) runtimeOption { + return func(config *runtimeConfiguration) error { + config.lexerATNSimulatorDFADebug = debug + return nil + } +} + +// WithParserATNSimulatorDebug sets the global flag indicating whether to log debug information from the parser [ATN] +// simulator. This is useful for debugging parser issues by comparing the output with the Java runtime. Only useful +// to the runtime maintainers. +// +// Use: +// +// antlr.ConfigureRuntime(antlr.WithParserATNSimulatorDebug(true)) +// +// You can turn it off at any time using: +// +// antlr.ConfigureRuntime(antlr.WithParserATNSimulatorDebug(false)) +func WithParserATNSimulatorDebug(debug bool) runtimeOption { + return func(config *runtimeConfiguration) error { + config.parserATNSimulatorDebug = debug + return nil + } +} + +// WithParserATNSimulatorTraceATNSim sets the global flag indicating whether to log trace information from the parser [ATN] simulator +// [DFA]. This is useful for debugging parser issues by comparing the output with the Java runtime. Only useful +// to the runtime maintainers. +// +// Use: +// +// antlr.ConfigureRuntime(antlr.WithParserATNSimulatorTraceATNSim(true)) +// +// You can turn it off at any time using: +// +// antlr.ConfigureRuntime(antlr.WithParserATNSimulatorTraceATNSim(false)) +func WithParserATNSimulatorTraceATNSim(trace bool) runtimeOption { + return func(config *runtimeConfiguration) error { + config.parserATNSimulatorTraceATNSim = trace + return nil + } +} + +// WithParserATNSimulatorDFADebug sets the global flag indicating whether to log debug information from the parser [ATN] [DFA] +// simulator. This is useful for debugging parser issues by comparing the output with the Java runtime. Only useful +// to the runtime maintainers. +// +// Use: +// +// antlr.ConfigureRuntime(antlr.WithParserATNSimulatorDFADebug(true)) +// +// You can turn it off at any time using: +// +// antlr.ConfigureRuntime(antlr.WithParserATNSimulatorDFADebug(false)) +func WithParserATNSimulatorDFADebug(debug bool) runtimeOption { + return func(config *runtimeConfiguration) error { + config.parserATNSimulatorDFADebug = debug + return nil + } +} + +// WithParserATNSimulatorRetryDebug sets the global flag indicating whether to log debug information from the parser [ATN] [DFA] +// simulator when retrying a decision. This is useful for debugging parser issues by comparing the output with the Java runtime. +// Only useful to the runtime maintainers. +// +// Use: +// +// antlr.ConfigureRuntime(antlr.WithParserATNSimulatorRetryDebug(true)) +// +// You can turn it off at any time using: +// +// antlr.ConfigureRuntime(antlr.WithParserATNSimulatorRetryDebug(false)) +func WithParserATNSimulatorRetryDebug(debug bool) runtimeOption { + return func(config *runtimeConfiguration) error { + config.parserATNSimulatorRetryDebug = debug + return nil + } +} + +// WithLRLoopEntryBranchOpt sets the global flag indicating whether let recursive loop operations should be +// optimized or not. This is useful for debugging parser issues by comparing the output with the Java runtime. +// It turns off the functionality of [canDropLoopEntryEdgeInLeftRecursiveRule] in [ParserATNSimulator]. +// +// Note that default is to use this optimization. +// +// Use: +// +// antlr.ConfigureRuntime(antlr.WithLRLoopEntryBranchOpt(true)) +// +// You can turn it off at any time using: +// +// antlr.ConfigureRuntime(antlr.WithLRLoopEntryBranchOpt(false)) +func WithLRLoopEntryBranchOpt(off bool) runtimeOption { + return func(config *runtimeConfiguration) error { + config.lRLoopEntryBranchOpt = off + return nil + } +} + +// WithMemoryManager sets the global flag indicating whether to use the memory manager or not. This is useful +// for poorly constructed grammars that create a lot of garbage. It turns on the functionality of [memoryManager], which +// will intercept garbage collection and cause available memory to be reused. At the end of the day, this is no substitute +// for fixing your grammar by ridding yourself of extreme ambiguity. BUt if you are just trying to reuse an opensource +// grammar, this may help make it more practical. +// +// Note that default is to use normal Go memory allocation and not pool memory. +// +// Use: +// +// antlr.ConfigureRuntime(antlr.WithMemoryManager(true)) +// +// Note that if you turn this on, you should probably leave it on. You should use only one memory strategy or the other +// and should remember to nil out any references to the parser or lexer when you are done with them. +func WithMemoryManager(use bool) runtimeOption { + return func(config *runtimeConfiguration) error { + config.memoryManager = use + return nil + } +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/dfa.go b/vendor/github.com/antlr4-go/antlr/v4/dfa.go new file mode 100644 index 000000000..6b63eb158 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/dfa.go @@ -0,0 +1,175 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +// DFA represents the Deterministic Finite Automaton used by the recognizer, including all the states it can +// reach and the transitions between them. +type DFA struct { + // atnStartState is the ATN state in which this was created + atnStartState DecisionState + + decision int + + // states is all the DFA states. Use Map to get the old state back; Set can only + // indicate whether it is there. Go maps implement key hash collisions and so on and are very + // good, but the DFAState is an object and can't be used directly as the key as it can in say Java + // amd C#, whereby if the hashcode is the same for two objects, then Equals() is called against them + // to see if they really are the same object. Hence, we have our own map storage. + // + states *JStore[*DFAState, *ObjEqComparator[*DFAState]] + + numstates int + + s0 *DFAState + + // precedenceDfa is the backing field for isPrecedenceDfa and setPrecedenceDfa. + // True if the DFA is for a precedence decision and false otherwise. + precedenceDfa bool +} + +func NewDFA(atnStartState DecisionState, decision int) *DFA { + dfa := &DFA{ + atnStartState: atnStartState, + decision: decision, + states: nil, // Lazy initialize + } + if s, ok := atnStartState.(*StarLoopEntryState); ok && s.precedenceRuleDecision { + dfa.precedenceDfa = true + dfa.s0 = NewDFAState(-1, NewATNConfigSet(false)) + dfa.s0.isAcceptState = false + dfa.s0.requiresFullContext = false + } + return dfa +} + +// getPrecedenceStartState gets the start state for the current precedence and +// returns the start state corresponding to the specified precedence if a start +// state exists for the specified precedence and nil otherwise. d must be a +// precedence DFA. See also isPrecedenceDfa. +func (d *DFA) getPrecedenceStartState(precedence int) *DFAState { + if !d.getPrecedenceDfa() { + panic("only precedence DFAs may contain a precedence start state") + } + + // s0.edges is never nil for a precedence DFA + if precedence < 0 || precedence >= len(d.getS0().getEdges()) { + return nil + } + + return d.getS0().getIthEdge(precedence) +} + +// setPrecedenceStartState sets the start state for the current precedence. d +// must be a precedence DFA. See also isPrecedenceDfa. +func (d *DFA) setPrecedenceStartState(precedence int, startState *DFAState) { + if !d.getPrecedenceDfa() { + panic("only precedence DFAs may contain a precedence start state") + } + + if precedence < 0 { + return + } + + // Synchronization on s0 here is ok. When the DFA is turned into a + // precedence DFA, s0 will be initialized once and not updated again. s0.edges + // is never nil for a precedence DFA. + s0 := d.getS0() + if precedence >= s0.numEdges() { + edges := append(s0.getEdges(), make([]*DFAState, precedence+1-s0.numEdges())...) + s0.setEdges(edges) + d.setS0(s0) + } + + s0.setIthEdge(precedence, startState) +} + +func (d *DFA) getPrecedenceDfa() bool { + return d.precedenceDfa +} + +// setPrecedenceDfa sets whether d is a precedence DFA. If precedenceDfa differs +// from the current DFA configuration, then d.states is cleared, the initial +// state s0 is set to a new DFAState with an empty outgoing DFAState.edges to +// store the start states for individual precedence values if precedenceDfa is +// true or nil otherwise, and d.precedenceDfa is updated. +func (d *DFA) setPrecedenceDfa(precedenceDfa bool) { + if d.getPrecedenceDfa() != precedenceDfa { + d.states = nil // Lazy initialize + d.numstates = 0 + + if precedenceDfa { + precedenceState := NewDFAState(-1, NewATNConfigSet(false)) + precedenceState.setEdges(make([]*DFAState, 0)) + precedenceState.isAcceptState = false + precedenceState.requiresFullContext = false + d.setS0(precedenceState) + } else { + d.setS0(nil) + } + + d.precedenceDfa = precedenceDfa + } +} + +// Len returns the number of states in d. We use this instead of accessing states directly so that we can implement lazy +// instantiation of the states JMap. +func (d *DFA) Len() int { + if d.states == nil { + return 0 + } + return d.states.Len() +} + +// Get returns a state that matches s if it is present in the DFA state set. We defer to this +// function instead of accessing states directly so that we can implement lazy instantiation of the states JMap. +func (d *DFA) Get(s *DFAState) (*DFAState, bool) { + if d.states == nil { + return nil, false + } + return d.states.Get(s) +} + +func (d *DFA) Put(s *DFAState) (*DFAState, bool) { + if d.states == nil { + d.states = NewJStore[*DFAState, *ObjEqComparator[*DFAState]](dfaStateEqInst, DFAStateCollection, "DFA via DFA.Put") + } + return d.states.Put(s) +} + +func (d *DFA) getS0() *DFAState { + return d.s0 +} + +func (d *DFA) setS0(s *DFAState) { + d.s0 = s +} + +// sortedStates returns the states in d sorted by their state number, or an empty set if d.states is nil. +func (d *DFA) sortedStates() []*DFAState { + if d.states == nil { + return []*DFAState{} + } + vs := d.states.SortedSlice(func(i, j *DFAState) bool { + return i.stateNumber < j.stateNumber + }) + + return vs +} + +func (d *DFA) String(literalNames []string, symbolicNames []string) string { + if d.getS0() == nil { + return "" + } + + return NewDFASerializer(d, literalNames, symbolicNames).String() +} + +func (d *DFA) ToLexerString() string { + if d.getS0() == nil { + return "" + } + + return NewLexerDFASerializer(d).String() +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/dfa_serializer.go b/vendor/github.com/antlr4-go/antlr/v4/dfa_serializer.go new file mode 100644 index 000000000..0e1100989 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/dfa_serializer.go @@ -0,0 +1,158 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "fmt" + "strconv" + "strings" +) + +// DFASerializer is a DFA walker that knows how to dump the DFA states to serialized +// strings. +type DFASerializer struct { + dfa *DFA + literalNames []string + symbolicNames []string +} + +func NewDFASerializer(dfa *DFA, literalNames, symbolicNames []string) *DFASerializer { + if literalNames == nil { + literalNames = make([]string, 0) + } + + if symbolicNames == nil { + symbolicNames = make([]string, 0) + } + + return &DFASerializer{ + dfa: dfa, + literalNames: literalNames, + symbolicNames: symbolicNames, + } +} + +func (d *DFASerializer) String() string { + if d.dfa.getS0() == nil { + return "" + } + + buf := "" + states := d.dfa.sortedStates() + + for _, s := range states { + if s.edges != nil { + n := len(s.edges) + + for j := 0; j < n; j++ { + t := s.edges[j] + + if t != nil && t.stateNumber != 0x7FFFFFFF { + buf += d.GetStateString(s) + buf += "-" + buf += d.getEdgeLabel(j) + buf += "->" + buf += d.GetStateString(t) + buf += "\n" + } + } + } + } + + if len(buf) == 0 { + return "" + } + + return buf +} + +func (d *DFASerializer) getEdgeLabel(i int) string { + if i == 0 { + return "EOF" + } else if d.literalNames != nil && i-1 < len(d.literalNames) { + return d.literalNames[i-1] + } else if d.symbolicNames != nil && i-1 < len(d.symbolicNames) { + return d.symbolicNames[i-1] + } + + return strconv.Itoa(i - 1) +} + +func (d *DFASerializer) GetStateString(s *DFAState) string { + var a, b string + + if s.isAcceptState { + a = ":" + } + + if s.requiresFullContext { + b = "^" + } + + baseStateStr := a + "s" + strconv.Itoa(s.stateNumber) + b + + if s.isAcceptState { + if s.predicates != nil { + return baseStateStr + "=>" + fmt.Sprint(s.predicates) + } + + return baseStateStr + "=>" + fmt.Sprint(s.prediction) + } + + return baseStateStr +} + +type LexerDFASerializer struct { + *DFASerializer +} + +func NewLexerDFASerializer(dfa *DFA) *LexerDFASerializer { + return &LexerDFASerializer{DFASerializer: NewDFASerializer(dfa, nil, nil)} +} + +func (l *LexerDFASerializer) getEdgeLabel(i int) string { + var sb strings.Builder + sb.Grow(6) + sb.WriteByte('\'') + sb.WriteRune(rune(i)) + sb.WriteByte('\'') + return sb.String() +} + +func (l *LexerDFASerializer) String() string { + if l.dfa.getS0() == nil { + return "" + } + + buf := "" + states := l.dfa.sortedStates() + + for i := 0; i < len(states); i++ { + s := states[i] + + if s.edges != nil { + n := len(s.edges) + + for j := 0; j < n; j++ { + t := s.edges[j] + + if t != nil && t.stateNumber != 0x7FFFFFFF { + buf += l.GetStateString(s) + buf += "-" + buf += l.getEdgeLabel(j) + buf += "->" + buf += l.GetStateString(t) + buf += "\n" + } + } + } + } + + if len(buf) == 0 { + return "" + } + + return buf +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/dfa_state.go b/vendor/github.com/antlr4-go/antlr/v4/dfa_state.go new file mode 100644 index 000000000..654143074 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/dfa_state.go @@ -0,0 +1,170 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "fmt" +) + +// PredPrediction maps a predicate to a predicted alternative. +type PredPrediction struct { + alt int + pred SemanticContext +} + +func NewPredPrediction(pred SemanticContext, alt int) *PredPrediction { + return &PredPrediction{alt: alt, pred: pred} +} + +func (p *PredPrediction) String() string { + return "(" + fmt.Sprint(p.pred) + ", " + fmt.Sprint(p.alt) + ")" +} + +// DFAState represents a set of possible [ATN] configurations. As Aho, Sethi, +// Ullman p. 117 says: "The DFA uses its state to keep track of all possible +// states the ATN can be in after reading each input symbol. That is to say, +// after reading input a1, a2,..an, the DFA is in a state that represents the +// subset T of the states of the ATN that are reachable from the ATN's start +// state along some path labeled a1a2..an." +// +// In conventional NFA-to-DFA conversion, therefore, the subset T would be a bitset representing the set of +// states the [ATN] could be in. We need to track the alt predicted by each state +// as well, however. More importantly, we need to maintain a stack of states, +// tracking the closure operations as they jump from rule to rule, emulating +// rule invocations (method calls). I have to add a stack to simulate the proper +// lookahead sequences for the underlying LL grammar from which the ATN was +// derived. +// +// I use a set of [ATNConfig] objects, not simple states. An [ATNConfig] is both a +// state (ala normal conversion) and a [RuleContext] describing the chain of rules +// (if any) followed to arrive at that state. +// +// A [DFAState] may have multiple references to a particular state, but with +// different [ATN] contexts (with same or different alts) meaning that state was +// reached via a different set of rule invocations. +type DFAState struct { + stateNumber int + configs *ATNConfigSet + + // edges elements point to the target of the symbol. Shift up by 1 so (-1) + // Token.EOF maps to the first element. + edges []*DFAState + + isAcceptState bool + + // prediction is the 'ttype' we match or alt we predict if the state is 'accept'. + // Set to ATN.INVALID_ALT_NUMBER when predicates != nil or + // requiresFullContext. + prediction int + + lexerActionExecutor *LexerActionExecutor + + // requiresFullContext indicates it was created during an SLL prediction that + // discovered a conflict between the configurations in the state. Future + // ParserATNSimulator.execATN invocations immediately jump doing + // full context prediction if true. + requiresFullContext bool + + // predicates is the predicates associated with the ATN configurations of the + // DFA state during SLL parsing. When we have predicates, requiresFullContext + // is false, since full context prediction evaluates predicates on-the-fly. If + // d is + // not nil, then prediction is ATN.INVALID_ALT_NUMBER. + // + // We only use these for non-requiresFullContext but conflicting states. That + // means we know from the context (it's $ or we don't dip into outer context) + // that it's an ambiguity not a conflict. + // + // This list is computed by + // ParserATNSimulator.predicateDFAState. + predicates []*PredPrediction +} + +func NewDFAState(stateNumber int, configs *ATNConfigSet) *DFAState { + if configs == nil { + configs = NewATNConfigSet(false) + } + + return &DFAState{configs: configs, stateNumber: stateNumber} +} + +// GetAltSet gets the set of all alts mentioned by all ATN configurations in d. +func (d *DFAState) GetAltSet() []int { + var alts []int + + if d.configs != nil { + for _, c := range d.configs.configs { + alts = append(alts, c.GetAlt()) + } + } + + if len(alts) == 0 { + return nil + } + + return alts +} + +func (d *DFAState) getEdges() []*DFAState { + return d.edges +} + +func (d *DFAState) numEdges() int { + return len(d.edges) +} + +func (d *DFAState) getIthEdge(i int) *DFAState { + return d.edges[i] +} + +func (d *DFAState) setEdges(newEdges []*DFAState) { + d.edges = newEdges +} + +func (d *DFAState) setIthEdge(i int, edge *DFAState) { + d.edges[i] = edge +} + +func (d *DFAState) setPrediction(v int) { + d.prediction = v +} + +func (d *DFAState) String() string { + var s string + if d.isAcceptState { + if d.predicates != nil { + s = "=>" + fmt.Sprint(d.predicates) + } else { + s = "=>" + fmt.Sprint(d.prediction) + } + } + + return fmt.Sprintf("%d:%s%s", d.stateNumber, fmt.Sprint(d.configs), s) +} + +func (d *DFAState) Hash() int { + h := murmurInit(7) + h = murmurUpdate(h, d.configs.Hash()) + return murmurFinish(h, 1) +} + +// Equals returns whether d equals other. Two DFAStates are equal if their ATN +// configuration sets are the same. This method is used to see if a state +// already exists. +// +// Because the number of alternatives and number of ATN configurations are +// finite, there is a finite number of DFA states that can be processed. This is +// necessary to show that the algorithm terminates. +// +// Cannot test the DFA state numbers here because in +// ParserATNSimulator.addDFAState we need to know if any other state exists that +// has d exact set of ATN configurations. The stateNumber is irrelevant. +func (d *DFAState) Equals(o Collectable[*DFAState]) bool { + if d == o { + return true + } + + return d.configs.Equals(o.(*DFAState).configs) +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/diagnostic_error_listener.go b/vendor/github.com/antlr4-go/antlr/v4/diagnostic_error_listener.go new file mode 100644 index 000000000..bd2cd8bc3 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/diagnostic_error_listener.go @@ -0,0 +1,110 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "strconv" +) + +// +// This implementation of {@link ANTLRErrorListener} can be used to identify +// certain potential correctness and performance problems in grammars. "reports" +// are made by calling {@link Parser//NotifyErrorListeners} with the appropriate +// message. +// +//
    +//
  • Ambiguities: These are cases where more than one path through the +// grammar can Match the input.
  • +//
  • Weak context sensitivity: These are cases where full-context +// prediction resolved an SLL conflict to a unique alternative which equaled the +// minimum alternative of the SLL conflict.
  • +//
  • Strong (forced) context sensitivity: These are cases where the +// full-context prediction resolved an SLL conflict to a unique alternative, +// and the minimum alternative of the SLL conflict was found to not be +// a truly viable alternative. Two-stage parsing cannot be used for inputs where +// d situation occurs.
  • +//
+ +type DiagnosticErrorListener struct { + *DefaultErrorListener + + exactOnly bool +} + +//goland:noinspection GoUnusedExportedFunction +func NewDiagnosticErrorListener(exactOnly bool) *DiagnosticErrorListener { + + n := new(DiagnosticErrorListener) + + // whether all ambiguities or only exact ambiguities are Reported. + n.exactOnly = exactOnly + return n +} + +func (d *DiagnosticErrorListener) ReportAmbiguity(recognizer Parser, dfa *DFA, startIndex, stopIndex int, exact bool, ambigAlts *BitSet, configs *ATNConfigSet) { + if d.exactOnly && !exact { + return + } + msg := "reportAmbiguity d=" + + d.getDecisionDescription(recognizer, dfa) + + ": ambigAlts=" + + d.getConflictingAlts(ambigAlts, configs).String() + + ", input='" + + recognizer.GetTokenStream().GetTextFromInterval(NewInterval(startIndex, stopIndex)) + "'" + recognizer.NotifyErrorListeners(msg, nil, nil) +} + +func (d *DiagnosticErrorListener) ReportAttemptingFullContext(recognizer Parser, dfa *DFA, startIndex, stopIndex int, _ *BitSet, _ *ATNConfigSet) { + + msg := "reportAttemptingFullContext d=" + + d.getDecisionDescription(recognizer, dfa) + + ", input='" + + recognizer.GetTokenStream().GetTextFromInterval(NewInterval(startIndex, stopIndex)) + "'" + recognizer.NotifyErrorListeners(msg, nil, nil) +} + +func (d *DiagnosticErrorListener) ReportContextSensitivity(recognizer Parser, dfa *DFA, startIndex, stopIndex, _ int, _ *ATNConfigSet) { + msg := "reportContextSensitivity d=" + + d.getDecisionDescription(recognizer, dfa) + + ", input='" + + recognizer.GetTokenStream().GetTextFromInterval(NewInterval(startIndex, stopIndex)) + "'" + recognizer.NotifyErrorListeners(msg, nil, nil) +} + +func (d *DiagnosticErrorListener) getDecisionDescription(recognizer Parser, dfa *DFA) string { + decision := dfa.decision + ruleIndex := dfa.atnStartState.GetRuleIndex() + + ruleNames := recognizer.GetRuleNames() + if ruleIndex < 0 || ruleIndex >= len(ruleNames) { + return strconv.Itoa(decision) + } + ruleName := ruleNames[ruleIndex] + if ruleName == "" { + return strconv.Itoa(decision) + } + return strconv.Itoa(decision) + " (" + ruleName + ")" +} + +// Computes the set of conflicting or ambiguous alternatives from a +// configuration set, if that information was not already provided by the +// parser. +// +// @param ReportedAlts The set of conflicting or ambiguous alternatives, as +// Reported by the parser. +// @param configs The conflicting or ambiguous configuration set. +// @return Returns {@code ReportedAlts} if it is not {@code nil}, otherwise +// returns the set of alternatives represented in {@code configs}. +func (d *DiagnosticErrorListener) getConflictingAlts(ReportedAlts *BitSet, set *ATNConfigSet) *BitSet { + if ReportedAlts != nil { + return ReportedAlts + } + result := NewBitSet() + for _, c := range set.configs { + result.add(c.GetAlt()) + } + + return result +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/error_listener.go b/vendor/github.com/antlr4-go/antlr/v4/error_listener.go new file mode 100644 index 000000000..21a021643 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/error_listener.go @@ -0,0 +1,100 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "fmt" + "os" + "strconv" +) + +// Provides an empty default implementation of {@link ANTLRErrorListener}. The +// default implementation of each method does nothing, but can be overridden as +// necessary. + +type ErrorListener interface { + SyntaxError(recognizer Recognizer, offendingSymbol interface{}, line, column int, msg string, e RecognitionException) + ReportAmbiguity(recognizer Parser, dfa *DFA, startIndex, stopIndex int, exact bool, ambigAlts *BitSet, configs *ATNConfigSet) + ReportAttemptingFullContext(recognizer Parser, dfa *DFA, startIndex, stopIndex int, conflictingAlts *BitSet, configs *ATNConfigSet) + ReportContextSensitivity(recognizer Parser, dfa *DFA, startIndex, stopIndex, prediction int, configs *ATNConfigSet) +} + +type DefaultErrorListener struct { +} + +//goland:noinspection GoUnusedExportedFunction +func NewDefaultErrorListener() *DefaultErrorListener { + return new(DefaultErrorListener) +} + +func (d *DefaultErrorListener) SyntaxError(_ Recognizer, _ interface{}, _, _ int, _ string, _ RecognitionException) { +} + +func (d *DefaultErrorListener) ReportAmbiguity(_ Parser, _ *DFA, _, _ int, _ bool, _ *BitSet, _ *ATNConfigSet) { +} + +func (d *DefaultErrorListener) ReportAttemptingFullContext(_ Parser, _ *DFA, _, _ int, _ *BitSet, _ *ATNConfigSet) { +} + +func (d *DefaultErrorListener) ReportContextSensitivity(_ Parser, _ *DFA, _, _, _ int, _ *ATNConfigSet) { +} + +type ConsoleErrorListener struct { + *DefaultErrorListener +} + +func NewConsoleErrorListener() *ConsoleErrorListener { + return new(ConsoleErrorListener) +} + +// ConsoleErrorListenerINSTANCE provides a default instance of {@link ConsoleErrorListener}. +var ConsoleErrorListenerINSTANCE = NewConsoleErrorListener() + +// SyntaxError prints messages to System.err containing the +// values of line, charPositionInLine, and msg using +// the following format: +// +// line : +func (c *ConsoleErrorListener) SyntaxError(_ Recognizer, _ interface{}, line, column int, msg string, _ RecognitionException) { + _, _ = fmt.Fprintln(os.Stderr, "line "+strconv.Itoa(line)+":"+strconv.Itoa(column)+" "+msg) +} + +type ProxyErrorListener struct { + *DefaultErrorListener + delegates []ErrorListener +} + +func NewProxyErrorListener(delegates []ErrorListener) *ProxyErrorListener { + if delegates == nil { + panic("delegates is not provided") + } + l := new(ProxyErrorListener) + l.delegates = delegates + return l +} + +func (p *ProxyErrorListener) SyntaxError(recognizer Recognizer, offendingSymbol interface{}, line, column int, msg string, e RecognitionException) { + for _, d := range p.delegates { + d.SyntaxError(recognizer, offendingSymbol, line, column, msg, e) + } +} + +func (p *ProxyErrorListener) ReportAmbiguity(recognizer Parser, dfa *DFA, startIndex, stopIndex int, exact bool, ambigAlts *BitSet, configs *ATNConfigSet) { + for _, d := range p.delegates { + d.ReportAmbiguity(recognizer, dfa, startIndex, stopIndex, exact, ambigAlts, configs) + } +} + +func (p *ProxyErrorListener) ReportAttemptingFullContext(recognizer Parser, dfa *DFA, startIndex, stopIndex int, conflictingAlts *BitSet, configs *ATNConfigSet) { + for _, d := range p.delegates { + d.ReportAttemptingFullContext(recognizer, dfa, startIndex, stopIndex, conflictingAlts, configs) + } +} + +func (p *ProxyErrorListener) ReportContextSensitivity(recognizer Parser, dfa *DFA, startIndex, stopIndex, prediction int, configs *ATNConfigSet) { + for _, d := range p.delegates { + d.ReportContextSensitivity(recognizer, dfa, startIndex, stopIndex, prediction, configs) + } +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/error_strategy.go b/vendor/github.com/antlr4-go/antlr/v4/error_strategy.go new file mode 100644 index 000000000..9db2be1c7 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/error_strategy.go @@ -0,0 +1,702 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "fmt" + "reflect" + "strconv" + "strings" +) + +type ErrorStrategy interface { + reset(Parser) + RecoverInline(Parser) Token + Recover(Parser, RecognitionException) + Sync(Parser) + InErrorRecoveryMode(Parser) bool + ReportError(Parser, RecognitionException) + ReportMatch(Parser) +} + +// DefaultErrorStrategy is the default implementation of ANTLRErrorStrategy used for +// error reporting and recovery in ANTLR parsers. +type DefaultErrorStrategy struct { + errorRecoveryMode bool + lastErrorIndex int + lastErrorStates *IntervalSet +} + +var _ ErrorStrategy = &DefaultErrorStrategy{} + +func NewDefaultErrorStrategy() *DefaultErrorStrategy { + + d := new(DefaultErrorStrategy) + + // Indicates whether the error strategy is currently "recovering from an + // error". This is used to suppress Reporting multiple error messages while + // attempting to recover from a detected syntax error. + // + // @see //InErrorRecoveryMode + // + d.errorRecoveryMode = false + + // The index into the input stream where the last error occurred. + // This is used to prevent infinite loops where an error is found + // but no token is consumed during recovery...another error is found, + // ad nauseam. This is a failsafe mechanism to guarantee that at least + // one token/tree node is consumed for two errors. + // + d.lastErrorIndex = -1 + d.lastErrorStates = nil + return d +} + +//

The default implementation simply calls {@link //endErrorCondition} to +// ensure that the handler is not in error recovery mode.

+func (d *DefaultErrorStrategy) reset(recognizer Parser) { + d.endErrorCondition(recognizer) +} + +// This method is called to enter error recovery mode when a recognition +// exception is Reported. +func (d *DefaultErrorStrategy) beginErrorCondition(_ Parser) { + d.errorRecoveryMode = true +} + +func (d *DefaultErrorStrategy) InErrorRecoveryMode(_ Parser) bool { + return d.errorRecoveryMode +} + +// This method is called to leave error recovery mode after recovering from +// a recognition exception. +func (d *DefaultErrorStrategy) endErrorCondition(_ Parser) { + d.errorRecoveryMode = false + d.lastErrorStates = nil + d.lastErrorIndex = -1 +} + +// ReportMatch is the default implementation of error matching and simply calls endErrorCondition. +func (d *DefaultErrorStrategy) ReportMatch(recognizer Parser) { + d.endErrorCondition(recognizer) +} + +// ReportError is the default implementation of error reporting. +// It returns immediately if the handler is already +// in error recovery mode. Otherwise, it calls [beginErrorCondition] +// and dispatches the Reporting task based on the runtime type of e +// according to the following table. +// +// [NoViableAltException] : Dispatches the call to [ReportNoViableAlternative] +// [InputMisMatchException] : Dispatches the call to [ReportInputMisMatch] +// [FailedPredicateException] : Dispatches the call to [ReportFailedPredicate] +// All other types : Calls [NotifyErrorListeners] to Report the exception +func (d *DefaultErrorStrategy) ReportError(recognizer Parser, e RecognitionException) { + // if we've already Reported an error and have not Matched a token + // yet successfully, don't Report any errors. + if d.InErrorRecoveryMode(recognizer) { + return // don't Report spurious errors + } + d.beginErrorCondition(recognizer) + + switch t := e.(type) { + default: + fmt.Println("unknown recognition error type: " + reflect.TypeOf(e).Name()) + // fmt.Println(e.stack) + recognizer.NotifyErrorListeners(e.GetMessage(), e.GetOffendingToken(), e) + case *NoViableAltException: + d.ReportNoViableAlternative(recognizer, t) + case *InputMisMatchException: + d.ReportInputMisMatch(recognizer, t) + case *FailedPredicateException: + d.ReportFailedPredicate(recognizer, t) + } +} + +// Recover is the default recovery implementation. +// It reSynchronizes the parser by consuming tokens until we find one in the reSynchronization set - +// loosely the set of tokens that can follow the current rule. +func (d *DefaultErrorStrategy) Recover(recognizer Parser, _ RecognitionException) { + + if d.lastErrorIndex == recognizer.GetInputStream().Index() && + d.lastErrorStates != nil && d.lastErrorStates.contains(recognizer.GetState()) { + // uh oh, another error at same token index and previously-Visited + // state in ATN must be a case where LT(1) is in the recovery + // token set so nothing got consumed. Consume a single token + // at least to prevent an infinite loop d is a failsafe. + recognizer.Consume() + } + d.lastErrorIndex = recognizer.GetInputStream().Index() + if d.lastErrorStates == nil { + d.lastErrorStates = NewIntervalSet() + } + d.lastErrorStates.addOne(recognizer.GetState()) + followSet := d.GetErrorRecoverySet(recognizer) + d.consumeUntil(recognizer, followSet) +} + +// Sync is the default implementation of error strategy synchronization. +// +// This Sync makes sure that the current lookahead symbol is consistent with what were expecting +// at this point in the [ATN]. You can call this anytime but ANTLR only +// generates code to check before sub-rules/loops and each iteration. +// +// Implements [Jim Idle]'s magic Sync mechanism in closures and optional +// sub-rules. E.g.: +// +// a : Sync ( stuff Sync )* +// Sync : {consume to what can follow Sync} +// +// At the start of a sub-rule upon error, Sync performs single +// token deletion, if possible. If it can't do that, it bails on the current +// rule and uses the default error recovery, which consumes until the +// reSynchronization set of the current rule. +// +// If the sub-rule is optional +// +// ({@code (...)?}, {@code (...)*}, +// +// or a block with an empty alternative), then the expected set includes what follows +// the sub-rule. +// +// During loop iteration, it consumes until it sees a token that can start a +// sub-rule or what follows loop. Yes, that is pretty aggressive. We opt to +// stay in the loop as long as possible. +// +// # Origins +// +// Previous versions of ANTLR did a poor job of their recovery within loops. +// A single mismatch token or missing token would force the parser to bail +// out of the entire rules surrounding the loop. So, for rule: +// +// classfunc : 'class' ID '{' member* '}' +// +// input with an extra token between members would force the parser to +// consume until it found the next class definition rather than the next +// member definition of the current class. +// +// This functionality cost a bit of effort because the parser has to +// compare the token set at the start of the loop and at each iteration. If for +// some reason speed is suffering for you, you can turn off this +// functionality by simply overriding this method as empty: +// +// { } +// +// [Jim Idle]: https://github.com/jimidle +func (d *DefaultErrorStrategy) Sync(recognizer Parser) { + // If already recovering, don't try to Sync + if d.InErrorRecoveryMode(recognizer) { + return + } + + s := recognizer.GetInterpreter().atn.states[recognizer.GetState()] + la := recognizer.GetTokenStream().LA(1) + + // try cheaper subset first might get lucky. seems to shave a wee bit off + nextTokens := recognizer.GetATN().NextTokens(s, nil) + if nextTokens.contains(TokenEpsilon) || nextTokens.contains(la) { + return + } + + switch s.GetStateType() { + case ATNStateBlockStart, ATNStateStarBlockStart, ATNStatePlusBlockStart, ATNStateStarLoopEntry: + // Report error and recover if possible + if d.SingleTokenDeletion(recognizer) != nil { + return + } + recognizer.SetError(NewInputMisMatchException(recognizer)) + case ATNStatePlusLoopBack, ATNStateStarLoopBack: + d.ReportUnwantedToken(recognizer) + expecting := NewIntervalSet() + expecting.addSet(recognizer.GetExpectedTokens()) + whatFollowsLoopIterationOrRule := expecting.addSet(d.GetErrorRecoverySet(recognizer)) + d.consumeUntil(recognizer, whatFollowsLoopIterationOrRule) + default: + // do nothing if we can't identify the exact kind of ATN state + } +} + +// ReportNoViableAlternative is called by [ReportError] when the exception is a [NoViableAltException]. +// +// See also [ReportError] +func (d *DefaultErrorStrategy) ReportNoViableAlternative(recognizer Parser, e *NoViableAltException) { + tokens := recognizer.GetTokenStream() + var input string + if tokens != nil { + if e.startToken.GetTokenType() == TokenEOF { + input = "" + } else { + input = tokens.GetTextFromTokens(e.startToken, e.offendingToken) + } + } else { + input = "" + } + msg := "no viable alternative at input " + d.escapeWSAndQuote(input) + recognizer.NotifyErrorListeners(msg, e.offendingToken, e) +} + +// ReportInputMisMatch is called by [ReportError] when the exception is an [InputMisMatchException] +// +// See also: [ReportError] +func (d *DefaultErrorStrategy) ReportInputMisMatch(recognizer Parser, e *InputMisMatchException) { + msg := "mismatched input " + d.GetTokenErrorDisplay(e.offendingToken) + + " expecting " + e.getExpectedTokens().StringVerbose(recognizer.GetLiteralNames(), recognizer.GetSymbolicNames(), false) + recognizer.NotifyErrorListeners(msg, e.offendingToken, e) +} + +// ReportFailedPredicate is called by [ReportError] when the exception is a [FailedPredicateException]. +// +// See also: [ReportError] +func (d *DefaultErrorStrategy) ReportFailedPredicate(recognizer Parser, e *FailedPredicateException) { + ruleName := recognizer.GetRuleNames()[recognizer.GetParserRuleContext().GetRuleIndex()] + msg := "rule " + ruleName + " " + e.message + recognizer.NotifyErrorListeners(msg, e.offendingToken, e) +} + +// ReportUnwantedToken is called to report a syntax error that requires the removal +// of a token from the input stream. At the time d method is called, the +// erroneous symbol is the current LT(1) symbol and has not yet been +// removed from the input stream. When this method returns, +// recognizer is in error recovery mode. +// +// This method is called when singleTokenDeletion identifies +// single-token deletion as a viable recovery strategy for a mismatched +// input error. +// +// The default implementation simply returns if the handler is already in +// error recovery mode. Otherwise, it calls beginErrorCondition to +// enter error recovery mode, followed by calling +// [NotifyErrorListeners] +func (d *DefaultErrorStrategy) ReportUnwantedToken(recognizer Parser) { + if d.InErrorRecoveryMode(recognizer) { + return + } + d.beginErrorCondition(recognizer) + t := recognizer.GetCurrentToken() + tokenName := d.GetTokenErrorDisplay(t) + expecting := d.GetExpectedTokens(recognizer) + msg := "extraneous input " + tokenName + " expecting " + + expecting.StringVerbose(recognizer.GetLiteralNames(), recognizer.GetSymbolicNames(), false) + recognizer.NotifyErrorListeners(msg, t, nil) +} + +// ReportMissingToken is called to report a syntax error which requires the +// insertion of a missing token into the input stream. At the time this +// method is called, the missing token has not yet been inserted. When this +// method returns, recognizer is in error recovery mode. +// +// This method is called when singleTokenInsertion identifies +// single-token insertion as a viable recovery strategy for a mismatched +// input error. +// +// The default implementation simply returns if the handler is already in +// error recovery mode. Otherwise, it calls beginErrorCondition to +// enter error recovery mode, followed by calling [NotifyErrorListeners] +func (d *DefaultErrorStrategy) ReportMissingToken(recognizer Parser) { + if d.InErrorRecoveryMode(recognizer) { + return + } + d.beginErrorCondition(recognizer) + t := recognizer.GetCurrentToken() + expecting := d.GetExpectedTokens(recognizer) + msg := "missing " + expecting.StringVerbose(recognizer.GetLiteralNames(), recognizer.GetSymbolicNames(), false) + + " at " + d.GetTokenErrorDisplay(t) + recognizer.NotifyErrorListeners(msg, t, nil) +} + +// The RecoverInline default implementation attempts to recover from the mismatched input +// by using single token insertion and deletion as described below. If the +// recovery attempt fails, this method panics with [InputMisMatchException}. +// TODO: Not sure that panic() is the right thing to do here - JI +// +// # EXTRA TOKEN (single token deletion) +// +// LA(1) is not what we are looking for. If LA(2) has the +// right token, however, then assume LA(1) is some extra spurious +// token and delete it. Then consume and return the next token (which was +// the LA(2) token) as the successful result of the Match operation. +// +// # This recovery strategy is implemented by singleTokenDeletion +// +// # MISSING TOKEN (single token insertion) +// +// If current token -at LA(1) - is consistent with what could come +// after the expected LA(1) token, then assume the token is missing +// and use the parser's [TokenFactory] to create it on the fly. The +// “insertion” is performed by returning the created token as the successful +// result of the Match operation. +// +// This recovery strategy is implemented by [SingleTokenInsertion]. +// +// # Example +// +// For example, Input i=(3 is clearly missing the ')'. When +// the parser returns from the nested call to expr, it will have +// call the chain: +// +// stat → expr → atom +// +// and it will be trying to Match the ')' at this point in the +// derivation: +// +// : ID '=' '(' INT ')' ('+' atom)* ';' +// ^ +// +// The attempt to [Match] ')' will fail when it sees ';' and +// call [RecoverInline]. To recover, it sees that LA(1)==';' +// is in the set of tokens that can follow the ')' token reference +// in rule atom. It can assume that you forgot the ')'. +func (d *DefaultErrorStrategy) RecoverInline(recognizer Parser) Token { + // SINGLE TOKEN DELETION + MatchedSymbol := d.SingleTokenDeletion(recognizer) + if MatchedSymbol != nil { + // we have deleted the extra token. + // now, move past ttype token as if all were ok + recognizer.Consume() + return MatchedSymbol + } + // SINGLE TOKEN INSERTION + if d.SingleTokenInsertion(recognizer) { + return d.GetMissingSymbol(recognizer) + } + // even that didn't work must panic the exception + recognizer.SetError(NewInputMisMatchException(recognizer)) + return nil +} + +// SingleTokenInsertion implements the single-token insertion inline error recovery +// strategy. It is called by [RecoverInline] if the single-token +// deletion strategy fails to recover from the mismatched input. If this +// method returns {@code true}, {@code recognizer} will be in error recovery +// mode. +// +// This method determines whether single-token insertion is viable by +// checking if the LA(1) input symbol could be successfully Matched +// if it were instead the LA(2) symbol. If this method returns +// {@code true}, the caller is responsible for creating and inserting a +// token with the correct type to produce this behavior.

+// +// This func returns true if single-token insertion is a viable recovery +// strategy for the current mismatched input. +func (d *DefaultErrorStrategy) SingleTokenInsertion(recognizer Parser) bool { + currentSymbolType := recognizer.GetTokenStream().LA(1) + // if current token is consistent with what could come after current + // ATN state, then we know we're missing a token error recovery + // is free to conjure up and insert the missing token + atn := recognizer.GetInterpreter().atn + currentState := atn.states[recognizer.GetState()] + next := currentState.GetTransitions()[0].getTarget() + expectingAtLL2 := atn.NextTokens(next, recognizer.GetParserRuleContext()) + if expectingAtLL2.contains(currentSymbolType) { + d.ReportMissingToken(recognizer) + return true + } + + return false +} + +// SingleTokenDeletion implements the single-token deletion inline error recovery +// strategy. It is called by [RecoverInline] to attempt to recover +// from mismatched input. If this method returns nil, the parser and error +// handler state will not have changed. If this method returns non-nil, +// recognizer will not be in error recovery mode since the +// returned token was a successful Match. +// +// If the single-token deletion is successful, this method calls +// [ReportUnwantedToken] to Report the error, followed by +// [Consume] to actually “delete” the extraneous token. Then, +// before returning, [ReportMatch] is called to signal a successful +// Match. +// +// The func returns the successfully Matched [Token] instance if single-token +// deletion successfully recovers from the mismatched input, otherwise nil. +func (d *DefaultErrorStrategy) SingleTokenDeletion(recognizer Parser) Token { + NextTokenType := recognizer.GetTokenStream().LA(2) + expecting := d.GetExpectedTokens(recognizer) + if expecting.contains(NextTokenType) { + d.ReportUnwantedToken(recognizer) + // print("recoverFromMisMatchedToken deleting " \ + // + str(recognizer.GetTokenStream().LT(1)) \ + // + " since " + str(recognizer.GetTokenStream().LT(2)) \ + // + " is what we want", file=sys.stderr) + recognizer.Consume() // simply delete extra token + // we want to return the token we're actually Matching + MatchedSymbol := recognizer.GetCurrentToken() + d.ReportMatch(recognizer) // we know current token is correct + return MatchedSymbol + } + + return nil +} + +// GetMissingSymbol conjures up a missing token during error recovery. +// +// The recognizer attempts to recover from single missing +// symbols. But, actions might refer to that missing symbol. +// For example: +// +// x=ID {f($x)}. +// +// The action clearly assumes +// that there has been an identifier Matched previously and that +// $x points at that token. If that token is missing, but +// the next token in the stream is what we want we assume that +// this token is missing, and we keep going. Because we +// have to return some token to replace the missing token, +// we have to conjure one up. This method gives the user control +// over the tokens returned for missing tokens. Mostly, +// you will want to create something special for identifier +// tokens. For literals such as '{' and ',', the default +// action in the parser or tree parser works. It simply creates +// a [CommonToken] of the appropriate type. The text will be the token name. +// If you need to change which tokens must be created by the lexer, +// override this method to create the appropriate tokens. +func (d *DefaultErrorStrategy) GetMissingSymbol(recognizer Parser) Token { + currentSymbol := recognizer.GetCurrentToken() + expecting := d.GetExpectedTokens(recognizer) + expectedTokenType := expecting.first() + var tokenText string + + if expectedTokenType == TokenEOF { + tokenText = "" + } else { + ln := recognizer.GetLiteralNames() + if expectedTokenType > 0 && expectedTokenType < len(ln) { + tokenText = "" + } else { + tokenText = "" // TODO: matches the JS impl + } + } + current := currentSymbol + lookback := recognizer.GetTokenStream().LT(-1) + if current.GetTokenType() == TokenEOF && lookback != nil { + current = lookback + } + + tf := recognizer.GetTokenFactory() + + return tf.Create(current.GetSource(), expectedTokenType, tokenText, TokenDefaultChannel, -1, -1, current.GetLine(), current.GetColumn()) +} + +func (d *DefaultErrorStrategy) GetExpectedTokens(recognizer Parser) *IntervalSet { + return recognizer.GetExpectedTokens() +} + +// GetTokenErrorDisplay determines how a token should be displayed in an error message. +// The default is to display just the text, but during development you might +// want to have a lot of information spit out. Override this func in that case +// to use t.String() (which, for [CommonToken], dumps everything about +// the token). This is better than forcing you to override a method in +// your token objects because you don't have to go modify your lexer +// so that it creates a new type. +func (d *DefaultErrorStrategy) GetTokenErrorDisplay(t Token) string { + if t == nil { + return "" + } + s := t.GetText() + if s == "" { + if t.GetTokenType() == TokenEOF { + s = "" + } else { + s = "<" + strconv.Itoa(t.GetTokenType()) + ">" + } + } + return d.escapeWSAndQuote(s) +} + +func (d *DefaultErrorStrategy) escapeWSAndQuote(s string) string { + s = strings.Replace(s, "\t", "\\t", -1) + s = strings.Replace(s, "\n", "\\n", -1) + s = strings.Replace(s, "\r", "\\r", -1) + return "'" + s + "'" +} + +// GetErrorRecoverySet computes the error recovery set for the current rule. During +// rule invocation, the parser pushes the set of tokens that can +// follow that rule reference on the stack. This amounts to +// computing FIRST of what follows the rule reference in the +// enclosing rule. See LinearApproximator.FIRST(). +// +// This local follow set only includes tokens +// from within the rule i.e., the FIRST computation done by +// ANTLR stops at the end of a rule. +// +// # Example +// +// When you find a "no viable alt exception", the input is not +// consistent with any of the alternatives for rule r. The best +// thing to do is to consume tokens until you see something that +// can legally follow a call to r or any rule that called r. +// You don't want the exact set of viable next tokens because the +// input might just be missing a token--you might consume the +// rest of the input looking for one of the missing tokens. +// +// Consider the grammar: +// +// a : '[' b ']' +// | '(' b ')' +// ; +// +// b : c '^' INT +// ; +// +// c : ID +// | INT +// ; +// +// At each rule invocation, the set of tokens that could follow +// that rule is pushed on a stack. Here are the various +// context-sensitive follow sets: +// +// FOLLOW(b1_in_a) = FIRST(']') = ']' +// FOLLOW(b2_in_a) = FIRST(')') = ')' +// FOLLOW(c_in_b) = FIRST('^') = '^' +// +// Upon erroneous input “[]”, the call chain is +// +// a → b → c +// +// and, hence, the follow context stack is: +// +// Depth Follow set Start of rule execution +// 0 a (from main()) +// 1 ']' b +// 2 '^' c +// +// Notice that ')' is not included, because b would have to have +// been called from a different context in rule a for ')' to be +// included. +// +// For error recovery, we cannot consider FOLLOW(c) +// (context-sensitive or otherwise). We need the combined set of +// all context-sensitive FOLLOW sets - the set of all tokens that +// could follow any reference in the call chain. We need to +// reSync to one of those tokens. Note that FOLLOW(c)='^' and if +// we reSync'd to that token, we'd consume until EOF. We need to +// Sync to context-sensitive FOLLOWs for a, b, and c: +// +// {']','^'} +// +// In this case, for input "[]", LA(1) is ']' and in the set, so we would +// not consume anything. After printing an error, rule c would +// return normally. Rule b would not find the required '^' though. +// At this point, it gets a mismatched token error and panics an +// exception (since LA(1) is not in the viable following token +// set). The rule exception handler tries to recover, but finds +// the same recovery set and doesn't consume anything. Rule b +// exits normally returning to rule a. Now it finds the ']' (and +// with the successful Match exits errorRecovery mode). +// +// So, you can see that the parser walks up the call chain looking +// for the token that was a member of the recovery set. +// +// Errors are not generated in errorRecovery mode. +// +// ANTLR's error recovery mechanism is based upon original ideas: +// +// [Algorithms + Data Structures = Programs] by Niklaus Wirth and +// [A note on error recovery in recursive descent parsers]. +// +// Later, Josef Grosch had some good ideas in [Efficient and Comfortable Error Recovery in Recursive Descent +// Parsers] +// +// Like Grosch I implement context-sensitive FOLLOW sets that are combined at run-time upon error to avoid overhead +// during parsing. Later, the runtime Sync was improved for loops/sub-rules see [Sync] docs +// +// [A note on error recovery in recursive descent parsers]: http://portal.acm.org/citation.cfm?id=947902.947905 +// [Algorithms + Data Structures = Programs]: https://t.ly/5QzgE +// [Efficient and Comfortable Error Recovery in Recursive Descent Parsers]: ftp://www.cocolab.com/products/cocktail/doca4.ps/ell.ps.zip +func (d *DefaultErrorStrategy) GetErrorRecoverySet(recognizer Parser) *IntervalSet { + atn := recognizer.GetInterpreter().atn + ctx := recognizer.GetParserRuleContext() + recoverSet := NewIntervalSet() + for ctx != nil && ctx.GetInvokingState() >= 0 { + // compute what follows who invoked us + invokingState := atn.states[ctx.GetInvokingState()] + rt := invokingState.GetTransitions()[0] + follow := atn.NextTokens(rt.(*RuleTransition).followState, nil) + recoverSet.addSet(follow) + ctx = ctx.GetParent().(ParserRuleContext) + } + recoverSet.removeOne(TokenEpsilon) + return recoverSet +} + +// Consume tokens until one Matches the given token set.// +func (d *DefaultErrorStrategy) consumeUntil(recognizer Parser, set *IntervalSet) { + ttype := recognizer.GetTokenStream().LA(1) + for ttype != TokenEOF && !set.contains(ttype) { + recognizer.Consume() + ttype = recognizer.GetTokenStream().LA(1) + } +} + +// The BailErrorStrategy implementation of ANTLRErrorStrategy responds to syntax errors +// by immediately canceling the parse operation with a +// [ParseCancellationException]. The implementation ensures that the +// [ParserRuleContext//exception] field is set for all parse tree nodes +// that were not completed prior to encountering the error. +// +// This error strategy is useful in the following scenarios. +// +// - Two-stage parsing: This error strategy allows the first +// stage of two-stage parsing to immediately terminate if an error is +// encountered, and immediately fall back to the second stage. In addition to +// avoiding wasted work by attempting to recover from errors here, the empty +// implementation of [BailErrorStrategy.Sync] improves the performance of +// the first stage. +// +// - Silent validation: When syntax errors are not being +// Reported or logged, and the parse result is simply ignored if errors occur, +// the [BailErrorStrategy] avoids wasting work on recovering from errors +// when the result will be ignored either way. +// +// myparser.SetErrorHandler(NewBailErrorStrategy()) +// +// See also: [Parser.SetErrorHandler(ANTLRErrorStrategy)] +type BailErrorStrategy struct { + *DefaultErrorStrategy +} + +var _ ErrorStrategy = &BailErrorStrategy{} + +//goland:noinspection GoUnusedExportedFunction +func NewBailErrorStrategy() *BailErrorStrategy { + + b := new(BailErrorStrategy) + + b.DefaultErrorStrategy = NewDefaultErrorStrategy() + + return b +} + +// Recover Instead of recovering from exception e, re-panic it wrapped +// in a [ParseCancellationException] so it is not caught by the +// rule func catches. Use Exception.GetCause() to get the +// original [RecognitionException]. +func (b *BailErrorStrategy) Recover(recognizer Parser, e RecognitionException) { + context := recognizer.GetParserRuleContext() + for context != nil { + context.SetException(e) + if parent, ok := context.GetParent().(ParserRuleContext); ok { + context = parent + } else { + context = nil + } + } + recognizer.SetError(NewParseCancellationException()) // TODO: we don't emit e properly +} + +// RecoverInline makes sure we don't attempt to recover inline if the parser +// successfully recovers, it won't panic an exception. +func (b *BailErrorStrategy) RecoverInline(recognizer Parser) Token { + b.Recover(recognizer, NewInputMisMatchException(recognizer)) + + return nil +} + +// Sync makes sure we don't attempt to recover from problems in sub-rules. +func (b *BailErrorStrategy) Sync(_ Parser) { +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/errors.go b/vendor/github.com/antlr4-go/antlr/v4/errors.go new file mode 100644 index 000000000..8f0f2f601 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/errors.go @@ -0,0 +1,259 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +// The root of the ANTLR exception hierarchy. In general, ANTLR tracks just +// 3 kinds of errors: prediction errors, failed predicate errors, and +// mismatched input errors. In each case, the parser knows where it is +// in the input, where it is in the ATN, the rule invocation stack, +// and what kind of problem occurred. + +type RecognitionException interface { + GetOffendingToken() Token + GetMessage() string + GetInputStream() IntStream +} + +type BaseRecognitionException struct { + message string + recognizer Recognizer + offendingToken Token + offendingState int + ctx RuleContext + input IntStream +} + +func NewBaseRecognitionException(message string, recognizer Recognizer, input IntStream, ctx RuleContext) *BaseRecognitionException { + + // todo + // Error.call(this) + // + // if (!!Error.captureStackTrace) { + // Error.captureStackTrace(this, RecognitionException) + // } else { + // stack := NewError().stack + // } + // TODO: may be able to use - "runtime" func Stack(buf []byte, all bool) int + + t := new(BaseRecognitionException) + + t.message = message + t.recognizer = recognizer + t.input = input + t.ctx = ctx + + // The current Token when an error occurred. Since not all streams + // support accessing symbols by index, we have to track the {@link Token} + // instance itself. + // + t.offendingToken = nil + + // Get the ATN state number the parser was in at the time the error + // occurred. For NoViableAltException and LexerNoViableAltException exceptions, this is the + // DecisionState number. For others, it is the state whose outgoing edge we couldn't Match. + // + t.offendingState = -1 + if t.recognizer != nil { + t.offendingState = t.recognizer.GetState() + } + + return t +} + +func (b *BaseRecognitionException) GetMessage() string { + return b.message +} + +func (b *BaseRecognitionException) GetOffendingToken() Token { + return b.offendingToken +} + +func (b *BaseRecognitionException) GetInputStream() IntStream { + return b.input +} + +//

If the state number is not known, b method returns -1.

+ +// getExpectedTokens gets the set of input symbols which could potentially follow the +// previously Matched symbol at the time this exception was raised. +// +// If the set of expected tokens is not known and could not be computed, +// this method returns nil. +// +// The func returns the set of token types that could potentially follow the current +// state in the {ATN}, or nil if the information is not available. + +func (b *BaseRecognitionException) getExpectedTokens() *IntervalSet { + if b.recognizer != nil { + return b.recognizer.GetATN().getExpectedTokens(b.offendingState, b.ctx) + } + + return nil +} + +func (b *BaseRecognitionException) String() string { + return b.message +} + +type LexerNoViableAltException struct { + *BaseRecognitionException + + startIndex int + deadEndConfigs *ATNConfigSet +} + +func NewLexerNoViableAltException(lexer Lexer, input CharStream, startIndex int, deadEndConfigs *ATNConfigSet) *LexerNoViableAltException { + + l := new(LexerNoViableAltException) + + l.BaseRecognitionException = NewBaseRecognitionException("", lexer, input, nil) + + l.startIndex = startIndex + l.deadEndConfigs = deadEndConfigs + + return l +} + +func (l *LexerNoViableAltException) String() string { + symbol := "" + if l.startIndex >= 0 && l.startIndex < l.input.Size() { + symbol = l.input.(CharStream).GetTextFromInterval(NewInterval(l.startIndex, l.startIndex)) + } + return "LexerNoViableAltException" + symbol +} + +type NoViableAltException struct { + *BaseRecognitionException + + startToken Token + offendingToken Token + ctx ParserRuleContext + deadEndConfigs *ATNConfigSet +} + +// NewNoViableAltException creates an exception indicating that the parser could not decide which of two or more paths +// to take based upon the remaining input. It tracks the starting token +// of the offending input and also knows where the parser was +// in the various paths when the error. +// +// Reported by [ReportNoViableAlternative] +func NewNoViableAltException(recognizer Parser, input TokenStream, startToken Token, offendingToken Token, deadEndConfigs *ATNConfigSet, ctx ParserRuleContext) *NoViableAltException { + + if ctx == nil { + ctx = recognizer.GetParserRuleContext() + } + + if offendingToken == nil { + offendingToken = recognizer.GetCurrentToken() + } + + if startToken == nil { + startToken = recognizer.GetCurrentToken() + } + + if input == nil { + input = recognizer.GetInputStream().(TokenStream) + } + + n := new(NoViableAltException) + n.BaseRecognitionException = NewBaseRecognitionException("", recognizer, input, ctx) + + // Which configurations did we try at input.Index() that couldn't Match + // input.LT(1) + n.deadEndConfigs = deadEndConfigs + + // The token object at the start index the input stream might + // not be buffering tokens so get a reference to it. + // + // At the time the error occurred, of course the stream needs to keep a + // buffer of all the tokens, but later we might not have access to those. + n.startToken = startToken + n.offendingToken = offendingToken + + return n +} + +type InputMisMatchException struct { + *BaseRecognitionException +} + +// NewInputMisMatchException creates an exception that signifies any kind of mismatched input exceptions such as +// when the current input does not Match the expected token. +func NewInputMisMatchException(recognizer Parser) *InputMisMatchException { + + i := new(InputMisMatchException) + i.BaseRecognitionException = NewBaseRecognitionException("", recognizer, recognizer.GetInputStream(), recognizer.GetParserRuleContext()) + + i.offendingToken = recognizer.GetCurrentToken() + + return i + +} + +// FailedPredicateException indicates that a semantic predicate failed during validation. Validation of predicates +// occurs when normally parsing the alternative just like Matching a token. +// Disambiguating predicate evaluation occurs when we test a predicate during +// prediction. +type FailedPredicateException struct { + *BaseRecognitionException + + ruleIndex int + predicateIndex int + predicate string +} + +//goland:noinspection GoUnusedExportedFunction +func NewFailedPredicateException(recognizer Parser, predicate string, message string) *FailedPredicateException { + + f := new(FailedPredicateException) + + f.BaseRecognitionException = NewBaseRecognitionException(f.formatMessage(predicate, message), recognizer, recognizer.GetInputStream(), recognizer.GetParserRuleContext()) + + s := recognizer.GetInterpreter().atn.states[recognizer.GetState()] + trans := s.GetTransitions()[0] + if trans2, ok := trans.(*PredicateTransition); ok { + f.ruleIndex = trans2.ruleIndex + f.predicateIndex = trans2.predIndex + } else { + f.ruleIndex = 0 + f.predicateIndex = 0 + } + f.predicate = predicate + f.offendingToken = recognizer.GetCurrentToken() + + return f +} + +func (f *FailedPredicateException) formatMessage(predicate, message string) string { + if message != "" { + return message + } + + return "failed predicate: {" + predicate + "}?" +} + +type ParseCancellationException struct { +} + +func (p ParseCancellationException) GetOffendingToken() Token { + //TODO implement me + panic("implement me") +} + +func (p ParseCancellationException) GetMessage() string { + //TODO implement me + panic("implement me") +} + +func (p ParseCancellationException) GetInputStream() IntStream { + //TODO implement me + panic("implement me") +} + +func NewParseCancellationException() *ParseCancellationException { + // Error.call(this) + // Error.captureStackTrace(this, ParseCancellationException) + return new(ParseCancellationException) +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/file_stream.go b/vendor/github.com/antlr4-go/antlr/v4/file_stream.go new file mode 100644 index 000000000..5f65f809b --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/file_stream.go @@ -0,0 +1,67 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "bufio" + "os" +) + +// This is an InputStream that is loaded from a file all at once +// when you construct the object. + +type FileStream struct { + InputStream + filename string +} + +//goland:noinspection GoUnusedExportedFunction +func NewFileStream(fileName string) (*FileStream, error) { + + f, err := os.Open(fileName) + if err != nil { + return nil, err + } + + defer func(f *os.File) { + errF := f.Close() + if errF != nil { + } + }(f) + + reader := bufio.NewReader(f) + fInfo, err := f.Stat() + if err != nil { + return nil, err + } + + fs := &FileStream{ + InputStream: InputStream{ + index: 0, + name: fileName, + }, + filename: fileName, + } + + // Pre-build the buffer and read runes efficiently + // + fs.data = make([]rune, 0, fInfo.Size()) + for { + r, _, err := reader.ReadRune() + if err != nil { + break + } + fs.data = append(fs.data, r) + } + fs.size = len(fs.data) // Size in runes + + // All done. + // + return fs, nil +} + +func (f *FileStream) GetSourceName() string { + return f.filename +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/input_stream.go b/vendor/github.com/antlr4-go/antlr/v4/input_stream.go new file mode 100644 index 000000000..b737fe85f --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/input_stream.go @@ -0,0 +1,157 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "bufio" + "io" +) + +type InputStream struct { + name string + index int + data []rune + size int +} + +// NewIoStream creates a new input stream from the given io.Reader reader. +// Note that the reader is read completely into memory and so it must actually +// have a stopping point - you cannot pass in a reader on an open-ended source such +// as a socket for instance. +func NewIoStream(reader io.Reader) *InputStream { + + rReader := bufio.NewReader(reader) + + is := &InputStream{ + name: "", + index: 0, + } + + // Pre-build the buffer and read runes reasonably efficiently given that + // we don't exactly know how big the input is. + // + is.data = make([]rune, 0, 512) + for { + r, _, err := rReader.ReadRune() + if err != nil { + break + } + is.data = append(is.data, r) + } + is.size = len(is.data) // number of runes + return is +} + +// NewInputStream creates a new input stream from the given string +func NewInputStream(data string) *InputStream { + + is := &InputStream{ + name: "", + index: 0, + data: []rune(data), // This is actually the most efficient way + } + is.size = len(is.data) // number of runes, but we could also use len(data), which is efficient too + return is +} + +func (is *InputStream) reset() { + is.index = 0 +} + +// Consume moves the input pointer to the next character in the input stream +func (is *InputStream) Consume() { + if is.index >= is.size { + // assert is.LA(1) == TokenEOF + panic("cannot consume EOF") + } + is.index++ +} + +// LA returns the character at the given offset from the start of the input stream +func (is *InputStream) LA(offset int) int { + + if offset == 0 { + return 0 // nil + } + if offset < 0 { + offset++ // e.g., translate LA(-1) to use offset=0 + } + pos := is.index + offset - 1 + + if pos < 0 || pos >= is.size { // invalid + return TokenEOF + } + + return int(is.data[pos]) +} + +// LT returns the character at the given offset from the start of the input stream +func (is *InputStream) LT(offset int) int { + return is.LA(offset) +} + +// Index returns the current offset in to the input stream +func (is *InputStream) Index() int { + return is.index +} + +// Size returns the total number of characters in the input stream +func (is *InputStream) Size() int { + return is.size +} + +// Mark does nothing here as we have entire buffer +func (is *InputStream) Mark() int { + return -1 +} + +// Release does nothing here as we have entire buffer +func (is *InputStream) Release(_ int) { +} + +// Seek the input point to the provided index offset +func (is *InputStream) Seek(index int) { + if index <= is.index { + is.index = index // just jump don't update stream state (line,...) + return + } + // seek forward + is.index = intMin(index, is.size) +} + +// GetText returns the text from the input stream from the start to the stop index +func (is *InputStream) GetText(start int, stop int) string { + if stop >= is.size { + stop = is.size - 1 + } + if start >= is.size { + return "" + } + + return string(is.data[start : stop+1]) +} + +// GetTextFromTokens returns the text from the input stream from the first character of the start token to the last +// character of the stop token +func (is *InputStream) GetTextFromTokens(start, stop Token) string { + if start != nil && stop != nil { + return is.GetTextFromInterval(NewInterval(start.GetTokenIndex(), stop.GetTokenIndex())) + } + + return "" +} + +func (is *InputStream) GetTextFromInterval(i Interval) string { + return is.GetText(i.Start, i.Stop) +} + +func (*InputStream) GetSourceName() string { + return "" +} + +// String returns the entire input stream as a string +func (is *InputStream) String() string { + return string(is.data) +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/int_stream.go b/vendor/github.com/antlr4-go/antlr/v4/int_stream.go new file mode 100644 index 000000000..4778878bd --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/int_stream.go @@ -0,0 +1,16 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +type IntStream interface { + Consume() + LA(int) int + Mark() int + Release(marker int) + Index() int + Seek(index int) + Size() int + GetSourceName() string +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/interval_set.go b/vendor/github.com/antlr4-go/antlr/v4/interval_set.go new file mode 100644 index 000000000..cc5066067 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/interval_set.go @@ -0,0 +1,330 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "strconv" + "strings" +) + +type Interval struct { + Start int + Stop int +} + +// NewInterval creates a new interval with the given start and stop values. +func NewInterval(start, stop int) Interval { + return Interval{ + Start: start, + Stop: stop, + } +} + +// Contains returns true if the given item is contained within the interval. +func (i Interval) Contains(item int) bool { + return item >= i.Start && item < i.Stop +} + +// String generates a string representation of the interval. +func (i Interval) String() string { + if i.Start == i.Stop-1 { + return strconv.Itoa(i.Start) + } + + return strconv.Itoa(i.Start) + ".." + strconv.Itoa(i.Stop-1) +} + +// Length returns the length of the interval. +func (i Interval) Length() int { + return i.Stop - i.Start +} + +// IntervalSet represents a collection of [Intervals], which may be read-only. +type IntervalSet struct { + intervals []Interval + readOnly bool +} + +// NewIntervalSet creates a new empty, writable, interval set. +func NewIntervalSet() *IntervalSet { + + i := new(IntervalSet) + + i.intervals = nil + i.readOnly = false + + return i +} + +func (i *IntervalSet) Equals(other *IntervalSet) bool { + if len(i.intervals) != len(other.intervals) { + return false + } + + for k, v := range i.intervals { + if v.Start != other.intervals[k].Start || v.Stop != other.intervals[k].Stop { + return false + } + } + + return true +} + +func (i *IntervalSet) first() int { + if len(i.intervals) == 0 { + return TokenInvalidType + } + + return i.intervals[0].Start +} + +func (i *IntervalSet) addOne(v int) { + i.addInterval(NewInterval(v, v+1)) +} + +func (i *IntervalSet) addRange(l, h int) { + i.addInterval(NewInterval(l, h+1)) +} + +func (i *IntervalSet) addInterval(v Interval) { + if i.intervals == nil { + i.intervals = make([]Interval, 0) + i.intervals = append(i.intervals, v) + } else { + // find insert pos + for k, interval := range i.intervals { + // distinct range -> insert + if v.Stop < interval.Start { + i.intervals = append(i.intervals[0:k], append([]Interval{v}, i.intervals[k:]...)...) + return + } else if v.Stop == interval.Start { + i.intervals[k].Start = v.Start + return + } else if v.Start <= interval.Stop { + i.intervals[k] = NewInterval(intMin(interval.Start, v.Start), intMax(interval.Stop, v.Stop)) + + // if not applying to end, merge potential overlaps + if k < len(i.intervals)-1 { + l := i.intervals[k] + r := i.intervals[k+1] + // if r contained in l + if l.Stop >= r.Stop { + i.intervals = append(i.intervals[0:k+1], i.intervals[k+2:]...) + } else if l.Stop >= r.Start { // partial overlap + i.intervals[k] = NewInterval(l.Start, r.Stop) + i.intervals = append(i.intervals[0:k+1], i.intervals[k+2:]...) + } + } + return + } + } + // greater than any exiting + i.intervals = append(i.intervals, v) + } +} + +func (i *IntervalSet) addSet(other *IntervalSet) *IntervalSet { + if other.intervals != nil { + for k := 0; k < len(other.intervals); k++ { + i2 := other.intervals[k] + i.addInterval(NewInterval(i2.Start, i2.Stop)) + } + } + return i +} + +func (i *IntervalSet) complement(start int, stop int) *IntervalSet { + result := NewIntervalSet() + result.addInterval(NewInterval(start, stop+1)) + for j := 0; j < len(i.intervals); j++ { + result.removeRange(i.intervals[j]) + } + return result +} + +func (i *IntervalSet) contains(item int) bool { + if i.intervals == nil { + return false + } + for k := 0; k < len(i.intervals); k++ { + if i.intervals[k].Contains(item) { + return true + } + } + return false +} + +func (i *IntervalSet) length() int { + iLen := 0 + + for _, v := range i.intervals { + iLen += v.Length() + } + + return iLen +} + +func (i *IntervalSet) removeRange(v Interval) { + if v.Start == v.Stop-1 { + i.removeOne(v.Start) + } else if i.intervals != nil { + k := 0 + for n := 0; n < len(i.intervals); n++ { + ni := i.intervals[k] + // intervals are ordered + if v.Stop <= ni.Start { + return + } else if v.Start > ni.Start && v.Stop < ni.Stop { + i.intervals[k] = NewInterval(ni.Start, v.Start) + x := NewInterval(v.Stop, ni.Stop) + // i.intervals.splice(k, 0, x) + i.intervals = append(i.intervals[0:k], append([]Interval{x}, i.intervals[k:]...)...) + return + } else if v.Start <= ni.Start && v.Stop >= ni.Stop { + // i.intervals.splice(k, 1) + i.intervals = append(i.intervals[0:k], i.intervals[k+1:]...) + k = k - 1 // need another pass + } else if v.Start < ni.Stop { + i.intervals[k] = NewInterval(ni.Start, v.Start) + } else if v.Stop < ni.Stop { + i.intervals[k] = NewInterval(v.Stop, ni.Stop) + } + k++ + } + } +} + +func (i *IntervalSet) removeOne(v int) { + if i.intervals != nil { + for k := 0; k < len(i.intervals); k++ { + ki := i.intervals[k] + // intervals i ordered + if v < ki.Start { + return + } else if v == ki.Start && v == ki.Stop-1 { + // i.intervals.splice(k, 1) + i.intervals = append(i.intervals[0:k], i.intervals[k+1:]...) + return + } else if v == ki.Start { + i.intervals[k] = NewInterval(ki.Start+1, ki.Stop) + return + } else if v == ki.Stop-1 { + i.intervals[k] = NewInterval(ki.Start, ki.Stop-1) + return + } else if v < ki.Stop-1 { + x := NewInterval(ki.Start, v) + ki.Start = v + 1 + // i.intervals.splice(k, 0, x) + i.intervals = append(i.intervals[0:k], append([]Interval{x}, i.intervals[k:]...)...) + return + } + } + } +} + +func (i *IntervalSet) String() string { + return i.StringVerbose(nil, nil, false) +} + +func (i *IntervalSet) StringVerbose(literalNames []string, symbolicNames []string, elemsAreChar bool) string { + + if i.intervals == nil { + return "{}" + } else if literalNames != nil || symbolicNames != nil { + return i.toTokenString(literalNames, symbolicNames) + } else if elemsAreChar { + return i.toCharString() + } + + return i.toIndexString() +} + +func (i *IntervalSet) GetIntervals() []Interval { + return i.intervals +} + +func (i *IntervalSet) toCharString() string { + names := make([]string, len(i.intervals)) + + var sb strings.Builder + + for j := 0; j < len(i.intervals); j++ { + v := i.intervals[j] + if v.Stop == v.Start+1 { + if v.Start == TokenEOF { + names = append(names, "") + } else { + sb.WriteByte('\'') + sb.WriteRune(rune(v.Start)) + sb.WriteByte('\'') + names = append(names, sb.String()) + sb.Reset() + } + } else { + sb.WriteByte('\'') + sb.WriteRune(rune(v.Start)) + sb.WriteString("'..'") + sb.WriteRune(rune(v.Stop - 1)) + sb.WriteByte('\'') + names = append(names, sb.String()) + sb.Reset() + } + } + if len(names) > 1 { + return "{" + strings.Join(names, ", ") + "}" + } + + return names[0] +} + +func (i *IntervalSet) toIndexString() string { + + names := make([]string, 0) + for j := 0; j < len(i.intervals); j++ { + v := i.intervals[j] + if v.Stop == v.Start+1 { + if v.Start == TokenEOF { + names = append(names, "") + } else { + names = append(names, strconv.Itoa(v.Start)) + } + } else { + names = append(names, strconv.Itoa(v.Start)+".."+strconv.Itoa(v.Stop-1)) + } + } + if len(names) > 1 { + return "{" + strings.Join(names, ", ") + "}" + } + + return names[0] +} + +func (i *IntervalSet) toTokenString(literalNames []string, symbolicNames []string) string { + names := make([]string, 0) + for _, v := range i.intervals { + for j := v.Start; j < v.Stop; j++ { + names = append(names, i.elementName(literalNames, symbolicNames, j)) + } + } + if len(names) > 1 { + return "{" + strings.Join(names, ", ") + "}" + } + + return names[0] +} + +func (i *IntervalSet) elementName(literalNames []string, symbolicNames []string, a int) string { + if a == TokenEOF { + return "" + } else if a == TokenEpsilon { + return "" + } else { + if a < len(literalNames) && literalNames[a] != "" { + return literalNames[a] + } + + return symbolicNames[a] + } +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/jcollect.go b/vendor/github.com/antlr4-go/antlr/v4/jcollect.go new file mode 100644 index 000000000..ceccd96d2 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/jcollect.go @@ -0,0 +1,685 @@ +package antlr + +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +import ( + "container/list" + "runtime/debug" + "sort" + "sync" +) + +// Collectable is an interface that a struct should implement if it is to be +// usable as a key in these collections. +type Collectable[T any] interface { + Hash() int + Equals(other Collectable[T]) bool +} + +type Comparator[T any] interface { + Hash1(o T) int + Equals2(T, T) bool +} + +type CollectionSource int +type CollectionDescriptor struct { + SybolicName string + Description string +} + +const ( + UnknownCollection CollectionSource = iota + ATNConfigLookupCollection + ATNStateCollection + DFAStateCollection + ATNConfigCollection + PredictionContextCollection + SemanticContextCollection + ClosureBusyCollection + PredictionVisitedCollection + MergeCacheCollection + PredictionContextCacheCollection + AltSetCollection + ReachSetCollection +) + +var CollectionDescriptors = map[CollectionSource]CollectionDescriptor{ + UnknownCollection: { + SybolicName: "UnknownCollection", + Description: "Unknown collection type. Only used if the target author thought it was an unimportant collection.", + }, + ATNConfigCollection: { + SybolicName: "ATNConfigCollection", + Description: "ATNConfig collection. Used to store the ATNConfigs for a particular state in the ATN." + + "For instance, it is used to store the results of the closure() operation in the ATN.", + }, + ATNConfigLookupCollection: { + SybolicName: "ATNConfigLookupCollection", + Description: "ATNConfigLookup collection. Used to store the ATNConfigs for a particular state in the ATN." + + "This is used to prevent duplicating equivalent states in an ATNConfigurationSet.", + }, + ATNStateCollection: { + SybolicName: "ATNStateCollection", + Description: "ATNState collection. This is used to store the states of the ATN.", + }, + DFAStateCollection: { + SybolicName: "DFAStateCollection", + Description: "DFAState collection. This is used to store the states of the DFA.", + }, + PredictionContextCollection: { + SybolicName: "PredictionContextCollection", + Description: "PredictionContext collection. This is used to store the prediction contexts of the ATN and cache computes.", + }, + SemanticContextCollection: { + SybolicName: "SemanticContextCollection", + Description: "SemanticContext collection. This is used to store the semantic contexts of the ATN.", + }, + ClosureBusyCollection: { + SybolicName: "ClosureBusyCollection", + Description: "ClosureBusy collection. This is used to check and prevent infinite recursion right recursive rules." + + "It stores ATNConfigs that are currently being processed in the closure() operation.", + }, + PredictionVisitedCollection: { + SybolicName: "PredictionVisitedCollection", + Description: "A map that records whether we have visited a particular context when searching through cached entries.", + }, + MergeCacheCollection: { + SybolicName: "MergeCacheCollection", + Description: "A map that records whether we have already merged two particular contexts and can save effort by not repeating it.", + }, + PredictionContextCacheCollection: { + SybolicName: "PredictionContextCacheCollection", + Description: "A map that records whether we have already created a particular context and can save effort by not computing it again.", + }, + AltSetCollection: { + SybolicName: "AltSetCollection", + Description: "Used to eliminate duplicate alternatives in an ATN config set.", + }, + ReachSetCollection: { + SybolicName: "ReachSetCollection", + Description: "Used as merge cache to prevent us needing to compute the merge of two states if we have already done it.", + }, +} + +// JStore implements a container that allows the use of a struct to calculate the key +// for a collection of values akin to map. This is not meant to be a full-blown HashMap but just +// serve the needs of the ANTLR Go runtime. +// +// For ease of porting the logic of the runtime from the master target (Java), this collection +// operates in a similar way to Java, in that it can use any struct that supplies a Hash() and Equals() +// function as the key. The values are stored in a standard go map which internally is a form of hashmap +// itself, the key for the go map is the hash supplied by the key object. The collection is able to deal with +// hash conflicts by using a simple slice of values associated with the hash code indexed bucket. That isn't +// particularly efficient, but it is simple, and it works. As this is specifically for the ANTLR runtime, and +// we understand the requirements, then this is fine - this is not a general purpose collection. +type JStore[T any, C Comparator[T]] struct { + store map[int][]T + len int + comparator Comparator[T] + stats *JStatRec +} + +func NewJStore[T any, C Comparator[T]](comparator Comparator[T], cType CollectionSource, desc string) *JStore[T, C] { + + if comparator == nil { + panic("comparator cannot be nil") + } + + s := &JStore[T, C]{ + store: make(map[int][]T, 1), + comparator: comparator, + } + if collectStats { + s.stats = &JStatRec{ + Source: cType, + Description: desc, + } + + // Track where we created it from if we are being asked to do so + if runtimeConfig.statsTraceStacks { + s.stats.CreateStack = debug.Stack() + } + Statistics.AddJStatRec(s.stats) + } + return s +} + +// Put will store given value in the collection. Note that the key for storage is generated from +// the value itself - this is specifically because that is what ANTLR needs - this would not be useful +// as any kind of general collection. +// +// If the key has a hash conflict, then the value will be added to the slice of values associated with the +// hash, unless the value is already in the slice, in which case the existing value is returned. Value equivalence is +// tested by calling the equals() method on the key. +// +// # If the given value is already present in the store, then the existing value is returned as v and exists is set to true +// +// If the given value is not present in the store, then the value is added to the store and returned as v and exists is set to false. +func (s *JStore[T, C]) Put(value T) (v T, exists bool) { + + if collectStats { + s.stats.Puts++ + } + kh := s.comparator.Hash1(value) + + var hClash bool + for _, v1 := range s.store[kh] { + hClash = true + if s.comparator.Equals2(value, v1) { + if collectStats { + s.stats.PutHits++ + s.stats.PutHashConflicts++ + } + return v1, true + } + if collectStats { + s.stats.PutMisses++ + } + } + if collectStats && hClash { + s.stats.PutHashConflicts++ + } + s.store[kh] = append(s.store[kh], value) + + if collectStats { + if len(s.store[kh]) > s.stats.MaxSlotSize { + s.stats.MaxSlotSize = len(s.store[kh]) + } + } + s.len++ + if collectStats { + s.stats.CurSize = s.len + if s.len > s.stats.MaxSize { + s.stats.MaxSize = s.len + } + } + return value, false +} + +// Get will return the value associated with the key - the type of the key is the same type as the value +// which would not generally be useful, but this is a specific thing for ANTLR where the key is +// generated using the object we are going to store. +func (s *JStore[T, C]) Get(key T) (T, bool) { + if collectStats { + s.stats.Gets++ + } + kh := s.comparator.Hash1(key) + var hClash bool + for _, v := range s.store[kh] { + hClash = true + if s.comparator.Equals2(key, v) { + if collectStats { + s.stats.GetHits++ + s.stats.GetHashConflicts++ + } + return v, true + } + if collectStats { + s.stats.GetMisses++ + } + } + if collectStats { + if hClash { + s.stats.GetHashConflicts++ + } + s.stats.GetNoEnt++ + } + return key, false +} + +// Contains returns true if the given key is present in the store +func (s *JStore[T, C]) Contains(key T) bool { + _, present := s.Get(key) + return present +} + +func (s *JStore[T, C]) SortedSlice(less func(i, j T) bool) []T { + vs := make([]T, 0, len(s.store)) + for _, v := range s.store { + vs = append(vs, v...) + } + sort.Slice(vs, func(i, j int) bool { + return less(vs[i], vs[j]) + }) + + return vs +} + +func (s *JStore[T, C]) Each(f func(T) bool) { + for _, e := range s.store { + for _, v := range e { + f(v) + } + } +} + +func (s *JStore[T, C]) Len() int { + return s.len +} + +func (s *JStore[T, C]) Values() []T { + vs := make([]T, 0, len(s.store)) + for _, e := range s.store { + vs = append(vs, e...) + } + return vs +} + +type entry[K, V any] struct { + key K + val V +} + +type JMap[K, V any, C Comparator[K]] struct { + store map[int][]*entry[K, V] + len int + comparator Comparator[K] + stats *JStatRec +} + +func NewJMap[K, V any, C Comparator[K]](comparator Comparator[K], cType CollectionSource, desc string) *JMap[K, V, C] { + m := &JMap[K, V, C]{ + store: make(map[int][]*entry[K, V], 1), + comparator: comparator, + } + if collectStats { + m.stats = &JStatRec{ + Source: cType, + Description: desc, + } + // Track where we created it from if we are being asked to do so + if runtimeConfig.statsTraceStacks { + m.stats.CreateStack = debug.Stack() + } + Statistics.AddJStatRec(m.stats) + } + return m +} + +func (m *JMap[K, V, C]) Put(key K, val V) (V, bool) { + if collectStats { + m.stats.Puts++ + } + kh := m.comparator.Hash1(key) + + var hClash bool + for _, e := range m.store[kh] { + hClash = true + if m.comparator.Equals2(e.key, key) { + if collectStats { + m.stats.PutHits++ + m.stats.PutHashConflicts++ + } + return e.val, true + } + if collectStats { + m.stats.PutMisses++ + } + } + if collectStats { + if hClash { + m.stats.PutHashConflicts++ + } + } + m.store[kh] = append(m.store[kh], &entry[K, V]{key, val}) + if collectStats { + if len(m.store[kh]) > m.stats.MaxSlotSize { + m.stats.MaxSlotSize = len(m.store[kh]) + } + } + m.len++ + if collectStats { + m.stats.CurSize = m.len + if m.len > m.stats.MaxSize { + m.stats.MaxSize = m.len + } + } + return val, false +} + +func (m *JMap[K, V, C]) Values() []V { + vs := make([]V, 0, len(m.store)) + for _, e := range m.store { + for _, v := range e { + vs = append(vs, v.val) + } + } + return vs +} + +func (m *JMap[K, V, C]) Get(key K) (V, bool) { + if collectStats { + m.stats.Gets++ + } + var none V + kh := m.comparator.Hash1(key) + var hClash bool + for _, e := range m.store[kh] { + hClash = true + if m.comparator.Equals2(e.key, key) { + if collectStats { + m.stats.GetHits++ + m.stats.GetHashConflicts++ + } + return e.val, true + } + if collectStats { + m.stats.GetMisses++ + } + } + if collectStats { + if hClash { + m.stats.GetHashConflicts++ + } + m.stats.GetNoEnt++ + } + return none, false +} + +func (m *JMap[K, V, C]) Len() int { + return m.len +} + +func (m *JMap[K, V, C]) Delete(key K) { + kh := m.comparator.Hash1(key) + for i, e := range m.store[kh] { + if m.comparator.Equals2(e.key, key) { + m.store[kh] = append(m.store[kh][:i], m.store[kh][i+1:]...) + m.len-- + return + } + } +} + +func (m *JMap[K, V, C]) Clear() { + m.store = make(map[int][]*entry[K, V]) +} + +type JPCMap struct { + store *JMap[*PredictionContext, *JMap[*PredictionContext, *PredictionContext, *ObjEqComparator[*PredictionContext]], *ObjEqComparator[*PredictionContext]] + size int + stats *JStatRec +} + +func NewJPCMap(cType CollectionSource, desc string) *JPCMap { + m := &JPCMap{ + store: NewJMap[*PredictionContext, *JMap[*PredictionContext, *PredictionContext, *ObjEqComparator[*PredictionContext]], *ObjEqComparator[*PredictionContext]](pContextEqInst, cType, desc), + } + if collectStats { + m.stats = &JStatRec{ + Source: cType, + Description: desc, + } + // Track where we created it from if we are being asked to do so + if runtimeConfig.statsTraceStacks { + m.stats.CreateStack = debug.Stack() + } + Statistics.AddJStatRec(m.stats) + } + return m +} + +func (pcm *JPCMap) Get(k1, k2 *PredictionContext) (*PredictionContext, bool) { + if collectStats { + pcm.stats.Gets++ + } + // Do we have a map stored by k1? + // + m2, present := pcm.store.Get(k1) + if present { + if collectStats { + pcm.stats.GetHits++ + } + // We found a map of values corresponding to k1, so now we need to look up k2 in that map + // + return m2.Get(k2) + } + if collectStats { + pcm.stats.GetMisses++ + } + return nil, false +} + +func (pcm *JPCMap) Put(k1, k2, v *PredictionContext) { + + if collectStats { + pcm.stats.Puts++ + } + // First does a map already exist for k1? + // + if m2, present := pcm.store.Get(k1); present { + if collectStats { + pcm.stats.PutHits++ + } + _, present = m2.Put(k2, v) + if !present { + pcm.size++ + if collectStats { + pcm.stats.CurSize = pcm.size + if pcm.size > pcm.stats.MaxSize { + pcm.stats.MaxSize = pcm.size + } + } + } + } else { + // No map found for k1, so we create it, add in our value, then store is + // + if collectStats { + pcm.stats.PutMisses++ + m2 = NewJMap[*PredictionContext, *PredictionContext, *ObjEqComparator[*PredictionContext]](pContextEqInst, pcm.stats.Source, pcm.stats.Description+" map entry") + } else { + m2 = NewJMap[*PredictionContext, *PredictionContext, *ObjEqComparator[*PredictionContext]](pContextEqInst, PredictionContextCacheCollection, "map entry") + } + + m2.Put(k2, v) + pcm.store.Put(k1, m2) + pcm.size++ + } +} + +type JPCMap2 struct { + store map[int][]JPCEntry + size int + stats *JStatRec +} + +type JPCEntry struct { + k1, k2, v *PredictionContext +} + +func NewJPCMap2(cType CollectionSource, desc string) *JPCMap2 { + m := &JPCMap2{ + store: make(map[int][]JPCEntry, 1000), + } + if collectStats { + m.stats = &JStatRec{ + Source: cType, + Description: desc, + } + // Track where we created it from if we are being asked to do so + if runtimeConfig.statsTraceStacks { + m.stats.CreateStack = debug.Stack() + } + Statistics.AddJStatRec(m.stats) + } + return m +} + +func dHash(k1, k2 *PredictionContext) int { + return k1.cachedHash*31 + k2.cachedHash +} + +func (pcm *JPCMap2) Get(k1, k2 *PredictionContext) (*PredictionContext, bool) { + if collectStats { + pcm.stats.Gets++ + } + + h := dHash(k1, k2) + var hClash bool + for _, e := range pcm.store[h] { + hClash = true + if e.k1.Equals(k1) && e.k2.Equals(k2) { + if collectStats { + pcm.stats.GetHits++ + pcm.stats.GetHashConflicts++ + } + return e.v, true + } + if collectStats { + pcm.stats.GetMisses++ + } + } + if collectStats { + if hClash { + pcm.stats.GetHashConflicts++ + } + pcm.stats.GetNoEnt++ + } + return nil, false +} + +func (pcm *JPCMap2) Put(k1, k2, v *PredictionContext) (*PredictionContext, bool) { + if collectStats { + pcm.stats.Puts++ + } + h := dHash(k1, k2) + var hClash bool + for _, e := range pcm.store[h] { + hClash = true + if e.k1.Equals(k1) && e.k2.Equals(k2) { + if collectStats { + pcm.stats.PutHits++ + pcm.stats.PutHashConflicts++ + } + return e.v, true + } + if collectStats { + pcm.stats.PutMisses++ + } + } + if collectStats { + if hClash { + pcm.stats.PutHashConflicts++ + } + } + pcm.store[h] = append(pcm.store[h], JPCEntry{k1, k2, v}) + pcm.size++ + if collectStats { + pcm.stats.CurSize = pcm.size + if pcm.size > pcm.stats.MaxSize { + pcm.stats.MaxSize = pcm.size + } + } + return nil, false +} + +type VisitEntry struct { + k *PredictionContext + v *PredictionContext +} +type VisitRecord struct { + store map[*PredictionContext]*PredictionContext + len int + stats *JStatRec +} + +type VisitList struct { + cache *list.List + lock sync.RWMutex +} + +var visitListPool = VisitList{ + cache: list.New(), + lock: sync.RWMutex{}, +} + +// NewVisitRecord returns a new VisitRecord instance from the pool if available. +// Note that this "map" uses a pointer as a key because we are emulating the behavior of +// IdentityHashMap in Java, which uses the `==` operator to compare whether the keys are equal, +// which means is the key the same reference to an object rather than is it .equals() to another +// object. +func NewVisitRecord() *VisitRecord { + visitListPool.lock.Lock() + el := visitListPool.cache.Front() + defer visitListPool.lock.Unlock() + var vr *VisitRecord + if el == nil { + vr = &VisitRecord{ + store: make(map[*PredictionContext]*PredictionContext), + } + if collectStats { + vr.stats = &JStatRec{ + Source: PredictionContextCacheCollection, + Description: "VisitRecord", + } + // Track where we created it from if we are being asked to do so + if runtimeConfig.statsTraceStacks { + vr.stats.CreateStack = debug.Stack() + } + } + } else { + vr = el.Value.(*VisitRecord) + visitListPool.cache.Remove(el) + vr.store = make(map[*PredictionContext]*PredictionContext) + } + if collectStats { + Statistics.AddJStatRec(vr.stats) + } + return vr +} + +func (vr *VisitRecord) Release() { + vr.len = 0 + vr.store = nil + if collectStats { + vr.stats.MaxSize = 0 + vr.stats.CurSize = 0 + vr.stats.Gets = 0 + vr.stats.GetHits = 0 + vr.stats.GetMisses = 0 + vr.stats.GetHashConflicts = 0 + vr.stats.GetNoEnt = 0 + vr.stats.Puts = 0 + vr.stats.PutHits = 0 + vr.stats.PutMisses = 0 + vr.stats.PutHashConflicts = 0 + vr.stats.MaxSlotSize = 0 + } + visitListPool.lock.Lock() + visitListPool.cache.PushBack(vr) + visitListPool.lock.Unlock() +} + +func (vr *VisitRecord) Get(k *PredictionContext) (*PredictionContext, bool) { + if collectStats { + vr.stats.Gets++ + } + v := vr.store[k] + if v != nil { + if collectStats { + vr.stats.GetHits++ + } + return v, true + } + if collectStats { + vr.stats.GetNoEnt++ + } + return nil, false +} + +func (vr *VisitRecord) Put(k, v *PredictionContext) (*PredictionContext, bool) { + if collectStats { + vr.stats.Puts++ + } + vr.store[k] = v + vr.len++ + if collectStats { + vr.stats.CurSize = vr.len + if vr.len > vr.stats.MaxSize { + vr.stats.MaxSize = vr.len + } + } + return v, false +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/lexer.go b/vendor/github.com/antlr4-go/antlr/v4/lexer.go new file mode 100644 index 000000000..3c7896a91 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/lexer.go @@ -0,0 +1,426 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "fmt" + "strconv" +) + +// A lexer is recognizer that draws input symbols from a character stream. +// lexer grammars result in a subclass of this object. A Lexer object +// uses simplified Match() and error recovery mechanisms in the interest +// of speed. +/// + +type Lexer interface { + TokenSource + Recognizer + + Emit() Token + + SetChannel(int) + PushMode(int) + PopMode() int + SetType(int) + SetMode(int) +} + +type BaseLexer struct { + *BaseRecognizer + + Interpreter ILexerATNSimulator + TokenStartCharIndex int + TokenStartLine int + TokenStartColumn int + ActionType int + Virt Lexer // The most derived lexer implementation. Allows virtual method calls. + + input CharStream + factory TokenFactory + tokenFactorySourcePair *TokenSourceCharStreamPair + token Token + hitEOF bool + channel int + thetype int + modeStack IntStack + mode int + text string +} + +func NewBaseLexer(input CharStream) *BaseLexer { + + lexer := new(BaseLexer) + + lexer.BaseRecognizer = NewBaseRecognizer() + + lexer.input = input + lexer.factory = CommonTokenFactoryDEFAULT + lexer.tokenFactorySourcePair = &TokenSourceCharStreamPair{lexer, input} + + lexer.Virt = lexer + + lexer.Interpreter = nil // child classes must populate it + + // The goal of all lexer rules/methods is to create a token object. + // l is an instance variable as multiple rules may collaborate to + // create a single token. NextToken will return l object after + // Matching lexer rule(s). If you subclass to allow multiple token + // emissions, then set l to the last token to be Matched or + // something non nil so that the auto token emit mechanism will not + // emit another token. + lexer.token = nil + + // What character index in the stream did the current token start at? + // Needed, for example, to get the text for current token. Set at + // the start of NextToken. + lexer.TokenStartCharIndex = -1 + + // The line on which the first character of the token resides/// + lexer.TokenStartLine = -1 + + // The character position of first character within the line/// + lexer.TokenStartColumn = -1 + + // Once we see EOF on char stream, next token will be EOF. + // If you have DONE : EOF then you see DONE EOF. + lexer.hitEOF = false + + // The channel number for the current token/// + lexer.channel = TokenDefaultChannel + + // The token type for the current token/// + lexer.thetype = TokenInvalidType + + lexer.modeStack = make([]int, 0) + lexer.mode = LexerDefaultMode + + // You can set the text for the current token to override what is in + // the input char buffer. Use setText() or can set l instance var. + // / + lexer.text = "" + + return lexer +} + +const ( + LexerDefaultMode = 0 + LexerMore = -2 + LexerSkip = -3 +) + +//goland:noinspection GoUnusedConst +const ( + LexerDefaultTokenChannel = TokenDefaultChannel + LexerHidden = TokenHiddenChannel + LexerMinCharValue = 0x0000 + LexerMaxCharValue = 0x10FFFF +) + +func (b *BaseLexer) Reset() { + // wack Lexer state variables + if b.input != nil { + b.input.Seek(0) // rewind the input + } + b.token = nil + b.thetype = TokenInvalidType + b.channel = TokenDefaultChannel + b.TokenStartCharIndex = -1 + b.TokenStartColumn = -1 + b.TokenStartLine = -1 + b.text = "" + + b.hitEOF = false + b.mode = LexerDefaultMode + b.modeStack = make([]int, 0) + + b.Interpreter.reset() +} + +func (b *BaseLexer) GetInterpreter() ILexerATNSimulator { + return b.Interpreter +} + +func (b *BaseLexer) GetInputStream() CharStream { + return b.input +} + +func (b *BaseLexer) GetSourceName() string { + return b.GrammarFileName +} + +func (b *BaseLexer) SetChannel(v int) { + b.channel = v +} + +func (b *BaseLexer) GetTokenFactory() TokenFactory { + return b.factory +} + +func (b *BaseLexer) setTokenFactory(f TokenFactory) { + b.factory = f +} + +func (b *BaseLexer) safeMatch() (ret int) { + defer func() { + if e := recover(); e != nil { + if re, ok := e.(RecognitionException); ok { + b.notifyListeners(re) // Report error + b.Recover(re) + ret = LexerSkip // default + } + } + }() + + return b.Interpreter.Match(b.input, b.mode) +} + +// NextToken returns a token from the lexer input source i.e., Match a token on the source char stream. +func (b *BaseLexer) NextToken() Token { + if b.input == nil { + panic("NextToken requires a non-nil input stream.") + } + + tokenStartMarker := b.input.Mark() + + // previously in finally block + defer func() { + // make sure we release marker after Match or + // unbuffered char stream will keep buffering + b.input.Release(tokenStartMarker) + }() + + for { + if b.hitEOF { + b.EmitEOF() + return b.token + } + b.token = nil + b.channel = TokenDefaultChannel + b.TokenStartCharIndex = b.input.Index() + b.TokenStartColumn = b.Interpreter.GetCharPositionInLine() + b.TokenStartLine = b.Interpreter.GetLine() + b.text = "" + continueOuter := false + for { + b.thetype = TokenInvalidType + + ttype := b.safeMatch() + + if b.input.LA(1) == TokenEOF { + b.hitEOF = true + } + if b.thetype == TokenInvalidType { + b.thetype = ttype + } + if b.thetype == LexerSkip { + continueOuter = true + break + } + if b.thetype != LexerMore { + break + } + } + + if continueOuter { + continue + } + if b.token == nil { + b.Virt.Emit() + } + return b.token + } +} + +// Skip instructs the lexer to Skip creating a token for current lexer rule +// and look for another token. [NextToken] knows to keep looking when +// a lexer rule finishes with token set to [SKIPTOKEN]. Recall that +// if token==nil at end of any token rule, it creates one for you +// and emits it. +func (b *BaseLexer) Skip() { + b.thetype = LexerSkip +} + +func (b *BaseLexer) More() { + b.thetype = LexerMore +} + +// SetMode changes the lexer to a new mode. The lexer will use this mode from hereon in and the rules for that mode +// will be in force. +func (b *BaseLexer) SetMode(m int) { + b.mode = m +} + +// PushMode saves the current lexer mode so that it can be restored later. See [PopMode], then sets the +// current lexer mode to the supplied mode m. +func (b *BaseLexer) PushMode(m int) { + if runtimeConfig.lexerATNSimulatorDebug { + fmt.Println("pushMode " + strconv.Itoa(m)) + } + b.modeStack.Push(b.mode) + b.mode = m +} + +// PopMode restores the lexer mode saved by a call to [PushMode]. It is a panic error if there is no saved mode to +// return to. +func (b *BaseLexer) PopMode() int { + if len(b.modeStack) == 0 { + panic("Empty Stack") + } + if runtimeConfig.lexerATNSimulatorDebug { + fmt.Println("popMode back to " + fmt.Sprint(b.modeStack[0:len(b.modeStack)-1])) + } + i, _ := b.modeStack.Pop() + b.mode = i + return b.mode +} + +func (b *BaseLexer) inputStream() CharStream { + return b.input +} + +// SetInputStream resets the lexer input stream and associated lexer state. +func (b *BaseLexer) SetInputStream(input CharStream) { + b.input = nil + b.tokenFactorySourcePair = &TokenSourceCharStreamPair{b, b.input} + b.Reset() + b.input = input + b.tokenFactorySourcePair = &TokenSourceCharStreamPair{b, b.input} +} + +func (b *BaseLexer) GetTokenSourceCharStreamPair() *TokenSourceCharStreamPair { + return b.tokenFactorySourcePair +} + +// EmitToken by default does not support multiple emits per [NextToken] invocation +// for efficiency reasons. Subclass and override this func, [NextToken], +// and [GetToken] (to push tokens into a list and pull from that list +// rather than a single variable as this implementation does). +func (b *BaseLexer) EmitToken(token Token) { + b.token = token +} + +// Emit is the standard method called to automatically emit a token at the +// outermost lexical rule. The token object should point into the +// char buffer start..stop. If there is a text override in 'text', +// use that to set the token's text. Override this method to emit +// custom [Token] objects or provide a new factory. +// / +func (b *BaseLexer) Emit() Token { + t := b.factory.Create(b.tokenFactorySourcePair, b.thetype, b.text, b.channel, b.TokenStartCharIndex, b.GetCharIndex()-1, b.TokenStartLine, b.TokenStartColumn) + b.EmitToken(t) + return t +} + +// EmitEOF emits an EOF token. By default, this is the last token emitted +func (b *BaseLexer) EmitEOF() Token { + cpos := b.GetCharPositionInLine() + lpos := b.GetLine() + eof := b.factory.Create(b.tokenFactorySourcePair, TokenEOF, "", TokenDefaultChannel, b.input.Index(), b.input.Index()-1, lpos, cpos) + b.EmitToken(eof) + return eof +} + +// GetCharPositionInLine returns the current position in the current line as far as the lexer is concerned. +func (b *BaseLexer) GetCharPositionInLine() int { + return b.Interpreter.GetCharPositionInLine() +} + +func (b *BaseLexer) GetLine() int { + return b.Interpreter.GetLine() +} + +func (b *BaseLexer) GetType() int { + return b.thetype +} + +func (b *BaseLexer) SetType(t int) { + b.thetype = t +} + +// GetCharIndex returns the index of the current character of lookahead +func (b *BaseLexer) GetCharIndex() int { + return b.input.Index() +} + +// GetText returns the text Matched so far for the current token or any text override. +func (b *BaseLexer) GetText() string { + if b.text != "" { + return b.text + } + + return b.Interpreter.GetText(b.input) +} + +// SetText sets the complete text of this token; it wipes any previous changes to the text. +func (b *BaseLexer) SetText(text string) { + b.text = text +} + +// GetATN returns the ATN used by the lexer. +func (b *BaseLexer) GetATN() *ATN { + return b.Interpreter.ATN() +} + +// GetAllTokens returns a list of all [Token] objects in input char stream. +// Forces a load of all tokens that can be made from the input char stream. +// +// Does not include EOF token. +func (b *BaseLexer) GetAllTokens() []Token { + vl := b.Virt + tokens := make([]Token, 0) + t := vl.NextToken() + for t.GetTokenType() != TokenEOF { + tokens = append(tokens, t) + t = vl.NextToken() + } + return tokens +} + +func (b *BaseLexer) notifyListeners(e RecognitionException) { + start := b.TokenStartCharIndex + stop := b.input.Index() + text := b.input.GetTextFromInterval(NewInterval(start, stop)) + msg := "token recognition error at: '" + text + "'" + listener := b.GetErrorListenerDispatch() + listener.SyntaxError(b, nil, b.TokenStartLine, b.TokenStartColumn, msg, e) +} + +func (b *BaseLexer) getErrorDisplayForChar(c rune) string { + if c == TokenEOF { + return "" + } else if c == '\n' { + return "\\n" + } else if c == '\t' { + return "\\t" + } else if c == '\r' { + return "\\r" + } else { + return string(c) + } +} + +func (b *BaseLexer) getCharErrorDisplay(c rune) string { + return "'" + b.getErrorDisplayForChar(c) + "'" +} + +// Recover can normally Match any char in its vocabulary after Matching +// a token, so here we do the easy thing and just kill a character and hope +// it all works out. You can instead use the rule invocation stack +// to do sophisticated error recovery if you are in a fragment rule. +// +// In general, lexers should not need to recover and should have rules that cover any eventuality, such as +// a character that makes no sense to the recognizer. +func (b *BaseLexer) Recover(re RecognitionException) { + if b.input.LA(1) != TokenEOF { + if _, ok := re.(*LexerNoViableAltException); ok { + // Skip a char and try again + b.Interpreter.Consume(b.input) + } else { + // TODO: Do we lose character or line position information? + b.input.Consume() + } + } +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/lexer_action.go b/vendor/github.com/antlr4-go/antlr/v4/lexer_action.go new file mode 100644 index 000000000..eaa7393e0 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/lexer_action.go @@ -0,0 +1,452 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import "strconv" + +const ( + // LexerActionTypeChannel represents a [LexerChannelAction] action. + LexerActionTypeChannel = 0 + + // LexerActionTypeCustom represents a [LexerCustomAction] action. + LexerActionTypeCustom = 1 + + // LexerActionTypeMode represents a [LexerModeAction] action. + LexerActionTypeMode = 2 + + // LexerActionTypeMore represents a [LexerMoreAction] action. + LexerActionTypeMore = 3 + + // LexerActionTypePopMode represents a [LexerPopModeAction] action. + LexerActionTypePopMode = 4 + + // LexerActionTypePushMode represents a [LexerPushModeAction] action. + LexerActionTypePushMode = 5 + + // LexerActionTypeSkip represents a [LexerSkipAction] action. + LexerActionTypeSkip = 6 + + // LexerActionTypeType represents a [LexerTypeAction] action. + LexerActionTypeType = 7 +) + +type LexerAction interface { + getActionType() int + getIsPositionDependent() bool + execute(lexer Lexer) + Hash() int + Equals(other LexerAction) bool +} + +type BaseLexerAction struct { + actionType int + isPositionDependent bool +} + +func NewBaseLexerAction(action int) *BaseLexerAction { + la := new(BaseLexerAction) + + la.actionType = action + la.isPositionDependent = false + + return la +} + +func (b *BaseLexerAction) execute(_ Lexer) { + panic("Not implemented") +} + +func (b *BaseLexerAction) getActionType() int { + return b.actionType +} + +func (b *BaseLexerAction) getIsPositionDependent() bool { + return b.isPositionDependent +} + +func (b *BaseLexerAction) Hash() int { + h := murmurInit(0) + h = murmurUpdate(h, b.actionType) + return murmurFinish(h, 1) +} + +func (b *BaseLexerAction) Equals(other LexerAction) bool { + return b.actionType == other.getActionType() +} + +// LexerSkipAction implements the [BaseLexerAction.Skip] lexer action by calling [Lexer.Skip]. +// +// The Skip command does not have any parameters, so this action is +// implemented as a singleton instance exposed by the [LexerSkipActionINSTANCE]. +type LexerSkipAction struct { + *BaseLexerAction +} + +func NewLexerSkipAction() *LexerSkipAction { + la := new(LexerSkipAction) + la.BaseLexerAction = NewBaseLexerAction(LexerActionTypeSkip) + return la +} + +// LexerSkipActionINSTANCE provides a singleton instance of this parameterless lexer action. +var LexerSkipActionINSTANCE = NewLexerSkipAction() + +func (l *LexerSkipAction) execute(lexer Lexer) { + lexer.Skip() +} + +// String returns a string representation of the current [LexerSkipAction]. +func (l *LexerSkipAction) String() string { + return "skip" +} + +func (b *LexerSkipAction) Equals(other LexerAction) bool { + return other.getActionType() == LexerActionTypeSkip +} + +// Implements the {@code type} lexer action by calling {@link Lexer//setType} +// +// with the assigned type. +type LexerTypeAction struct { + *BaseLexerAction + + thetype int +} + +func NewLexerTypeAction(thetype int) *LexerTypeAction { + l := new(LexerTypeAction) + l.BaseLexerAction = NewBaseLexerAction(LexerActionTypeType) + l.thetype = thetype + return l +} + +func (l *LexerTypeAction) execute(lexer Lexer) { + lexer.SetType(l.thetype) +} + +func (l *LexerTypeAction) Hash() int { + h := murmurInit(0) + h = murmurUpdate(h, l.actionType) + h = murmurUpdate(h, l.thetype) + return murmurFinish(h, 2) +} + +func (l *LexerTypeAction) Equals(other LexerAction) bool { + if l == other { + return true + } else if _, ok := other.(*LexerTypeAction); !ok { + return false + } else { + return l.thetype == other.(*LexerTypeAction).thetype + } +} + +func (l *LexerTypeAction) String() string { + return "actionType(" + strconv.Itoa(l.thetype) + ")" +} + +// LexerPushModeAction implements the pushMode lexer action by calling +// [Lexer.pushMode] with the assigned mode. +type LexerPushModeAction struct { + *BaseLexerAction + mode int +} + +func NewLexerPushModeAction(mode int) *LexerPushModeAction { + + l := new(LexerPushModeAction) + l.BaseLexerAction = NewBaseLexerAction(LexerActionTypePushMode) + + l.mode = mode + return l +} + +//

This action is implemented by calling {@link Lexer//pushMode} with the +// value provided by {@link //getMode}.

+func (l *LexerPushModeAction) execute(lexer Lexer) { + lexer.PushMode(l.mode) +} + +func (l *LexerPushModeAction) Hash() int { + h := murmurInit(0) + h = murmurUpdate(h, l.actionType) + h = murmurUpdate(h, l.mode) + return murmurFinish(h, 2) +} + +func (l *LexerPushModeAction) Equals(other LexerAction) bool { + if l == other { + return true + } else if _, ok := other.(*LexerPushModeAction); !ok { + return false + } else { + return l.mode == other.(*LexerPushModeAction).mode + } +} + +func (l *LexerPushModeAction) String() string { + return "pushMode(" + strconv.Itoa(l.mode) + ")" +} + +// LexerPopModeAction implements the popMode lexer action by calling [Lexer.popMode]. +// +// The popMode command does not have any parameters, so this action is +// implemented as a singleton instance exposed by [LexerPopModeActionINSTANCE] +type LexerPopModeAction struct { + *BaseLexerAction +} + +func NewLexerPopModeAction() *LexerPopModeAction { + + l := new(LexerPopModeAction) + + l.BaseLexerAction = NewBaseLexerAction(LexerActionTypePopMode) + + return l +} + +var LexerPopModeActionINSTANCE = NewLexerPopModeAction() + +//

This action is implemented by calling {@link Lexer//popMode}.

+func (l *LexerPopModeAction) execute(lexer Lexer) { + lexer.PopMode() +} + +func (l *LexerPopModeAction) String() string { + return "popMode" +} + +// Implements the {@code more} lexer action by calling {@link Lexer//more}. +// +//

The {@code more} command does not have any parameters, so l action is +// implemented as a singleton instance exposed by {@link //INSTANCE}.

+ +type LexerMoreAction struct { + *BaseLexerAction +} + +func NewLexerMoreAction() *LexerMoreAction { + l := new(LexerMoreAction) + l.BaseLexerAction = NewBaseLexerAction(LexerActionTypeMore) + + return l +} + +var LexerMoreActionINSTANCE = NewLexerMoreAction() + +//

This action is implemented by calling {@link Lexer//popMode}.

+func (l *LexerMoreAction) execute(lexer Lexer) { + lexer.More() +} + +func (l *LexerMoreAction) String() string { + return "more" +} + +// LexerModeAction implements the mode lexer action by calling [Lexer.mode] with +// the assigned mode. +type LexerModeAction struct { + *BaseLexerAction + mode int +} + +func NewLexerModeAction(mode int) *LexerModeAction { + l := new(LexerModeAction) + l.BaseLexerAction = NewBaseLexerAction(LexerActionTypeMode) + l.mode = mode + return l +} + +//

This action is implemented by calling {@link Lexer//mode} with the +// value provided by {@link //getMode}.

+func (l *LexerModeAction) execute(lexer Lexer) { + lexer.SetMode(l.mode) +} + +func (l *LexerModeAction) Hash() int { + h := murmurInit(0) + h = murmurUpdate(h, l.actionType) + h = murmurUpdate(h, l.mode) + return murmurFinish(h, 2) +} + +func (l *LexerModeAction) Equals(other LexerAction) bool { + if l == other { + return true + } else if _, ok := other.(*LexerModeAction); !ok { + return false + } else { + return l.mode == other.(*LexerModeAction).mode + } +} + +func (l *LexerModeAction) String() string { + return "mode(" + strconv.Itoa(l.mode) + ")" +} + +// Executes a custom lexer action by calling {@link Recognizer//action} with the +// rule and action indexes assigned to the custom action. The implementation of +// a custom action is added to the generated code for the lexer in an override +// of {@link Recognizer//action} when the grammar is compiled. +// +//

This class may represent embedded actions created with the {...} +// syntax in ANTLR 4, as well as actions created for lexer commands where the +// command argument could not be evaluated when the grammar was compiled.

+ +// Constructs a custom lexer action with the specified rule and action +// indexes. +// +// @param ruleIndex The rule index to use for calls to +// {@link Recognizer//action}. +// @param actionIndex The action index to use for calls to +// {@link Recognizer//action}. + +type LexerCustomAction struct { + *BaseLexerAction + ruleIndex, actionIndex int +} + +func NewLexerCustomAction(ruleIndex, actionIndex int) *LexerCustomAction { + l := new(LexerCustomAction) + l.BaseLexerAction = NewBaseLexerAction(LexerActionTypeCustom) + l.ruleIndex = ruleIndex + l.actionIndex = actionIndex + l.isPositionDependent = true + return l +} + +//

Custom actions are implemented by calling {@link Lexer//action} with the +// appropriate rule and action indexes.

+func (l *LexerCustomAction) execute(lexer Lexer) { + lexer.Action(nil, l.ruleIndex, l.actionIndex) +} + +func (l *LexerCustomAction) Hash() int { + h := murmurInit(0) + h = murmurUpdate(h, l.actionType) + h = murmurUpdate(h, l.ruleIndex) + h = murmurUpdate(h, l.actionIndex) + return murmurFinish(h, 3) +} + +func (l *LexerCustomAction) Equals(other LexerAction) bool { + if l == other { + return true + } else if _, ok := other.(*LexerCustomAction); !ok { + return false + } else { + return l.ruleIndex == other.(*LexerCustomAction).ruleIndex && + l.actionIndex == other.(*LexerCustomAction).actionIndex + } +} + +// LexerChannelAction implements the channel lexer action by calling +// [Lexer.setChannel] with the assigned channel. +// +// Constructs a new channel action with the specified channel value. +type LexerChannelAction struct { + *BaseLexerAction + channel int +} + +// NewLexerChannelAction creates a channel lexer action by calling +// [Lexer.setChannel] with the assigned channel. +// +// Constructs a new channel action with the specified channel value. +func NewLexerChannelAction(channel int) *LexerChannelAction { + l := new(LexerChannelAction) + l.BaseLexerAction = NewBaseLexerAction(LexerActionTypeChannel) + l.channel = channel + return l +} + +//

This action is implemented by calling {@link Lexer//setChannel} with the +// value provided by {@link //getChannel}.

+func (l *LexerChannelAction) execute(lexer Lexer) { + lexer.SetChannel(l.channel) +} + +func (l *LexerChannelAction) Hash() int { + h := murmurInit(0) + h = murmurUpdate(h, l.actionType) + h = murmurUpdate(h, l.channel) + return murmurFinish(h, 2) +} + +func (l *LexerChannelAction) Equals(other LexerAction) bool { + if l == other { + return true + } else if _, ok := other.(*LexerChannelAction); !ok { + return false + } else { + return l.channel == other.(*LexerChannelAction).channel + } +} + +func (l *LexerChannelAction) String() string { + return "channel(" + strconv.Itoa(l.channel) + ")" +} + +// This implementation of {@link LexerAction} is used for tracking input offsets +// for position-dependent actions within a {@link LexerActionExecutor}. +// +//

This action is not serialized as part of the ATN, and is only required for +// position-dependent lexer actions which appear at a location other than the +// end of a rule. For more information about DFA optimizations employed for +// lexer actions, see {@link LexerActionExecutor//append} and +// {@link LexerActionExecutor//fixOffsetBeforeMatch}.

+ +type LexerIndexedCustomAction struct { + *BaseLexerAction + offset int + lexerAction LexerAction + isPositionDependent bool +} + +// NewLexerIndexedCustomAction constructs a new indexed custom action by associating a character offset +// with a [LexerAction]. +// +// Note: This class is only required for lexer actions for which +// [LexerAction.isPositionDependent] returns true. +// +// The offset points into the input [CharStream], relative to +// the token start index, at which the specified lexerAction should be +// executed. +func NewLexerIndexedCustomAction(offset int, lexerAction LexerAction) *LexerIndexedCustomAction { + + l := new(LexerIndexedCustomAction) + l.BaseLexerAction = NewBaseLexerAction(lexerAction.getActionType()) + + l.offset = offset + l.lexerAction = lexerAction + l.isPositionDependent = true + + return l +} + +//

This method calls {@link //execute} on the result of {@link //getAction} +// using the provided {@code lexer}.

+func (l *LexerIndexedCustomAction) execute(lexer Lexer) { + // assume the input stream position was properly set by the calling code + l.lexerAction.execute(lexer) +} + +func (l *LexerIndexedCustomAction) Hash() int { + h := murmurInit(0) + h = murmurUpdate(h, l.offset) + h = murmurUpdate(h, l.lexerAction.Hash()) + return murmurFinish(h, 2) +} + +func (l *LexerIndexedCustomAction) equals(other LexerAction) bool { + if l == other { + return true + } else if _, ok := other.(*LexerIndexedCustomAction); !ok { + return false + } else { + return l.offset == other.(*LexerIndexedCustomAction).offset && + l.lexerAction.Equals(other.(*LexerIndexedCustomAction).lexerAction) + } +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/lexer_action_executor.go b/vendor/github.com/antlr4-go/antlr/v4/lexer_action_executor.go new file mode 100644 index 000000000..dfc28c32b --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/lexer_action_executor.go @@ -0,0 +1,173 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import "golang.org/x/exp/slices" + +// Represents an executor for a sequence of lexer actions which traversed during +// the Matching operation of a lexer rule (token). +// +//

The executor tracks position information for position-dependent lexer actions +// efficiently, ensuring that actions appearing only at the end of the rule do +// not cause bloating of the {@link DFA} created for the lexer.

+ +type LexerActionExecutor struct { + lexerActions []LexerAction + cachedHash int +} + +func NewLexerActionExecutor(lexerActions []LexerAction) *LexerActionExecutor { + + if lexerActions == nil { + lexerActions = make([]LexerAction, 0) + } + + l := new(LexerActionExecutor) + + l.lexerActions = lexerActions + + // Caches the result of {@link //hashCode} since the hash code is an element + // of the performance-critical {@link ATNConfig//hashCode} operation. + l.cachedHash = murmurInit(0) + for _, a := range lexerActions { + l.cachedHash = murmurUpdate(l.cachedHash, a.Hash()) + } + l.cachedHash = murmurFinish(l.cachedHash, len(lexerActions)) + + return l +} + +// LexerActionExecutorappend creates a [LexerActionExecutor] which executes the actions for +// the input [LexerActionExecutor] followed by a specified +// [LexerAction]. +// TODO: This does not match the Java code +func LexerActionExecutorappend(lexerActionExecutor *LexerActionExecutor, lexerAction LexerAction) *LexerActionExecutor { + if lexerActionExecutor == nil { + return NewLexerActionExecutor([]LexerAction{lexerAction}) + } + + return NewLexerActionExecutor(append(lexerActionExecutor.lexerActions, lexerAction)) +} + +// fixOffsetBeforeMatch creates a [LexerActionExecutor] which encodes the current offset +// for position-dependent lexer actions. +// +// Normally, when the executor encounters lexer actions where +// [LexerAction.isPositionDependent] returns true, it calls +// [IntStream.Seek] on the input [CharStream] to set the input +// position to the end of the current token. This behavior provides +// for efficient [DFA] representation of lexer actions which appear at the end +// of a lexer rule, even when the lexer rule Matches a variable number of +// characters. +// +// Prior to traversing a Match transition in the [ATN], the current offset +// from the token start index is assigned to all position-dependent lexer +// actions which have not already been assigned a fixed offset. By storing +// the offsets relative to the token start index, the [DFA] representation of +// lexer actions which appear in the middle of tokens remains efficient due +// to sharing among tokens of the same Length, regardless of their absolute +// position in the input stream. +// +// If the current executor already has offsets assigned to all +// position-dependent lexer actions, the method returns this instance. +// +// The offset is assigned to all position-dependent +// lexer actions which do not already have offsets assigned. +// +// The func returns a [LexerActionExecutor] that stores input stream offsets +// for all position-dependent lexer actions. +func (l *LexerActionExecutor) fixOffsetBeforeMatch(offset int) *LexerActionExecutor { + var updatedLexerActions []LexerAction + for i := 0; i < len(l.lexerActions); i++ { + _, ok := l.lexerActions[i].(*LexerIndexedCustomAction) + if l.lexerActions[i].getIsPositionDependent() && !ok { + if updatedLexerActions == nil { + updatedLexerActions = make([]LexerAction, 0, len(l.lexerActions)) + updatedLexerActions = append(updatedLexerActions, l.lexerActions...) + } + updatedLexerActions[i] = NewLexerIndexedCustomAction(offset, l.lexerActions[i]) + } + } + if updatedLexerActions == nil { + return l + } + + return NewLexerActionExecutor(updatedLexerActions) +} + +// Execute the actions encapsulated by l executor within the context of a +// particular {@link Lexer}. +// +//

This method calls {@link IntStream//seek} to set the position of the +// {@code input} {@link CharStream} prior to calling +// {@link LexerAction//execute} on a position-dependent action. Before the +// method returns, the input position will be restored to the same position +// it was in when the method was invoked.

+// +// @param lexer The lexer instance. +// @param input The input stream which is the source for the current token. +// When l method is called, the current {@link IntStream//index} for +// {@code input} should be the start of the following token, i.e. 1 +// character past the end of the current token. +// @param startIndex The token start index. This value may be passed to +// {@link IntStream//seek} to set the {@code input} position to the beginning +// of the token. +// / +func (l *LexerActionExecutor) execute(lexer Lexer, input CharStream, startIndex int) { + requiresSeek := false + stopIndex := input.Index() + + defer func() { + if requiresSeek { + input.Seek(stopIndex) + } + }() + + for i := 0; i < len(l.lexerActions); i++ { + lexerAction := l.lexerActions[i] + if la, ok := lexerAction.(*LexerIndexedCustomAction); ok { + offset := la.offset + input.Seek(startIndex + offset) + lexerAction = la.lexerAction + requiresSeek = (startIndex + offset) != stopIndex + } else if lexerAction.getIsPositionDependent() { + input.Seek(stopIndex) + requiresSeek = false + } + lexerAction.execute(lexer) + } +} + +func (l *LexerActionExecutor) Hash() int { + if l == nil { + // TODO: Why is this here? l should not be nil + return 61 + } + + // TODO: This is created from the action itself when the struct is created - will this be an issue at some point? Java uses the runtime assign hashcode + return l.cachedHash +} + +func (l *LexerActionExecutor) Equals(other interface{}) bool { + if l == other { + return true + } + othert, ok := other.(*LexerActionExecutor) + if !ok { + return false + } + if othert == nil { + return false + } + if l.cachedHash != othert.cachedHash { + return false + } + if len(l.lexerActions) != len(othert.lexerActions) { + return false + } + return slices.EqualFunc(l.lexerActions, othert.lexerActions, func(i, j LexerAction) bool { + return i.Equals(j) + }) +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/lexer_atn_simulator.go b/vendor/github.com/antlr4-go/antlr/v4/lexer_atn_simulator.go new file mode 100644 index 000000000..fe938b025 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/lexer_atn_simulator.go @@ -0,0 +1,677 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "fmt" + "strconv" + "strings" +) + +//goland:noinspection GoUnusedGlobalVariable +var ( + LexerATNSimulatorMinDFAEdge = 0 + LexerATNSimulatorMaxDFAEdge = 127 // forces unicode to stay in ATN + + LexerATNSimulatorMatchCalls = 0 +) + +type ILexerATNSimulator interface { + IATNSimulator + + reset() + Match(input CharStream, mode int) int + GetCharPositionInLine() int + GetLine() int + GetText(input CharStream) string + Consume(input CharStream) +} + +type LexerATNSimulator struct { + BaseATNSimulator + + recog Lexer + predictionMode int + mergeCache *JPCMap2 + startIndex int + Line int + CharPositionInLine int + mode int + prevAccept *SimState + MatchCalls int +} + +func NewLexerATNSimulator(recog Lexer, atn *ATN, decisionToDFA []*DFA, sharedContextCache *PredictionContextCache) *LexerATNSimulator { + l := &LexerATNSimulator{ + BaseATNSimulator: BaseATNSimulator{ + atn: atn, + sharedContextCache: sharedContextCache, + }, + } + + l.decisionToDFA = decisionToDFA + l.recog = recog + + // The current token's starting index into the character stream. + // Shared across DFA to ATN simulation in case the ATN fails and the + // DFA did not have a previous accept state. In l case, we use the + // ATN-generated exception object. + l.startIndex = -1 + + // line number 1..n within the input + l.Line = 1 + + // The index of the character relative to the beginning of the line + // 0..n-1 + l.CharPositionInLine = 0 + + l.mode = LexerDefaultMode + + // Used during DFA/ATN exec to record the most recent accept configuration + // info + l.prevAccept = NewSimState() + + return l +} + +func (l *LexerATNSimulator) copyState(simulator *LexerATNSimulator) { + l.CharPositionInLine = simulator.CharPositionInLine + l.Line = simulator.Line + l.mode = simulator.mode + l.startIndex = simulator.startIndex +} + +func (l *LexerATNSimulator) Match(input CharStream, mode int) int { + l.MatchCalls++ + l.mode = mode + mark := input.Mark() + + defer func() { + input.Release(mark) + }() + + l.startIndex = input.Index() + l.prevAccept.reset() + + dfa := l.decisionToDFA[mode] + + var s0 *DFAState + l.atn.stateMu.RLock() + s0 = dfa.getS0() + l.atn.stateMu.RUnlock() + + if s0 == nil { + return l.MatchATN(input) + } + + return l.execATN(input, s0) +} + +func (l *LexerATNSimulator) reset() { + l.prevAccept.reset() + l.startIndex = -1 + l.Line = 1 + l.CharPositionInLine = 0 + l.mode = LexerDefaultMode +} + +func (l *LexerATNSimulator) MatchATN(input CharStream) int { + startState := l.atn.modeToStartState[l.mode] + + if runtimeConfig.lexerATNSimulatorDebug { + fmt.Println("MatchATN mode " + strconv.Itoa(l.mode) + " start: " + startState.String()) + } + oldMode := l.mode + s0Closure := l.computeStartState(input, startState) + suppressEdge := s0Closure.hasSemanticContext + s0Closure.hasSemanticContext = false + + next := l.addDFAState(s0Closure, suppressEdge) + + predict := l.execATN(input, next) + + if runtimeConfig.lexerATNSimulatorDebug { + fmt.Println("DFA after MatchATN: " + l.decisionToDFA[oldMode].ToLexerString()) + } + return predict +} + +func (l *LexerATNSimulator) execATN(input CharStream, ds0 *DFAState) int { + + if runtimeConfig.lexerATNSimulatorDebug { + fmt.Println("start state closure=" + ds0.configs.String()) + } + if ds0.isAcceptState { + // allow zero-Length tokens + l.captureSimState(l.prevAccept, input, ds0) + } + t := input.LA(1) + s := ds0 // s is current/from DFA state + + for { // while more work + if runtimeConfig.lexerATNSimulatorDebug { + fmt.Println("execATN loop starting closure: " + s.configs.String()) + } + + // As we move src->trg, src->trg, we keep track of the previous trg to + // avoid looking up the DFA state again, which is expensive. + // If the previous target was already part of the DFA, we might + // be able to avoid doing a reach operation upon t. If s!=nil, + // it means that semantic predicates didn't prevent us from + // creating a DFA state. Once we know s!=nil, we check to see if + // the DFA state has an edge already for t. If so, we can just reuse + // it's configuration set there's no point in re-computing it. + // This is kind of like doing DFA simulation within the ATN + // simulation because DFA simulation is really just a way to avoid + // computing reach/closure sets. Technically, once we know that + // we have a previously added DFA state, we could jump over to + // the DFA simulator. But, that would mean popping back and forth + // a lot and making things more complicated algorithmically. + // This optimization makes a lot of sense for loops within DFA. + // A character will take us back to an existing DFA state + // that already has lots of edges out of it. e.g., .* in comments. + target := l.getExistingTargetState(s, t) + if target == nil { + target = l.computeTargetState(input, s, t) + // print("Computed:" + str(target)) + } + if target == ATNSimulatorError { + break + } + // If l is a consumable input element, make sure to consume before + // capturing the accept state so the input index, line, and char + // position accurately reflect the state of the interpreter at the + // end of the token. + if t != TokenEOF { + l.Consume(input) + } + if target.isAcceptState { + l.captureSimState(l.prevAccept, input, target) + if t == TokenEOF { + break + } + } + t = input.LA(1) + s = target // flip current DFA target becomes new src/from state + } + + return l.failOrAccept(l.prevAccept, input, s.configs, t) +} + +// Get an existing target state for an edge in the DFA. If the target state +// for the edge has not yet been computed or is otherwise not available, +// l method returns {@code nil}. +// +// @param s The current DFA state +// @param t The next input symbol +// @return The existing target DFA state for the given input symbol +// {@code t}, or {@code nil} if the target state for l edge is not +// already cached +func (l *LexerATNSimulator) getExistingTargetState(s *DFAState, t int) *DFAState { + if t < LexerATNSimulatorMinDFAEdge || t > LexerATNSimulatorMaxDFAEdge { + return nil + } + + l.atn.edgeMu.RLock() + defer l.atn.edgeMu.RUnlock() + if s.getEdges() == nil { + return nil + } + target := s.getIthEdge(t - LexerATNSimulatorMinDFAEdge) + if runtimeConfig.lexerATNSimulatorDebug && target != nil { + fmt.Println("reuse state " + strconv.Itoa(s.stateNumber) + " edge to " + strconv.Itoa(target.stateNumber)) + } + return target +} + +// computeTargetState computes a target state for an edge in the [DFA], and attempt to add the +// computed state and corresponding edge to the [DFA]. +// +// The func returns the computed target [DFA] state for the given input symbol t. +// If this does not lead to a valid [DFA] state, this method +// returns ATNSimulatorError. +func (l *LexerATNSimulator) computeTargetState(input CharStream, s *DFAState, t int) *DFAState { + reach := NewOrderedATNConfigSet() + + // if we don't find an existing DFA state + // Fill reach starting from closure, following t transitions + l.getReachableConfigSet(input, s.configs, reach, t) + + if len(reach.configs) == 0 { // we got nowhere on t from s + if !reach.hasSemanticContext { + // we got nowhere on t, don't panic out l knowledge it'd + // cause a fail-over from DFA later. + l.addDFAEdge(s, t, ATNSimulatorError, nil) + } + // stop when we can't Match any more char + return ATNSimulatorError + } + // Add an edge from s to target DFA found/created for reach + return l.addDFAEdge(s, t, nil, reach) +} + +func (l *LexerATNSimulator) failOrAccept(prevAccept *SimState, input CharStream, reach *ATNConfigSet, t int) int { + if l.prevAccept.dfaState != nil { + lexerActionExecutor := prevAccept.dfaState.lexerActionExecutor + l.accept(input, lexerActionExecutor, l.startIndex, prevAccept.index, prevAccept.line, prevAccept.column) + return prevAccept.dfaState.prediction + } + + // if no accept and EOF is first char, return EOF + if t == TokenEOF && input.Index() == l.startIndex { + return TokenEOF + } + + panic(NewLexerNoViableAltException(l.recog, input, l.startIndex, reach)) +} + +// getReachableConfigSet when given a starting configuration set, figures out all [ATN] configurations +// we can reach upon input t. +// +// Parameter reach is a return parameter. +func (l *LexerATNSimulator) getReachableConfigSet(input CharStream, closure *ATNConfigSet, reach *ATNConfigSet, t int) { + // l is used to Skip processing for configs which have a lower priority + // than a runtimeConfig that already reached an accept state for the same rule + SkipAlt := ATNInvalidAltNumber + + for _, cfg := range closure.configs { + currentAltReachedAcceptState := cfg.GetAlt() == SkipAlt + if currentAltReachedAcceptState && cfg.passedThroughNonGreedyDecision { + continue + } + + if runtimeConfig.lexerATNSimulatorDebug { + + fmt.Printf("testing %s at %s\n", l.GetTokenName(t), cfg.String()) + } + + for _, trans := range cfg.GetState().GetTransitions() { + target := l.getReachableTarget(trans, t) + if target != nil { + lexerActionExecutor := cfg.lexerActionExecutor + if lexerActionExecutor != nil { + lexerActionExecutor = lexerActionExecutor.fixOffsetBeforeMatch(input.Index() - l.startIndex) + } + treatEOFAsEpsilon := t == TokenEOF + config := NewLexerATNConfig3(cfg, target, lexerActionExecutor) + if l.closure(input, config, reach, + currentAltReachedAcceptState, true, treatEOFAsEpsilon) { + // any remaining configs for l alt have a lower priority + // than the one that just reached an accept state. + SkipAlt = cfg.GetAlt() + } + } + } + } +} + +func (l *LexerATNSimulator) accept(input CharStream, lexerActionExecutor *LexerActionExecutor, startIndex, index, line, charPos int) { + if runtimeConfig.lexerATNSimulatorDebug { + fmt.Printf("ACTION %v\n", lexerActionExecutor) + } + // seek to after last char in token + input.Seek(index) + l.Line = line + l.CharPositionInLine = charPos + if lexerActionExecutor != nil && l.recog != nil { + lexerActionExecutor.execute(l.recog, input, startIndex) + } +} + +func (l *LexerATNSimulator) getReachableTarget(trans Transition, t int) ATNState { + if trans.Matches(t, 0, LexerMaxCharValue) { + return trans.getTarget() + } + + return nil +} + +func (l *LexerATNSimulator) computeStartState(input CharStream, p ATNState) *ATNConfigSet { + configs := NewOrderedATNConfigSet() + for i := 0; i < len(p.GetTransitions()); i++ { + target := p.GetTransitions()[i].getTarget() + cfg := NewLexerATNConfig6(target, i+1, BasePredictionContextEMPTY) + l.closure(input, cfg, configs, false, false, false) + } + + return configs +} + +// closure since the alternatives within any lexer decision are ordered by +// preference, this method stops pursuing the closure as soon as an accept +// state is reached. After the first accept state is reached by depth-first +// search from runtimeConfig, all other (potentially reachable) states for +// this rule would have a lower priority. +// +// The func returns true if an accept state is reached. +func (l *LexerATNSimulator) closure(input CharStream, config *ATNConfig, configs *ATNConfigSet, + currentAltReachedAcceptState, speculative, treatEOFAsEpsilon bool) bool { + + if runtimeConfig.lexerATNSimulatorDebug { + fmt.Println("closure(" + config.String() + ")") + } + + _, ok := config.state.(*RuleStopState) + if ok { + + if runtimeConfig.lexerATNSimulatorDebug { + if l.recog != nil { + fmt.Printf("closure at %s rule stop %s\n", l.recog.GetRuleNames()[config.state.GetRuleIndex()], config) + } else { + fmt.Printf("closure at rule stop %s\n", config) + } + } + + if config.context == nil || config.context.hasEmptyPath() { + if config.context == nil || config.context.isEmpty() { + configs.Add(config, nil) + return true + } + + configs.Add(NewLexerATNConfig2(config, config.state, BasePredictionContextEMPTY), nil) + currentAltReachedAcceptState = true + } + if config.context != nil && !config.context.isEmpty() { + for i := 0; i < config.context.length(); i++ { + if config.context.getReturnState(i) != BasePredictionContextEmptyReturnState { + newContext := config.context.GetParent(i) // "pop" return state + returnState := l.atn.states[config.context.getReturnState(i)] + cfg := NewLexerATNConfig2(config, returnState, newContext) + currentAltReachedAcceptState = l.closure(input, cfg, configs, currentAltReachedAcceptState, speculative, treatEOFAsEpsilon) + } + } + } + return currentAltReachedAcceptState + } + // optimization + if !config.state.GetEpsilonOnlyTransitions() { + if !currentAltReachedAcceptState || !config.passedThroughNonGreedyDecision { + configs.Add(config, nil) + } + } + for j := 0; j < len(config.state.GetTransitions()); j++ { + trans := config.state.GetTransitions()[j] + cfg := l.getEpsilonTarget(input, config, trans, configs, speculative, treatEOFAsEpsilon) + if cfg != nil { + currentAltReachedAcceptState = l.closure(input, cfg, configs, + currentAltReachedAcceptState, speculative, treatEOFAsEpsilon) + } + } + return currentAltReachedAcceptState +} + +// side-effect: can alter configs.hasSemanticContext +func (l *LexerATNSimulator) getEpsilonTarget(input CharStream, config *ATNConfig, trans Transition, + configs *ATNConfigSet, speculative, treatEOFAsEpsilon bool) *ATNConfig { + + var cfg *ATNConfig + + if trans.getSerializationType() == TransitionRULE { + + rt := trans.(*RuleTransition) + newContext := SingletonBasePredictionContextCreate(config.context, rt.followState.GetStateNumber()) + cfg = NewLexerATNConfig2(config, trans.getTarget(), newContext) + + } else if trans.getSerializationType() == TransitionPRECEDENCE { + panic("Precedence predicates are not supported in lexers.") + } else if trans.getSerializationType() == TransitionPREDICATE { + // Track traversing semantic predicates. If we traverse, + // we cannot add a DFA state for l "reach" computation + // because the DFA would not test the predicate again in the + // future. Rather than creating collections of semantic predicates + // like v3 and testing them on prediction, v4 will test them on the + // fly all the time using the ATN not the DFA. This is slower but + // semantically it's not used that often. One of the key elements to + // l predicate mechanism is not adding DFA states that see + // predicates immediately afterwards in the ATN. For example, + + // a : ID {p1}? | ID {p2}? + + // should create the start state for rule 'a' (to save start state + // competition), but should not create target of ID state. The + // collection of ATN states the following ID references includes + // states reached by traversing predicates. Since l is when we + // test them, we cannot cash the DFA state target of ID. + + pt := trans.(*PredicateTransition) + + if runtimeConfig.lexerATNSimulatorDebug { + fmt.Println("EVAL rule " + strconv.Itoa(trans.(*PredicateTransition).ruleIndex) + ":" + strconv.Itoa(pt.predIndex)) + } + configs.hasSemanticContext = true + if l.evaluatePredicate(input, pt.ruleIndex, pt.predIndex, speculative) { + cfg = NewLexerATNConfig4(config, trans.getTarget()) + } + } else if trans.getSerializationType() == TransitionACTION { + if config.context == nil || config.context.hasEmptyPath() { + // execute actions anywhere in the start rule for a token. + // + // TODO: if the entry rule is invoked recursively, some + // actions may be executed during the recursive call. The + // problem can appear when hasEmptyPath() is true but + // isEmpty() is false. In this case, the config needs to be + // split into two contexts - one with just the empty path + // and another with everything but the empty path. + // Unfortunately, the current algorithm does not allow + // getEpsilonTarget to return two configurations, so + // additional modifications are needed before we can support + // the split operation. + lexerActionExecutor := LexerActionExecutorappend(config.lexerActionExecutor, l.atn.lexerActions[trans.(*ActionTransition).actionIndex]) + cfg = NewLexerATNConfig3(config, trans.getTarget(), lexerActionExecutor) + } else { + // ignore actions in referenced rules + cfg = NewLexerATNConfig4(config, trans.getTarget()) + } + } else if trans.getSerializationType() == TransitionEPSILON { + cfg = NewLexerATNConfig4(config, trans.getTarget()) + } else if trans.getSerializationType() == TransitionATOM || + trans.getSerializationType() == TransitionRANGE || + trans.getSerializationType() == TransitionSET { + if treatEOFAsEpsilon { + if trans.Matches(TokenEOF, 0, LexerMaxCharValue) { + cfg = NewLexerATNConfig4(config, trans.getTarget()) + } + } + } + return cfg +} + +// evaluatePredicate eEvaluates a predicate specified in the lexer. +// +// If speculative is true, this method was called before +// [consume] for the Matched character. This method should call +// [consume] before evaluating the predicate to ensure position +// sensitive values, including [GetText], [GetLine], +// and [GetColumn], properly reflect the current +// lexer state. This method should restore input and the simulator +// to the original state before returning, i.e. undo the actions made by the +// call to [Consume]. +// +// The func returns true if the specified predicate evaluates to true. +func (l *LexerATNSimulator) evaluatePredicate(input CharStream, ruleIndex, predIndex int, speculative bool) bool { + // assume true if no recognizer was provided + if l.recog == nil { + return true + } + if !speculative { + return l.recog.Sempred(nil, ruleIndex, predIndex) + } + savedcolumn := l.CharPositionInLine + savedLine := l.Line + index := input.Index() + marker := input.Mark() + + defer func() { + l.CharPositionInLine = savedcolumn + l.Line = savedLine + input.Seek(index) + input.Release(marker) + }() + + l.Consume(input) + return l.recog.Sempred(nil, ruleIndex, predIndex) +} + +func (l *LexerATNSimulator) captureSimState(settings *SimState, input CharStream, dfaState *DFAState) { + settings.index = input.Index() + settings.line = l.Line + settings.column = l.CharPositionInLine + settings.dfaState = dfaState +} + +func (l *LexerATNSimulator) addDFAEdge(from *DFAState, tk int, to *DFAState, cfgs *ATNConfigSet) *DFAState { + if to == nil && cfgs != nil { + // leading to l call, ATNConfigSet.hasSemanticContext is used as a + // marker indicating dynamic predicate evaluation makes l edge + // dependent on the specific input sequence, so the static edge in the + // DFA should be omitted. The target DFAState is still created since + // execATN has the ability to reSynchronize with the DFA state cache + // following the predicate evaluation step. + // + // TJP notes: next time through the DFA, we see a pred again and eval. + // If that gets us to a previously created (but dangling) DFA + // state, we can continue in pure DFA mode from there. + // + suppressEdge := cfgs.hasSemanticContext + cfgs.hasSemanticContext = false + to = l.addDFAState(cfgs, true) + + if suppressEdge { + return to + } + } + // add the edge + if tk < LexerATNSimulatorMinDFAEdge || tk > LexerATNSimulatorMaxDFAEdge { + // Only track edges within the DFA bounds + return to + } + if runtimeConfig.lexerATNSimulatorDebug { + fmt.Println("EDGE " + from.String() + " -> " + to.String() + " upon " + strconv.Itoa(tk)) + } + l.atn.edgeMu.Lock() + defer l.atn.edgeMu.Unlock() + if from.getEdges() == nil { + // make room for tokens 1..n and -1 masquerading as index 0 + from.setEdges(make([]*DFAState, LexerATNSimulatorMaxDFAEdge-LexerATNSimulatorMinDFAEdge+1)) + } + from.setIthEdge(tk-LexerATNSimulatorMinDFAEdge, to) // connect + + return to +} + +// Add a NewDFA state if there isn't one with l set of +// configurations already. This method also detects the first +// configuration containing an ATN rule stop state. Later, when +// traversing the DFA, we will know which rule to accept. +func (l *LexerATNSimulator) addDFAState(configs *ATNConfigSet, suppressEdge bool) *DFAState { + + proposed := NewDFAState(-1, configs) + var firstConfigWithRuleStopState *ATNConfig + + for _, cfg := range configs.configs { + _, ok := cfg.GetState().(*RuleStopState) + + if ok { + firstConfigWithRuleStopState = cfg + break + } + } + if firstConfigWithRuleStopState != nil { + proposed.isAcceptState = true + proposed.lexerActionExecutor = firstConfigWithRuleStopState.lexerActionExecutor + proposed.setPrediction(l.atn.ruleToTokenType[firstConfigWithRuleStopState.GetState().GetRuleIndex()]) + } + dfa := l.decisionToDFA[l.mode] + + l.atn.stateMu.Lock() + defer l.atn.stateMu.Unlock() + existing, present := dfa.Get(proposed) + if present { + + // This state was already present, so just return it. + // + proposed = existing + } else { + + // We need to add the new state + // + proposed.stateNumber = dfa.Len() + configs.readOnly = true + configs.configLookup = nil // Not needed now + proposed.configs = configs + dfa.Put(proposed) + } + if !suppressEdge { + dfa.setS0(proposed) + } + return proposed +} + +func (l *LexerATNSimulator) getDFA(mode int) *DFA { + return l.decisionToDFA[mode] +} + +// GetText returns the text [Match]ed so far for the current token. +func (l *LexerATNSimulator) GetText(input CharStream) string { + // index is first lookahead char, don't include. + return input.GetTextFromInterval(NewInterval(l.startIndex, input.Index()-1)) +} + +func (l *LexerATNSimulator) Consume(input CharStream) { + curChar := input.LA(1) + if curChar == int('\n') { + l.Line++ + l.CharPositionInLine = 0 + } else { + l.CharPositionInLine++ + } + input.Consume() +} + +func (l *LexerATNSimulator) GetCharPositionInLine() int { + return l.CharPositionInLine +} + +func (l *LexerATNSimulator) GetLine() int { + return l.Line +} + +func (l *LexerATNSimulator) GetTokenName(tt int) string { + if tt == -1 { + return "EOF" + } + + var sb strings.Builder + sb.Grow(6) + sb.WriteByte('\'') + sb.WriteRune(rune(tt)) + sb.WriteByte('\'') + + return sb.String() +} + +func resetSimState(sim *SimState) { + sim.index = -1 + sim.line = 0 + sim.column = -1 + sim.dfaState = nil +} + +type SimState struct { + index int + line int + column int + dfaState *DFAState +} + +func NewSimState() *SimState { + s := new(SimState) + resetSimState(s) + return s +} + +func (s *SimState) reset() { + resetSimState(s) +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/ll1_analyzer.go b/vendor/github.com/antlr4-go/antlr/v4/ll1_analyzer.go new file mode 100644 index 000000000..4955ac876 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/ll1_analyzer.go @@ -0,0 +1,218 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +type LL1Analyzer struct { + atn *ATN +} + +func NewLL1Analyzer(atn *ATN) *LL1Analyzer { + la := new(LL1Analyzer) + la.atn = atn + return la +} + +const ( + // LL1AnalyzerHitPred is a special value added to the lookahead sets to indicate that we hit + // a predicate during analysis if + // + // seeThruPreds==false + LL1AnalyzerHitPred = TokenInvalidType +) + +// * +// Calculates the SLL(1) expected lookahead set for each outgoing transition +// of an {@link ATNState}. The returned array has one element for each +// outgoing transition in {@code s}. If the closure from transition +// i leads to a semantic predicate before Matching a symbol, the +// element at index i of the result will be {@code nil}. +// +// @param s the ATN state +// @return the expected symbols for each outgoing transition of {@code s}. +func (la *LL1Analyzer) getDecisionLookahead(s ATNState) []*IntervalSet { + if s == nil { + return nil + } + count := len(s.GetTransitions()) + look := make([]*IntervalSet, count) + for alt := 0; alt < count; alt++ { + + look[alt] = NewIntervalSet() + lookBusy := NewJStore[*ATNConfig, Comparator[*ATNConfig]](aConfEqInst, ClosureBusyCollection, "LL1Analyzer.getDecisionLookahead for lookBusy") + la.look1(s.GetTransitions()[alt].getTarget(), nil, BasePredictionContextEMPTY, look[alt], lookBusy, NewBitSet(), false, false) + + // Wipe out lookahead for la alternative if we found nothing, + // or we had a predicate when we !seeThruPreds + if look[alt].length() == 0 || look[alt].contains(LL1AnalyzerHitPred) { + look[alt] = nil + } + } + return look +} + +// Look computes the set of tokens that can follow s in the [ATN] in the +// specified ctx. +// +// If ctx is nil and the end of the rule containing +// s is reached, [EPSILON] is added to the result set. +// +// If ctx is not nil and the end of the outermost rule is +// reached, [EOF] is added to the result set. +// +// Parameter s the ATN state, and stopState is the ATN state to stop at. This can be a +// [BlockEndState] to detect epsilon paths through a closure. +// +// Parameter ctx is the complete parser context, or nil if the context +// should be ignored +// +// The func returns the set of tokens that can follow s in the [ATN] in the +// specified ctx. +func (la *LL1Analyzer) Look(s, stopState ATNState, ctx RuleContext) *IntervalSet { + r := NewIntervalSet() + var lookContext *PredictionContext + if ctx != nil { + lookContext = predictionContextFromRuleContext(s.GetATN(), ctx) + } + la.look1(s, stopState, lookContext, r, NewJStore[*ATNConfig, Comparator[*ATNConfig]](aConfEqInst, ClosureBusyCollection, "LL1Analyzer.Look for la.look1()"), + NewBitSet(), true, true) + return r +} + +//* +// Compute set of tokens that can follow {@code s} in the ATN in the +// specified {@code ctx}. +// +//

If {@code ctx} is {@code nil} and {@code stopState} or the end of the +// rule containing {@code s} is reached, {@link Token//EPSILON} is added to +// the result set. If {@code ctx} is not {@code nil} and {@code addEOF} is +// {@code true} and {@code stopState} or the end of the outermost rule is +// reached, {@link Token//EOF} is added to the result set.

+// +// @param s the ATN state. +// @param stopState the ATN state to stop at. This can be a +// {@link BlockEndState} to detect epsilon paths through a closure. +// @param ctx The outer context, or {@code nil} if the outer context should +// not be used. +// @param look The result lookahead set. +// @param lookBusy A set used for preventing epsilon closures in the ATN +// from causing a stack overflow. Outside code should pass +// {@code NewSet} for la argument. +// @param calledRuleStack A set used for preventing left recursion in the +// ATN from causing a stack overflow. Outside code should pass +// {@code NewBitSet()} for la argument. +// @param seeThruPreds {@code true} to true semantic predicates as +// implicitly {@code true} and "see through them", otherwise {@code false} +// to treat semantic predicates as opaque and add {@link //HitPred} to the +// result if one is encountered. +// @param addEOF Add {@link Token//EOF} to the result if the end of the +// outermost context is reached. This parameter has no effect if {@code ctx} +// is {@code nil}. + +func (la *LL1Analyzer) look2(_, stopState ATNState, ctx *PredictionContext, look *IntervalSet, lookBusy *JStore[*ATNConfig, Comparator[*ATNConfig]], + calledRuleStack *BitSet, seeThruPreds, addEOF bool, i int) { + + returnState := la.atn.states[ctx.getReturnState(i)] + la.look1(returnState, stopState, ctx.GetParent(i), look, lookBusy, calledRuleStack, seeThruPreds, addEOF) + +} + +func (la *LL1Analyzer) look1(s, stopState ATNState, ctx *PredictionContext, look *IntervalSet, lookBusy *JStore[*ATNConfig, Comparator[*ATNConfig]], calledRuleStack *BitSet, seeThruPreds, addEOF bool) { + + c := NewATNConfig6(s, 0, ctx) + + if lookBusy.Contains(c) { + return + } + + _, present := lookBusy.Put(c) + if present { + return + + } + if s == stopState { + if ctx == nil { + look.addOne(TokenEpsilon) + return + } else if ctx.isEmpty() && addEOF { + look.addOne(TokenEOF) + return + } + } + + _, ok := s.(*RuleStopState) + + if ok { + if ctx == nil { + look.addOne(TokenEpsilon) + return + } else if ctx.isEmpty() && addEOF { + look.addOne(TokenEOF) + return + } + + if ctx.pcType != PredictionContextEmpty { + removed := calledRuleStack.contains(s.GetRuleIndex()) + defer func() { + if removed { + calledRuleStack.add(s.GetRuleIndex()) + } + }() + calledRuleStack.remove(s.GetRuleIndex()) + // run thru all possible stack tops in ctx + for i := 0; i < ctx.length(); i++ { + returnState := la.atn.states[ctx.getReturnState(i)] + la.look2(returnState, stopState, ctx, look, lookBusy, calledRuleStack, seeThruPreds, addEOF, i) + } + return + } + } + + n := len(s.GetTransitions()) + + for i := 0; i < n; i++ { + t := s.GetTransitions()[i] + + if t1, ok := t.(*RuleTransition); ok { + if calledRuleStack.contains(t1.getTarget().GetRuleIndex()) { + continue + } + + newContext := SingletonBasePredictionContextCreate(ctx, t1.followState.GetStateNumber()) + la.look3(stopState, newContext, look, lookBusy, calledRuleStack, seeThruPreds, addEOF, t1) + } else if t2, ok := t.(AbstractPredicateTransition); ok { + if seeThruPreds { + la.look1(t2.getTarget(), stopState, ctx, look, lookBusy, calledRuleStack, seeThruPreds, addEOF) + } else { + look.addOne(LL1AnalyzerHitPred) + } + } else if t.getIsEpsilon() { + la.look1(t.getTarget(), stopState, ctx, look, lookBusy, calledRuleStack, seeThruPreds, addEOF) + } else if _, ok := t.(*WildcardTransition); ok { + look.addRange(TokenMinUserTokenType, la.atn.maxTokenType) + } else { + set := t.getLabel() + if set != nil { + if _, ok := t.(*NotSetTransition); ok { + set = set.complement(TokenMinUserTokenType, la.atn.maxTokenType) + } + look.addSet(set) + } + } + } +} + +func (la *LL1Analyzer) look3(stopState ATNState, ctx *PredictionContext, look *IntervalSet, lookBusy *JStore[*ATNConfig, Comparator[*ATNConfig]], + calledRuleStack *BitSet, seeThruPreds, addEOF bool, t1 *RuleTransition) { + + newContext := SingletonBasePredictionContextCreate(ctx, t1.followState.GetStateNumber()) + + defer func() { + calledRuleStack.remove(t1.getTarget().GetRuleIndex()) + }() + + calledRuleStack.add(t1.getTarget().GetRuleIndex()) + la.look1(t1.getTarget(), stopState, newContext, look, lookBusy, calledRuleStack, seeThruPreds, addEOF) + +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/nostatistics.go b/vendor/github.com/antlr4-go/antlr/v4/nostatistics.go new file mode 100644 index 000000000..923c7b52c --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/nostatistics.go @@ -0,0 +1,47 @@ +//go:build !antlr.stats + +package antlr + +// This file is compiled when the build configuration antlr.stats is not enabled. +// which then allows the compiler to optimize out all the code that is not used. +const collectStats = false + +// goRunStats is a dummy struct used when build configuration antlr.stats is not enabled. +type goRunStats struct { +} + +var Statistics = &goRunStats{} + +func (s *goRunStats) AddJStatRec(_ *JStatRec) { + // Do nothing - compiler will optimize this out (hopefully) +} + +func (s *goRunStats) CollectionAnomalies() { + // Do nothing - compiler will optimize this out (hopefully) +} + +func (s *goRunStats) Reset() { + // Do nothing - compiler will optimize this out (hopefully) +} + +func (s *goRunStats) Report(dir string, prefix string) error { + // Do nothing - compiler will optimize this out (hopefully) + return nil +} + +func (s *goRunStats) Analyze() { + // Do nothing - compiler will optimize this out (hopefully) +} + +type statsOption func(*goRunStats) error + +func (s *goRunStats) Configure(options ...statsOption) error { + // Do nothing - compiler will optimize this out (hopefully) + return nil +} + +func WithTopN(topN int) statsOption { + return func(s *goRunStats) error { + return nil + } +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/parser.go b/vendor/github.com/antlr4-go/antlr/v4/parser.go new file mode 100644 index 000000000..fb57ac15d --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/parser.go @@ -0,0 +1,700 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "fmt" + "strconv" +) + +type Parser interface { + Recognizer + + GetInterpreter() *ParserATNSimulator + + GetTokenStream() TokenStream + GetTokenFactory() TokenFactory + GetParserRuleContext() ParserRuleContext + SetParserRuleContext(ParserRuleContext) + Consume() Token + GetParseListeners() []ParseTreeListener + + GetErrorHandler() ErrorStrategy + SetErrorHandler(ErrorStrategy) + GetInputStream() IntStream + GetCurrentToken() Token + GetExpectedTokens() *IntervalSet + NotifyErrorListeners(string, Token, RecognitionException) + IsExpectedToken(int) bool + GetPrecedence() int + GetRuleInvocationStack(ParserRuleContext) []string +} + +type BaseParser struct { + *BaseRecognizer + + Interpreter *ParserATNSimulator + BuildParseTrees bool + + input TokenStream + errHandler ErrorStrategy + precedenceStack IntStack + ctx ParserRuleContext + + tracer *TraceListener + parseListeners []ParseTreeListener + _SyntaxErrors int +} + +// NewBaseParser contains all the parsing support code to embed in parsers. Essentially most of it is error +// recovery stuff. +// +//goland:noinspection GoUnusedExportedFunction +func NewBaseParser(input TokenStream) *BaseParser { + + p := new(BaseParser) + + p.BaseRecognizer = NewBaseRecognizer() + + // The input stream. + p.input = nil + + // The error handling strategy for the parser. The default value is a new + // instance of {@link DefaultErrorStrategy}. + p.errHandler = NewDefaultErrorStrategy() + p.precedenceStack = make([]int, 0) + p.precedenceStack.Push(0) + + // The ParserRuleContext object for the currently executing rule. + // p.is always non-nil during the parsing process. + p.ctx = nil + + // Specifies whether the parser should construct a parse tree during + // the parsing process. The default value is {@code true}. + p.BuildParseTrees = true + + // When setTrace(true) is called, a reference to the + // TraceListener is stored here, so it can be easily removed in a + // later call to setTrace(false). The listener itself is + // implemented as a parser listener so p.field is not directly used by + // other parser methods. + p.tracer = nil + + // The list of ParseTreeListener listeners registered to receive + // events during the parse. + p.parseListeners = nil + + // The number of syntax errors Reported during parsing. p.value is + // incremented each time NotifyErrorListeners is called. + p._SyntaxErrors = 0 + p.SetInputStream(input) + + return p +} + +// This field maps from the serialized ATN string to the deserialized [ATN] with +// bypass alternatives. +// +// [ATNDeserializationOptions.isGenerateRuleBypassTransitions] +// +//goland:noinspection GoUnusedGlobalVariable +var bypassAltsAtnCache = make(map[string]int) + +// reset the parser's state// +func (p *BaseParser) reset() { + if p.input != nil { + p.input.Seek(0) + } + p.errHandler.reset(p) + p.ctx = nil + p._SyntaxErrors = 0 + p.SetTrace(nil) + p.precedenceStack = make([]int, 0) + p.precedenceStack.Push(0) + if p.Interpreter != nil { + p.Interpreter.reset() + } +} + +func (p *BaseParser) GetErrorHandler() ErrorStrategy { + return p.errHandler +} + +func (p *BaseParser) SetErrorHandler(e ErrorStrategy) { + p.errHandler = e +} + +// Match current input symbol against {@code ttype}. If the symbol type +// Matches, {@link ANTLRErrorStrategy//ReportMatch} and {@link //consume} are +// called to complete the Match process. +// +//

If the symbol type does not Match, +// {@link ANTLRErrorStrategy//recoverInline} is called on the current error +// strategy to attempt recovery. If {@link //getBuildParseTree} is +// {@code true} and the token index of the symbol returned by +// {@link ANTLRErrorStrategy//recoverInline} is -1, the symbol is added to +// the parse tree by calling {@link ParserRuleContext//addErrorNode}.

+// +// @param ttype the token type to Match +// @return the Matched symbol +// @panics RecognitionException if the current input symbol did not Match +// {@code ttype} and the error strategy could not recover from the +// mismatched symbol + +func (p *BaseParser) Match(ttype int) Token { + + t := p.GetCurrentToken() + + if t.GetTokenType() == ttype { + p.errHandler.ReportMatch(p) + p.Consume() + } else { + t = p.errHandler.RecoverInline(p) + if p.HasError() { + return nil + } + if p.BuildParseTrees && t.GetTokenIndex() == -1 { + + // we must have conjured up a new token during single token + // insertion if it's not the current symbol + p.ctx.AddErrorNode(t) + } + } + + return t +} + +// Match current input symbol as a wildcard. If the symbol type Matches +// (i.e. has a value greater than 0), {@link ANTLRErrorStrategy//ReportMatch} +// and {@link //consume} are called to complete the Match process. +// +//

If the symbol type does not Match, +// {@link ANTLRErrorStrategy//recoverInline} is called on the current error +// strategy to attempt recovery. If {@link //getBuildParseTree} is +// {@code true} and the token index of the symbol returned by +// {@link ANTLRErrorStrategy//recoverInline} is -1, the symbol is added to +// the parse tree by calling {@link ParserRuleContext//addErrorNode}.

+// +// @return the Matched symbol +// @panics RecognitionException if the current input symbol did not Match +// a wildcard and the error strategy could not recover from the mismatched +// symbol + +func (p *BaseParser) MatchWildcard() Token { + t := p.GetCurrentToken() + if t.GetTokenType() > 0 { + p.errHandler.ReportMatch(p) + p.Consume() + } else { + t = p.errHandler.RecoverInline(p) + if p.BuildParseTrees && t.GetTokenIndex() == -1 { + // we must have conjured up a new token during single token + // insertion if it's not the current symbol + p.ctx.AddErrorNode(t) + } + } + return t +} + +func (p *BaseParser) GetParserRuleContext() ParserRuleContext { + return p.ctx +} + +func (p *BaseParser) SetParserRuleContext(v ParserRuleContext) { + p.ctx = v +} + +func (p *BaseParser) GetParseListeners() []ParseTreeListener { + if p.parseListeners == nil { + return make([]ParseTreeListener, 0) + } + return p.parseListeners +} + +// AddParseListener registers listener to receive events during the parsing process. +// +// To support output-preserving grammar transformations (including but not +// limited to left-recursion removal, automated left-factoring, and +// optimized code generation), calls to listener methods during the parse +// may differ substantially from calls made by +// [ParseTreeWalker.DEFAULT] used after the parse is complete. In +// particular, rule entry and exit events may occur in a different order +// during the parse than after the parser. In addition, calls to certain +// rule entry methods may be omitted. +// +// With the following specific exceptions, calls to listener events are +// deterministic, i.e. for identical input the calls to listener +// methods will be the same. +// +// - Alterations to the grammar used to generate code may change the +// behavior of the listener calls. +// - Alterations to the command line options passed to ANTLR 4 when +// generating the parser may change the behavior of the listener calls. +// - Changing the version of the ANTLR Tool used to generate the parser +// may change the behavior of the listener calls. +func (p *BaseParser) AddParseListener(listener ParseTreeListener) { + if listener == nil { + panic("listener") + } + if p.parseListeners == nil { + p.parseListeners = make([]ParseTreeListener, 0) + } + p.parseListeners = append(p.parseListeners, listener) +} + +// RemoveParseListener removes listener from the list of parse listeners. +// +// If listener is nil or has not been added as a parse +// listener, this func does nothing. +func (p *BaseParser) RemoveParseListener(listener ParseTreeListener) { + + if p.parseListeners != nil { + + idx := -1 + for i, v := range p.parseListeners { + if v == listener { + idx = i + break + } + } + + if idx == -1 { + return + } + + // remove the listener from the slice + p.parseListeners = append(p.parseListeners[0:idx], p.parseListeners[idx+1:]...) + + if len(p.parseListeners) == 0 { + p.parseListeners = nil + } + } +} + +// Remove all parse listeners. +func (p *BaseParser) removeParseListeners() { + p.parseListeners = nil +} + +// TriggerEnterRuleEvent notifies all parse listeners of an enter rule event. +func (p *BaseParser) TriggerEnterRuleEvent() { + if p.parseListeners != nil { + ctx := p.ctx + for _, listener := range p.parseListeners { + listener.EnterEveryRule(ctx) + ctx.EnterRule(listener) + } + } +} + +// TriggerExitRuleEvent notifies any parse listeners of an exit rule event. +func (p *BaseParser) TriggerExitRuleEvent() { + if p.parseListeners != nil { + // reverse order walk of listeners + ctx := p.ctx + l := len(p.parseListeners) - 1 + + for i := range p.parseListeners { + listener := p.parseListeners[l-i] + ctx.ExitRule(listener) + listener.ExitEveryRule(ctx) + } + } +} + +func (p *BaseParser) GetInterpreter() *ParserATNSimulator { + return p.Interpreter +} + +func (p *BaseParser) GetATN() *ATN { + return p.Interpreter.atn +} + +func (p *BaseParser) GetTokenFactory() TokenFactory { + return p.input.GetTokenSource().GetTokenFactory() +} + +// setTokenFactory is used to tell our token source and error strategy about a new way to create tokens. +func (p *BaseParser) setTokenFactory(factory TokenFactory) { + p.input.GetTokenSource().setTokenFactory(factory) +} + +// GetATNWithBypassAlts - the ATN with bypass alternatives is expensive to create, so we create it +// lazily. +func (p *BaseParser) GetATNWithBypassAlts() { + + // TODO - Implement this? + panic("Not implemented!") + + // serializedAtn := p.getSerializedATN() + // if (serializedAtn == nil) { + // panic("The current parser does not support an ATN with bypass alternatives.") + // } + // result := p.bypassAltsAtnCache[serializedAtn] + // if (result == nil) { + // deserializationOptions := NewATNDeserializationOptions(nil) + // deserializationOptions.generateRuleBypassTransitions = true + // result = NewATNDeserializer(deserializationOptions).deserialize(serializedAtn) + // p.bypassAltsAtnCache[serializedAtn] = result + // } + // return result +} + +// The preferred method of getting a tree pattern. For example, here's a +// sample use: +// +//
+// ParseTree t = parser.expr()
+// ParseTreePattern p = parser.compileParseTreePattern("<ID>+0",
+// MyParser.RULE_expr)
+// ParseTreeMatch m = p.Match(t)
+// String id = m.Get("ID")
+// 
+ +//goland:noinspection GoUnusedParameter +func (p *BaseParser) compileParseTreePattern(pattern, patternRuleIndex, lexer Lexer) { + + panic("NewParseTreePatternMatcher not implemented!") + // + // if (lexer == nil) { + // if (p.GetTokenStream() != nil) { + // tokenSource := p.GetTokenStream().GetTokenSource() + // if _, ok := tokenSource.(ILexer); ok { + // lexer = tokenSource + // } + // } + // } + // if (lexer == nil) { + // panic("Parser can't discover a lexer to use") + // } + + // m := NewParseTreePatternMatcher(lexer, p) + // return m.compile(pattern, patternRuleIndex) +} + +func (p *BaseParser) GetInputStream() IntStream { + return p.GetTokenStream() +} + +func (p *BaseParser) SetInputStream(input TokenStream) { + p.SetTokenStream(input) +} + +func (p *BaseParser) GetTokenStream() TokenStream { + return p.input +} + +// SetTokenStream installs input as the token stream and resets the parser. +func (p *BaseParser) SetTokenStream(input TokenStream) { + p.input = nil + p.reset() + p.input = input +} + +// GetCurrentToken returns the current token at LT(1). +// +// [Match] needs to return the current input symbol, which gets put +// into the label for the associated token ref e.g., x=ID. +func (p *BaseParser) GetCurrentToken() Token { + return p.input.LT(1) +} + +func (p *BaseParser) NotifyErrorListeners(msg string, offendingToken Token, err RecognitionException) { + if offendingToken == nil { + offendingToken = p.GetCurrentToken() + } + p._SyntaxErrors++ + line := offendingToken.GetLine() + column := offendingToken.GetColumn() + listener := p.GetErrorListenerDispatch() + listener.SyntaxError(p, offendingToken, line, column, msg, err) +} + +func (p *BaseParser) Consume() Token { + o := p.GetCurrentToken() + if o.GetTokenType() != TokenEOF { + p.GetInputStream().Consume() + } + hasListener := p.parseListeners != nil && len(p.parseListeners) > 0 + if p.BuildParseTrees || hasListener { + if p.errHandler.InErrorRecoveryMode(p) { + node := p.ctx.AddErrorNode(o) + if p.parseListeners != nil { + for _, l := range p.parseListeners { + l.VisitErrorNode(node) + } + } + + } else { + node := p.ctx.AddTokenNode(o) + if p.parseListeners != nil { + for _, l := range p.parseListeners { + l.VisitTerminal(node) + } + } + } + // node.invokingState = p.state + } + + return o +} + +func (p *BaseParser) addContextToParseTree() { + // add current context to parent if we have a parent + if p.ctx.GetParent() != nil { + p.ctx.GetParent().(ParserRuleContext).AddChild(p.ctx) + } +} + +func (p *BaseParser) EnterRule(localctx ParserRuleContext, state, _ int) { + p.SetState(state) + p.ctx = localctx + p.ctx.SetStart(p.input.LT(1)) + if p.BuildParseTrees { + p.addContextToParseTree() + } + if p.parseListeners != nil { + p.TriggerEnterRuleEvent() + } +} + +func (p *BaseParser) ExitRule() { + p.ctx.SetStop(p.input.LT(-1)) + // trigger event on ctx, before it reverts to parent + if p.parseListeners != nil { + p.TriggerExitRuleEvent() + } + p.SetState(p.ctx.GetInvokingState()) + if p.ctx.GetParent() != nil { + p.ctx = p.ctx.GetParent().(ParserRuleContext) + } else { + p.ctx = nil + } +} + +func (p *BaseParser) EnterOuterAlt(localctx ParserRuleContext, altNum int) { + localctx.SetAltNumber(altNum) + // if we have a new localctx, make sure we replace existing ctx + // that is previous child of parse tree + if p.BuildParseTrees && p.ctx != localctx { + if p.ctx.GetParent() != nil { + p.ctx.GetParent().(ParserRuleContext).RemoveLastChild() + p.ctx.GetParent().(ParserRuleContext).AddChild(localctx) + } + } + p.ctx = localctx +} + +// Get the precedence level for the top-most precedence rule. +// +// @return The precedence level for the top-most precedence rule, or -1 if +// the parser context is not nested within a precedence rule. + +func (p *BaseParser) GetPrecedence() int { + if len(p.precedenceStack) == 0 { + return -1 + } + + return p.precedenceStack[len(p.precedenceStack)-1] +} + +func (p *BaseParser) EnterRecursionRule(localctx ParserRuleContext, state, _, precedence int) { + p.SetState(state) + p.precedenceStack.Push(precedence) + p.ctx = localctx + p.ctx.SetStart(p.input.LT(1)) + if p.parseListeners != nil { + p.TriggerEnterRuleEvent() // simulates rule entry for + // left-recursive rules + } +} + +// +// Like {@link //EnterRule} but for recursive rules. + +func (p *BaseParser) PushNewRecursionContext(localctx ParserRuleContext, state, _ int) { + previous := p.ctx + previous.SetParent(localctx) + previous.SetInvokingState(state) + previous.SetStop(p.input.LT(-1)) + + p.ctx = localctx + p.ctx.SetStart(previous.GetStart()) + if p.BuildParseTrees { + p.ctx.AddChild(previous) + } + if p.parseListeners != nil { + p.TriggerEnterRuleEvent() // simulates rule entry for + // left-recursive rules + } +} + +func (p *BaseParser) UnrollRecursionContexts(parentCtx ParserRuleContext) { + _, _ = p.precedenceStack.Pop() + p.ctx.SetStop(p.input.LT(-1)) + retCtx := p.ctx // save current ctx (return value) + // unroll so ctx is as it was before call to recursive method + if p.parseListeners != nil { + for p.ctx != parentCtx { + p.TriggerExitRuleEvent() + p.ctx = p.ctx.GetParent().(ParserRuleContext) + } + } else { + p.ctx = parentCtx + } + // hook into tree + retCtx.SetParent(parentCtx) + if p.BuildParseTrees && parentCtx != nil { + // add return ctx into invoking rule's tree + parentCtx.AddChild(retCtx) + } +} + +func (p *BaseParser) GetInvokingContext(ruleIndex int) ParserRuleContext { + ctx := p.ctx + for ctx != nil { + if ctx.GetRuleIndex() == ruleIndex { + return ctx + } + ctx = ctx.GetParent().(ParserRuleContext) + } + return nil +} + +func (p *BaseParser) Precpred(_ RuleContext, precedence int) bool { + return precedence >= p.precedenceStack[len(p.precedenceStack)-1] +} + +//goland:noinspection GoUnusedParameter +func (p *BaseParser) inContext(context ParserRuleContext) bool { + // TODO: useful in parser? + return false +} + +// IsExpectedToken checks whether symbol can follow the current state in the +// {ATN}. The behavior of p.method is equivalent to the following, but is +// implemented such that the complete context-sensitive follow set does not +// need to be explicitly constructed. +// +// return getExpectedTokens().contains(symbol) +func (p *BaseParser) IsExpectedToken(symbol int) bool { + atn := p.Interpreter.atn + ctx := p.ctx + s := atn.states[p.state] + following := atn.NextTokens(s, nil) + if following.contains(symbol) { + return true + } + if !following.contains(TokenEpsilon) { + return false + } + for ctx != nil && ctx.GetInvokingState() >= 0 && following.contains(TokenEpsilon) { + invokingState := atn.states[ctx.GetInvokingState()] + rt := invokingState.GetTransitions()[0] + following = atn.NextTokens(rt.(*RuleTransition).followState, nil) + if following.contains(symbol) { + return true + } + ctx = ctx.GetParent().(ParserRuleContext) + } + if following.contains(TokenEpsilon) && symbol == TokenEOF { + return true + } + + return false +} + +// GetExpectedTokens and returns the set of input symbols which could follow the current parser +// state and context, as given by [GetState] and [GetContext], +// respectively. +func (p *BaseParser) GetExpectedTokens() *IntervalSet { + return p.Interpreter.atn.getExpectedTokens(p.state, p.ctx) +} + +func (p *BaseParser) GetExpectedTokensWithinCurrentRule() *IntervalSet { + atn := p.Interpreter.atn + s := atn.states[p.state] + return atn.NextTokens(s, nil) +} + +// GetRuleIndex get a rule's index (i.e., RULE_ruleName field) or -1 if not found. +func (p *BaseParser) GetRuleIndex(ruleName string) int { + var ruleIndex, ok = p.GetRuleIndexMap()[ruleName] + if ok { + return ruleIndex + } + + return -1 +} + +// GetRuleInvocationStack returns a list of the rule names in your parser instance +// leading up to a call to the current rule. You could override if +// you want more details such as the file/line info of where +// in the ATN a rule is invoked. +func (p *BaseParser) GetRuleInvocationStack(c ParserRuleContext) []string { + if c == nil { + c = p.ctx + } + stack := make([]string, 0) + for c != nil { + // compute what follows who invoked us + ruleIndex := c.GetRuleIndex() + if ruleIndex < 0 { + stack = append(stack, "n/a") + } else { + stack = append(stack, p.GetRuleNames()[ruleIndex]) + } + + vp := c.GetParent() + + if vp == nil { + break + } + + c = vp.(ParserRuleContext) + } + return stack +} + +// GetDFAStrings returns a list of all DFA states used for debugging purposes +func (p *BaseParser) GetDFAStrings() string { + return fmt.Sprint(p.Interpreter.decisionToDFA) +} + +// DumpDFA prints the whole of the DFA for debugging +func (p *BaseParser) DumpDFA() { + seenOne := false + for _, dfa := range p.Interpreter.decisionToDFA { + if dfa.Len() > 0 { + if seenOne { + fmt.Println() + } + fmt.Println("Decision " + strconv.Itoa(dfa.decision) + ":") + fmt.Print(dfa.String(p.LiteralNames, p.SymbolicNames)) + seenOne = true + } + } +} + +func (p *BaseParser) GetSourceName() string { + return p.GrammarFileName +} + +// SetTrace installs a trace listener for the parse. +// +// During a parse it is sometimes useful to listen in on the rule entry and exit +// events as well as token Matches. This is for quick and dirty debugging. +func (p *BaseParser) SetTrace(trace *TraceListener) { + if trace == nil { + p.RemoveParseListener(p.tracer) + p.tracer = nil + } else { + if p.tracer != nil { + p.RemoveParseListener(p.tracer) + } + p.tracer = NewTraceListener(p) + p.AddParseListener(p.tracer) + } +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/parser_atn_simulator.go b/vendor/github.com/antlr4-go/antlr/v4/parser_atn_simulator.go new file mode 100644 index 000000000..ae2869692 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/parser_atn_simulator.go @@ -0,0 +1,1668 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "fmt" + "strconv" + "strings" +) + +var () + +// ClosureBusy is a store of ATNConfigs and is a tiny abstraction layer over +// a standard JStore so that we can use Lazy instantiation of the JStore, mostly +// to avoid polluting the stats module with a ton of JStore instances with nothing in them. +type ClosureBusy struct { + bMap *JStore[*ATNConfig, Comparator[*ATNConfig]] + desc string +} + +// NewClosureBusy creates a new ClosureBusy instance used to avoid infinite recursion for right-recursive rules +func NewClosureBusy(desc string) *ClosureBusy { + return &ClosureBusy{ + desc: desc, + } +} + +func (c *ClosureBusy) Put(config *ATNConfig) (*ATNConfig, bool) { + if c.bMap == nil { + c.bMap = NewJStore[*ATNConfig, Comparator[*ATNConfig]](aConfEqInst, ClosureBusyCollection, c.desc) + } + return c.bMap.Put(config) +} + +type ParserATNSimulator struct { + BaseATNSimulator + + parser Parser + predictionMode int + input TokenStream + startIndex int + dfa *DFA + mergeCache *JPCMap + outerContext ParserRuleContext +} + +//goland:noinspection GoUnusedExportedFunction +func NewParserATNSimulator(parser Parser, atn *ATN, decisionToDFA []*DFA, sharedContextCache *PredictionContextCache) *ParserATNSimulator { + + p := &ParserATNSimulator{ + BaseATNSimulator: BaseATNSimulator{ + atn: atn, + sharedContextCache: sharedContextCache, + }, + } + + p.parser = parser + p.decisionToDFA = decisionToDFA + // SLL, LL, or LL + exact ambig detection?// + p.predictionMode = PredictionModeLL + // LAME globals to avoid parameters!!!!! I need these down deep in predTransition + p.input = nil + p.startIndex = 0 + p.outerContext = nil + p.dfa = nil + // Each prediction operation uses a cache for merge of prediction contexts. + // Don't keep around as it wastes huge amounts of memory. [JPCMap] + // isn't Synchronized, but we're ok since two threads shouldn't reuse same + // parser/atn-simulator object because it can only handle one input at a time. + // This maps graphs a and b to merged result c. (a,b) -> c. We can avoid + // the merge if we ever see a and b again. Note that (b,a) -> c should + // also be examined during cache lookup. + // + p.mergeCache = nil + + return p +} + +func (p *ParserATNSimulator) GetPredictionMode() int { + return p.predictionMode +} + +func (p *ParserATNSimulator) SetPredictionMode(v int) { + p.predictionMode = v +} + +func (p *ParserATNSimulator) reset() { +} + +//goland:noinspection GoBoolExpressions +func (p *ParserATNSimulator) AdaptivePredict(parser *BaseParser, input TokenStream, decision int, outerContext ParserRuleContext) int { + if runtimeConfig.parserATNSimulatorDebug || runtimeConfig.parserATNSimulatorTraceATNSim { + fmt.Println("adaptivePredict decision " + strconv.Itoa(decision) + + " exec LA(1)==" + p.getLookaheadName(input) + + " line " + strconv.Itoa(input.LT(1).GetLine()) + ":" + + strconv.Itoa(input.LT(1).GetColumn())) + } + p.input = input + p.startIndex = input.Index() + p.outerContext = outerContext + + dfa := p.decisionToDFA[decision] + p.dfa = dfa + m := input.Mark() + index := input.Index() + + defer func() { + p.dfa = nil + p.mergeCache = nil // whack cache after each prediction + // Do not attempt to run a GC now that we're done with the cache as makes the + // GC overhead terrible for badly formed grammars and has little effect on well formed + // grammars. + // I have made some extra effort to try and reduce memory pressure by reusing allocations when + // possible. However, it can only have a limited effect. The real solution is to encourage grammar + // authors to think more carefully about their grammar and to use the new antlr.stats tag to inspect + // what is happening at runtime, along with using the error listener to report ambiguities. + + input.Seek(index) + input.Release(m) + }() + + // Now we are certain to have a specific decision's DFA + // But, do we still need an initial state? + var s0 *DFAState + p.atn.stateMu.RLock() + if dfa.getPrecedenceDfa() { + p.atn.edgeMu.RLock() + // the start state for a precedence DFA depends on the current + // parser precedence, and is provided by a DFA method. + s0 = dfa.getPrecedenceStartState(p.parser.GetPrecedence()) + p.atn.edgeMu.RUnlock() + } else { + // the start state for a "regular" DFA is just s0 + s0 = dfa.getS0() + } + p.atn.stateMu.RUnlock() + + if s0 == nil { + if outerContext == nil { + outerContext = ParserRuleContextEmpty + } + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("predictATN decision " + strconv.Itoa(dfa.decision) + + " exec LA(1)==" + p.getLookaheadName(input) + + ", outerContext=" + outerContext.String(p.parser.GetRuleNames(), nil)) + } + fullCtx := false + s0Closure := p.computeStartState(dfa.atnStartState, ParserRuleContextEmpty, fullCtx) + + p.atn.stateMu.Lock() + if dfa.getPrecedenceDfa() { + // If p is a precedence DFA, we use applyPrecedenceFilter + // to convert the computed start state to a precedence start + // state. We then use DFA.setPrecedenceStartState to set the + // appropriate start state for the precedence level rather + // than simply setting DFA.s0. + // + dfa.s0.configs = s0Closure + s0Closure = p.applyPrecedenceFilter(s0Closure) + s0 = p.addDFAState(dfa, NewDFAState(-1, s0Closure)) + p.atn.edgeMu.Lock() + dfa.setPrecedenceStartState(p.parser.GetPrecedence(), s0) + p.atn.edgeMu.Unlock() + } else { + s0 = p.addDFAState(dfa, NewDFAState(-1, s0Closure)) + dfa.setS0(s0) + } + p.atn.stateMu.Unlock() + } + + alt, re := p.execATN(dfa, s0, input, index, outerContext) + parser.SetError(re) + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("DFA after predictATN: " + dfa.String(p.parser.GetLiteralNames(), nil)) + } + return alt + +} + +// execATN performs ATN simulation to compute a predicted alternative based +// upon the remaining input, but also updates the DFA cache to avoid +// having to traverse the ATN again for the same input sequence. +// +// There are some key conditions we're looking for after computing a new +// set of ATN configs (proposed DFA state): +// +// - If the set is empty, there is no viable alternative for current symbol +// - Does the state uniquely predict an alternative? +// - Does the state have a conflict that would prevent us from +// putting it on the work list? +// +// We also have some key operations to do: +// +// - Add an edge from previous DFA state to potentially NewDFA state, D, +// - Upon current symbol but only if adding to work list, which means in all +// cases except no viable alternative (and possibly non-greedy decisions?) +// - Collecting predicates and adding semantic context to DFA accept states +// - adding rule context to context-sensitive DFA accept states +// - Consuming an input symbol +// - Reporting a conflict +// - Reporting an ambiguity +// - Reporting a context sensitivity +// - Reporting insufficient predicates +// +// Cover these cases: +// +// - dead end +// - single alt +// - single alt + predicates +// - conflict +// - conflict + predicates +// +//goland:noinspection GoBoolExpressions +func (p *ParserATNSimulator) execATN(dfa *DFA, s0 *DFAState, input TokenStream, startIndex int, outerContext ParserRuleContext) (int, RecognitionException) { + + if runtimeConfig.parserATNSimulatorDebug || runtimeConfig.parserATNSimulatorTraceATNSim { + fmt.Println("execATN decision " + strconv.Itoa(dfa.decision) + + ", DFA state " + s0.String() + + ", LA(1)==" + p.getLookaheadName(input) + + " line " + strconv.Itoa(input.LT(1).GetLine()) + ":" + strconv.Itoa(input.LT(1).GetColumn())) + } + + previousD := s0 + + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("s0 = " + s0.String()) + } + t := input.LA(1) + for { // for more work + D := p.getExistingTargetState(previousD, t) + if D == nil { + D = p.computeTargetState(dfa, previousD, t) + } + if D == ATNSimulatorError { + // if any configs in previous dipped into outer context, that + // means that input up to t actually finished entry rule + // at least for SLL decision. Full LL doesn't dip into outer + // so don't need special case. + // We will get an error no matter what so delay until after + // decision better error message. Also, no reachable target + // ATN states in SLL implies LL will also get nowhere. + // If conflict in states that dip out, choose min since we + // will get error no matter what. + e := p.noViableAlt(input, outerContext, previousD.configs, startIndex) + input.Seek(startIndex) + alt := p.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(previousD.configs, outerContext) + if alt != ATNInvalidAltNumber { + return alt, nil + } + p.parser.SetError(e) + return ATNInvalidAltNumber, e + } + if D.requiresFullContext && p.predictionMode != PredictionModeSLL { + // IF PREDS, MIGHT RESOLVE TO SINGLE ALT => SLL (or syntax error) + conflictingAlts := D.configs.conflictingAlts + if D.predicates != nil { + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("DFA state has preds in DFA sim LL fail-over") + } + conflictIndex := input.Index() + if conflictIndex != startIndex { + input.Seek(startIndex) + } + conflictingAlts = p.evalSemanticContext(D.predicates, outerContext, true) + if conflictingAlts.length() == 1 { + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("Full LL avoided") + } + return conflictingAlts.minValue(), nil + } + if conflictIndex != startIndex { + // restore the index so Reporting the fallback to full + // context occurs with the index at the correct spot + input.Seek(conflictIndex) + } + } + if runtimeConfig.parserATNSimulatorDFADebug { + fmt.Println("ctx sensitive state " + outerContext.String(nil, nil) + " in " + D.String()) + } + fullCtx := true + s0Closure := p.computeStartState(dfa.atnStartState, outerContext, fullCtx) + p.ReportAttemptingFullContext(dfa, conflictingAlts, D.configs, startIndex, input.Index()) + alt, re := p.execATNWithFullContext(dfa, D, s0Closure, input, startIndex, outerContext) + return alt, re + } + if D.isAcceptState { + if D.predicates == nil { + return D.prediction, nil + } + stopIndex := input.Index() + input.Seek(startIndex) + alts := p.evalSemanticContext(D.predicates, outerContext, true) + + switch alts.length() { + case 0: + return ATNInvalidAltNumber, p.noViableAlt(input, outerContext, D.configs, startIndex) + case 1: + return alts.minValue(), nil + default: + // Report ambiguity after predicate evaluation to make sure the correct set of ambig alts is Reported. + p.ReportAmbiguity(dfa, D, startIndex, stopIndex, false, alts, D.configs) + return alts.minValue(), nil + } + } + previousD = D + + if t != TokenEOF { + input.Consume() + t = input.LA(1) + } + } +} + +// Get an existing target state for an edge in the DFA. If the target state +// for the edge has not yet been computed or is otherwise not available, +// p method returns {@code nil}. +// +// @param previousD The current DFA state +// @param t The next input symbol +// @return The existing target DFA state for the given input symbol +// {@code t}, or {@code nil} if the target state for p edge is not +// already cached + +func (p *ParserATNSimulator) getExistingTargetState(previousD *DFAState, t int) *DFAState { + if t+1 < 0 { + return nil + } + + p.atn.edgeMu.RLock() + defer p.atn.edgeMu.RUnlock() + edges := previousD.getEdges() + if edges == nil || t+1 >= len(edges) { + return nil + } + return previousD.getIthEdge(t + 1) +} + +// Compute a target state for an edge in the DFA, and attempt to add the +// computed state and corresponding edge to the DFA. +// +// @param dfa The DFA +// @param previousD The current DFA state +// @param t The next input symbol +// +// @return The computed target DFA state for the given input symbol +// {@code t}. If {@code t} does not lead to a valid DFA state, p method +// returns {@link //ERROR}. +// +//goland:noinspection GoBoolExpressions +func (p *ParserATNSimulator) computeTargetState(dfa *DFA, previousD *DFAState, t int) *DFAState { + reach := p.computeReachSet(previousD.configs, t, false) + + if reach == nil { + p.addDFAEdge(dfa, previousD, t, ATNSimulatorError) + return ATNSimulatorError + } + // create new target state we'll add to DFA after it's complete + D := NewDFAState(-1, reach) + + predictedAlt := p.getUniqueAlt(reach) + + if runtimeConfig.parserATNSimulatorDebug { + altSubSets := PredictionModegetConflictingAltSubsets(reach) + fmt.Println("SLL altSubSets=" + fmt.Sprint(altSubSets) + + ", previous=" + previousD.configs.String() + + ", configs=" + reach.String() + + ", predict=" + strconv.Itoa(predictedAlt) + + ", allSubsetsConflict=" + + fmt.Sprint(PredictionModeallSubsetsConflict(altSubSets)) + + ", conflictingAlts=" + p.getConflictingAlts(reach).String()) + } + if predictedAlt != ATNInvalidAltNumber { + // NO CONFLICT, UNIQUELY PREDICTED ALT + D.isAcceptState = true + D.configs.uniqueAlt = predictedAlt + D.setPrediction(predictedAlt) + } else if PredictionModehasSLLConflictTerminatingPrediction(p.predictionMode, reach) { + // MORE THAN ONE VIABLE ALTERNATIVE + D.configs.conflictingAlts = p.getConflictingAlts(reach) + D.requiresFullContext = true + // in SLL-only mode, we will stop at p state and return the minimum alt + D.isAcceptState = true + D.setPrediction(D.configs.conflictingAlts.minValue()) + } + if D.isAcceptState && D.configs.hasSemanticContext { + p.predicateDFAState(D, p.atn.getDecisionState(dfa.decision)) + if D.predicates != nil { + D.setPrediction(ATNInvalidAltNumber) + } + } + // all adds to dfa are done after we've created full D state + D = p.addDFAEdge(dfa, previousD, t, D) + return D +} + +func (p *ParserATNSimulator) predicateDFAState(dfaState *DFAState, decisionState DecisionState) { + // We need to test all predicates, even in DFA states that + // uniquely predict alternative. + nalts := len(decisionState.GetTransitions()) + // Update DFA so reach becomes accept state with (predicate,alt) + // pairs if preds found for conflicting alts + altsToCollectPredsFrom := p.getConflictingAltsOrUniqueAlt(dfaState.configs) + altToPred := p.getPredsForAmbigAlts(altsToCollectPredsFrom, dfaState.configs, nalts) + if altToPred != nil { + dfaState.predicates = p.getPredicatePredictions(altsToCollectPredsFrom, altToPred) + dfaState.setPrediction(ATNInvalidAltNumber) // make sure we use preds + } else { + // There are preds in configs but they might go away + // when OR'd together like {p}? || NONE == NONE. If neither + // alt has preds, resolve to min alt + dfaState.setPrediction(altsToCollectPredsFrom.minValue()) + } +} + +// comes back with reach.uniqueAlt set to a valid alt +// +//goland:noinspection GoBoolExpressions +func (p *ParserATNSimulator) execATNWithFullContext(dfa *DFA, D *DFAState, s0 *ATNConfigSet, input TokenStream, startIndex int, outerContext ParserRuleContext) (int, RecognitionException) { + + if runtimeConfig.parserATNSimulatorDebug || runtimeConfig.parserATNSimulatorTraceATNSim { + fmt.Println("execATNWithFullContext " + s0.String()) + } + + fullCtx := true + foundExactAmbig := false + var reach *ATNConfigSet + previous := s0 + input.Seek(startIndex) + t := input.LA(1) + predictedAlt := -1 + + for { // for more work + reach = p.computeReachSet(previous, t, fullCtx) + if reach == nil { + // if any configs in previous dipped into outer context, that + // means that input up to t actually finished entry rule + // at least for LL decision. Full LL doesn't dip into outer + // so don't need special case. + // We will get an error no matter what so delay until after + // decision better error message. Also, no reachable target + // ATN states in SLL implies LL will also get nowhere. + // If conflict in states that dip out, choose min since we + // will get error no matter what. + input.Seek(startIndex) + alt := p.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(previous, outerContext) + if alt != ATNInvalidAltNumber { + return alt, nil + } + return alt, p.noViableAlt(input, outerContext, previous, startIndex) + } + altSubSets := PredictionModegetConflictingAltSubsets(reach) + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("LL altSubSets=" + fmt.Sprint(altSubSets) + ", predict=" + + strconv.Itoa(PredictionModegetUniqueAlt(altSubSets)) + ", resolvesToJustOneViableAlt=" + + fmt.Sprint(PredictionModeresolvesToJustOneViableAlt(altSubSets))) + } + reach.uniqueAlt = p.getUniqueAlt(reach) + // unique prediction? + if reach.uniqueAlt != ATNInvalidAltNumber { + predictedAlt = reach.uniqueAlt + break + } + if p.predictionMode != PredictionModeLLExactAmbigDetection { + predictedAlt = PredictionModeresolvesToJustOneViableAlt(altSubSets) + if predictedAlt != ATNInvalidAltNumber { + break + } + } else { + // In exact ambiguity mode, we never try to terminate early. + // Just keeps scarfing until we know what the conflict is + if PredictionModeallSubsetsConflict(altSubSets) && PredictionModeallSubsetsEqual(altSubSets) { + foundExactAmbig = true + predictedAlt = PredictionModegetSingleViableAlt(altSubSets) + break + } + // else there are multiple non-conflicting subsets or + // we're not sure what the ambiguity is yet. + // So, keep going. + } + previous = reach + if t != TokenEOF { + input.Consume() + t = input.LA(1) + } + } + // If the configuration set uniquely predicts an alternative, + // without conflict, then we know that it's a full LL decision + // not SLL. + if reach.uniqueAlt != ATNInvalidAltNumber { + p.ReportContextSensitivity(dfa, predictedAlt, reach, startIndex, input.Index()) + return predictedAlt, nil + } + // We do not check predicates here because we have checked them + // on-the-fly when doing full context prediction. + + // + // In non-exact ambiguity detection mode, we might actually be able to + // detect an exact ambiguity, but I'm not going to spend the cycles + // needed to check. We only emit ambiguity warnings in exact ambiguity + // mode. + // + // For example, we might know that we have conflicting configurations. + // But, that does not mean that there is no way forward without a + // conflict. It's possible to have non-conflicting alt subsets as in: + // + // altSubSets=[{1, 2}, {1, 2}, {1}, {1, 2}] + // + // from + // + // [(17,1,[5 $]), (13,1,[5 10 $]), (21,1,[5 10 $]), (11,1,[$]), + // (13,2,[5 10 $]), (21,2,[5 10 $]), (11,2,[$])] + // + // In p case, (17,1,[5 $]) indicates there is some next sequence that + // would resolve p without conflict to alternative 1. Any other viable + // next sequence, however, is associated with a conflict. We stop + // looking for input because no amount of further lookahead will alter + // the fact that we should predict alternative 1. We just can't say for + // sure that there is an ambiguity without looking further. + + p.ReportAmbiguity(dfa, D, startIndex, input.Index(), foundExactAmbig, reach.Alts(), reach) + + return predictedAlt, nil +} + +//goland:noinspection GoBoolExpressions +func (p *ParserATNSimulator) computeReachSet(closure *ATNConfigSet, t int, fullCtx bool) *ATNConfigSet { + if p.mergeCache == nil { + p.mergeCache = NewJPCMap(ReachSetCollection, "Merge cache for computeReachSet()") + } + intermediate := NewATNConfigSet(fullCtx) + + // Configurations already in a rule stop state indicate reaching the end + // of the decision rule (local context) or end of the start rule (full + // context). Once reached, these configurations are never updated by a + // closure operation, so they are handled separately for the performance + // advantage of having a smaller intermediate set when calling closure. + // + // For full-context reach operations, separate handling is required to + // ensure that the alternative Matching the longest overall sequence is + // chosen when multiple such configurations can Match the input. + + var skippedStopStates []*ATNConfig + + // First figure out where we can reach on input t + for _, c := range closure.configs { + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("testing " + p.GetTokenName(t) + " at " + c.String()) + } + + if _, ok := c.GetState().(*RuleStopState); ok { + if fullCtx || t == TokenEOF { + skippedStopStates = append(skippedStopStates, c) + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("added " + c.String() + " to SkippedStopStates") + } + } + continue + } + + for _, trans := range c.GetState().GetTransitions() { + target := p.getReachableTarget(trans, t) + if target != nil { + cfg := NewATNConfig4(c, target) + intermediate.Add(cfg, p.mergeCache) + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("added " + cfg.String() + " to intermediate") + } + } + } + } + + // Now figure out where the reach operation can take us... + var reach *ATNConfigSet + + // This block optimizes the reach operation for intermediate sets which + // trivially indicate a termination state for the overall + // AdaptivePredict operation. + // + // The conditions assume that intermediate + // contains all configurations relevant to the reach set, but p + // condition is not true when one or more configurations have been + // withheld in SkippedStopStates, or when the current symbol is EOF. + // + if skippedStopStates == nil && t != TokenEOF { + if len(intermediate.configs) == 1 { + // Don't pursue the closure if there is just one state. + // It can only have one alternative just add to result + // Also don't pursue the closure if there is unique alternative + // among the configurations. + reach = intermediate + } else if p.getUniqueAlt(intermediate) != ATNInvalidAltNumber { + // Also don't pursue the closure if there is unique alternative + // among the configurations. + reach = intermediate + } + } + // If the reach set could not be trivially determined, perform a closure + // operation on the intermediate set to compute its initial value. + // + if reach == nil { + reach = NewATNConfigSet(fullCtx) + closureBusy := NewClosureBusy("ParserATNSimulator.computeReachSet() make a closureBusy") + treatEOFAsEpsilon := t == TokenEOF + amount := len(intermediate.configs) + for k := 0; k < amount; k++ { + p.closure(intermediate.configs[k], reach, closureBusy, false, fullCtx, treatEOFAsEpsilon) + } + } + if t == TokenEOF { + // After consuming EOF no additional input is possible, so we are + // only interested in configurations which reached the end of the + // decision rule (local context) or end of the start rule (full + // context). Update reach to contain only these configurations. This + // handles both explicit EOF transitions in the grammar and implicit + // EOF transitions following the end of the decision or start rule. + // + // When reach==intermediate, no closure operation was performed. In + // p case, removeAllConfigsNotInRuleStopState needs to check for + // reachable rule stop states as well as configurations already in + // a rule stop state. + // + // This is handled before the configurations in SkippedStopStates, + // because any configurations potentially added from that list are + // already guaranteed to meet this condition whether it's + // required. + // + reach = p.removeAllConfigsNotInRuleStopState(reach, reach.Equals(intermediate)) + } + // If SkippedStopStates!=nil, then it contains at least one + // configuration. For full-context reach operations, these + // configurations reached the end of the start rule, in which case we + // only add them back to reach if no configuration during the current + // closure operation reached such a state. This ensures AdaptivePredict + // chooses an alternative Matching the longest overall sequence when + // multiple alternatives are viable. + // + if skippedStopStates != nil && ((!fullCtx) || (!PredictionModehasConfigInRuleStopState(reach))) { + for l := 0; l < len(skippedStopStates); l++ { + reach.Add(skippedStopStates[l], p.mergeCache) + } + } + + if runtimeConfig.parserATNSimulatorTraceATNSim { + fmt.Println("computeReachSet " + closure.String() + " -> " + reach.String()) + } + + if len(reach.configs) == 0 { + return nil + } + + return reach +} + +// removeAllConfigsNotInRuleStopState returns a configuration set containing only the configurations from +// configs which are in a [RuleStopState]. If all +// configurations in configs are already in a rule stop state, this +// method simply returns configs. +// +// When lookToEndOfRule is true, this method uses +// [ATN].[NextTokens] for each configuration in configs which is +// not already in a rule stop state to see if a rule stop state is reachable +// from the configuration via epsilon-only transitions. +// +// When lookToEndOfRule is true, this method checks for rule stop states +// reachable by epsilon-only transitions from each configuration in +// configs. +// +// The func returns configs if all configurations in configs are in a +// rule stop state, otherwise it returns a new configuration set containing only +// the configurations from configs which are in a rule stop state +func (p *ParserATNSimulator) removeAllConfigsNotInRuleStopState(configs *ATNConfigSet, lookToEndOfRule bool) *ATNConfigSet { + if PredictionModeallConfigsInRuleStopStates(configs) { + return configs + } + result := NewATNConfigSet(configs.fullCtx) + for _, config := range configs.configs { + if _, ok := config.GetState().(*RuleStopState); ok { + result.Add(config, p.mergeCache) + continue + } + if lookToEndOfRule && config.GetState().GetEpsilonOnlyTransitions() { + NextTokens := p.atn.NextTokens(config.GetState(), nil) + if NextTokens.contains(TokenEpsilon) { + endOfRuleState := p.atn.ruleToStopState[config.GetState().GetRuleIndex()] + result.Add(NewATNConfig4(config, endOfRuleState), p.mergeCache) + } + } + } + return result +} + +//goland:noinspection GoBoolExpressions +func (p *ParserATNSimulator) computeStartState(a ATNState, ctx RuleContext, fullCtx bool) *ATNConfigSet { + // always at least the implicit call to start rule + initialContext := predictionContextFromRuleContext(p.atn, ctx) + configs := NewATNConfigSet(fullCtx) + if runtimeConfig.parserATNSimulatorDebug || runtimeConfig.parserATNSimulatorTraceATNSim { + fmt.Println("computeStartState from ATN state " + a.String() + + " initialContext=" + initialContext.String()) + } + + for i := 0; i < len(a.GetTransitions()); i++ { + target := a.GetTransitions()[i].getTarget() + c := NewATNConfig6(target, i+1, initialContext) + closureBusy := NewClosureBusy("ParserATNSimulator.computeStartState() make a closureBusy") + p.closure(c, configs, closureBusy, true, fullCtx, false) + } + return configs +} + +// applyPrecedenceFilter transforms the start state computed by +// [computeStartState] to the special start state used by a +// precedence [DFA] for a particular precedence value. The transformation +// process applies the following changes to the start state's configuration +// set. +// +// 1. Evaluate the precedence predicates for each configuration using +// [SemanticContext].evalPrecedence. +// 2. Remove all configurations which predict an alternative greater than +// 1, for which another configuration that predicts alternative 1 is in the +// same ATN state with the same prediction context. +// +// Transformation 2 is valid for the following reasons: +// +// - The closure block cannot contain any epsilon transitions which bypass +// the body of the closure, so all states reachable via alternative 1 are +// part of the precedence alternatives of the transformed left-recursive +// rule. +// - The "primary" portion of a left recursive rule cannot contain an +// epsilon transition, so the only way an alternative other than 1 can exist +// in a state that is also reachable via alternative 1 is by nesting calls +// to the left-recursive rule, with the outer calls not being at the +// preferred precedence level. +// +// The prediction context must be considered by this filter to address +// situations like the following: +// +// grammar TA +// prog: statement* EOF +// statement: letterA | statement letterA 'b' +// letterA: 'a' +// +// In the above grammar, the [ATN] state immediately before the token +// reference 'a' in letterA is reachable from the left edge +// of both the primary and closure blocks of the left-recursive rule +// statement. The prediction context associated with each of these +// configurations distinguishes between them, and prevents the alternative +// which stepped out to prog, and then back in to statement +// from being eliminated by the filter. +// +// The func returns the transformed configuration set representing the start state +// for a precedence [DFA] at a particular precedence level (determined by +// calling [Parser].getPrecedence). +func (p *ParserATNSimulator) applyPrecedenceFilter(configs *ATNConfigSet) *ATNConfigSet { + + statesFromAlt1 := make(map[int]*PredictionContext) + configSet := NewATNConfigSet(configs.fullCtx) + + for _, config := range configs.configs { + // handle alt 1 first + if config.GetAlt() != 1 { + continue + } + updatedContext := config.GetSemanticContext().evalPrecedence(p.parser, p.outerContext) + if updatedContext == nil { + // the configuration was eliminated + continue + } + statesFromAlt1[config.GetState().GetStateNumber()] = config.GetContext() + if updatedContext != config.GetSemanticContext() { + configSet.Add(NewATNConfig2(config, updatedContext), p.mergeCache) + } else { + configSet.Add(config, p.mergeCache) + } + } + for _, config := range configs.configs { + + if config.GetAlt() == 1 { + // already handled + continue + } + // In the future, p elimination step could be updated to also + // filter the prediction context for alternatives predicting alt>1 + // (basically a graph subtraction algorithm). + if !config.getPrecedenceFilterSuppressed() { + context := statesFromAlt1[config.GetState().GetStateNumber()] + if context != nil && context.Equals(config.GetContext()) { + // eliminated + continue + } + } + configSet.Add(config, p.mergeCache) + } + return configSet +} + +func (p *ParserATNSimulator) getReachableTarget(trans Transition, ttype int) ATNState { + if trans.Matches(ttype, 0, p.atn.maxTokenType) { + return trans.getTarget() + } + + return nil +} + +//goland:noinspection GoBoolExpressions +func (p *ParserATNSimulator) getPredsForAmbigAlts(ambigAlts *BitSet, configs *ATNConfigSet, nalts int) []SemanticContext { + + altToPred := make([]SemanticContext, nalts+1) + for _, c := range configs.configs { + if ambigAlts.contains(c.GetAlt()) { + altToPred[c.GetAlt()] = SemanticContextorContext(altToPred[c.GetAlt()], c.GetSemanticContext()) + } + } + nPredAlts := 0 + for i := 1; i <= nalts; i++ { + pred := altToPred[i] + if pred == nil { + altToPred[i] = SemanticContextNone + } else if pred != SemanticContextNone { + nPredAlts++ + } + } + // unambiguous alts are nil in altToPred + if nPredAlts == 0 { + altToPred = nil + } + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("getPredsForAmbigAlts result " + fmt.Sprint(altToPred)) + } + return altToPred +} + +func (p *ParserATNSimulator) getPredicatePredictions(ambigAlts *BitSet, altToPred []SemanticContext) []*PredPrediction { + pairs := make([]*PredPrediction, 0) + containsPredicate := false + for i := 1; i < len(altToPred); i++ { + pred := altToPred[i] + // un-predicated is indicated by SemanticContextNONE + if ambigAlts != nil && ambigAlts.contains(i) { + pairs = append(pairs, NewPredPrediction(pred, i)) + } + if pred != SemanticContextNone { + containsPredicate = true + } + } + if !containsPredicate { + return nil + } + return pairs +} + +// getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule is used to improve the localization of error messages by +// choosing an alternative rather than panic a NoViableAltException in particular prediction scenarios where the +// Error state was reached during [ATN] simulation. +// +// The default implementation of this method uses the following +// algorithm to identify an [ATN] configuration which successfully parsed the +// decision entry rule. Choosing such an alternative ensures that the +// [ParserRuleContext] returned by the calling rule will be complete +// and valid, and the syntax error will be Reported later at a more +// localized location. +// +// - If a syntactically valid path or paths reach the end of the decision rule, and +// they are semantically valid if predicated, return the min associated alt. +// - Else, if a semantically invalid but syntactically valid path exist +// or paths exist, return the minimum associated alt. +// - Otherwise, return [ATNInvalidAltNumber]. +// +// In some scenarios, the algorithm described above could predict an +// alternative which will result in a [FailedPredicateException] in +// the parser. Specifically, this could occur if the only configuration +// capable of successfully parsing to the end of the decision rule is +// blocked by a semantic predicate. By choosing this alternative within +// [AdaptivePredict] instead of panic a [NoViableAltException], the resulting +// [FailedPredicateException] in the parser will identify the specific +// predicate which is preventing the parser from successfully parsing the +// decision rule, which helps developers identify and correct logic errors +// in semantic predicates. +// +// pass in the configs holding ATN configurations which were valid immediately before +// the ERROR state was reached, outerContext as the initial parser context from the paper +// or the parser stack at the instant before prediction commences. +// +// Teh func returns the value to return from [AdaptivePredict], or +// [ATNInvalidAltNumber] if a suitable alternative was not +// identified and [AdaptivePredict] should report an error instead. +func (p *ParserATNSimulator) getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(configs *ATNConfigSet, outerContext ParserRuleContext) int { + cfgs := p.splitAccordingToSemanticValidity(configs, outerContext) + semValidConfigs := cfgs[0] + semInvalidConfigs := cfgs[1] + alt := p.GetAltThatFinishedDecisionEntryRule(semValidConfigs) + if alt != ATNInvalidAltNumber { // semantically/syntactically viable path exists + return alt + } + // Is there a syntactically valid path with a failed pred? + if len(semInvalidConfigs.configs) > 0 { + alt = p.GetAltThatFinishedDecisionEntryRule(semInvalidConfigs) + if alt != ATNInvalidAltNumber { // syntactically viable path exists + return alt + } + } + return ATNInvalidAltNumber +} + +func (p *ParserATNSimulator) GetAltThatFinishedDecisionEntryRule(configs *ATNConfigSet) int { + alts := NewIntervalSet() + + for _, c := range configs.configs { + _, ok := c.GetState().(*RuleStopState) + + if c.GetReachesIntoOuterContext() > 0 || (ok && c.GetContext().hasEmptyPath()) { + alts.addOne(c.GetAlt()) + } + } + if alts.length() == 0 { + return ATNInvalidAltNumber + } + + return alts.first() +} + +// Walk the list of configurations and split them according to +// those that have preds evaluating to true/false. If no pred, assume +// true pred and include in succeeded set. Returns Pair of sets. +// +// Create a NewSet so as not to alter the incoming parameter. +// +// Assumption: the input stream has been restored to the starting point +// prediction, which is where predicates need to evaluate. + +type ATNConfigSetPair struct { + item0, item1 *ATNConfigSet +} + +func (p *ParserATNSimulator) splitAccordingToSemanticValidity(configs *ATNConfigSet, outerContext ParserRuleContext) []*ATNConfigSet { + succeeded := NewATNConfigSet(configs.fullCtx) + failed := NewATNConfigSet(configs.fullCtx) + + for _, c := range configs.configs { + if c.GetSemanticContext() != SemanticContextNone { + predicateEvaluationResult := c.GetSemanticContext().evaluate(p.parser, outerContext) + if predicateEvaluationResult { + succeeded.Add(c, nil) + } else { + failed.Add(c, nil) + } + } else { + succeeded.Add(c, nil) + } + } + return []*ATNConfigSet{succeeded, failed} +} + +// evalSemanticContext looks through a list of predicate/alt pairs, returning alts for the +// pairs that win. A [SemanticContextNone] predicate indicates an alt containing an +// un-predicated runtimeConfig which behaves as "always true." If !complete +// then we stop at the first predicate that evaluates to true. This +// includes pairs with nil predicates. +// +//goland:noinspection GoBoolExpressions +func (p *ParserATNSimulator) evalSemanticContext(predPredictions []*PredPrediction, outerContext ParserRuleContext, complete bool) *BitSet { + predictions := NewBitSet() + for i := 0; i < len(predPredictions); i++ { + pair := predPredictions[i] + if pair.pred == SemanticContextNone { + predictions.add(pair.alt) + if !complete { + break + } + continue + } + + predicateEvaluationResult := pair.pred.evaluate(p.parser, outerContext) + if runtimeConfig.parserATNSimulatorDebug || runtimeConfig.parserATNSimulatorDFADebug { + fmt.Println("eval pred " + pair.String() + "=" + fmt.Sprint(predicateEvaluationResult)) + } + if predicateEvaluationResult { + if runtimeConfig.parserATNSimulatorDebug || runtimeConfig.parserATNSimulatorDFADebug { + fmt.Println("PREDICT " + fmt.Sprint(pair.alt)) + } + predictions.add(pair.alt) + if !complete { + break + } + } + } + return predictions +} + +func (p *ParserATNSimulator) closure(config *ATNConfig, configs *ATNConfigSet, closureBusy *ClosureBusy, collectPredicates, fullCtx, treatEOFAsEpsilon bool) { + initialDepth := 0 + p.closureCheckingStopState(config, configs, closureBusy, collectPredicates, + fullCtx, initialDepth, treatEOFAsEpsilon) +} + +func (p *ParserATNSimulator) closureCheckingStopState(config *ATNConfig, configs *ATNConfigSet, closureBusy *ClosureBusy, collectPredicates, fullCtx bool, depth int, treatEOFAsEpsilon bool) { + if runtimeConfig.parserATNSimulatorTraceATNSim { + fmt.Println("closure(" + config.String() + ")") + } + + var stack []*ATNConfig + visited := make(map[*ATNConfig]bool) + + stack = append(stack, config) + + for len(stack) > 0 { + currConfig := stack[len(stack)-1] + stack = stack[:len(stack)-1] + + if _, ok := visited[currConfig]; ok { + continue + } + visited[currConfig] = true + + if _, ok := currConfig.GetState().(*RuleStopState); ok { + // We hit rule end. If we have context info, use it + // run thru all possible stack tops in ctx + if !currConfig.GetContext().isEmpty() { + for i := 0; i < currConfig.GetContext().length(); i++ { + if currConfig.GetContext().getReturnState(i) == BasePredictionContextEmptyReturnState { + if fullCtx { + nb := NewATNConfig1(currConfig, currConfig.GetState(), BasePredictionContextEMPTY) + configs.Add(nb, p.mergeCache) + continue + } else { + // we have no context info, just chase follow links (if greedy) + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("FALLING off rule " + p.getRuleName(currConfig.GetState().GetRuleIndex())) + } + p.closureWork(currConfig, configs, closureBusy, collectPredicates, fullCtx, depth, treatEOFAsEpsilon) + } + continue + } + returnState := p.atn.states[currConfig.GetContext().getReturnState(i)] + newContext := currConfig.GetContext().GetParent(i) // "pop" return state + + c := NewATNConfig5(returnState, currConfig.GetAlt(), newContext, currConfig.GetSemanticContext()) + // While we have context to pop back from, we may have + // gotten that context AFTER having falling off a rule. + // Make sure we track that we are now out of context. + c.SetReachesIntoOuterContext(currConfig.GetReachesIntoOuterContext()) + + stack = append(stack, c) + } + continue + } else if fullCtx { + // reached end of start rule + configs.Add(currConfig, p.mergeCache) + continue + } else { + // else if we have no context info, just chase follow links (if greedy) + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("FALLING off rule " + p.getRuleName(currConfig.GetState().GetRuleIndex())) + } + } + } + + p.closureWork(currConfig, configs, closureBusy, collectPredicates, fullCtx, depth, treatEOFAsEpsilon) + } +} + +//goland:noinspection GoBoolExpressions +func (p *ParserATNSimulator) closureCheckingStopStateRecursive(config *ATNConfig, configs *ATNConfigSet, closureBusy *ClosureBusy, collectPredicates, fullCtx bool, depth int, treatEOFAsEpsilon bool) { + if runtimeConfig.parserATNSimulatorTraceATNSim { + fmt.Println("closure(" + config.String() + ")") + } + + if _, ok := config.GetState().(*RuleStopState); ok { + // We hit rule end. If we have context info, use it + // run thru all possible stack tops in ctx + if !config.GetContext().isEmpty() { + for i := 0; i < config.GetContext().length(); i++ { + if config.GetContext().getReturnState(i) == BasePredictionContextEmptyReturnState { + if fullCtx { + nb := NewATNConfig1(config, config.GetState(), BasePredictionContextEMPTY) + configs.Add(nb, p.mergeCache) + continue + } else { + // we have no context info, just chase follow links (if greedy) + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("FALLING off rule " + p.getRuleName(config.GetState().GetRuleIndex())) + } + p.closureWork(config, configs, closureBusy, collectPredicates, fullCtx, depth, treatEOFAsEpsilon) + } + continue + } + returnState := p.atn.states[config.GetContext().getReturnState(i)] + newContext := config.GetContext().GetParent(i) // "pop" return state + + c := NewATNConfig5(returnState, config.GetAlt(), newContext, config.GetSemanticContext()) + // While we have context to pop back from, we may have + // gotten that context AFTER having falling off a rule. + // Make sure we track that we are now out of context. + c.SetReachesIntoOuterContext(config.GetReachesIntoOuterContext()) + p.closureCheckingStopState(c, configs, closureBusy, collectPredicates, fullCtx, depth-1, treatEOFAsEpsilon) + } + return + } else if fullCtx { + // reached end of start rule + configs.Add(config, p.mergeCache) + return + } else { + // else if we have no context info, just chase follow links (if greedy) + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("FALLING off rule " + p.getRuleName(config.GetState().GetRuleIndex())) + } + } + } + p.closureWork(config, configs, closureBusy, collectPredicates, fullCtx, depth, treatEOFAsEpsilon) +} + +// Do the actual work of walking epsilon edges +// +//goland:noinspection GoBoolExpressions +func (p *ParserATNSimulator) closureWork(config *ATNConfig, configs *ATNConfigSet, closureBusy *ClosureBusy, collectPredicates, fullCtx bool, depth int, treatEOFAsEpsilon bool) { + state := config.GetState() + // optimization + if !state.GetEpsilonOnlyTransitions() { + configs.Add(config, p.mergeCache) + // make sure to not return here, because EOF transitions can act as + // both epsilon transitions and non-epsilon transitions. + } + for i := 0; i < len(state.GetTransitions()); i++ { + if i == 0 && p.canDropLoopEntryEdgeInLeftRecursiveRule(config) { + continue + } + + t := state.GetTransitions()[i] + _, ok := t.(*ActionTransition) + continueCollecting := collectPredicates && !ok + c := p.getEpsilonTarget(config, t, continueCollecting, depth == 0, fullCtx, treatEOFAsEpsilon) + if c != nil { + newDepth := depth + + if _, ok := config.GetState().(*RuleStopState); ok { + // target fell off end of rule mark resulting c as having dipped into outer context + // We can't get here if incoming config was rule stop and we had context + // track how far we dip into outer context. Might + // come in handy and we avoid evaluating context dependent + // preds if this is > 0. + + if p.dfa != nil && p.dfa.getPrecedenceDfa() { + if t.(*EpsilonTransition).outermostPrecedenceReturn == p.dfa.atnStartState.GetRuleIndex() { + c.setPrecedenceFilterSuppressed(true) + } + } + + c.SetReachesIntoOuterContext(c.GetReachesIntoOuterContext() + 1) + + _, present := closureBusy.Put(c) + if present { + // avoid infinite recursion for right-recursive rules + continue + } + + configs.dipsIntoOuterContext = true // TODO: can remove? only care when we add to set per middle of this method + newDepth-- + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("dips into outer ctx: " + c.String()) + } + } else { + + if !t.getIsEpsilon() { + _, present := closureBusy.Put(c) + if present { + // avoid infinite recursion for EOF* and EOF+ + continue + } + } + if _, ok := t.(*RuleTransition); ok { + // latch when newDepth goes negative - once we step out of the entry context we can't return + if newDepth >= 0 { + newDepth++ + } + } + } + p.closureCheckingStopState(c, configs, closureBusy, continueCollecting, fullCtx, newDepth, treatEOFAsEpsilon) + } + } +} + +//goland:noinspection GoBoolExpressions +func (p *ParserATNSimulator) canDropLoopEntryEdgeInLeftRecursiveRule(config *ATNConfig) bool { + if !runtimeConfig.lRLoopEntryBranchOpt { + return false + } + + _p := config.GetState() + + // First check to see if we are in StarLoopEntryState generated during + // left-recursion elimination. For efficiency, also check if + // the context has an empty stack case. If so, it would mean + // global FOLLOW so we can't perform optimization + if _p.GetStateType() != ATNStateStarLoopEntry { + return false + } + startLoop, ok := _p.(*StarLoopEntryState) + if !ok { + return false + } + if !startLoop.precedenceRuleDecision || + config.GetContext().isEmpty() || + config.GetContext().hasEmptyPath() { + return false + } + + // Require all return states to return back to the same rule + // that p is in. + numCtxs := config.GetContext().length() + for i := 0; i < numCtxs; i++ { + returnState := p.atn.states[config.GetContext().getReturnState(i)] + if returnState.GetRuleIndex() != _p.GetRuleIndex() { + return false + } + } + x := _p.GetTransitions()[0].getTarget() + decisionStartState := x.(BlockStartState) + blockEndStateNum := decisionStartState.getEndState().stateNumber + blockEndState := p.atn.states[blockEndStateNum].(*BlockEndState) + + // Verify that the top of each stack context leads to loop entry/exit + // state through epsilon edges and w/o leaving rule. + + for i := 0; i < numCtxs; i++ { // for each stack context + returnStateNumber := config.GetContext().getReturnState(i) + returnState := p.atn.states[returnStateNumber] + + // all states must have single outgoing epsilon edge + if len(returnState.GetTransitions()) != 1 || !returnState.GetTransitions()[0].getIsEpsilon() { + return false + } + + // Look for prefix op case like 'not expr', (' type ')' expr + returnStateTarget := returnState.GetTransitions()[0].getTarget() + if returnState.GetStateType() == ATNStateBlockEnd && returnStateTarget == _p { + continue + } + + // Look for 'expr op expr' or case where expr's return state is block end + // of (...)* internal block; the block end points to loop back + // which points to p but we don't need to check that + if returnState == blockEndState { + continue + } + + // Look for ternary expr ? expr : expr. The return state points at block end, + // which points at loop entry state + if returnStateTarget == blockEndState { + continue + } + + // Look for complex prefix 'between expr and expr' case where 2nd expr's + // return state points at block end state of (...)* internal block + if returnStateTarget.GetStateType() == ATNStateBlockEnd && + len(returnStateTarget.GetTransitions()) == 1 && + returnStateTarget.GetTransitions()[0].getIsEpsilon() && + returnStateTarget.GetTransitions()[0].getTarget() == _p { + continue + } + + // anything else ain't conforming + return false + } + + return true +} + +func (p *ParserATNSimulator) getRuleName(index int) string { + if p.parser != nil && index >= 0 { + return p.parser.GetRuleNames()[index] + } + var sb strings.Builder + sb.Grow(32) + + sb.WriteString("') + return sb.String() +} + +func (p *ParserATNSimulator) getEpsilonTarget(config *ATNConfig, t Transition, collectPredicates, inContext, fullCtx, treatEOFAsEpsilon bool) *ATNConfig { + + switch t.getSerializationType() { + case TransitionRULE: + return p.ruleTransition(config, t.(*RuleTransition)) + case TransitionPRECEDENCE: + return p.precedenceTransition(config, t.(*PrecedencePredicateTransition), collectPredicates, inContext, fullCtx) + case TransitionPREDICATE: + return p.predTransition(config, t.(*PredicateTransition), collectPredicates, inContext, fullCtx) + case TransitionACTION: + return p.actionTransition(config, t.(*ActionTransition)) + case TransitionEPSILON: + return NewATNConfig4(config, t.getTarget()) + case TransitionATOM, TransitionRANGE, TransitionSET: + // EOF transitions act like epsilon transitions after the first EOF + // transition is traversed + if treatEOFAsEpsilon { + if t.Matches(TokenEOF, 0, 1) { + return NewATNConfig4(config, t.getTarget()) + } + } + return nil + default: + return nil + } +} + +//goland:noinspection GoBoolExpressions +func (p *ParserATNSimulator) actionTransition(config *ATNConfig, t *ActionTransition) *ATNConfig { + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("ACTION edge " + strconv.Itoa(t.ruleIndex) + ":" + strconv.Itoa(t.actionIndex)) + } + return NewATNConfig4(config, t.getTarget()) +} + +//goland:noinspection GoBoolExpressions +func (p *ParserATNSimulator) precedenceTransition(config *ATNConfig, + pt *PrecedencePredicateTransition, collectPredicates, inContext, fullCtx bool) *ATNConfig { + + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("PRED (collectPredicates=" + fmt.Sprint(collectPredicates) + ") " + + strconv.Itoa(pt.precedence) + ">=_p, ctx dependent=true") + if p.parser != nil { + fmt.Println("context surrounding pred is " + fmt.Sprint(p.parser.GetRuleInvocationStack(nil))) + } + } + var c *ATNConfig + if collectPredicates && inContext { + if fullCtx { + // In full context mode, we can evaluate predicates on-the-fly + // during closure, which dramatically reduces the size of + // the runtimeConfig sets. It also obviates the need to test predicates + // later during conflict resolution. + currentPosition := p.input.Index() + p.input.Seek(p.startIndex) + predSucceeds := pt.getPredicate().evaluate(p.parser, p.outerContext) + p.input.Seek(currentPosition) + if predSucceeds { + c = NewATNConfig4(config, pt.getTarget()) // no pred context + } + } else { + newSemCtx := SemanticContextandContext(config.GetSemanticContext(), pt.getPredicate()) + c = NewATNConfig3(config, pt.getTarget(), newSemCtx) + } + } else { + c = NewATNConfig4(config, pt.getTarget()) + } + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("runtimeConfig from pred transition=" + c.String()) + } + return c +} + +//goland:noinspection GoBoolExpressions +func (p *ParserATNSimulator) predTransition(config *ATNConfig, pt *PredicateTransition, collectPredicates, inContext, fullCtx bool) *ATNConfig { + + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("PRED (collectPredicates=" + fmt.Sprint(collectPredicates) + ") " + strconv.Itoa(pt.ruleIndex) + + ":" + strconv.Itoa(pt.predIndex) + ", ctx dependent=" + fmt.Sprint(pt.isCtxDependent)) + if p.parser != nil { + fmt.Println("context surrounding pred is " + fmt.Sprint(p.parser.GetRuleInvocationStack(nil))) + } + } + var c *ATNConfig + if collectPredicates && (!pt.isCtxDependent || inContext) { + if fullCtx { + // In full context mode, we can evaluate predicates on-the-fly + // during closure, which dramatically reduces the size of + // the config sets. It also obviates the need to test predicates + // later during conflict resolution. + currentPosition := p.input.Index() + p.input.Seek(p.startIndex) + predSucceeds := pt.getPredicate().evaluate(p.parser, p.outerContext) + p.input.Seek(currentPosition) + if predSucceeds { + c = NewATNConfig4(config, pt.getTarget()) // no pred context + } + } else { + newSemCtx := SemanticContextandContext(config.GetSemanticContext(), pt.getPredicate()) + c = NewATNConfig3(config, pt.getTarget(), newSemCtx) + } + } else { + c = NewATNConfig4(config, pt.getTarget()) + } + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("config from pred transition=" + c.String()) + } + return c +} + +//goland:noinspection GoBoolExpressions +func (p *ParserATNSimulator) ruleTransition(config *ATNConfig, t *RuleTransition) *ATNConfig { + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("CALL rule " + p.getRuleName(t.getTarget().GetRuleIndex()) + ", ctx=" + config.GetContext().String()) + } + returnState := t.followState + newContext := SingletonBasePredictionContextCreate(config.GetContext(), returnState.GetStateNumber()) + return NewATNConfig1(config, t.getTarget(), newContext) +} + +func (p *ParserATNSimulator) getConflictingAlts(configs *ATNConfigSet) *BitSet { + altsets := PredictionModegetConflictingAltSubsets(configs) + return PredictionModeGetAlts(altsets) +} + +// getConflictingAltsOrUniqueAlt Sam pointed out a problem with the previous definition, v3, of +// ambiguous states. If we have another state associated with conflicting +// alternatives, we should keep going. For example, the following grammar +// +// s : (ID | ID ID?) ; +// +// When the [ATN] simulation reaches the state before ;, it has a [DFA] +// state that looks like: +// +// [12|1|[], 6|2|[], 12|2|[]]. +// +// Naturally +// +// 12|1|[] and 12|2|[] +// +// conflict, but we cannot stop processing this node +// because alternative to has another way to continue, via +// +// [6|2|[]]. +// +// The key is that we have a single state that has config's only associated +// with a single alternative, 2, and crucially the state transitions +// among the configurations are all non-epsilon transitions. That means +// we don't consider any conflicts that include alternative 2. So, we +// ignore the conflict between alts 1 and 2. We ignore a set of +// conflicting alts when there is an intersection with an alternative +// associated with a single alt state in the state config-list map. +// +// It's also the case that we might have two conflicting configurations but +// also a 3rd non-conflicting configuration for a different alternative: +// +// [1|1|[], 1|2|[], 8|3|[]]. +// +// This can come about from grammar: +// +// a : A | A | A B +// +// After Matching input A, we reach the stop state for rule A, state 1. +// State 8 is the state right before B. Clearly alternatives 1 and 2 +// conflict and no amount of further lookahead will separate the two. +// However, alternative 3 will be able to continue, so we do not +// stop working on this state. +// +// In the previous example, we're concerned +// with states associated with the conflicting alternatives. Here alt +// 3 is not associated with the conflicting configs, but since we can continue +// looking for input reasonably, I don't declare the state done. We +// ignore a set of conflicting alts when we have an alternative +// that we still need to pursue. +func (p *ParserATNSimulator) getConflictingAltsOrUniqueAlt(configs *ATNConfigSet) *BitSet { + var conflictingAlts *BitSet + if configs.uniqueAlt != ATNInvalidAltNumber { + conflictingAlts = NewBitSet() + conflictingAlts.add(configs.uniqueAlt) + } else { + conflictingAlts = configs.conflictingAlts + } + return conflictingAlts +} + +func (p *ParserATNSimulator) GetTokenName(t int) string { + if t == TokenEOF { + return "EOF" + } + + if p.parser != nil && p.parser.GetLiteralNames() != nil && t < len(p.parser.GetLiteralNames()) { + return p.parser.GetLiteralNames()[t] + "<" + strconv.Itoa(t) + ">" + } + + if p.parser != nil && p.parser.GetLiteralNames() != nil && t < len(p.parser.GetSymbolicNames()) { + return p.parser.GetSymbolicNames()[t] + "<" + strconv.Itoa(t) + ">" + } + + return strconv.Itoa(t) +} + +func (p *ParserATNSimulator) getLookaheadName(input TokenStream) string { + return p.GetTokenName(input.LA(1)) +} + +// Used for debugging in [AdaptivePredict] around [execATN], but I cut +// it out for clarity now that alg. works well. We can leave this +// "dead" code for a bit. +func (p *ParserATNSimulator) dumpDeadEndConfigs(_ *NoViableAltException) { + + panic("Not implemented") + + // fmt.Println("dead end configs: ") + // var decs = nvae.deadEndConfigs + // + // for i:=0; i0) { + // var t = c.state.GetTransitions()[0] + // if t2, ok := t.(*AtomTransition); ok { + // trans = "Atom "+ p.GetTokenName(t2.label) + // } else if t3, ok := t.(SetTransition); ok { + // _, ok := t.(*NotSetTransition) + // + // var s string + // if (ok){ + // s = "~" + // } + // + // trans = s + "Set " + t3.set + // } + // } + // fmt.Errorf(c.String(p.parser, true) + ":" + trans) + // } +} + +func (p *ParserATNSimulator) noViableAlt(input TokenStream, outerContext ParserRuleContext, configs *ATNConfigSet, startIndex int) *NoViableAltException { + return NewNoViableAltException(p.parser, input, input.Get(startIndex), input.LT(1), configs, outerContext) +} + +func (p *ParserATNSimulator) getUniqueAlt(configs *ATNConfigSet) int { + alt := ATNInvalidAltNumber + for _, c := range configs.configs { + if alt == ATNInvalidAltNumber { + alt = c.GetAlt() // found first alt + } else if c.GetAlt() != alt { + return ATNInvalidAltNumber + } + } + return alt +} + +// Add an edge to the DFA, if possible. This method calls +// {@link //addDFAState} to ensure the {@code to} state is present in the +// DFA. If {@code from} is {@code nil}, or if {@code t} is outside the +// range of edges that can be represented in the DFA tables, p method +// returns without adding the edge to the DFA. +// +//

If {@code to} is {@code nil}, p method returns {@code nil}. +// Otherwise, p method returns the {@link DFAState} returned by calling +// {@link //addDFAState} for the {@code to} state.

+// +// @param dfa The DFA +// @param from The source state for the edge +// @param t The input symbol +// @param to The target state for the edge +// +// @return If {@code to} is {@code nil}, p method returns {@code nil} +// otherwise p method returns the result of calling {@link //addDFAState} +// on {@code to} +// +//goland:noinspection GoBoolExpressions +func (p *ParserATNSimulator) addDFAEdge(dfa *DFA, from *DFAState, t int, to *DFAState) *DFAState { + if runtimeConfig.parserATNSimulatorDebug { + fmt.Println("EDGE " + from.String() + " -> " + to.String() + " upon " + p.GetTokenName(t)) + } + if to == nil { + return nil + } + p.atn.stateMu.Lock() + to = p.addDFAState(dfa, to) // used existing if possible not incoming + p.atn.stateMu.Unlock() + if from == nil || t < -1 || t > p.atn.maxTokenType { + return to + } + p.atn.edgeMu.Lock() + if from.getEdges() == nil { + from.setEdges(make([]*DFAState, p.atn.maxTokenType+1+1)) + } + from.setIthEdge(t+1, to) // connect + p.atn.edgeMu.Unlock() + + if runtimeConfig.parserATNSimulatorDebug { + var names []string + if p.parser != nil { + names = p.parser.GetLiteralNames() + } + + fmt.Println("DFA=\n" + dfa.String(names, nil)) + } + return to +} + +// addDFAState adds state D to the [DFA] if it is not already present, and returns +// the actual instance stored in the [DFA]. If a state equivalent to D +// is already in the [DFA], the existing state is returned. Otherwise, this +// method returns D after adding it to the [DFA]. +// +// If D is [ATNSimulatorError], this method returns [ATNSimulatorError] and +// does not change the DFA. +// +//goland:noinspection GoBoolExpressions +func (p *ParserATNSimulator) addDFAState(dfa *DFA, d *DFAState) *DFAState { + if d == ATNSimulatorError { + return d + } + + existing, present := dfa.Get(d) + if present { + if runtimeConfig.parserATNSimulatorTraceATNSim { + fmt.Print("addDFAState " + d.String() + " exists") + } + return existing + } + + // The state will be added if not already there or we will be given back the existing state struct + // if it is present. + // + d.stateNumber = dfa.Len() + if !d.configs.readOnly { + d.configs.OptimizeConfigs(&p.BaseATNSimulator) + d.configs.readOnly = true + d.configs.configLookup = nil + } + dfa.Put(d) + + if runtimeConfig.parserATNSimulatorTraceATNSim { + fmt.Println("addDFAState new " + d.String()) + } + + return d +} + +//goland:noinspection GoBoolExpressions +func (p *ParserATNSimulator) ReportAttemptingFullContext(dfa *DFA, conflictingAlts *BitSet, configs *ATNConfigSet, startIndex, stopIndex int) { + if runtimeConfig.parserATNSimulatorDebug || runtimeConfig.parserATNSimulatorRetryDebug { + interval := NewInterval(startIndex, stopIndex+1) + fmt.Println("ReportAttemptingFullContext decision=" + strconv.Itoa(dfa.decision) + ":" + configs.String() + + ", input=" + p.parser.GetTokenStream().GetTextFromInterval(interval)) + } + if p.parser != nil { + p.parser.GetErrorListenerDispatch().ReportAttemptingFullContext(p.parser, dfa, startIndex, stopIndex, conflictingAlts, configs) + } +} + +//goland:noinspection GoBoolExpressions +func (p *ParserATNSimulator) ReportContextSensitivity(dfa *DFA, prediction int, configs *ATNConfigSet, startIndex, stopIndex int) { + if runtimeConfig.parserATNSimulatorDebug || runtimeConfig.parserATNSimulatorRetryDebug { + interval := NewInterval(startIndex, stopIndex+1) + fmt.Println("ReportContextSensitivity decision=" + strconv.Itoa(dfa.decision) + ":" + configs.String() + + ", input=" + p.parser.GetTokenStream().GetTextFromInterval(interval)) + } + if p.parser != nil { + p.parser.GetErrorListenerDispatch().ReportContextSensitivity(p.parser, dfa, startIndex, stopIndex, prediction, configs) + } +} + +// ReportAmbiguity reports and ambiguity in the parse, which shows that the parser will explore a different route. +// +// If context-sensitive parsing, we know it's an ambiguity not a conflict or error, but we can report it to the developer +// so that they can see that this is happening and can take action if they want to. +// +//goland:noinspection GoBoolExpressions +func (p *ParserATNSimulator) ReportAmbiguity(dfa *DFA, _ *DFAState, startIndex, stopIndex int, + exact bool, ambigAlts *BitSet, configs *ATNConfigSet) { + if runtimeConfig.parserATNSimulatorDebug || runtimeConfig.parserATNSimulatorRetryDebug { + interval := NewInterval(startIndex, stopIndex+1) + fmt.Println("ReportAmbiguity " + ambigAlts.String() + ":" + configs.String() + + ", input=" + p.parser.GetTokenStream().GetTextFromInterval(interval)) + } + if p.parser != nil { + p.parser.GetErrorListenerDispatch().ReportAmbiguity(p.parser, dfa, startIndex, stopIndex, exact, ambigAlts, configs) + } +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/parser_rule_context.go b/vendor/github.com/antlr4-go/antlr/v4/parser_rule_context.go new file mode 100644 index 000000000..c249bc138 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/parser_rule_context.go @@ -0,0 +1,421 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "reflect" + "strconv" +) + +type ParserRuleContext interface { + RuleContext + + SetException(RecognitionException) + + AddTokenNode(token Token) *TerminalNodeImpl + AddErrorNode(badToken Token) *ErrorNodeImpl + + EnterRule(listener ParseTreeListener) + ExitRule(listener ParseTreeListener) + + SetStart(Token) + GetStart() Token + + SetStop(Token) + GetStop() Token + + AddChild(child RuleContext) RuleContext + RemoveLastChild() +} + +type BaseParserRuleContext struct { + parentCtx RuleContext + invokingState int + RuleIndex int + + start, stop Token + exception RecognitionException + children []Tree +} + +func NewBaseParserRuleContext(parent ParserRuleContext, invokingStateNumber int) *BaseParserRuleContext { + prc := new(BaseParserRuleContext) + InitBaseParserRuleContext(prc, parent, invokingStateNumber) + return prc +} + +func InitBaseParserRuleContext(prc *BaseParserRuleContext, parent ParserRuleContext, invokingStateNumber int) { + // What context invoked b rule? + prc.parentCtx = parent + + // What state invoked the rule associated with b context? + // The "return address" is the followState of invokingState + // If parent is nil, b should be -1. + if parent == nil { + prc.invokingState = -1 + } else { + prc.invokingState = invokingStateNumber + } + + prc.RuleIndex = -1 + // * If we are debugging or building a parse tree for a Visitor, + // we need to track all of the tokens and rule invocations associated + // with prc rule's context. This is empty for parsing w/o tree constr. + // operation because we don't the need to track the details about + // how we parse prc rule. + // / + prc.children = nil + prc.start = nil + prc.stop = nil + // The exception that forced prc rule to return. If the rule successfully + // completed, prc is {@code nil}. + prc.exception = nil +} + +func (prc *BaseParserRuleContext) SetException(e RecognitionException) { + prc.exception = e +} + +func (prc *BaseParserRuleContext) GetChildren() []Tree { + return prc.children +} + +func (prc *BaseParserRuleContext) CopyFrom(ctx *BaseParserRuleContext) { + // from RuleContext + prc.parentCtx = ctx.parentCtx + prc.invokingState = ctx.invokingState + prc.children = nil + prc.start = ctx.start + prc.stop = ctx.stop +} + +func (prc *BaseParserRuleContext) GetText() string { + if prc.GetChildCount() == 0 { + return "" + } + + var s string + for _, child := range prc.children { + s += child.(ParseTree).GetText() + } + + return s +} + +// EnterRule is called when any rule is entered. +func (prc *BaseParserRuleContext) EnterRule(_ ParseTreeListener) { +} + +// ExitRule is called when any rule is exited. +func (prc *BaseParserRuleContext) ExitRule(_ ParseTreeListener) { +} + +// * Does not set parent link other add methods do that +func (prc *BaseParserRuleContext) addTerminalNodeChild(child TerminalNode) TerminalNode { + if prc.children == nil { + prc.children = make([]Tree, 0) + } + if child == nil { + panic("Child may not be null") + } + prc.children = append(prc.children, child) + return child +} + +func (prc *BaseParserRuleContext) AddChild(child RuleContext) RuleContext { + if prc.children == nil { + prc.children = make([]Tree, 0) + } + if child == nil { + panic("Child may not be null") + } + prc.children = append(prc.children, child) + return child +} + +// RemoveLastChild is used by [EnterOuterAlt] to toss out a [RuleContext] previously added as +// we entered a rule. If we have a label, we will need to remove +// the generic ruleContext object. +func (prc *BaseParserRuleContext) RemoveLastChild() { + if prc.children != nil && len(prc.children) > 0 { + prc.children = prc.children[0 : len(prc.children)-1] + } +} + +func (prc *BaseParserRuleContext) AddTokenNode(token Token) *TerminalNodeImpl { + + node := NewTerminalNodeImpl(token) + prc.addTerminalNodeChild(node) + node.parentCtx = prc + return node + +} + +func (prc *BaseParserRuleContext) AddErrorNode(badToken Token) *ErrorNodeImpl { + node := NewErrorNodeImpl(badToken) + prc.addTerminalNodeChild(node) + node.parentCtx = prc + return node +} + +func (prc *BaseParserRuleContext) GetChild(i int) Tree { + if prc.children != nil && len(prc.children) >= i { + return prc.children[i] + } + + return nil +} + +func (prc *BaseParserRuleContext) GetChildOfType(i int, childType reflect.Type) RuleContext { + if childType == nil { + return prc.GetChild(i).(RuleContext) + } + + for j := 0; j < len(prc.children); j++ { + child := prc.children[j] + if reflect.TypeOf(child) == childType { + if i == 0 { + return child.(RuleContext) + } + + i-- + } + } + + return nil +} + +func (prc *BaseParserRuleContext) ToStringTree(ruleNames []string, recog Recognizer) string { + return TreesStringTree(prc, ruleNames, recog) +} + +func (prc *BaseParserRuleContext) GetRuleContext() RuleContext { + return prc +} + +func (prc *BaseParserRuleContext) Accept(visitor ParseTreeVisitor) interface{} { + return visitor.VisitChildren(prc) +} + +func (prc *BaseParserRuleContext) SetStart(t Token) { + prc.start = t +} + +func (prc *BaseParserRuleContext) GetStart() Token { + return prc.start +} + +func (prc *BaseParserRuleContext) SetStop(t Token) { + prc.stop = t +} + +func (prc *BaseParserRuleContext) GetStop() Token { + return prc.stop +} + +func (prc *BaseParserRuleContext) GetToken(ttype int, i int) TerminalNode { + + for j := 0; j < len(prc.children); j++ { + child := prc.children[j] + if c2, ok := child.(TerminalNode); ok { + if c2.GetSymbol().GetTokenType() == ttype { + if i == 0 { + return c2 + } + + i-- + } + } + } + return nil +} + +func (prc *BaseParserRuleContext) GetTokens(ttype int) []TerminalNode { + if prc.children == nil { + return make([]TerminalNode, 0) + } + + tokens := make([]TerminalNode, 0) + + for j := 0; j < len(prc.children); j++ { + child := prc.children[j] + if tchild, ok := child.(TerminalNode); ok { + if tchild.GetSymbol().GetTokenType() == ttype { + tokens = append(tokens, tchild) + } + } + } + + return tokens +} + +func (prc *BaseParserRuleContext) GetPayload() interface{} { + return prc +} + +func (prc *BaseParserRuleContext) getChild(ctxType reflect.Type, i int) RuleContext { + if prc.children == nil || i < 0 || i >= len(prc.children) { + return nil + } + + j := -1 // what element have we found with ctxType? + for _, o := range prc.children { + + childType := reflect.TypeOf(o) + + if childType.Implements(ctxType) { + j++ + if j == i { + return o.(RuleContext) + } + } + } + return nil +} + +// Go lacks generics, so it's not possible for us to return the child with the correct type, but we do +// check for convertibility + +func (prc *BaseParserRuleContext) GetTypedRuleContext(ctxType reflect.Type, i int) RuleContext { + return prc.getChild(ctxType, i) +} + +func (prc *BaseParserRuleContext) GetTypedRuleContexts(ctxType reflect.Type) []RuleContext { + if prc.children == nil { + return make([]RuleContext, 0) + } + + contexts := make([]RuleContext, 0) + + for _, child := range prc.children { + childType := reflect.TypeOf(child) + + if childType.ConvertibleTo(ctxType) { + contexts = append(contexts, child.(RuleContext)) + } + } + return contexts +} + +func (prc *BaseParserRuleContext) GetChildCount() int { + if prc.children == nil { + return 0 + } + + return len(prc.children) +} + +func (prc *BaseParserRuleContext) GetSourceInterval() Interval { + if prc.start == nil || prc.stop == nil { + return TreeInvalidInterval + } + + return NewInterval(prc.start.GetTokenIndex(), prc.stop.GetTokenIndex()) +} + +//need to manage circular dependencies, so export now + +// Print out a whole tree, not just a node, in LISP format +// (root child1 .. childN). Print just a node if b is a leaf. +// + +func (prc *BaseParserRuleContext) String(ruleNames []string, stop RuleContext) string { + + var p ParserRuleContext = prc + s := "[" + for p != nil && p != stop { + if ruleNames == nil { + if !p.IsEmpty() { + s += strconv.Itoa(p.GetInvokingState()) + } + } else { + ri := p.GetRuleIndex() + var ruleName string + if ri >= 0 && ri < len(ruleNames) { + ruleName = ruleNames[ri] + } else { + ruleName = strconv.Itoa(ri) + } + s += ruleName + } + if p.GetParent() != nil && (ruleNames != nil || !p.GetParent().(ParserRuleContext).IsEmpty()) { + s += " " + } + pi := p.GetParent() + if pi != nil { + p = pi.(ParserRuleContext) + } else { + p = nil + } + } + s += "]" + return s +} + +func (prc *BaseParserRuleContext) SetParent(v Tree) { + if v == nil { + prc.parentCtx = nil + } else { + prc.parentCtx = v.(RuleContext) + } +} + +func (prc *BaseParserRuleContext) GetInvokingState() int { + return prc.invokingState +} + +func (prc *BaseParserRuleContext) SetInvokingState(t int) { + prc.invokingState = t +} + +func (prc *BaseParserRuleContext) GetRuleIndex() int { + return prc.RuleIndex +} + +func (prc *BaseParserRuleContext) GetAltNumber() int { + return ATNInvalidAltNumber +} + +func (prc *BaseParserRuleContext) SetAltNumber(_ int) {} + +// IsEmpty returns true if the context of b is empty. +// +// A context is empty if there is no invoking state, meaning nobody calls +// current context. +func (prc *BaseParserRuleContext) IsEmpty() bool { + return prc.invokingState == -1 +} + +// GetParent returns the combined text of all child nodes. This method only considers +// tokens which have been added to the parse tree. +// +// Since tokens on hidden channels (e.g. whitespace or comments) are not +// added to the parse trees, they will not appear in the output of this +// method. +func (prc *BaseParserRuleContext) GetParent() Tree { + return prc.parentCtx +} + +var ParserRuleContextEmpty = NewBaseParserRuleContext(nil, -1) + +type InterpreterRuleContext interface { + ParserRuleContext +} + +type BaseInterpreterRuleContext struct { + *BaseParserRuleContext +} + +//goland:noinspection GoUnusedExportedFunction +func NewBaseInterpreterRuleContext(parent BaseInterpreterRuleContext, invokingStateNumber, ruleIndex int) *BaseInterpreterRuleContext { + + prc := new(BaseInterpreterRuleContext) + + prc.BaseParserRuleContext = NewBaseParserRuleContext(parent, invokingStateNumber) + + prc.RuleIndex = ruleIndex + + return prc +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/prediction_context.go b/vendor/github.com/antlr4-go/antlr/v4/prediction_context.go new file mode 100644 index 000000000..c1b80cc1f --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/prediction_context.go @@ -0,0 +1,727 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "fmt" + "golang.org/x/exp/slices" + "strconv" +) + +var _emptyPredictionContextHash int + +func init() { + _emptyPredictionContextHash = murmurInit(1) + _emptyPredictionContextHash = murmurFinish(_emptyPredictionContextHash, 0) +} + +func calculateEmptyHash() int { + return _emptyPredictionContextHash +} + +const ( + // BasePredictionContextEmptyReturnState represents {@code $} in an array in full context mode, $ + // doesn't mean wildcard: + // + // $ + x = [$,x] + // + // Here, + // + // $ = EmptyReturnState + BasePredictionContextEmptyReturnState = 0x7FFFFFFF +) + +// TODO: JI These are meant to be atomics - this does not seem to match the Java runtime here +// +//goland:noinspection GoUnusedGlobalVariable +var ( + BasePredictionContextglobalNodeCount = 1 + BasePredictionContextid = BasePredictionContextglobalNodeCount +) + +const ( + PredictionContextEmpty = iota + PredictionContextSingleton + PredictionContextArray +) + +// PredictionContext is a go idiomatic implementation of PredictionContext that does not rty to +// emulate inheritance from Java, and can be used without an interface definition. An interface +// is not required because no user code will ever need to implement this interface. +type PredictionContext struct { + cachedHash int + pcType int + parentCtx *PredictionContext + returnState int + parents []*PredictionContext + returnStates []int +} + +func NewEmptyPredictionContext() *PredictionContext { + nep := &PredictionContext{} + nep.cachedHash = calculateEmptyHash() + nep.pcType = PredictionContextEmpty + nep.returnState = BasePredictionContextEmptyReturnState + return nep +} + +func NewBaseSingletonPredictionContext(parent *PredictionContext, returnState int) *PredictionContext { + pc := &PredictionContext{} + pc.pcType = PredictionContextSingleton + pc.returnState = returnState + pc.parentCtx = parent + if parent != nil { + pc.cachedHash = calculateHash(parent, returnState) + } else { + pc.cachedHash = calculateEmptyHash() + } + return pc +} + +func SingletonBasePredictionContextCreate(parent *PredictionContext, returnState int) *PredictionContext { + if returnState == BasePredictionContextEmptyReturnState && parent == nil { + // someone can pass in the bits of an array ctx that mean $ + return BasePredictionContextEMPTY + } + return NewBaseSingletonPredictionContext(parent, returnState) +} + +func NewArrayPredictionContext(parents []*PredictionContext, returnStates []int) *PredictionContext { + // Parent can be nil only if full ctx mode and we make an array + // from {@link //EMPTY} and non-empty. We merge {@link //EMPTY} by using + // nil parent and + // returnState == {@link //EmptyReturnState}. + hash := murmurInit(1) + for _, parent := range parents { + hash = murmurUpdate(hash, parent.Hash()) + } + for _, returnState := range returnStates { + hash = murmurUpdate(hash, returnState) + } + hash = murmurFinish(hash, len(parents)<<1) + + nec := &PredictionContext{} + nec.cachedHash = hash + nec.pcType = PredictionContextArray + nec.parents = parents + nec.returnStates = returnStates + return nec +} + +func (p *PredictionContext) Hash() int { + return p.cachedHash +} + +func (p *PredictionContext) Equals(other Collectable[*PredictionContext]) bool { + switch p.pcType { + case PredictionContextEmpty: + otherP := other.(*PredictionContext) + return other == nil || otherP == nil || otherP.isEmpty() + case PredictionContextSingleton: + return p.SingletonEquals(other) + case PredictionContextArray: + return p.ArrayEquals(other) + } + return false +} + +func (p *PredictionContext) ArrayEquals(o Collectable[*PredictionContext]) bool { + if o == nil { + return false + } + other := o.(*PredictionContext) + if other == nil || other.pcType != PredictionContextArray { + return false + } + if p.cachedHash != other.Hash() { + return false // can't be same if hash is different + } + + // Must compare the actual array elements and not just the array address + // + return slices.Equal(p.returnStates, other.returnStates) && + slices.EqualFunc(p.parents, other.parents, func(x, y *PredictionContext) bool { + return x.Equals(y) + }) +} + +func (p *PredictionContext) SingletonEquals(other Collectable[*PredictionContext]) bool { + if other == nil { + return false + } + otherP := other.(*PredictionContext) + if otherP == nil { + return false + } + + if p.cachedHash != otherP.Hash() { + return false // Can't be same if hash is different + } + + if p.returnState != otherP.getReturnState(0) { + return false + } + + // Both parents must be nil if one is + if p.parentCtx == nil { + return otherP.parentCtx == nil + } + + return p.parentCtx.Equals(otherP.parentCtx) +} + +func (p *PredictionContext) GetParent(i int) *PredictionContext { + switch p.pcType { + case PredictionContextEmpty: + return nil + case PredictionContextSingleton: + return p.parentCtx + case PredictionContextArray: + return p.parents[i] + } + return nil +} + +func (p *PredictionContext) getReturnState(i int) int { + switch p.pcType { + case PredictionContextArray: + return p.returnStates[i] + default: + return p.returnState + } +} + +func (p *PredictionContext) GetReturnStates() []int { + switch p.pcType { + case PredictionContextArray: + return p.returnStates + default: + return []int{p.returnState} + } +} + +func (p *PredictionContext) length() int { + switch p.pcType { + case PredictionContextArray: + return len(p.returnStates) + default: + return 1 + } +} + +func (p *PredictionContext) hasEmptyPath() bool { + switch p.pcType { + case PredictionContextSingleton: + return p.returnState == BasePredictionContextEmptyReturnState + } + return p.getReturnState(p.length()-1) == BasePredictionContextEmptyReturnState +} + +func (p *PredictionContext) String() string { + switch p.pcType { + case PredictionContextEmpty: + return "$" + case PredictionContextSingleton: + var up string + + if p.parentCtx == nil { + up = "" + } else { + up = p.parentCtx.String() + } + + if len(up) == 0 { + if p.returnState == BasePredictionContextEmptyReturnState { + return "$" + } + + return strconv.Itoa(p.returnState) + } + + return strconv.Itoa(p.returnState) + " " + up + case PredictionContextArray: + if p.isEmpty() { + return "[]" + } + + s := "[" + for i := 0; i < len(p.returnStates); i++ { + if i > 0 { + s = s + ", " + } + if p.returnStates[i] == BasePredictionContextEmptyReturnState { + s = s + "$" + continue + } + s = s + strconv.Itoa(p.returnStates[i]) + if !p.parents[i].isEmpty() { + s = s + " " + p.parents[i].String() + } else { + s = s + "nil" + } + } + return s + "]" + + default: + return "unknown" + } +} + +func (p *PredictionContext) isEmpty() bool { + switch p.pcType { + case PredictionContextEmpty: + return true + case PredictionContextArray: + // since EmptyReturnState can only appear in the last position, we + // don't need to verify that size==1 + return p.returnStates[0] == BasePredictionContextEmptyReturnState + default: + return false + } +} + +func (p *PredictionContext) Type() int { + return p.pcType +} + +func calculateHash(parent *PredictionContext, returnState int) int { + h := murmurInit(1) + h = murmurUpdate(h, parent.Hash()) + h = murmurUpdate(h, returnState) + return murmurFinish(h, 2) +} + +// Convert a {@link RuleContext} tree to a {@link BasePredictionContext} graph. +// Return {@link //EMPTY} if {@code outerContext} is empty or nil. +// / +func predictionContextFromRuleContext(a *ATN, outerContext RuleContext) *PredictionContext { + if outerContext == nil { + outerContext = ParserRuleContextEmpty + } + // if we are in RuleContext of start rule, s, then BasePredictionContext + // is EMPTY. Nobody called us. (if we are empty, return empty) + if outerContext.GetParent() == nil || outerContext == ParserRuleContextEmpty { + return BasePredictionContextEMPTY + } + // If we have a parent, convert it to a BasePredictionContext graph + parent := predictionContextFromRuleContext(a, outerContext.GetParent().(RuleContext)) + state := a.states[outerContext.GetInvokingState()] + transition := state.GetTransitions()[0] + + return SingletonBasePredictionContextCreate(parent, transition.(*RuleTransition).followState.GetStateNumber()) +} + +func merge(a, b *PredictionContext, rootIsWildcard bool, mergeCache *JPCMap) *PredictionContext { + + // Share same graph if both same + // + if a == b || a.Equals(b) { + return a + } + + if a.pcType == PredictionContextSingleton && b.pcType == PredictionContextSingleton { + return mergeSingletons(a, b, rootIsWildcard, mergeCache) + } + // At least one of a or b is array + // If one is $ and rootIsWildcard, return $ as wildcard + if rootIsWildcard { + if a.isEmpty() { + return a + } + if b.isEmpty() { + return b + } + } + + // Convert either Singleton or Empty to arrays, so that we can merge them + // + ara := convertToArray(a) + arb := convertToArray(b) + return mergeArrays(ara, arb, rootIsWildcard, mergeCache) +} + +func convertToArray(pc *PredictionContext) *PredictionContext { + switch pc.Type() { + case PredictionContextEmpty: + return NewArrayPredictionContext([]*PredictionContext{}, []int{}) + case PredictionContextSingleton: + return NewArrayPredictionContext([]*PredictionContext{pc.GetParent(0)}, []int{pc.getReturnState(0)}) + default: + // Already an array + } + return pc +} + +// mergeSingletons merges two Singleton [PredictionContext] instances. +// +// Stack tops equal, parents merge is same return left graph. +//

+// +//

Same stack top, parents differ merge parents giving array node, then +// remainders of those graphs. A new root node is created to point to the +// merged parents.
+//

+// +//

Different stack tops pointing to same parent. Make array node for the +// root where both element in the root point to the same (original) +// parent.
+//

+// +//

Different stack tops pointing to different parents. Make array node for +// the root where each element points to the corresponding original +// parent.
+//

+// +// @param a the first {@link SingletonBasePredictionContext} +// @param b the second {@link SingletonBasePredictionContext} +// @param rootIsWildcard {@code true} if this is a local-context merge, +// otherwise false to indicate a full-context merge +// @param mergeCache +// / +func mergeSingletons(a, b *PredictionContext, rootIsWildcard bool, mergeCache *JPCMap) *PredictionContext { + if mergeCache != nil { + previous, present := mergeCache.Get(a, b) + if present { + return previous + } + previous, present = mergeCache.Get(b, a) + if present { + return previous + } + } + + rootMerge := mergeRoot(a, b, rootIsWildcard) + if rootMerge != nil { + if mergeCache != nil { + mergeCache.Put(a, b, rootMerge) + } + return rootMerge + } + if a.returnState == b.returnState { + parent := merge(a.parentCtx, b.parentCtx, rootIsWildcard, mergeCache) + // if parent is same as existing a or b parent or reduced to a parent, + // return it + if parent.Equals(a.parentCtx) { + return a // ax + bx = ax, if a=b + } + if parent.Equals(b.parentCtx) { + return b // ax + bx = bx, if a=b + } + // else: ax + ay = a'[x,y] + // merge parents x and y, giving array node with x,y then remainders + // of those graphs. dup a, a' points at merged array. + // New joined parent so create a new singleton pointing to it, a' + spc := SingletonBasePredictionContextCreate(parent, a.returnState) + if mergeCache != nil { + mergeCache.Put(a, b, spc) + } + return spc + } + // a != b payloads differ + // see if we can collapse parents due to $+x parents if local ctx + var singleParent *PredictionContext + if a.Equals(b) || (a.parentCtx != nil && a.parentCtx.Equals(b.parentCtx)) { // ax + + // bx = + // [a,b]x + singleParent = a.parentCtx + } + if singleParent != nil { // parents are same + // sort payloads and use same parent + payloads := []int{a.returnState, b.returnState} + if a.returnState > b.returnState { + payloads[0] = b.returnState + payloads[1] = a.returnState + } + parents := []*PredictionContext{singleParent, singleParent} + apc := NewArrayPredictionContext(parents, payloads) + if mergeCache != nil { + mergeCache.Put(a, b, apc) + } + return apc + } + // parents differ and can't merge them. Just pack together + // into array can't merge. + // ax + by = [ax,by] + payloads := []int{a.returnState, b.returnState} + parents := []*PredictionContext{a.parentCtx, b.parentCtx} + if a.returnState > b.returnState { // sort by payload + payloads[0] = b.returnState + payloads[1] = a.returnState + parents = []*PredictionContext{b.parentCtx, a.parentCtx} + } + apc := NewArrayPredictionContext(parents, payloads) + if mergeCache != nil { + mergeCache.Put(a, b, apc) + } + return apc +} + +// Handle case where at least one of {@code a} or {@code b} is +// {@link //EMPTY}. In the following diagrams, the symbol {@code $} is used +// to represent {@link //EMPTY}. +// +//

Local-Context Merges

+// +//

These local-context merge operations are used when {@code rootIsWildcard} +// is true.

+// +//

{@link //EMPTY} is superset of any graph return {@link //EMPTY}.
+//

+// +//

{@link //EMPTY} and anything is {@code //EMPTY}, so merged parent is +// {@code //EMPTY} return left graph.
+//

+// +//

Special case of last merge if local context.
+//

+// +//

Full-Context Merges

+// +//

These full-context merge operations are used when {@code rootIsWildcard} +// is false.

+// +//

+// +//

Must keep all contexts {@link //EMPTY} in array is a special value (and +// nil parent).
+//

+// +//

+// +// @param a the first {@link SingletonBasePredictionContext} +// @param b the second {@link SingletonBasePredictionContext} +// @param rootIsWildcard {@code true} if this is a local-context merge, +// otherwise false to indicate a full-context merge +// / +func mergeRoot(a, b *PredictionContext, rootIsWildcard bool) *PredictionContext { + if rootIsWildcard { + if a.pcType == PredictionContextEmpty { + return BasePredictionContextEMPTY // // + b =// + } + if b.pcType == PredictionContextEmpty { + return BasePredictionContextEMPTY // a +// =// + } + } else { + if a.isEmpty() && b.isEmpty() { + return BasePredictionContextEMPTY // $ + $ = $ + } else if a.isEmpty() { // $ + x = [$,x] + payloads := []int{b.getReturnState(-1), BasePredictionContextEmptyReturnState} + parents := []*PredictionContext{b.GetParent(-1), nil} + return NewArrayPredictionContext(parents, payloads) + } else if b.isEmpty() { // x + $ = [$,x] ($ is always first if present) + payloads := []int{a.getReturnState(-1), BasePredictionContextEmptyReturnState} + parents := []*PredictionContext{a.GetParent(-1), nil} + return NewArrayPredictionContext(parents, payloads) + } + } + return nil +} + +// Merge two {@link ArrayBasePredictionContext} instances. +// +//

Different tops, different parents.
+//

+// +//

Shared top, same parents.
+//

+// +//

Shared top, different parents.
+//

+// +//

Shared top, all shared parents.
+//

+// +//

Equal tops, merge parents and reduce top to +// {@link SingletonBasePredictionContext}.
+//

+// +//goland:noinspection GoBoolExpressions +func mergeArrays(a, b *PredictionContext, rootIsWildcard bool, mergeCache *JPCMap) *PredictionContext { + if mergeCache != nil { + previous, present := mergeCache.Get(a, b) + if present { + if runtimeConfig.parserATNSimulatorTraceATNSim { + fmt.Println("mergeArrays a=" + a.String() + ",b=" + b.String() + " -> previous") + } + return previous + } + previous, present = mergeCache.Get(b, a) + if present { + if runtimeConfig.parserATNSimulatorTraceATNSim { + fmt.Println("mergeArrays a=" + a.String() + ",b=" + b.String() + " -> previous") + } + return previous + } + } + // merge sorted payloads a + b => M + i := 0 // walks a + j := 0 // walks b + k := 0 // walks target M array + + mergedReturnStates := make([]int, len(a.returnStates)+len(b.returnStates)) + mergedParents := make([]*PredictionContext, len(a.returnStates)+len(b.returnStates)) + // walk and merge to yield mergedParents, mergedReturnStates + for i < len(a.returnStates) && j < len(b.returnStates) { + aParent := a.parents[i] + bParent := b.parents[j] + if a.returnStates[i] == b.returnStates[j] { + // same payload (stack tops are equal), must yield merged singleton + payload := a.returnStates[i] + // $+$ = $ + bothDollars := payload == BasePredictionContextEmptyReturnState && aParent == nil && bParent == nil + axAX := aParent != nil && bParent != nil && aParent.Equals(bParent) // ax+ax + // -> + // ax + if bothDollars || axAX { + mergedParents[k] = aParent // choose left + mergedReturnStates[k] = payload + } else { // ax+ay -> a'[x,y] + mergedParent := merge(aParent, bParent, rootIsWildcard, mergeCache) + mergedParents[k] = mergedParent + mergedReturnStates[k] = payload + } + i++ // hop over left one as usual + j++ // but also Skip one in right side since we merge + } else if a.returnStates[i] < b.returnStates[j] { // copy a[i] to M + mergedParents[k] = aParent + mergedReturnStates[k] = a.returnStates[i] + i++ + } else { // b > a, copy b[j] to M + mergedParents[k] = bParent + mergedReturnStates[k] = b.returnStates[j] + j++ + } + k++ + } + // copy over any payloads remaining in either array + if i < len(a.returnStates) { + for p := i; p < len(a.returnStates); p++ { + mergedParents[k] = a.parents[p] + mergedReturnStates[k] = a.returnStates[p] + k++ + } + } else { + for p := j; p < len(b.returnStates); p++ { + mergedParents[k] = b.parents[p] + mergedReturnStates[k] = b.returnStates[p] + k++ + } + } + // trim merged if we combined a few that had same stack tops + if k < len(mergedParents) { // write index < last position trim + if k == 1 { // for just one merged element, return singleton top + pc := SingletonBasePredictionContextCreate(mergedParents[0], mergedReturnStates[0]) + if mergeCache != nil { + mergeCache.Put(a, b, pc) + } + return pc + } + mergedParents = mergedParents[0:k] + mergedReturnStates = mergedReturnStates[0:k] + } + + M := NewArrayPredictionContext(mergedParents, mergedReturnStates) + + // if we created same array as a or b, return that instead + // TODO: JI track whether this is possible above during merge sort for speed and possibly avoid an allocation + if M.Equals(a) { + if mergeCache != nil { + mergeCache.Put(a, b, a) + } + if runtimeConfig.parserATNSimulatorTraceATNSim { + fmt.Println("mergeArrays a=" + a.String() + ",b=" + b.String() + " -> a") + } + return a + } + if M.Equals(b) { + if mergeCache != nil { + mergeCache.Put(a, b, b) + } + if runtimeConfig.parserATNSimulatorTraceATNSim { + fmt.Println("mergeArrays a=" + a.String() + ",b=" + b.String() + " -> b") + } + return b + } + combineCommonParents(&mergedParents) + + if mergeCache != nil { + mergeCache.Put(a, b, M) + } + if runtimeConfig.parserATNSimulatorTraceATNSim { + fmt.Println("mergeArrays a=" + a.String() + ",b=" + b.String() + " -> " + M.String()) + } + return M +} + +// Make pass over all M parents and merge any Equals() ones. +// Note that we pass a pointer to the slice as we want to modify it in place. +// +//goland:noinspection GoUnusedFunction +func combineCommonParents(parents *[]*PredictionContext) { + uniqueParents := NewJStore[*PredictionContext, Comparator[*PredictionContext]](pContextEqInst, PredictionContextCollection, "combineCommonParents for PredictionContext") + + for p := 0; p < len(*parents); p++ { + parent := (*parents)[p] + _, _ = uniqueParents.Put(parent) + } + for q := 0; q < len(*parents); q++ { + pc, _ := uniqueParents.Get((*parents)[q]) + (*parents)[q] = pc + } +} + +func getCachedBasePredictionContext(context *PredictionContext, contextCache *PredictionContextCache, visited *VisitRecord) *PredictionContext { + if context.isEmpty() { + return context + } + existing, present := visited.Get(context) + if present { + return existing + } + + existing, present = contextCache.Get(context) + if present { + visited.Put(context, existing) + return existing + } + changed := false + parents := make([]*PredictionContext, context.length()) + for i := 0; i < len(parents); i++ { + parent := getCachedBasePredictionContext(context.GetParent(i), contextCache, visited) + if changed || !parent.Equals(context.GetParent(i)) { + if !changed { + parents = make([]*PredictionContext, context.length()) + for j := 0; j < context.length(); j++ { + parents[j] = context.GetParent(j) + } + changed = true + } + parents[i] = parent + } + } + if !changed { + contextCache.add(context) + visited.Put(context, context) + return context + } + var updated *PredictionContext + if len(parents) == 0 { + updated = BasePredictionContextEMPTY + } else if len(parents) == 1 { + updated = SingletonBasePredictionContextCreate(parents[0], context.getReturnState(0)) + } else { + updated = NewArrayPredictionContext(parents, context.GetReturnStates()) + } + contextCache.add(updated) + visited.Put(updated, updated) + visited.Put(context, updated) + + return updated +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/prediction_context_cache.go b/vendor/github.com/antlr4-go/antlr/v4/prediction_context_cache.go new file mode 100644 index 000000000..25dfb11e8 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/prediction_context_cache.go @@ -0,0 +1,48 @@ +package antlr + +var BasePredictionContextEMPTY = &PredictionContext{ + cachedHash: calculateEmptyHash(), + pcType: PredictionContextEmpty, + returnState: BasePredictionContextEmptyReturnState, +} + +// PredictionContextCache is Used to cache [PredictionContext] objects. It is used for the shared +// context cash associated with contexts in DFA states. This cache +// can be used for both lexers and parsers. +type PredictionContextCache struct { + cache *JMap[*PredictionContext, *PredictionContext, Comparator[*PredictionContext]] +} + +func NewPredictionContextCache() *PredictionContextCache { + return &PredictionContextCache{ + cache: NewJMap[*PredictionContext, *PredictionContext, Comparator[*PredictionContext]](pContextEqInst, PredictionContextCacheCollection, "NewPredictionContextCache()"), + } +} + +// Add a context to the cache and return it. If the context already exists, +// return that one instead and do not add a new context to the cache. +// Protect shared cache from unsafe thread access. +func (p *PredictionContextCache) add(ctx *PredictionContext) *PredictionContext { + if ctx.isEmpty() { + return BasePredictionContextEMPTY + } + + // Put will return the existing entry if it is present (note this is done via Equals, not whether it is + // the same pointer), otherwise it will add the new entry and return that. + // + existing, present := p.cache.Get(ctx) + if present { + return existing + } + p.cache.Put(ctx, ctx) + return ctx +} + +func (p *PredictionContextCache) Get(ctx *PredictionContext) (*PredictionContext, bool) { + pc, exists := p.cache.Get(ctx) + return pc, exists +} + +func (p *PredictionContextCache) length() int { + return p.cache.Len() +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/prediction_mode.go b/vendor/github.com/antlr4-go/antlr/v4/prediction_mode.go new file mode 100644 index 000000000..3f85a6a52 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/prediction_mode.go @@ -0,0 +1,536 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +// This enumeration defines the prediction modes available in ANTLR 4 along with +// utility methods for analyzing configuration sets for conflicts and/or +// ambiguities. + +const ( + // PredictionModeSLL represents the SLL(*) prediction mode. + // This prediction mode ignores the current + // parser context when making predictions. This is the fastest prediction + // mode, and provides correct results for many grammars. This prediction + // mode is more powerful than the prediction mode provided by ANTLR 3, but + // may result in syntax errors for grammar and input combinations which are + // not SLL. + // + // When using this prediction mode, the parser will either return a correct + // parse tree (i.e. the same parse tree that would be returned with the + // [PredictionModeLL] prediction mode), or it will Report a syntax error. If a + // syntax error is encountered when using the SLL prediction mode, + // it may be due to either an actual syntax error in the input or indicate + // that the particular combination of grammar and input requires the more + // powerful LL prediction abilities to complete successfully. + // + // This prediction mode does not provide any guarantees for prediction + // behavior for syntactically-incorrect inputs. + // + PredictionModeSLL = 0 + + // PredictionModeLL represents the LL(*) prediction mode. + // This prediction mode allows the current parser + // context to be used for resolving SLL conflicts that occur during + // prediction. This is the fastest prediction mode that guarantees correct + // parse results for all combinations of grammars with syntactically correct + // inputs. + // + // When using this prediction mode, the parser will make correct decisions + // for all syntactically-correct grammar and input combinations. However, in + // cases where the grammar is truly ambiguous this prediction mode might not + // report a precise answer for exactly which alternatives are + // ambiguous. + // + // This prediction mode does not provide any guarantees for prediction + // behavior for syntactically-incorrect inputs. + // + PredictionModeLL = 1 + + // PredictionModeLLExactAmbigDetection represents the LL(*) prediction mode + // with exact ambiguity detection. + // + // In addition to the correctness guarantees provided by the [PredictionModeLL] prediction mode, + // this prediction mode instructs the prediction algorithm to determine the + // complete and exact set of ambiguous alternatives for every ambiguous + // decision encountered while parsing. + // + // This prediction mode may be used for diagnosing ambiguities during + // grammar development. Due to the performance overhead of calculating sets + // of ambiguous alternatives, this prediction mode should be avoided when + // the exact results are not necessary. + // + // This prediction mode does not provide any guarantees for prediction + // behavior for syntactically-incorrect inputs. + // + PredictionModeLLExactAmbigDetection = 2 +) + +// PredictionModehasSLLConflictTerminatingPrediction computes the SLL prediction termination condition. +// +// This method computes the SLL prediction termination condition for both of +// the following cases: +// +// - The usual SLL+LL fallback upon SLL conflict +// - Pure SLL without LL fallback +// +// # Combined SLL+LL Parsing +// +// When LL-fallback is enabled upon SLL conflict, correct predictions are +// ensured regardless of how the termination condition is computed by this +// method. Due to the substantially higher cost of LL prediction, the +// prediction should only fall back to LL when the additional lookahead +// cannot lead to a unique SLL prediction. +// +// Assuming combined SLL+LL parsing, an SLL configuration set with only +// conflicting subsets should fall back to full LL, even if the +// configuration sets don't resolve to the same alternative, e.g. +// +// {1,2} and {3,4} +// +// If there is at least one non-conflicting +// configuration, SLL could continue with the hopes that more lookahead will +// resolve via one of those non-conflicting configurations. +// +// Here's the prediction termination rule them: SLL (for SLL+LL parsing) +// stops when it sees only conflicting configuration subsets. In contrast, +// full LL keeps going when there is uncertainty. +// +// # Heuristic +// +// As a heuristic, we stop prediction when we see any conflicting subset +// unless we see a state that only has one alternative associated with it. +// The single-alt-state thing lets prediction continue upon rules like +// (otherwise, it would admit defeat too soon): +// +// [12|1|[], 6|2|[], 12|2|[]]. s : (ID | ID ID?) ; +// +// When the [ATN] simulation reaches the state before ';', it has a +// [DFA] state that looks like: +// +// [12|1|[], 6|2|[], 12|2|[]] +// +// Naturally +// +// 12|1|[] and 12|2|[] +// +// conflict, but we cannot stop processing this node because alternative to has another way to continue, +// via +// +// [6|2|[]] +// +// It also let's us continue for this rule: +// +// [1|1|[], 1|2|[], 8|3|[]] a : A | A | A B ; +// +// After Matching input A, we reach the stop state for rule A, state 1. +// State 8 is the state immediately before B. Clearly alternatives 1 and 2 +// conflict and no amount of further lookahead will separate the two. +// However, alternative 3 will be able to continue, and so we do not stop +// working on this state. In the previous example, we're concerned with +// states associated with the conflicting alternatives. Here alt 3 is not +// associated with the conflicting configs, but since we can continue +// looking for input reasonably, don't declare the state done. +// +// # Pure SLL Parsing +// +// To handle pure SLL parsing, all we have to do is make sure that we +// combine stack contexts for configurations that differ only by semantic +// predicate. From there, we can do the usual SLL termination heuristic. +// +// # Predicates in SLL+LL Parsing +// +// SLL decisions don't evaluate predicates until after they reach [DFA] stop +// states because they need to create the [DFA] cache that works in all +// semantic situations. In contrast, full LL evaluates predicates collected +// during start state computation, so it can ignore predicates thereafter. +// This means that SLL termination detection can totally ignore semantic +// predicates. +// +// Implementation-wise, [ATNConfigSet] combines stack contexts but not +// semantic predicate contexts, so we might see two configurations like the +// following: +// +// (s, 1, x, {}), (s, 1, x', {p}) +// +// Before testing these configurations against others, we have to merge +// x and x' (without modifying the existing configurations). +// For example, we test (x+x')==x” when looking for conflicts in +// the following configurations: +// +// (s, 1, x, {}), (s, 1, x', {p}), (s, 2, x”, {}) +// +// If the configuration set has predicates (as indicated by +// [ATNConfigSet.hasSemanticContext]), this algorithm makes a copy of +// the configurations to strip out all the predicates so that a standard +// [ATNConfigSet] will merge everything ignoring predicates. +func PredictionModehasSLLConflictTerminatingPrediction(mode int, configs *ATNConfigSet) bool { + + // Configs in rule stop states indicate reaching the end of the decision + // rule (local context) or end of start rule (full context). If all + // configs meet this condition, then none of the configurations is able + // to Match additional input, so we terminate prediction. + // + if PredictionModeallConfigsInRuleStopStates(configs) { + return true + } + + // pure SLL mode parsing + if mode == PredictionModeSLL { + // Don't bother with combining configs from different semantic + // contexts if we can fail over to full LL costs more time + // since we'll often fail over anyway. + if configs.hasSemanticContext { + // dup configs, tossing out semantic predicates + dup := NewATNConfigSet(false) + for _, c := range configs.configs { + + // NewATNConfig({semanticContext:}, c) + c = NewATNConfig2(c, SemanticContextNone) + dup.Add(c, nil) + } + configs = dup + } + // now we have combined contexts for configs with dissimilar predicates + } + // pure SLL or combined SLL+LL mode parsing + altsets := PredictionModegetConflictingAltSubsets(configs) + return PredictionModehasConflictingAltSet(altsets) && !PredictionModehasStateAssociatedWithOneAlt(configs) +} + +// PredictionModehasConfigInRuleStopState checks if any configuration in the given configs is in a +// [RuleStopState]. Configurations meeting this condition have reached +// the end of the decision rule (local context) or end of start rule (full +// context). +// +// The func returns true if any configuration in the supplied configs is in a [RuleStopState] +func PredictionModehasConfigInRuleStopState(configs *ATNConfigSet) bool { + for _, c := range configs.configs { + if _, ok := c.GetState().(*RuleStopState); ok { + return true + } + } + return false +} + +// PredictionModeallConfigsInRuleStopStates checks if all configurations in configs are in a +// [RuleStopState]. Configurations meeting this condition have reached +// the end of the decision rule (local context) or end of start rule (full +// context). +// +// the func returns true if all configurations in configs are in a +// [RuleStopState] +func PredictionModeallConfigsInRuleStopStates(configs *ATNConfigSet) bool { + + for _, c := range configs.configs { + if _, ok := c.GetState().(*RuleStopState); !ok { + return false + } + } + return true +} + +// PredictionModeresolvesToJustOneViableAlt checks full LL prediction termination. +// +// Can we stop looking ahead during [ATN] simulation or is there some +// uncertainty as to which alternative we will ultimately pick, after +// consuming more input? Even if there are partial conflicts, we might know +// that everything is going to resolve to the same minimum alternative. That +// means we can stop since no more lookahead will change that fact. On the +// other hand, there might be multiple conflicts that resolve to different +// minimums. That means we need more look ahead to decide which of those +// alternatives we should predict. +// +// The basic idea is to split the set of configurations 'C', into +// conflicting subsets (s, _, ctx, _) and singleton subsets with +// non-conflicting configurations. Two configurations conflict if they have +// identical [ATNConfig].state and [ATNConfig].context values +// but a different [ATNConfig].alt value, e.g. +// +// (s, i, ctx, _) +// +// and +// +// (s, j, ctx, _) ; for i != j +// +// Reduce these configuration subsets to the set of possible alternatives. +// You can compute the alternative subsets in one pass as follows: +// +// A_s,ctx = {i | (s, i, ctx, _)} +// +// for each configuration in C holding s and ctx fixed. +// +// Or in pseudo-code: +// +// for each configuration c in C: +// map[c] U = c.ATNConfig.alt alt // map hash/equals uses s and x, not alt and not pred +// +// The values in map are the set of +// +// A_s,ctx +// +// sets. +// +// If +// +// |A_s,ctx| = 1 +// +// then there is no conflict associated with s and ctx. +// +// Reduce the subsets to singletons by choosing a minimum of each subset. If +// the union of these alternative subsets is a singleton, then no amount of +// further lookahead will help us. We will always pick that alternative. If, +// however, there is more than one alternative, then we are uncertain which +// alternative to predict and must continue looking for resolution. We may +// or may not discover an ambiguity in the future, even if there are no +// conflicting subsets this round. +// +// The biggest sin is to terminate early because it means we've made a +// decision but were uncertain as to the eventual outcome. We haven't used +// enough lookahead. On the other hand, announcing a conflict too late is no +// big deal; you will still have the conflict. It's just inefficient. It +// might even look until the end of file. +// +// No special consideration for semantic predicates is required because +// predicates are evaluated on-the-fly for full LL prediction, ensuring that +// no configuration contains a semantic context during the termination +// check. +// +// # Conflicting Configs +// +// Two configurations: +// +// (s, i, x) and (s, j, x') +// +// conflict when i != j but x = x'. Because we merge all +// (s, i, _) configurations together, that means that there are at +// most n configurations associated with state s for +// n possible alternatives in the decision. The merged stacks +// complicate the comparison of configuration contexts x and x'. +// +// Sam checks to see if one is a subset of the other by calling +// merge and checking to see if the merged result is either x or x'. +// If the x associated with lowest alternative i +// is the superset, then i is the only possible prediction since the +// others resolve to min(i) as well. However, if x is +// associated with j > i then at least one stack configuration for +// j is not in conflict with alternative i. The algorithm +// should keep going, looking for more lookahead due to the uncertainty. +// +// For simplicity, I'm doing an equality check between x and +// x', which lets the algorithm continue to consume lookahead longer +// than necessary. The reason I like the equality is of course the +// simplicity but also because that is the test you need to detect the +// alternatives that are actually in conflict. +// +// # Continue/Stop Rule +// +// Continue if the union of resolved alternative sets from non-conflicting and +// conflicting alternative subsets has more than one alternative. We are +// uncertain about which alternative to predict. +// +// The complete set of alternatives, +// +// [i for (_, i, _)] +// +// tells us which alternatives are still in the running for the amount of input we've +// consumed at this point. The conflicting sets let us to strip away +// configurations that won't lead to more states because we resolve +// conflicts to the configuration with a minimum alternate for the +// conflicting set. +// +// Cases +// +// - no conflicts and more than 1 alternative in set => continue +// - (s, 1, x), (s, 2, x), (s, 3, z), (s', 1, y), (s', 2, y) yields non-conflicting set +// {3} ∪ conflicting sets min({1,2}) ∪ min({1,2}) = {1,3} => continue +// - (s, 1, x), (s, 2, x), (s', 1, y), (s', 2, y), (s”, 1, z) yields non-conflicting set +// {1} ∪ conflicting sets min({1,2}) ∪ min({1,2}) = {1} => stop and predict 1 +// - (s, 1, x), (s, 2, x), (s', 1, y), (s', 2, y) yields conflicting, reduced sets +// {1} ∪ {1} = {1} => stop and predict 1, can announce ambiguity {1,2} +// - (s, 1, x), (s, 2, x), (s', 2, y), (s', 3, y) yields conflicting, reduced sets +// {1} ∪ {2} = {1,2} => continue +// - (s, 1, x), (s, 2, x), (s', 2, y), (s', 3, y) yields conflicting, reduced sets +// {1} ∪ {2} = {1,2} => continue +// - (s, 1, x), (s, 2, x), (s', 3, y), (s', 4, y) yields conflicting, reduced sets +// {1} ∪ {3} = {1,3} => continue +// +// # Exact Ambiguity Detection +// +// If all states report the same conflicting set of alternatives, then we +// know we have the exact ambiguity set: +// +// |A_i| > 1 +// +// and +// +// A_i = A_j ; for all i, j +// +// In other words, we continue examining lookahead until all A_i +// have more than one alternative and all A_i are the same. If +// +// A={{1,2}, {1,3}} +// +// then regular LL prediction would terminate because the resolved set is {1}. +// To determine what the real ambiguity is, we have to know whether the ambiguity is between one and +// two or one and three so we keep going. We can only stop prediction when +// we need exact ambiguity detection when the sets look like: +// +// A={{1,2}} +// +// or +// +// {{1,2},{1,2}}, etc... +func PredictionModeresolvesToJustOneViableAlt(altsets []*BitSet) int { + return PredictionModegetSingleViableAlt(altsets) +} + +// PredictionModeallSubsetsConflict determines if every alternative subset in altsets contains more +// than one alternative. +// +// The func returns true if every [BitSet] in altsets has +// [BitSet].cardinality cardinality > 1 +func PredictionModeallSubsetsConflict(altsets []*BitSet) bool { + return !PredictionModehasNonConflictingAltSet(altsets) +} + +// PredictionModehasNonConflictingAltSet determines if any single alternative subset in altsets contains +// exactly one alternative. +// +// The func returns true if altsets contains at least one [BitSet] with +// [BitSet].cardinality cardinality 1 +func PredictionModehasNonConflictingAltSet(altsets []*BitSet) bool { + for i := 0; i < len(altsets); i++ { + alts := altsets[i] + if alts.length() == 1 { + return true + } + } + return false +} + +// PredictionModehasConflictingAltSet determines if any single alternative subset in altsets contains +// more than one alternative. +// +// The func returns true if altsets contains a [BitSet] with +// [BitSet].cardinality cardinality > 1, otherwise false +func PredictionModehasConflictingAltSet(altsets []*BitSet) bool { + for i := 0; i < len(altsets); i++ { + alts := altsets[i] + if alts.length() > 1 { + return true + } + } + return false +} + +// PredictionModeallSubsetsEqual determines if every alternative subset in altsets is equivalent. +// +// The func returns true if every member of altsets is equal to the others. +func PredictionModeallSubsetsEqual(altsets []*BitSet) bool { + var first *BitSet + + for i := 0; i < len(altsets); i++ { + alts := altsets[i] + if first == nil { + first = alts + } else if alts != first { + return false + } + } + + return true +} + +// PredictionModegetUniqueAlt returns the unique alternative predicted by all alternative subsets in +// altsets. If no such alternative exists, this method returns +// [ATNInvalidAltNumber]. +// +// @param altsets a collection of alternative subsets +func PredictionModegetUniqueAlt(altsets []*BitSet) int { + all := PredictionModeGetAlts(altsets) + if all.length() == 1 { + return all.minValue() + } + + return ATNInvalidAltNumber +} + +// PredictionModeGetAlts returns the complete set of represented alternatives for a collection of +// alternative subsets. This method returns the union of each [BitSet] +// in altsets, being the set of represented alternatives in altsets. +func PredictionModeGetAlts(altsets []*BitSet) *BitSet { + all := NewBitSet() + for _, alts := range altsets { + all.or(alts) + } + return all +} + +// PredictionModegetConflictingAltSubsets gets the conflicting alt subsets from a configuration set. +// +// for each configuration c in configs: +// map[c] U= c.ATNConfig.alt // map hash/equals uses s and x, not alt and not pred +func PredictionModegetConflictingAltSubsets(configs *ATNConfigSet) []*BitSet { + configToAlts := NewJMap[*ATNConfig, *BitSet, *ATNAltConfigComparator[*ATNConfig]](atnAltCfgEqInst, AltSetCollection, "PredictionModegetConflictingAltSubsets()") + + for _, c := range configs.configs { + + alts, ok := configToAlts.Get(c) + if !ok { + alts = NewBitSet() + configToAlts.Put(c, alts) + } + alts.add(c.GetAlt()) + } + + return configToAlts.Values() +} + +// PredictionModeGetStateToAltMap gets a map from state to alt subset from a configuration set. +// +// for each configuration c in configs: +// map[c.ATNConfig.state] U= c.ATNConfig.alt} +func PredictionModeGetStateToAltMap(configs *ATNConfigSet) *AltDict { + m := NewAltDict() + + for _, c := range configs.configs { + alts := m.Get(c.GetState().String()) + if alts == nil { + alts = NewBitSet() + m.put(c.GetState().String(), alts) + } + alts.(*BitSet).add(c.GetAlt()) + } + return m +} + +func PredictionModehasStateAssociatedWithOneAlt(configs *ATNConfigSet) bool { + values := PredictionModeGetStateToAltMap(configs).values() + for i := 0; i < len(values); i++ { + if values[i].(*BitSet).length() == 1 { + return true + } + } + return false +} + +// PredictionModegetSingleViableAlt gets the single alternative predicted by all alternative subsets in altsets +// if there is one. +// +// TODO: JI - Review this code - it does not seem to do the same thing as the Java code - maybe because [BitSet] is not like the Java utils BitSet +func PredictionModegetSingleViableAlt(altsets []*BitSet) int { + result := ATNInvalidAltNumber + + for i := 0; i < len(altsets); i++ { + alts := altsets[i] + minAlt := alts.minValue() + if result == ATNInvalidAltNumber { + result = minAlt + } else if result != minAlt { // more than 1 viable alt + return ATNInvalidAltNumber + } + } + return result +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/recognizer.go b/vendor/github.com/antlr4-go/antlr/v4/recognizer.go new file mode 100644 index 000000000..2e0b504fb --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/recognizer.go @@ -0,0 +1,241 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "fmt" + "strings" + + "strconv" +) + +type Recognizer interface { + GetLiteralNames() []string + GetSymbolicNames() []string + GetRuleNames() []string + + Sempred(RuleContext, int, int) bool + Precpred(RuleContext, int) bool + + GetState() int + SetState(int) + Action(RuleContext, int, int) + AddErrorListener(ErrorListener) + RemoveErrorListeners() + GetATN() *ATN + GetErrorListenerDispatch() ErrorListener + HasError() bool + GetError() RecognitionException + SetError(RecognitionException) +} + +type BaseRecognizer struct { + listeners []ErrorListener + state int + + RuleNames []string + LiteralNames []string + SymbolicNames []string + GrammarFileName string + SynErr RecognitionException +} + +func NewBaseRecognizer() *BaseRecognizer { + rec := new(BaseRecognizer) + rec.listeners = []ErrorListener{ConsoleErrorListenerINSTANCE} + rec.state = -1 + return rec +} + +//goland:noinspection GoUnusedGlobalVariable +var tokenTypeMapCache = make(map[string]int) + +//goland:noinspection GoUnusedGlobalVariable +var ruleIndexMapCache = make(map[string]int) + +func (b *BaseRecognizer) checkVersion(toolVersion string) { + runtimeVersion := "4.12.0" + if runtimeVersion != toolVersion { + fmt.Println("ANTLR runtime and generated code versions disagree: " + runtimeVersion + "!=" + toolVersion) + } +} + +func (b *BaseRecognizer) SetError(err RecognitionException) { + b.SynErr = err +} + +func (b *BaseRecognizer) HasError() bool { + return b.SynErr != nil +} + +func (b *BaseRecognizer) GetError() RecognitionException { + return b.SynErr +} + +func (b *BaseRecognizer) Action(_ RuleContext, _, _ int) { + panic("action not implemented on Recognizer!") +} + +func (b *BaseRecognizer) AddErrorListener(listener ErrorListener) { + b.listeners = append(b.listeners, listener) +} + +func (b *BaseRecognizer) RemoveErrorListeners() { + b.listeners = make([]ErrorListener, 0) +} + +func (b *BaseRecognizer) GetRuleNames() []string { + return b.RuleNames +} + +func (b *BaseRecognizer) GetTokenNames() []string { + return b.LiteralNames +} + +func (b *BaseRecognizer) GetSymbolicNames() []string { + return b.SymbolicNames +} + +func (b *BaseRecognizer) GetLiteralNames() []string { + return b.LiteralNames +} + +func (b *BaseRecognizer) GetState() int { + return b.state +} + +func (b *BaseRecognizer) SetState(v int) { + b.state = v +} + +//func (b *Recognizer) GetTokenTypeMap() { +// var tokenNames = b.GetTokenNames() +// if (tokenNames==nil) { +// panic("The current recognizer does not provide a list of token names.") +// } +// var result = tokenTypeMapCache[tokenNames] +// if(result==nil) { +// result = tokenNames.reduce(function(o, k, i) { o[k] = i }) +// result.EOF = TokenEOF +// tokenTypeMapCache[tokenNames] = result +// } +// return result +//} + +// GetRuleIndexMap Get a map from rule names to rule indexes. +// +// Used for XPath and tree pattern compilation. +// +// TODO: JI This is not yet implemented in the Go runtime. Maybe not needed. +func (b *BaseRecognizer) GetRuleIndexMap() map[string]int { + + panic("Method not defined!") + // var ruleNames = b.GetRuleNames() + // if (ruleNames==nil) { + // panic("The current recognizer does not provide a list of rule names.") + // } + // + // var result = ruleIndexMapCache[ruleNames] + // if(result==nil) { + // result = ruleNames.reduce(function(o, k, i) { o[k] = i }) + // ruleIndexMapCache[ruleNames] = result + // } + // return result +} + +// GetTokenType get the token type based upon its name +func (b *BaseRecognizer) GetTokenType(_ string) int { + panic("Method not defined!") + // var ttype = b.GetTokenTypeMap()[tokenName] + // if (ttype !=nil) { + // return ttype + // } else { + // return TokenInvalidType + // } +} + +//func (b *Recognizer) GetTokenTypeMap() map[string]int { +// Vocabulary vocabulary = getVocabulary() +// +// Synchronized (tokenTypeMapCache) { +// Map result = tokenTypeMapCache.Get(vocabulary) +// if (result == null) { +// result = new HashMap() +// for (int i = 0; i < GetATN().maxTokenType; i++) { +// String literalName = vocabulary.getLiteralName(i) +// if (literalName != null) { +// result.put(literalName, i) +// } +// +// String symbolicName = vocabulary.GetSymbolicName(i) +// if (symbolicName != null) { +// result.put(symbolicName, i) +// } +// } +// +// result.put("EOF", Token.EOF) +// result = Collections.unmodifiableMap(result) +// tokenTypeMapCache.put(vocabulary, result) +// } +// +// return result +// } +//} + +// GetErrorHeader returns the error header, normally line/character position information. +// +// Can be overridden in sub structs embedding BaseRecognizer. +func (b *BaseRecognizer) GetErrorHeader(e RecognitionException) string { + line := e.GetOffendingToken().GetLine() + column := e.GetOffendingToken().GetColumn() + return "line " + strconv.Itoa(line) + ":" + strconv.Itoa(column) +} + +// GetTokenErrorDisplay shows how a token should be displayed in an error message. +// +// The default is to display just the text, but during development you might +// want to have a lot of information spit out. Override in that case +// to use t.String() (which, for CommonToken, dumps everything about +// the token). This is better than forcing you to override a method in +// your token objects because you don't have to go modify your lexer +// so that it creates a NewJava type. +// +// Deprecated: This method is not called by the ANTLR 4 Runtime. Specific +// implementations of [ANTLRErrorStrategy] may provide a similar +// feature when necessary. For example, see [DefaultErrorStrategy].GetTokenErrorDisplay() +func (b *BaseRecognizer) GetTokenErrorDisplay(t Token) string { + if t == nil { + return "" + } + s := t.GetText() + if s == "" { + if t.GetTokenType() == TokenEOF { + s = "" + } else { + s = "<" + strconv.Itoa(t.GetTokenType()) + ">" + } + } + s = strings.Replace(s, "\t", "\\t", -1) + s = strings.Replace(s, "\n", "\\n", -1) + s = strings.Replace(s, "\r", "\\r", -1) + + return "'" + s + "'" +} + +func (b *BaseRecognizer) GetErrorListenerDispatch() ErrorListener { + return NewProxyErrorListener(b.listeners) +} + +// Sempred embedding structs need to override this if there are sempreds or actions +// that the ATN interpreter needs to execute +func (b *BaseRecognizer) Sempred(_ RuleContext, _ int, _ int) bool { + return true +} + +// Precpred embedding structs need to override this if there are preceding predicates +// that the ATN interpreter needs to execute +func (b *BaseRecognizer) Precpred(_ RuleContext, _ int) bool { + return true +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/rule_context.go b/vendor/github.com/antlr4-go/antlr/v4/rule_context.go new file mode 100644 index 000000000..f2ad04793 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/rule_context.go @@ -0,0 +1,40 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +// RuleContext is a record of a single rule invocation. It knows +// which context invoked it, if any. If there is no parent context, then +// naturally the invoking state is not valid. The parent link +// provides a chain upwards from the current rule invocation to the root +// of the invocation tree, forming a stack. +// +// We actually carry no information about the rule associated with this context (except +// when parsing). We keep only the state number of the invoking state from +// the [ATN] submachine that invoked this. Contrast this with the s +// pointer inside [ParserRuleContext] that tracks the current state +// being "executed" for the current rule. +// +// The parent contexts are useful for computing lookahead sets and +// getting error information. +// +// These objects are used during parsing and prediction. +// For the special case of parsers, we use the struct +// [ParserRuleContext], which embeds a RuleContext. +// +// @see ParserRuleContext +type RuleContext interface { + RuleNode + + GetInvokingState() int + SetInvokingState(int) + + GetRuleIndex() int + IsEmpty() bool + + GetAltNumber() int + SetAltNumber(altNumber int) + + String([]string, RuleContext) string +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/semantic_context.go b/vendor/github.com/antlr4-go/antlr/v4/semantic_context.go new file mode 100644 index 000000000..68cb9061e --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/semantic_context.go @@ -0,0 +1,464 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "fmt" + "strconv" +) + +// SemanticContext is a tree structure used to record the semantic context in which +// +// an ATN configuration is valid. It's either a single predicate, +// a conjunction p1 && p2, or a sum of products p1 || p2. +// +// I have scoped the AND, OR, and Predicate subclasses of +// [SemanticContext] within the scope of this outer ``class'' +type SemanticContext interface { + Equals(other Collectable[SemanticContext]) bool + Hash() int + + evaluate(parser Recognizer, outerContext RuleContext) bool + evalPrecedence(parser Recognizer, outerContext RuleContext) SemanticContext + + String() string +} + +func SemanticContextandContext(a, b SemanticContext) SemanticContext { + if a == nil || a == SemanticContextNone { + return b + } + if b == nil || b == SemanticContextNone { + return a + } + result := NewAND(a, b) + if len(result.opnds) == 1 { + return result.opnds[0] + } + + return result +} + +func SemanticContextorContext(a, b SemanticContext) SemanticContext { + if a == nil { + return b + } + if b == nil { + return a + } + if a == SemanticContextNone || b == SemanticContextNone { + return SemanticContextNone + } + result := NewOR(a, b) + if len(result.opnds) == 1 { + return result.opnds[0] + } + + return result +} + +type Predicate struct { + ruleIndex int + predIndex int + isCtxDependent bool +} + +func NewPredicate(ruleIndex, predIndex int, isCtxDependent bool) *Predicate { + p := new(Predicate) + + p.ruleIndex = ruleIndex + p.predIndex = predIndex + p.isCtxDependent = isCtxDependent // e.g., $i ref in pred + return p +} + +//The default {@link SemanticContext}, which is semantically equivalent to +//a predicate of the form {@code {true}?}. + +var SemanticContextNone = NewPredicate(-1, -1, false) + +func (p *Predicate) evalPrecedence(_ Recognizer, _ RuleContext) SemanticContext { + return p +} + +func (p *Predicate) evaluate(parser Recognizer, outerContext RuleContext) bool { + + var localctx RuleContext + + if p.isCtxDependent { + localctx = outerContext + } + + return parser.Sempred(localctx, p.ruleIndex, p.predIndex) +} + +func (p *Predicate) Equals(other Collectable[SemanticContext]) bool { + if p == other { + return true + } else if _, ok := other.(*Predicate); !ok { + return false + } else { + return p.ruleIndex == other.(*Predicate).ruleIndex && + p.predIndex == other.(*Predicate).predIndex && + p.isCtxDependent == other.(*Predicate).isCtxDependent + } +} + +func (p *Predicate) Hash() int { + h := murmurInit(0) + h = murmurUpdate(h, p.ruleIndex) + h = murmurUpdate(h, p.predIndex) + if p.isCtxDependent { + h = murmurUpdate(h, 1) + } else { + h = murmurUpdate(h, 0) + } + return murmurFinish(h, 3) +} + +func (p *Predicate) String() string { + return "{" + strconv.Itoa(p.ruleIndex) + ":" + strconv.Itoa(p.predIndex) + "}?" +} + +type PrecedencePredicate struct { + precedence int +} + +func NewPrecedencePredicate(precedence int) *PrecedencePredicate { + + p := new(PrecedencePredicate) + p.precedence = precedence + + return p +} + +func (p *PrecedencePredicate) evaluate(parser Recognizer, outerContext RuleContext) bool { + return parser.Precpred(outerContext, p.precedence) +} + +func (p *PrecedencePredicate) evalPrecedence(parser Recognizer, outerContext RuleContext) SemanticContext { + if parser.Precpred(outerContext, p.precedence) { + return SemanticContextNone + } + + return nil +} + +func (p *PrecedencePredicate) compareTo(other *PrecedencePredicate) int { + return p.precedence - other.precedence +} + +func (p *PrecedencePredicate) Equals(other Collectable[SemanticContext]) bool { + + var op *PrecedencePredicate + var ok bool + if op, ok = other.(*PrecedencePredicate); !ok { + return false + } + + if p == op { + return true + } + + return p.precedence == other.(*PrecedencePredicate).precedence +} + +func (p *PrecedencePredicate) Hash() int { + h := uint32(1) + h = 31*h + uint32(p.precedence) + return int(h) +} + +func (p *PrecedencePredicate) String() string { + return "{" + strconv.Itoa(p.precedence) + ">=prec}?" +} + +func PrecedencePredicatefilterPrecedencePredicates(set *JStore[SemanticContext, Comparator[SemanticContext]]) []*PrecedencePredicate { + result := make([]*PrecedencePredicate, 0) + + set.Each(func(v SemanticContext) bool { + if c2, ok := v.(*PrecedencePredicate); ok { + result = append(result, c2) + } + return true + }) + + return result +} + +// A semantic context which is true whenever none of the contained contexts +// is false.` + +type AND struct { + opnds []SemanticContext +} + +func NewAND(a, b SemanticContext) *AND { + + operands := NewJStore[SemanticContext, Comparator[SemanticContext]](semctxEqInst, SemanticContextCollection, "NewAND() operands") + if aa, ok := a.(*AND); ok { + for _, o := range aa.opnds { + operands.Put(o) + } + } else { + operands.Put(a) + } + + if ba, ok := b.(*AND); ok { + for _, o := range ba.opnds { + operands.Put(o) + } + } else { + operands.Put(b) + } + precedencePredicates := PrecedencePredicatefilterPrecedencePredicates(operands) + if len(precedencePredicates) > 0 { + // interested in the transition with the lowest precedence + var reduced *PrecedencePredicate + + for _, p := range precedencePredicates { + if reduced == nil || p.precedence < reduced.precedence { + reduced = p + } + } + + operands.Put(reduced) + } + + vs := operands.Values() + opnds := make([]SemanticContext, len(vs)) + copy(opnds, vs) + + and := new(AND) + and.opnds = opnds + + return and +} + +func (a *AND) Equals(other Collectable[SemanticContext]) bool { + if a == other { + return true + } + if _, ok := other.(*AND); !ok { + return false + } else { + for i, v := range other.(*AND).opnds { + if !a.opnds[i].Equals(v) { + return false + } + } + return true + } +} + +// {@inheritDoc} +// +//

+// The evaluation of predicates by a context is short-circuiting, but +// unordered.

+func (a *AND) evaluate(parser Recognizer, outerContext RuleContext) bool { + for i := 0; i < len(a.opnds); i++ { + if !a.opnds[i].evaluate(parser, outerContext) { + return false + } + } + return true +} + +func (a *AND) evalPrecedence(parser Recognizer, outerContext RuleContext) SemanticContext { + differs := false + operands := make([]SemanticContext, 0) + + for i := 0; i < len(a.opnds); i++ { + context := a.opnds[i] + evaluated := context.evalPrecedence(parser, outerContext) + differs = differs || (evaluated != context) + if evaluated == nil { + // The AND context is false if any element is false + return nil + } else if evaluated != SemanticContextNone { + // Reduce the result by Skipping true elements + operands = append(operands, evaluated) + } + } + if !differs { + return a + } + + if len(operands) == 0 { + // all elements were true, so the AND context is true + return SemanticContextNone + } + + var result SemanticContext + + for _, o := range operands { + if result == nil { + result = o + } else { + result = SemanticContextandContext(result, o) + } + } + + return result +} + +func (a *AND) Hash() int { + h := murmurInit(37) // Init with a value different from OR + for _, op := range a.opnds { + h = murmurUpdate(h, op.Hash()) + } + return murmurFinish(h, len(a.opnds)) +} + +func (o *OR) Hash() int { + h := murmurInit(41) // Init with o value different from AND + for _, op := range o.opnds { + h = murmurUpdate(h, op.Hash()) + } + return murmurFinish(h, len(o.opnds)) +} + +func (a *AND) String() string { + s := "" + + for _, o := range a.opnds { + s += "&& " + fmt.Sprint(o) + } + + if len(s) > 3 { + return s[0:3] + } + + return s +} + +// +// A semantic context which is true whenever at least one of the contained +// contexts is true. +// + +type OR struct { + opnds []SemanticContext +} + +func NewOR(a, b SemanticContext) *OR { + + operands := NewJStore[SemanticContext, Comparator[SemanticContext]](semctxEqInst, SemanticContextCollection, "NewOR() operands") + if aa, ok := a.(*OR); ok { + for _, o := range aa.opnds { + operands.Put(o) + } + } else { + operands.Put(a) + } + + if ba, ok := b.(*OR); ok { + for _, o := range ba.opnds { + operands.Put(o) + } + } else { + operands.Put(b) + } + precedencePredicates := PrecedencePredicatefilterPrecedencePredicates(operands) + if len(precedencePredicates) > 0 { + // interested in the transition with the lowest precedence + var reduced *PrecedencePredicate + + for _, p := range precedencePredicates { + if reduced == nil || p.precedence > reduced.precedence { + reduced = p + } + } + + operands.Put(reduced) + } + + vs := operands.Values() + + opnds := make([]SemanticContext, len(vs)) + copy(opnds, vs) + + o := new(OR) + o.opnds = opnds + + return o +} + +func (o *OR) Equals(other Collectable[SemanticContext]) bool { + if o == other { + return true + } else if _, ok := other.(*OR); !ok { + return false + } else { + for i, v := range other.(*OR).opnds { + if !o.opnds[i].Equals(v) { + return false + } + } + return true + } +} + +//

+// The evaluation of predicates by o context is short-circuiting, but +// unordered.

+func (o *OR) evaluate(parser Recognizer, outerContext RuleContext) bool { + for i := 0; i < len(o.opnds); i++ { + if o.opnds[i].evaluate(parser, outerContext) { + return true + } + } + return false +} + +func (o *OR) evalPrecedence(parser Recognizer, outerContext RuleContext) SemanticContext { + differs := false + operands := make([]SemanticContext, 0) + for i := 0; i < len(o.opnds); i++ { + context := o.opnds[i] + evaluated := context.evalPrecedence(parser, outerContext) + differs = differs || (evaluated != context) + if evaluated == SemanticContextNone { + // The OR context is true if any element is true + return SemanticContextNone + } else if evaluated != nil { + // Reduce the result by Skipping false elements + operands = append(operands, evaluated) + } + } + if !differs { + return o + } + if len(operands) == 0 { + // all elements were false, so the OR context is false + return nil + } + var result SemanticContext + + for _, o := range operands { + if result == nil { + result = o + } else { + result = SemanticContextorContext(result, o) + } + } + + return result +} + +func (o *OR) String() string { + s := "" + + for _, o := range o.opnds { + s += "|| " + fmt.Sprint(o) + } + + if len(s) > 3 { + return s[0:3] + } + + return s +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/statistics.go b/vendor/github.com/antlr4-go/antlr/v4/statistics.go new file mode 100644 index 000000000..70c0673a0 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/statistics.go @@ -0,0 +1,281 @@ +//go:build antlr.stats + +package antlr + +import ( + "fmt" + "log" + "os" + "path/filepath" + "sort" + "strconv" + "sync" +) + +// This file allows the user to collect statistics about the runtime of the ANTLR runtime. It is not enabled by default +// and so incurs no time penalty. To enable it, you must build the runtime with the antlr.stats build tag. +// + +// Tells various components to collect statistics - because it is only true when this file is included, it will +// allow the compiler to completely eliminate all the code that is only used when collecting statistics. +const collectStats = true + +// goRunStats is a collection of all the various data the ANTLR runtime has collected about a particular run. +// It is exported so that it can be used by others to look for things that are not already looked for in the +// runtime statistics. +type goRunStats struct { + + // jStats is a slice of all the [JStatRec] records that have been created, which is one for EVERY collection created + // during a run. It is exported so that it can be used by others to look for things that are not already looked for + // within this package. + // + jStats []*JStatRec + jStatsLock sync.RWMutex + topN int + topNByMax []*JStatRec + topNByUsed []*JStatRec + unusedCollections map[CollectionSource]int + counts map[CollectionSource]int +} + +const ( + collectionsFile = "collections" +) + +var ( + Statistics = &goRunStats{ + topN: 10, + } +) + +type statsOption func(*goRunStats) error + +// Configure allows the statistics system to be configured as the user wants and override the defaults +func (s *goRunStats) Configure(options ...statsOption) error { + for _, option := range options { + err := option(s) + if err != nil { + return err + } + } + return nil +} + +// WithTopN sets the number of things to list in the report when we are concerned with the top N things. +// +// For example, if you want to see the top 20 collections by size, you can do: +// +// antlr.Statistics.Configure(antlr.WithTopN(20)) +func WithTopN(topN int) statsOption { + return func(s *goRunStats) error { + s.topN = topN + return nil + } +} + +// Analyze looks through all the statistical records and computes all the outputs that might be useful to the user. +// +// The function gathers and analyzes a number of statistics about any particular run of +// an ANTLR generated recognizer. In the vast majority of cases, the statistics are only +// useful to maintainers of ANTLR itself, but they can be useful to users as well. They may be +// especially useful in tracking down bugs or performance problems when an ANTLR user could +// supply the output from this package, but cannot supply the grammar file(s) they are using, even +// privately to the maintainers. +// +// The statistics are gathered by the runtime itself, and are not gathered by the parser or lexer, but the user +// must call this function their selves to analyze the statistics. This is because none of the infrastructure is +// extant unless the calling program is built with the antlr.stats tag like so: +// +// go build -tags antlr.stats . +// +// When a program is built with the antlr.stats tag, the Statistics object is created and available outside +// the package. The user can then call the [Statistics.Analyze] function to analyze the statistics and then call the +// [Statistics.Report] function to report the statistics. +// +// Please forward any questions about this package to the ANTLR discussion groups on GitHub or send to them to +// me [Jim Idle] directly at jimi@idle.ws +// +// [Jim Idle]: https:://github.com/jim-idle +func (s *goRunStats) Analyze() { + + // Look for anything that looks strange and record it in our local maps etc for the report to present it + // + s.CollectionAnomalies() + s.TopNCollections() +} + +// TopNCollections looks through all the statistical records and gathers the top ten collections by size. +func (s *goRunStats) TopNCollections() { + + // Let's sort the stat records by MaxSize + // + sort.Slice(s.jStats, func(i, j int) bool { + return s.jStats[i].MaxSize > s.jStats[j].MaxSize + }) + + for i := 0; i < len(s.jStats) && i < s.topN; i++ { + s.topNByMax = append(s.topNByMax, s.jStats[i]) + } + + // Sort by the number of times used + // + sort.Slice(s.jStats, func(i, j int) bool { + return s.jStats[i].Gets+s.jStats[i].Puts > s.jStats[j].Gets+s.jStats[j].Puts + }) + for i := 0; i < len(s.jStats) && i < s.topN; i++ { + s.topNByUsed = append(s.topNByUsed, s.jStats[i]) + } +} + +// Report dumps a markdown formatted report of all the statistics collected during a run to the given dir output +// path, which should represent a directory. Generated files will be prefixed with the given prefix and will be +// given a type name such as `anomalies` and a time stamp such as `2021-09-01T12:34:56` and a .md suffix. +func (s *goRunStats) Report(dir string, prefix string) error { + + isDir, err := isDirectory(dir) + switch { + case err != nil: + return err + case !isDir: + return fmt.Errorf("output directory `%s` is not a directory", dir) + } + s.reportCollections(dir, prefix) + + // Clean out any old data in case the user forgets + // + s.Reset() + return nil +} + +func (s *goRunStats) Reset() { + s.jStats = nil + s.topNByUsed = nil + s.topNByMax = nil +} + +func (s *goRunStats) reportCollections(dir, prefix string) { + cname := filepath.Join(dir, ".asciidoctor") + // If the file doesn't exist, create it, or append to the file + f, err := os.OpenFile(cname, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) + if err != nil { + log.Fatal(err) + } + _, _ = f.WriteString(`// .asciidoctorconfig +++++ + +++++`) + _ = f.Close() + + fname := filepath.Join(dir, prefix+"_"+"_"+collectionsFile+"_"+".adoc") + // If the file doesn't exist, create it, or append to the file + f, err = os.OpenFile(fname, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) + if err != nil { + log.Fatal(err) + } + defer func(f *os.File) { + err := f.Close() + if err != nil { + log.Fatal(err) + } + }(f) + _, _ = f.WriteString("= Collections for " + prefix + "\n\n") + + _, _ = f.WriteString("== Summary\n") + + if s.unusedCollections != nil { + _, _ = f.WriteString("=== Unused Collections\n") + _, _ = f.WriteString("Unused collections incur a penalty for allocation that makes them a candidate for either\n") + _, _ = f.WriteString(" removal or optimization. If you are using a collection that is not used, you should\n") + _, _ = f.WriteString(" consider removing it. If you are using a collection that is used, but not very often,\n") + _, _ = f.WriteString(" you should consider using lazy initialization to defer the allocation until it is\n") + _, _ = f.WriteString(" actually needed.\n\n") + + _, _ = f.WriteString("\n.Unused collections\n") + _, _ = f.WriteString(`[cols="<3,>1"]` + "\n\n") + _, _ = f.WriteString("|===\n") + _, _ = f.WriteString("| Type | Count\n") + + for k, v := range s.unusedCollections { + _, _ = f.WriteString("| " + CollectionDescriptors[k].SybolicName + " | " + strconv.Itoa(v) + "\n") + } + f.WriteString("|===\n\n") + } + + _, _ = f.WriteString("\n.Summary of Collections\n") + _, _ = f.WriteString(`[cols="<3,>1"]` + "\n\n") + _, _ = f.WriteString("|===\n") + _, _ = f.WriteString("| Type | Count\n") + for k, v := range s.counts { + _, _ = f.WriteString("| " + CollectionDescriptors[k].SybolicName + " | " + strconv.Itoa(v) + "\n") + } + _, _ = f.WriteString("| Total | " + strconv.Itoa(len(s.jStats)) + "\n") + _, _ = f.WriteString("|===\n\n") + + _, _ = f.WriteString("\n.Summary of Top " + strconv.Itoa(s.topN) + " Collections by MaxSize\n") + _, _ = f.WriteString(`[cols="<1,<3,>1,>1,>1,>1"]` + "\n\n") + _, _ = f.WriteString("|===\n") + _, _ = f.WriteString("| Source | Description | MaxSize | EndSize | Puts | Gets\n") + for _, c := range s.topNByMax { + _, _ = f.WriteString("| " + CollectionDescriptors[c.Source].SybolicName + "\n") + _, _ = f.WriteString("| " + c.Description + "\n") + _, _ = f.WriteString("| " + strconv.Itoa(c.MaxSize) + "\n") + _, _ = f.WriteString("| " + strconv.Itoa(c.CurSize) + "\n") + _, _ = f.WriteString("| " + strconv.Itoa(c.Puts) + "\n") + _, _ = f.WriteString("| " + strconv.Itoa(c.Gets) + "\n") + _, _ = f.WriteString("\n") + } + _, _ = f.WriteString("|===\n\n") + + _, _ = f.WriteString("\n.Summary of Top " + strconv.Itoa(s.topN) + " Collections by Access\n") + _, _ = f.WriteString(`[cols="<1,<3,>1,>1,>1,>1,>1"]` + "\n\n") + _, _ = f.WriteString("|===\n") + _, _ = f.WriteString("| Source | Description | MaxSize | EndSize | Puts | Gets | P+G\n") + for _, c := range s.topNByUsed { + _, _ = f.WriteString("| " + CollectionDescriptors[c.Source].SybolicName + "\n") + _, _ = f.WriteString("| " + c.Description + "\n") + _, _ = f.WriteString("| " + strconv.Itoa(c.MaxSize) + "\n") + _, _ = f.WriteString("| " + strconv.Itoa(c.CurSize) + "\n") + _, _ = f.WriteString("| " + strconv.Itoa(c.Puts) + "\n") + _, _ = f.WriteString("| " + strconv.Itoa(c.Gets) + "\n") + _, _ = f.WriteString("| " + strconv.Itoa(c.Gets+c.Puts) + "\n") + _, _ = f.WriteString("\n") + } + _, _ = f.WriteString("|===\n\n") +} + +// AddJStatRec adds a [JStatRec] record to the [goRunStats] collection when build runtimeConfig antlr.stats is enabled. +func (s *goRunStats) AddJStatRec(rec *JStatRec) { + s.jStatsLock.Lock() + defer s.jStatsLock.Unlock() + s.jStats = append(s.jStats, rec) +} + +// CollectionAnomalies looks through all the statistical records and gathers any anomalies that have been found. +func (s *goRunStats) CollectionAnomalies() { + s.jStatsLock.RLock() + defer s.jStatsLock.RUnlock() + s.counts = make(map[CollectionSource]int, len(s.jStats)) + for _, c := range s.jStats { + + // Accumlate raw counts + // + s.counts[c.Source]++ + + // Look for allocated but unused collections and count them + if c.MaxSize == 0 && c.Puts == 0 { + if s.unusedCollections == nil { + s.unusedCollections = make(map[CollectionSource]int) + } + s.unusedCollections[c.Source]++ + } + if c.MaxSize > 6000 { + fmt.Println("Collection ", c.Description, "accumulated a max size of ", c.MaxSize, " - this is probably too large and indicates a poorly formed grammar") + } + } + +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/stats_data.go b/vendor/github.com/antlr4-go/antlr/v4/stats_data.go new file mode 100644 index 000000000..4d9eb94e5 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/stats_data.go @@ -0,0 +1,23 @@ +package antlr + +// A JStatRec is a record of a particular use of a [JStore], [JMap] or JPCMap] collection. Typically, it will be +// used to look for unused collections that wre allocated anyway, problems with hash bucket clashes, and anomalies +// such as huge numbers of Gets with no entries found GetNoEnt. You can refer to the CollectionAnomalies() function +// for ideas on what can be gleaned from these statistics about collections. +type JStatRec struct { + Source CollectionSource + MaxSize int + CurSize int + Gets int + GetHits int + GetMisses int + GetHashConflicts int + GetNoEnt int + Puts int + PutHits int + PutMisses int + PutHashConflicts int + MaxSlotSize int + Description string + CreateStack []byte +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/token.go b/vendor/github.com/antlr4-go/antlr/v4/token.go new file mode 100644 index 000000000..9670efb82 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/token.go @@ -0,0 +1,213 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "strconv" + "strings" +) + +type TokenSourceCharStreamPair struct { + tokenSource TokenSource + charStream CharStream +} + +// A token has properties: text, type, line, character position in the line +// (so we can ignore tabs), token channel, index, and source from which +// we obtained this token. + +type Token interface { + GetSource() *TokenSourceCharStreamPair + GetTokenType() int + GetChannel() int + GetStart() int + GetStop() int + GetLine() int + GetColumn() int + + GetText() string + SetText(s string) + + GetTokenIndex() int + SetTokenIndex(v int) + + GetTokenSource() TokenSource + GetInputStream() CharStream + + String() string +} + +type BaseToken struct { + source *TokenSourceCharStreamPair + tokenType int // token type of the token + channel int // The parser ignores everything not on DEFAULT_CHANNEL + start int // optional return -1 if not implemented. + stop int // optional return -1 if not implemented. + tokenIndex int // from 0..n-1 of the token object in the input stream + line int // line=1..n of the 1st character + column int // beginning of the line at which it occurs, 0..n-1 + text string // text of the token. + readOnly bool +} + +const ( + TokenInvalidType = 0 + + // TokenEpsilon - during lookahead operations, this "token" signifies we hit the rule end [ATN] state + // and did not follow it despite needing to. + TokenEpsilon = -2 + + TokenMinUserTokenType = 1 + + TokenEOF = -1 + + // TokenDefaultChannel is the default channel upon which tokens are sent to the parser. + // + // All tokens go to the parser (unless [Skip] is called in the lexer rule) + // on a particular "channel". The parser tunes to a particular channel + // so that whitespace etc... can go to the parser on a "hidden" channel. + TokenDefaultChannel = 0 + + // TokenHiddenChannel defines the normal hidden channel - the parser wil not see tokens that are not on [TokenDefaultChannel]. + // + // Anything on a different channel than TokenDefaultChannel is not parsed by parser. + TokenHiddenChannel = 1 +) + +func (b *BaseToken) GetChannel() int { + return b.channel +} + +func (b *BaseToken) GetStart() int { + return b.start +} + +func (b *BaseToken) GetStop() int { + return b.stop +} + +func (b *BaseToken) GetLine() int { + return b.line +} + +func (b *BaseToken) GetColumn() int { + return b.column +} + +func (b *BaseToken) GetTokenType() int { + return b.tokenType +} + +func (b *BaseToken) GetSource() *TokenSourceCharStreamPair { + return b.source +} + +func (b *BaseToken) GetTokenIndex() int { + return b.tokenIndex +} + +func (b *BaseToken) SetTokenIndex(v int) { + b.tokenIndex = v +} + +func (b *BaseToken) GetTokenSource() TokenSource { + return b.source.tokenSource +} + +func (b *BaseToken) GetInputStream() CharStream { + return b.source.charStream +} + +type CommonToken struct { + BaseToken +} + +func NewCommonToken(source *TokenSourceCharStreamPair, tokenType, channel, start, stop int) *CommonToken { + + t := &CommonToken{ + BaseToken: BaseToken{ + source: source, + tokenType: tokenType, + channel: channel, + start: start, + stop: stop, + tokenIndex: -1, + }, + } + + if t.source.tokenSource != nil { + t.line = source.tokenSource.GetLine() + t.column = source.tokenSource.GetCharPositionInLine() + } else { + t.column = -1 + } + return t +} + +// An empty {@link Pair} which is used as the default value of +// {@link //source} for tokens that do not have a source. + +//CommonToken.EMPTY_SOURCE = [ nil, nil ] + +// Constructs a New{@link CommonToken} as a copy of another {@link Token}. +// +//

+// If {@code oldToken} is also a {@link CommonToken} instance, the newly +// constructed token will share a reference to the {@link //text} field and +// the {@link Pair} stored in {@link //source}. Otherwise, {@link //text} will +// be assigned the result of calling {@link //GetText}, and {@link //source} +// will be constructed from the result of {@link Token//GetTokenSource} and +// {@link Token//GetInputStream}.

+// +// @param oldToken The token to copy. +func (c *CommonToken) clone() *CommonToken { + t := NewCommonToken(c.source, c.tokenType, c.channel, c.start, c.stop) + t.tokenIndex = c.GetTokenIndex() + t.line = c.GetLine() + t.column = c.GetColumn() + t.text = c.GetText() + return t +} + +func (c *CommonToken) GetText() string { + if c.text != "" { + return c.text + } + input := c.GetInputStream() + if input == nil { + return "" + } + n := input.Size() + if c.start < n && c.stop < n { + return input.GetTextFromInterval(NewInterval(c.start, c.stop)) + } + return "" +} + +func (c *CommonToken) SetText(text string) { + c.text = text +} + +func (c *CommonToken) String() string { + txt := c.GetText() + if txt != "" { + txt = strings.Replace(txt, "\n", "\\n", -1) + txt = strings.Replace(txt, "\r", "\\r", -1) + txt = strings.Replace(txt, "\t", "\\t", -1) + } else { + txt = "" + } + + var ch string + if c.channel > 0 { + ch = ",channel=" + strconv.Itoa(c.channel) + } else { + ch = "" + } + + return "[@" + strconv.Itoa(c.tokenIndex) + "," + strconv.Itoa(c.start) + ":" + strconv.Itoa(c.stop) + "='" + + txt + "',<" + strconv.Itoa(c.tokenType) + ">" + + ch + "," + strconv.Itoa(c.line) + ":" + strconv.Itoa(c.column) + "]" +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/token_source.go b/vendor/github.com/antlr4-go/antlr/v4/token_source.go new file mode 100644 index 000000000..a3f36eaa6 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/token_source.go @@ -0,0 +1,17 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +type TokenSource interface { + NextToken() Token + Skip() + More() + GetLine() int + GetCharPositionInLine() int + GetInputStream() CharStream + GetSourceName() string + setTokenFactory(factory TokenFactory) + GetTokenFactory() TokenFactory +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/token_stream.go b/vendor/github.com/antlr4-go/antlr/v4/token_stream.go new file mode 100644 index 000000000..bf4ff6633 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/token_stream.go @@ -0,0 +1,21 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +type TokenStream interface { + IntStream + + LT(k int) Token + Reset() + + Get(index int) Token + GetTokenSource() TokenSource + SetTokenSource(TokenSource) + + GetAllText() string + GetTextFromInterval(Interval) string + GetTextFromRuleContext(RuleContext) string + GetTextFromTokens(Token, Token) string +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/tokenstream_rewriter.go b/vendor/github.com/antlr4-go/antlr/v4/tokenstream_rewriter.go new file mode 100644 index 000000000..ccf59b465 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/tokenstream_rewriter.go @@ -0,0 +1,662 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "bytes" + "fmt" +) + +// +// Useful for rewriting out a buffered input token stream after doing some +// augmentation or other manipulations on it. + +//

+// You can insert stuff, replace, and delete chunks. Note that the operations +// are done lazily--only if you convert the buffer to a {@link String} with +// {@link TokenStream#getText()}. This is very efficient because you are not +// moving data around all the time. As the buffer of tokens is converted to +// strings, the {@link #getText()} method(s) scan the input token stream and +// check to see if there is an operation at the current index. If so, the +// operation is done and then normal {@link String} rendering continues on the +// buffer. This is like having multiple Turing machine instruction streams +// (programs) operating on a single input tape. :)

+//

+ +// This rewriter makes no modifications to the token stream. It does not ask the +// stream to fill itself up nor does it advance the input cursor. The token +// stream {@link TokenStream#index()} will return the same value before and +// after any {@link #getText()} call.

+ +//

+// The rewriter only works on tokens that you have in the buffer and ignores the +// current input cursor. If you are buffering tokens on-demand, calling +// {@link #getText()} halfway through the input will only do rewrites for those +// tokens in the first half of the file.

+ +//

+// Since the operations are done lazily at {@link #getText}-time, operations do +// not screw up the token index values. That is, an insert operation at token +// index {@code i} does not change the index values for tokens +// {@code i}+1..n-1.

+ +//

+// Because operations never actually alter the buffer, you may always get the +// original token stream back without undoing anything. Since the instructions +// are queued up, you can easily simulate transactions and roll back any changes +// if there is an error just by removing instructions. For example,

+ +//
+// CharStream input = new ANTLRFileStream("input");
+// TLexer lex = new TLexer(input);
+// CommonTokenStream tokens = new CommonTokenStream(lex);
+// T parser = new T(tokens);
+// TokenStreamRewriter rewriter = new TokenStreamRewriter(tokens);
+// parser.startRule();
+// 
+ +//

+// Then in the rules, you can execute (assuming rewriter is visible):

+ +//
+// Token t,u;
+// ...
+// rewriter.insertAfter(t, "text to put after t");}
+// rewriter.insertAfter(u, "text after u");}
+// System.out.println(rewriter.getText());
+// 
+ +//

+// You can also have multiple "instruction streams" and get multiple rewrites +// from a single pass over the input. Just name the instruction streams and use +// that name again when printing the buffer. This could be useful for generating +// a C file and also its header file--all from the same buffer:

+ +//
+// rewriter.insertAfter("pass1", t, "text to put after t");}
+// rewriter.insertAfter("pass2", u, "text after u");}
+// System.out.println(rewriter.getText("pass1"));
+// System.out.println(rewriter.getText("pass2"));
+// 
+ +//

+// If you don't use named rewrite streams, a "default" stream is used as the +// first example shows.

+ +const ( + DefaultProgramName = "default" + ProgramInitSize = 100 + MinTokenIndex = 0 +) + +// Define the rewrite operation hierarchy + +type RewriteOperation interface { + + // Execute the rewrite operation by possibly adding to the buffer. + // Return the index of the next token to operate on. + Execute(buffer *bytes.Buffer) int + String() string + GetInstructionIndex() int + GetIndex() int + GetText() string + GetOpName() string + GetTokens() TokenStream + SetInstructionIndex(val int) + SetIndex(int) + SetText(string) + SetOpName(string) + SetTokens(TokenStream) +} + +type BaseRewriteOperation struct { + //Current index of rewrites list + instructionIndex int + //Token buffer index + index int + //Substitution text + text string + //Actual operation name + opName string + //Pointer to token steam + tokens TokenStream +} + +func (op *BaseRewriteOperation) GetInstructionIndex() int { + return op.instructionIndex +} + +func (op *BaseRewriteOperation) GetIndex() int { + return op.index +} + +func (op *BaseRewriteOperation) GetText() string { + return op.text +} + +func (op *BaseRewriteOperation) GetOpName() string { + return op.opName +} + +func (op *BaseRewriteOperation) GetTokens() TokenStream { + return op.tokens +} + +func (op *BaseRewriteOperation) SetInstructionIndex(val int) { + op.instructionIndex = val +} + +func (op *BaseRewriteOperation) SetIndex(val int) { + op.index = val +} + +func (op *BaseRewriteOperation) SetText(val string) { + op.text = val +} + +func (op *BaseRewriteOperation) SetOpName(val string) { + op.opName = val +} + +func (op *BaseRewriteOperation) SetTokens(val TokenStream) { + op.tokens = val +} + +func (op *BaseRewriteOperation) Execute(_ *bytes.Buffer) int { + return op.index +} + +func (op *BaseRewriteOperation) String() string { + return fmt.Sprintf("<%s@%d:\"%s\">", + op.opName, + op.tokens.Get(op.GetIndex()), + op.text, + ) + +} + +type InsertBeforeOp struct { + BaseRewriteOperation +} + +func NewInsertBeforeOp(index int, text string, stream TokenStream) *InsertBeforeOp { + return &InsertBeforeOp{BaseRewriteOperation: BaseRewriteOperation{ + index: index, + text: text, + opName: "InsertBeforeOp", + tokens: stream, + }} +} + +func (op *InsertBeforeOp) Execute(buffer *bytes.Buffer) int { + buffer.WriteString(op.text) + if op.tokens.Get(op.index).GetTokenType() != TokenEOF { + buffer.WriteString(op.tokens.Get(op.index).GetText()) + } + return op.index + 1 +} + +func (op *InsertBeforeOp) String() string { + return op.BaseRewriteOperation.String() +} + +// InsertAfterOp distinguishes between insert after/before to do the "insert after" instructions +// first and then the "insert before" instructions at same index. Implementation +// of "insert after" is "insert before index+1". +type InsertAfterOp struct { + BaseRewriteOperation +} + +func NewInsertAfterOp(index int, text string, stream TokenStream) *InsertAfterOp { + return &InsertAfterOp{ + BaseRewriteOperation: BaseRewriteOperation{ + index: index + 1, + text: text, + tokens: stream, + }, + } +} + +func (op *InsertAfterOp) Execute(buffer *bytes.Buffer) int { + buffer.WriteString(op.text) + if op.tokens.Get(op.index).GetTokenType() != TokenEOF { + buffer.WriteString(op.tokens.Get(op.index).GetText()) + } + return op.index + 1 +} + +func (op *InsertAfterOp) String() string { + return op.BaseRewriteOperation.String() +} + +// ReplaceOp tries to replace range from x..y with (y-x)+1 ReplaceOp +// instructions. +type ReplaceOp struct { + BaseRewriteOperation + LastIndex int +} + +func NewReplaceOp(from, to int, text string, stream TokenStream) *ReplaceOp { + return &ReplaceOp{ + BaseRewriteOperation: BaseRewriteOperation{ + index: from, + text: text, + opName: "ReplaceOp", + tokens: stream, + }, + LastIndex: to, + } +} + +func (op *ReplaceOp) Execute(buffer *bytes.Buffer) int { + if op.text != "" { + buffer.WriteString(op.text) + } + return op.LastIndex + 1 +} + +func (op *ReplaceOp) String() string { + if op.text == "" { + return fmt.Sprintf("", + op.tokens.Get(op.index), op.tokens.Get(op.LastIndex)) + } + return fmt.Sprintf("", + op.tokens.Get(op.index), op.tokens.Get(op.LastIndex), op.text) +} + +type TokenStreamRewriter struct { + //Our source stream + tokens TokenStream + // You may have multiple, named streams of rewrite operations. + // I'm calling these things "programs." + // Maps String (name) → rewrite (List) + programs map[string][]RewriteOperation + lastRewriteTokenIndexes map[string]int +} + +func NewTokenStreamRewriter(tokens TokenStream) *TokenStreamRewriter { + return &TokenStreamRewriter{ + tokens: tokens, + programs: map[string][]RewriteOperation{ + DefaultProgramName: make([]RewriteOperation, 0, ProgramInitSize), + }, + lastRewriteTokenIndexes: map[string]int{}, + } +} + +func (tsr *TokenStreamRewriter) GetTokenStream() TokenStream { + return tsr.tokens +} + +// Rollback the instruction stream for a program so that +// the indicated instruction (via instructionIndex) is no +// longer in the stream. UNTESTED! +func (tsr *TokenStreamRewriter) Rollback(programName string, instructionIndex int) { + is, ok := tsr.programs[programName] + if ok { + tsr.programs[programName] = is[MinTokenIndex:instructionIndex] + } +} + +func (tsr *TokenStreamRewriter) RollbackDefault(instructionIndex int) { + tsr.Rollback(DefaultProgramName, instructionIndex) +} + +// DeleteProgram Reset the program so that no instructions exist +func (tsr *TokenStreamRewriter) DeleteProgram(programName string) { + tsr.Rollback(programName, MinTokenIndex) //TODO: double test on that cause lower bound is not included +} + +func (tsr *TokenStreamRewriter) DeleteProgramDefault() { + tsr.DeleteProgram(DefaultProgramName) +} + +func (tsr *TokenStreamRewriter) InsertAfter(programName string, index int, text string) { + // to insert after, just insert before next index (even if past end) + var op RewriteOperation = NewInsertAfterOp(index, text, tsr.tokens) + rewrites := tsr.GetProgram(programName) + op.SetInstructionIndex(len(rewrites)) + tsr.AddToProgram(programName, op) +} + +func (tsr *TokenStreamRewriter) InsertAfterDefault(index int, text string) { + tsr.InsertAfter(DefaultProgramName, index, text) +} + +func (tsr *TokenStreamRewriter) InsertAfterToken(programName string, token Token, text string) { + tsr.InsertAfter(programName, token.GetTokenIndex(), text) +} + +func (tsr *TokenStreamRewriter) InsertBefore(programName string, index int, text string) { + var op RewriteOperation = NewInsertBeforeOp(index, text, tsr.tokens) + rewrites := tsr.GetProgram(programName) + op.SetInstructionIndex(len(rewrites)) + tsr.AddToProgram(programName, op) +} + +func (tsr *TokenStreamRewriter) InsertBeforeDefault(index int, text string) { + tsr.InsertBefore(DefaultProgramName, index, text) +} + +func (tsr *TokenStreamRewriter) InsertBeforeToken(programName string, token Token, text string) { + tsr.InsertBefore(programName, token.GetTokenIndex(), text) +} + +func (tsr *TokenStreamRewriter) Replace(programName string, from, to int, text string) { + if from > to || from < 0 || to < 0 || to >= tsr.tokens.Size() { + panic(fmt.Sprintf("replace: range invalid: %d..%d(size=%d)", + from, to, tsr.tokens.Size())) + } + var op RewriteOperation = NewReplaceOp(from, to, text, tsr.tokens) + rewrites := tsr.GetProgram(programName) + op.SetInstructionIndex(len(rewrites)) + tsr.AddToProgram(programName, op) +} + +func (tsr *TokenStreamRewriter) ReplaceDefault(from, to int, text string) { + tsr.Replace(DefaultProgramName, from, to, text) +} + +func (tsr *TokenStreamRewriter) ReplaceDefaultPos(index int, text string) { + tsr.ReplaceDefault(index, index, text) +} + +func (tsr *TokenStreamRewriter) ReplaceToken(programName string, from, to Token, text string) { + tsr.Replace(programName, from.GetTokenIndex(), to.GetTokenIndex(), text) +} + +func (tsr *TokenStreamRewriter) ReplaceTokenDefault(from, to Token, text string) { + tsr.ReplaceToken(DefaultProgramName, from, to, text) +} + +func (tsr *TokenStreamRewriter) ReplaceTokenDefaultPos(index Token, text string) { + tsr.ReplaceTokenDefault(index, index, text) +} + +func (tsr *TokenStreamRewriter) Delete(programName string, from, to int) { + tsr.Replace(programName, from, to, "") +} + +func (tsr *TokenStreamRewriter) DeleteDefault(from, to int) { + tsr.Delete(DefaultProgramName, from, to) +} + +func (tsr *TokenStreamRewriter) DeleteDefaultPos(index int) { + tsr.DeleteDefault(index, index) +} + +func (tsr *TokenStreamRewriter) DeleteToken(programName string, from, to Token) { + tsr.ReplaceToken(programName, from, to, "") +} + +func (tsr *TokenStreamRewriter) DeleteTokenDefault(from, to Token) { + tsr.DeleteToken(DefaultProgramName, from, to) +} + +func (tsr *TokenStreamRewriter) GetLastRewriteTokenIndex(programName string) int { + i, ok := tsr.lastRewriteTokenIndexes[programName] + if !ok { + return -1 + } + return i +} + +func (tsr *TokenStreamRewriter) GetLastRewriteTokenIndexDefault() int { + return tsr.GetLastRewriteTokenIndex(DefaultProgramName) +} + +func (tsr *TokenStreamRewriter) SetLastRewriteTokenIndex(programName string, i int) { + tsr.lastRewriteTokenIndexes[programName] = i +} + +func (tsr *TokenStreamRewriter) InitializeProgram(name string) []RewriteOperation { + is := make([]RewriteOperation, 0, ProgramInitSize) + tsr.programs[name] = is + return is +} + +func (tsr *TokenStreamRewriter) AddToProgram(name string, op RewriteOperation) { + is := tsr.GetProgram(name) + is = append(is, op) + tsr.programs[name] = is +} + +func (tsr *TokenStreamRewriter) GetProgram(name string) []RewriteOperation { + is, ok := tsr.programs[name] + if !ok { + is = tsr.InitializeProgram(name) + } + return is +} + +// GetTextDefault returns the text from the original tokens altered per the +// instructions given to this rewriter. +func (tsr *TokenStreamRewriter) GetTextDefault() string { + return tsr.GetText( + DefaultProgramName, + NewInterval(0, tsr.tokens.Size()-1)) +} + +// GetText returns the text from the original tokens altered per the +// instructions given to this rewriter. +func (tsr *TokenStreamRewriter) GetText(programName string, interval Interval) string { + rewrites := tsr.programs[programName] + start := interval.Start + stop := interval.Stop + // ensure start/end are in range + stop = min(stop, tsr.tokens.Size()-1) + start = max(start, 0) + if len(rewrites) == 0 { + return tsr.tokens.GetTextFromInterval(interval) // no instructions to execute + } + buf := bytes.Buffer{} + // First, optimize instruction stream + indexToOp := reduceToSingleOperationPerIndex(rewrites) + // Walk buffer, executing instructions and emitting tokens + for i := start; i <= stop && i < tsr.tokens.Size(); { + op := indexToOp[i] + delete(indexToOp, i) // remove so any left have index size-1 + t := tsr.tokens.Get(i) + if op == nil { + // no operation at that index, just dump token + if t.GetTokenType() != TokenEOF { + buf.WriteString(t.GetText()) + } + i++ // move to next token + } else { + i = op.Execute(&buf) // execute operation and skip + } + } + // include stuff after end if it's last index in buffer + // So, if they did an insertAfter(lastValidIndex, "foo"), include + // foo if end==lastValidIndex. + if stop == tsr.tokens.Size()-1 { + // Scan any remaining operations after last token + // should be included (they will be inserts). + for _, op := range indexToOp { + if op.GetIndex() >= tsr.tokens.Size()-1 { + buf.WriteString(op.GetText()) + } + } + } + return buf.String() +} + +// reduceToSingleOperationPerIndex combines operations and report invalid operations (like +// overlapping replaces that are not completed nested). Inserts to +// same index need to be combined etc... +// +// Here are the cases: +// +// I.i.u I.j.v leave alone, non-overlapping +// I.i.u I.i.v combine: Iivu +// +// R.i-j.u R.x-y.v | i-j in x-y delete first R +// R.i-j.u R.i-j.v delete first R +// R.i-j.u R.x-y.v | x-y in i-j ERROR +// R.i-j.u R.x-y.v | boundaries overlap ERROR +// +// Delete special case of replace (text==null): +// D.i-j.u D.x-y.v | boundaries overlap combine to max(min)..max(right) +// +// I.i.u R.x-y.v | i in (x+1)-y delete I (since insert before +// we're not deleting i) +// I.i.u R.x-y.v | i not in (x+1)-y leave alone, non-overlapping +// R.x-y.v I.i.u | i in x-y ERROR +// R.x-y.v I.x.u R.x-y.uv (combine, delete I) +// R.x-y.v I.i.u | i not in x-y leave alone, non-overlapping +// +// I.i.u = insert u before op @ index i +// R.x-y.u = replace x-y indexed tokens with u +// +// First we need to examine replaces. For any replace op: +// +// 1. wipe out any insertions before op within that range. +// 2. Drop any replace op before that is contained completely within +// that range. +// 3. Throw exception upon boundary overlap with any previous replace. +// +// Then we can deal with inserts: +// +// 1. for any inserts to same index, combine even if not adjacent. +// 2. for any prior replace with same left boundary, combine this +// insert with replace and delete this 'replace'. +// 3. throw exception if index in same range as previous replace +// +// Don't actually delete; make op null in list. Easier to walk list. +// Later we can throw as we add to index → op map. +// +// Note that I.2 R.2-2 will wipe out I.2 even though, technically, the +// inserted stuff would be before the 'replace' range. But, if you +// add tokens in front of a method body '{' and then delete the method +// body, I think the stuff before the '{' you added should disappear too. +// +// The func returns a map from token index to operation. +func reduceToSingleOperationPerIndex(rewrites []RewriteOperation) map[int]RewriteOperation { + // WALK REPLACES + for i := 0; i < len(rewrites); i++ { + op := rewrites[i] + if op == nil { + continue + } + rop, ok := op.(*ReplaceOp) + if !ok { + continue + } + // Wipe prior inserts within range + for j := 0; j < i && j < len(rewrites); j++ { + if iop, ok := rewrites[j].(*InsertBeforeOp); ok { + if iop.index == rop.index { + // E.g., insert before 2, delete 2..2; update replace + // text to include insert before, kill insert + rewrites[iop.instructionIndex] = nil + if rop.text != "" { + rop.text = iop.text + rop.text + } else { + rop.text = iop.text + } + } else if iop.index > rop.index && iop.index <= rop.LastIndex { + // delete insert as it's a no-op. + rewrites[iop.instructionIndex] = nil + } + } + } + // Drop any prior replaces contained within + for j := 0; j < i && j < len(rewrites); j++ { + if prevop, ok := rewrites[j].(*ReplaceOp); ok { + if prevop.index >= rop.index && prevop.LastIndex <= rop.LastIndex { + // delete replace as it's a no-op. + rewrites[prevop.instructionIndex] = nil + continue + } + // throw exception unless disjoint or identical + disjoint := prevop.LastIndex < rop.index || prevop.index > rop.LastIndex + // Delete special case of replace (text==null): + // D.i-j.u D.x-y.v | boundaries overlap combine to max(min)..max(right) + if prevop.text == "" && rop.text == "" && !disjoint { + rewrites[prevop.instructionIndex] = nil + rop.index = min(prevop.index, rop.index) + rop.LastIndex = max(prevop.LastIndex, rop.LastIndex) + } else if !disjoint { + panic("replace op boundaries of " + rop.String() + " overlap with previous " + prevop.String()) + } + } + } + } + // WALK INSERTS + for i := 0; i < len(rewrites); i++ { + op := rewrites[i] + if op == nil { + continue + } + //hack to replicate inheritance in composition + _, iok := rewrites[i].(*InsertBeforeOp) + _, aok := rewrites[i].(*InsertAfterOp) + if !iok && !aok { + continue + } + iop := rewrites[i] + // combine current insert with prior if any at same index + // deviating a bit from TokenStreamRewriter.java - hard to incorporate inheritance logic + for j := 0; j < i && j < len(rewrites); j++ { + if nextIop, ok := rewrites[j].(*InsertAfterOp); ok { + if nextIop.index == iop.GetIndex() { + iop.SetText(nextIop.text + iop.GetText()) + rewrites[j] = nil + } + } + if prevIop, ok := rewrites[j].(*InsertBeforeOp); ok { + if prevIop.index == iop.GetIndex() { + iop.SetText(iop.GetText() + prevIop.text) + rewrites[prevIop.instructionIndex] = nil + } + } + } + // look for replaces where iop.index is in range; error + for j := 0; j < i && j < len(rewrites); j++ { + if rop, ok := rewrites[j].(*ReplaceOp); ok { + if iop.GetIndex() == rop.index { + rop.text = iop.GetText() + rop.text + rewrites[i] = nil + continue + } + if iop.GetIndex() >= rop.index && iop.GetIndex() <= rop.LastIndex { + panic("insert op " + iop.String() + " within boundaries of previous " + rop.String()) + } + } + } + } + m := map[int]RewriteOperation{} + for i := 0; i < len(rewrites); i++ { + op := rewrites[i] + if op == nil { + continue + } + if _, ok := m[op.GetIndex()]; ok { + panic("should only be one op per index") + } + m[op.GetIndex()] = op + } + return m +} + +/* + Quick fixing Go lack of overloads +*/ + +func max(a, b int) int { + if a > b { + return a + } else { + return b + } +} +func min(a, b int) int { + if a < b { + return a + } else { + return b + } +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/trace_listener.go b/vendor/github.com/antlr4-go/antlr/v4/trace_listener.go new file mode 100644 index 000000000..7b663bf84 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/trace_listener.go @@ -0,0 +1,32 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import "fmt" + +type TraceListener struct { + parser *BaseParser +} + +func NewTraceListener(parser *BaseParser) *TraceListener { + tl := new(TraceListener) + tl.parser = parser + return tl +} + +func (t *TraceListener) VisitErrorNode(_ ErrorNode) { +} + +func (t *TraceListener) EnterEveryRule(ctx ParserRuleContext) { + fmt.Println("enter " + t.parser.GetRuleNames()[ctx.GetRuleIndex()] + ", LT(1)=" + t.parser.input.LT(1).GetText()) +} + +func (t *TraceListener) VisitTerminal(node TerminalNode) { + fmt.Println("consume " + fmt.Sprint(node.GetSymbol()) + " rule " + t.parser.GetRuleNames()[t.parser.ctx.GetRuleIndex()]) +} + +func (t *TraceListener) ExitEveryRule(ctx ParserRuleContext) { + fmt.Println("exit " + t.parser.GetRuleNames()[ctx.GetRuleIndex()] + ", LT(1)=" + t.parser.input.LT(1).GetText()) +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/transition.go b/vendor/github.com/antlr4-go/antlr/v4/transition.go new file mode 100644 index 000000000..313b0fc12 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/transition.go @@ -0,0 +1,439 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "fmt" + "strconv" + "strings" +) + +// atom, set, epsilon, action, predicate, rule transitions. +// +//

This is a one way link. It emanates from a state (usually via a list of +// transitions) and has a target state.

+// +//

Since we never have to change the ATN transitions once we construct it, +// the states. We'll use the term Edge for the DFA to distinguish them from +// ATN transitions.

+ +type Transition interface { + getTarget() ATNState + setTarget(ATNState) + getIsEpsilon() bool + getLabel() *IntervalSet + getSerializationType() int + Matches(int, int, int) bool +} + +type BaseTransition struct { + target ATNState + isEpsilon bool + label int + intervalSet *IntervalSet + serializationType int +} + +func NewBaseTransition(target ATNState) *BaseTransition { + + if target == nil { + panic("target cannot be nil.") + } + + t := new(BaseTransition) + + t.target = target + // Are we epsilon, action, sempred? + t.isEpsilon = false + t.intervalSet = nil + + return t +} + +func (t *BaseTransition) getTarget() ATNState { + return t.target +} + +func (t *BaseTransition) setTarget(s ATNState) { + t.target = s +} + +func (t *BaseTransition) getIsEpsilon() bool { + return t.isEpsilon +} + +func (t *BaseTransition) getLabel() *IntervalSet { + return t.intervalSet +} + +func (t *BaseTransition) getSerializationType() int { + return t.serializationType +} + +func (t *BaseTransition) Matches(_, _, _ int) bool { + panic("Not implemented") +} + +const ( + TransitionEPSILON = 1 + TransitionRANGE = 2 + TransitionRULE = 3 + TransitionPREDICATE = 4 // e.g., {isType(input.LT(1))}? + TransitionATOM = 5 + TransitionACTION = 6 + TransitionSET = 7 // ~(A|B) or ~atom, wildcard, which convert to next 2 + TransitionNOTSET = 8 + TransitionWILDCARD = 9 + TransitionPRECEDENCE = 10 +) + +//goland:noinspection GoUnusedGlobalVariable +var TransitionserializationNames = []string{ + "INVALID", + "EPSILON", + "RANGE", + "RULE", + "PREDICATE", + "ATOM", + "ACTION", + "SET", + "NOT_SET", + "WILDCARD", + "PRECEDENCE", +} + +//var TransitionserializationTypes struct { +// EpsilonTransition int +// RangeTransition int +// RuleTransition int +// PredicateTransition int +// AtomTransition int +// ActionTransition int +// SetTransition int +// NotSetTransition int +// WildcardTransition int +// PrecedencePredicateTransition int +//}{ +// TransitionEPSILON, +// TransitionRANGE, +// TransitionRULE, +// TransitionPREDICATE, +// TransitionATOM, +// TransitionACTION, +// TransitionSET, +// TransitionNOTSET, +// TransitionWILDCARD, +// TransitionPRECEDENCE +//} + +// AtomTransition +// TODO: make all transitions sets? no, should remove set edges +type AtomTransition struct { + BaseTransition +} + +func NewAtomTransition(target ATNState, intervalSet int) *AtomTransition { + t := &AtomTransition{ + BaseTransition: BaseTransition{ + target: target, + serializationType: TransitionATOM, + label: intervalSet, + isEpsilon: false, + }, + } + t.intervalSet = t.makeLabel() + + return t +} + +func (t *AtomTransition) makeLabel() *IntervalSet { + s := NewIntervalSet() + s.addOne(t.label) + return s +} + +func (t *AtomTransition) Matches(symbol, _, _ int) bool { + return t.label == symbol +} + +func (t *AtomTransition) String() string { + return strconv.Itoa(t.label) +} + +type RuleTransition struct { + BaseTransition + followState ATNState + ruleIndex, precedence int +} + +func NewRuleTransition(ruleStart ATNState, ruleIndex, precedence int, followState ATNState) *RuleTransition { + return &RuleTransition{ + BaseTransition: BaseTransition{ + target: ruleStart, + isEpsilon: true, + serializationType: TransitionRULE, + }, + ruleIndex: ruleIndex, + precedence: precedence, + followState: followState, + } +} + +func (t *RuleTransition) Matches(_, _, _ int) bool { + return false +} + +type EpsilonTransition struct { + BaseTransition + outermostPrecedenceReturn int +} + +func NewEpsilonTransition(target ATNState, outermostPrecedenceReturn int) *EpsilonTransition { + return &EpsilonTransition{ + BaseTransition: BaseTransition{ + target: target, + serializationType: TransitionEPSILON, + isEpsilon: true, + }, + outermostPrecedenceReturn: outermostPrecedenceReturn, + } +} + +func (t *EpsilonTransition) Matches(_, _, _ int) bool { + return false +} + +func (t *EpsilonTransition) String() string { + return "epsilon" +} + +type RangeTransition struct { + BaseTransition + start, stop int +} + +func NewRangeTransition(target ATNState, start, stop int) *RangeTransition { + t := &RangeTransition{ + BaseTransition: BaseTransition{ + target: target, + serializationType: TransitionRANGE, + isEpsilon: false, + }, + start: start, + stop: stop, + } + t.intervalSet = t.makeLabel() + return t +} + +func (t *RangeTransition) makeLabel() *IntervalSet { + s := NewIntervalSet() + s.addRange(t.start, t.stop) + return s +} + +func (t *RangeTransition) Matches(symbol, _, _ int) bool { + return symbol >= t.start && symbol <= t.stop +} + +func (t *RangeTransition) String() string { + var sb strings.Builder + sb.WriteByte('\'') + sb.WriteRune(rune(t.start)) + sb.WriteString("'..'") + sb.WriteRune(rune(t.stop)) + sb.WriteByte('\'') + return sb.String() +} + +type AbstractPredicateTransition interface { + Transition + IAbstractPredicateTransitionFoo() +} + +type BaseAbstractPredicateTransition struct { + BaseTransition +} + +func NewBasePredicateTransition(target ATNState) *BaseAbstractPredicateTransition { + return &BaseAbstractPredicateTransition{ + BaseTransition: BaseTransition{ + target: target, + }, + } +} + +func (a *BaseAbstractPredicateTransition) IAbstractPredicateTransitionFoo() {} + +type PredicateTransition struct { + BaseAbstractPredicateTransition + isCtxDependent bool + ruleIndex, predIndex int +} + +func NewPredicateTransition(target ATNState, ruleIndex, predIndex int, isCtxDependent bool) *PredicateTransition { + return &PredicateTransition{ + BaseAbstractPredicateTransition: BaseAbstractPredicateTransition{ + BaseTransition: BaseTransition{ + target: target, + serializationType: TransitionPREDICATE, + isEpsilon: true, + }, + }, + isCtxDependent: isCtxDependent, + ruleIndex: ruleIndex, + predIndex: predIndex, + } +} + +func (t *PredicateTransition) Matches(_, _, _ int) bool { + return false +} + +func (t *PredicateTransition) getPredicate() *Predicate { + return NewPredicate(t.ruleIndex, t.predIndex, t.isCtxDependent) +} + +func (t *PredicateTransition) String() string { + return "pred_" + strconv.Itoa(t.ruleIndex) + ":" + strconv.Itoa(t.predIndex) +} + +type ActionTransition struct { + BaseTransition + isCtxDependent bool + ruleIndex, actionIndex, predIndex int +} + +func NewActionTransition(target ATNState, ruleIndex, actionIndex int, isCtxDependent bool) *ActionTransition { + return &ActionTransition{ + BaseTransition: BaseTransition{ + target: target, + serializationType: TransitionACTION, + isEpsilon: true, + }, + isCtxDependent: isCtxDependent, + ruleIndex: ruleIndex, + actionIndex: actionIndex, + } +} + +func (t *ActionTransition) Matches(_, _, _ int) bool { + return false +} + +func (t *ActionTransition) String() string { + return "action_" + strconv.Itoa(t.ruleIndex) + ":" + strconv.Itoa(t.actionIndex) +} + +type SetTransition struct { + BaseTransition +} + +func NewSetTransition(target ATNState, set *IntervalSet) *SetTransition { + t := &SetTransition{ + BaseTransition: BaseTransition{ + target: target, + serializationType: TransitionSET, + }, + } + + if set != nil { + t.intervalSet = set + } else { + t.intervalSet = NewIntervalSet() + t.intervalSet.addOne(TokenInvalidType) + } + return t +} + +func (t *SetTransition) Matches(symbol, _, _ int) bool { + return t.intervalSet.contains(symbol) +} + +func (t *SetTransition) String() string { + return t.intervalSet.String() +} + +type NotSetTransition struct { + SetTransition +} + +func NewNotSetTransition(target ATNState, set *IntervalSet) *NotSetTransition { + t := &NotSetTransition{ + SetTransition: SetTransition{ + BaseTransition: BaseTransition{ + target: target, + serializationType: TransitionNOTSET, + }, + }, + } + if set != nil { + t.intervalSet = set + } else { + t.intervalSet = NewIntervalSet() + t.intervalSet.addOne(TokenInvalidType) + } + + return t +} + +func (t *NotSetTransition) Matches(symbol, minVocabSymbol, maxVocabSymbol int) bool { + return symbol >= minVocabSymbol && symbol <= maxVocabSymbol && !t.intervalSet.contains(symbol) +} + +func (t *NotSetTransition) String() string { + return "~" + t.intervalSet.String() +} + +type WildcardTransition struct { + BaseTransition +} + +func NewWildcardTransition(target ATNState) *WildcardTransition { + return &WildcardTransition{ + BaseTransition: BaseTransition{ + target: target, + serializationType: TransitionWILDCARD, + }, + } +} + +func (t *WildcardTransition) Matches(symbol, minVocabSymbol, maxVocabSymbol int) bool { + return symbol >= minVocabSymbol && symbol <= maxVocabSymbol +} + +func (t *WildcardTransition) String() string { + return "." +} + +type PrecedencePredicateTransition struct { + BaseAbstractPredicateTransition + precedence int +} + +func NewPrecedencePredicateTransition(target ATNState, precedence int) *PrecedencePredicateTransition { + return &PrecedencePredicateTransition{ + BaseAbstractPredicateTransition: BaseAbstractPredicateTransition{ + BaseTransition: BaseTransition{ + target: target, + serializationType: TransitionPRECEDENCE, + isEpsilon: true, + }, + }, + precedence: precedence, + } +} + +func (t *PrecedencePredicateTransition) Matches(_, _, _ int) bool { + return false +} + +func (t *PrecedencePredicateTransition) getPredicate() *PrecedencePredicate { + return NewPrecedencePredicate(t.precedence) +} + +func (t *PrecedencePredicateTransition) String() string { + return fmt.Sprint(t.precedence) + " >= _p" +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/tree.go b/vendor/github.com/antlr4-go/antlr/v4/tree.go new file mode 100644 index 000000000..c288420fb --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/tree.go @@ -0,0 +1,304 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +// The basic notion of a tree has a parent, a payload, and a list of children. +// It is the most abstract interface for all the trees used by ANTLR. +/// + +var TreeInvalidInterval = NewInterval(-1, -2) + +type Tree interface { + GetParent() Tree + SetParent(Tree) + GetPayload() interface{} + GetChild(i int) Tree + GetChildCount() int + GetChildren() []Tree +} + +type SyntaxTree interface { + Tree + GetSourceInterval() Interval +} + +type ParseTree interface { + SyntaxTree + Accept(Visitor ParseTreeVisitor) interface{} + GetText() string + ToStringTree([]string, Recognizer) string +} + +type RuleNode interface { + ParseTree + GetRuleContext() RuleContext +} + +type TerminalNode interface { + ParseTree + GetSymbol() Token +} + +type ErrorNode interface { + TerminalNode + + errorNode() +} + +type ParseTreeVisitor interface { + Visit(tree ParseTree) interface{} + VisitChildren(node RuleNode) interface{} + VisitTerminal(node TerminalNode) interface{} + VisitErrorNode(node ErrorNode) interface{} +} + +type BaseParseTreeVisitor struct{} + +var _ ParseTreeVisitor = &BaseParseTreeVisitor{} + +func (v *BaseParseTreeVisitor) Visit(tree ParseTree) interface{} { return tree.Accept(v) } +func (v *BaseParseTreeVisitor) VisitChildren(_ RuleNode) interface{} { return nil } +func (v *BaseParseTreeVisitor) VisitTerminal(_ TerminalNode) interface{} { return nil } +func (v *BaseParseTreeVisitor) VisitErrorNode(_ ErrorNode) interface{} { return nil } + +// TODO: Implement this? +//func (this ParseTreeVisitor) Visit(ctx) { +// if (Utils.isArray(ctx)) { +// self := this +// return ctx.map(function(child) { return VisitAtom(self, child)}) +// } else { +// return VisitAtom(this, ctx) +// } +//} +// +//func VisitAtom(Visitor, ctx) { +// if (ctx.parser == nil) { //is terminal +// return +// } +// +// name := ctx.parser.ruleNames[ctx.ruleIndex] +// funcName := "Visit" + Utils.titleCase(name) +// +// return Visitor[funcName](ctx) +//} + +type ParseTreeListener interface { + VisitTerminal(node TerminalNode) + VisitErrorNode(node ErrorNode) + EnterEveryRule(ctx ParserRuleContext) + ExitEveryRule(ctx ParserRuleContext) +} + +type BaseParseTreeListener struct{} + +var _ ParseTreeListener = &BaseParseTreeListener{} + +func (l *BaseParseTreeListener) VisitTerminal(_ TerminalNode) {} +func (l *BaseParseTreeListener) VisitErrorNode(_ ErrorNode) {} +func (l *BaseParseTreeListener) EnterEveryRule(_ ParserRuleContext) {} +func (l *BaseParseTreeListener) ExitEveryRule(_ ParserRuleContext) {} + +type TerminalNodeImpl struct { + parentCtx RuleContext + symbol Token +} + +var _ TerminalNode = &TerminalNodeImpl{} + +func NewTerminalNodeImpl(symbol Token) *TerminalNodeImpl { + tn := new(TerminalNodeImpl) + + tn.parentCtx = nil + tn.symbol = symbol + + return tn +} + +func (t *TerminalNodeImpl) GetChild(_ int) Tree { + return nil +} + +func (t *TerminalNodeImpl) GetChildren() []Tree { + return nil +} + +func (t *TerminalNodeImpl) SetChildren(_ []Tree) { + panic("Cannot set children on terminal node") +} + +func (t *TerminalNodeImpl) GetSymbol() Token { + return t.symbol +} + +func (t *TerminalNodeImpl) GetParent() Tree { + return t.parentCtx +} + +func (t *TerminalNodeImpl) SetParent(tree Tree) { + t.parentCtx = tree.(RuleContext) +} + +func (t *TerminalNodeImpl) GetPayload() interface{} { + return t.symbol +} + +func (t *TerminalNodeImpl) GetSourceInterval() Interval { + if t.symbol == nil { + return TreeInvalidInterval + } + tokenIndex := t.symbol.GetTokenIndex() + return NewInterval(tokenIndex, tokenIndex) +} + +func (t *TerminalNodeImpl) GetChildCount() int { + return 0 +} + +func (t *TerminalNodeImpl) Accept(v ParseTreeVisitor) interface{} { + return v.VisitTerminal(t) +} + +func (t *TerminalNodeImpl) GetText() string { + return t.symbol.GetText() +} + +func (t *TerminalNodeImpl) String() string { + if t.symbol.GetTokenType() == TokenEOF { + return "" + } + + return t.symbol.GetText() +} + +func (t *TerminalNodeImpl) ToStringTree(_ []string, _ Recognizer) string { + return t.String() +} + +// Represents a token that was consumed during reSynchronization +// rather than during a valid Match operation. For example, +// we will create this kind of a node during single token insertion +// and deletion as well as during "consume until error recovery set" +// upon no viable alternative exceptions. + +type ErrorNodeImpl struct { + *TerminalNodeImpl +} + +var _ ErrorNode = &ErrorNodeImpl{} + +func NewErrorNodeImpl(token Token) *ErrorNodeImpl { + en := new(ErrorNodeImpl) + en.TerminalNodeImpl = NewTerminalNodeImpl(token) + return en +} + +func (e *ErrorNodeImpl) errorNode() {} + +func (e *ErrorNodeImpl) Accept(v ParseTreeVisitor) interface{} { + return v.VisitErrorNode(e) +} + +type ParseTreeWalker struct { +} + +func NewParseTreeWalker() *ParseTreeWalker { + return new(ParseTreeWalker) +} + +// Walk performs a walk on the given parse tree starting at the root and going down recursively +// with depth-first search. On each node, [EnterRule] is called before +// recursively walking down into child nodes, then [ExitRule] is called after the recursive call to wind up. +func (p *ParseTreeWalker) Walk(listener ParseTreeListener, t Tree) { + switch tt := t.(type) { + case ErrorNode: + listener.VisitErrorNode(tt) + case TerminalNode: + listener.VisitTerminal(tt) + default: + p.EnterRule(listener, t.(RuleNode)) + for i := 0; i < t.GetChildCount(); i++ { + child := t.GetChild(i) + p.Walk(listener, child) + } + p.ExitRule(listener, t.(RuleNode)) + } +} + +// EnterRule enters a grammar rule by first triggering the generic event [ParseTreeListener].[EnterEveryRule] +// then by triggering the event specific to the given parse tree node +func (p *ParseTreeWalker) EnterRule(listener ParseTreeListener, r RuleNode) { + ctx := r.GetRuleContext().(ParserRuleContext) + listener.EnterEveryRule(ctx) + ctx.EnterRule(listener) +} + +// ExitRule exits a grammar rule by first triggering the event specific to the given parse tree node +// then by triggering the generic event [ParseTreeListener].ExitEveryRule +func (p *ParseTreeWalker) ExitRule(listener ParseTreeListener, r RuleNode) { + ctx := r.GetRuleContext().(ParserRuleContext) + ctx.ExitRule(listener) + listener.ExitEveryRule(ctx) +} + +//goland:noinspection GoUnusedGlobalVariable +var ParseTreeWalkerDefault = NewParseTreeWalker() + +type IterativeParseTreeWalker struct { + *ParseTreeWalker +} + +//goland:noinspection GoUnusedExportedFunction +func NewIterativeParseTreeWalker() *IterativeParseTreeWalker { + return new(IterativeParseTreeWalker) +} + +func (i *IterativeParseTreeWalker) Walk(listener ParseTreeListener, t Tree) { + var stack []Tree + var indexStack []int + currentNode := t + currentIndex := 0 + + for currentNode != nil { + // pre-order visit + switch tt := currentNode.(type) { + case ErrorNode: + listener.VisitErrorNode(tt) + case TerminalNode: + listener.VisitTerminal(tt) + default: + i.EnterRule(listener, currentNode.(RuleNode)) + } + // Move down to first child, if exists + if currentNode.GetChildCount() > 0 { + stack = append(stack, currentNode) + indexStack = append(indexStack, currentIndex) + currentIndex = 0 + currentNode = currentNode.GetChild(0) + continue + } + + for { + // post-order visit + if ruleNode, ok := currentNode.(RuleNode); ok { + i.ExitRule(listener, ruleNode) + } + // No parent, so no siblings + if len(stack) == 0 { + currentNode = nil + currentIndex = 0 + break + } + // Move to next sibling if possible + currentIndex++ + if stack[len(stack)-1].GetChildCount() > currentIndex { + currentNode = stack[len(stack)-1].GetChild(currentIndex) + break + } + // No next, sibling, so move up + currentNode, stack = stack[len(stack)-1], stack[:len(stack)-1] + currentIndex, indexStack = indexStack[len(indexStack)-1], indexStack[:len(indexStack)-1] + } + } +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/trees.go b/vendor/github.com/antlr4-go/antlr/v4/trees.go new file mode 100644 index 000000000..f44c05d81 --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/trees.go @@ -0,0 +1,142 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import "fmt" + +/** A set of utility routines useful for all kinds of ANTLR trees. */ + +// TreesStringTree prints out a whole tree in LISP form. [getNodeText] is used on the +// node payloads to get the text for the nodes. Detects parse trees and extracts data appropriately. +func TreesStringTree(tree Tree, ruleNames []string, recog Recognizer) string { + + if recog != nil { + ruleNames = recog.GetRuleNames() + } + + s := TreesGetNodeText(tree, ruleNames, nil) + + s = EscapeWhitespace(s, false) + c := tree.GetChildCount() + if c == 0 { + return s + } + res := "(" + s + " " + if c > 0 { + s = TreesStringTree(tree.GetChild(0), ruleNames, nil) + res += s + } + for i := 1; i < c; i++ { + s = TreesStringTree(tree.GetChild(i), ruleNames, nil) + res += " " + s + } + res += ")" + return res +} + +func TreesGetNodeText(t Tree, ruleNames []string, recog Parser) string { + if recog != nil { + ruleNames = recog.GetRuleNames() + } + + if ruleNames != nil { + switch t2 := t.(type) { + case RuleNode: + t3 := t2.GetRuleContext() + altNumber := t3.GetAltNumber() + + if altNumber != ATNInvalidAltNumber { + return fmt.Sprintf("%s:%d", ruleNames[t3.GetRuleIndex()], altNumber) + } + return ruleNames[t3.GetRuleIndex()] + case ErrorNode: + return fmt.Sprint(t2) + case TerminalNode: + if t2.GetSymbol() != nil { + return t2.GetSymbol().GetText() + } + } + } + + // no recognition for rule names + payload := t.GetPayload() + if p2, ok := payload.(Token); ok { + return p2.GetText() + } + + return fmt.Sprint(t.GetPayload()) +} + +// TreesGetChildren returns am ordered list of all children of this node +// +//goland:noinspection GoUnusedExportedFunction +func TreesGetChildren(t Tree) []Tree { + list := make([]Tree, 0) + for i := 0; i < t.GetChildCount(); i++ { + list = append(list, t.GetChild(i)) + } + return list +} + +// TreesgetAncestors returns a list of all ancestors of this node. The first node of list is the root +// and the last node is the parent of this node. +// +//goland:noinspection GoUnusedExportedFunction +func TreesgetAncestors(t Tree) []Tree { + ancestors := make([]Tree, 0) + t = t.GetParent() + for t != nil { + f := []Tree{t} + ancestors = append(f, ancestors...) + t = t.GetParent() + } + return ancestors +} + +//goland:noinspection GoUnusedExportedFunction +func TreesFindAllTokenNodes(t ParseTree, ttype int) []ParseTree { + return TreesfindAllNodes(t, ttype, true) +} + +//goland:noinspection GoUnusedExportedFunction +func TreesfindAllRuleNodes(t ParseTree, ruleIndex int) []ParseTree { + return TreesfindAllNodes(t, ruleIndex, false) +} + +func TreesfindAllNodes(t ParseTree, index int, findTokens bool) []ParseTree { + nodes := make([]ParseTree, 0) + treesFindAllNodes(t, index, findTokens, &nodes) + return nodes +} + +func treesFindAllNodes(t ParseTree, index int, findTokens bool, nodes *[]ParseTree) { + // check this node (the root) first + + t2, ok := t.(TerminalNode) + t3, ok2 := t.(ParserRuleContext) + + if findTokens && ok { + if t2.GetSymbol().GetTokenType() == index { + *nodes = append(*nodes, t2) + } + } else if !findTokens && ok2 { + if t3.GetRuleIndex() == index { + *nodes = append(*nodes, t3) + } + } + // check children + for i := 0; i < t.GetChildCount(); i++ { + treesFindAllNodes(t.GetChild(i).(ParseTree), index, findTokens, nodes) + } +} + +//goland:noinspection GoUnusedExportedFunction +func TreesDescendants(t ParseTree) []ParseTree { + nodes := []ParseTree{t} + for i := 0; i < t.GetChildCount(); i++ { + nodes = append(nodes, TreesDescendants(t.GetChild(i).(ParseTree))...) + } + return nodes +} diff --git a/vendor/github.com/antlr4-go/antlr/v4/utils.go b/vendor/github.com/antlr4-go/antlr/v4/utils.go new file mode 100644 index 000000000..733d7df9d --- /dev/null +++ b/vendor/github.com/antlr4-go/antlr/v4/utils.go @@ -0,0 +1,328 @@ +// Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. +// Use of this file is governed by the BSD 3-clause license that +// can be found in the LICENSE.txt file in the project root. + +package antlr + +import ( + "bytes" + "errors" + "fmt" + "math/bits" + "os" + "strconv" + "strings" + "syscall" +) + +func intMin(a, b int) int { + if a < b { + return a + } + return b +} + +func intMax(a, b int) int { + if a > b { + return a + } + return b +} + +// A simple integer stack + +type IntStack []int + +var ErrEmptyStack = errors.New("stack is empty") + +func (s *IntStack) Pop() (int, error) { + l := len(*s) - 1 + if l < 0 { + return 0, ErrEmptyStack + } + v := (*s)[l] + *s = (*s)[0:l] + return v, nil +} + +func (s *IntStack) Push(e int) { + *s = append(*s, e) +} + +const bitsPerWord = 64 + +func indexForBit(bit int) int { + return bit / bitsPerWord +} + +//goland:noinspection GoUnusedExportedFunction,GoUnusedFunction +func wordForBit(data []uint64, bit int) uint64 { + idx := indexForBit(bit) + if idx >= len(data) { + return 0 + } + return data[idx] +} + +func maskForBit(bit int) uint64 { + return uint64(1) << (bit % bitsPerWord) +} + +func wordsNeeded(bit int) int { + return indexForBit(bit) + 1 +} + +type BitSet struct { + data []uint64 +} + +// NewBitSet creates a new bitwise set +// TODO: See if we can replace with the standard library's BitSet +func NewBitSet() *BitSet { + return &BitSet{} +} + +func (b *BitSet) add(value int) { + idx := indexForBit(value) + if idx >= len(b.data) { + size := wordsNeeded(value) + data := make([]uint64, size) + copy(data, b.data) + b.data = data + } + b.data[idx] |= maskForBit(value) +} + +func (b *BitSet) clear(index int) { + idx := indexForBit(index) + if idx >= len(b.data) { + return + } + b.data[idx] &= ^maskForBit(index) +} + +func (b *BitSet) or(set *BitSet) { + // Get min size necessary to represent the bits in both sets. + bLen := b.minLen() + setLen := set.minLen() + maxLen := intMax(bLen, setLen) + if maxLen > len(b.data) { + // Increase the size of len(b.data) to represent the bits in both sets. + data := make([]uint64, maxLen) + copy(data, b.data) + b.data = data + } + // len(b.data) is at least setLen. + for i := 0; i < setLen; i++ { + b.data[i] |= set.data[i] + } +} + +func (b *BitSet) remove(value int) { + b.clear(value) +} + +func (b *BitSet) contains(value int) bool { + idx := indexForBit(value) + if idx >= len(b.data) { + return false + } + return (b.data[idx] & maskForBit(value)) != 0 +} + +func (b *BitSet) minValue() int { + for i, v := range b.data { + if v == 0 { + continue + } + return i*bitsPerWord + bits.TrailingZeros64(v) + } + return 2147483647 +} + +func (b *BitSet) equals(other interface{}) bool { + otherBitSet, ok := other.(*BitSet) + if !ok { + return false + } + + if b == otherBitSet { + return true + } + + // We only compare set bits, so we cannot rely on the two slices having the same size. Its + // possible for two BitSets to have different slice lengths but the same set bits. So we only + // compare the relevant words and ignore the trailing zeros. + bLen := b.minLen() + otherLen := otherBitSet.minLen() + + if bLen != otherLen { + return false + } + + for i := 0; i < bLen; i++ { + if b.data[i] != otherBitSet.data[i] { + return false + } + } + + return true +} + +func (b *BitSet) minLen() int { + for i := len(b.data); i > 0; i-- { + if b.data[i-1] != 0 { + return i + } + } + return 0 +} + +func (b *BitSet) length() int { + cnt := 0 + for _, val := range b.data { + cnt += bits.OnesCount64(val) + } + return cnt +} + +func (b *BitSet) String() string { + vals := make([]string, 0, b.length()) + + for i, v := range b.data { + for v != 0 { + n := bits.TrailingZeros64(v) + vals = append(vals, strconv.Itoa(i*bitsPerWord+n)) + v &= ^(uint64(1) << n) + } + } + + return "{" + strings.Join(vals, ", ") + "}" +} + +type AltDict struct { + data map[string]interface{} +} + +func NewAltDict() *AltDict { + d := new(AltDict) + d.data = make(map[string]interface{}) + return d +} + +func (a *AltDict) Get(key string) interface{} { + key = "k-" + key + return a.data[key] +} + +func (a *AltDict) put(key string, value interface{}) { + key = "k-" + key + a.data[key] = value +} + +func (a *AltDict) values() []interface{} { + vs := make([]interface{}, len(a.data)) + i := 0 + for _, v := range a.data { + vs[i] = v + i++ + } + return vs +} + +func EscapeWhitespace(s string, escapeSpaces bool) string { + + s = strings.Replace(s, "\t", "\\t", -1) + s = strings.Replace(s, "\n", "\\n", -1) + s = strings.Replace(s, "\r", "\\r", -1) + if escapeSpaces { + s = strings.Replace(s, " ", "\u00B7", -1) + } + return s +} + +//goland:noinspection GoUnusedExportedFunction +func TerminalNodeToStringArray(sa []TerminalNode) []string { + st := make([]string, len(sa)) + + for i, s := range sa { + st[i] = fmt.Sprintf("%v", s) + } + + return st +} + +//goland:noinspection GoUnusedExportedFunction +func PrintArrayJavaStyle(sa []string) string { + var buffer bytes.Buffer + + buffer.WriteString("[") + + for i, s := range sa { + buffer.WriteString(s) + if i != len(sa)-1 { + buffer.WriteString(", ") + } + } + + buffer.WriteString("]") + + return buffer.String() +} + +// murmur hash +func murmurInit(seed int) int { + return seed +} + +func murmurUpdate(h int, value int) int { + const c1 uint32 = 0xCC9E2D51 + const c2 uint32 = 0x1B873593 + const r1 uint32 = 15 + const r2 uint32 = 13 + const m uint32 = 5 + const n uint32 = 0xE6546B64 + + k := uint32(value) + k *= c1 + k = (k << r1) | (k >> (32 - r1)) + k *= c2 + + hash := uint32(h) ^ k + hash = (hash << r2) | (hash >> (32 - r2)) + hash = hash*m + n + return int(hash) +} + +func murmurFinish(h int, numberOfWords int) int { + var hash = uint32(h) + hash ^= uint32(numberOfWords) << 2 + hash ^= hash >> 16 + hash *= 0x85ebca6b + hash ^= hash >> 13 + hash *= 0xc2b2ae35 + hash ^= hash >> 16 + + return int(hash) +} + +func isDirectory(dir string) (bool, error) { + fileInfo, err := os.Stat(dir) + if err != nil { + switch { + case errors.Is(err, syscall.ENOENT): + // The given directory does not exist, so we will try to create it + // + err = os.MkdirAll(dir, 0755) + if err != nil { + return false, err + } + + return true, nil + case err != nil: + return false, err + default: + } + } + return fileInfo.IsDir(), err +} diff --git a/vendor/github.com/go-logr/logr/funcr/funcr.go b/vendor/github.com/go-logr/logr/funcr/funcr.go new file mode 100644 index 000000000..30568e768 --- /dev/null +++ b/vendor/github.com/go-logr/logr/funcr/funcr.go @@ -0,0 +1,914 @@ +/* +Copyright 2021 The logr Authors. + +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 funcr implements formatting of structured log messages and +// optionally captures the call site and timestamp. +// +// The simplest way to use it is via its implementation of a +// github.com/go-logr/logr.LogSink with output through an arbitrary +// "write" function. See New and NewJSON for details. +// +// # Custom LogSinks +// +// For users who need more control, a funcr.Formatter can be embedded inside +// your own custom LogSink implementation. This is useful when the LogSink +// needs to implement additional methods, for example. +// +// # Formatting +// +// This will respect logr.Marshaler, fmt.Stringer, and error interfaces for +// values which are being logged. When rendering a struct, funcr will use Go's +// standard JSON tags (all except "string"). +package funcr + +import ( + "bytes" + "encoding" + "encoding/json" + "fmt" + "path/filepath" + "reflect" + "runtime" + "strconv" + "strings" + "time" + + "github.com/go-logr/logr" +) + +// New returns a logr.Logger which is implemented by an arbitrary function. +func New(fn func(prefix, args string), opts Options) logr.Logger { + return logr.New(newSink(fn, NewFormatter(opts))) +} + +// NewJSON returns a logr.Logger which is implemented by an arbitrary function +// and produces JSON output. +func NewJSON(fn func(obj string), opts Options) logr.Logger { + fnWrapper := func(_, obj string) { + fn(obj) + } + return logr.New(newSink(fnWrapper, NewFormatterJSON(opts))) +} + +// Underlier exposes access to the underlying logging function. Since +// callers only have a logr.Logger, they have to know which +// implementation is in use, so this interface is less of an +// abstraction and more of a way to test type conversion. +type Underlier interface { + GetUnderlying() func(prefix, args string) +} + +func newSink(fn func(prefix, args string), formatter Formatter) logr.LogSink { + l := &fnlogger{ + Formatter: formatter, + write: fn, + } + // For skipping fnlogger.Info and fnlogger.Error. + l.Formatter.AddCallDepth(1) + return l +} + +// Options carries parameters which influence the way logs are generated. +type Options struct { + // LogCaller tells funcr to add a "caller" key to some or all log lines. + // This has some overhead, so some users might not want it. + LogCaller MessageClass + + // LogCallerFunc tells funcr to also log the calling function name. This + // has no effect if caller logging is not enabled (see Options.LogCaller). + LogCallerFunc bool + + // LogTimestamp tells funcr to add a "ts" key to log lines. This has some + // overhead, so some users might not want it. + LogTimestamp bool + + // TimestampFormat tells funcr how to render timestamps when LogTimestamp + // is enabled. If not specified, a default format will be used. For more + // details, see docs for Go's time.Layout. + TimestampFormat string + + // LogInfoLevel tells funcr what key to use to log the info level. + // If not specified, the info level will be logged as "level". + // If this is set to "", the info level will not be logged at all. + LogInfoLevel *string + + // Verbosity tells funcr which V logs to produce. Higher values enable + // more logs. Info logs at or below this level will be written, while logs + // above this level will be discarded. + Verbosity int + + // RenderBuiltinsHook allows users to mutate the list of key-value pairs + // while a log line is being rendered. The kvList argument follows logr + // conventions - each pair of slice elements is comprised of a string key + // and an arbitrary value (verified and sanitized before calling this + // hook). The value returned must follow the same conventions. This hook + // can be used to audit or modify logged data. For example, you might want + // to prefix all of funcr's built-in keys with some string. This hook is + // only called for built-in (provided by funcr itself) key-value pairs. + // Equivalent hooks are offered for key-value pairs saved via + // logr.Logger.WithValues or Formatter.AddValues (see RenderValuesHook) and + // for user-provided pairs (see RenderArgsHook). + RenderBuiltinsHook func(kvList []any) []any + + // RenderValuesHook is the same as RenderBuiltinsHook, except that it is + // only called for key-value pairs saved via logr.Logger.WithValues. See + // RenderBuiltinsHook for more details. + RenderValuesHook func(kvList []any) []any + + // RenderArgsHook is the same as RenderBuiltinsHook, except that it is only + // called for key-value pairs passed directly to Info and Error. See + // RenderBuiltinsHook for more details. + RenderArgsHook func(kvList []any) []any + + // MaxLogDepth tells funcr how many levels of nested fields (e.g. a struct + // that contains a struct, etc.) it may log. Every time it finds a struct, + // slice, array, or map the depth is increased by one. When the maximum is + // reached, the value will be converted to a string indicating that the max + // depth has been exceeded. If this field is not specified, a default + // value will be used. + MaxLogDepth int +} + +// MessageClass indicates which category or categories of messages to consider. +type MessageClass int + +const ( + // None ignores all message classes. + None MessageClass = iota + // All considers all message classes. + All + // Info only considers info messages. + Info + // Error only considers error messages. + Error +) + +// fnlogger inherits some of its LogSink implementation from Formatter +// and just needs to add some glue code. +type fnlogger struct { + Formatter + write func(prefix, args string) +} + +func (l fnlogger) WithName(name string) logr.LogSink { + l.Formatter.AddName(name) + return &l +} + +func (l fnlogger) WithValues(kvList ...any) logr.LogSink { + l.Formatter.AddValues(kvList) + return &l +} + +func (l fnlogger) WithCallDepth(depth int) logr.LogSink { + l.Formatter.AddCallDepth(depth) + return &l +} + +func (l fnlogger) Info(level int, msg string, kvList ...any) { + prefix, args := l.FormatInfo(level, msg, kvList) + l.write(prefix, args) +} + +func (l fnlogger) Error(err error, msg string, kvList ...any) { + prefix, args := l.FormatError(err, msg, kvList) + l.write(prefix, args) +} + +func (l fnlogger) GetUnderlying() func(prefix, args string) { + return l.write +} + +// Assert conformance to the interfaces. +var _ logr.LogSink = &fnlogger{} +var _ logr.CallDepthLogSink = &fnlogger{} +var _ Underlier = &fnlogger{} + +// NewFormatter constructs a Formatter which emits a JSON-like key=value format. +func NewFormatter(opts Options) Formatter { + return newFormatter(opts, outputKeyValue) +} + +// NewFormatterJSON constructs a Formatter which emits strict JSON. +func NewFormatterJSON(opts Options) Formatter { + return newFormatter(opts, outputJSON) +} + +// Defaults for Options. +const defaultTimestampFormat = "2006-01-02 15:04:05.000000" +const defaultMaxLogDepth = 16 + +func newFormatter(opts Options, outfmt outputFormat) Formatter { + if opts.TimestampFormat == "" { + opts.TimestampFormat = defaultTimestampFormat + } + if opts.MaxLogDepth == 0 { + opts.MaxLogDepth = defaultMaxLogDepth + } + if opts.LogInfoLevel == nil { + opts.LogInfoLevel = new(string) + *opts.LogInfoLevel = "level" + } + f := Formatter{ + outputFormat: outfmt, + prefix: "", + values: nil, + depth: 0, + opts: &opts, + } + return f +} + +// Formatter is an opaque struct which can be embedded in a LogSink +// implementation. It should be constructed with NewFormatter. Some of +// its methods directly implement logr.LogSink. +type Formatter struct { + outputFormat outputFormat + prefix string + values []any + valuesStr string + depth int + opts *Options + groupName string // for slog groups + groups []groupDef +} + +// outputFormat indicates which outputFormat to use. +type outputFormat int + +const ( + // outputKeyValue emits a JSON-like key=value format, but not strict JSON. + outputKeyValue outputFormat = iota + // outputJSON emits strict JSON. + outputJSON +) + +// groupDef represents a saved group. The values may be empty, but we don't +// know if we need to render the group until the final record is rendered. +type groupDef struct { + name string + values string +} + +// PseudoStruct is a list of key-value pairs that gets logged as a struct. +type PseudoStruct []any + +// render produces a log line, ready to use. +func (f Formatter) render(builtins, args []any) string { + // Empirically bytes.Buffer is faster than strings.Builder for this. + buf := bytes.NewBuffer(make([]byte, 0, 1024)) + + if f.outputFormat == outputJSON { + buf.WriteByte('{') // for the whole record + } + + // Render builtins + vals := builtins + if hook := f.opts.RenderBuiltinsHook; hook != nil { + vals = hook(f.sanitize(vals)) + } + f.flatten(buf, vals, false) // keys are ours, no need to escape + continuing := len(builtins) > 0 + + // Turn the inner-most group into a string + argsStr := func() string { + buf := bytes.NewBuffer(make([]byte, 0, 1024)) + + vals = args + if hook := f.opts.RenderArgsHook; hook != nil { + vals = hook(f.sanitize(vals)) + } + f.flatten(buf, vals, true) // escape user-provided keys + + return buf.String() + }() + + // Render the stack of groups from the inside out. + bodyStr := f.renderGroup(f.groupName, f.valuesStr, argsStr) + for i := len(f.groups) - 1; i >= 0; i-- { + grp := &f.groups[i] + if grp.values == "" && bodyStr == "" { + // no contents, so we must elide the whole group + continue + } + bodyStr = f.renderGroup(grp.name, grp.values, bodyStr) + } + + if bodyStr != "" { + if continuing { + buf.WriteByte(f.comma()) + } + buf.WriteString(bodyStr) + } + + if f.outputFormat == outputJSON { + buf.WriteByte('}') // for the whole record + } + + return buf.String() +} + +// renderGroup returns a string representation of the named group with rendered +// values and args. If the name is empty, this will return the values and args, +// joined. If the name is not empty, this will return a single key-value pair, +// where the value is a grouping of the values and args. If the values and +// args are both empty, this will return an empty string, even if the name was +// specified. +func (f Formatter) renderGroup(name string, values string, args string) string { + buf := bytes.NewBuffer(make([]byte, 0, 1024)) + + needClosingBrace := false + if name != "" && (values != "" || args != "") { + buf.WriteString(f.quoted(name, true)) // escape user-provided keys + buf.WriteByte(f.colon()) + buf.WriteByte('{') + needClosingBrace = true + } + + continuing := false + if values != "" { + buf.WriteString(values) + continuing = true + } + + if args != "" { + if continuing { + buf.WriteByte(f.comma()) + } + buf.WriteString(args) + } + + if needClosingBrace { + buf.WriteByte('}') + } + + return buf.String() +} + +// flatten renders a list of key-value pairs into a buffer. If escapeKeys is +// true, the keys are assumed to have non-JSON-compatible characters in them +// and must be evaluated for escapes. +// +// This function returns a potentially modified version of kvList, which +// ensures that there is a value for every key (adding a value if needed) and +// that each key is a string (substituting a key if needed). +func (f Formatter) flatten(buf *bytes.Buffer, kvList []any, escapeKeys bool) []any { + // This logic overlaps with sanitize() but saves one type-cast per key, + // which can be measurable. + if len(kvList)%2 != 0 { + kvList = append(kvList, noValue) + } + copied := false + for i := 0; i < len(kvList); i += 2 { + k, ok := kvList[i].(string) + if !ok { + if !copied { + newList := make([]any, len(kvList)) + copy(newList, kvList) + kvList = newList + copied = true + } + k = f.nonStringKey(kvList[i]) + kvList[i] = k + } + v := kvList[i+1] + + if i > 0 { + if f.outputFormat == outputJSON { + buf.WriteByte(f.comma()) + } else { + // In theory the format could be something we don't understand. In + // practice, we control it, so it won't be. + buf.WriteByte(' ') + } + } + + buf.WriteString(f.quoted(k, escapeKeys)) + buf.WriteByte(f.colon()) + buf.WriteString(f.pretty(v)) + } + return kvList +} + +func (f Formatter) quoted(str string, escape bool) string { + if escape { + return prettyString(str) + } + // this is faster + return `"` + str + `"` +} + +func (f Formatter) comma() byte { + if f.outputFormat == outputJSON { + return ',' + } + return ' ' +} + +func (f Formatter) colon() byte { + if f.outputFormat == outputJSON { + return ':' + } + return '=' +} + +func (f Formatter) pretty(value any) string { + return f.prettyWithFlags(value, 0, 0) +} + +const ( + flagRawStruct = 0x1 // do not print braces on structs +) + +// TODO: This is not fast. Most of the overhead goes here. +func (f Formatter) prettyWithFlags(value any, flags uint32, depth int) string { + if depth > f.opts.MaxLogDepth { + return `""` + } + + // Handle types that take full control of logging. + if v, ok := value.(logr.Marshaler); ok { + // Replace the value with what the type wants to get logged. + // That then gets handled below via reflection. + value = invokeMarshaler(v) + } + + // Handle types that want to format themselves. + switch v := value.(type) { + case fmt.Stringer: + value = invokeStringer(v) + case error: + value = invokeError(v) + } + + // Handling the most common types without reflect is a small perf win. + switch v := value.(type) { + case bool: + return strconv.FormatBool(v) + case string: + return prettyString(v) + case int: + return strconv.FormatInt(int64(v), 10) + case int8: + return strconv.FormatInt(int64(v), 10) + case int16: + return strconv.FormatInt(int64(v), 10) + case int32: + return strconv.FormatInt(int64(v), 10) + case int64: + return strconv.FormatInt(int64(v), 10) + case uint: + return strconv.FormatUint(uint64(v), 10) + case uint8: + return strconv.FormatUint(uint64(v), 10) + case uint16: + return strconv.FormatUint(uint64(v), 10) + case uint32: + return strconv.FormatUint(uint64(v), 10) + case uint64: + return strconv.FormatUint(v, 10) + case uintptr: + return strconv.FormatUint(uint64(v), 10) + case float32: + return strconv.FormatFloat(float64(v), 'f', -1, 32) + case float64: + return strconv.FormatFloat(v, 'f', -1, 64) + case complex64: + return `"` + strconv.FormatComplex(complex128(v), 'f', -1, 64) + `"` + case complex128: + return `"` + strconv.FormatComplex(v, 'f', -1, 128) + `"` + case PseudoStruct: + buf := bytes.NewBuffer(make([]byte, 0, 1024)) + v = f.sanitize(v) + if flags&flagRawStruct == 0 { + buf.WriteByte('{') + } + for i := 0; i < len(v); i += 2 { + if i > 0 { + buf.WriteByte(f.comma()) + } + k, _ := v[i].(string) // sanitize() above means no need to check success + // arbitrary keys might need escaping + buf.WriteString(prettyString(k)) + buf.WriteByte(f.colon()) + buf.WriteString(f.prettyWithFlags(v[i+1], 0, depth+1)) + } + if flags&flagRawStruct == 0 { + buf.WriteByte('}') + } + return buf.String() + } + + buf := bytes.NewBuffer(make([]byte, 0, 256)) + t := reflect.TypeOf(value) + if t == nil { + return "null" + } + v := reflect.ValueOf(value) + switch t.Kind() { + case reflect.Bool: + return strconv.FormatBool(v.Bool()) + case reflect.String: + return prettyString(v.String()) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return strconv.FormatInt(int64(v.Int()), 10) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return strconv.FormatUint(uint64(v.Uint()), 10) + case reflect.Float32: + return strconv.FormatFloat(float64(v.Float()), 'f', -1, 32) + case reflect.Float64: + return strconv.FormatFloat(v.Float(), 'f', -1, 64) + case reflect.Complex64: + return `"` + strconv.FormatComplex(complex128(v.Complex()), 'f', -1, 64) + `"` + case reflect.Complex128: + return `"` + strconv.FormatComplex(v.Complex(), 'f', -1, 128) + `"` + case reflect.Struct: + if flags&flagRawStruct == 0 { + buf.WriteByte('{') + } + printComma := false // testing i>0 is not enough because of JSON omitted fields + for i := 0; i < t.NumField(); i++ { + fld := t.Field(i) + if fld.PkgPath != "" { + // reflect says this field is only defined for non-exported fields. + continue + } + if !v.Field(i).CanInterface() { + // reflect isn't clear exactly what this means, but we can't use it. + continue + } + name := "" + omitempty := false + if tag, found := fld.Tag.Lookup("json"); found { + if tag == "-" { + continue + } + if comma := strings.Index(tag, ","); comma != -1 { + if n := tag[:comma]; n != "" { + name = n + } + rest := tag[comma:] + if strings.Contains(rest, ",omitempty,") || strings.HasSuffix(rest, ",omitempty") { + omitempty = true + } + } else { + name = tag + } + } + if omitempty && isEmpty(v.Field(i)) { + continue + } + if printComma { + buf.WriteByte(f.comma()) + } + printComma = true // if we got here, we are rendering a field + if fld.Anonymous && fld.Type.Kind() == reflect.Struct && name == "" { + buf.WriteString(f.prettyWithFlags(v.Field(i).Interface(), flags|flagRawStruct, depth+1)) + continue + } + if name == "" { + name = fld.Name + } + // field names can't contain characters which need escaping + buf.WriteString(f.quoted(name, false)) + buf.WriteByte(f.colon()) + buf.WriteString(f.prettyWithFlags(v.Field(i).Interface(), 0, depth+1)) + } + if flags&flagRawStruct == 0 { + buf.WriteByte('}') + } + return buf.String() + case reflect.Slice, reflect.Array: + // If this is outputing as JSON make sure this isn't really a json.RawMessage. + // If so just emit "as-is" and don't pretty it as that will just print + // it as [X,Y,Z,...] which isn't terribly useful vs the string form you really want. + if f.outputFormat == outputJSON { + if rm, ok := value.(json.RawMessage); ok { + // If it's empty make sure we emit an empty value as the array style would below. + if len(rm) > 0 { + buf.Write(rm) + } else { + buf.WriteString("null") + } + return buf.String() + } + } + buf.WriteByte('[') + for i := 0; i < v.Len(); i++ { + if i > 0 { + buf.WriteByte(f.comma()) + } + e := v.Index(i) + buf.WriteString(f.prettyWithFlags(e.Interface(), 0, depth+1)) + } + buf.WriteByte(']') + return buf.String() + case reflect.Map: + buf.WriteByte('{') + // This does not sort the map keys, for best perf. + it := v.MapRange() + i := 0 + for it.Next() { + if i > 0 { + buf.WriteByte(f.comma()) + } + // If a map key supports TextMarshaler, use it. + keystr := "" + if m, ok := it.Key().Interface().(encoding.TextMarshaler); ok { + txt, err := m.MarshalText() + if err != nil { + keystr = fmt.Sprintf("", err.Error()) + } else { + keystr = string(txt) + } + keystr = prettyString(keystr) + } else { + // prettyWithFlags will produce already-escaped values + keystr = f.prettyWithFlags(it.Key().Interface(), 0, depth+1) + if t.Key().Kind() != reflect.String { + // JSON only does string keys. Unlike Go's standard JSON, we'll + // convert just about anything to a string. + keystr = prettyString(keystr) + } + } + buf.WriteString(keystr) + buf.WriteByte(f.colon()) + buf.WriteString(f.prettyWithFlags(it.Value().Interface(), 0, depth+1)) + i++ + } + buf.WriteByte('}') + return buf.String() + case reflect.Ptr, reflect.Interface: + if v.IsNil() { + return "null" + } + return f.prettyWithFlags(v.Elem().Interface(), 0, depth) + } + return fmt.Sprintf(`""`, t.Kind().String()) +} + +func prettyString(s string) string { + // Avoid escaping (which does allocations) if we can. + if needsEscape(s) { + return strconv.Quote(s) + } + b := bytes.NewBuffer(make([]byte, 0, 1024)) + b.WriteByte('"') + b.WriteString(s) + b.WriteByte('"') + return b.String() +} + +// needsEscape determines whether the input string needs to be escaped or not, +// without doing any allocations. +func needsEscape(s string) bool { + for _, r := range s { + if !strconv.IsPrint(r) || r == '\\' || r == '"' { + return true + } + } + return false +} + +func isEmpty(v reflect.Value) bool { + switch v.Kind() { + case reflect.Array, reflect.Map, reflect.Slice, reflect.String: + return v.Len() == 0 + case reflect.Bool: + return !v.Bool() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return v.Uint() == 0 + case reflect.Float32, reflect.Float64: + return v.Float() == 0 + case reflect.Complex64, reflect.Complex128: + return v.Complex() == 0 + case reflect.Interface, reflect.Ptr: + return v.IsNil() + } + return false +} + +func invokeMarshaler(m logr.Marshaler) (ret any) { + defer func() { + if r := recover(); r != nil { + ret = fmt.Sprintf("", r) + } + }() + return m.MarshalLog() +} + +func invokeStringer(s fmt.Stringer) (ret string) { + defer func() { + if r := recover(); r != nil { + ret = fmt.Sprintf("", r) + } + }() + return s.String() +} + +func invokeError(e error) (ret string) { + defer func() { + if r := recover(); r != nil { + ret = fmt.Sprintf("", r) + } + }() + return e.Error() +} + +// Caller represents the original call site for a log line, after considering +// logr.Logger.WithCallDepth and logr.Logger.WithCallStackHelper. The File and +// Line fields will always be provided, while the Func field is optional. +// Users can set the render hook fields in Options to examine logged key-value +// pairs, one of which will be {"caller", Caller} if the Options.LogCaller +// field is enabled for the given MessageClass. +type Caller struct { + // File is the basename of the file for this call site. + File string `json:"file"` + // Line is the line number in the file for this call site. + Line int `json:"line"` + // Func is the function name for this call site, or empty if + // Options.LogCallerFunc is not enabled. + Func string `json:"function,omitempty"` +} + +func (f Formatter) caller() Caller { + // +1 for this frame, +1 for Info/Error. + pc, file, line, ok := runtime.Caller(f.depth + 2) + if !ok { + return Caller{"", 0, ""} + } + fn := "" + if f.opts.LogCallerFunc { + if fp := runtime.FuncForPC(pc); fp != nil { + fn = fp.Name() + } + } + + return Caller{filepath.Base(file), line, fn} +} + +const noValue = "" + +func (f Formatter) nonStringKey(v any) string { + return fmt.Sprintf("", f.snippet(v)) +} + +// snippet produces a short snippet string of an arbitrary value. +func (f Formatter) snippet(v any) string { + const snipLen = 16 + + snip := f.pretty(v) + if len(snip) > snipLen { + snip = snip[:snipLen] + } + return snip +} + +// sanitize ensures that a list of key-value pairs has a value for every key +// (adding a value if needed) and that each key is a string (substituting a key +// if needed). +func (f Formatter) sanitize(kvList []any) []any { + if len(kvList)%2 != 0 { + kvList = append(kvList, noValue) + } + for i := 0; i < len(kvList); i += 2 { + _, ok := kvList[i].(string) + if !ok { + kvList[i] = f.nonStringKey(kvList[i]) + } + } + return kvList +} + +// startGroup opens a new group scope (basically a sub-struct), which locks all +// the current saved values and starts them anew. This is needed to satisfy +// slog. +func (f *Formatter) startGroup(name string) { + // Unnamed groups are just inlined. + if name == "" { + return + } + + n := len(f.groups) + f.groups = append(f.groups[:n:n], groupDef{f.groupName, f.valuesStr}) + + // Start collecting new values. + f.groupName = name + f.valuesStr = "" + f.values = nil +} + +// Init configures this Formatter from runtime info, such as the call depth +// imposed by logr itself. +// Note that this receiver is a pointer, so depth can be saved. +func (f *Formatter) Init(info logr.RuntimeInfo) { + f.depth += info.CallDepth +} + +// Enabled checks whether an info message at the given level should be logged. +func (f Formatter) Enabled(level int) bool { + return level <= f.opts.Verbosity +} + +// GetDepth returns the current depth of this Formatter. This is useful for +// implementations which do their own caller attribution. +func (f Formatter) GetDepth() int { + return f.depth +} + +// FormatInfo renders an Info log message into strings. The prefix will be +// empty when no names were set (via AddNames), or when the output is +// configured for JSON. +func (f Formatter) FormatInfo(level int, msg string, kvList []any) (prefix, argsStr string) { + args := make([]any, 0, 64) // using a constant here impacts perf + prefix = f.prefix + if f.outputFormat == outputJSON { + args = append(args, "logger", prefix) + prefix = "" + } + if f.opts.LogTimestamp { + args = append(args, "ts", time.Now().Format(f.opts.TimestampFormat)) + } + if policy := f.opts.LogCaller; policy == All || policy == Info { + args = append(args, "caller", f.caller()) + } + if key := *f.opts.LogInfoLevel; key != "" { + args = append(args, key, level) + } + args = append(args, "msg", msg) + return prefix, f.render(args, kvList) +} + +// FormatError renders an Error log message into strings. The prefix will be +// empty when no names were set (via AddNames), or when the output is +// configured for JSON. +func (f Formatter) FormatError(err error, msg string, kvList []any) (prefix, argsStr string) { + args := make([]any, 0, 64) // using a constant here impacts perf + prefix = f.prefix + if f.outputFormat == outputJSON { + args = append(args, "logger", prefix) + prefix = "" + } + if f.opts.LogTimestamp { + args = append(args, "ts", time.Now().Format(f.opts.TimestampFormat)) + } + if policy := f.opts.LogCaller; policy == All || policy == Error { + args = append(args, "caller", f.caller()) + } + args = append(args, "msg", msg) + var loggableErr any + if err != nil { + loggableErr = err.Error() + } + args = append(args, "error", loggableErr) + return prefix, f.render(args, kvList) +} + +// AddName appends the specified name. funcr uses '/' characters to separate +// name elements. Callers should not pass '/' in the provided name string, but +// this library does not actually enforce that. +func (f *Formatter) AddName(name string) { + if len(f.prefix) > 0 { + f.prefix += "/" + } + f.prefix += name +} + +// AddValues adds key-value pairs to the set of saved values to be logged with +// each log line. +func (f *Formatter) AddValues(kvList []any) { + // Three slice args forces a copy. + n := len(f.values) + f.values = append(f.values[:n:n], kvList...) + + vals := f.values + if hook := f.opts.RenderValuesHook; hook != nil { + vals = hook(f.sanitize(vals)) + } + + // Pre-render values, so we don't have to do it on each Info/Error call. + buf := bytes.NewBuffer(make([]byte, 0, 1024)) + f.flatten(buf, vals, true) // escape user-provided keys + f.valuesStr = buf.String() +} + +// AddCallDepth increases the number of stack-frames to skip when attributing +// the log line to a file and line. +func (f *Formatter) AddCallDepth(depth int) { + f.depth += depth +} diff --git a/vendor/github.com/go-logr/logr/funcr/slogsink.go b/vendor/github.com/go-logr/logr/funcr/slogsink.go new file mode 100644 index 000000000..7bd84761e --- /dev/null +++ b/vendor/github.com/go-logr/logr/funcr/slogsink.go @@ -0,0 +1,105 @@ +//go:build go1.21 +// +build go1.21 + +/* +Copyright 2023 The logr Authors. + +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 funcr + +import ( + "context" + "log/slog" + + "github.com/go-logr/logr" +) + +var _ logr.SlogSink = &fnlogger{} + +const extraSlogSinkDepth = 3 // 2 for slog, 1 for SlogSink + +func (l fnlogger) Handle(_ context.Context, record slog.Record) error { + kvList := make([]any, 0, 2*record.NumAttrs()) + record.Attrs(func(attr slog.Attr) bool { + kvList = attrToKVs(attr, kvList) + return true + }) + + if record.Level >= slog.LevelError { + l.WithCallDepth(extraSlogSinkDepth).Error(nil, record.Message, kvList...) + } else { + level := l.levelFromSlog(record.Level) + l.WithCallDepth(extraSlogSinkDepth).Info(level, record.Message, kvList...) + } + return nil +} + +func (l fnlogger) WithAttrs(attrs []slog.Attr) logr.SlogSink { + kvList := make([]any, 0, 2*len(attrs)) + for _, attr := range attrs { + kvList = attrToKVs(attr, kvList) + } + l.AddValues(kvList) + return &l +} + +func (l fnlogger) WithGroup(name string) logr.SlogSink { + l.startGroup(name) + return &l +} + +// attrToKVs appends a slog.Attr to a logr-style kvList. It handle slog Groups +// and other details of slog. +func attrToKVs(attr slog.Attr, kvList []any) []any { + attrVal := attr.Value.Resolve() + if attrVal.Kind() == slog.KindGroup { + groupVal := attrVal.Group() + grpKVs := make([]any, 0, 2*len(groupVal)) + for _, attr := range groupVal { + grpKVs = attrToKVs(attr, grpKVs) + } + if attr.Key == "" { + // slog says we have to inline these + kvList = append(kvList, grpKVs...) + } else { + kvList = append(kvList, attr.Key, PseudoStruct(grpKVs)) + } + } else if attr.Key != "" { + kvList = append(kvList, attr.Key, attrVal.Any()) + } + + return kvList +} + +// levelFromSlog adjusts the level by the logger's verbosity and negates it. +// It ensures that the result is >= 0. This is necessary because the result is +// passed to a LogSink and that API did not historically document whether +// levels could be negative or what that meant. +// +// Some example usage: +// +// logrV0 := getMyLogger() +// logrV2 := logrV0.V(2) +// slogV2 := slog.New(logr.ToSlogHandler(logrV2)) +// slogV2.Debug("msg") // =~ logrV2.V(4) =~ logrV0.V(6) +// slogV2.Info("msg") // =~ logrV2.V(0) =~ logrV0.V(2) +// slogv2.Warn("msg") // =~ logrV2.V(-4) =~ logrV0.V(0) +func (l fnlogger) levelFromSlog(level slog.Level) int { + result := -level + if result < 0 { + result = 0 // because LogSink doesn't expect negative V levels + } + return int(result) +} diff --git a/vendor/github.com/go-task/slim-sprig/v3/.editorconfig b/vendor/github.com/go-task/slim-sprig/v3/.editorconfig new file mode 100644 index 000000000..b0c95367e --- /dev/null +++ b/vendor/github.com/go-task/slim-sprig/v3/.editorconfig @@ -0,0 +1,14 @@ +# editorconfig.org + +root = true + +[*] +insert_final_newline = true +charset = utf-8 +trim_trailing_whitespace = true +indent_style = tab +indent_size = 8 + +[*.{md,yml,yaml,json}] +indent_style = space +indent_size = 2 diff --git a/vendor/github.com/go-task/slim-sprig/v3/.gitattributes b/vendor/github.com/go-task/slim-sprig/v3/.gitattributes new file mode 100644 index 000000000..176a458f9 --- /dev/null +++ b/vendor/github.com/go-task/slim-sprig/v3/.gitattributes @@ -0,0 +1 @@ +* text=auto diff --git a/vendor/github.com/go-task/slim-sprig/v3/.gitignore b/vendor/github.com/go-task/slim-sprig/v3/.gitignore new file mode 100644 index 000000000..5e3002f88 --- /dev/null +++ b/vendor/github.com/go-task/slim-sprig/v3/.gitignore @@ -0,0 +1,2 @@ +vendor/ +/.glide diff --git a/vendor/github.com/go-task/slim-sprig/v3/CHANGELOG.md b/vendor/github.com/go-task/slim-sprig/v3/CHANGELOG.md new file mode 100644 index 000000000..2ce45dd4e --- /dev/null +++ b/vendor/github.com/go-task/slim-sprig/v3/CHANGELOG.md @@ -0,0 +1,383 @@ +# Changelog + +## Release 3.2.3 (2022-11-29) + +### Changed + +- Updated docs (thanks @book987 @aJetHorn @neelayu @pellizzetti @apricote @SaigyoujiYuyuko233 @AlekSi) +- #348: Updated huandu/xstrings which fixed a snake case bug (thanks @yxxhero) +- #353: Updated masterminds/semver which included bug fixes +- #354: Updated golang.org/x/crypto which included bug fixes + +## Release 3.2.2 (2021-02-04) + +This is a re-release of 3.2.1 to satisfy something with the Go module system. + +## Release 3.2.1 (2021-02-04) + +### Changed + +- Upgraded `Masterminds/goutils` to `v1.1.1`. see the [Security Advisory](https://github.com/Masterminds/goutils/security/advisories/GHSA-xg2h-wx96-xgxr) + +## Release 3.2.0 (2020-12-14) + +### Added + +- #211: Added randInt function (thanks @kochurovro) +- #223: Added fromJson and mustFromJson functions (thanks @mholt) +- #242: Added a bcrypt function (thanks @robbiet480) +- #253: Added randBytes function (thanks @MikaelSmith) +- #254: Added dig function for dicts (thanks @nyarly) +- #257: Added regexQuoteMeta for quoting regex metadata (thanks @rheaton) +- #261: Added filepath functions osBase, osDir, osExt, osClean, osIsAbs (thanks @zugl) +- #268: Added and and all functions for testing conditions (thanks @phuslu) +- #181: Added float64 arithmetic addf, add1f, subf, divf, mulf, maxf, and minf + (thanks @andrewmostello) +- #265: Added chunk function to split array into smaller arrays (thanks @karelbilek) +- #270: Extend certificate functions to handle non-RSA keys + add support for + ed25519 keys (thanks @misberner) + +### Changed + +- Removed testing and support for Go 1.12. ed25519 support requires Go 1.13 or newer +- Using semver 3.1.1 and mergo 0.3.11 + +### Fixed + +- #249: Fix htmlDateInZone example (thanks @spawnia) + +NOTE: The dependency github.com/imdario/mergo reverted the breaking change in +0.3.9 via 0.3.10 release. + +## Release 3.1.0 (2020-04-16) + +NOTE: The dependency github.com/imdario/mergo made a behavior change in 0.3.9 +that impacts sprig functionality. Do not use sprig with a version newer than 0.3.8. + +### Added + +- #225: Added support for generating htpasswd hash (thanks @rustycl0ck) +- #224: Added duration filter (thanks @frebib) +- #205: Added `seq` function (thanks @thadc23) + +### Changed + +- #203: Unlambda functions with correct signature (thanks @muesli) +- #236: Updated the license formatting for GitHub display purposes +- #238: Updated package dependency versions. Note, mergo not updated to 0.3.9 + as it causes a breaking change for sprig. That issue is tracked at + https://github.com/imdario/mergo/issues/139 + +### Fixed + +- #229: Fix `seq` example in docs (thanks @kalmant) + +## Release 3.0.2 (2019-12-13) + +### Fixed + +- #220: Updating to semver v3.0.3 to fix issue with <= ranges +- #218: fix typo elyptical->elliptic in ecdsa key description (thanks @laverya) + +## Release 3.0.1 (2019-12-08) + +### Fixed + +- #212: Updated semver fixing broken constraint checking with ^0.0 + +## Release 3.0.0 (2019-10-02) + +### Added + +- #187: Added durationRound function (thanks @yjp20) +- #189: Added numerous template functions that return errors rather than panic (thanks @nrvnrvn) +- #193: Added toRawJson support (thanks @Dean-Coakley) +- #197: Added get support to dicts (thanks @Dean-Coakley) + +### Changed + +- #186: Moving dependency management to Go modules +- #186: Updated semver to v3. This has changes in the way ^ is handled +- #194: Updated documentation on merging and how it copies. Added example using deepCopy +- #196: trunc now supports negative values (thanks @Dean-Coakley) + +## Release 2.22.0 (2019-10-02) + +### Added + +- #173: Added getHostByName function to resolve dns names to ips (thanks @fcgravalos) +- #195: Added deepCopy function for use with dicts + +### Changed + +- Updated merge and mergeOverwrite documentation to explain copying and how to + use deepCopy with it + +## Release 2.21.0 (2019-09-18) + +### Added + +- #122: Added encryptAES/decryptAES functions (thanks @n0madic) +- #128: Added toDecimal support (thanks @Dean-Coakley) +- #169: Added list contcat (thanks @astorath) +- #174: Added deepEqual function (thanks @bonifaido) +- #170: Added url parse and join functions (thanks @astorath) + +### Changed + +- #171: Updated glide config for Google UUID to v1 and to add ranges to semver and testify + +### Fixed + +- #172: Fix semver wildcard example (thanks @piepmatz) +- #175: Fix dateInZone doc example (thanks @s3than) + +## Release 2.20.0 (2019-06-18) + +### Added + +- #164: Adding function to get unix epoch for a time (@mattfarina) +- #166: Adding tests for date_in_zone (@mattfarina) + +### Changed + +- #144: Fix function comments based on best practices from Effective Go (@CodeLingoTeam) +- #150: Handles pointer type for time.Time in "htmlDate" (@mapreal19) +- #161, #157, #160, #153, #158, #156, #155, #159, #152 documentation updates (@badeadan) + +### Fixed + +## Release 2.19.0 (2019-03-02) + +IMPORTANT: This release reverts a change from 2.18.0 + +In the previous release (2.18), we prematurely merged a partial change to the crypto functions that led to creating two sets of crypto functions (I blame @technosophos -- since that's me). This release rolls back that change, and does what was originally intended: It alters the existing crypto functions to use secure random. + +We debated whether this classifies as a change worthy of major revision, but given the proximity to the last release, we have decided that treating 2.18 as a faulty release is the correct course of action. We apologize for any inconvenience. + +### Changed + +- Fix substr panic 35fb796 (Alexey igrychev) +- Remove extra period 1eb7729 (Matthew Lorimor) +- Make random string functions use crypto by default 6ceff26 (Matthew Lorimor) +- README edits/fixes/suggestions 08fe136 (Lauri Apple) + + +## Release 2.18.0 (2019-02-12) + +### Added + +- Added mergeOverwrite function +- cryptographic functions that use secure random (see fe1de12) + +### Changed + +- Improve documentation of regexMatch function, resolves #139 90b89ce (Jan Tagscherer) +- Handle has for nil list 9c10885 (Daniel Cohen) +- Document behaviour of mergeOverwrite fe0dbe9 (Lukas Rieder) +- doc: adds missing documentation. 4b871e6 (Fernandez Ludovic) +- Replace outdated goutils imports 01893d2 (Matthew Lorimor) +- Surface crypto secure random strings from goutils fe1de12 (Matthew Lorimor) +- Handle untyped nil values as paramters to string functions 2b2ec8f (Morten Torkildsen) + +### Fixed + +- Fix dict merge issue and provide mergeOverwrite .dst .src1 to overwrite from src -> dst 4c59c12 (Lukas Rieder) +- Fix substr var names and comments d581f80 (Dean Coakley) +- Fix substr documentation 2737203 (Dean Coakley) + +## Release 2.17.1 (2019-01-03) + +### Fixed + +The 2.17.0 release did not have a version pinned for xstrings, which caused compilation failures when xstrings < 1.2 was used. This adds the correct version string to glide.yaml. + +## Release 2.17.0 (2019-01-03) + +### Added + +- adds alder32sum function and test 6908fc2 (marshallford) +- Added kebabcase function ca331a1 (Ilyes512) + +### Changed + +- Update goutils to 1.1.0 4e1125d (Matt Butcher) + +### Fixed + +- Fix 'has' documentation e3f2a85 (dean-coakley) +- docs(dict): fix typo in pick example dc424f9 (Dustin Specker) +- fixes spelling errors... not sure how that happened 4cf188a (marshallford) + +## Release 2.16.0 (2018-08-13) + +### Added + +- add splitn function fccb0b0 (Helgi Þorbjörnsson) +- Add slice func df28ca7 (gongdo) +- Generate serial number a3bdffd (Cody Coons) +- Extract values of dict with values function df39312 (Lawrence Jones) + +### Changed + +- Modify panic message for list.slice ae38335 (gongdo) +- Minor improvement in code quality - Removed an unreachable piece of code at defaults.go#L26:6 - Resolve formatting issues. 5834241 (Abhishek Kashyap) +- Remove duplicated documentation 1d97af1 (Matthew Fisher) +- Test on go 1.11 49df809 (Helgi Þormar Þorbjörnsson) + +### Fixed + +- Fix file permissions c5f40b5 (gongdo) +- Fix example for buildCustomCert 7779e0d (Tin Lam) + +## Release 2.15.0 (2018-04-02) + +### Added + +- #68 and #69: Add json helpers to docs (thanks @arunvelsriram) +- #66: Add ternary function (thanks @binoculars) +- #67: Allow keys function to take multiple dicts (thanks @binoculars) +- #89: Added sha1sum to crypto function (thanks @benkeil) +- #81: Allow customizing Root CA that used by genSignedCert (thanks @chenzhiwei) +- #92: Add travis testing for go 1.10 +- #93: Adding appveyor config for windows testing + +### Changed + +- #90: Updating to more recent dependencies +- #73: replace satori/go.uuid with google/uuid (thanks @petterw) + +### Fixed + +- #76: Fixed documentation typos (thanks @Thiht) +- Fixed rounding issue on the `ago` function. Note, the removes support for Go 1.8 and older + +## Release 2.14.1 (2017-12-01) + +### Fixed + +- #60: Fix typo in function name documentation (thanks @neil-ca-moore) +- #61: Removing line with {{ due to blocking github pages genertion +- #64: Update the list functions to handle int, string, and other slices for compatibility + +## Release 2.14.0 (2017-10-06) + +This new version of Sprig adds a set of functions for generating and working with SSL certificates. + +- `genCA` generates an SSL Certificate Authority +- `genSelfSignedCert` generates an SSL self-signed certificate +- `genSignedCert` generates an SSL certificate and key based on a given CA + +## Release 2.13.0 (2017-09-18) + +This release adds new functions, including: + +- `regexMatch`, `regexFindAll`, `regexFind`, `regexReplaceAll`, `regexReplaceAllLiteral`, and `regexSplit` to work with regular expressions +- `floor`, `ceil`, and `round` math functions +- `toDate` converts a string to a date +- `nindent` is just like `indent` but also prepends a new line +- `ago` returns the time from `time.Now` + +### Added + +- #40: Added basic regex functionality (thanks @alanquillin) +- #41: Added ceil floor and round functions (thanks @alanquillin) +- #48: Added toDate function (thanks @andreynering) +- #50: Added nindent function (thanks @binoculars) +- #46: Added ago function (thanks @slayer) + +### Changed + +- #51: Updated godocs to include new string functions (thanks @curtisallen) +- #49: Added ability to merge multiple dicts (thanks @binoculars) + +## Release 2.12.0 (2017-05-17) + +- `snakecase`, `camelcase`, and `shuffle` are three new string functions +- `fail` allows you to bail out of a template render when conditions are not met + +## Release 2.11.0 (2017-05-02) + +- Added `toJson` and `toPrettyJson` +- Added `merge` +- Refactored documentation + +## Release 2.10.0 (2017-03-15) + +- Added `semver` and `semverCompare` for Semantic Versions +- `list` replaces `tuple` +- Fixed issue with `join` +- Added `first`, `last`, `intial`, `rest`, `prepend`, `append`, `toString`, `toStrings`, `sortAlpha`, `reverse`, `coalesce`, `pluck`, `pick`, `compact`, `keys`, `omit`, `uniq`, `has`, `without` + +## Release 2.9.0 (2017-02-23) + +- Added `splitList` to split a list +- Added crypto functions of `genPrivateKey` and `derivePassword` + +## Release 2.8.0 (2016-12-21) + +- Added access to several path functions (`base`, `dir`, `clean`, `ext`, and `abs`) +- Added functions for _mutating_ dictionaries (`set`, `unset`, `hasKey`) + +## Release 2.7.0 (2016-12-01) + +- Added `sha256sum` to generate a hash of an input +- Added functions to convert a numeric or string to `int`, `int64`, `float64` + +## Release 2.6.0 (2016-10-03) + +- Added a `uuidv4` template function for generating UUIDs inside of a template. + +## Release 2.5.0 (2016-08-19) + +- New `trimSuffix`, `trimPrefix`, `hasSuffix`, and `hasPrefix` functions +- New aliases have been added for a few functions that didn't follow the naming conventions (`trimAll` and `abbrevBoth`) +- `trimall` and `abbrevboth` (notice the case) are deprecated and will be removed in 3.0.0 + +## Release 2.4.0 (2016-08-16) + +- Adds two functions: `until` and `untilStep` + +## Release 2.3.0 (2016-06-21) + +- cat: Concatenate strings with whitespace separators. +- replace: Replace parts of a string: `replace " " "-" "Me First"` renders "Me-First" +- plural: Format plurals: `len "foo" | plural "one foo" "many foos"` renders "many foos" +- indent: Indent blocks of text in a way that is sensitive to "\n" characters. + +## Release 2.2.0 (2016-04-21) + +- Added a `genPrivateKey` function (Thanks @bacongobbler) + +## Release 2.1.0 (2016-03-30) + +- `default` now prints the default value when it does not receive a value down the pipeline. It is much safer now to do `{{.Foo | default "bar"}}`. +- Added accessors for "hermetic" functions. These return only functions that, when given the same input, produce the same output. + +## Release 2.0.0 (2016-03-29) + +Because we switched from `int` to `int64` as the return value for all integer math functions, the library's major version number has been incremented. + +- `min` complements `max` (formerly `biggest`) +- `empty` indicates that a value is the empty value for its type +- `tuple` creates a tuple inside of a template: `{{$t := tuple "a", "b" "c"}}` +- `dict` creates a dictionary inside of a template `{{$d := dict "key1" "val1" "key2" "val2"}}` +- Date formatters have been added for HTML dates (as used in `date` input fields) +- Integer math functions can convert from a number of types, including `string` (via `strconv.ParseInt`). + +## Release 1.2.0 (2016-02-01) + +- Added quote and squote +- Added b32enc and b32dec +- add now takes varargs +- biggest now takes varargs + +## Release 1.1.0 (2015-12-29) + +- Added #4: Added contains function. strings.Contains, but with the arguments + switched to simplify common pipelines. (thanks krancour) +- Added Travis-CI testing support + +## Release 1.0.0 (2015-12-23) + +- Initial release diff --git a/vendor/github.com/go-task/slim-sprig/v3/LICENSE.txt b/vendor/github.com/go-task/slim-sprig/v3/LICENSE.txt new file mode 100644 index 000000000..f311b1eaa --- /dev/null +++ b/vendor/github.com/go-task/slim-sprig/v3/LICENSE.txt @@ -0,0 +1,19 @@ +Copyright (C) 2013-2020 Masterminds + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/github.com/go-task/slim-sprig/v3/README.md b/vendor/github.com/go-task/slim-sprig/v3/README.md new file mode 100644 index 000000000..b5ab56425 --- /dev/null +++ b/vendor/github.com/go-task/slim-sprig/v3/README.md @@ -0,0 +1,73 @@ +# Slim-Sprig: Template functions for Go templates [![Go Reference](https://pkg.go.dev/badge/github.com/go-task/slim-sprig/v3.svg)](https://pkg.go.dev/github.com/go-task/slim-sprig/v3) + +Slim-Sprig is a fork of [Sprig](https://github.com/Masterminds/sprig), but with +all functions that depend on external (non standard library) or crypto packages +removed. +The reason for this is to make this library more lightweight. Most of these +functions (specially crypto ones) are not needed on most apps, but costs a lot +in terms of binary size and compilation time. + +## Usage + +**Template developers**: Please use Slim-Sprig's [function documentation](https://go-task.github.io/slim-sprig/) for +detailed instructions and code snippets for the >100 template functions available. + +**Go developers**: If you'd like to include Slim-Sprig as a library in your program, +our API documentation is available [at GoDoc.org](http://godoc.org/github.com/go-task/slim-sprig). + +For standard usage, read on. + +### Load the Slim-Sprig library + +To load the Slim-Sprig `FuncMap`: + +```go + +import ( + "html/template" + + "github.com/go-task/slim-sprig" +) + +// This example illustrates that the FuncMap *must* be set before the +// templates themselves are loaded. +tpl := template.Must( + template.New("base").Funcs(sprig.FuncMap()).ParseGlob("*.html") +) +``` + +### Calling the functions inside of templates + +By convention, all functions are lowercase. This seems to follow the Go +idiom for template functions (as opposed to template methods, which are +TitleCase). For example, this: + +``` +{{ "hello!" | upper | repeat 5 }} +``` + +produces this: + +``` +HELLO!HELLO!HELLO!HELLO!HELLO! +``` + +## Principles Driving Our Function Selection + +We followed these principles to decide which functions to add and how to implement them: + +- Use template functions to build layout. The following + types of operations are within the domain of template functions: + - Formatting + - Layout + - Simple type conversions + - Utilities that assist in handling common formatting and layout needs (e.g. arithmetic) +- Template functions should not return errors unless there is no way to print + a sensible value. For example, converting a string to an integer should not + produce an error if conversion fails. Instead, it should display a default + value. +- Simple math is necessary for grid layouts, pagers, and so on. Complex math + (anything other than arithmetic) should be done outside of templates. +- Template functions only deal with the data passed into them. They never retrieve + data from a source. +- Finally, do not override core Go template functions. diff --git a/vendor/github.com/go-task/slim-sprig/v3/Taskfile.yml b/vendor/github.com/go-task/slim-sprig/v3/Taskfile.yml new file mode 100644 index 000000000..8e6346bb1 --- /dev/null +++ b/vendor/github.com/go-task/slim-sprig/v3/Taskfile.yml @@ -0,0 +1,12 @@ +# https://taskfile.dev + +version: '3' + +tasks: + default: + cmds: + - task: test + + test: + cmds: + - go test -v . diff --git a/vendor/github.com/go-task/slim-sprig/v3/crypto.go b/vendor/github.com/go-task/slim-sprig/v3/crypto.go new file mode 100644 index 000000000..d06e516d4 --- /dev/null +++ b/vendor/github.com/go-task/slim-sprig/v3/crypto.go @@ -0,0 +1,24 @@ +package sprig + +import ( + "crypto/sha1" + "crypto/sha256" + "encoding/hex" + "fmt" + "hash/adler32" +) + +func sha256sum(input string) string { + hash := sha256.Sum256([]byte(input)) + return hex.EncodeToString(hash[:]) +} + +func sha1sum(input string) string { + hash := sha1.Sum([]byte(input)) + return hex.EncodeToString(hash[:]) +} + +func adler32sum(input string) string { + hash := adler32.Checksum([]byte(input)) + return fmt.Sprintf("%d", hash) +} diff --git a/vendor/github.com/go-task/slim-sprig/v3/date.go b/vendor/github.com/go-task/slim-sprig/v3/date.go new file mode 100644 index 000000000..ed022ddac --- /dev/null +++ b/vendor/github.com/go-task/slim-sprig/v3/date.go @@ -0,0 +1,152 @@ +package sprig + +import ( + "strconv" + "time" +) + +// Given a format and a date, format the date string. +// +// Date can be a `time.Time` or an `int, int32, int64`. +// In the later case, it is treated as seconds since UNIX +// epoch. +func date(fmt string, date interface{}) string { + return dateInZone(fmt, date, "Local") +} + +func htmlDate(date interface{}) string { + return dateInZone("2006-01-02", date, "Local") +} + +func htmlDateInZone(date interface{}, zone string) string { + return dateInZone("2006-01-02", date, zone) +} + +func dateInZone(fmt string, date interface{}, zone string) string { + var t time.Time + switch date := date.(type) { + default: + t = time.Now() + case time.Time: + t = date + case *time.Time: + t = *date + case int64: + t = time.Unix(date, 0) + case int: + t = time.Unix(int64(date), 0) + case int32: + t = time.Unix(int64(date), 0) + } + + loc, err := time.LoadLocation(zone) + if err != nil { + loc, _ = time.LoadLocation("UTC") + } + + return t.In(loc).Format(fmt) +} + +func dateModify(fmt string, date time.Time) time.Time { + d, err := time.ParseDuration(fmt) + if err != nil { + return date + } + return date.Add(d) +} + +func mustDateModify(fmt string, date time.Time) (time.Time, error) { + d, err := time.ParseDuration(fmt) + if err != nil { + return time.Time{}, err + } + return date.Add(d), nil +} + +func dateAgo(date interface{}) string { + var t time.Time + + switch date := date.(type) { + default: + t = time.Now() + case time.Time: + t = date + case int64: + t = time.Unix(date, 0) + case int: + t = time.Unix(int64(date), 0) + } + // Drop resolution to seconds + duration := time.Since(t).Round(time.Second) + return duration.String() +} + +func duration(sec interface{}) string { + var n int64 + switch value := sec.(type) { + default: + n = 0 + case string: + n, _ = strconv.ParseInt(value, 10, 64) + case int64: + n = value + } + return (time.Duration(n) * time.Second).String() +} + +func durationRound(duration interface{}) string { + var d time.Duration + switch duration := duration.(type) { + default: + d = 0 + case string: + d, _ = time.ParseDuration(duration) + case int64: + d = time.Duration(duration) + case time.Time: + d = time.Since(duration) + } + + u := uint64(d) + neg := d < 0 + if neg { + u = -u + } + + var ( + year = uint64(time.Hour) * 24 * 365 + month = uint64(time.Hour) * 24 * 30 + day = uint64(time.Hour) * 24 + hour = uint64(time.Hour) + minute = uint64(time.Minute) + second = uint64(time.Second) + ) + switch { + case u > year: + return strconv.FormatUint(u/year, 10) + "y" + case u > month: + return strconv.FormatUint(u/month, 10) + "mo" + case u > day: + return strconv.FormatUint(u/day, 10) + "d" + case u > hour: + return strconv.FormatUint(u/hour, 10) + "h" + case u > minute: + return strconv.FormatUint(u/minute, 10) + "m" + case u > second: + return strconv.FormatUint(u/second, 10) + "s" + } + return "0s" +} + +func toDate(fmt, str string) time.Time { + t, _ := time.ParseInLocation(fmt, str, time.Local) + return t +} + +func mustToDate(fmt, str string) (time.Time, error) { + return time.ParseInLocation(fmt, str, time.Local) +} + +func unixEpoch(date time.Time) string { + return strconv.FormatInt(date.Unix(), 10) +} diff --git a/vendor/github.com/go-task/slim-sprig/v3/defaults.go b/vendor/github.com/go-task/slim-sprig/v3/defaults.go new file mode 100644 index 000000000..b9f979666 --- /dev/null +++ b/vendor/github.com/go-task/slim-sprig/v3/defaults.go @@ -0,0 +1,163 @@ +package sprig + +import ( + "bytes" + "encoding/json" + "math/rand" + "reflect" + "strings" + "time" +) + +func init() { + rand.Seed(time.Now().UnixNano()) +} + +// dfault checks whether `given` is set, and returns default if not set. +// +// This returns `d` if `given` appears not to be set, and `given` otherwise. +// +// For numeric types 0 is unset. +// For strings, maps, arrays, and slices, len() = 0 is considered unset. +// For bool, false is unset. +// Structs are never considered unset. +// +// For everything else, including pointers, a nil value is unset. +func dfault(d interface{}, given ...interface{}) interface{} { + + if empty(given) || empty(given[0]) { + return d + } + return given[0] +} + +// empty returns true if the given value has the zero value for its type. +func empty(given interface{}) bool { + g := reflect.ValueOf(given) + if !g.IsValid() { + return true + } + + // Basically adapted from text/template.isTrue + switch g.Kind() { + default: + return g.IsNil() + case reflect.Array, reflect.Slice, reflect.Map, reflect.String: + return g.Len() == 0 + case reflect.Bool: + return !g.Bool() + case reflect.Complex64, reflect.Complex128: + return g.Complex() == 0 + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return g.Int() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return g.Uint() == 0 + case reflect.Float32, reflect.Float64: + return g.Float() == 0 + case reflect.Struct: + return false + } +} + +// coalesce returns the first non-empty value. +func coalesce(v ...interface{}) interface{} { + for _, val := range v { + if !empty(val) { + return val + } + } + return nil +} + +// all returns true if empty(x) is false for all values x in the list. +// If the list is empty, return true. +func all(v ...interface{}) bool { + for _, val := range v { + if empty(val) { + return false + } + } + return true +} + +// any returns true if empty(x) is false for any x in the list. +// If the list is empty, return false. +func any(v ...interface{}) bool { + for _, val := range v { + if !empty(val) { + return true + } + } + return false +} + +// fromJson decodes JSON into a structured value, ignoring errors. +func fromJson(v string) interface{} { + output, _ := mustFromJson(v) + return output +} + +// mustFromJson decodes JSON into a structured value, returning errors. +func mustFromJson(v string) (interface{}, error) { + var output interface{} + err := json.Unmarshal([]byte(v), &output) + return output, err +} + +// toJson encodes an item into a JSON string +func toJson(v interface{}) string { + output, _ := json.Marshal(v) + return string(output) +} + +func mustToJson(v interface{}) (string, error) { + output, err := json.Marshal(v) + if err != nil { + return "", err + } + return string(output), nil +} + +// toPrettyJson encodes an item into a pretty (indented) JSON string +func toPrettyJson(v interface{}) string { + output, _ := json.MarshalIndent(v, "", " ") + return string(output) +} + +func mustToPrettyJson(v interface{}) (string, error) { + output, err := json.MarshalIndent(v, "", " ") + if err != nil { + return "", err + } + return string(output), nil +} + +// toRawJson encodes an item into a JSON string with no escaping of HTML characters. +func toRawJson(v interface{}) string { + output, err := mustToRawJson(v) + if err != nil { + panic(err) + } + return string(output) +} + +// mustToRawJson encodes an item into a JSON string with no escaping of HTML characters. +func mustToRawJson(v interface{}) (string, error) { + buf := new(bytes.Buffer) + enc := json.NewEncoder(buf) + enc.SetEscapeHTML(false) + err := enc.Encode(&v) + if err != nil { + return "", err + } + return strings.TrimSuffix(buf.String(), "\n"), nil +} + +// ternary returns the first value if the last value is true, otherwise returns the second value. +func ternary(vt interface{}, vf interface{}, v bool) interface{} { + if v { + return vt + } + + return vf +} diff --git a/vendor/github.com/go-task/slim-sprig/v3/dict.go b/vendor/github.com/go-task/slim-sprig/v3/dict.go new file mode 100644 index 000000000..77ebc61b1 --- /dev/null +++ b/vendor/github.com/go-task/slim-sprig/v3/dict.go @@ -0,0 +1,118 @@ +package sprig + +func get(d map[string]interface{}, key string) interface{} { + if val, ok := d[key]; ok { + return val + } + return "" +} + +func set(d map[string]interface{}, key string, value interface{}) map[string]interface{} { + d[key] = value + return d +} + +func unset(d map[string]interface{}, key string) map[string]interface{} { + delete(d, key) + return d +} + +func hasKey(d map[string]interface{}, key string) bool { + _, ok := d[key] + return ok +} + +func pluck(key string, d ...map[string]interface{}) []interface{} { + res := []interface{}{} + for _, dict := range d { + if val, ok := dict[key]; ok { + res = append(res, val) + } + } + return res +} + +func keys(dicts ...map[string]interface{}) []string { + k := []string{} + for _, dict := range dicts { + for key := range dict { + k = append(k, key) + } + } + return k +} + +func pick(dict map[string]interface{}, keys ...string) map[string]interface{} { + res := map[string]interface{}{} + for _, k := range keys { + if v, ok := dict[k]; ok { + res[k] = v + } + } + return res +} + +func omit(dict map[string]interface{}, keys ...string) map[string]interface{} { + res := map[string]interface{}{} + + omit := make(map[string]bool, len(keys)) + for _, k := range keys { + omit[k] = true + } + + for k, v := range dict { + if _, ok := omit[k]; !ok { + res[k] = v + } + } + return res +} + +func dict(v ...interface{}) map[string]interface{} { + dict := map[string]interface{}{} + lenv := len(v) + for i := 0; i < lenv; i += 2 { + key := strval(v[i]) + if i+1 >= lenv { + dict[key] = "" + continue + } + dict[key] = v[i+1] + } + return dict +} + +func values(dict map[string]interface{}) []interface{} { + values := []interface{}{} + for _, value := range dict { + values = append(values, value) + } + + return values +} + +func dig(ps ...interface{}) (interface{}, error) { + if len(ps) < 3 { + panic("dig needs at least three arguments") + } + dict := ps[len(ps)-1].(map[string]interface{}) + def := ps[len(ps)-2] + ks := make([]string, len(ps)-2) + for i := 0; i < len(ks); i++ { + ks[i] = ps[i].(string) + } + + return digFromDict(dict, def, ks) +} + +func digFromDict(dict map[string]interface{}, d interface{}, ks []string) (interface{}, error) { + k, ns := ks[0], ks[1:len(ks)] + step, has := dict[k] + if !has { + return d, nil + } + if len(ns) == 0 { + return step, nil + } + return digFromDict(step.(map[string]interface{}), d, ns) +} diff --git a/vendor/github.com/go-task/slim-sprig/v3/doc.go b/vendor/github.com/go-task/slim-sprig/v3/doc.go new file mode 100644 index 000000000..aabb9d448 --- /dev/null +++ b/vendor/github.com/go-task/slim-sprig/v3/doc.go @@ -0,0 +1,19 @@ +/* +Package sprig provides template functions for Go. + +This package contains a number of utility functions for working with data +inside of Go `html/template` and `text/template` files. + +To add these functions, use the `template.Funcs()` method: + + t := templates.New("foo").Funcs(sprig.FuncMap()) + +Note that you should add the function map before you parse any template files. + + In several cases, Sprig reverses the order of arguments from the way they + appear in the standard library. This is to make it easier to pipe + arguments into functions. + +See http://masterminds.github.io/sprig/ for more detailed documentation on each of the available functions. +*/ +package sprig diff --git a/vendor/github.com/go-task/slim-sprig/v3/functions.go b/vendor/github.com/go-task/slim-sprig/v3/functions.go new file mode 100644 index 000000000..5ea74f899 --- /dev/null +++ b/vendor/github.com/go-task/slim-sprig/v3/functions.go @@ -0,0 +1,317 @@ +package sprig + +import ( + "errors" + "html/template" + "math/rand" + "os" + "path" + "path/filepath" + "reflect" + "strconv" + "strings" + ttemplate "text/template" + "time" +) + +// FuncMap produces the function map. +// +// Use this to pass the functions into the template engine: +// +// tpl := template.New("foo").Funcs(sprig.FuncMap())) +// +func FuncMap() template.FuncMap { + return HtmlFuncMap() +} + +// HermeticTxtFuncMap returns a 'text/template'.FuncMap with only repeatable functions. +func HermeticTxtFuncMap() ttemplate.FuncMap { + r := TxtFuncMap() + for _, name := range nonhermeticFunctions { + delete(r, name) + } + return r +} + +// HermeticHtmlFuncMap returns an 'html/template'.Funcmap with only repeatable functions. +func HermeticHtmlFuncMap() template.FuncMap { + r := HtmlFuncMap() + for _, name := range nonhermeticFunctions { + delete(r, name) + } + return r +} + +// TxtFuncMap returns a 'text/template'.FuncMap +func TxtFuncMap() ttemplate.FuncMap { + return ttemplate.FuncMap(GenericFuncMap()) +} + +// HtmlFuncMap returns an 'html/template'.Funcmap +func HtmlFuncMap() template.FuncMap { + return template.FuncMap(GenericFuncMap()) +} + +// GenericFuncMap returns a copy of the basic function map as a map[string]interface{}. +func GenericFuncMap() map[string]interface{} { + gfm := make(map[string]interface{}, len(genericMap)) + for k, v := range genericMap { + gfm[k] = v + } + return gfm +} + +// These functions are not guaranteed to evaluate to the same result for given input, because they +// refer to the environment or global state. +var nonhermeticFunctions = []string{ + // Date functions + "date", + "date_in_zone", + "date_modify", + "now", + "htmlDate", + "htmlDateInZone", + "dateInZone", + "dateModify", + + // Strings + "randAlphaNum", + "randAlpha", + "randAscii", + "randNumeric", + "randBytes", + "uuidv4", + + // OS + "env", + "expandenv", + + // Network + "getHostByName", +} + +var genericMap = map[string]interface{}{ + "hello": func() string { return "Hello!" }, + + // Date functions + "ago": dateAgo, + "date": date, + "date_in_zone": dateInZone, + "date_modify": dateModify, + "dateInZone": dateInZone, + "dateModify": dateModify, + "duration": duration, + "durationRound": durationRound, + "htmlDate": htmlDate, + "htmlDateInZone": htmlDateInZone, + "must_date_modify": mustDateModify, + "mustDateModify": mustDateModify, + "mustToDate": mustToDate, + "now": time.Now, + "toDate": toDate, + "unixEpoch": unixEpoch, + + // Strings + "trunc": trunc, + "trim": strings.TrimSpace, + "upper": strings.ToUpper, + "lower": strings.ToLower, + "title": strings.Title, + "substr": substring, + // Switch order so that "foo" | repeat 5 + "repeat": func(count int, str string) string { return strings.Repeat(str, count) }, + // Deprecated: Use trimAll. + "trimall": func(a, b string) string { return strings.Trim(b, a) }, + // Switch order so that "$foo" | trimall "$" + "trimAll": func(a, b string) string { return strings.Trim(b, a) }, + "trimSuffix": func(a, b string) string { return strings.TrimSuffix(b, a) }, + "trimPrefix": func(a, b string) string { return strings.TrimPrefix(b, a) }, + // Switch order so that "foobar" | contains "foo" + "contains": func(substr string, str string) bool { return strings.Contains(str, substr) }, + "hasPrefix": func(substr string, str string) bool { return strings.HasPrefix(str, substr) }, + "hasSuffix": func(substr string, str string) bool { return strings.HasSuffix(str, substr) }, + "quote": quote, + "squote": squote, + "cat": cat, + "indent": indent, + "nindent": nindent, + "replace": replace, + "plural": plural, + "sha1sum": sha1sum, + "sha256sum": sha256sum, + "adler32sum": adler32sum, + "toString": strval, + + // Wrap Atoi to stop errors. + "atoi": func(a string) int { i, _ := strconv.Atoi(a); return i }, + "int64": toInt64, + "int": toInt, + "float64": toFloat64, + "seq": seq, + "toDecimal": toDecimal, + + //"gt": func(a, b int) bool {return a > b}, + //"gte": func(a, b int) bool {return a >= b}, + //"lt": func(a, b int) bool {return a < b}, + //"lte": func(a, b int) bool {return a <= b}, + + // split "/" foo/bar returns map[int]string{0: foo, 1: bar} + "split": split, + "splitList": func(sep, orig string) []string { return strings.Split(orig, sep) }, + // splitn "/" foo/bar/fuu returns map[int]string{0: foo, 1: bar/fuu} + "splitn": splitn, + "toStrings": strslice, + + "until": until, + "untilStep": untilStep, + + // VERY basic arithmetic. + "add1": func(i interface{}) int64 { return toInt64(i) + 1 }, + "add": func(i ...interface{}) int64 { + var a int64 = 0 + for _, b := range i { + a += toInt64(b) + } + return a + }, + "sub": func(a, b interface{}) int64 { return toInt64(a) - toInt64(b) }, + "div": func(a, b interface{}) int64 { return toInt64(a) / toInt64(b) }, + "mod": func(a, b interface{}) int64 { return toInt64(a) % toInt64(b) }, + "mul": func(a interface{}, v ...interface{}) int64 { + val := toInt64(a) + for _, b := range v { + val = val * toInt64(b) + } + return val + }, + "randInt": func(min, max int) int { return rand.Intn(max-min) + min }, + "biggest": max, + "max": max, + "min": min, + "maxf": maxf, + "minf": minf, + "ceil": ceil, + "floor": floor, + "round": round, + + // string slices. Note that we reverse the order b/c that's better + // for template processing. + "join": join, + "sortAlpha": sortAlpha, + + // Defaults + "default": dfault, + "empty": empty, + "coalesce": coalesce, + "all": all, + "any": any, + "compact": compact, + "mustCompact": mustCompact, + "fromJson": fromJson, + "toJson": toJson, + "toPrettyJson": toPrettyJson, + "toRawJson": toRawJson, + "mustFromJson": mustFromJson, + "mustToJson": mustToJson, + "mustToPrettyJson": mustToPrettyJson, + "mustToRawJson": mustToRawJson, + "ternary": ternary, + + // Reflection + "typeOf": typeOf, + "typeIs": typeIs, + "typeIsLike": typeIsLike, + "kindOf": kindOf, + "kindIs": kindIs, + "deepEqual": reflect.DeepEqual, + + // OS: + "env": os.Getenv, + "expandenv": os.ExpandEnv, + + // Network: + "getHostByName": getHostByName, + + // Paths: + "base": path.Base, + "dir": path.Dir, + "clean": path.Clean, + "ext": path.Ext, + "isAbs": path.IsAbs, + + // Filepaths: + "osBase": filepath.Base, + "osClean": filepath.Clean, + "osDir": filepath.Dir, + "osExt": filepath.Ext, + "osIsAbs": filepath.IsAbs, + + // Encoding: + "b64enc": base64encode, + "b64dec": base64decode, + "b32enc": base32encode, + "b32dec": base32decode, + + // Data Structures: + "tuple": list, // FIXME: with the addition of append/prepend these are no longer immutable. + "list": list, + "dict": dict, + "get": get, + "set": set, + "unset": unset, + "hasKey": hasKey, + "pluck": pluck, + "keys": keys, + "pick": pick, + "omit": omit, + "values": values, + + "append": push, "push": push, + "mustAppend": mustPush, "mustPush": mustPush, + "prepend": prepend, + "mustPrepend": mustPrepend, + "first": first, + "mustFirst": mustFirst, + "rest": rest, + "mustRest": mustRest, + "last": last, + "mustLast": mustLast, + "initial": initial, + "mustInitial": mustInitial, + "reverse": reverse, + "mustReverse": mustReverse, + "uniq": uniq, + "mustUniq": mustUniq, + "without": without, + "mustWithout": mustWithout, + "has": has, + "mustHas": mustHas, + "slice": slice, + "mustSlice": mustSlice, + "concat": concat, + "dig": dig, + "chunk": chunk, + "mustChunk": mustChunk, + + // Flow Control: + "fail": func(msg string) (string, error) { return "", errors.New(msg) }, + + // Regex + "regexMatch": regexMatch, + "mustRegexMatch": mustRegexMatch, + "regexFindAll": regexFindAll, + "mustRegexFindAll": mustRegexFindAll, + "regexFind": regexFind, + "mustRegexFind": mustRegexFind, + "regexReplaceAll": regexReplaceAll, + "mustRegexReplaceAll": mustRegexReplaceAll, + "regexReplaceAllLiteral": regexReplaceAllLiteral, + "mustRegexReplaceAllLiteral": mustRegexReplaceAllLiteral, + "regexSplit": regexSplit, + "mustRegexSplit": mustRegexSplit, + "regexQuoteMeta": regexQuoteMeta, + + // URLs: + "urlParse": urlParse, + "urlJoin": urlJoin, +} diff --git a/vendor/github.com/go-task/slim-sprig/v3/list.go b/vendor/github.com/go-task/slim-sprig/v3/list.go new file mode 100644 index 000000000..ca0fbb789 --- /dev/null +++ b/vendor/github.com/go-task/slim-sprig/v3/list.go @@ -0,0 +1,464 @@ +package sprig + +import ( + "fmt" + "math" + "reflect" + "sort" +) + +// Reflection is used in these functions so that slices and arrays of strings, +// ints, and other types not implementing []interface{} can be worked with. +// For example, this is useful if you need to work on the output of regexs. + +func list(v ...interface{}) []interface{} { + return v +} + +func push(list interface{}, v interface{}) []interface{} { + l, err := mustPush(list, v) + if err != nil { + panic(err) + } + + return l +} + +func mustPush(list interface{}, v interface{}) ([]interface{}, error) { + tp := reflect.TypeOf(list).Kind() + switch tp { + case reflect.Slice, reflect.Array: + l2 := reflect.ValueOf(list) + + l := l2.Len() + nl := make([]interface{}, l) + for i := 0; i < l; i++ { + nl[i] = l2.Index(i).Interface() + } + + return append(nl, v), nil + + default: + return nil, fmt.Errorf("Cannot push on type %s", tp) + } +} + +func prepend(list interface{}, v interface{}) []interface{} { + l, err := mustPrepend(list, v) + if err != nil { + panic(err) + } + + return l +} + +func mustPrepend(list interface{}, v interface{}) ([]interface{}, error) { + //return append([]interface{}{v}, list...) + + tp := reflect.TypeOf(list).Kind() + switch tp { + case reflect.Slice, reflect.Array: + l2 := reflect.ValueOf(list) + + l := l2.Len() + nl := make([]interface{}, l) + for i := 0; i < l; i++ { + nl[i] = l2.Index(i).Interface() + } + + return append([]interface{}{v}, nl...), nil + + default: + return nil, fmt.Errorf("Cannot prepend on type %s", tp) + } +} + +func chunk(size int, list interface{}) [][]interface{} { + l, err := mustChunk(size, list) + if err != nil { + panic(err) + } + + return l +} + +func mustChunk(size int, list interface{}) ([][]interface{}, error) { + tp := reflect.TypeOf(list).Kind() + switch tp { + case reflect.Slice, reflect.Array: + l2 := reflect.ValueOf(list) + + l := l2.Len() + + cs := int(math.Floor(float64(l-1)/float64(size)) + 1) + nl := make([][]interface{}, cs) + + for i := 0; i < cs; i++ { + clen := size + if i == cs-1 { + clen = int(math.Floor(math.Mod(float64(l), float64(size)))) + if clen == 0 { + clen = size + } + } + + nl[i] = make([]interface{}, clen) + + for j := 0; j < clen; j++ { + ix := i*size + j + nl[i][j] = l2.Index(ix).Interface() + } + } + + return nl, nil + + default: + return nil, fmt.Errorf("Cannot chunk type %s", tp) + } +} + +func last(list interface{}) interface{} { + l, err := mustLast(list) + if err != nil { + panic(err) + } + + return l +} + +func mustLast(list interface{}) (interface{}, error) { + tp := reflect.TypeOf(list).Kind() + switch tp { + case reflect.Slice, reflect.Array: + l2 := reflect.ValueOf(list) + + l := l2.Len() + if l == 0 { + return nil, nil + } + + return l2.Index(l - 1).Interface(), nil + default: + return nil, fmt.Errorf("Cannot find last on type %s", tp) + } +} + +func first(list interface{}) interface{} { + l, err := mustFirst(list) + if err != nil { + panic(err) + } + + return l +} + +func mustFirst(list interface{}) (interface{}, error) { + tp := reflect.TypeOf(list).Kind() + switch tp { + case reflect.Slice, reflect.Array: + l2 := reflect.ValueOf(list) + + l := l2.Len() + if l == 0 { + return nil, nil + } + + return l2.Index(0).Interface(), nil + default: + return nil, fmt.Errorf("Cannot find first on type %s", tp) + } +} + +func rest(list interface{}) []interface{} { + l, err := mustRest(list) + if err != nil { + panic(err) + } + + return l +} + +func mustRest(list interface{}) ([]interface{}, error) { + tp := reflect.TypeOf(list).Kind() + switch tp { + case reflect.Slice, reflect.Array: + l2 := reflect.ValueOf(list) + + l := l2.Len() + if l == 0 { + return nil, nil + } + + nl := make([]interface{}, l-1) + for i := 1; i < l; i++ { + nl[i-1] = l2.Index(i).Interface() + } + + return nl, nil + default: + return nil, fmt.Errorf("Cannot find rest on type %s", tp) + } +} + +func initial(list interface{}) []interface{} { + l, err := mustInitial(list) + if err != nil { + panic(err) + } + + return l +} + +func mustInitial(list interface{}) ([]interface{}, error) { + tp := reflect.TypeOf(list).Kind() + switch tp { + case reflect.Slice, reflect.Array: + l2 := reflect.ValueOf(list) + + l := l2.Len() + if l == 0 { + return nil, nil + } + + nl := make([]interface{}, l-1) + for i := 0; i < l-1; i++ { + nl[i] = l2.Index(i).Interface() + } + + return nl, nil + default: + return nil, fmt.Errorf("Cannot find initial on type %s", tp) + } +} + +func sortAlpha(list interface{}) []string { + k := reflect.Indirect(reflect.ValueOf(list)).Kind() + switch k { + case reflect.Slice, reflect.Array: + a := strslice(list) + s := sort.StringSlice(a) + s.Sort() + return s + } + return []string{strval(list)} +} + +func reverse(v interface{}) []interface{} { + l, err := mustReverse(v) + if err != nil { + panic(err) + } + + return l +} + +func mustReverse(v interface{}) ([]interface{}, error) { + tp := reflect.TypeOf(v).Kind() + switch tp { + case reflect.Slice, reflect.Array: + l2 := reflect.ValueOf(v) + + l := l2.Len() + // We do not sort in place because the incoming array should not be altered. + nl := make([]interface{}, l) + for i := 0; i < l; i++ { + nl[l-i-1] = l2.Index(i).Interface() + } + + return nl, nil + default: + return nil, fmt.Errorf("Cannot find reverse on type %s", tp) + } +} + +func compact(list interface{}) []interface{} { + l, err := mustCompact(list) + if err != nil { + panic(err) + } + + return l +} + +func mustCompact(list interface{}) ([]interface{}, error) { + tp := reflect.TypeOf(list).Kind() + switch tp { + case reflect.Slice, reflect.Array: + l2 := reflect.ValueOf(list) + + l := l2.Len() + nl := []interface{}{} + var item interface{} + for i := 0; i < l; i++ { + item = l2.Index(i).Interface() + if !empty(item) { + nl = append(nl, item) + } + } + + return nl, nil + default: + return nil, fmt.Errorf("Cannot compact on type %s", tp) + } +} + +func uniq(list interface{}) []interface{} { + l, err := mustUniq(list) + if err != nil { + panic(err) + } + + return l +} + +func mustUniq(list interface{}) ([]interface{}, error) { + tp := reflect.TypeOf(list).Kind() + switch tp { + case reflect.Slice, reflect.Array: + l2 := reflect.ValueOf(list) + + l := l2.Len() + dest := []interface{}{} + var item interface{} + for i := 0; i < l; i++ { + item = l2.Index(i).Interface() + if !inList(dest, item) { + dest = append(dest, item) + } + } + + return dest, nil + default: + return nil, fmt.Errorf("Cannot find uniq on type %s", tp) + } +} + +func inList(haystack []interface{}, needle interface{}) bool { + for _, h := range haystack { + if reflect.DeepEqual(needle, h) { + return true + } + } + return false +} + +func without(list interface{}, omit ...interface{}) []interface{} { + l, err := mustWithout(list, omit...) + if err != nil { + panic(err) + } + + return l +} + +func mustWithout(list interface{}, omit ...interface{}) ([]interface{}, error) { + tp := reflect.TypeOf(list).Kind() + switch tp { + case reflect.Slice, reflect.Array: + l2 := reflect.ValueOf(list) + + l := l2.Len() + res := []interface{}{} + var item interface{} + for i := 0; i < l; i++ { + item = l2.Index(i).Interface() + if !inList(omit, item) { + res = append(res, item) + } + } + + return res, nil + default: + return nil, fmt.Errorf("Cannot find without on type %s", tp) + } +} + +func has(needle interface{}, haystack interface{}) bool { + l, err := mustHas(needle, haystack) + if err != nil { + panic(err) + } + + return l +} + +func mustHas(needle interface{}, haystack interface{}) (bool, error) { + if haystack == nil { + return false, nil + } + tp := reflect.TypeOf(haystack).Kind() + switch tp { + case reflect.Slice, reflect.Array: + l2 := reflect.ValueOf(haystack) + var item interface{} + l := l2.Len() + for i := 0; i < l; i++ { + item = l2.Index(i).Interface() + if reflect.DeepEqual(needle, item) { + return true, nil + } + } + + return false, nil + default: + return false, fmt.Errorf("Cannot find has on type %s", tp) + } +} + +// $list := [1, 2, 3, 4, 5] +// slice $list -> list[0:5] = list[:] +// slice $list 0 3 -> list[0:3] = list[:3] +// slice $list 3 5 -> list[3:5] +// slice $list 3 -> list[3:5] = list[3:] +func slice(list interface{}, indices ...interface{}) interface{} { + l, err := mustSlice(list, indices...) + if err != nil { + panic(err) + } + + return l +} + +func mustSlice(list interface{}, indices ...interface{}) (interface{}, error) { + tp := reflect.TypeOf(list).Kind() + switch tp { + case reflect.Slice, reflect.Array: + l2 := reflect.ValueOf(list) + + l := l2.Len() + if l == 0 { + return nil, nil + } + + var start, end int + if len(indices) > 0 { + start = toInt(indices[0]) + } + if len(indices) < 2 { + end = l + } else { + end = toInt(indices[1]) + } + + return l2.Slice(start, end).Interface(), nil + default: + return nil, fmt.Errorf("list should be type of slice or array but %s", tp) + } +} + +func concat(lists ...interface{}) interface{} { + var res []interface{} + for _, list := range lists { + tp := reflect.TypeOf(list).Kind() + switch tp { + case reflect.Slice, reflect.Array: + l2 := reflect.ValueOf(list) + for i := 0; i < l2.Len(); i++ { + res = append(res, l2.Index(i).Interface()) + } + default: + panic(fmt.Sprintf("Cannot concat type %s as list", tp)) + } + } + return res +} diff --git a/vendor/github.com/go-task/slim-sprig/v3/network.go b/vendor/github.com/go-task/slim-sprig/v3/network.go new file mode 100644 index 000000000..108d78a94 --- /dev/null +++ b/vendor/github.com/go-task/slim-sprig/v3/network.go @@ -0,0 +1,12 @@ +package sprig + +import ( + "math/rand" + "net" +) + +func getHostByName(name string) string { + addrs, _ := net.LookupHost(name) + //TODO: add error handing when release v3 comes out + return addrs[rand.Intn(len(addrs))] +} diff --git a/vendor/github.com/go-task/slim-sprig/v3/numeric.go b/vendor/github.com/go-task/slim-sprig/v3/numeric.go new file mode 100644 index 000000000..98cbb37a1 --- /dev/null +++ b/vendor/github.com/go-task/slim-sprig/v3/numeric.go @@ -0,0 +1,228 @@ +package sprig + +import ( + "fmt" + "math" + "reflect" + "strconv" + "strings" +) + +// toFloat64 converts 64-bit floats +func toFloat64(v interface{}) float64 { + if str, ok := v.(string); ok { + iv, err := strconv.ParseFloat(str, 64) + if err != nil { + return 0 + } + return iv + } + + val := reflect.Indirect(reflect.ValueOf(v)) + switch val.Kind() { + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: + return float64(val.Int()) + case reflect.Uint8, reflect.Uint16, reflect.Uint32: + return float64(val.Uint()) + case reflect.Uint, reflect.Uint64: + return float64(val.Uint()) + case reflect.Float32, reflect.Float64: + return val.Float() + case reflect.Bool: + if val.Bool() { + return 1 + } + return 0 + default: + return 0 + } +} + +func toInt(v interface{}) int { + //It's not optimal. Bud I don't want duplicate toInt64 code. + return int(toInt64(v)) +} + +// toInt64 converts integer types to 64-bit integers +func toInt64(v interface{}) int64 { + if str, ok := v.(string); ok { + iv, err := strconv.ParseInt(str, 10, 64) + if err != nil { + return 0 + } + return iv + } + + val := reflect.Indirect(reflect.ValueOf(v)) + switch val.Kind() { + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: + return val.Int() + case reflect.Uint8, reflect.Uint16, reflect.Uint32: + return int64(val.Uint()) + case reflect.Uint, reflect.Uint64: + tv := val.Uint() + if tv <= math.MaxInt64 { + return int64(tv) + } + // TODO: What is the sensible thing to do here? + return math.MaxInt64 + case reflect.Float32, reflect.Float64: + return int64(val.Float()) + case reflect.Bool: + if val.Bool() { + return 1 + } + return 0 + default: + return 0 + } +} + +func max(a interface{}, i ...interface{}) int64 { + aa := toInt64(a) + for _, b := range i { + bb := toInt64(b) + if bb > aa { + aa = bb + } + } + return aa +} + +func maxf(a interface{}, i ...interface{}) float64 { + aa := toFloat64(a) + for _, b := range i { + bb := toFloat64(b) + aa = math.Max(aa, bb) + } + return aa +} + +func min(a interface{}, i ...interface{}) int64 { + aa := toInt64(a) + for _, b := range i { + bb := toInt64(b) + if bb < aa { + aa = bb + } + } + return aa +} + +func minf(a interface{}, i ...interface{}) float64 { + aa := toFloat64(a) + for _, b := range i { + bb := toFloat64(b) + aa = math.Min(aa, bb) + } + return aa +} + +func until(count int) []int { + step := 1 + if count < 0 { + step = -1 + } + return untilStep(0, count, step) +} + +func untilStep(start, stop, step int) []int { + v := []int{} + + if stop < start { + if step >= 0 { + return v + } + for i := start; i > stop; i += step { + v = append(v, i) + } + return v + } + + if step <= 0 { + return v + } + for i := start; i < stop; i += step { + v = append(v, i) + } + return v +} + +func floor(a interface{}) float64 { + aa := toFloat64(a) + return math.Floor(aa) +} + +func ceil(a interface{}) float64 { + aa := toFloat64(a) + return math.Ceil(aa) +} + +func round(a interface{}, p int, rOpt ...float64) float64 { + roundOn := .5 + if len(rOpt) > 0 { + roundOn = rOpt[0] + } + val := toFloat64(a) + places := toFloat64(p) + + var round float64 + pow := math.Pow(10, places) + digit := pow * val + _, div := math.Modf(digit) + if div >= roundOn { + round = math.Ceil(digit) + } else { + round = math.Floor(digit) + } + return round / pow +} + +// converts unix octal to decimal +func toDecimal(v interface{}) int64 { + result, err := strconv.ParseInt(fmt.Sprint(v), 8, 64) + if err != nil { + return 0 + } + return result +} + +func seq(params ...int) string { + increment := 1 + switch len(params) { + case 0: + return "" + case 1: + start := 1 + end := params[0] + if end < start { + increment = -1 + } + return intArrayToString(untilStep(start, end+increment, increment), " ") + case 3: + start := params[0] + end := params[2] + step := params[1] + if end < start { + increment = -1 + if step > 0 { + return "" + } + } + return intArrayToString(untilStep(start, end+increment, step), " ") + case 2: + start := params[0] + end := params[1] + step := 1 + if end < start { + step = -1 + } + return intArrayToString(untilStep(start, end+step, step), " ") + default: + return "" + } +} + +func intArrayToString(slice []int, delimeter string) string { + return strings.Trim(strings.Join(strings.Fields(fmt.Sprint(slice)), delimeter), "[]") +} diff --git a/vendor/github.com/go-task/slim-sprig/v3/reflect.go b/vendor/github.com/go-task/slim-sprig/v3/reflect.go new file mode 100644 index 000000000..8a65c132f --- /dev/null +++ b/vendor/github.com/go-task/slim-sprig/v3/reflect.go @@ -0,0 +1,28 @@ +package sprig + +import ( + "fmt" + "reflect" +) + +// typeIs returns true if the src is the type named in target. +func typeIs(target string, src interface{}) bool { + return target == typeOf(src) +} + +func typeIsLike(target string, src interface{}) bool { + t := typeOf(src) + return target == t || "*"+target == t +} + +func typeOf(src interface{}) string { + return fmt.Sprintf("%T", src) +} + +func kindIs(target string, src interface{}) bool { + return target == kindOf(src) +} + +func kindOf(src interface{}) string { + return reflect.ValueOf(src).Kind().String() +} diff --git a/vendor/github.com/go-task/slim-sprig/v3/regex.go b/vendor/github.com/go-task/slim-sprig/v3/regex.go new file mode 100644 index 000000000..fab551018 --- /dev/null +++ b/vendor/github.com/go-task/slim-sprig/v3/regex.go @@ -0,0 +1,83 @@ +package sprig + +import ( + "regexp" +) + +func regexMatch(regex string, s string) bool { + match, _ := regexp.MatchString(regex, s) + return match +} + +func mustRegexMatch(regex string, s string) (bool, error) { + return regexp.MatchString(regex, s) +} + +func regexFindAll(regex string, s string, n int) []string { + r := regexp.MustCompile(regex) + return r.FindAllString(s, n) +} + +func mustRegexFindAll(regex string, s string, n int) ([]string, error) { + r, err := regexp.Compile(regex) + if err != nil { + return []string{}, err + } + return r.FindAllString(s, n), nil +} + +func regexFind(regex string, s string) string { + r := regexp.MustCompile(regex) + return r.FindString(s) +} + +func mustRegexFind(regex string, s string) (string, error) { + r, err := regexp.Compile(regex) + if err != nil { + return "", err + } + return r.FindString(s), nil +} + +func regexReplaceAll(regex string, s string, repl string) string { + r := regexp.MustCompile(regex) + return r.ReplaceAllString(s, repl) +} + +func mustRegexReplaceAll(regex string, s string, repl string) (string, error) { + r, err := regexp.Compile(regex) + if err != nil { + return "", err + } + return r.ReplaceAllString(s, repl), nil +} + +func regexReplaceAllLiteral(regex string, s string, repl string) string { + r := regexp.MustCompile(regex) + return r.ReplaceAllLiteralString(s, repl) +} + +func mustRegexReplaceAllLiteral(regex string, s string, repl string) (string, error) { + r, err := regexp.Compile(regex) + if err != nil { + return "", err + } + return r.ReplaceAllLiteralString(s, repl), nil +} + +func regexSplit(regex string, s string, n int) []string { + r := regexp.MustCompile(regex) + return r.Split(s, n) +} + +func mustRegexSplit(regex string, s string, n int) ([]string, error) { + r, err := regexp.Compile(regex) + if err != nil { + return []string{}, err + } + return r.Split(s, n), nil +} + +func regexQuoteMeta(s string) string { + return regexp.QuoteMeta(s) +} diff --git a/vendor/github.com/go-task/slim-sprig/v3/strings.go b/vendor/github.com/go-task/slim-sprig/v3/strings.go new file mode 100644 index 000000000..3c62d6b6f --- /dev/null +++ b/vendor/github.com/go-task/slim-sprig/v3/strings.go @@ -0,0 +1,189 @@ +package sprig + +import ( + "encoding/base32" + "encoding/base64" + "fmt" + "reflect" + "strconv" + "strings" +) + +func base64encode(v string) string { + return base64.StdEncoding.EncodeToString([]byte(v)) +} + +func base64decode(v string) string { + data, err := base64.StdEncoding.DecodeString(v) + if err != nil { + return err.Error() + } + return string(data) +} + +func base32encode(v string) string { + return base32.StdEncoding.EncodeToString([]byte(v)) +} + +func base32decode(v string) string { + data, err := base32.StdEncoding.DecodeString(v) + if err != nil { + return err.Error() + } + return string(data) +} + +func quote(str ...interface{}) string { + out := make([]string, 0, len(str)) + for _, s := range str { + if s != nil { + out = append(out, fmt.Sprintf("%q", strval(s))) + } + } + return strings.Join(out, " ") +} + +func squote(str ...interface{}) string { + out := make([]string, 0, len(str)) + for _, s := range str { + if s != nil { + out = append(out, fmt.Sprintf("'%v'", s)) + } + } + return strings.Join(out, " ") +} + +func cat(v ...interface{}) string { + v = removeNilElements(v) + r := strings.TrimSpace(strings.Repeat("%v ", len(v))) + return fmt.Sprintf(r, v...) +} + +func indent(spaces int, v string) string { + pad := strings.Repeat(" ", spaces) + return pad + strings.Replace(v, "\n", "\n"+pad, -1) +} + +func nindent(spaces int, v string) string { + return "\n" + indent(spaces, v) +} + +func replace(old, new, src string) string { + return strings.Replace(src, old, new, -1) +} + +func plural(one, many string, count int) string { + if count == 1 { + return one + } + return many +} + +func strslice(v interface{}) []string { + switch v := v.(type) { + case []string: + return v + case []interface{}: + b := make([]string, 0, len(v)) + for _, s := range v { + if s != nil { + b = append(b, strval(s)) + } + } + return b + default: + val := reflect.ValueOf(v) + switch val.Kind() { + case reflect.Array, reflect.Slice: + l := val.Len() + b := make([]string, 0, l) + for i := 0; i < l; i++ { + value := val.Index(i).Interface() + if value != nil { + b = append(b, strval(value)) + } + } + return b + default: + if v == nil { + return []string{} + } + + return []string{strval(v)} + } + } +} + +func removeNilElements(v []interface{}) []interface{} { + newSlice := make([]interface{}, 0, len(v)) + for _, i := range v { + if i != nil { + newSlice = append(newSlice, i) + } + } + return newSlice +} + +func strval(v interface{}) string { + switch v := v.(type) { + case string: + return v + case []byte: + return string(v) + case error: + return v.Error() + case fmt.Stringer: + return v.String() + default: + return fmt.Sprintf("%v", v) + } +} + +func trunc(c int, s string) string { + if c < 0 && len(s)+c > 0 { + return s[len(s)+c:] + } + if c >= 0 && len(s) > c { + return s[:c] + } + return s +} + +func join(sep string, v interface{}) string { + return strings.Join(strslice(v), sep) +} + +func split(sep, orig string) map[string]string { + parts := strings.Split(orig, sep) + res := make(map[string]string, len(parts)) + for i, v := range parts { + res["_"+strconv.Itoa(i)] = v + } + return res +} + +func splitn(sep string, n int, orig string) map[string]string { + parts := strings.SplitN(orig, sep, n) + res := make(map[string]string, len(parts)) + for i, v := range parts { + res["_"+strconv.Itoa(i)] = v + } + return res +} + +// substring creates a substring of the given string. +// +// If start is < 0, this calls string[:end]. +// +// If start is >= 0 and end < 0 or end bigger than s length, this calls string[start:] +// +// Otherwise, this calls string[start, end]. +func substring(start, end int, s string) string { + if start < 0 { + return s[:end] + } + if end < 0 || end > len(s) { + return s[start:] + } + return s[start:end] +} diff --git a/vendor/github.com/go-task/slim-sprig/v3/url.go b/vendor/github.com/go-task/slim-sprig/v3/url.go new file mode 100644 index 000000000..b8e120e19 --- /dev/null +++ b/vendor/github.com/go-task/slim-sprig/v3/url.go @@ -0,0 +1,66 @@ +package sprig + +import ( + "fmt" + "net/url" + "reflect" +) + +func dictGetOrEmpty(dict map[string]interface{}, key string) string { + value, ok := dict[key] + if !ok { + return "" + } + tp := reflect.TypeOf(value).Kind() + if tp != reflect.String { + panic(fmt.Sprintf("unable to parse %s key, must be of type string, but %s found", key, tp.String())) + } + return reflect.ValueOf(value).String() +} + +// parses given URL to return dict object +func urlParse(v string) map[string]interface{} { + dict := map[string]interface{}{} + parsedURL, err := url.Parse(v) + if err != nil { + panic(fmt.Sprintf("unable to parse url: %s", err)) + } + dict["scheme"] = parsedURL.Scheme + dict["host"] = parsedURL.Host + dict["hostname"] = parsedURL.Hostname() + dict["path"] = parsedURL.Path + dict["query"] = parsedURL.RawQuery + dict["opaque"] = parsedURL.Opaque + dict["fragment"] = parsedURL.Fragment + if parsedURL.User != nil { + dict["userinfo"] = parsedURL.User.String() + } else { + dict["userinfo"] = "" + } + + return dict +} + +// join given dict to URL string +func urlJoin(d map[string]interface{}) string { + resURL := url.URL{ + Scheme: dictGetOrEmpty(d, "scheme"), + Host: dictGetOrEmpty(d, "host"), + Path: dictGetOrEmpty(d, "path"), + RawQuery: dictGetOrEmpty(d, "query"), + Opaque: dictGetOrEmpty(d, "opaque"), + Fragment: dictGetOrEmpty(d, "fragment"), + } + userinfo := dictGetOrEmpty(d, "userinfo") + var user *url.Userinfo + if userinfo != "" { + tempURL, err := url.Parse(fmt.Sprintf("proto://%s@host", userinfo)) + if err != nil { + panic(fmt.Sprintf("unable to parse userinfo in dict: %s", err)) + } + user = tempURL.User + } + + resURL.User = user + return resURL.String() +} diff --git a/vendor/github.com/google/cel-go/LICENSE b/vendor/github.com/google/cel-go/LICENSE new file mode 100644 index 000000000..2493ed2eb --- /dev/null +++ b/vendor/github.com/google/cel-go/LICENSE @@ -0,0 +1,233 @@ + + 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 [yyyy] [name of copyright owner] + + 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. + +=========================================================================== +The common/types/pb/equal.go modification of proto.Equal logic +=========================================================================== +Copyright (c) 2018 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/google/cel-go/cel/BUILD.bazel b/vendor/github.com/google/cel-go/cel/BUILD.bazel new file mode 100644 index 000000000..81549fb4c --- /dev/null +++ b/vendor/github.com/google/cel-go/cel/BUILD.bazel @@ -0,0 +1,91 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +package( + licenses = ["notice"], # Apache 2.0 +) + +go_library( + name = "go_default_library", + srcs = [ + "cel.go", + "decls.go", + "env.go", + "folding.go", + "io.go", + "inlining.go", + "library.go", + "macro.go", + "optimizer.go", + "options.go", + "program.go", + "validator.go", + ], + importpath = "github.com/google/cel-go/cel", + visibility = ["//visibility:public"], + deps = [ + "//checker:go_default_library", + "//checker/decls:go_default_library", + "//common:go_default_library", + "//common/ast:go_default_library", + "//common/containers:go_default_library", + "//common/decls:go_default_library", + "//common/functions:go_default_library", + "//common/operators:go_default_library", + "//common/overloads:go_default_library", + "//common/stdlib:go_default_library", + "//common/types:go_default_library", + "//common/types/pb:go_default_library", + "//common/types/ref:go_default_library", + "//common/types/traits:go_default_library", + "//interpreter:go_default_library", + "//parser:go_default_library", + "@dev_cel_expr//:expr", + "@org_golang_google_genproto_googleapis_api//expr/v1alpha1:go_default_library", + "@org_golang_google_protobuf//proto:go_default_library", + "@org_golang_google_protobuf//reflect/protodesc:go_default_library", + "@org_golang_google_protobuf//reflect/protoreflect:go_default_library", + "@org_golang_google_protobuf//reflect/protoregistry:go_default_library", + "@org_golang_google_protobuf//types/descriptorpb:go_default_library", + "@org_golang_google_protobuf//types/dynamicpb:go_default_library", + "@org_golang_google_protobuf//types/known/anypb:go_default_library", + "@org_golang_google_protobuf//types/known/durationpb:go_default_library", + "@org_golang_google_protobuf//types/known/timestamppb:go_default_library", + ], +) + +go_test( + name = "go_default_test", + srcs = [ + "cel_example_test.go", + "cel_test.go", + "decls_test.go", + "env_test.go", + "folding_test.go", + "io_test.go", + "inlining_test.go", + "optimizer_test.go", + "validator_test.go", + ], + data = [ + "//cel/testdata:gen_test_fds", + ], + embed = [ + ":go_default_library", + ], + deps = [ + "//common/operators:go_default_library", + "//common/overloads:go_default_library", + "//common/types:go_default_library", + "//common/types/ref:go_default_library", + "//common/types/traits:go_default_library", + "//ext:go_default_library", + "//test:go_default_library", + "//test/proto2pb:go_default_library", + "//test/proto3pb:go_default_library", + "@org_golang_google_genproto_googleapis_api//expr/v1alpha1:go_default_library", + "@org_golang_google_protobuf//proto:go_default_library", + "@org_golang_google_protobuf//encoding/prototext:go_default_library", + "@org_golang_google_protobuf//types/known/structpb:go_default_library", + "@org_golang_google_protobuf//types/known/wrapperspb:go_default_library", + ], +) diff --git a/vendor/github.com/google/cel-go/cel/cel.go b/vendor/github.com/google/cel-go/cel/cel.go new file mode 100644 index 000000000..eb5a9f4cc --- /dev/null +++ b/vendor/github.com/google/cel-go/cel/cel.go @@ -0,0 +1,19 @@ +// Copyright 2019 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 cel defines the top-level interface for the Common Expression Language (CEL). +// +// CEL is a non-Turing complete expression language designed to parse, check, and evaluate +// expressions against user-defined environments. +package cel diff --git a/vendor/github.com/google/cel-go/cel/decls.go b/vendor/github.com/google/cel-go/cel/decls.go new file mode 100644 index 000000000..418806021 --- /dev/null +++ b/vendor/github.com/google/cel-go/cel/decls.go @@ -0,0 +1,370 @@ +// Copyright 2022 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 cel + +import ( + "fmt" + + "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/decls" + "github.com/google/cel-go/common/functions" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" + + celpb "cel.dev/expr" + exprpb "google.golang.org/genproto/googleapis/api/expr/v1alpha1" +) + +// Kind indicates a CEL type's kind which is used to differentiate quickly between simple and complex types. +type Kind = types.Kind + +const ( + // DynKind represents a dynamic type. This kind only exists at type-check time. + DynKind Kind = types.DynKind + + // AnyKind represents a google.protobuf.Any type. This kind only exists at type-check time. + AnyKind = types.AnyKind + + // BoolKind represents a boolean type. + BoolKind = types.BoolKind + + // BytesKind represents a bytes type. + BytesKind = types.BytesKind + + // DoubleKind represents a double type. + DoubleKind = types.DoubleKind + + // DurationKind represents a CEL duration type. + DurationKind = types.DurationKind + + // IntKind represents an integer type. + IntKind = types.IntKind + + // ListKind represents a list type. + ListKind = types.ListKind + + // MapKind represents a map type. + MapKind = types.MapKind + + // NullTypeKind represents a null type. + NullTypeKind = types.NullTypeKind + + // OpaqueKind represents an abstract type which has no accessible fields. + OpaqueKind = types.OpaqueKind + + // StringKind represents a string type. + StringKind = types.StringKind + + // StructKind represents a structured object with typed fields. + StructKind = types.StructKind + + // TimestampKind represents a a CEL time type. + TimestampKind = types.TimestampKind + + // TypeKind represents the CEL type. + TypeKind = types.TypeKind + + // TypeParamKind represents a parameterized type whose type name will be resolved at type-check time, if possible. + TypeParamKind = types.TypeParamKind + + // UintKind represents a uint type. + UintKind = types.UintKind +) + +var ( + // AnyType represents the google.protobuf.Any type. + AnyType = types.AnyType + // BoolType represents the bool type. + BoolType = types.BoolType + // BytesType represents the bytes type. + BytesType = types.BytesType + // DoubleType represents the double type. + DoubleType = types.DoubleType + // DurationType represents the CEL duration type. + DurationType = types.DurationType + // DynType represents a dynamic CEL type whose type will be determined at runtime from context. + DynType = types.DynType + // IntType represents the int type. + IntType = types.IntType + // NullType represents the type of a null value. + NullType = types.NullType + // StringType represents the string type. + StringType = types.StringType + // TimestampType represents the time type. + TimestampType = types.TimestampType + // TypeType represents a CEL type + TypeType = types.TypeType + // UintType represents a uint type. + UintType = types.UintType + + // function references for instantiating new types. + + // ListType creates an instances of a list type value with the provided element type. + ListType = types.NewListType + // MapType creates an instance of a map type value with the provided key and value types. + MapType = types.NewMapType + // NullableType creates an instance of a nullable type with the provided wrapped type. + // + // Note: only primitive types are supported as wrapped types. + NullableType = types.NewNullableType + // OptionalType creates an abstract parameterized type instance corresponding to CEL's notion of optional. + OptionalType = types.NewOptionalType + // OpaqueType creates an abstract parameterized type with a given name. + OpaqueType = types.NewOpaqueType + // ObjectType creates a type references to an externally defined type, e.g. a protobuf message type. + ObjectType = types.NewObjectType + // TypeParamType creates a parameterized type instance. + TypeParamType = types.NewTypeParamType +) + +// Type holds a reference to a runtime type with an optional type-checked set of type parameters. +type Type = types.Type + +// Constant creates an instances of an identifier declaration with a variable name, type, and value. +func Constant(name string, t *Type, v ref.Val) EnvOption { + return func(e *Env) (*Env, error) { + e.variables = append(e.variables, decls.NewConstant(name, t, v)) + return e, nil + } +} + +// Variable creates an instance of a variable declaration with a variable name and type. +func Variable(name string, t *Type) EnvOption { + return func(e *Env) (*Env, error) { + e.variables = append(e.variables, decls.NewVariable(name, t)) + return e, nil + } +} + +// Function defines a function and overloads with optional singleton or per-overload bindings. +// +// Using Function is roughly equivalent to calling Declarations() to declare the function signatures +// and Functions() to define the function bindings, if they have been defined. Specifying the +// same function name more than once will result in the aggregation of the function overloads. If any +// signatures conflict between the existing and new function definition an error will be raised. +// However, if the signatures are identical and the overload ids are the same, the redefinition will +// be considered a no-op. +// +// One key difference with using Function() is that each FunctionDecl provided will handle dynamic +// dispatch based on the type-signatures of the overloads provided which means overload resolution at +// runtime is handled out of the box rather than via a custom binding for overload resolution via +// Functions(): +// +// - Overloads are searched in the order they are declared +// - Dynamic dispatch for lists and maps is limited by inspection of the list and map contents +// +// at runtime. Empty lists and maps will result in a 'default dispatch' +// +// - In the event that a default dispatch occurs, the first overload provided is the one invoked +// +// If you intend to use overloads which differentiate based on the key or element type of a list or +// map, consider using a generic function instead: e.g. func(list(T)) or func(map(K, V)) as this +// will allow your implementation to determine how best to handle dispatch and the default behavior +// for empty lists and maps whose contents cannot be inspected. +// +// For functions which use parameterized opaque types (abstract types), consider using a singleton +// function which is capable of inspecting the contents of the type and resolving the appropriate +// overload as CEL can only make inferences by type-name regarding such types. +func Function(name string, opts ...FunctionOpt) EnvOption { + return func(e *Env) (*Env, error) { + fn, err := decls.NewFunction(name, opts...) + if err != nil { + return nil, err + } + if existing, found := e.functions[fn.Name()]; found { + fn, err = existing.Merge(fn) + if err != nil { + return nil, err + } + } + e.functions[fn.Name()] = fn + return e, nil + } +} + +// FunctionOpt defines a functional option for configuring a function declaration. +type FunctionOpt = decls.FunctionOpt + +// SingletonUnaryBinding creates a singleton function definition to be used for all function overloads. +// +// Note, this approach works well if operand is expected to have a specific trait which it implements, +// e.g. traits.ContainerType. Otherwise, prefer per-overload function bindings. +func SingletonUnaryBinding(fn functions.UnaryOp, traits ...int) FunctionOpt { + return decls.SingletonUnaryBinding(fn, traits...) +} + +// SingletonBinaryImpl creates a singleton function definition to be used with all function overloads. +// +// Note, this approach works well if operand is expected to have a specific trait which it implements, +// e.g. traits.ContainerType. Otherwise, prefer per-overload function bindings. +// +// Deprecated: use SingletonBinaryBinding +func SingletonBinaryImpl(fn functions.BinaryOp, traits ...int) FunctionOpt { + return decls.SingletonBinaryBinding(fn, traits...) +} + +// SingletonBinaryBinding creates a singleton function definition to be used with all function overloads. +// +// Note, this approach works well if operand is expected to have a specific trait which it implements, +// e.g. traits.ContainerType. Otherwise, prefer per-overload function bindings. +func SingletonBinaryBinding(fn functions.BinaryOp, traits ...int) FunctionOpt { + return decls.SingletonBinaryBinding(fn, traits...) +} + +// SingletonFunctionImpl creates a singleton function definition to be used with all function overloads. +// +// Note, this approach works well if operand is expected to have a specific trait which it implements, +// e.g. traits.ContainerType. Otherwise, prefer per-overload function bindings. +// +// Deprecated: use SingletonFunctionBinding +func SingletonFunctionImpl(fn functions.FunctionOp, traits ...int) FunctionOpt { + return decls.SingletonFunctionBinding(fn, traits...) +} + +// SingletonFunctionBinding creates a singleton function definition to be used with all function overloads. +// +// Note, this approach works well if operand is expected to have a specific trait which it implements, +// e.g. traits.ContainerType. Otherwise, prefer per-overload function bindings. +func SingletonFunctionBinding(fn functions.FunctionOp, traits ...int) FunctionOpt { + return decls.SingletonFunctionBinding(fn, traits...) +} + +// DisableDeclaration disables the function signatures, effectively removing them from the type-check +// environment while preserving the runtime bindings. +func DisableDeclaration(value bool) FunctionOpt { + return decls.DisableDeclaration(value) +} + +// Overload defines a new global overload with an overload id, argument types, and result type. Through the +// use of OverloadOpt options, the overload may also be configured with a binding, an operand trait, and to +// be non-strict. +// +// Note: function bindings should be commonly configured with Overload instances whereas operand traits and +// strict-ness should be rare occurrences. +func Overload(overloadID string, args []*Type, resultType *Type, opts ...OverloadOpt) FunctionOpt { + return decls.Overload(overloadID, args, resultType, opts...) +} + +// MemberOverload defines a new receiver-style overload (or member function) with an overload id, argument types, +// and result type. Through the use of OverloadOpt options, the overload may also be configured with a binding, +// an operand trait, and to be non-strict. +// +// Note: function bindings should be commonly configured with Overload instances whereas operand traits and +// strict-ness should be rare occurrences. +func MemberOverload(overloadID string, args []*Type, resultType *Type, opts ...OverloadOpt) FunctionOpt { + return decls.MemberOverload(overloadID, args, resultType, opts...) +} + +// OverloadOpt is a functional option for configuring a function overload. +type OverloadOpt = decls.OverloadOpt + +// UnaryBinding provides the implementation of a unary overload. The provided function is protected by a runtime +// type-guard which ensures runtime type agreement between the overload signature and runtime argument types. +func UnaryBinding(binding functions.UnaryOp) OverloadOpt { + return decls.UnaryBinding(binding) +} + +// BinaryBinding provides the implementation of a binary overload. The provided function is protected by a runtime +// type-guard which ensures runtime type agreement between the overload signature and runtime argument types. +func BinaryBinding(binding functions.BinaryOp) OverloadOpt { + return decls.BinaryBinding(binding) +} + +// FunctionBinding provides the implementation of a variadic overload. The provided function is protected by a runtime +// type-guard which ensures runtime type agreement between the overload signature and runtime argument types. +func FunctionBinding(binding functions.FunctionOp) OverloadOpt { + return decls.FunctionBinding(binding) +} + +// OverloadIsNonStrict enables the function to be called with error and unknown argument values. +// +// Note: do not use this option unless absoluately necessary as it should be an uncommon feature. +func OverloadIsNonStrict() OverloadOpt { + return decls.OverloadIsNonStrict() +} + +// OverloadOperandTrait configures a set of traits which the first argument to the overload must implement in order to be +// successfully invoked. +func OverloadOperandTrait(trait int) OverloadOpt { + return decls.OverloadOperandTrait(trait) +} + +// TypeToExprType converts a CEL-native type representation to a protobuf CEL Type representation. +func TypeToExprType(t *Type) (*exprpb.Type, error) { + return types.TypeToExprType(t) +} + +// ExprTypeToType converts a protobuf CEL type representation to a CEL-native type representation. +func ExprTypeToType(t *exprpb.Type) (*Type, error) { + return types.ExprTypeToType(t) +} + +// ExprDeclToDeclaration converts a protobuf CEL declaration to a CEL-native declaration, either a Variable or Function. +func ExprDeclToDeclaration(d *exprpb.Decl) (EnvOption, error) { + return AlphaProtoAsDeclaration(d) +} + +// AlphaProtoAsDeclaration converts a v1alpha1.Decl value describing a variable or function into an EnvOption. +func AlphaProtoAsDeclaration(d *exprpb.Decl) (EnvOption, error) { + canonical := &celpb.Decl{} + if err := convertProto(d, canonical); err != nil { + return nil, err + } + return ProtoAsDeclaration(canonical) +} + +// ProtoAsDeclaration converts a canonical celpb.Decl value describing a variable or function into an EnvOption. +func ProtoAsDeclaration(d *celpb.Decl) (EnvOption, error) { + switch d.GetDeclKind().(type) { + case *celpb.Decl_Function: + overloads := d.GetFunction().GetOverloads() + opts := make([]FunctionOpt, len(overloads)) + for i, o := range overloads { + args := make([]*Type, len(o.GetParams())) + for j, p := range o.GetParams() { + a, err := types.ProtoAsType(p) + if err != nil { + return nil, err + } + args[j] = a + } + res, err := types.ProtoAsType(o.GetResultType()) + if err != nil { + return nil, err + } + if o.IsInstanceFunction { + opts[i] = decls.MemberOverload(o.GetOverloadId(), args, res) + } else { + opts[i] = decls.Overload(o.GetOverloadId(), args, res) + } + } + return Function(d.GetName(), opts...), nil + case *celpb.Decl_Ident: + t, err := types.ProtoAsType(d.GetIdent().GetType()) + if err != nil { + return nil, err + } + if d.GetIdent().GetValue() == nil { + return Variable(d.GetName(), t), nil + } + val, err := ast.ProtoConstantAsVal(d.GetIdent().GetValue()) + if err != nil { + return nil, err + } + return Constant(d.GetName(), t, val), nil + default: + return nil, fmt.Errorf("unsupported decl: %v", d) + } +} diff --git a/vendor/github.com/google/cel-go/cel/env.go b/vendor/github.com/google/cel-go/cel/env.go new file mode 100644 index 000000000..ab736b776 --- /dev/null +++ b/vendor/github.com/google/cel-go/cel/env.go @@ -0,0 +1,894 @@ +// Copyright 2019 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 cel + +import ( + "errors" + "sync" + + "github.com/google/cel-go/checker" + chkdecls "github.com/google/cel-go/checker/decls" + "github.com/google/cel-go/common" + celast "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/containers" + "github.com/google/cel-go/common/decls" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" + "github.com/google/cel-go/interpreter" + "github.com/google/cel-go/parser" + + exprpb "google.golang.org/genproto/googleapis/api/expr/v1alpha1" +) + +// Source interface representing a user-provided expression. +type Source = common.Source + +// Ast representing the checked or unchecked expression, its source, and related metadata such as +// source position information. +type Ast struct { + source Source + impl *celast.AST +} + +// NativeRep converts the AST to a Go-native representation. +func (ast *Ast) NativeRep() *celast.AST { + if ast == nil { + return nil + } + return ast.impl +} + +// Expr returns the proto serializable instance of the parsed/checked expression. +// +// Deprecated: prefer cel.AstToCheckedExpr() or cel.AstToParsedExpr() and call GetExpr() +// the result instead. +func (ast *Ast) Expr() *exprpb.Expr { + if ast == nil { + return nil + } + pbExpr, _ := celast.ExprToProto(ast.NativeRep().Expr()) + return pbExpr +} + +// IsChecked returns whether the Ast value has been successfully type-checked. +func (ast *Ast) IsChecked() bool { + return ast.NativeRep().IsChecked() +} + +// SourceInfo returns character offset and newline position information about expression elements. +func (ast *Ast) SourceInfo() *exprpb.SourceInfo { + if ast == nil { + return nil + } + pbInfo, _ := celast.SourceInfoToProto(ast.NativeRep().SourceInfo()) + return pbInfo +} + +// ResultType returns the output type of the expression if the Ast has been type-checked, else +// returns chkdecls.Dyn as the parse step cannot infer the type. +// +// Deprecated: use OutputType +func (ast *Ast) ResultType() *exprpb.Type { + out := ast.OutputType() + t, err := TypeToExprType(out) + if err != nil { + return chkdecls.Dyn + } + return t +} + +// OutputType returns the output type of the expression if the Ast has been type-checked, else +// returns cel.DynType as the parse step cannot infer types. +func (ast *Ast) OutputType() *Type { + if ast == nil { + return types.ErrorType + } + return ast.NativeRep().GetType(ast.NativeRep().Expr().ID()) +} + +// Source returns a view of the input used to create the Ast. This source may be complete or +// constructed from the SourceInfo. +func (ast *Ast) Source() Source { + if ast == nil { + return nil + } + return ast.source +} + +// FormatType converts a type message into a string representation. +// +// Deprecated: prefer FormatCELType +func FormatType(t *exprpb.Type) string { + return checker.FormatCheckedType(t) +} + +// FormatCELType formats a cel.Type value to a string representation. +// +// The type formatting is identical to FormatType. +func FormatCELType(t *Type) string { + return checker.FormatCELType(t) +} + +// Env encapsulates the context necessary to perform parsing, type checking, or generation of +// evaluable programs for different expressions. +type Env struct { + Container *containers.Container + variables []*decls.VariableDecl + functions map[string]*decls.FunctionDecl + macros []parser.Macro + adapter types.Adapter + provider types.Provider + features map[int]bool + appliedFeatures map[int]bool + libraries map[string]bool + validators []ASTValidator + costOptions []checker.CostOption + + // Internal parser representation + prsr *parser.Parser + prsrOpts []parser.Option + + // Internal checker representation + chkMutex sync.Mutex + chk *checker.Env + chkErr error + chkOnce sync.Once + chkOpts []checker.Option + + // Program options tied to the environment + progOpts []ProgramOption +} + +// NewEnv creates a program environment configured with the standard library of CEL functions and +// macros. The Env value returned can parse and check any CEL program which builds upon the core +// features documented in the CEL specification. +// +// See the EnvOption helper functions for the options that can be used to configure the +// environment. +func NewEnv(opts ...EnvOption) (*Env, error) { + // Extend the statically configured standard environment, disabling eager validation to ensure + // the cost of setup for the environment is still just as cheap as it is in v0.11.x and earlier + // releases. The user provided options can easily re-enable the eager validation as they are + // processed after this default option. + stdOpts := append([]EnvOption{EagerlyValidateDeclarations(false)}, opts...) + env, err := getStdEnv() + if err != nil { + return nil, err + } + return env.Extend(stdOpts...) +} + +// NewCustomEnv creates a custom program environment which is not automatically configured with the +// standard library of functions and macros documented in the CEL spec. +// +// The purpose for using a custom environment might be for subsetting the standard library produced +// by the cel.StdLib() function. Subsetting CEL is a core aspect of its design that allows users to +// limit the compute and memory impact of a CEL program by controlling the functions and macros +// that may appear in a given expression. +// +// See the EnvOption helper functions for the options that can be used to configure the +// environment. +func NewCustomEnv(opts ...EnvOption) (*Env, error) { + registry, err := types.NewRegistry() + if err != nil { + return nil, err + } + return (&Env{ + variables: []*decls.VariableDecl{}, + functions: map[string]*decls.FunctionDecl{}, + macros: []parser.Macro{}, + Container: containers.DefaultContainer, + adapter: registry, + provider: registry, + features: map[int]bool{}, + appliedFeatures: map[int]bool{}, + libraries: map[string]bool{}, + validators: []ASTValidator{}, + progOpts: []ProgramOption{}, + costOptions: []checker.CostOption{}, + }).configure(opts) +} + +// Check performs type-checking on the input Ast and yields a checked Ast and/or set of Issues. +// If any `ASTValidators` are configured on the environment, they will be applied after a valid +// type-check result. If any issues are detected, the validators will provide them on the +// output Issues object. +// +// Either checking or validation has failed if the returned Issues value and its Issues.Err() +// value are non-nil. Issues should be inspected if they are non-nil, but may not represent a +// fatal error. +// +// It is possible to have both non-nil Ast and Issues values returned from this call: however, +// the mere presence of an Ast does not imply that it is valid for use. +func (e *Env) Check(ast *Ast) (*Ast, *Issues) { + // Construct the internal checker env, erroring if there is an issue adding the declarations. + chk, err := e.initChecker() + if err != nil { + errs := common.NewErrors(ast.Source()) + errs.ReportError(common.NoLocation, err.Error()) + return nil, NewIssuesWithSourceInfo(errs, ast.NativeRep().SourceInfo()) + } + + checked, errs := checker.Check(ast.NativeRep(), ast.Source(), chk) + if len(errs.GetErrors()) > 0 { + return nil, NewIssuesWithSourceInfo(errs, ast.NativeRep().SourceInfo()) + } + // Manually create the Ast to ensure that the Ast source information (which may be more + // detailed than the information provided by Check), is returned to the caller. + ast = &Ast{ + source: ast.Source(), + impl: checked} + + // Avoid creating a validator config if it's not needed. + if len(e.validators) == 0 { + return ast, nil + } + + // Generate a validator configuration from the set of configured validators. + vConfig := newValidatorConfig() + for _, v := range e.validators { + if cv, ok := v.(ASTValidatorConfigurer); ok { + cv.Configure(vConfig) + } + } + // Apply additional validators on the type-checked result. + iss := NewIssuesWithSourceInfo(errs, ast.NativeRep().SourceInfo()) + for _, v := range e.validators { + v.Validate(e, vConfig, checked, iss) + } + if iss.Err() != nil { + return nil, iss + } + return ast, nil +} + +// Compile combines the Parse and Check phases CEL program compilation to produce an Ast and +// associated issues. +// +// If an error is encountered during parsing the Compile step will not continue with the Check +// phase. If non-error issues are encountered during Parse, they may be combined with any issues +// discovered during Check. +// +// Note, for parse-only uses of CEL use Parse. +func (e *Env) Compile(txt string) (*Ast, *Issues) { + return e.CompileSource(common.NewTextSource(txt)) +} + +// CompileSource combines the Parse and Check phases CEL program compilation to produce an Ast and +// associated issues. +// +// If an error is encountered during parsing the CompileSource step will not continue with the +// Check phase. If non-error issues are encountered during Parse, they may be combined with any +// issues discovered during Check. +// +// Note, for parse-only uses of CEL use Parse. +func (e *Env) CompileSource(src Source) (*Ast, *Issues) { + ast, iss := e.ParseSource(src) + if iss.Err() != nil { + return nil, iss + } + checked, iss2 := e.Check(ast) + if iss2.Err() != nil { + return nil, iss2 + } + return checked, iss2 +} + +// Extend the current environment with additional options to produce a new Env. +// +// Note, the extended Env value should not share memory with the original. It is possible, however, +// that a CustomTypeAdapter or CustomTypeProvider options could provide values which are mutable. +// To ensure separation of state between extended environments either make sure the TypeAdapter and +// TypeProvider are immutable, or that their underlying implementations are based on the +// ref.TypeRegistry which provides a Copy method which will be invoked by this method. +func (e *Env) Extend(opts ...EnvOption) (*Env, error) { + chk, chkErr := e.getCheckerOrError() + if chkErr != nil { + return nil, chkErr + } + + prsrOptsCopy := make([]parser.Option, len(e.prsrOpts)) + copy(prsrOptsCopy, e.prsrOpts) + + // The type-checker is configured with Declarations. The declarations may either be provided + // as options which have not yet been validated, or may come from a previous checker instance + // whose types have already been validated. + chkOptsCopy := make([]checker.Option, len(e.chkOpts)) + copy(chkOptsCopy, e.chkOpts) + + // Copy the declarations if needed. + if chk != nil { + // If the type-checker has already been instantiated, then the e.declarations have been + // validated within the chk instance. + chkOptsCopy = append(chkOptsCopy, checker.ValidatedDeclarations(chk)) + } + varsCopy := make([]*decls.VariableDecl, len(e.variables)) + copy(varsCopy, e.variables) + + // Copy macros and program options + macsCopy := make([]parser.Macro, len(e.macros)) + progOptsCopy := make([]ProgramOption, len(e.progOpts)) + copy(macsCopy, e.macros) + copy(progOptsCopy, e.progOpts) + + // Copy the adapter / provider if they appear to be mutable. + adapter := e.adapter + provider := e.provider + adapterReg, isAdapterReg := e.adapter.(*types.Registry) + providerReg, isProviderReg := e.provider.(*types.Registry) + // In most cases the provider and adapter will be a ref.TypeRegistry; + // however, in the rare cases where they are not, they are assumed to + // be immutable. Since it is possible to set the TypeProvider separately + // from the TypeAdapter, the possible configurations which could use a + // TypeRegistry as the base implementation are captured below. + if isAdapterReg && isProviderReg { + reg := providerReg.Copy() + provider = reg + // If the adapter and provider are the same object, set the adapter + // to the same ref.TypeRegistry as the provider. + if adapterReg == providerReg { + adapter = reg + } else { + // Otherwise, make a copy of the adapter. + adapter = adapterReg.Copy() + } + } else if isProviderReg { + provider = providerReg.Copy() + } else if isAdapterReg { + adapter = adapterReg.Copy() + } + + featuresCopy := make(map[int]bool, len(e.features)) + for k, v := range e.features { + featuresCopy[k] = v + } + appliedFeaturesCopy := make(map[int]bool, len(e.appliedFeatures)) + for k, v := range e.appliedFeatures { + appliedFeaturesCopy[k] = v + } + funcsCopy := make(map[string]*decls.FunctionDecl, len(e.functions)) + for k, v := range e.functions { + funcsCopy[k] = v + } + libsCopy := make(map[string]bool, len(e.libraries)) + for k, v := range e.libraries { + libsCopy[k] = v + } + validatorsCopy := make([]ASTValidator, len(e.validators)) + copy(validatorsCopy, e.validators) + costOptsCopy := make([]checker.CostOption, len(e.costOptions)) + copy(costOptsCopy, e.costOptions) + + ext := &Env{ + Container: e.Container, + variables: varsCopy, + functions: funcsCopy, + macros: macsCopy, + progOpts: progOptsCopy, + adapter: adapter, + features: featuresCopy, + appliedFeatures: appliedFeaturesCopy, + libraries: libsCopy, + validators: validatorsCopy, + provider: provider, + chkOpts: chkOptsCopy, + prsrOpts: prsrOptsCopy, + costOptions: costOptsCopy, + } + return ext.configure(opts) +} + +// HasFeature checks whether the environment enables the given feature +// flag, as enumerated in options.go. +func (e *Env) HasFeature(flag int) bool { + enabled, has := e.features[flag] + return has && enabled +} + +// HasLibrary returns whether a specific SingletonLibrary has been configured in the environment. +func (e *Env) HasLibrary(libName string) bool { + configured, exists := e.libraries[libName] + return exists && configured +} + +// Libraries returns a list of SingletonLibrary that have been configured in the environment. +func (e *Env) Libraries() []string { + libraries := make([]string, 0, len(e.libraries)) + for libName := range e.libraries { + libraries = append(libraries, libName) + } + return libraries +} + +// HasFunction returns whether a specific function has been configured in the environment +func (e *Env) HasFunction(functionName string) bool { + _, ok := e.functions[functionName] + return ok +} + +// Functions returns map of Functions, keyed by function name, that have been configured in the environment. +func (e *Env) Functions() map[string]*decls.FunctionDecl { + return e.functions +} + +// HasValidator returns whether a specific ASTValidator has been configured in the environment. +func (e *Env) HasValidator(name string) bool { + for _, v := range e.validators { + if v.Name() == name { + return true + } + } + return false +} + +// Parse parses the input expression value `txt` to a Ast and/or a set of Issues. +// +// This form of Parse creates a Source value for the input `txt` and forwards to the +// ParseSource method. +func (e *Env) Parse(txt string) (*Ast, *Issues) { + src := common.NewTextSource(txt) + return e.ParseSource(src) +} + +// ParseSource parses the input source to an Ast and/or set of Issues. +// +// Parsing has failed if the returned Issues value and its Issues.Err() value is non-nil. +// Issues should be inspected if they are non-nil, but may not represent a fatal error. +// +// It is possible to have both non-nil Ast and Issues values returned from this call; however, +// the mere presence of an Ast does not imply that it is valid for use. +func (e *Env) ParseSource(src Source) (*Ast, *Issues) { + parsed, errs := e.prsr.Parse(src) + if len(errs.GetErrors()) > 0 { + return nil, &Issues{errs: errs} + } + return &Ast{source: src, impl: parsed}, nil +} + +// Program generates an evaluable instance of the Ast within the environment (Env). +func (e *Env) Program(ast *Ast, opts ...ProgramOption) (Program, error) { + return e.PlanProgram(ast.NativeRep(), opts...) +} + +// PlanProgram generates an evaluable instance of the AST in the go-native representation within +// the environment (Env). +func (e *Env) PlanProgram(a *celast.AST, opts ...ProgramOption) (Program, error) { + optSet := e.progOpts + if len(opts) != 0 { + mergedOpts := []ProgramOption{} + mergedOpts = append(mergedOpts, e.progOpts...) + mergedOpts = append(mergedOpts, opts...) + optSet = mergedOpts + } + return newProgram(e, a, optSet) +} + +// CELTypeAdapter returns the `types.Adapter` configured for the environment. +func (e *Env) CELTypeAdapter() types.Adapter { + return e.adapter +} + +// CELTypeProvider returns the `types.Provider` configured for the environment. +func (e *Env) CELTypeProvider() types.Provider { + return e.provider +} + +// TypeAdapter returns the `ref.TypeAdapter` configured for the environment. +// +// Deprecated: use CELTypeAdapter() +func (e *Env) TypeAdapter() ref.TypeAdapter { + return e.adapter +} + +// TypeProvider returns the `ref.TypeProvider` configured for the environment. +// +// Deprecated: use CELTypeProvider() +func (e *Env) TypeProvider() ref.TypeProvider { + if legacyProvider, ok := e.provider.(ref.TypeProvider); ok { + return legacyProvider + } + return &interopLegacyTypeProvider{Provider: e.provider} +} + +// UnknownVars returns an interpreter.PartialActivation which marks all variables declared in the +// Env as unknown AttributePattern values. +// +// Note, the UnknownVars will behave the same as an interpreter.EmptyActivation unless the +// PartialAttributes option is provided as a ProgramOption. +func (e *Env) UnknownVars() interpreter.PartialActivation { + act := interpreter.EmptyActivation() + part, _ := PartialVars(act, e.computeUnknownVars(act)...) + return part +} + +// PartialVars returns an interpreter.PartialActivation where all variables not in the input variable +// set, but which have been configured in the environment, are marked as unknown. +// +// The `vars` value may either be an interpreter.Activation or any valid input to the +// interpreter.NewActivation call. +// +// Note, this is equivalent to calling cel.PartialVars and manually configuring the set of unknown +// variables. For more advanced use cases of partial state where portions of an object graph, rather +// than top-level variables, are missing the PartialVars() method may be a more suitable choice. +// +// Note, the PartialVars will behave the same as an interpreter.EmptyActivation unless the +// PartialAttributes option is provided as a ProgramOption. +func (e *Env) PartialVars(vars any) (interpreter.PartialActivation, error) { + act, err := interpreter.NewActivation(vars) + if err != nil { + return nil, err + } + return PartialVars(act, e.computeUnknownVars(act)...) +} + +// ResidualAst takes an Ast and its EvalDetails to produce a new Ast which only contains the +// attribute references which are unknown. +// +// Residual expressions are beneficial in a few scenarios: +// +// - Optimizing constant expression evaluations away. +// - Indexing and pruning expressions based on known input arguments. +// - Surfacing additional requirements that are needed in order to complete an evaluation. +// - Sharing the evaluation of an expression across multiple machines/nodes. +// +// For example, if an expression targets a 'resource' and 'request' attribute and the possible +// values for the resource are known, a PartialActivation could mark the 'request' as an unknown +// interpreter.AttributePattern and the resulting ResidualAst would be reduced to only the parts +// of the expression that reference the 'request'. +// +// Note, the expression ids within the residual AST generated through this method have no +// correlation to the expression ids of the original AST. +// +// See the PartialVars helper for how to construct a PartialActivation. +// +// TODO: Consider adding an option to generate a Program.Residual to avoid round-tripping to an +// Ast format and then Program again. +func (e *Env) ResidualAst(a *Ast, details *EvalDetails) (*Ast, error) { + pruned := interpreter.PruneAst(a.impl.Expr(), a.impl.SourceInfo().MacroCalls(), details.State()) + newAST := &Ast{source: a.Source(), impl: pruned} + expr, err := AstToString(newAST) + if err != nil { + return nil, err + } + parsed, iss := e.Parse(expr) + if iss != nil && iss.Err() != nil { + return nil, iss.Err() + } + if !a.IsChecked() { + return parsed, nil + } + checked, iss := e.Check(parsed) + if iss != nil && iss.Err() != nil { + return nil, iss.Err() + } + return checked, nil +} + +// EstimateCost estimates the cost of a type checked CEL expression using the length estimates of input data and +// extension functions provided by estimator. +func (e *Env) EstimateCost(ast *Ast, estimator checker.CostEstimator, opts ...checker.CostOption) (checker.CostEstimate, error) { + extendedOpts := make([]checker.CostOption, 0, len(e.costOptions)) + extendedOpts = append(extendedOpts, opts...) + extendedOpts = append(extendedOpts, e.costOptions...) + return checker.Cost(ast.impl, estimator, extendedOpts...) +} + +// configure applies a series of EnvOptions to the current environment. +func (e *Env) configure(opts []EnvOption) (*Env, error) { + // Customized the environment using the provided EnvOption values. If an error is + // generated at any step this, will be returned as a nil Env with a non-nil error. + var err error + for _, opt := range opts { + e, err = opt(e) + if err != nil { + return nil, err + } + } + + // If the default UTC timezone fix has been enabled, make sure the library is configured + e, err = e.maybeApplyFeature(featureDefaultUTCTimeZone, Lib(timeUTCLibrary{})) + if err != nil { + return nil, err + } + + // Configure the parser. + prsrOpts := []parser.Option{} + prsrOpts = append(prsrOpts, e.prsrOpts...) + prsrOpts = append(prsrOpts, parser.Macros(e.macros...)) + + if e.HasFeature(featureEnableMacroCallTracking) { + prsrOpts = append(prsrOpts, parser.PopulateMacroCalls(true)) + } + if e.HasFeature(featureVariadicLogicalASTs) { + prsrOpts = append(prsrOpts, parser.EnableVariadicOperatorASTs(true)) + } + e.prsr, err = parser.NewParser(prsrOpts...) + if err != nil { + return nil, err + } + + // Ensure that the checker init happens eagerly rather than lazily. + if e.HasFeature(featureEagerlyValidateDeclarations) { + _, err := e.initChecker() + if err != nil { + return nil, err + } + } + + return e, nil +} + +func (e *Env) initChecker() (*checker.Env, error) { + e.chkOnce.Do(func() { + chkOpts := []checker.Option{} + chkOpts = append(chkOpts, e.chkOpts...) + chkOpts = append(chkOpts, + checker.CrossTypeNumericComparisons( + e.HasFeature(featureCrossTypeNumericComparisons))) + + ce, err := checker.NewEnv(e.Container, e.provider, chkOpts...) + if err != nil { + e.setCheckerOrError(nil, err) + return + } + // Add the statically configured declarations. + err = ce.AddIdents(e.variables...) + if err != nil { + e.setCheckerOrError(nil, err) + return + } + // Add the function declarations which are derived from the FunctionDecl instances. + for _, fn := range e.functions { + if fn.IsDeclarationDisabled() { + continue + } + err = ce.AddFunctions(fn) + if err != nil { + e.setCheckerOrError(nil, err) + return + } + } + // Add function declarations here separately. + e.setCheckerOrError(ce, nil) + }) + return e.getCheckerOrError() +} + +// setCheckerOrError sets the checker.Env or error state in a concurrency-safe manner +func (e *Env) setCheckerOrError(chk *checker.Env, chkErr error) { + e.chkMutex.Lock() + e.chk = chk + e.chkErr = chkErr + e.chkMutex.Unlock() +} + +// getCheckerOrError gets the checker.Env or error state in a concurrency-safe manner +func (e *Env) getCheckerOrError() (*checker.Env, error) { + e.chkMutex.Lock() + defer e.chkMutex.Unlock() + return e.chk, e.chkErr +} + +// maybeApplyFeature determines whether the feature-guarded option is enabled, and if so applies +// the feature if it has not already been enabled. +func (e *Env) maybeApplyFeature(feature int, option EnvOption) (*Env, error) { + if !e.HasFeature(feature) { + return e, nil + } + _, applied := e.appliedFeatures[feature] + if applied { + return e, nil + } + e, err := option(e) + if err != nil { + return nil, err + } + // record that the feature has been applied since it will generate declarations + // and functions which will be propagated on Extend() calls and which should only + // be registered once. + e.appliedFeatures[feature] = true + return e, nil +} + +// computeUnknownVars determines a set of missing variables based on the input activation and the +// environment's configured declaration set. +func (e *Env) computeUnknownVars(vars interpreter.Activation) []*interpreter.AttributePattern { + var unknownPatterns []*interpreter.AttributePattern + for _, v := range e.variables { + varName := v.Name() + if _, found := vars.ResolveName(varName); found { + continue + } + unknownPatterns = append(unknownPatterns, interpreter.NewAttributePattern(varName)) + } + return unknownPatterns +} + +// Error type which references an expression id, a location within source, and a message. +type Error = common.Error + +// Issues defines methods for inspecting the error details of parse and check calls. +// +// Note: in the future, non-fatal warnings and notices may be inspectable via the Issues struct. +type Issues struct { + errs *common.Errors + info *celast.SourceInfo +} + +// NewIssues returns an Issues struct from a common.Errors object. +func NewIssues(errs *common.Errors) *Issues { + return NewIssuesWithSourceInfo(errs, nil) +} + +// NewIssuesWithSourceInfo returns an Issues struct from a common.Errors object with SourceInfo metatata +// which can be used with the `ReportErrorAtID` method for additional error reports within the context +// information that's inferred from an expression id. +func NewIssuesWithSourceInfo(errs *common.Errors, info *celast.SourceInfo) *Issues { + return &Issues{ + errs: errs, + info: info, + } +} + +// Err returns an error value if the issues list contains one or more errors. +func (i *Issues) Err() error { + if i == nil { + return nil + } + if len(i.Errors()) > 0 { + return errors.New(i.String()) + } + return nil +} + +// Errors returns the collection of errors encountered in more granular detail. +func (i *Issues) Errors() []*Error { + if i == nil { + return []*Error{} + } + return i.errs.GetErrors() +} + +// Append collects the issues from another Issues struct into a new Issues object. +func (i *Issues) Append(other *Issues) *Issues { + if i == nil { + return other + } + if other == nil || i == other { + return i + } + return NewIssuesWithSourceInfo(i.errs.Append(other.errs.GetErrors()), i.info) +} + +// String converts the issues to a suitable display string. +func (i *Issues) String() string { + if i == nil { + return "" + } + return i.errs.ToDisplayString() +} + +// ReportErrorAtID reports an error message with an optional set of formatting arguments. +// +// The source metadata for the expression at `id`, if present, is attached to the error report. +// To ensure that source metadata is attached to error reports, use NewIssuesWithSourceInfo. +func (i *Issues) ReportErrorAtID(id int64, message string, args ...any) { + i.errs.ReportErrorAtID(id, i.info.GetStartLocation(id), message, args...) +} + +// getStdEnv lazy initializes the CEL standard environment. +func getStdEnv() (*Env, error) { + stdEnvInit.Do(func() { + stdEnv, stdEnvErr = NewCustomEnv(StdLib(), EagerlyValidateDeclarations(true)) + }) + return stdEnv, stdEnvErr +} + +// interopCELTypeProvider layers support for the types.Provider interface on top of a ref.TypeProvider. +type interopCELTypeProvider struct { + ref.TypeProvider +} + +// FindStructType returns a types.Type instance for the given fully-qualified typeName if one exists. +// +// This method proxies to the underlying ref.TypeProvider's FindType method and converts protobuf type +// into a native type representation. If the conversion fails, the type is listed as not found. +func (p *interopCELTypeProvider) FindStructType(typeName string) (*types.Type, bool) { + if et, found := p.FindType(typeName); found { + t, err := types.ExprTypeToType(et) + if err != nil { + return nil, false + } + return t, true + } + return nil, false +} + +// FindStructFieldNames returns an empty set of field for the interop provider. +// +// To inspect the field names, migrate to a `types.Provider` implementation. +func (p *interopCELTypeProvider) FindStructFieldNames(typeName string) ([]string, bool) { + return []string{}, false +} + +// FindStructFieldType returns a types.FieldType instance for the given fully-qualified typeName and field +// name, if one exists. +// +// This method proxies to the underlying ref.TypeProvider's FindFieldType method and converts protobuf type +// into a native type representation. If the conversion fails, the type is listed as not found. +func (p *interopCELTypeProvider) FindStructFieldType(structType, fieldName string) (*types.FieldType, bool) { + if ft, found := p.FindFieldType(structType, fieldName); found { + t, err := types.ExprTypeToType(ft.Type) + if err != nil { + return nil, false + } + return &types.FieldType{ + Type: t, + IsSet: ft.IsSet, + GetFrom: ft.GetFrom, + }, true + } + return nil, false +} + +// interopLegacyTypeProvider layers support for the ref.TypeProvider interface on top of a types.Provider. +type interopLegacyTypeProvider struct { + types.Provider +} + +// FindType retruns the protobuf Type representation for the input type name if one exists. +// +// This method proxies to the underlying types.Provider FindStructType method and converts the types.Type +// value to a protobuf Type representation. +// +// Failure to convert the type will result in the type not being found. +func (p *interopLegacyTypeProvider) FindType(typeName string) (*exprpb.Type, bool) { + if t, found := p.FindStructType(typeName); found { + et, err := types.TypeToExprType(t) + if err != nil { + return nil, false + } + return et, true + } + return nil, false +} + +// FindFieldType returns the protobuf-based FieldType representation for the input type name and field, +// if one exists. +// +// This call proxies to the types.Provider FindStructFieldType method and converts the types.FIeldType +// value to a protobuf-based ref.FieldType representation if found. +// +// Failure to convert the FieldType will result in the field not being found. +func (p *interopLegacyTypeProvider) FindFieldType(structType, fieldName string) (*ref.FieldType, bool) { + if cft, found := p.FindStructFieldType(structType, fieldName); found { + et, err := types.TypeToExprType(cft.Type) + if err != nil { + return nil, false + } + return &ref.FieldType{ + Type: et, + IsSet: cft.IsSet, + GetFrom: cft.GetFrom, + }, true + } + return nil, false +} + +var ( + stdEnvInit sync.Once + stdEnv *Env + stdEnvErr error +) diff --git a/vendor/github.com/google/cel-go/cel/folding.go b/vendor/github.com/google/cel-go/cel/folding.go new file mode 100644 index 000000000..d7060896d --- /dev/null +++ b/vendor/github.com/google/cel-go/cel/folding.go @@ -0,0 +1,559 @@ +// 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 cel + +import ( + "fmt" + + "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/operators" + "github.com/google/cel-go/common/overloads" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" + "github.com/google/cel-go/common/types/traits" +) + +// ConstantFoldingOption defines a functional option for configuring constant folding. +type ConstantFoldingOption func(opt *constantFoldingOptimizer) (*constantFoldingOptimizer, error) + +// MaxConstantFoldIterations limits the number of times literals may be folding during optimization. +// +// Defaults to 100 if not set. +func MaxConstantFoldIterations(limit int) ConstantFoldingOption { + return func(opt *constantFoldingOptimizer) (*constantFoldingOptimizer, error) { + opt.maxFoldIterations = limit + return opt, nil + } +} + +// NewConstantFoldingOptimizer creates an optimizer which inlines constant scalar an aggregate +// literal values within function calls and select statements with their evaluated result. +func NewConstantFoldingOptimizer(opts ...ConstantFoldingOption) (ASTOptimizer, error) { + folder := &constantFoldingOptimizer{ + maxFoldIterations: defaultMaxConstantFoldIterations, + } + var err error + for _, o := range opts { + folder, err = o(folder) + if err != nil { + return nil, err + } + } + return folder, nil +} + +type constantFoldingOptimizer struct { + maxFoldIterations int +} + +// Optimize queries the expression graph for scalar and aggregate literal expressions within call and +// select statements and then evaluates them and replaces the call site with the literal result. +// +// Note: only values which can be represented as literals in CEL syntax are supported. +func (opt *constantFoldingOptimizer) Optimize(ctx *OptimizerContext, a *ast.AST) *ast.AST { + root := ast.NavigateAST(a) + + // Walk the list of foldable expression and continue to fold until there are no more folds left. + // All of the fold candidates returned by the constantExprMatcher should succeed unless there's + // a logic bug with the selection of expressions. + foldableExprs := ast.MatchDescendants(root, constantExprMatcher) + foldCount := 0 + for len(foldableExprs) != 0 && foldCount < opt.maxFoldIterations { + for _, fold := range foldableExprs { + // If the expression could be folded because it's a non-strict call, and the + // branches are pruned, continue to the next fold. + if fold.Kind() == ast.CallKind && maybePruneBranches(ctx, fold) { + continue + } + // Otherwise, assume all context is needed to evaluate the expression. + err := tryFold(ctx, a, fold) + if err != nil { + ctx.ReportErrorAtID(fold.ID(), "constant-folding evaluation failed: %v", err.Error()) + return a + } + } + foldCount++ + foldableExprs = ast.MatchDescendants(root, constantExprMatcher) + } + // Once all of the constants have been folded, try to run through the remaining comprehensions + // one last time. In this case, there's no guarantee they'll run, so we only update the + // target comprehension node with the literal value if the evaluation succeeds. + for _, compre := range ast.MatchDescendants(root, ast.KindMatcher(ast.ComprehensionKind)) { + tryFold(ctx, a, compre) + } + + // If the output is a list, map, or struct which contains optional entries, then prune it + // to make sure that the optionals, if resolved, do not surface in the output literal. + pruneOptionalElements(ctx, root) + + // Ensure that all intermediate values in the folded expression can be represented as valid + // CEL literals within the AST structure. Use `PostOrderVisit` rather than `MatchDescendents` + // to avoid extra allocations during this final pass through the AST. + ast.PostOrderVisit(root, ast.NewExprVisitor(func(e ast.Expr) { + if e.Kind() != ast.LiteralKind { + return + } + val := e.AsLiteral() + adapted, err := adaptLiteral(ctx, val) + if err != nil { + ctx.ReportErrorAtID(root.ID(), "constant-folding evaluation failed: %v", err.Error()) + return + } + ctx.UpdateExpr(e, adapted) + })) + + return a +} + +// tryFold attempts to evaluate a sub-expression to a literal. +// +// If the evaluation succeeds, the input expr value will be modified to become a literal, otherwise +// the method will return an error. +func tryFold(ctx *OptimizerContext, a *ast.AST, expr ast.Expr) error { + // Assume all context is needed to evaluate the expression. + subAST := &Ast{ + impl: ast.NewCheckedAST(ast.NewAST(expr, a.SourceInfo()), a.TypeMap(), a.ReferenceMap()), + } + prg, err := ctx.Program(subAST) + if err != nil { + return err + } + out, _, err := prg.Eval(NoVars()) + if err != nil { + return err + } + // Update the fold expression to be a literal. + ctx.UpdateExpr(expr, ctx.NewLiteral(out)) + return nil +} + +// maybePruneBranches inspects the non-strict call expression to determine whether +// a branch can be removed. Evaluation will naturally prune logical and / or calls, +// but conditional will not be pruned cleanly, so this is one small area where the +// constant folding step reimplements a portion of the evaluator. +func maybePruneBranches(ctx *OptimizerContext, expr ast.NavigableExpr) bool { + call := expr.AsCall() + args := call.Args() + switch call.FunctionName() { + case operators.LogicalAnd, operators.LogicalOr: + return maybeShortcircuitLogic(ctx, call.FunctionName(), args, expr) + case operators.Conditional: + cond := args[0] + truthy := args[1] + falsy := args[2] + if cond.Kind() != ast.LiteralKind { + return false + } + if cond.AsLiteral() == types.True { + ctx.UpdateExpr(expr, truthy) + } else { + ctx.UpdateExpr(expr, falsy) + } + return true + case operators.In: + haystack := args[1] + if haystack.Kind() == ast.ListKind && haystack.AsList().Size() == 0 { + ctx.UpdateExpr(expr, ctx.NewLiteral(types.False)) + return true + } + needle := args[0] + if needle.Kind() == ast.LiteralKind && haystack.Kind() == ast.ListKind { + needleValue := needle.AsLiteral() + list := haystack.AsList() + for _, e := range list.Elements() { + if e.Kind() == ast.LiteralKind && e.AsLiteral().Equal(needleValue) == types.True { + ctx.UpdateExpr(expr, ctx.NewLiteral(types.True)) + return true + } + } + } + } + return false +} + +func maybeShortcircuitLogic(ctx *OptimizerContext, function string, args []ast.Expr, expr ast.NavigableExpr) bool { + shortcircuit := types.False + skip := types.True + if function == operators.LogicalOr { + shortcircuit = types.True + skip = types.False + } + newArgs := []ast.Expr{} + for _, arg := range args { + if arg.Kind() != ast.LiteralKind { + newArgs = append(newArgs, arg) + continue + } + if arg.AsLiteral() == skip { + continue + } + if arg.AsLiteral() == shortcircuit { + ctx.UpdateExpr(expr, arg) + return true + } + } + if len(newArgs) == 0 { + newArgs = append(newArgs, args[0]) + ctx.UpdateExpr(expr, newArgs[0]) + return true + } + if len(newArgs) == 1 { + ctx.UpdateExpr(expr, newArgs[0]) + return true + } + ctx.UpdateExpr(expr, ctx.NewCall(function, newArgs...)) + return true +} + +// pruneOptionalElements works from the bottom up to resolve optional elements within +// aggregate literals. +// +// Note, many aggregate literals will be resolved as arguments to functions or select +// statements, so this method exists to handle the case where the literal could not be +// fully resolved or exists outside of a call, select, or comprehension context. +func pruneOptionalElements(ctx *OptimizerContext, root ast.NavigableExpr) { + aggregateLiterals := ast.MatchDescendants(root, aggregateLiteralMatcher) + for _, lit := range aggregateLiterals { + switch lit.Kind() { + case ast.ListKind: + pruneOptionalListElements(ctx, lit) + case ast.MapKind: + pruneOptionalMapEntries(ctx, lit) + case ast.StructKind: + pruneOptionalStructFields(ctx, lit) + } + } +} + +func pruneOptionalListElements(ctx *OptimizerContext, e ast.Expr) { + l := e.AsList() + elems := l.Elements() + optIndices := l.OptionalIndices() + if len(optIndices) == 0 { + return + } + updatedElems := []ast.Expr{} + updatedIndices := []int32{} + newOptIndex := -1 + for _, e := range elems { + newOptIndex++ + if !l.IsOptional(int32(newOptIndex)) { + updatedElems = append(updatedElems, e) + continue + } + if e.Kind() != ast.LiteralKind { + updatedElems = append(updatedElems, e) + updatedIndices = append(updatedIndices, int32(newOptIndex)) + continue + } + optElemVal, ok := e.AsLiteral().(*types.Optional) + if !ok { + updatedElems = append(updatedElems, e) + updatedIndices = append(updatedIndices, int32(newOptIndex)) + continue + } + if !optElemVal.HasValue() { + newOptIndex-- // Skipping causes the list to get smaller. + continue + } + ctx.UpdateExpr(e, ctx.NewLiteral(optElemVal.GetValue())) + updatedElems = append(updatedElems, e) + } + ctx.UpdateExpr(e, ctx.NewList(updatedElems, updatedIndices)) +} + +func pruneOptionalMapEntries(ctx *OptimizerContext, e ast.Expr) { + m := e.AsMap() + entries := m.Entries() + updatedEntries := []ast.EntryExpr{} + modified := false + for _, e := range entries { + entry := e.AsMapEntry() + key := entry.Key() + val := entry.Value() + // If the entry is not optional, or the value-side of the optional hasn't + // been resolved to a literal, then preserve the entry as-is. + if !entry.IsOptional() || val.Kind() != ast.LiteralKind { + updatedEntries = append(updatedEntries, e) + continue + } + optElemVal, ok := val.AsLiteral().(*types.Optional) + if !ok { + updatedEntries = append(updatedEntries, e) + continue + } + // When the key is not a literal, but the value is, then it needs to be + // restored to an optional value. + if key.Kind() != ast.LiteralKind { + undoOptVal, err := adaptLiteral(ctx, optElemVal) + if err != nil { + ctx.ReportErrorAtID(val.ID(), "invalid map value literal %v: %v", optElemVal, err) + } + ctx.UpdateExpr(val, undoOptVal) + updatedEntries = append(updatedEntries, e) + continue + } + modified = true + if !optElemVal.HasValue() { + continue + } + ctx.UpdateExpr(val, ctx.NewLiteral(optElemVal.GetValue())) + updatedEntry := ctx.NewMapEntry(key, val, false) + updatedEntries = append(updatedEntries, updatedEntry) + } + if modified { + ctx.UpdateExpr(e, ctx.NewMap(updatedEntries)) + } +} + +func pruneOptionalStructFields(ctx *OptimizerContext, e ast.Expr) { + s := e.AsStruct() + fields := s.Fields() + updatedFields := []ast.EntryExpr{} + modified := false + for _, f := range fields { + field := f.AsStructField() + val := field.Value() + if !field.IsOptional() || val.Kind() != ast.LiteralKind { + updatedFields = append(updatedFields, f) + continue + } + optElemVal, ok := val.AsLiteral().(*types.Optional) + if !ok { + updatedFields = append(updatedFields, f) + continue + } + modified = true + if !optElemVal.HasValue() { + continue + } + ctx.UpdateExpr(val, ctx.NewLiteral(optElemVal.GetValue())) + updatedField := ctx.NewStructField(field.Name(), val, false) + updatedFields = append(updatedFields, updatedField) + } + if modified { + ctx.UpdateExpr(e, ctx.NewStruct(s.TypeName(), updatedFields)) + } +} + +// adaptLiteral converts a runtime CEL value to its equivalent literal expression. +// +// For strongly typed values, the type-provider will be used to reconstruct the fields +// which are present in the literal and their equivalent initialization values. +func adaptLiteral(ctx *OptimizerContext, val ref.Val) (ast.Expr, error) { + switch t := val.Type().(type) { + case *types.Type: + switch t { + case types.BoolType, types.BytesType, types.DoubleType, types.IntType, + types.NullType, types.StringType, types.UintType: + return ctx.NewLiteral(val), nil + case types.DurationType: + return ctx.NewCall( + overloads.TypeConvertDuration, + ctx.NewLiteral(val.ConvertToType(types.StringType)), + ), nil + case types.TimestampType: + return ctx.NewCall( + overloads.TypeConvertTimestamp, + ctx.NewLiteral(val.ConvertToType(types.StringType)), + ), nil + case types.OptionalType: + opt := val.(*types.Optional) + if !opt.HasValue() { + return ctx.NewCall("optional.none"), nil + } + target, err := adaptLiteral(ctx, opt.GetValue()) + if err != nil { + return nil, err + } + return ctx.NewCall("optional.of", target), nil + case types.TypeType: + return ctx.NewIdent(val.(*types.Type).TypeName()), nil + case types.ListType: + l, ok := val.(traits.Lister) + if !ok { + return nil, fmt.Errorf("failed to adapt %v to literal", val) + } + elems := make([]ast.Expr, l.Size().(types.Int)) + idx := 0 + it := l.Iterator() + for it.HasNext() == types.True { + elemVal := it.Next() + elemExpr, err := adaptLiteral(ctx, elemVal) + if err != nil { + return nil, err + } + elems[idx] = elemExpr + idx++ + } + return ctx.NewList(elems, []int32{}), nil + case types.MapType: + m, ok := val.(traits.Mapper) + if !ok { + return nil, fmt.Errorf("failed to adapt %v to literal", val) + } + entries := make([]ast.EntryExpr, m.Size().(types.Int)) + idx := 0 + it := m.Iterator() + for it.HasNext() == types.True { + keyVal := it.Next() + keyExpr, err := adaptLiteral(ctx, keyVal) + if err != nil { + return nil, err + } + valVal := m.Get(keyVal) + valExpr, err := adaptLiteral(ctx, valVal) + if err != nil { + return nil, err + } + entries[idx] = ctx.NewMapEntry(keyExpr, valExpr, false) + idx++ + } + return ctx.NewMap(entries), nil + default: + provider := ctx.CELTypeProvider() + fields, found := provider.FindStructFieldNames(t.TypeName()) + if !found { + return nil, fmt.Errorf("failed to adapt %v to literal", val) + } + tester := val.(traits.FieldTester) + indexer := val.(traits.Indexer) + fieldInits := []ast.EntryExpr{} + for _, f := range fields { + field := types.String(f) + if tester.IsSet(field) != types.True { + continue + } + fieldVal := indexer.Get(field) + fieldExpr, err := adaptLiteral(ctx, fieldVal) + if err != nil { + return nil, err + } + fieldInits = append(fieldInits, ctx.NewStructField(f, fieldExpr, false)) + } + return ctx.NewStruct(t.TypeName(), fieldInits), nil + } + } + return nil, fmt.Errorf("failed to adapt %v to literal", val) +} + +// constantExprMatcher matches calls, select statements, and comprehensions whose arguments +// are all constant scalar or aggregate literal values. +// +// Only comprehensions which are not nested are included as possible constant folds, and only +// if all variables referenced in the comprehension stack exist are only iteration or +// accumulation variables. +func constantExprMatcher(e ast.NavigableExpr) bool { + switch e.Kind() { + case ast.CallKind: + return constantCallMatcher(e) + case ast.SelectKind: + sel := e.AsSelect() // guaranteed to be a navigable value + return constantMatcher(sel.Operand().(ast.NavigableExpr)) + case ast.ComprehensionKind: + if isNestedComprehension(e) { + return false + } + vars := map[string]bool{} + constantExprs := true + visitor := ast.NewExprVisitor(func(e ast.Expr) { + if e.Kind() == ast.ComprehensionKind { + nested := e.AsComprehension() + vars[nested.AccuVar()] = true + vars[nested.IterVar()] = true + } + if e.Kind() == ast.IdentKind && !vars[e.AsIdent()] { + constantExprs = false + } + }) + ast.PreOrderVisit(e, visitor) + return constantExprs + default: + return false + } +} + +// constantCallMatcher identifies strict and non-strict calls which can be folded. +func constantCallMatcher(e ast.NavigableExpr) bool { + call := e.AsCall() + children := e.Children() + fnName := call.FunctionName() + if fnName == operators.LogicalAnd { + for _, child := range children { + if child.Kind() == ast.LiteralKind { + return true + } + } + } + if fnName == operators.LogicalOr { + for _, child := range children { + if child.Kind() == ast.LiteralKind { + return true + } + } + } + if fnName == operators.Conditional { + cond := children[0] + if cond.Kind() == ast.LiteralKind && cond.AsLiteral().Type() == types.BoolType { + return true + } + } + if fnName == operators.In { + haystack := children[1] + if haystack.Kind() == ast.ListKind && haystack.AsList().Size() == 0 { + return true + } + needle := children[0] + if needle.Kind() == ast.LiteralKind && haystack.Kind() == ast.ListKind { + needleValue := needle.AsLiteral() + list := haystack.AsList() + for _, e := range list.Elements() { + if e.Kind() == ast.LiteralKind && e.AsLiteral().Equal(needleValue) == types.True { + return true + } + } + } + } + // convert all other calls with constant arguments + for _, child := range children { + if !constantMatcher(child) { + return false + } + } + return true +} + +func isNestedComprehension(e ast.NavigableExpr) bool { + parent, found := e.Parent() + for found { + if parent.Kind() == ast.ComprehensionKind { + return true + } + parent, found = parent.Parent() + } + return false +} + +func aggregateLiteralMatcher(e ast.NavigableExpr) bool { + return e.Kind() == ast.ListKind || e.Kind() == ast.MapKind || e.Kind() == ast.StructKind +} + +var ( + constantMatcher = ast.ConstantValueMatcher() +) + +const ( + defaultMaxConstantFoldIterations = 100 +) diff --git a/vendor/github.com/google/cel-go/cel/inlining.go b/vendor/github.com/google/cel-go/cel/inlining.go new file mode 100644 index 000000000..78d5bea65 --- /dev/null +++ b/vendor/github.com/google/cel-go/cel/inlining.go @@ -0,0 +1,228 @@ +// 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 cel + +import ( + "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/containers" + "github.com/google/cel-go/common/operators" + "github.com/google/cel-go/common/overloads" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/traits" +) + +// InlineVariable holds a variable name to be matched and an AST representing +// the expression graph which should be used to replace it. +type InlineVariable struct { + name string + alias string + def *ast.AST +} + +// Name returns the qualified variable or field selection to replace. +func (v *InlineVariable) Name() string { + return v.name +} + +// Alias returns the alias to use when performing cel.bind() calls during inlining. +func (v *InlineVariable) Alias() string { + return v.alias +} + +// Expr returns the inlined expression value. +func (v *InlineVariable) Expr() ast.Expr { + return v.def.Expr() +} + +// Type indicates the inlined expression type. +func (v *InlineVariable) Type() *Type { + return v.def.GetType(v.def.Expr().ID()) +} + +// NewInlineVariable declares a variable name to be replaced by a checked expression. +func NewInlineVariable(name string, definition *Ast) *InlineVariable { + return NewInlineVariableWithAlias(name, name, definition) +} + +// NewInlineVariableWithAlias declares a variable name to be replaced by a checked expression. +// If the variable occurs more than once, the provided alias will be used to replace the expressions +// where the variable name occurs. +func NewInlineVariableWithAlias(name, alias string, definition *Ast) *InlineVariable { + return &InlineVariable{name: name, alias: alias, def: definition.impl} +} + +// NewInliningOptimizer creates and optimizer which replaces variables with expression definitions. +// +// If a variable occurs one time, the variable is replaced by the inline definition. If the +// variable occurs more than once, the variable occurences are replaced by a cel.bind() call. +func NewInliningOptimizer(inlineVars ...*InlineVariable) ASTOptimizer { + return &inliningOptimizer{variables: inlineVars} +} + +type inliningOptimizer struct { + variables []*InlineVariable +} + +func (opt *inliningOptimizer) Optimize(ctx *OptimizerContext, a *ast.AST) *ast.AST { + root := ast.NavigateAST(a) + for _, inlineVar := range opt.variables { + matches := ast.MatchDescendants(root, opt.matchVariable(inlineVar.Name())) + // Skip cases where the variable isn't in the expression graph + if len(matches) == 0 { + continue + } + + // For a single match, do a direct replacement of the expression sub-graph. + if len(matches) == 1 || !isBindable(matches, inlineVar.Expr(), inlineVar.Type()) { + for _, match := range matches { + // Copy the inlined AST expr and source info. + copyExpr := ctx.CopyASTAndMetadata(inlineVar.def) + opt.inlineExpr(ctx, match, copyExpr, inlineVar.Type()) + } + continue + } + + // For multiple matches, find the least common ancestor (lca) and insert the + // variable as a cel.bind() macro. + var lca ast.NavigableExpr = root + lcaAncestorCount := 0 + ancestors := map[int64]int{} + for _, match := range matches { + // Update the identifier matches with the provided alias. + parent, found := match, true + for found { + ancestorCount, hasAncestor := ancestors[parent.ID()] + if !hasAncestor { + ancestors[parent.ID()] = 1 + parent, found = parent.Parent() + continue + } + if lcaAncestorCount < ancestorCount || (lcaAncestorCount == ancestorCount && lca.Depth() < parent.Depth()) { + lca = parent + lcaAncestorCount = ancestorCount + } + ancestors[parent.ID()] = ancestorCount + 1 + parent, found = parent.Parent() + } + aliasExpr := ctx.NewIdent(inlineVar.Alias()) + opt.inlineExpr(ctx, match, aliasExpr, inlineVar.Type()) + } + + // Copy the inlined AST expr and source info. + copyExpr := ctx.CopyASTAndMetadata(inlineVar.def) + // Update the least common ancestor by inserting a cel.bind() call to the alias. + inlined, bindMacro := ctx.NewBindMacro(lca.ID(), inlineVar.Alias(), copyExpr, lca) + opt.inlineExpr(ctx, lca, inlined, inlineVar.Type()) + ctx.SetMacroCall(lca.ID(), bindMacro) + } + return a +} + +// inlineExpr replaces the current expression with the inlined one, unless the location of the inlining +// happens within a presence test, e.g. has(a.b.c) -> inline alpha for a.b.c in which case an attempt is +// made to determine whether the inlined value can be presence or existence tested. +func (opt *inliningOptimizer) inlineExpr(ctx *OptimizerContext, prev ast.NavigableExpr, inlined ast.Expr, inlinedType *Type) { + switch prev.Kind() { + case ast.SelectKind: + sel := prev.AsSelect() + if !sel.IsTestOnly() { + ctx.UpdateExpr(prev, inlined) + return + } + opt.rewritePresenceExpr(ctx, prev, inlined, inlinedType) + default: + ctx.UpdateExpr(prev, inlined) + } +} + +// rewritePresenceExpr converts the inlined expression, when it occurs within a has() macro, to type-safe +// expression appropriate for the inlined type, if possible. +// +// If the rewrite is not possible an error is reported at the inline expression site. +func (opt *inliningOptimizer) rewritePresenceExpr(ctx *OptimizerContext, prev, inlined ast.Expr, inlinedType *Type) { + // If the input inlined expression is not a select expression it won't work with the has() + // macro. Attempt to rewrite the presence test in terms of the typed input, otherwise error. + if inlined.Kind() == ast.SelectKind { + presenceTest, hasMacro := ctx.NewHasMacro(prev.ID(), inlined) + ctx.UpdateExpr(prev, presenceTest) + ctx.SetMacroCall(prev.ID(), hasMacro) + return + } + + ctx.ClearMacroCall(prev.ID()) + if inlinedType.IsAssignableType(NullType) { + ctx.UpdateExpr(prev, + ctx.NewCall(operators.NotEquals, + inlined, + ctx.NewLiteral(types.NullValue), + )) + return + } + if inlinedType.HasTrait(traits.SizerType) { + ctx.UpdateExpr(prev, + ctx.NewCall(operators.NotEquals, + ctx.NewMemberCall(overloads.Size, inlined), + ctx.NewLiteral(types.IntZero), + )) + return + } + ctx.ReportErrorAtID(prev.ID(), "unable to inline expression type %v into presence test", inlinedType) +} + +// isBindable indicates whether the inlined type can be used within a cel.bind() if the expression +// being replaced occurs within a presence test. Value types with a size() method or field selection +// support can be bound. +// +// In future iterations, support may also be added for indexer types which can be rewritten as an `in` +// expression; however, this would imply a rewrite of the inlined expression that may not be necessary +// in most cases. +func isBindable(matches []ast.NavigableExpr, inlined ast.Expr, inlinedType *Type) bool { + if inlinedType.IsAssignableType(NullType) || + inlinedType.HasTrait(traits.SizerType) { + return true + } + for _, m := range matches { + if m.Kind() != ast.SelectKind { + continue + } + sel := m.AsSelect() + if sel.IsTestOnly() { + return false + } + } + return true +} + +// matchVariable matches simple identifiers, select expressions, and presence test expressions +// which match the (potentially) qualified variable name provided as input. +// +// Note, this function does not support inlining against select expressions which includes optional +// field selection. This may be a future refinement. +func (opt *inliningOptimizer) matchVariable(varName string) ast.ExprMatcher { + return func(e ast.NavigableExpr) bool { + if e.Kind() == ast.IdentKind && e.AsIdent() == varName { + return true + } + if e.Kind() == ast.SelectKind { + sel := e.AsSelect() + // While the `ToQualifiedName` call could take the select directly, this + // would skip presence tests from possible matches, which we would like + // to include. + qualName, found := containers.ToQualifiedName(sel.Operand()) + return found && qualName+"."+sel.FieldName() == varName + } + return false + } +} diff --git a/vendor/github.com/google/cel-go/cel/io.go b/vendor/github.com/google/cel-go/cel/io.go new file mode 100644 index 000000000..7d08d1c81 --- /dev/null +++ b/vendor/github.com/google/cel-go/cel/io.go @@ -0,0 +1,288 @@ +// Copyright 2019 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 cel + +import ( + "errors" + "fmt" + "reflect" + + "google.golang.org/protobuf/proto" + + "github.com/google/cel-go/common" + "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" + "github.com/google/cel-go/common/types/traits" + "github.com/google/cel-go/parser" + + celpb "cel.dev/expr" + exprpb "google.golang.org/genproto/googleapis/api/expr/v1alpha1" + anypb "google.golang.org/protobuf/types/known/anypb" +) + +// CheckedExprToAst converts a checked expression proto message to an Ast. +func CheckedExprToAst(checkedExpr *exprpb.CheckedExpr) *Ast { + checked, _ := CheckedExprToAstWithSource(checkedExpr, nil) + return checked +} + +// CheckedExprToAstWithSource converts a checked expression proto message to an Ast, +// using the provided Source as the textual contents. +// +// In general the source is not necessary unless the AST has been modified between the +// `Parse` and `Check` calls as an `Ast` created from the `Parse` step will carry the source +// through future calls. +// +// Prefer CheckedExprToAst if loading expressions from storage. +func CheckedExprToAstWithSource(checkedExpr *exprpb.CheckedExpr, src Source) (*Ast, error) { + checked, err := ast.ToAST(checkedExpr) + if err != nil { + return nil, err + } + return &Ast{source: src, impl: checked}, nil +} + +// AstToCheckedExpr converts an Ast to an protobuf CheckedExpr value. +// +// If the Ast.IsChecked() returns false, this conversion method will return an error. +func AstToCheckedExpr(a *Ast) (*exprpb.CheckedExpr, error) { + if !a.IsChecked() { + return nil, fmt.Errorf("cannot convert unchecked ast") + } + return ast.ToProto(a.impl) +} + +// ParsedExprToAst converts a parsed expression proto message to an Ast. +func ParsedExprToAst(parsedExpr *exprpb.ParsedExpr) *Ast { + return ParsedExprToAstWithSource(parsedExpr, nil) +} + +// ParsedExprToAstWithSource converts a parsed expression proto message to an Ast, +// using the provided Source as the textual contents. +// +// In general you only need this if you need to recheck a previously checked +// expression, or if you need to separately check a subset of an expression. +// +// Prefer ParsedExprToAst if loading expressions from storage. +func ParsedExprToAstWithSource(parsedExpr *exprpb.ParsedExpr, src Source) *Ast { + info, _ := ast.ProtoToSourceInfo(parsedExpr.GetSourceInfo()) + if src == nil { + src = common.NewInfoSource(parsedExpr.GetSourceInfo()) + } + e, _ := ast.ProtoToExpr(parsedExpr.GetExpr()) + return &Ast{source: src, impl: ast.NewAST(e, info)} +} + +// AstToParsedExpr converts an Ast to an protobuf ParsedExpr value. +func AstToParsedExpr(a *Ast) (*exprpb.ParsedExpr, error) { + return &exprpb.ParsedExpr{ + Expr: a.Expr(), + SourceInfo: a.SourceInfo(), + }, nil +} + +// AstToString converts an Ast back to a string if possible. +// +// Note, the conversion may not be an exact replica of the original expression, but will produce +// a string that is semantically equivalent and whose textual representation is stable. +func AstToString(a *Ast) (string, error) { + return parser.Unparse(a.impl.Expr(), a.impl.SourceInfo()) +} + +// RefValueToValue converts between ref.Val and api.expr.Value. +// The result Value is the serialized proto form. The ref.Val must not be error or unknown. +func RefValueToValue(res ref.Val) (*exprpb.Value, error) { + return ValueAsAlphaProto(res) +} + +func ValueAsAlphaProto(res ref.Val) (*exprpb.Value, error) { + canonical, err := ValueAsProto(res) + if err != nil { + return nil, err + } + alpha := &exprpb.Value{} + err = convertProto(canonical, alpha) + return alpha, err +} + +func ValueAsProto(res ref.Val) (*celpb.Value, error) { + switch res.Type() { + case types.BoolType: + return &celpb.Value{ + Kind: &celpb.Value_BoolValue{BoolValue: res.Value().(bool)}}, nil + case types.BytesType: + return &celpb.Value{ + Kind: &celpb.Value_BytesValue{BytesValue: res.Value().([]byte)}}, nil + case types.DoubleType: + return &celpb.Value{ + Kind: &celpb.Value_DoubleValue{DoubleValue: res.Value().(float64)}}, nil + case types.IntType: + return &celpb.Value{ + Kind: &celpb.Value_Int64Value{Int64Value: res.Value().(int64)}}, nil + case types.ListType: + l := res.(traits.Lister) + sz := l.Size().(types.Int) + elts := make([]*celpb.Value, 0, int64(sz)) + for i := types.Int(0); i < sz; i++ { + v, err := ValueAsProto(l.Get(i)) + if err != nil { + return nil, err + } + elts = append(elts, v) + } + return &celpb.Value{ + Kind: &celpb.Value_ListValue{ + ListValue: &celpb.ListValue{Values: elts}}}, nil + case types.MapType: + mapper := res.(traits.Mapper) + sz := mapper.Size().(types.Int) + entries := make([]*celpb.MapValue_Entry, 0, int64(sz)) + for it := mapper.Iterator(); it.HasNext().(types.Bool); { + k := it.Next() + v := mapper.Get(k) + kv, err := ValueAsProto(k) + if err != nil { + return nil, err + } + vv, err := ValueAsProto(v) + if err != nil { + return nil, err + } + entries = append(entries, &celpb.MapValue_Entry{Key: kv, Value: vv}) + } + return &celpb.Value{ + Kind: &celpb.Value_MapValue{ + MapValue: &celpb.MapValue{Entries: entries}}}, nil + case types.NullType: + return &celpb.Value{ + Kind: &celpb.Value_NullValue{}}, nil + case types.StringType: + return &celpb.Value{ + Kind: &celpb.Value_StringValue{StringValue: res.Value().(string)}}, nil + case types.TypeType: + typeName := res.(ref.Type).TypeName() + return &celpb.Value{Kind: &celpb.Value_TypeValue{TypeValue: typeName}}, nil + case types.UintType: + return &celpb.Value{ + Kind: &celpb.Value_Uint64Value{Uint64Value: res.Value().(uint64)}}, nil + default: + any, err := res.ConvertToNative(anyPbType) + if err != nil { + return nil, err + } + return &celpb.Value{ + Kind: &celpb.Value_ObjectValue{ObjectValue: any.(*anypb.Any)}}, nil + } +} + +var ( + typeNameToTypeValue = map[string]ref.Val{ + "bool": types.BoolType, + "bytes": types.BytesType, + "double": types.DoubleType, + "null_type": types.NullType, + "int": types.IntType, + "list": types.ListType, + "map": types.MapType, + "string": types.StringType, + "type": types.TypeType, + "uint": types.UintType, + } + + anyPbType = reflect.TypeOf(&anypb.Any{}) +) + +// ValueToRefValue converts between exprpb.Value and ref.Val. +func ValueToRefValue(adapter types.Adapter, v *exprpb.Value) (ref.Val, error) { + return AlphaProtoAsValue(adapter, v) +} + +func AlphaProtoAsValue(adapter types.Adapter, v *exprpb.Value) (ref.Val, error) { + canonical := &celpb.Value{} + if err := convertProto(v, canonical); err != nil { + return nil, err + } + return ProtoAsValue(adapter, canonical) +} + +func ProtoAsValue(adapter types.Adapter, v *celpb.Value) (ref.Val, error) { + switch v.Kind.(type) { + case *celpb.Value_NullValue: + return types.NullValue, nil + case *celpb.Value_BoolValue: + return types.Bool(v.GetBoolValue()), nil + case *celpb.Value_Int64Value: + return types.Int(v.GetInt64Value()), nil + case *celpb.Value_Uint64Value: + return types.Uint(v.GetUint64Value()), nil + case *celpb.Value_DoubleValue: + return types.Double(v.GetDoubleValue()), nil + case *celpb.Value_StringValue: + return types.String(v.GetStringValue()), nil + case *celpb.Value_BytesValue: + return types.Bytes(v.GetBytesValue()), nil + case *celpb.Value_ObjectValue: + any := v.GetObjectValue() + msg, err := anypb.UnmarshalNew(any, proto.UnmarshalOptions{DiscardUnknown: true}) + if err != nil { + return nil, err + } + return adapter.NativeToValue(msg), nil + case *celpb.Value_MapValue: + m := v.GetMapValue() + entries := make(map[ref.Val]ref.Val) + for _, entry := range m.Entries { + key, err := ProtoAsValue(adapter, entry.Key) + if err != nil { + return nil, err + } + pb, err := ProtoAsValue(adapter, entry.Value) + if err != nil { + return nil, err + } + entries[key] = pb + } + return adapter.NativeToValue(entries), nil + case *celpb.Value_ListValue: + l := v.GetListValue() + elts := make([]ref.Val, len(l.Values)) + for i, e := range l.Values { + rv, err := ProtoAsValue(adapter, e) + if err != nil { + return nil, err + } + elts[i] = rv + } + return adapter.NativeToValue(elts), nil + case *celpb.Value_TypeValue: + typeName := v.GetTypeValue() + tv, ok := typeNameToTypeValue[typeName] + if ok { + return tv, nil + } + return types.NewObjectTypeValue(typeName), nil + } + return nil, errors.New("unknown value") +} + +func convertProto(src, dst proto.Message) error { + pb, err := proto.Marshal(src) + if err != nil { + return err + } + err = proto.Unmarshal(pb, dst) + return err +} diff --git a/vendor/github.com/google/cel-go/cel/library.go b/vendor/github.com/google/cel-go/cel/library.go new file mode 100644 index 000000000..be59f1b02 --- /dev/null +++ b/vendor/github.com/google/cel-go/cel/library.go @@ -0,0 +1,790 @@ +// Copyright 2020 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 cel + +import ( + "math" + "strconv" + "strings" + "time" + + "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/operators" + "github.com/google/cel-go/common/overloads" + "github.com/google/cel-go/common/stdlib" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" + "github.com/google/cel-go/common/types/traits" + "github.com/google/cel-go/interpreter" + "github.com/google/cel-go/parser" +) + +const ( + optMapMacro = "optMap" + optFlatMapMacro = "optFlatMap" + hasValueFunc = "hasValue" + optionalNoneFunc = "optional.none" + optionalOfFunc = "optional.of" + optionalOfNonZeroValueFunc = "optional.ofNonZeroValue" + valueFunc = "value" + unusedIterVar = "#unused" +) + +// Library provides a collection of EnvOption and ProgramOption values used to configure a CEL +// environment for a particular use case or with a related set of functionality. +// +// Note, the ProgramOption values provided by a library are expected to be static and not vary +// between calls to Env.Program(). If there is a need for such dynamic configuration, prefer to +// configure these options outside the Library and within the Env.Program() call directly. +type Library interface { + // CompileOptions returns a collection of functional options for configuring the Parse / Check + // environment. + CompileOptions() []EnvOption + + // ProgramOptions returns a collection of functional options which should be included in every + // Program generated from the Env.Program() call. + ProgramOptions() []ProgramOption +} + +// SingletonLibrary refines the Library interface to ensure that libraries in this format are only +// configured once within the environment. +type SingletonLibrary interface { + Library + + // LibraryName provides a namespaced name which is used to check whether the library has already + // been configured in the environment. + LibraryName() string +} + +// Lib creates an EnvOption out of a Library, allowing libraries to be provided as functional args, +// and to be linked to each other. +func Lib(l Library) EnvOption { + singleton, isSingleton := l.(SingletonLibrary) + return func(e *Env) (*Env, error) { + if isSingleton { + if e.HasLibrary(singleton.LibraryName()) { + return e, nil + } + e.libraries[singleton.LibraryName()] = true + } + var err error + for _, opt := range l.CompileOptions() { + e, err = opt(e) + if err != nil { + return nil, err + } + } + e.progOpts = append(e.progOpts, l.ProgramOptions()...) + return e, nil + } +} + +// StdLib returns an EnvOption for the standard library of CEL functions and macros. +func StdLib() EnvOption { + return Lib(stdLibrary{}) +} + +// stdLibrary implements the Library interface and provides functional options for the core CEL +// features documented in the specification. +type stdLibrary struct{} + +// LibraryName implements the SingletonLibrary interface method. +func (stdLibrary) LibraryName() string { + return "cel.lib.std" +} + +// CompileOptions returns options for the standard CEL function declarations and macros. +func (stdLibrary) CompileOptions() []EnvOption { + return []EnvOption{ + func(e *Env) (*Env, error) { + var err error + for _, fn := range stdlib.Functions() { + existing, found := e.functions[fn.Name()] + if found { + fn, err = existing.Merge(fn) + if err != nil { + return nil, err + } + } + e.functions[fn.Name()] = fn + } + return e, nil + }, + func(e *Env) (*Env, error) { + e.variables = append(e.variables, stdlib.Types()...) + return e, nil + }, + Macros(StandardMacros...), + } +} + +// ProgramOptions returns function implementations for the standard CEL functions. +func (stdLibrary) ProgramOptions() []ProgramOption { + return []ProgramOption{} +} + +// OptionalTypes enable support for optional syntax and types in CEL. +// +// The optional value type makes it possible to express whether variables have +// been provided, whether a result has been computed, and in the future whether +// an object field path, map key value, or list index has a value. +// +// # Syntax Changes +// +// OptionalTypes are unlike other CEL extensions because they modify the CEL +// syntax itself, notably through the use of a `?` preceding a field name or +// index value. +// +// ## Field Selection +// +// The optional syntax in field selection is denoted as `obj.?field`. In other +// words, if a field is set, return `optional.of(obj.field)“, else +// `optional.none()`. The optional field selection is viral in the sense that +// after the first optional selection all subsequent selections or indices +// are treated as optional, i.e. the following expressions are equivalent: +// +// obj.?field.subfield +// obj.?field.?subfield +// +// ## Indexing +// +// Similar to field selection, the optional syntax can be used in index +// expressions on maps and lists: +// +// list[?0] +// map[?key] +// +// ## Optional Field Setting +// +// When creating map or message literals, if a field may be optionally set +// based on its presence, then placing a `?` before the field name or key +// will ensure the type on the right-hand side must be optional(T) where T +// is the type of the field or key-value. +// +// The following returns a map with the key expression set only if the +// subfield is present, otherwise an empty map is created: +// +// {?key: obj.?field.subfield} +// +// ## Optional Element Setting +// +// When creating list literals, an element in the list may be optionally added +// when the element expression is preceded by a `?`: +// +// [a, ?b, ?c] // return a list with either [a], [a, b], [a, b, c], or [a, c] +// +// # Optional.Of +// +// Create an optional(T) value of a given value with type T. +// +// optional.of(10) +// +// # Optional.OfNonZeroValue +// +// Create an optional(T) value of a given value with type T if it is not a +// zero-value. A zero-value the default empty value for any given CEL type, +// including empty protobuf message types. If the value is empty, the result +// of this call will be optional.none(). +// +// optional.ofNonZeroValue([1, 2, 3]) // optional(list(int)) +// optional.ofNonZeroValue([]) // optional.none() +// optional.ofNonZeroValue(0) // optional.none() +// optional.ofNonZeroValue("") // optional.none() +// +// # Optional.None +// +// Create an empty optional value. +// +// # HasValue +// +// Determine whether the optional contains a value. +// +// optional.of(b'hello').hasValue() // true +// optional.ofNonZeroValue({}).hasValue() // false +// +// # Value +// +// Get the value contained by the optional. If the optional does not have a +// value, the result will be a CEL error. +// +// optional.of(b'hello').value() // b'hello' +// optional.ofNonZeroValue({}).value() // error +// +// # Or +// +// If the value on the left-hand side is optional.none(), the optional value +// on the right hand side is returned. If the value on the left-hand set is +// valued, then it is returned. This operation is short-circuiting and will +// only evaluate as many links in the `or` chain as are needed to return a +// non-empty optional value. +// +// obj.?field.or(m[?key]) +// l[?index].or(obj.?field.subfield).or(obj.?other) +// +// # OrValue +// +// Either return the value contained within the optional on the left-hand side +// or return the alternative value on the right hand side. +// +// m[?key].orValue("none") +// +// # OptMap +// +// Apply a transformation to the optional's underlying value if it is not empty +// and return an optional typed result based on the transformation. The +// transformation expression type must return a type T which is wrapped into +// an optional. +// +// msg.?elements.optMap(e, e.size()).orValue(0) +// +// # OptFlatMap +// +// Introduced in version: 1 +// +// Apply a transformation to the optional's underlying value if it is not empty +// and return the result. The transform expression must return an optional(T) +// rather than type T. This can be useful when dealing with zero values and +// conditionally generating an empty or non-empty result in ways which cannot +// be expressed with `optMap`. +// +// msg.?elements.optFlatMap(e, e[?0]) // return the first element if present. +func OptionalTypes(opts ...OptionalTypesOption) EnvOption { + lib := &optionalLib{version: math.MaxUint32} + for _, opt := range opts { + lib = opt(lib) + } + return Lib(lib) +} + +type optionalLib struct { + version uint32 +} + +// OptionalTypesOption is a functional interface for configuring the strings library. +type OptionalTypesOption func(*optionalLib) *optionalLib + +// OptionalTypesVersion configures the version of the optional type library. +// +// The version limits which functions are available. Only functions introduced +// below or equal to the given version included in the library. If this option +// is not set, all functions are available. +// +// See the library documentation to determine which version a function was introduced. +// If the documentation does not state which version a function was introduced, it can +// be assumed to be introduced at version 0, when the library was first created. +func OptionalTypesVersion(version uint32) OptionalTypesOption { + return func(lib *optionalLib) *optionalLib { + lib.version = version + return lib + } +} + +// LibraryName implements the SingletonLibrary interface method. +func (lib *optionalLib) LibraryName() string { + return "cel.lib.optional" +} + +// CompileOptions implements the Library interface method. +func (lib *optionalLib) CompileOptions() []EnvOption { + paramTypeK := TypeParamType("K") + paramTypeV := TypeParamType("V") + optionalTypeV := OptionalType(paramTypeV) + listTypeV := ListType(paramTypeV) + mapTypeKV := MapType(paramTypeK, paramTypeV) + + opts := []EnvOption{ + // Enable the optional syntax in the parser. + enableOptionalSyntax(), + + // Introduce the optional type. + Types(types.OptionalType), + + // Configure the optMap and optFlatMap macros. + Macros(ReceiverMacro(optMapMacro, 2, optMap)), + + // Global and member functions for working with optional values. + Function(optionalOfFunc, + Overload("optional_of", []*Type{paramTypeV}, optionalTypeV, + UnaryBinding(func(value ref.Val) ref.Val { + return types.OptionalOf(value) + }))), + Function(optionalOfNonZeroValueFunc, + Overload("optional_ofNonZeroValue", []*Type{paramTypeV}, optionalTypeV, + UnaryBinding(func(value ref.Val) ref.Val { + v, isZeroer := value.(traits.Zeroer) + if !isZeroer || !v.IsZeroValue() { + return types.OptionalOf(value) + } + return types.OptionalNone + }))), + Function(optionalNoneFunc, + Overload("optional_none", []*Type{}, optionalTypeV, + FunctionBinding(func(values ...ref.Val) ref.Val { + return types.OptionalNone + }))), + Function(valueFunc, + MemberOverload("optional_value", []*Type{optionalTypeV}, paramTypeV, + UnaryBinding(func(value ref.Val) ref.Val { + opt := value.(*types.Optional) + return opt.GetValue() + }))), + Function(hasValueFunc, + MemberOverload("optional_hasValue", []*Type{optionalTypeV}, BoolType, + UnaryBinding(func(value ref.Val) ref.Val { + opt := value.(*types.Optional) + return types.Bool(opt.HasValue()) + }))), + + // Implementation of 'or' and 'orValue' are special-cased to support short-circuiting in the + // evaluation chain. + Function("or", + MemberOverload("optional_or_optional", []*Type{optionalTypeV, optionalTypeV}, optionalTypeV)), + Function("orValue", + MemberOverload("optional_orValue_value", []*Type{optionalTypeV, paramTypeV}, paramTypeV)), + + // OptSelect is handled specially by the type-checker, so the receiver's field type is used to determine the + // optput type. + Function(operators.OptSelect, + Overload("select_optional_field", []*Type{DynType, StringType}, optionalTypeV)), + + // OptIndex is handled mostly like any other indexing operation on a list or map, so the type-checker can use + // these signatures to determine type-agreement without any special handling. + Function(operators.OptIndex, + Overload("list_optindex_optional_int", []*Type{listTypeV, IntType}, optionalTypeV), + Overload("optional_list_optindex_optional_int", []*Type{OptionalType(listTypeV), IntType}, optionalTypeV), + Overload("map_optindex_optional_value", []*Type{mapTypeKV, paramTypeK}, optionalTypeV), + Overload("optional_map_optindex_optional_value", []*Type{OptionalType(mapTypeKV), paramTypeK}, optionalTypeV)), + + // Index overloads to accommodate using an optional value as the operand. + Function(operators.Index, + Overload("optional_list_index_int", []*Type{OptionalType(listTypeV), IntType}, optionalTypeV), + Overload("optional_map_index_value", []*Type{OptionalType(mapTypeKV), paramTypeK}, optionalTypeV)), + } + if lib.version >= 1 { + opts = append(opts, Macros(ReceiverMacro(optFlatMapMacro, 2, optFlatMap))) + } + return opts +} + +// ProgramOptions implements the Library interface method. +func (lib *optionalLib) ProgramOptions() []ProgramOption { + return []ProgramOption{ + CustomDecorator(decorateOptionalOr), + } +} + +func optMap(meh MacroExprFactory, target ast.Expr, args []ast.Expr) (ast.Expr, *Error) { + varIdent := args[0] + varName := "" + switch varIdent.Kind() { + case ast.IdentKind: + varName = varIdent.AsIdent() + default: + return nil, meh.NewError(varIdent.ID(), "optMap() variable name must be a simple identifier") + } + mapExpr := args[1] + return meh.NewCall( + operators.Conditional, + meh.NewMemberCall(hasValueFunc, target), + meh.NewCall(optionalOfFunc, + meh.NewComprehension( + meh.NewList(), + unusedIterVar, + varName, + meh.NewMemberCall(valueFunc, meh.Copy(target)), + meh.NewLiteral(types.False), + meh.NewIdent(varName), + mapExpr, + ), + ), + meh.NewCall(optionalNoneFunc), + ), nil +} + +func optFlatMap(meh MacroExprFactory, target ast.Expr, args []ast.Expr) (ast.Expr, *Error) { + varIdent := args[0] + varName := "" + switch varIdent.Kind() { + case ast.IdentKind: + varName = varIdent.AsIdent() + default: + return nil, meh.NewError(varIdent.ID(), "optFlatMap() variable name must be a simple identifier") + } + mapExpr := args[1] + return meh.NewCall( + operators.Conditional, + meh.NewMemberCall(hasValueFunc, target), + meh.NewComprehension( + meh.NewList(), + unusedIterVar, + varName, + meh.NewMemberCall(valueFunc, meh.Copy(target)), + meh.NewLiteral(types.False), + meh.NewIdent(varName), + mapExpr, + ), + meh.NewCall(optionalNoneFunc), + ), nil +} + +func enableOptionalSyntax() EnvOption { + return func(e *Env) (*Env, error) { + e.prsrOpts = append(e.prsrOpts, parser.EnableOptionalSyntax(true)) + return e, nil + } +} + +// EnableErrorOnBadPresenceTest enables error generation when a presence test or optional field +// selection is performed on a primitive type. +func EnableErrorOnBadPresenceTest(value bool) EnvOption { + return features(featureEnableErrorOnBadPresenceTest, value) +} + +func decorateOptionalOr(i interpreter.Interpretable) (interpreter.Interpretable, error) { + call, ok := i.(interpreter.InterpretableCall) + if !ok { + return i, nil + } + args := call.Args() + if len(args) != 2 { + return i, nil + } + switch call.Function() { + case "or": + if call.OverloadID() != "" && call.OverloadID() != "optional_or_optional" { + return i, nil + } + return &evalOptionalOr{ + id: call.ID(), + lhs: args[0], + rhs: args[1], + }, nil + case "orValue": + if call.OverloadID() != "" && call.OverloadID() != "optional_orValue_value" { + return i, nil + } + return &evalOptionalOrValue{ + id: call.ID(), + lhs: args[0], + rhs: args[1], + }, nil + default: + return i, nil + } +} + +// evalOptionalOr selects between two optional values, either the first if it has a value, or +// the second optional expression is evaluated and returned. +type evalOptionalOr struct { + id int64 + lhs interpreter.Interpretable + rhs interpreter.Interpretable +} + +// ID implements the Interpretable interface method. +func (opt *evalOptionalOr) ID() int64 { + return opt.id +} + +// Eval evaluates the left-hand side optional to determine whether it contains a value, else +// proceeds with the right-hand side evaluation. +func (opt *evalOptionalOr) Eval(ctx interpreter.Activation) ref.Val { + // short-circuit lhs. + optLHS := opt.lhs.Eval(ctx) + optVal, ok := optLHS.(*types.Optional) + if !ok { + return optLHS + } + if optVal.HasValue() { + return optVal + } + return opt.rhs.Eval(ctx) +} + +// evalOptionalOrValue selects between an optional or a concrete value. If the optional has a value, +// its value is returned, otherwise the alternative value expression is evaluated and returned. +type evalOptionalOrValue struct { + id int64 + lhs interpreter.Interpretable + rhs interpreter.Interpretable +} + +// ID implements the Interpretable interface method. +func (opt *evalOptionalOrValue) ID() int64 { + return opt.id +} + +// Eval evaluates the left-hand side optional to determine whether it contains a value, else +// proceeds with the right-hand side evaluation. +func (opt *evalOptionalOrValue) Eval(ctx interpreter.Activation) ref.Val { + // short-circuit lhs. + optLHS := opt.lhs.Eval(ctx) + optVal, ok := optLHS.(*types.Optional) + if !ok { + return optLHS + } + if optVal.HasValue() { + return optVal.GetValue() + } + return opt.rhs.Eval(ctx) +} + +type timeUTCLibrary struct{} + +func (timeUTCLibrary) CompileOptions() []EnvOption { + return timeOverloadDeclarations +} + +func (timeUTCLibrary) ProgramOptions() []ProgramOption { + return []ProgramOption{} +} + +// Declarations and functions which enable using UTC on time.Time inputs when the timezone is unspecified +// in the CEL expression. +var ( + utcTZ = types.String("UTC") + + timeOverloadDeclarations = []EnvOption{ + Function(overloads.TimeGetHours, + MemberOverload(overloads.DurationToHours, []*Type{DurationType}, IntType, + UnaryBinding(types.DurationGetHours))), + Function(overloads.TimeGetMinutes, + MemberOverload(overloads.DurationToMinutes, []*Type{DurationType}, IntType, + UnaryBinding(types.DurationGetMinutes))), + Function(overloads.TimeGetSeconds, + MemberOverload(overloads.DurationToSeconds, []*Type{DurationType}, IntType, + UnaryBinding(types.DurationGetSeconds))), + Function(overloads.TimeGetMilliseconds, + MemberOverload(overloads.DurationToMilliseconds, []*Type{DurationType}, IntType, + UnaryBinding(types.DurationGetMilliseconds))), + Function(overloads.TimeGetFullYear, + MemberOverload(overloads.TimestampToYear, []*Type{TimestampType}, IntType, + UnaryBinding(func(ts ref.Val) ref.Val { + return timestampGetFullYear(ts, utcTZ) + }), + ), + MemberOverload(overloads.TimestampToYearWithTz, []*Type{TimestampType, StringType}, IntType, + BinaryBinding(timestampGetFullYear), + ), + ), + Function(overloads.TimeGetMonth, + MemberOverload(overloads.TimestampToMonth, []*Type{TimestampType}, IntType, + UnaryBinding(func(ts ref.Val) ref.Val { + return timestampGetMonth(ts, utcTZ) + }), + ), + MemberOverload(overloads.TimestampToMonthWithTz, []*Type{TimestampType, StringType}, IntType, + BinaryBinding(timestampGetMonth), + ), + ), + Function(overloads.TimeGetDayOfYear, + MemberOverload(overloads.TimestampToDayOfYear, []*Type{TimestampType}, IntType, + UnaryBinding(func(ts ref.Val) ref.Val { + return timestampGetDayOfYear(ts, utcTZ) + }), + ), + MemberOverload(overloads.TimestampToDayOfYearWithTz, []*Type{TimestampType, StringType}, IntType, + BinaryBinding(func(ts, tz ref.Val) ref.Val { + return timestampGetDayOfYear(ts, tz) + }), + ), + ), + Function(overloads.TimeGetDayOfMonth, + MemberOverload(overloads.TimestampToDayOfMonthZeroBased, []*Type{TimestampType}, IntType, + UnaryBinding(func(ts ref.Val) ref.Val { + return timestampGetDayOfMonthZeroBased(ts, utcTZ) + }), + ), + MemberOverload(overloads.TimestampToDayOfMonthZeroBasedWithTz, []*Type{TimestampType, StringType}, IntType, + BinaryBinding(timestampGetDayOfMonthZeroBased), + ), + ), + Function(overloads.TimeGetDate, + MemberOverload(overloads.TimestampToDayOfMonthOneBased, []*Type{TimestampType}, IntType, + UnaryBinding(func(ts ref.Val) ref.Val { + return timestampGetDayOfMonthOneBased(ts, utcTZ) + }), + ), + MemberOverload(overloads.TimestampToDayOfMonthOneBasedWithTz, []*Type{TimestampType, StringType}, IntType, + BinaryBinding(timestampGetDayOfMonthOneBased), + ), + ), + Function(overloads.TimeGetDayOfWeek, + MemberOverload(overloads.TimestampToDayOfWeek, []*Type{TimestampType}, IntType, + UnaryBinding(func(ts ref.Val) ref.Val { + return timestampGetDayOfWeek(ts, utcTZ) + }), + ), + MemberOverload(overloads.TimestampToDayOfWeekWithTz, []*Type{TimestampType, StringType}, IntType, + BinaryBinding(timestampGetDayOfWeek), + ), + ), + Function(overloads.TimeGetHours, + MemberOverload(overloads.TimestampToHours, []*Type{TimestampType}, IntType, + UnaryBinding(func(ts ref.Val) ref.Val { + return timestampGetHours(ts, utcTZ) + }), + ), + MemberOverload(overloads.TimestampToHoursWithTz, []*Type{TimestampType, StringType}, IntType, + BinaryBinding(timestampGetHours), + ), + ), + Function(overloads.TimeGetMinutes, + MemberOverload(overloads.TimestampToMinutes, []*Type{TimestampType}, IntType, + UnaryBinding(func(ts ref.Val) ref.Val { + return timestampGetMinutes(ts, utcTZ) + }), + ), + MemberOverload(overloads.TimestampToMinutesWithTz, []*Type{TimestampType, StringType}, IntType, + BinaryBinding(timestampGetMinutes), + ), + ), + Function(overloads.TimeGetSeconds, + MemberOverload(overloads.TimestampToSeconds, []*Type{TimestampType}, IntType, + UnaryBinding(func(ts ref.Val) ref.Val { + return timestampGetSeconds(ts, utcTZ) + }), + ), + MemberOverload(overloads.TimestampToSecondsWithTz, []*Type{TimestampType, StringType}, IntType, + BinaryBinding(timestampGetSeconds), + ), + ), + Function(overloads.TimeGetMilliseconds, + MemberOverload(overloads.TimestampToMilliseconds, []*Type{TimestampType}, IntType, + UnaryBinding(func(ts ref.Val) ref.Val { + return timestampGetMilliseconds(ts, utcTZ) + }), + ), + MemberOverload(overloads.TimestampToMillisecondsWithTz, []*Type{TimestampType, StringType}, IntType, + BinaryBinding(timestampGetMilliseconds), + ), + ), + } +) + +func timestampGetFullYear(ts, tz ref.Val) ref.Val { + t, err := inTimeZone(ts, tz) + if err != nil { + return types.NewErr(err.Error()) + } + return types.Int(t.Year()) +} + +func timestampGetMonth(ts, tz ref.Val) ref.Val { + t, err := inTimeZone(ts, tz) + if err != nil { + return types.NewErr(err.Error()) + } + // CEL spec indicates that the month should be 0-based, but the Time value + // for Month() is 1-based. + return types.Int(t.Month() - 1) +} + +func timestampGetDayOfYear(ts, tz ref.Val) ref.Val { + t, err := inTimeZone(ts, tz) + if err != nil { + return types.NewErr(err.Error()) + } + return types.Int(t.YearDay() - 1) +} + +func timestampGetDayOfMonthZeroBased(ts, tz ref.Val) ref.Val { + t, err := inTimeZone(ts, tz) + if err != nil { + return types.NewErr(err.Error()) + } + return types.Int(t.Day() - 1) +} + +func timestampGetDayOfMonthOneBased(ts, tz ref.Val) ref.Val { + t, err := inTimeZone(ts, tz) + if err != nil { + return types.NewErr(err.Error()) + } + return types.Int(t.Day()) +} + +func timestampGetDayOfWeek(ts, tz ref.Val) ref.Val { + t, err := inTimeZone(ts, tz) + if err != nil { + return types.NewErr(err.Error()) + } + return types.Int(t.Weekday()) +} + +func timestampGetHours(ts, tz ref.Val) ref.Val { + t, err := inTimeZone(ts, tz) + if err != nil { + return types.NewErr(err.Error()) + } + return types.Int(t.Hour()) +} + +func timestampGetMinutes(ts, tz ref.Val) ref.Val { + t, err := inTimeZone(ts, tz) + if err != nil { + return types.NewErr(err.Error()) + } + return types.Int(t.Minute()) +} + +func timestampGetSeconds(ts, tz ref.Val) ref.Val { + t, err := inTimeZone(ts, tz) + if err != nil { + return types.NewErr(err.Error()) + } + return types.Int(t.Second()) +} + +func timestampGetMilliseconds(ts, tz ref.Val) ref.Val { + t, err := inTimeZone(ts, tz) + if err != nil { + return types.NewErr(err.Error()) + } + return types.Int(t.Nanosecond() / 1000000) +} + +func inTimeZone(ts, tz ref.Val) (time.Time, error) { + t := ts.(types.Timestamp) + val := string(tz.(types.String)) + ind := strings.Index(val, ":") + if ind == -1 { + loc, err := time.LoadLocation(val) + if err != nil { + return time.Time{}, err + } + return t.In(loc), nil + } + + // If the input is not the name of a timezone (for example, 'US/Central'), it should be a numerical offset from UTC + // in the format ^(+|-)(0[0-9]|1[0-4]):[0-5][0-9]$. The numerical input is parsed in terms of hours and minutes. + hr, err := strconv.Atoi(string(val[0:ind])) + if err != nil { + return time.Time{}, err + } + min, err := strconv.Atoi(string(val[ind+1:])) + if err != nil { + return time.Time{}, err + } + var offset int + if string(val[0]) == "-" { + offset = hr*60 - min + } else { + offset = hr*60 + min + } + secondsEastOfUTC := int((time.Duration(offset) * time.Minute).Seconds()) + timezone := time.FixedZone("", secondsEastOfUTC) + return t.In(timezone), nil +} diff --git a/vendor/github.com/google/cel-go/cel/macro.go b/vendor/github.com/google/cel-go/cel/macro.go new file mode 100644 index 000000000..4db1fd57a --- /dev/null +++ b/vendor/github.com/google/cel-go/cel/macro.go @@ -0,0 +1,576 @@ +// Copyright 2022 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 cel + +import ( + "fmt" + + "github.com/google/cel-go/common" + "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/parser" + + exprpb "google.golang.org/genproto/googleapis/api/expr/v1alpha1" +) + +// Macro describes a function signature to match and the MacroExpander to apply. +// +// Note: when a Macro should apply to multiple overloads (based on arg count) of a given function, +// a Macro should be created per arg-count or as a var arg macro. +type Macro = parser.Macro + +// MacroFactory defines an expansion function which converts a call and its arguments to a cel.Expr value. +type MacroFactory = parser.MacroExpander + +// MacroExprFactory assists with the creation of Expr values in a manner which is consistent +// the internal semantics and id generation behaviors of the parser and checker libraries. +type MacroExprFactory = parser.ExprHelper + +// MacroExpander converts a call and its associated arguments into a protobuf Expr representation. +// +// If the MacroExpander determines within the implementation that an expansion is not needed it may return +// a nil Expr value to indicate a non-match. However, if an expansion is to be performed, but the arguments +// are not well-formed, the result of the expansion will be an error. +// +// The MacroExpander accepts as arguments a MacroExprHelper as well as the arguments used in the function call +// and produces as output an Expr ast node. +// +// Note: when the Macro.IsReceiverStyle() method returns true, the target argument will be nil. +type MacroExpander func(eh MacroExprHelper, target *exprpb.Expr, args []*exprpb.Expr) (*exprpb.Expr, *Error) + +// MacroExprHelper exposes helper methods for creating new expressions within a CEL abstract syntax tree. +// ExprHelper assists with the manipulation of proto-based Expr values in a manner which is +// consistent with the source position and expression id generation code leveraged by both +// the parser and type-checker. +type MacroExprHelper interface { + // Copy the input expression with a brand new set of identifiers. + Copy(*exprpb.Expr) *exprpb.Expr + + // LiteralBool creates an Expr value for a bool literal. + LiteralBool(value bool) *exprpb.Expr + + // LiteralBytes creates an Expr value for a byte literal. + LiteralBytes(value []byte) *exprpb.Expr + + // LiteralDouble creates an Expr value for double literal. + LiteralDouble(value float64) *exprpb.Expr + + // LiteralInt creates an Expr value for an int literal. + LiteralInt(value int64) *exprpb.Expr + + // LiteralString creates am Expr value for a string literal. + LiteralString(value string) *exprpb.Expr + + // LiteralUint creates an Expr value for a uint literal. + LiteralUint(value uint64) *exprpb.Expr + + // NewList creates a CreateList instruction where the list is comprised of the optional set + // of elements provided as arguments. + NewList(elems ...*exprpb.Expr) *exprpb.Expr + + // NewMap creates a CreateStruct instruction for a map where the map is comprised of the + // optional set of key, value entries. + NewMap(entries ...*exprpb.Expr_CreateStruct_Entry) *exprpb.Expr + + // NewMapEntry creates a Map Entry for the key, value pair. + NewMapEntry(key *exprpb.Expr, val *exprpb.Expr, optional bool) *exprpb.Expr_CreateStruct_Entry + + // NewObject creates a CreateStruct instruction for an object with a given type name and + // optional set of field initializers. + NewObject(typeName string, fieldInits ...*exprpb.Expr_CreateStruct_Entry) *exprpb.Expr + + // NewObjectFieldInit creates a new Object field initializer from the field name and value. + NewObjectFieldInit(field string, init *exprpb.Expr, optional bool) *exprpb.Expr_CreateStruct_Entry + + // Fold creates a fold comprehension instruction. + // + // - iterVar is the iteration variable name. + // - iterRange represents the expression that resolves to a list or map where the elements or + // keys (respectively) will be iterated over. + // - accuVar is the accumulation variable name, typically parser.AccumulatorName. + // - accuInit is the initial expression whose value will be set for the accuVar prior to + // folding. + // - condition is the expression to test to determine whether to continue folding. + // - step is the expression to evaluation at the conclusion of a single fold iteration. + // - result is the computation to evaluate at the conclusion of the fold. + // + // The accuVar should not shadow variable names that you would like to reference within the + // environment in the step and condition expressions. Presently, the name __result__ is commonly + // used by built-in macros but this may change in the future. + Fold(iterVar string, + iterRange *exprpb.Expr, + accuVar string, + accuInit *exprpb.Expr, + condition *exprpb.Expr, + step *exprpb.Expr, + result *exprpb.Expr) *exprpb.Expr + + // Ident creates an identifier Expr value. + Ident(name string) *exprpb.Expr + + // AccuIdent returns an accumulator identifier for use with comprehension results. + AccuIdent() *exprpb.Expr + + // GlobalCall creates a function call Expr value for a global (free) function. + GlobalCall(function string, args ...*exprpb.Expr) *exprpb.Expr + + // ReceiverCall creates a function call Expr value for a receiver-style function. + ReceiverCall(function string, target *exprpb.Expr, args ...*exprpb.Expr) *exprpb.Expr + + // PresenceTest creates a Select TestOnly Expr value for modelling has() semantics. + PresenceTest(operand *exprpb.Expr, field string) *exprpb.Expr + + // Select create a field traversal Expr value. + Select(operand *exprpb.Expr, field string) *exprpb.Expr + + // OffsetLocation returns the Location of the expression identifier. + OffsetLocation(exprID int64) common.Location + + // NewError associates an error message with a given expression id. + NewError(exprID int64, message string) *Error +} + +// GlobalMacro creates a Macro for a global function with the specified arg count. +func GlobalMacro(function string, argCount int, factory MacroFactory) Macro { + return parser.NewGlobalMacro(function, argCount, factory) +} + +// ReceiverMacro creates a Macro for a receiver function matching the specified arg count. +func ReceiverMacro(function string, argCount int, factory MacroFactory) Macro { + return parser.NewReceiverMacro(function, argCount, factory) +} + +// GlobalVarArgMacro creates a Macro for a global function with a variable arg count. +func GlobalVarArgMacro(function string, factory MacroFactory) Macro { + return parser.NewGlobalVarArgMacro(function, factory) +} + +// ReceiverVarArgMacro creates a Macro for a receiver function matching a variable arg count. +func ReceiverVarArgMacro(function string, factory MacroFactory) Macro { + return parser.NewReceiverVarArgMacro(function, factory) +} + +// NewGlobalMacro creates a Macro for a global function with the specified arg count. +// +// Deprecated: use GlobalMacro +func NewGlobalMacro(function string, argCount int, expander MacroExpander) Macro { + expand := adaptingExpander{expander} + return parser.NewGlobalMacro(function, argCount, expand.Expander) +} + +// NewReceiverMacro creates a Macro for a receiver function matching the specified arg count. +// +// Deprecated: use ReceiverMacro +func NewReceiverMacro(function string, argCount int, expander MacroExpander) Macro { + expand := adaptingExpander{expander} + return parser.NewReceiverMacro(function, argCount, expand.Expander) +} + +// NewGlobalVarArgMacro creates a Macro for a global function with a variable arg count. +// +// Deprecated: use GlobalVarArgMacro +func NewGlobalVarArgMacro(function string, expander MacroExpander) Macro { + expand := adaptingExpander{expander} + return parser.NewGlobalVarArgMacro(function, expand.Expander) +} + +// NewReceiverVarArgMacro creates a Macro for a receiver function matching a variable arg count. +// +// Deprecated: use ReceiverVarArgMacro +func NewReceiverVarArgMacro(function string, expander MacroExpander) Macro { + expand := adaptingExpander{expander} + return parser.NewReceiverVarArgMacro(function, expand.Expander) +} + +// HasMacroExpander expands the input call arguments into a presence test, e.g. has(.field) +func HasMacroExpander(meh MacroExprHelper, target *exprpb.Expr, args []*exprpb.Expr) (*exprpb.Expr, *Error) { + ph, err := toParserHelper(meh) + if err != nil { + return nil, err + } + arg, err := adaptToExpr(args[0]) + if err != nil { + return nil, err + } + if arg.Kind() == ast.SelectKind { + s := arg.AsSelect() + return adaptToProto(ph.NewPresenceTest(s.Operand(), s.FieldName())) + } + return nil, ph.NewError(arg.ID(), "invalid argument to has() macro") +} + +// ExistsMacroExpander expands the input call arguments into a comprehension that returns true if any of the +// elements in the range match the predicate expressions: +// .exists(, ) +func ExistsMacroExpander(meh MacroExprHelper, target *exprpb.Expr, args []*exprpb.Expr) (*exprpb.Expr, *Error) { + ph, err := toParserHelper(meh) + if err != nil { + return nil, err + } + out, err := parser.MakeExists(ph, mustAdaptToExpr(target), mustAdaptToExprs(args)) + if err != nil { + return nil, err + } + return adaptToProto(out) +} + +// ExistsOneMacroExpander expands the input call arguments into a comprehension that returns true if exactly +// one of the elements in the range match the predicate expressions: +// .exists_one(, ) +func ExistsOneMacroExpander(meh MacroExprHelper, target *exprpb.Expr, args []*exprpb.Expr) (*exprpb.Expr, *Error) { + ph, err := toParserHelper(meh) + if err != nil { + return nil, err + } + out, err := parser.MakeExistsOne(ph, mustAdaptToExpr(target), mustAdaptToExprs(args)) + if err != nil { + return nil, err + } + return adaptToProto(out) +} + +// MapMacroExpander expands the input call arguments into a comprehension that transforms each element in the +// input to produce an output list. +// +// There are two call patterns supported by map: +// +// .map(, ) +// .map(, , ) +// +// In the second form only iterVar values which return true when provided to the predicate expression +// are transformed. +func MapMacroExpander(meh MacroExprHelper, target *exprpb.Expr, args []*exprpb.Expr) (*exprpb.Expr, *Error) { + ph, err := toParserHelper(meh) + if err != nil { + return nil, err + } + out, err := parser.MakeMap(ph, mustAdaptToExpr(target), mustAdaptToExprs(args)) + if err != nil { + return nil, err + } + return adaptToProto(out) +} + +// FilterMacroExpander expands the input call arguments into a comprehension which produces a list which contains +// only elements which match the provided predicate expression: +// .filter(, ) +func FilterMacroExpander(meh MacroExprHelper, target *exprpb.Expr, args []*exprpb.Expr) (*exprpb.Expr, *Error) { + ph, err := toParserHelper(meh) + if err != nil { + return nil, err + } + out, err := parser.MakeFilter(ph, mustAdaptToExpr(target), mustAdaptToExprs(args)) + if err != nil { + return nil, err + } + return adaptToProto(out) +} + +var ( + // Aliases to each macro in the CEL standard environment. + // Note: reassigning these macro variables may result in undefined behavior. + + // HasMacro expands "has(m.f)" which tests the presence of a field, avoiding the need to + // specify the field as a string. + HasMacro = parser.HasMacro + + // AllMacro expands "range.all(var, predicate)" into a comprehension which ensures that all + // elements in the range satisfy the predicate. + AllMacro = parser.AllMacro + + // ExistsMacro expands "range.exists(var, predicate)" into a comprehension which ensures that + // some element in the range satisfies the predicate. + ExistsMacro = parser.ExistsMacro + + // ExistsOneMacro expands "range.exists_one(var, predicate)", which is true if for exactly one + // element in range the predicate holds. + ExistsOneMacro = parser.ExistsOneMacro + + // MapMacro expands "range.map(var, function)" into a comprehension which applies the function + // to each element in the range to produce a new list. + MapMacro = parser.MapMacro + + // MapFilterMacro expands "range.map(var, predicate, function)" into a comprehension which + // first filters the elements in the range by the predicate, then applies the transform function + // to produce a new list. + MapFilterMacro = parser.MapFilterMacro + + // FilterMacro expands "range.filter(var, predicate)" into a comprehension which filters + // elements in the range, producing a new list from the elements that satisfy the predicate. + FilterMacro = parser.FilterMacro + + // StandardMacros provides an alias to all the CEL macros defined in the standard environment. + StandardMacros = []Macro{ + HasMacro, AllMacro, ExistsMacro, ExistsOneMacro, MapMacro, MapFilterMacro, FilterMacro, + } + + // NoMacros provides an alias to an empty list of macros + NoMacros = []Macro{} +) + +type adaptingExpander struct { + legacyExpander MacroExpander +} + +func (adapt *adaptingExpander) Expander(eh parser.ExprHelper, target ast.Expr, args []ast.Expr) (ast.Expr, *common.Error) { + var legacyTarget *exprpb.Expr = nil + var err *Error = nil + if target != nil { + legacyTarget, err = adaptToProto(target) + if err != nil { + return nil, err + } + } + legacyArgs := make([]*exprpb.Expr, len(args)) + for i, arg := range args { + legacyArgs[i], err = adaptToProto(arg) + if err != nil { + return nil, err + } + } + ah := &adaptingHelper{modernHelper: eh} + legacyExpr, err := adapt.legacyExpander(ah, legacyTarget, legacyArgs) + if err != nil { + return nil, err + } + ex, err := adaptToExpr(legacyExpr) + if err != nil { + return nil, err + } + return ex, nil +} + +func wrapErr(id int64, message string, err error) *common.Error { + return &common.Error{ + Location: common.NoLocation, + Message: fmt.Sprintf("%s: %v", message, err), + ExprID: id, + } +} + +type adaptingHelper struct { + modernHelper parser.ExprHelper +} + +// Copy the input expression with a brand new set of identifiers. +func (ah *adaptingHelper) Copy(e *exprpb.Expr) *exprpb.Expr { + return mustAdaptToProto(ah.modernHelper.Copy(mustAdaptToExpr(e))) +} + +// LiteralBool creates an Expr value for a bool literal. +func (ah *adaptingHelper) LiteralBool(value bool) *exprpb.Expr { + return mustAdaptToProto(ah.modernHelper.NewLiteral(types.Bool(value))) +} + +// LiteralBytes creates an Expr value for a byte literal. +func (ah *adaptingHelper) LiteralBytes(value []byte) *exprpb.Expr { + return mustAdaptToProto(ah.modernHelper.NewLiteral(types.Bytes(value))) +} + +// LiteralDouble creates an Expr value for double literal. +func (ah *adaptingHelper) LiteralDouble(value float64) *exprpb.Expr { + return mustAdaptToProto(ah.modernHelper.NewLiteral(types.Double(value))) +} + +// LiteralInt creates an Expr value for an int literal. +func (ah *adaptingHelper) LiteralInt(value int64) *exprpb.Expr { + return mustAdaptToProto(ah.modernHelper.NewLiteral(types.Int(value))) +} + +// LiteralString creates am Expr value for a string literal. +func (ah *adaptingHelper) LiteralString(value string) *exprpb.Expr { + return mustAdaptToProto(ah.modernHelper.NewLiteral(types.String(value))) +} + +// LiteralUint creates an Expr value for a uint literal. +func (ah *adaptingHelper) LiteralUint(value uint64) *exprpb.Expr { + return mustAdaptToProto(ah.modernHelper.NewLiteral(types.Uint(value))) +} + +// NewList creates a CreateList instruction where the list is comprised of the optional set +// of elements provided as arguments. +func (ah *adaptingHelper) NewList(elems ...*exprpb.Expr) *exprpb.Expr { + return mustAdaptToProto(ah.modernHelper.NewList(mustAdaptToExprs(elems)...)) +} + +// NewMap creates a CreateStruct instruction for a map where the map is comprised of the +// optional set of key, value entries. +func (ah *adaptingHelper) NewMap(entries ...*exprpb.Expr_CreateStruct_Entry) *exprpb.Expr { + adaptedEntries := make([]ast.EntryExpr, len(entries)) + for i, e := range entries { + adaptedEntries[i] = mustAdaptToEntryExpr(e) + } + return mustAdaptToProto(ah.modernHelper.NewMap(adaptedEntries...)) +} + +// NewMapEntry creates a Map Entry for the key, value pair. +func (ah *adaptingHelper) NewMapEntry(key *exprpb.Expr, val *exprpb.Expr, optional bool) *exprpb.Expr_CreateStruct_Entry { + return mustAdaptToProtoEntry( + ah.modernHelper.NewMapEntry(mustAdaptToExpr(key), mustAdaptToExpr(val), optional)) +} + +// NewObject creates a CreateStruct instruction for an object with a given type name and +// optional set of field initializers. +func (ah *adaptingHelper) NewObject(typeName string, fieldInits ...*exprpb.Expr_CreateStruct_Entry) *exprpb.Expr { + adaptedEntries := make([]ast.EntryExpr, len(fieldInits)) + for i, e := range fieldInits { + adaptedEntries[i] = mustAdaptToEntryExpr(e) + } + return mustAdaptToProto(ah.modernHelper.NewStruct(typeName, adaptedEntries...)) +} + +// NewObjectFieldInit creates a new Object field initializer from the field name and value. +func (ah *adaptingHelper) NewObjectFieldInit(field string, init *exprpb.Expr, optional bool) *exprpb.Expr_CreateStruct_Entry { + return mustAdaptToProtoEntry( + ah.modernHelper.NewStructField(field, mustAdaptToExpr(init), optional)) +} + +// Fold creates a fold comprehension instruction. +// +// - iterVar is the iteration variable name. +// - iterRange represents the expression that resolves to a list or map where the elements or +// keys (respectively) will be iterated over. +// - accuVar is the accumulation variable name, typically parser.AccumulatorName. +// - accuInit is the initial expression whose value will be set for the accuVar prior to +// folding. +// - condition is the expression to test to determine whether to continue folding. +// - step is the expression to evaluation at the conclusion of a single fold iteration. +// - result is the computation to evaluate at the conclusion of the fold. +// +// The accuVar should not shadow variable names that you would like to reference within the +// environment in the step and condition expressions. Presently, the name __result__ is commonly +// used by built-in macros but this may change in the future. +func (ah *adaptingHelper) Fold(iterVar string, + iterRange *exprpb.Expr, + accuVar string, + accuInit *exprpb.Expr, + condition *exprpb.Expr, + step *exprpb.Expr, + result *exprpb.Expr) *exprpb.Expr { + return mustAdaptToProto( + ah.modernHelper.NewComprehension( + mustAdaptToExpr(iterRange), + iterVar, + accuVar, + mustAdaptToExpr(accuInit), + mustAdaptToExpr(condition), + mustAdaptToExpr(step), + mustAdaptToExpr(result), + ), + ) +} + +// Ident creates an identifier Expr value. +func (ah *adaptingHelper) Ident(name string) *exprpb.Expr { + return mustAdaptToProto(ah.modernHelper.NewIdent(name)) +} + +// AccuIdent returns an accumulator identifier for use with comprehension results. +func (ah *adaptingHelper) AccuIdent() *exprpb.Expr { + return mustAdaptToProto(ah.modernHelper.NewAccuIdent()) +} + +// GlobalCall creates a function call Expr value for a global (free) function. +func (ah *adaptingHelper) GlobalCall(function string, args ...*exprpb.Expr) *exprpb.Expr { + return mustAdaptToProto(ah.modernHelper.NewCall(function, mustAdaptToExprs(args)...)) +} + +// ReceiverCall creates a function call Expr value for a receiver-style function. +func (ah *adaptingHelper) ReceiverCall(function string, target *exprpb.Expr, args ...*exprpb.Expr) *exprpb.Expr { + return mustAdaptToProto( + ah.modernHelper.NewMemberCall(function, mustAdaptToExpr(target), mustAdaptToExprs(args)...)) +} + +// PresenceTest creates a Select TestOnly Expr value for modelling has() semantics. +func (ah *adaptingHelper) PresenceTest(operand *exprpb.Expr, field string) *exprpb.Expr { + op := mustAdaptToExpr(operand) + return mustAdaptToProto(ah.modernHelper.NewPresenceTest(op, field)) +} + +// Select create a field traversal Expr value. +func (ah *adaptingHelper) Select(operand *exprpb.Expr, field string) *exprpb.Expr { + op := mustAdaptToExpr(operand) + return mustAdaptToProto(ah.modernHelper.NewSelect(op, field)) +} + +// OffsetLocation returns the Location of the expression identifier. +func (ah *adaptingHelper) OffsetLocation(exprID int64) common.Location { + return ah.modernHelper.OffsetLocation(exprID) +} + +// NewError associates an error message with a given expression id. +func (ah *adaptingHelper) NewError(exprID int64, message string) *Error { + return ah.modernHelper.NewError(exprID, message) +} + +func mustAdaptToExprs(exprs []*exprpb.Expr) []ast.Expr { + adapted := make([]ast.Expr, len(exprs)) + for i, e := range exprs { + adapted[i] = mustAdaptToExpr(e) + } + return adapted +} + +func mustAdaptToExpr(e *exprpb.Expr) ast.Expr { + out, _ := adaptToExpr(e) + return out +} + +func adaptToExpr(e *exprpb.Expr) (ast.Expr, *Error) { + if e == nil { + return nil, nil + } + out, err := ast.ProtoToExpr(e) + if err != nil { + return nil, wrapErr(e.GetId(), "proto conversion failure", err) + } + return out, nil +} + +func mustAdaptToEntryExpr(e *exprpb.Expr_CreateStruct_Entry) ast.EntryExpr { + out, _ := ast.ProtoToEntryExpr(e) + return out +} + +func mustAdaptToProto(e ast.Expr) *exprpb.Expr { + out, _ := adaptToProto(e) + return out +} + +func adaptToProto(e ast.Expr) (*exprpb.Expr, *Error) { + if e == nil { + return nil, nil + } + out, err := ast.ExprToProto(e) + if err != nil { + return nil, wrapErr(e.ID(), "expr conversion failure", err) + } + return out, nil +} + +func mustAdaptToProtoEntry(e ast.EntryExpr) *exprpb.Expr_CreateStruct_Entry { + out, _ := ast.EntryExprToProto(e) + return out +} + +func toParserHelper(meh MacroExprHelper) (parser.ExprHelper, *Error) { + ah, ok := meh.(*adaptingHelper) + if !ok { + return nil, common.NewError(0, + fmt.Sprintf("unsupported macro helper: %v (%T)", meh, meh), + common.NoLocation) + } + return ah.modernHelper, nil +} diff --git a/vendor/github.com/google/cel-go/cel/optimizer.go b/vendor/github.com/google/cel-go/cel/optimizer.go new file mode 100644 index 000000000..c149abb70 --- /dev/null +++ b/vendor/github.com/google/cel-go/cel/optimizer.go @@ -0,0 +1,535 @@ +// 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 cel + +import ( + "sort" + + "github.com/google/cel-go/common" + "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" +) + +// StaticOptimizer contains a sequence of ASTOptimizer instances which will be applied in order. +// +// The static optimizer normalizes expression ids and type-checking run between optimization +// passes to ensure that the final optimized output is a valid expression with metadata consistent +// with what would have been generated from a parsed and checked expression. +// +// Note: source position information is best-effort and likely wrong, but optimized expressions +// should be suitable for calls to parser.Unparse. +type StaticOptimizer struct { + optimizers []ASTOptimizer +} + +// NewStaticOptimizer creates a StaticOptimizer with a sequence of ASTOptimizer's to be applied +// to a checked expression. +func NewStaticOptimizer(optimizers ...ASTOptimizer) *StaticOptimizer { + return &StaticOptimizer{ + optimizers: optimizers, + } +} + +// Optimize applies a sequence of optimizations to an Ast within a given environment. +// +// If issues are encountered, the Issues.Err() return value will be non-nil. +func (opt *StaticOptimizer) Optimize(env *Env, a *Ast) (*Ast, *Issues) { + // Make a copy of the AST to be optimized. + optimized := ast.Copy(a.impl) + ids := newIDGenerator(ast.MaxID(a.impl)) + + // Create the optimizer context, could be pooled in the future. + issues := NewIssues(common.NewErrors(a.Source())) + baseFac := ast.NewExprFactory() + exprFac := &optimizerExprFactory{ + idGenerator: ids, + fac: baseFac, + sourceInfo: optimized.SourceInfo(), + } + ctx := &OptimizerContext{ + optimizerExprFactory: exprFac, + Env: env, + Issues: issues, + } + + // Apply the optimizations sequentially. + for _, o := range opt.optimizers { + optimized = o.Optimize(ctx, optimized) + if issues.Err() != nil { + return nil, issues + } + // Normalize expression id metadata including coordination with macro call metadata. + freshIDGen := newIDGenerator(0) + info := optimized.SourceInfo() + expr := optimized.Expr() + normalizeIDs(freshIDGen.renumberStable, expr, info) + cleanupMacroRefs(expr, info) + + // Recheck the updated expression for any possible type-agreement or validation errors. + parsed := &Ast{ + source: a.Source(), + impl: ast.NewAST(expr, info)} + checked, iss := ctx.Check(parsed) + if iss.Err() != nil { + return nil, iss + } + optimized = checked.impl + } + + // Return the optimized result. + return &Ast{ + source: a.Source(), + impl: optimized, + }, nil +} + +// normalizeIDs ensures that the metadata present with an AST is reset in a manner such +// that the ids within the expression correspond to the ids within macros. +func normalizeIDs(idGen ast.IDGenerator, optimized ast.Expr, info *ast.SourceInfo) { + optimized.RenumberIDs(idGen) + if len(info.MacroCalls()) == 0 { + return + } + + // Sort the macro ids to make sure that the renumbering of macro-specific variables + // is stable across normalization calls. + sortedMacroIDs := []int64{} + for id := range info.MacroCalls() { + sortedMacroIDs = append(sortedMacroIDs, id) + } + sort.Slice(sortedMacroIDs, func(i, j int) bool { return sortedMacroIDs[i] < sortedMacroIDs[j] }) + + // First, update the macro call ids themselves. + callIDMap := map[int64]int64{} + for _, id := range sortedMacroIDs { + callIDMap[id] = idGen(id) + } + // Then update the macro call definitions which refer to these ids, but + // ensure that the updates don't collide and remove macro entries which haven't + // been visited / updated yet. + type macroUpdate struct { + id int64 + call ast.Expr + } + macroUpdates := []macroUpdate{} + for _, oldID := range sortedMacroIDs { + newID := callIDMap[oldID] + call, found := info.GetMacroCall(oldID) + if !found { + continue + } + call.RenumberIDs(idGen) + macroUpdates = append(macroUpdates, macroUpdate{id: newID, call: call}) + info.ClearMacroCall(oldID) + } + for _, u := range macroUpdates { + info.SetMacroCall(u.id, u.call) + } +} + +func cleanupMacroRefs(expr ast.Expr, info *ast.SourceInfo) { + if len(info.MacroCalls()) == 0 { + return + } + + // Sanitize the macro call references once the optimized expression has been computed + // and the ids normalized between the expression and the macros. + exprRefMap := make(map[int64]struct{}) + ast.PostOrderVisit(expr, ast.NewExprVisitor(func(e ast.Expr) { + if e.ID() == 0 { + return + } + exprRefMap[e.ID()] = struct{}{} + })) + // Update the macro call id references to ensure that macro pointers are + // updated consistently across macros. + for _, call := range info.MacroCalls() { + ast.PostOrderVisit(call, ast.NewExprVisitor(func(e ast.Expr) { + if e.ID() == 0 { + return + } + exprRefMap[e.ID()] = struct{}{} + })) + } + for id := range info.MacroCalls() { + if _, found := exprRefMap[id]; !found { + info.ClearMacroCall(id) + } + } +} + +// newIDGenerator ensures that new ids are only created the first time they are encountered. +func newIDGenerator(seed int64) *idGenerator { + return &idGenerator{ + idMap: make(map[int64]int64), + seed: seed, + } +} + +type idGenerator struct { + idMap map[int64]int64 + seed int64 +} + +func (gen *idGenerator) nextID() int64 { + gen.seed++ + return gen.seed +} + +func (gen *idGenerator) renumberStable(id int64) int64 { + if id == 0 { + return 0 + } + if newID, found := gen.idMap[id]; found { + return newID + } + nextID := gen.nextID() + gen.idMap[id] = nextID + return nextID +} + +// OptimizerContext embeds Env and Issues instances to make it easy to type-check and evaluate +// subexpressions and report any errors encountered along the way. The context also embeds the +// optimizerExprFactory which can be used to generate new sub-expressions with expression ids +// consistent with the expectations of a parsed expression. +type OptimizerContext struct { + *Env + *optimizerExprFactory + *Issues +} + +// ExtendEnv auguments the context's environment with the additional options. +func (opt *OptimizerContext) ExtendEnv(opts ...EnvOption) error { + e, err := opt.Env.Extend(opts...) + if err != nil { + return err + } + opt.Env = e + return nil +} + +// ASTOptimizer applies an optimization over an AST and returns the optimized result. +type ASTOptimizer interface { + // Optimize optimizes a type-checked AST within an Environment and accumulates any issues. + Optimize(*OptimizerContext, *ast.AST) *ast.AST +} + +type optimizerExprFactory struct { + *idGenerator + fac ast.ExprFactory + sourceInfo *ast.SourceInfo +} + +// NewAST creates an AST from the current expression using the tracked source info which +// is modified and managed by the OptimizerContext. +func (opt *optimizerExprFactory) NewAST(expr ast.Expr) *ast.AST { + return ast.NewAST(expr, opt.sourceInfo) +} + +// CopyAST creates a renumbered copy of `Expr` and `SourceInfo` values of the input AST, where the +// renumbering uses the same scheme as the core optimizer logic ensuring there are no collisions +// between copies. +// +// Use this method before attempting to merge the expression from AST into another. +func (opt *optimizerExprFactory) CopyAST(a *ast.AST) (ast.Expr, *ast.SourceInfo) { + idGen := newIDGenerator(opt.nextID()) + defer func() { opt.seed = idGen.nextID() }() + copyExpr := opt.fac.CopyExpr(a.Expr()) + copyInfo := ast.CopySourceInfo(a.SourceInfo()) + normalizeIDs(idGen.renumberStable, copyExpr, copyInfo) + return copyExpr, copyInfo +} + +// CopyASTAndMetadata copies the input AST and propagates the macro metadata into the AST being +// optimized. +func (opt *optimizerExprFactory) CopyASTAndMetadata(a *ast.AST) ast.Expr { + copyExpr, copyInfo := opt.CopyAST(a) + for macroID, call := range copyInfo.MacroCalls() { + opt.SetMacroCall(macroID, call) + } + return copyExpr +} + +// ClearMacroCall clears the macro at the given expression id. +func (opt *optimizerExprFactory) ClearMacroCall(id int64) { + opt.sourceInfo.ClearMacroCall(id) +} + +// SetMacroCall sets the macro call metadata for the given macro id within the tracked source info +// metadata. +func (opt *optimizerExprFactory) SetMacroCall(id int64, expr ast.Expr) { + opt.sourceInfo.SetMacroCall(id, expr) +} + +// MacroCalls returns the map of macro calls currently in the context. +func (opt *optimizerExprFactory) MacroCalls() map[int64]ast.Expr { + return opt.sourceInfo.MacroCalls() +} + +// NewBindMacro creates an AST expression representing the expanded bind() macro, and a macro expression +// representing the unexpanded call signature to be inserted into the source info macro call metadata. +func (opt *optimizerExprFactory) NewBindMacro(macroID int64, varName string, varInit, remaining ast.Expr) (astExpr, macroExpr ast.Expr) { + varID := opt.nextID() + remainingID := opt.nextID() + remaining = opt.fac.CopyExpr(remaining) + remaining.RenumberIDs(func(id int64) int64 { + if id == macroID { + return remainingID + } + return id + }) + if call, exists := opt.sourceInfo.GetMacroCall(macroID); exists { + opt.SetMacroCall(remainingID, opt.fac.CopyExpr(call)) + } + + astExpr = opt.fac.NewComprehension(macroID, + opt.fac.NewList(opt.nextID(), []ast.Expr{}, []int32{}), + "#unused", + varName, + opt.fac.CopyExpr(varInit), + opt.fac.NewLiteral(opt.nextID(), types.False), + opt.fac.NewIdent(varID, varName), + remaining) + + macroExpr = opt.fac.NewMemberCall(0, "bind", + opt.fac.NewIdent(opt.nextID(), "cel"), + opt.fac.NewIdent(varID, varName), + opt.fac.CopyExpr(varInit), + opt.fac.CopyExpr(remaining)) + opt.sanitizeMacro(macroID, macroExpr) + return +} + +// NewCall creates a global function call invocation expression. +// +// Example: +// +// countByField(list, fieldName) +// - function: countByField +// - args: [list, fieldName] +func (opt *optimizerExprFactory) NewCall(function string, args ...ast.Expr) ast.Expr { + return opt.fac.NewCall(opt.nextID(), function, args...) +} + +// NewMemberCall creates a member function call invocation expression where 'target' is the receiver of the call. +// +// Example: +// +// list.countByField(fieldName) +// - function: countByField +// - target: list +// - args: [fieldName] +func (opt *optimizerExprFactory) NewMemberCall(function string, target ast.Expr, args ...ast.Expr) ast.Expr { + return opt.fac.NewMemberCall(opt.nextID(), function, target, args...) +} + +// NewIdent creates a new identifier expression. +// +// Examples: +// +// - simple_var_name +// - qualified.subpackage.var_name +func (opt *optimizerExprFactory) NewIdent(name string) ast.Expr { + return opt.fac.NewIdent(opt.nextID(), name) +} + +// NewLiteral creates a new literal expression value. +// +// The range of valid values for a literal generated during optimization is different than for expressions +// generated via parsing / type-checking, as the ref.Val may be _any_ CEL value so long as the value can +// be converted back to a literal-like form. +func (opt *optimizerExprFactory) NewLiteral(value ref.Val) ast.Expr { + return opt.fac.NewLiteral(opt.nextID(), value) +} + +// NewList creates a list expression with a set of optional indices. +// +// Examples: +// +// [a, b] +// - elems: [a, b] +// - optIndices: [] +// +// [a, ?b, ?c] +// - elems: [a, b, c] +// - optIndices: [1, 2] +func (opt *optimizerExprFactory) NewList(elems []ast.Expr, optIndices []int32) ast.Expr { + return opt.fac.NewList(opt.nextID(), elems, optIndices) +} + +// NewMap creates a map from a set of entry expressions which contain a key and value expression. +func (opt *optimizerExprFactory) NewMap(entries []ast.EntryExpr) ast.Expr { + return opt.fac.NewMap(opt.nextID(), entries) +} + +// NewMapEntry creates a map entry with a key and value expression and a flag to indicate whether the +// entry is optional. +// +// Examples: +// +// {a: b} +// - key: a +// - value: b +// - optional: false +// +// {?a: ?b} +// - key: a +// - value: b +// - optional: true +func (opt *optimizerExprFactory) NewMapEntry(key, value ast.Expr, isOptional bool) ast.EntryExpr { + return opt.fac.NewMapEntry(opt.nextID(), key, value, isOptional) +} + +// NewHasMacro generates a test-only select expression to be included within an AST and an unexpanded +// has() macro call signature to be inserted into the source info macro call metadata. +func (opt *optimizerExprFactory) NewHasMacro(macroID int64, s ast.Expr) (astExpr, macroExpr ast.Expr) { + sel := s.AsSelect() + astExpr = opt.fac.NewPresenceTest(macroID, sel.Operand(), sel.FieldName()) + macroExpr = opt.fac.NewCall(0, "has", + opt.NewSelect(opt.fac.CopyExpr(sel.Operand()), sel.FieldName())) + opt.sanitizeMacro(macroID, macroExpr) + return +} + +// NewSelect creates a select expression where a field value is selected from an operand. +// +// Example: +// +// msg.field_name +// - operand: msg +// - field: field_name +func (opt *optimizerExprFactory) NewSelect(operand ast.Expr, field string) ast.Expr { + return opt.fac.NewSelect(opt.nextID(), operand, field) +} + +// NewStruct creates a new typed struct value with an set of field initializations. +// +// Example: +// +// pkg.TypeName{field: value} +// - typeName: pkg.TypeName +// - fields: [{field: value}] +func (opt *optimizerExprFactory) NewStruct(typeName string, fields []ast.EntryExpr) ast.Expr { + return opt.fac.NewStruct(opt.nextID(), typeName, fields) +} + +// NewStructField creates a struct field initialization. +// +// Examples: +// +// {count: 3u} +// - field: count +// - value: 3u +// - optional: false +// +// {?count: x} +// - field: count +// - value: x +// - optional: true +func (opt *optimizerExprFactory) NewStructField(field string, value ast.Expr, isOptional bool) ast.EntryExpr { + return opt.fac.NewStructField(opt.nextID(), field, value, isOptional) +} + +// UpdateExpr updates the target expression with the updated content while preserving macro metadata. +// +// There are four scenarios during the update to consider: +// 1. target is not macro, updated is not macro +// 2. target is macro, updated is not macro +// 3. target is macro, updated is macro +// 4. target is not macro, updated is macro +// +// When the target is a macro already, it may either be updated to a new macro function +// body if the update is also a macro, or it may be removed altogether if the update is +// a macro. +// +// When the update is a macro, then the target references within other macros must be +// updated to point to the new updated macro. Otherwise, other macros which pointed to +// the target body must be replaced with copies of the updated expression body. +func (opt *optimizerExprFactory) UpdateExpr(target, updated ast.Expr) { + // Update the expression + target.SetKindCase(updated) + + // Early return if there's no macros present sa the source info reflects the + // macro set from the target and updated expressions. + if len(opt.sourceInfo.MacroCalls()) == 0 { + return + } + // Determine whether the target expression was a macro. + _, targetIsMacro := opt.sourceInfo.GetMacroCall(target.ID()) + + // Determine whether the updated expression was a macro. + updatedMacro, updatedIsMacro := opt.sourceInfo.GetMacroCall(updated.ID()) + + if updatedIsMacro { + // If the updated call was a macro, then updated id maps to target id, + // and the updated macro moves into the target id slot. + opt.sourceInfo.ClearMacroCall(updated.ID()) + opt.sourceInfo.SetMacroCall(target.ID(), updatedMacro) + } else if targetIsMacro { + // Otherwise if the target expr was a macro, but is no longer, clear + // the macro reference. + opt.sourceInfo.ClearMacroCall(target.ID()) + } + + // Punch holes in the updated value where macros references exist. + macroExpr := opt.fac.CopyExpr(target) + macroRefVisitor := ast.NewExprVisitor(func(e ast.Expr) { + if _, exists := opt.sourceInfo.GetMacroCall(e.ID()); exists { + e.SetKindCase(nil) + } + }) + ast.PostOrderVisit(macroExpr, macroRefVisitor) + + // Update any references to the expression within a macro + macroVisitor := ast.NewExprVisitor(func(call ast.Expr) { + // Update the target expression to point to the macro expression which + // will be empty if the updated expression was a macro. + if call.ID() == target.ID() { + call.SetKindCase(opt.fac.CopyExpr(macroExpr)) + } + // Update the macro call expression if it refers to the updated expression + // id which has since been remapped to the target id. + if call.ID() == updated.ID() { + // Either ensure the expression is a macro reference or a populated with + // the relevant sub-expression if the updated expr was not a macro. + if updatedIsMacro { + call.SetKindCase(nil) + } else { + call.SetKindCase(opt.fac.CopyExpr(macroExpr)) + } + // Since SetKindCase does not renumber the id, ensure the references to + // the old 'updated' id are mapped to the target id. + call.RenumberIDs(func(id int64) int64 { + if id == updated.ID() { + return target.ID() + } + return id + }) + } + }) + for _, call := range opt.sourceInfo.MacroCalls() { + ast.PostOrderVisit(call, macroVisitor) + } +} + +func (opt *optimizerExprFactory) sanitizeMacro(macroID int64, macroExpr ast.Expr) { + macroRefVisitor := ast.NewExprVisitor(func(e ast.Expr) { + if _, exists := opt.sourceInfo.GetMacroCall(e.ID()); exists && e.ID() != macroID { + e.SetKindCase(nil) + } + }) + ast.PostOrderVisit(macroExpr, macroRefVisitor) +} diff --git a/vendor/github.com/google/cel-go/cel/options.go b/vendor/github.com/google/cel-go/cel/options.go new file mode 100644 index 000000000..69c694263 --- /dev/null +++ b/vendor/github.com/google/cel-go/cel/options.go @@ -0,0 +1,667 @@ +// Copyright 2019 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 cel + +import ( + "fmt" + + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protodesc" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" + "google.golang.org/protobuf/types/dynamicpb" + + "github.com/google/cel-go/checker" + "github.com/google/cel-go/common/containers" + "github.com/google/cel-go/common/functions" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/pb" + "github.com/google/cel-go/common/types/ref" + "github.com/google/cel-go/interpreter" + "github.com/google/cel-go/parser" + + exprpb "google.golang.org/genproto/googleapis/api/expr/v1alpha1" + descpb "google.golang.org/protobuf/types/descriptorpb" +) + +// These constants beginning with "Feature" enable optional behavior in +// the library. See the documentation for each constant to see its +// effects, compatibility restrictions, and standard conformance. +const ( + _ = iota + + // Enable the tracking of function call expressions replaced by macros. + featureEnableMacroCallTracking + + // Enable the use of cross-type numeric comparisons at the type-checker. + featureCrossTypeNumericComparisons + + // Enable eager validation of declarations to ensure that Env values created + // with `Extend` inherit a validated list of declarations from the parent Env. + featureEagerlyValidateDeclarations + + // Enable the use of the default UTC timezone when a timezone is not specified + // on a CEL timestamp operation. This fixes the scenario where the input time + // is not already in UTC. + featureDefaultUTCTimeZone + + // Enable the serialization of logical operator ASTs as variadic calls, thus + // compressing the logic graph to a single call when multiple like-operator + // expressions occur: e.g. a && b && c && d -> call(_&&_, [a, b, c, d]) + featureVariadicLogicalASTs + + // Enable error generation when a presence test or optional field selection is + // performed on a primitive type. + featureEnableErrorOnBadPresenceTest +) + +// EnvOption is a functional interface for configuring the environment. +type EnvOption func(e *Env) (*Env, error) + +// ClearMacros options clears all parser macros. +// +// Clearing macros will ensure CEL expressions can only contain linear evaluation paths, as +// comprehensions such as `all` and `exists` are enabled only via macros. +func ClearMacros() EnvOption { + return func(e *Env) (*Env, error) { + e.macros = NoMacros + return e, nil + } +} + +// CustomTypeAdapter swaps the default types.Adapter implementation with a custom one. +// +// Note: This option must be specified before the Types and TypeDescs options when used together. +func CustomTypeAdapter(adapter types.Adapter) EnvOption { + return func(e *Env) (*Env, error) { + e.adapter = adapter + return e, nil + } +} + +// CustomTypeProvider replaces the types.Provider implementation with a custom one. +// +// The `provider` variable type may either be types.Provider or ref.TypeProvider (deprecated) +// +// Note: This option must be specified before the Types and TypeDescs options when used together. +func CustomTypeProvider(provider any) EnvOption { + return func(e *Env) (*Env, error) { + var err error + e.provider, err = maybeInteropProvider(provider) + return e, err + } +} + +// Declarations option extends the declaration set configured in the environment. +// +// Note: Declarations will by default be appended to the pre-existing declaration set configured +// for the environment. The NewEnv call builds on top of the standard CEL declarations. For a +// purely custom set of declarations use NewCustomEnv. +func Declarations(decls ...*exprpb.Decl) EnvOption { + declOpts := []EnvOption{} + var err error + var opt EnvOption + // Convert the declarations to `EnvOption` values ahead of time. + // Surface any errors in conversion when the options are applied. + for _, d := range decls { + opt, err = ExprDeclToDeclaration(d) + if err != nil { + break + } + declOpts = append(declOpts, opt) + } + return func(e *Env) (*Env, error) { + if err != nil { + return nil, err + } + for _, o := range declOpts { + e, err = o(e) + if err != nil { + return nil, err + } + } + return e, nil + } +} + +// EagerlyValidateDeclarations ensures that any collisions between configured declarations are caught +// at the time of the `NewEnv` call. +// +// Eagerly validating declarations is also useful for bootstrapping a base `cel.Env` value. +// Calls to base `Env.Extend()` will be significantly faster when declarations are eagerly validated +// as declarations will be collision-checked at most once and only incrementally by way of `Extend` +// +// Disabled by default as not all environments are used for type-checking. +func EagerlyValidateDeclarations(enabled bool) EnvOption { + return features(featureEagerlyValidateDeclarations, enabled) +} + +// HomogeneousAggregateLiterals disables mixed type list and map literal values. +// +// Note, it is still possible to have heterogeneous aggregates when provided as variables to the +// expression, as well as via conversion of well-known dynamic types, or with unchecked +// expressions. +func HomogeneousAggregateLiterals() EnvOption { + return ASTValidators(ValidateHomogeneousAggregateLiterals()) +} + +// variadicLogicalOperatorASTs flatten like-operator chained logical expressions into a single +// variadic call with N-terms. This behavior is useful when serializing to a protocol buffer as +// it will reduce the number of recursive calls needed to deserialize the AST later. +// +// For example, given the following expression the call graph will be rendered accordingly: +// +// expression: a && b && c && (d || e) +// ast: call(_&&_, [a, b, c, call(_||_, [d, e])]) +func variadicLogicalOperatorASTs() EnvOption { + return features(featureVariadicLogicalASTs, true) +} + +// Macros option extends the macro set configured in the environment. +// +// Note: This option must be specified after ClearMacros if used together. +func Macros(macros ...Macro) EnvOption { + return func(e *Env) (*Env, error) { + e.macros = append(e.macros, macros...) + return e, nil + } +} + +// Container sets the container for resolving variable names. Defaults to an empty container. +// +// If all references within an expression are relative to a protocol buffer package, then +// specifying a container of `google.type` would make it possible to write expressions such as +// `Expr{expression: 'a < b'}` instead of having to write `google.type.Expr{...}`. +func Container(name string) EnvOption { + return func(e *Env) (*Env, error) { + cont, err := e.Container.Extend(containers.Name(name)) + if err != nil { + return nil, err + } + e.Container = cont + return e, nil + } +} + +// Abbrevs configures a set of simple names as abbreviations for fully-qualified names. +// +// An abbreviation (abbrev for short) is a simple name that expands to a fully-qualified name. +// Abbreviations can be useful when working with variables, functions, and especially types from +// multiple namespaces: +// +// // CEL object construction +// qual.pkg.version.ObjTypeName{ +// field: alt.container.ver.FieldTypeName{value: ...} +// } +// +// Only one the qualified names above may be used as the CEL container, so at least one of these +// references must be a long qualified name within an otherwise short CEL program. Using the +// following abbreviations, the program becomes much simpler: +// +// // CEL Go option +// Abbrevs("qual.pkg.version.ObjTypeName", "alt.container.ver.FieldTypeName") +// // Simplified Object construction +// ObjTypeName{field: FieldTypeName{value: ...}} +// +// There are a few rules for the qualified names and the simple abbreviations generated from them: +// - Qualified names must be dot-delimited, e.g. `package.subpkg.name`. +// - The last element in the qualified name is the abbreviation. +// - Abbreviations must not collide with each other. +// - The abbreviation must not collide with unqualified names in use. +// +// Abbreviations are distinct from container-based references in the following important ways: +// - Abbreviations must expand to a fully-qualified name. +// - Expanded abbreviations do not participate in namespace resolution. +// - Abbreviation expansion is done instead of the container search for a matching identifier. +// - Containers follow C++ namespace resolution rules with searches from the most qualified name +// +// to the least qualified name. +// +// - Container references within the CEL program may be relative, and are resolved to fully +// +// qualified names at either type-check time or program plan time, whichever comes first. +// +// If there is ever a case where an identifier could be in both the container and as an +// abbreviation, the abbreviation wins as this will ensure that the meaning of a program is +// preserved between compilations even as the container evolves. +func Abbrevs(qualifiedNames ...string) EnvOption { + return func(e *Env) (*Env, error) { + cont, err := e.Container.Extend(containers.Abbrevs(qualifiedNames...)) + if err != nil { + return nil, err + } + e.Container = cont + return e, nil + } +} + +// customTypeRegistry is an internal-only interface containing the minimum methods required to support +// custom types. It is a subset of methods from ref.TypeRegistry. +type customTypeRegistry interface { + RegisterDescriptor(protoreflect.FileDescriptor) error + RegisterType(...ref.Type) error +} + +// Types adds one or more type declarations to the environment, allowing for construction of +// type-literals whose definitions are included in the common expression built-in set. +// +// The input types may either be instances of `proto.Message` or `ref.Type`. Any other type +// provided to this option will result in an error. +// +// Well-known protobuf types within the `google.protobuf.*` package are included in the standard +// environment by default. +// +// Note: This option must be specified after the CustomTypeProvider option when used together. +func Types(addTypes ...any) EnvOption { + return func(e *Env) (*Env, error) { + reg, isReg := e.provider.(customTypeRegistry) + if !isReg { + return nil, fmt.Errorf("custom types not supported by provider: %T", e.provider) + } + for _, t := range addTypes { + switch v := t.(type) { + case proto.Message: + fdMap := pb.CollectFileDescriptorSet(v) + for _, fd := range fdMap { + err := reg.RegisterDescriptor(fd) + if err != nil { + return nil, err + } + } + case ref.Type: + err := reg.RegisterType(v) + if err != nil { + return nil, err + } + default: + return nil, fmt.Errorf("unsupported type: %T", t) + } + } + return e, nil + } +} + +// TypeDescs adds type declarations from any protoreflect.FileDescriptor, protoregistry.Files, +// google.protobuf.FileDescriptorProto or google.protobuf.FileDescriptorSet provided. +// +// Note that messages instantiated from these descriptors will be *dynamicpb.Message values +// rather than the concrete message type. +// +// TypeDescs are hermetic to a single Env object, but may be copied to other Env values via +// extension or by re-using the same EnvOption with another NewEnv() call. +func TypeDescs(descs ...any) EnvOption { + return func(e *Env) (*Env, error) { + reg, isReg := e.provider.(customTypeRegistry) + if !isReg { + return nil, fmt.Errorf("custom types not supported by provider: %T", e.provider) + } + // Scan the input descriptors for FileDescriptorProto messages and accumulate them into a + // synthetic FileDescriptorSet as the FileDescriptorProto messages may refer to each other + // and will not resolve properly unless they are part of the same set. + var fds *descpb.FileDescriptorSet + for _, d := range descs { + switch f := d.(type) { + case *descpb.FileDescriptorProto: + if fds == nil { + fds = &descpb.FileDescriptorSet{ + File: []*descpb.FileDescriptorProto{}, + } + } + fds.File = append(fds.File, f) + } + } + if fds != nil { + if err := registerFileSet(reg, fds); err != nil { + return nil, err + } + } + for _, d := range descs { + switch f := d.(type) { + case *protoregistry.Files: + if err := registerFiles(reg, f); err != nil { + return nil, err + } + case protoreflect.FileDescriptor: + if err := reg.RegisterDescriptor(f); err != nil { + return nil, err + } + case *descpb.FileDescriptorSet: + if err := registerFileSet(reg, f); err != nil { + return nil, err + } + case *descpb.FileDescriptorProto: + // skip, handled as a synthetic file descriptor set. + default: + return nil, fmt.Errorf("unsupported type descriptor: %T", d) + } + } + return e, nil + } +} + +func registerFileSet(reg customTypeRegistry, fileSet *descpb.FileDescriptorSet) error { + files, err := protodesc.NewFiles(fileSet) + if err != nil { + return fmt.Errorf("protodesc.NewFiles(%v) failed: %v", fileSet, err) + } + return registerFiles(reg, files) +} + +func registerFiles(reg customTypeRegistry, files *protoregistry.Files) error { + var err error + files.RangeFiles(func(fd protoreflect.FileDescriptor) bool { + err = reg.RegisterDescriptor(fd) + return err == nil + }) + return err +} + +// ProgramOption is a functional interface for configuring evaluation bindings and behaviors. +type ProgramOption func(p *prog) (*prog, error) + +// CustomDecorator appends an InterpreterDecorator to the program. +// +// InterpretableDecorators can be used to inspect, alter, or replace the Program plan. +func CustomDecorator(dec interpreter.InterpretableDecorator) ProgramOption { + return func(p *prog) (*prog, error) { + p.decorators = append(p.decorators, dec) + return p, nil + } +} + +// Functions adds function overloads that extend or override the set of CEL built-ins. +// +// Deprecated: use Function() instead to declare the function, its overload signatures, +// and the overload implementations. +func Functions(funcs ...*functions.Overload) ProgramOption { + return func(p *prog) (*prog, error) { + if err := p.dispatcher.Add(funcs...); err != nil { + return nil, err + } + return p, nil + } +} + +// Globals sets the global variable values for a given program. These values may be shadowed by +// variables with the same name provided to the Eval() call. If Globals is used in a Library with +// a Lib EnvOption, vars may shadow variables provided by previously added libraries. +// +// The vars value may either be an `interpreter.Activation` instance or a `map[string]any`. +func Globals(vars any) ProgramOption { + return func(p *prog) (*prog, error) { + defaultVars, err := interpreter.NewActivation(vars) + if err != nil { + return nil, err + } + if p.defaultVars != nil { + defaultVars = interpreter.NewHierarchicalActivation(p.defaultVars, defaultVars) + } + p.defaultVars = defaultVars + return p, nil + } +} + +// OptimizeRegex provides a way to replace the InterpretableCall for regex functions. This can be used +// to compile regex string constants at program creation time and report any errors and then use the +// compiled regex for all regex function invocations. +func OptimizeRegex(regexOptimizations ...*interpreter.RegexOptimization) ProgramOption { + return func(p *prog) (*prog, error) { + p.regexOptimizations = append(p.regexOptimizations, regexOptimizations...) + return p, nil + } +} + +// EvalOption indicates an evaluation option that may affect the evaluation behavior or information +// in the output result. +type EvalOption int + +const ( + // OptTrackState will cause the runtime to return an immutable EvalState value in the Result. + OptTrackState EvalOption = 1 << iota + + // OptExhaustiveEval causes the runtime to disable short-circuits and track state. + OptExhaustiveEval EvalOption = 1< 0 { + decorators = append(decorators, interpreter.InterruptableEval()) + } + // Enable constant folding first. + if p.evalOpts&OptOptimize == OptOptimize { + decorators = append(decorators, interpreter.Optimize()) + p.regexOptimizations = append(p.regexOptimizations, interpreter.MatchesRegexOptimization) + } + // Enable regex compilation of constants immediately after folding constants. + if len(p.regexOptimizations) > 0 { + decorators = append(decorators, interpreter.CompileRegexConstants(p.regexOptimizations...)) + } + + // Enable exhaustive eval, state tracking and cost tracking last since they require a factory. + if p.evalOpts&(OptExhaustiveEval|OptTrackState|OptTrackCost) != 0 { + factory := func(state interpreter.EvalState, costTracker *interpreter.CostTracker) (Program, error) { + costTracker.Estimator = p.callCostEstimator + costTracker.Limit = p.costLimit + for _, costOpt := range p.costOptions { + err := costOpt(costTracker) + if err != nil { + return nil, err + } + } + // Limit capacity to guarantee a reallocation when calling 'append(decs, ...)' below. This + // prevents the underlying memory from being shared between factory function calls causing + // undesired mutations. + decs := decorators[:len(decorators):len(decorators)] + var observers []interpreter.EvalObserver + + if p.evalOpts&(OptExhaustiveEval|OptTrackState) != 0 { + // EvalStateObserver is required for OptExhaustiveEval. + observers = append(observers, interpreter.EvalStateObserver(state)) + } + if p.evalOpts&OptTrackCost == OptTrackCost { + observers = append(observers, interpreter.CostObserver(costTracker)) + } + + // Enable exhaustive eval over a basic observer since it offers a superset of features. + if p.evalOpts&OptExhaustiveEval == OptExhaustiveEval { + decs = append(decs, interpreter.ExhaustiveEval(), interpreter.Observe(observers...)) + } else if len(observers) > 0 { + decs = append(decs, interpreter.Observe(observers...)) + } + + return p.clone().initInterpretable(a, decs) + } + return newProgGen(factory) + } + return p.initInterpretable(a, decorators) +} + +func (p *prog) initInterpretable(a *ast.AST, decs []interpreter.InterpretableDecorator) (*prog, error) { + // When the AST has been exprAST it contains metadata that can be used to speed up program execution. + interpretable, err := p.interpreter.NewInterpretable(a, decs...) + if err != nil { + return nil, err + } + p.interpretable = interpretable + return p, nil +} + +// Eval implements the Program interface method. +func (p *prog) Eval(input any) (v ref.Val, det *EvalDetails, err error) { + // Configure error recovery for unexpected panics during evaluation. Note, the use of named + // return values makes it possible to modify the error response during the recovery + // function. + defer func() { + if r := recover(); r != nil { + switch t := r.(type) { + case interpreter.EvalCancelledError: + err = t + default: + err = fmt.Errorf("internal error: %v", r) + } + } + }() + // Build a hierarchical activation if there are default vars set. + var vars interpreter.Activation + switch v := input.(type) { + case interpreter.Activation: + vars = v + case map[string]any: + vars = activationPool.Setup(v) + defer activationPool.Put(vars) + default: + return nil, nil, fmt.Errorf("invalid input, wanted Activation or map[string]any, got: (%T)%v", input, input) + } + if p.defaultVars != nil { + vars = interpreter.NewHierarchicalActivation(p.defaultVars, vars) + } + v = p.interpretable.Eval(vars) + // The output of an internal Eval may have a value (`v`) that is a types.Err. This step + // translates the CEL value to a Go error response. This interface does not quite match the + // RPC signature which allows for multiple errors to be returned, but should be sufficient. + if types.IsError(v) { + err = v.(*types.Err) + } + return +} + +// ContextEval implements the Program interface. +func (p *prog) ContextEval(ctx context.Context, input any) (ref.Val, *EvalDetails, error) { + if ctx == nil { + return nil, nil, fmt.Errorf("context can not be nil") + } + // Configure the input, making sure to wrap Activation inputs in the special ctxActivation which + // exposes the #interrupted variable and manages rate-limited checks of the ctx.Done() state. + var vars interpreter.Activation + switch v := input.(type) { + case interpreter.Activation: + vars = ctxActivationPool.Setup(v, ctx.Done(), p.interruptCheckFrequency) + defer ctxActivationPool.Put(vars) + case map[string]any: + rawVars := activationPool.Setup(v) + defer activationPool.Put(rawVars) + vars = ctxActivationPool.Setup(rawVars, ctx.Done(), p.interruptCheckFrequency) + defer ctxActivationPool.Put(vars) + default: + return nil, nil, fmt.Errorf("invalid input, wanted Activation or map[string]any, got: (%T)%v", input, input) + } + return p.Eval(vars) +} + +// progFactory is a helper alias for marking a program creation factory function. +type progFactory func(interpreter.EvalState, *interpreter.CostTracker) (Program, error) + +// progGen holds a reference to a progFactory instance and implements the Program interface. +type progGen struct { + factory progFactory +} + +// newProgGen tests the factory object by calling it once and returns a factory-based Program if +// the test is successful. +func newProgGen(factory progFactory) (Program, error) { + // Test the factory to make sure that configuration errors are spotted at config + tracker, err := interpreter.NewCostTracker(nil) + if err != nil { + return nil, err + } + _, err = factory(interpreter.NewEvalState(), tracker) + if err != nil { + return nil, err + } + return &progGen{factory: factory}, nil +} + +// Eval implements the Program interface method. +func (gen *progGen) Eval(input any) (ref.Val, *EvalDetails, error) { + // The factory based Eval() differs from the standard evaluation model in that it generates a + // new EvalState instance for each call to ensure that unique evaluations yield unique stateful + // results. + state := interpreter.NewEvalState() + costTracker, err := interpreter.NewCostTracker(nil) + if err != nil { + return nil, nil, err + } + det := &EvalDetails{state: state, costTracker: costTracker} + + // Generate a new instance of the interpretable using the factory configured during the call to + // newProgram(). It is incredibly unlikely that the factory call will generate an error given + // the factory test performed within the Program() call. + p, err := gen.factory(state, costTracker) + if err != nil { + return nil, det, err + } + + // Evaluate the input, returning the result and the 'state' within EvalDetails. + v, _, err := p.Eval(input) + if err != nil { + return v, det, err + } + return v, det, nil +} + +// ContextEval implements the Program interface method. +func (gen *progGen) ContextEval(ctx context.Context, input any) (ref.Val, *EvalDetails, error) { + if ctx == nil { + return nil, nil, fmt.Errorf("context can not be nil") + } + // The factory based Eval() differs from the standard evaluation model in that it generates a + // new EvalState instance for each call to ensure that unique evaluations yield unique stateful + // results. + state := interpreter.NewEvalState() + costTracker, err := interpreter.NewCostTracker(nil) + if err != nil { + return nil, nil, err + } + det := &EvalDetails{state: state, costTracker: costTracker} + + // Generate a new instance of the interpretable using the factory configured during the call to + // newProgram(). It is incredibly unlikely that the factory call will generate an error given + // the factory test performed within the Program() call. + p, err := gen.factory(state, costTracker) + if err != nil { + return nil, det, err + } + + // Evaluate the input, returning the result and the 'state' within EvalDetails. + v, _, err := p.ContextEval(ctx, input) + if err != nil { + return v, det, err + } + return v, det, nil +} + +type ctxEvalActivation struct { + parent interpreter.Activation + interrupt <-chan struct{} + interruptCheckCount uint + interruptCheckFrequency uint +} + +// ResolveName implements the Activation interface method, but adds a special #interrupted variable +// which is capable of testing whether a 'done' signal is provided from a context.Context channel. +func (a *ctxEvalActivation) ResolveName(name string) (any, bool) { + if name == "#interrupted" { + a.interruptCheckCount++ + if a.interruptCheckCount%a.interruptCheckFrequency == 0 { + select { + case <-a.interrupt: + return true, true + default: + return nil, false + } + } + return nil, false + } + return a.parent.ResolveName(name) +} + +func (a *ctxEvalActivation) Parent() interpreter.Activation { + return a.parent +} + +func newCtxEvalActivationPool() *ctxEvalActivationPool { + return &ctxEvalActivationPool{ + Pool: sync.Pool{ + New: func() any { + return &ctxEvalActivation{} + }, + }, + } +} + +type ctxEvalActivationPool struct { + sync.Pool +} + +// Setup initializes a pooled Activation with the ability check for context.Context cancellation +func (p *ctxEvalActivationPool) Setup(vars interpreter.Activation, done <-chan struct{}, interruptCheckRate uint) *ctxEvalActivation { + a := p.Pool.Get().(*ctxEvalActivation) + a.parent = vars + a.interrupt = done + a.interruptCheckCount = 0 + a.interruptCheckFrequency = interruptCheckRate + return a +} + +type evalActivation struct { + vars map[string]any + lazyVars map[string]any +} + +// ResolveName looks up the value of the input variable name, if found. +// +// Lazy bindings may be supplied within the map-based input in either of the following forms: +// - func() any +// - func() ref.Val +// +// The lazy binding will only be invoked once per evaluation. +// +// Values which are not represented as ref.Val types on input may be adapted to a ref.Val using +// the types.Adapter configured in the environment. +func (a *evalActivation) ResolveName(name string) (any, bool) { + v, found := a.vars[name] + if !found { + return nil, false + } + switch obj := v.(type) { + case func() ref.Val: + if resolved, found := a.lazyVars[name]; found { + return resolved, true + } + lazy := obj() + a.lazyVars[name] = lazy + return lazy, true + case func() any: + if resolved, found := a.lazyVars[name]; found { + return resolved, true + } + lazy := obj() + a.lazyVars[name] = lazy + return lazy, true + default: + return obj, true + } +} + +// Parent implements the interpreter.Activation interface +func (a *evalActivation) Parent() interpreter.Activation { + return nil +} + +func newEvalActivationPool() *evalActivationPool { + return &evalActivationPool{ + Pool: sync.Pool{ + New: func() any { + return &evalActivation{lazyVars: make(map[string]any)} + }, + }, + } +} + +type evalActivationPool struct { + sync.Pool +} + +// Setup initializes a pooled Activation object with the map input. +func (p *evalActivationPool) Setup(vars map[string]any) *evalActivation { + a := p.Pool.Get().(*evalActivation) + a.vars = vars + return a +} + +func (p *evalActivationPool) Put(value any) { + a := value.(*evalActivation) + for k := range a.lazyVars { + delete(a.lazyVars, k) + } + p.Pool.Put(a) +} + +var ( + // activationPool is an internally managed pool of Activation values that wrap map[string]any inputs + activationPool = newEvalActivationPool() + + // ctxActivationPool is an internally managed pool of Activation values that expose a special #interrupted variable + ctxActivationPool = newCtxEvalActivationPool() +) diff --git a/vendor/github.com/google/cel-go/cel/validator.go b/vendor/github.com/google/cel-go/cel/validator.go new file mode 100644 index 000000000..b50c67452 --- /dev/null +++ b/vendor/github.com/google/cel-go/cel/validator.go @@ -0,0 +1,375 @@ +// 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 cel + +import ( + "fmt" + "reflect" + "regexp" + + "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/overloads" +) + +const ( + homogeneousValidatorName = "cel.lib.std.validate.types.homogeneous" + + // HomogeneousAggregateLiteralExemptFunctions is the ValidatorConfig key used to configure + // the set of function names which are exempt from homogeneous type checks. The expected type + // is a string list of function names. + // + // As an example, the `.format([args])` call expects the input arguments list to be + // comprised of a variety of types which correspond to the types expected by the format control + // clauses; however, all other uses of a mixed element type list, would be unexpected. + HomogeneousAggregateLiteralExemptFunctions = homogeneousValidatorName + ".exempt" +) + +// ASTValidators configures a set of ASTValidator instances into the target environment. +// +// Validators are applied in the order in which the are specified and are treated as singletons. +// The same ASTValidator with a given name will not be applied more than once. +func ASTValidators(validators ...ASTValidator) EnvOption { + return func(e *Env) (*Env, error) { + for _, v := range validators { + if !e.HasValidator(v.Name()) { + e.validators = append(e.validators, v) + } + } + return e, nil + } +} + +// ASTValidator defines a singleton interface for validating a type-checked Ast against an environment. +// +// Note: the Issues argument is mutable in the sense that it is intended to collect errors which will be +// reported to the caller. +type ASTValidator interface { + // Name returns the name of the validator. Names must be unique. + Name() string + + // Validate validates a given Ast within an Environment and collects a set of potential issues. + // + // The ValidatorConfig is generated from the set of ASTValidatorConfigurer instances prior to + // the invocation of the Validate call. The expectation is that the validator configuration + // is created in sequence and immutable once provided to the Validate call. + // + // See individual validators for more information on their configuration keys and configuration + // properties. + Validate(*Env, ValidatorConfig, *ast.AST, *Issues) +} + +// ValidatorConfig provides an accessor method for querying validator configuration state. +type ValidatorConfig interface { + GetOrDefault(name string, value any) any +} + +// MutableValidatorConfig provides mutation methods for querying and updating validator configuration +// settings. +type MutableValidatorConfig interface { + ValidatorConfig + Set(name string, value any) error +} + +// ASTValidatorConfigurer indicates that this object, currently expected to be an ASTValidator, +// participates in validator configuration settings. +// +// This interface may be split from the expectation of being an ASTValidator instance in the future. +type ASTValidatorConfigurer interface { + Configure(MutableValidatorConfig) error +} + +// validatorConfig implements the ValidatorConfig and MutableValidatorConfig interfaces. +type validatorConfig struct { + data map[string]any +} + +// newValidatorConfig initializes the validator config with default values for core CEL validators. +func newValidatorConfig() *validatorConfig { + return &validatorConfig{ + data: map[string]any{ + HomogeneousAggregateLiteralExemptFunctions: []string{}, + }, + } +} + +// GetOrDefault returns the configured value for the name, if present, else the input default value. +// +// Note, the type-agreement between the input default and configured value is not checked on read. +func (config *validatorConfig) GetOrDefault(name string, value any) any { + v, found := config.data[name] + if !found { + return value + } + return v +} + +// Set configures a validator option with the given name and value. +// +// If the value had previously been set, the new value must have the same reflection type as the old one, +// or the call will error. +func (config *validatorConfig) Set(name string, value any) error { + v, found := config.data[name] + if found && reflect.TypeOf(v) != reflect.TypeOf(value) { + return fmt.Errorf("incompatible configuration type for %s, got %T, wanted %T", name, value, v) + } + config.data[name] = value + return nil +} + +// ExtendedValidations collects a set of common AST validations which reduce the likelihood of runtime errors. +// +// - Validate duration and timestamp literals +// - Ensure regex strings are valid +// - Disable mixed type list and map literals +func ExtendedValidations() EnvOption { + return ASTValidators( + ValidateDurationLiterals(), + ValidateTimestampLiterals(), + ValidateRegexLiterals(), + ValidateHomogeneousAggregateLiterals(), + ) +} + +// ValidateDurationLiterals ensures that duration literal arguments are valid immediately after type-check. +func ValidateDurationLiterals() ASTValidator { + return newFormatValidator(overloads.TypeConvertDuration, 0, evalCall) +} + +// ValidateTimestampLiterals ensures that timestamp literal arguments are valid immediately after type-check. +func ValidateTimestampLiterals() ASTValidator { + return newFormatValidator(overloads.TypeConvertTimestamp, 0, evalCall) +} + +// ValidateRegexLiterals ensures that regex patterns are validated after type-check. +func ValidateRegexLiterals() ASTValidator { + return newFormatValidator(overloads.Matches, 0, compileRegex) +} + +// ValidateHomogeneousAggregateLiterals checks that all list and map literals entries have the same types, i.e. +// no mixed list element types or mixed map key or map value types. +// +// Note: the string format call relies on a mixed element type list for ease of use, so this check skips all +// literals which occur within string format calls. +func ValidateHomogeneousAggregateLiterals() ASTValidator { + return homogeneousAggregateLiteralValidator{} +} + +// ValidateComprehensionNestingLimit ensures that comprehension nesting does not exceed the specified limit. +// +// This validator can be useful for preventing arbitrarily nested comprehensions which can take high polynomial +// time to complete. +// +// Note, this limit does not apply to comprehensions with an empty iteration range, as these comprehensions have +// no actual looping cost. The cel.bind() utilizes the comprehension structure to perform local variable +// assignments and supplies an empty iteration range, so they won't count against the nesting limit either. +func ValidateComprehensionNestingLimit(limit int) ASTValidator { + return nestingLimitValidator{limit: limit} +} + +type argChecker func(env *Env, call, arg ast.Expr) error + +func newFormatValidator(funcName string, argNum int, check argChecker) formatValidator { + return formatValidator{ + funcName: funcName, + check: check, + argNum: argNum, + } +} + +type formatValidator struct { + funcName string + argNum int + check argChecker +} + +// Name returns the unique name of this function format validator. +func (v formatValidator) Name() string { + return fmt.Sprintf("cel.lib.std.validate.functions.%s", v.funcName) +} + +// Validate searches the AST for uses of a given function name with a constant argument and performs a check +// on whether the argument is a valid literal value. +func (v formatValidator) Validate(e *Env, _ ValidatorConfig, a *ast.AST, iss *Issues) { + root := ast.NavigateAST(a) + funcCalls := ast.MatchDescendants(root, ast.FunctionMatcher(v.funcName)) + for _, call := range funcCalls { + callArgs := call.AsCall().Args() + if len(callArgs) <= v.argNum { + continue + } + litArg := callArgs[v.argNum] + if litArg.Kind() != ast.LiteralKind { + continue + } + if err := v.check(e, call, litArg); err != nil { + iss.ReportErrorAtID(litArg.ID(), "invalid %s argument", v.funcName) + } + } +} + +func evalCall(env *Env, call, arg ast.Expr) error { + ast := &Ast{impl: ast.NewAST(call, ast.NewSourceInfo(nil))} + prg, err := env.Program(ast) + if err != nil { + return err + } + _, _, err = prg.Eval(NoVars()) + return err +} + +func compileRegex(_ *Env, _, arg ast.Expr) error { + pattern := arg.AsLiteral().Value().(string) + _, err := regexp.Compile(pattern) + return err +} + +type homogeneousAggregateLiteralValidator struct{} + +// Name returns the unique name of the homogeneous type validator. +func (homogeneousAggregateLiteralValidator) Name() string { + return homogeneousValidatorName +} + +// Validate validates that all lists and map literals have homogeneous types, i.e. don't contain dyn types. +// +// This validator makes an exception for list and map literals which occur at any level of nesting within +// string format calls. +func (v homogeneousAggregateLiteralValidator) Validate(_ *Env, c ValidatorConfig, a *ast.AST, iss *Issues) { + var exemptedFunctions []string + exemptedFunctions = c.GetOrDefault(HomogeneousAggregateLiteralExemptFunctions, exemptedFunctions).([]string) + root := ast.NavigateAST(a) + listExprs := ast.MatchDescendants(root, ast.KindMatcher(ast.ListKind)) + for _, listExpr := range listExprs { + if inExemptFunction(listExpr, exemptedFunctions) { + continue + } + l := listExpr.AsList() + elements := l.Elements() + optIndices := l.OptionalIndices() + var elemType *Type + for i, e := range elements { + et := a.GetType(e.ID()) + if isOptionalIndex(i, optIndices) { + et = et.Parameters()[0] + } + if elemType == nil { + elemType = et + continue + } + if !elemType.IsEquivalentType(et) { + v.typeMismatch(iss, e.ID(), elemType, et) + break + } + } + } + mapExprs := ast.MatchDescendants(root, ast.KindMatcher(ast.MapKind)) + for _, mapExpr := range mapExprs { + if inExemptFunction(mapExpr, exemptedFunctions) { + continue + } + m := mapExpr.AsMap() + entries := m.Entries() + var keyType, valType *Type + for _, e := range entries { + mapEntry := e.AsMapEntry() + key, val := mapEntry.Key(), mapEntry.Value() + kt, vt := a.GetType(key.ID()), a.GetType(val.ID()) + if mapEntry.IsOptional() { + vt = vt.Parameters()[0] + } + if keyType == nil && valType == nil { + keyType, valType = kt, vt + continue + } + if !keyType.IsEquivalentType(kt) { + v.typeMismatch(iss, key.ID(), keyType, kt) + } + if !valType.IsEquivalentType(vt) { + v.typeMismatch(iss, val.ID(), valType, vt) + } + } + } +} + +func inExemptFunction(e ast.NavigableExpr, exemptFunctions []string) bool { + parent, found := e.Parent() + for found { + if parent.Kind() == ast.CallKind { + fnName := parent.AsCall().FunctionName() + for _, exempt := range exemptFunctions { + if exempt == fnName { + return true + } + } + } + parent, found = parent.Parent() + } + return false +} + +func isOptionalIndex(i int, optIndices []int32) bool { + for _, optInd := range optIndices { + if i == int(optInd) { + return true + } + } + return false +} + +func (homogeneousAggregateLiteralValidator) typeMismatch(iss *Issues, id int64, expected, actual *Type) { + iss.ReportErrorAtID(id, "expected type '%s' but found '%s'", FormatCELType(expected), FormatCELType(actual)) +} + +type nestingLimitValidator struct { + limit int +} + +func (v nestingLimitValidator) Name() string { + return "cel.lib.std.validate.comprehension_nesting_limit" +} + +func (v nestingLimitValidator) Validate(e *Env, _ ValidatorConfig, a *ast.AST, iss *Issues) { + root := ast.NavigateAST(a) + comprehensions := ast.MatchDescendants(root, ast.KindMatcher(ast.ComprehensionKind)) + if len(comprehensions) <= v.limit { + return + } + for _, comp := range comprehensions { + count := 0 + e := comp + hasParent := true + for hasParent { + // When the expression is not a comprehension, continue to the next ancestor. + if e.Kind() != ast.ComprehensionKind { + e, hasParent = e.Parent() + continue + } + // When the comprehension has an empty range, continue to the next ancestor + // as this comprehension does not have any associated cost. + iterRange := e.AsComprehension().IterRange() + if iterRange.Kind() == ast.ListKind && iterRange.AsList().Size() == 0 { + e, hasParent = e.Parent() + continue + } + // Otherwise check the nesting limit. + count++ + if count > v.limit { + iss.ReportErrorAtID(comp.ID(), "comprehension exceeds nesting limit") + break + } + e, hasParent = e.Parent() + } + } +} diff --git a/vendor/github.com/google/cel-go/checker/BUILD.bazel b/vendor/github.com/google/cel-go/checker/BUILD.bazel new file mode 100644 index 000000000..678b412a9 --- /dev/null +++ b/vendor/github.com/google/cel-go/checker/BUILD.bazel @@ -0,0 +1,64 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +package( + licenses = ["notice"], # Apache 2.0 +) + +go_library( + name = "go_default_library", + srcs = [ + "checker.go", + "cost.go", + "env.go", + "errors.go", + "format.go", + "mapping.go", + "options.go", + "printer.go", + "scopes.go", + "types.go", + ], + importpath = "github.com/google/cel-go/checker", + visibility = ["//visibility:public"], + deps = [ + "//checker/decls:go_default_library", + "//common:go_default_library", + "//common/ast:go_default_library", + "//common/containers:go_default_library", + "//common/debug:go_default_library", + "//common/decls:go_default_library", + "//common/operators:go_default_library", + "//common/overloads:go_default_library", + "//common/stdlib:go_default_library", + "//common/types:go_default_library", + "//common/types/pb:go_default_library", + "//common/types/ref:go_default_library", + "//parser:go_default_library", + "@org_golang_google_genproto_googleapis_api//expr/v1alpha1:go_default_library", + "@org_golang_google_protobuf//proto:go_default_library", + "@org_golang_google_protobuf//types/known/emptypb:go_default_library", + "@org_golang_google_protobuf//types/known/structpb:go_default_library", + ], +) + +go_test( + name = "go_default_test", + size = "small", + srcs = [ + "checker_test.go", + "cost_test.go", + "env_test.go", + "format_test.go", + ], + embed = [ + ":go_default_library", + ], + deps = [ + "//common/types:go_default_library", + "//parser:go_default_library", + "//test:go_default_library", + "//test/proto2pb:go_default_library", + "//test/proto3pb:go_default_library", + "@org_golang_google_protobuf//proto:go_default_library", + ], +) diff --git a/vendor/github.com/google/cel-go/checker/checker.go b/vendor/github.com/google/cel-go/checker/checker.go new file mode 100644 index 000000000..0603cfa30 --- /dev/null +++ b/vendor/github.com/google/cel-go/checker/checker.go @@ -0,0 +1,711 @@ +// Copyright 2018 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 checker defines functions to type-checked a parsed expression +// against a set of identifier and function declarations. +package checker + +import ( + "fmt" + "reflect" + + "github.com/google/cel-go/common" + "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/containers" + "github.com/google/cel-go/common/decls" + "github.com/google/cel-go/common/operators" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" +) + +type checker struct { + *ast.AST + ast.ExprFactory + env *Env + errors *typeErrors + mappings *mapping + freeTypeVarCounter int +} + +// Check performs type checking, giving a typed AST. +// +// The input is a parsed AST and an env which encapsulates type binding of variables, +// declarations of built-in functions, descriptions of protocol buffers, and a registry for +// errors. +// +// Returns a type-checked AST, which might not be usable if there are errors in the error +// registry. +func Check(parsed *ast.AST, source common.Source, env *Env) (*ast.AST, *common.Errors) { + errs := common.NewErrors(source) + typeMap := make(map[int64]*types.Type) + refMap := make(map[int64]*ast.ReferenceInfo) + c := checker{ + AST: ast.NewCheckedAST(parsed, typeMap, refMap), + ExprFactory: ast.NewExprFactory(), + env: env, + errors: &typeErrors{errs: errs}, + mappings: newMapping(), + freeTypeVarCounter: 0, + } + c.check(c.Expr()) + + // Walk over the final type map substituting any type parameters either by their bound value + // or by DYN. + for id, t := range c.TypeMap() { + c.SetType(id, substitute(c.mappings, t, true)) + } + return c.AST, errs +} + +func (c *checker) check(e ast.Expr) { + if e == nil { + return + } + switch e.Kind() { + case ast.LiteralKind: + literal := ref.Val(e.AsLiteral()) + switch literal.Type() { + case types.BoolType, types.BytesType, types.DoubleType, types.IntType, + types.NullType, types.StringType, types.UintType: + c.setType(e, literal.Type().(*types.Type)) + default: + c.errors.unexpectedASTType(e.ID(), c.location(e), "literal", literal.Type().TypeName()) + } + case ast.IdentKind: + c.checkIdent(e) + case ast.SelectKind: + c.checkSelect(e) + case ast.CallKind: + c.checkCall(e) + case ast.ListKind: + c.checkCreateList(e) + case ast.MapKind: + c.checkCreateMap(e) + case ast.StructKind: + c.checkCreateStruct(e) + case ast.ComprehensionKind: + c.checkComprehension(e) + default: + c.errors.unexpectedASTType(e.ID(), c.location(e), "unspecified", reflect.TypeOf(e).Name()) + } +} + +func (c *checker) checkIdent(e ast.Expr) { + identName := e.AsIdent() + // Check to see if the identifier is declared. + if ident := c.env.LookupIdent(identName); ident != nil { + c.setType(e, ident.Type()) + c.setReference(e, ast.NewIdentReference(ident.Name(), ident.Value())) + // Overwrite the identifier with its fully qualified name. + e.SetKindCase(c.NewIdent(e.ID(), ident.Name())) + return + } + + c.setType(e, types.ErrorType) + c.errors.undeclaredReference(e.ID(), c.location(e), c.env.container.Name(), identName) +} + +func (c *checker) checkSelect(e ast.Expr) { + sel := e.AsSelect() + // Before traversing down the tree, try to interpret as qualified name. + qname, found := containers.ToQualifiedName(e) + if found { + ident := c.env.LookupIdent(qname) + if ident != nil { + // We don't check for a TestOnly expression here since the `found` result is + // always going to be false for TestOnly expressions. + + // Rewrite the node to be a variable reference to the resolved fully-qualified + // variable name. + c.setType(e, ident.Type()) + c.setReference(e, ast.NewIdentReference(ident.Name(), ident.Value())) + e.SetKindCase(c.NewIdent(e.ID(), ident.Name())) + return + } + } + + resultType := c.checkSelectField(e, sel.Operand(), sel.FieldName(), false) + if sel.IsTestOnly() { + resultType = types.BoolType + } + c.setType(e, substitute(c.mappings, resultType, false)) +} + +func (c *checker) checkOptSelect(e ast.Expr) { + // Collect metadata related to the opt select call packaged by the parser. + call := e.AsCall() + operand := call.Args()[0] + field := call.Args()[1] + fieldName, isString := maybeUnwrapString(field) + if !isString { + c.errors.notAnOptionalFieldSelection(field.ID(), c.location(field), field) + return + } + + // Perform type-checking using the field selection logic. + resultType := c.checkSelectField(e, operand, fieldName, true) + c.setType(e, substitute(c.mappings, resultType, false)) + c.setReference(e, ast.NewFunctionReference("select_optional_field")) +} + +func (c *checker) checkSelectField(e, operand ast.Expr, field string, optional bool) *types.Type { + // Interpret as field selection, first traversing down the operand. + c.check(operand) + operandType := substitute(c.mappings, c.getType(operand), false) + + // If the target type is 'optional', unwrap it for the sake of this check. + targetType, isOpt := maybeUnwrapOptional(operandType) + + // Assume error type by default as most types do not support field selection. + resultType := types.ErrorType + switch targetType.Kind() { + case types.MapKind: + // Maps yield their value type as the selection result type. + resultType = targetType.Parameters()[1] + case types.StructKind: + // Objects yield their field type declaration as the selection result type, but only if + // the field is defined. + messageType := targetType + if fieldType, found := c.lookupFieldType(e.ID(), messageType.TypeName(), field); found { + resultType = fieldType + } + case types.TypeParamKind: + // Set the operand type to DYN to prevent assignment to a potentially incorrect type + // at a later point in type-checking. The isAssignable call will update the type + // substitutions for the type param under the covers. + c.isAssignable(types.DynType, targetType) + // Also, set the result type to DYN. + resultType = types.DynType + default: + // Dynamic / error values are treated as DYN type. Errors are handled this way as well + // in order to allow forward progress on the check. + if !isDynOrError(targetType) { + c.errors.typeDoesNotSupportFieldSelection(e.ID(), c.location(e), targetType) + } + resultType = types.DynType + } + + // If the target type was optional coming in, then the result must be optional going out. + if isOpt || optional { + return types.NewOptionalType(resultType) + } + return resultType +} + +func (c *checker) checkCall(e ast.Expr) { + // Note: similar logic exists within the `interpreter/planner.go`. If making changes here + // please consider the impact on planner.go and consolidate implementations or mirror code + // as appropriate. + call := e.AsCall() + fnName := call.FunctionName() + if fnName == operators.OptSelect { + c.checkOptSelect(e) + return + } + + args := call.Args() + // Traverse arguments. + for _, arg := range args { + c.check(arg) + } + + // Regular static call with simple name. + if !call.IsMemberFunction() { + // Check for the existence of the function. + fn := c.env.LookupFunction(fnName) + if fn == nil { + c.errors.undeclaredReference(e.ID(), c.location(e), c.env.container.Name(), fnName) + c.setType(e, types.ErrorType) + return + } + // Overwrite the function name with its fully qualified resolved name. + e.SetKindCase(c.NewCall(e.ID(), fn.Name(), args...)) + // Check to see whether the overload resolves. + c.resolveOverloadOrError(e, fn, nil, args) + return + } + + // If a receiver 'target' is present, it may either be a receiver function, or a namespaced + // function, but not both. Given a.b.c() either a.b.c is a function or c is a function with + // target a.b. + // + // Check whether the target is a namespaced function name. + target := call.Target() + qualifiedPrefix, maybeQualified := containers.ToQualifiedName(target) + if maybeQualified { + maybeQualifiedName := qualifiedPrefix + "." + fnName + fn := c.env.LookupFunction(maybeQualifiedName) + if fn != nil { + // The function name is namespaced and so preserving the target operand would + // be an inaccurate representation of the desired evaluation behavior. + // Overwrite with fully-qualified resolved function name sans receiver target. + e.SetKindCase(c.NewCall(e.ID(), fn.Name(), args...)) + c.resolveOverloadOrError(e, fn, nil, args) + return + } + } + + // Regular instance call. + c.check(target) + fn := c.env.LookupFunction(fnName) + // Function found, attempt overload resolution. + if fn != nil { + c.resolveOverloadOrError(e, fn, target, args) + return + } + // Function name not declared, record error. + c.setType(e, types.ErrorType) + c.errors.undeclaredReference(e.ID(), c.location(e), c.env.container.Name(), fnName) +} + +func (c *checker) resolveOverloadOrError( + e ast.Expr, fn *decls.FunctionDecl, target ast.Expr, args []ast.Expr) { + // Attempt to resolve the overload. + resolution := c.resolveOverload(e, fn, target, args) + // No such overload, error noted in the resolveOverload call, type recorded here. + if resolution == nil { + c.setType(e, types.ErrorType) + return + } + // Overload found. + c.setType(e, resolution.Type) + c.setReference(e, resolution.Reference) +} + +func (c *checker) resolveOverload( + call ast.Expr, fn *decls.FunctionDecl, target ast.Expr, args []ast.Expr) *overloadResolution { + + var argTypes []*types.Type + if target != nil { + argTypes = append(argTypes, c.getType(target)) + } + for _, arg := range args { + argTypes = append(argTypes, c.getType(arg)) + } + + var resultType *types.Type + var checkedRef *ast.ReferenceInfo + for _, overload := range fn.OverloadDecls() { + // Determine whether the overload is currently considered. + if c.env.isOverloadDisabled(overload.ID()) { + continue + } + + // Ensure the call style for the overload matches. + if (target == nil && overload.IsMemberFunction()) || + (target != nil && !overload.IsMemberFunction()) { + // not a compatible call style. + continue + } + + // Alternative type-checking behavior when the logical operators are compacted into + // variadic AST representations. + if fn.Name() == operators.LogicalAnd || fn.Name() == operators.LogicalOr { + checkedRef = ast.NewFunctionReference(overload.ID()) + for i, argType := range argTypes { + if !c.isAssignable(argType, types.BoolType) { + c.errors.typeMismatch( + args[i].ID(), + c.locationByID(args[i].ID()), + types.BoolType, + argType) + resultType = types.ErrorType + } + } + if isError(resultType) { + return nil + } + return newResolution(checkedRef, types.BoolType) + } + + overloadType := newFunctionType(overload.ResultType(), overload.ArgTypes()...) + typeParams := overload.TypeParams() + if len(typeParams) != 0 { + // Instantiate overload's type with fresh type variables. + substitutions := newMapping() + for _, typePar := range typeParams { + substitutions.add(types.NewTypeParamType(typePar), c.newTypeVar()) + } + overloadType = substitute(substitutions, overloadType, false) + } + + candidateArgTypes := overloadType.Parameters()[1:] + if c.isAssignableList(argTypes, candidateArgTypes) { + if checkedRef == nil { + checkedRef = ast.NewFunctionReference(overload.ID()) + } else { + checkedRef.AddOverload(overload.ID()) + } + + // First matching overload, determines result type. + fnResultType := substitute(c.mappings, overloadType.Parameters()[0], false) + if resultType == nil { + resultType = fnResultType + } else if !isDyn(resultType) && !fnResultType.IsExactType(resultType) { + resultType = types.DynType + } + } + } + + if resultType == nil { + for i, argType := range argTypes { + argTypes[i] = substitute(c.mappings, argType, true) + } + c.errors.noMatchingOverload(call.ID(), c.location(call), fn.Name(), argTypes, target != nil) + return nil + } + + return newResolution(checkedRef, resultType) +} + +func (c *checker) checkCreateList(e ast.Expr) { + create := e.AsList() + var elemsType *types.Type + optionalIndices := create.OptionalIndices() + optionals := make(map[int32]bool, len(optionalIndices)) + for _, optInd := range optionalIndices { + optionals[optInd] = true + } + for i, e := range create.Elements() { + c.check(e) + elemType := c.getType(e) + if optionals[int32(i)] { + var isOptional bool + elemType, isOptional = maybeUnwrapOptional(elemType) + if !isOptional && !isDyn(elemType) { + c.errors.typeMismatch(e.ID(), c.location(e), types.NewOptionalType(elemType), elemType) + } + } + elemsType = c.joinTypes(e, elemsType, elemType) + } + if elemsType == nil { + // If the list is empty, assign free type var to elem type. + elemsType = c.newTypeVar() + } + c.setType(e, types.NewListType(elemsType)) +} + +func (c *checker) checkCreateMap(e ast.Expr) { + mapVal := e.AsMap() + var mapKeyType *types.Type + var mapValueType *types.Type + for _, e := range mapVal.Entries() { + entry := e.AsMapEntry() + key := entry.Key() + c.check(key) + mapKeyType = c.joinTypes(key, mapKeyType, c.getType(key)) + + val := entry.Value() + c.check(val) + valType := c.getType(val) + if entry.IsOptional() { + var isOptional bool + valType, isOptional = maybeUnwrapOptional(valType) + if !isOptional && !isDyn(valType) { + c.errors.typeMismatch(val.ID(), c.location(val), types.NewOptionalType(valType), valType) + } + } + mapValueType = c.joinTypes(val, mapValueType, valType) + } + if mapKeyType == nil { + // If the map is empty, assign free type variables to typeKey and value type. + mapKeyType = c.newTypeVar() + mapValueType = c.newTypeVar() + } + c.setType(e, types.NewMapType(mapKeyType, mapValueType)) +} + +func (c *checker) checkCreateStruct(e ast.Expr) { + msgVal := e.AsStruct() + // Determine the type of the message. + resultType := types.ErrorType + ident := c.env.LookupIdent(msgVal.TypeName()) + if ident == nil { + c.errors.undeclaredReference( + e.ID(), c.location(e), c.env.container.Name(), msgVal.TypeName()) + c.setType(e, types.ErrorType) + return + } + // Ensure the type name is fully qualified in the AST. + typeName := ident.Name() + if msgVal.TypeName() != typeName { + e.SetKindCase(c.NewStruct(e.ID(), typeName, msgVal.Fields())) + msgVal = e.AsStruct() + } + c.setReference(e, ast.NewIdentReference(typeName, nil)) + identKind := ident.Type().Kind() + if identKind != types.ErrorKind { + if identKind != types.TypeKind { + c.errors.notAType(e.ID(), c.location(e), ident.Type().DeclaredTypeName()) + } else { + resultType = ident.Type().Parameters()[0] + // Backwards compatibility test between well-known types and message types + // In this context, the type is being instantiated by its protobuf name which + // is not ideal or recommended, but some users expect this to work. + if isWellKnownType(resultType) { + typeName = getWellKnownTypeName(resultType) + } else if resultType.Kind() == types.StructKind { + typeName = resultType.DeclaredTypeName() + } else { + c.errors.notAMessageType(e.ID(), c.location(e), resultType.DeclaredTypeName()) + resultType = types.ErrorType + } + } + } + c.setType(e, resultType) + + // Check the field initializers. + for _, f := range msgVal.Fields() { + field := f.AsStructField() + fieldName := field.Name() + value := field.Value() + c.check(value) + + fieldType := types.ErrorType + ft, found := c.lookupFieldType(f.ID(), typeName, fieldName) + if found { + fieldType = ft + } + + valType := c.getType(value) + if field.IsOptional() { + var isOptional bool + valType, isOptional = maybeUnwrapOptional(valType) + if !isOptional && !isDyn(valType) { + c.errors.typeMismatch(value.ID(), c.location(value), types.NewOptionalType(valType), valType) + } + } + if !c.isAssignable(fieldType, valType) { + c.errors.fieldTypeMismatch(f.ID(), c.locationByID(f.ID()), fieldName, fieldType, valType) + } + } +} + +func (c *checker) checkComprehension(e ast.Expr) { + comp := e.AsComprehension() + c.check(comp.IterRange()) + c.check(comp.AccuInit()) + rangeType := substitute(c.mappings, c.getType(comp.IterRange()), false) + + // Create a scope for the comprehension since it has a local accumulation variable. + // This scope will contain the accumulation variable used to compute the result. + accuType := c.getType(comp.AccuInit()) + c.env = c.env.enterScope() + c.env.AddIdents(decls.NewVariable(comp.AccuVar(), accuType)) + + var varType, var2Type *types.Type + switch rangeType.Kind() { + case types.ListKind: + // varType represents the list element type for one-variable comprehensions. + varType = rangeType.Parameters()[0] + if comp.HasIterVar2() { + // varType represents the list index (int) for two-variable comprehensions, + // and var2Type represents the list element type. + var2Type = varType + varType = types.IntType + } + case types.MapKind: + // varType represents the map entry key for all comprehension types. + varType = rangeType.Parameters()[0] + if comp.HasIterVar2() { + // var2Type represents the map entry value for two-variable comprehensions. + var2Type = rangeType.Parameters()[1] + } + case types.DynKind, types.ErrorKind, types.TypeParamKind: + // Set the range type to DYN to prevent assignment to a potentially incorrect type + // at a later point in type-checking. The isAssignable call will update the type + // substitutions for the type param under the covers. + c.isAssignable(types.DynType, rangeType) + // Set the range iteration variable to type DYN as well. + varType = types.DynType + default: + c.errors.notAComprehensionRange(comp.IterRange().ID(), c.location(comp.IterRange()), rangeType) + varType = types.ErrorType + } + + // Create a block scope for the loop. + c.env = c.env.enterScope() + c.env.AddIdents(decls.NewVariable(comp.IterVar(), varType)) + if comp.HasIterVar2() { + c.env.AddIdents(decls.NewVariable(comp.IterVar2(), var2Type)) + } + // Check the variable references in the condition and step. + c.check(comp.LoopCondition()) + c.assertType(comp.LoopCondition(), types.BoolType) + c.check(comp.LoopStep()) + c.assertType(comp.LoopStep(), accuType) + // Exit the loop's block scope before checking the result. + c.env = c.env.exitScope() + c.check(comp.Result()) + // Exit the comprehension scope. + c.env = c.env.exitScope() + c.setType(e, substitute(c.mappings, c.getType(comp.Result()), false)) +} + +// Checks compatibility of joined types, and returns the most general common type. +func (c *checker) joinTypes(e ast.Expr, previous, current *types.Type) *types.Type { + if previous == nil { + return current + } + if c.isAssignable(previous, current) { + return mostGeneral(previous, current) + } + if c.dynAggregateLiteralElementTypesEnabled() { + return types.DynType + } + c.errors.typeMismatch(e.ID(), c.location(e), previous, current) + return types.ErrorType +} + +func (c *checker) dynAggregateLiteralElementTypesEnabled() bool { + return c.env.aggLitElemType == dynElementType +} + +func (c *checker) newTypeVar() *types.Type { + id := c.freeTypeVarCounter + c.freeTypeVarCounter++ + return types.NewTypeParamType(fmt.Sprintf("_var%d", id)) +} + +func (c *checker) isAssignable(t1, t2 *types.Type) bool { + subs := isAssignable(c.mappings, t1, t2) + if subs != nil { + c.mappings = subs + return true + } + + return false +} + +func (c *checker) isAssignableList(l1, l2 []*types.Type) bool { + subs := isAssignableList(c.mappings, l1, l2) + if subs != nil { + c.mappings = subs + return true + } + + return false +} + +func maybeUnwrapString(e ast.Expr) (string, bool) { + switch e.Kind() { + case ast.LiteralKind: + literal := e.AsLiteral() + switch v := literal.(type) { + case types.String: + return string(v), true + } + } + return "", false +} + +func (c *checker) setType(e ast.Expr, t *types.Type) { + if old, found := c.TypeMap()[e.ID()]; found && !old.IsExactType(t) { + c.errors.incompatibleType(e.ID(), c.location(e), e, old, t) + return + } + c.SetType(e.ID(), t) +} + +func (c *checker) getType(e ast.Expr) *types.Type { + return c.TypeMap()[e.ID()] +} + +func (c *checker) setReference(e ast.Expr, r *ast.ReferenceInfo) { + if old, found := c.ReferenceMap()[e.ID()]; found && !old.Equals(r) { + c.errors.referenceRedefinition(e.ID(), c.location(e), e, old, r) + return + } + c.SetReference(e.ID(), r) +} + +func (c *checker) assertType(e ast.Expr, t *types.Type) { + if !c.isAssignable(t, c.getType(e)) { + c.errors.typeMismatch(e.ID(), c.location(e), t, c.getType(e)) + } +} + +type overloadResolution struct { + Type *types.Type + Reference *ast.ReferenceInfo +} + +func newResolution(r *ast.ReferenceInfo, t *types.Type) *overloadResolution { + return &overloadResolution{ + Reference: r, + Type: t, + } +} + +func (c *checker) location(e ast.Expr) common.Location { + return c.locationByID(e.ID()) +} + +func (c *checker) locationByID(id int64) common.Location { + return c.SourceInfo().GetStartLocation(id) +} + +func (c *checker) lookupFieldType(exprID int64, structType, fieldName string) (*types.Type, bool) { + if _, found := c.env.provider.FindStructType(structType); !found { + // This should not happen, anyway, report an error. + c.errors.unexpectedFailedResolution(exprID, c.locationByID(exprID), structType) + return nil, false + } + + if ft, found := c.env.provider.FindStructFieldType(structType, fieldName); found { + return ft.Type, found + } + + c.errors.undefinedField(exprID, c.locationByID(exprID), fieldName) + return nil, false +} + +func isWellKnownType(t *types.Type) bool { + switch t.Kind() { + case types.AnyKind, types.TimestampKind, types.DurationKind, types.DynKind, types.NullTypeKind: + return true + case types.BoolKind, types.BytesKind, types.DoubleKind, types.IntKind, types.StringKind, types.UintKind: + return t.IsAssignableType(types.NullType) + case types.ListKind: + return t.Parameters()[0] == types.DynType + case types.MapKind: + return t.Parameters()[0] == types.StringType && t.Parameters()[1] == types.DynType + } + return false +} + +func getWellKnownTypeName(t *types.Type) string { + if name, found := wellKnownTypes[t.Kind()]; found { + return name + } + return "" +} + +var ( + wellKnownTypes = map[types.Kind]string{ + types.AnyKind: "google.protobuf.Any", + types.BoolKind: "google.protobuf.BoolValue", + types.BytesKind: "google.protobuf.BytesValue", + types.DoubleKind: "google.protobuf.DoubleValue", + types.DurationKind: "google.protobuf.Duration", + types.DynKind: "google.protobuf.Value", + types.IntKind: "google.protobuf.Int64Value", + types.ListKind: "google.protobuf.ListValue", + types.NullTypeKind: "google.protobuf.NullValue", + types.MapKind: "google.protobuf.Struct", + types.StringKind: "google.protobuf.StringValue", + types.TimestampKind: "google.protobuf.Timestamp", + types.UintKind: "google.protobuf.UInt64Value", + } +) diff --git a/vendor/github.com/google/cel-go/checker/cost.go b/vendor/github.com/google/cel-go/checker/cost.go new file mode 100644 index 000000000..04244694d --- /dev/null +++ b/vendor/github.com/google/cel-go/checker/cost.go @@ -0,0 +1,705 @@ +// Copyright 2022 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 checker + +import ( + "math" + + "github.com/google/cel-go/common" + "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/overloads" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/parser" +) + +// WARNING: Any changes to cost calculations in this file require a corresponding change in interpreter/runtimecost.go + +// CostEstimator estimates the sizes of variable length input data and the costs of functions. +type CostEstimator interface { + // EstimateSize returns a SizeEstimate for the given AstNode, or nil if + // the estimator has no estimate to provide. The size is equivalent to the result of the CEL `size()` function: + // length of strings and bytes, number of map entries or number of list items. + // EstimateSize is only called for AstNodes where + // CEL does not know the size; EstimateSize is not called for values defined inline in CEL where the size + // is already obvious to CEL. + EstimateSize(element AstNode) *SizeEstimate + // EstimateCallCost returns the estimated cost of an invocation, or nil if + // the estimator has no estimate to provide. + EstimateCallCost(function, overloadID string, target *AstNode, args []AstNode) *CallEstimate +} + +// CallEstimate includes a CostEstimate for the call, and an optional estimate of the result object size. +// The ResultSize should only be provided if the call results in a map, list, string or bytes. +type CallEstimate struct { + CostEstimate + ResultSize *SizeEstimate +} + +// AstNode represents an AST node for the purpose of cost estimations. +type AstNode interface { + // Path returns a field path through the provided type declarations to the type of the AstNode, or nil if the AstNode does not + // represent type directly reachable from the provided type declarations. + // The first path element is a variable. All subsequent path elements are one of: field name, '@items', '@keys', '@values'. + Path() []string + // Type returns the deduced type of the AstNode. + Type() *types.Type + // Expr returns the expression of the AstNode. + Expr() ast.Expr + // ComputedSize returns a size estimate of the AstNode derived from information available in the CEL expression. + // For constants and inline list and map declarations, the exact size is returned. For concatenated list, strings + // and bytes, the size is derived from the size estimates of the operands. nil is returned if there is no + // computed size available. + ComputedSize() *SizeEstimate +} + +type astNode struct { + path []string + t *types.Type + expr ast.Expr + derivedSize *SizeEstimate +} + +func (e astNode) Path() []string { + return e.path +} + +func (e astNode) Type() *types.Type { + return e.t +} + +func (e astNode) Expr() ast.Expr { + return e.expr +} + +func (e astNode) ComputedSize() *SizeEstimate { + if e.derivedSize != nil { + return e.derivedSize + } + var v uint64 + switch e.expr.Kind() { + case ast.LiteralKind: + switch ck := e.expr.AsLiteral().(type) { + case types.String: + // converting to runes here is an O(n) operation, but + // this is consistent with how size is computed at runtime, + // and how the language definition defines string size + v = uint64(len([]rune(ck))) + case types.Bytes: + v = uint64(len(ck)) + case types.Bool, types.Double, types.Duration, + types.Int, types.Timestamp, types.Uint, + types.Null: + v = uint64(1) + default: + return nil + } + case ast.ListKind: + v = uint64(e.expr.AsList().Size()) + case ast.MapKind: + v = uint64(e.expr.AsMap().Size()) + default: + return nil + } + + return &SizeEstimate{Min: v, Max: v} +} + +// SizeEstimate represents an estimated size of a variable length string, bytes, map or list. +type SizeEstimate struct { + Min, Max uint64 +} + +// Add adds to another SizeEstimate and returns the sum. +// If add would result in an uint64 overflow, the result is math.MaxUint64. +func (se SizeEstimate) Add(sizeEstimate SizeEstimate) SizeEstimate { + return SizeEstimate{ + addUint64NoOverflow(se.Min, sizeEstimate.Min), + addUint64NoOverflow(se.Max, sizeEstimate.Max), + } +} + +// Multiply multiplies by another SizeEstimate and returns the product. +// If multiply would result in an uint64 overflow, the result is math.MaxUint64. +func (se SizeEstimate) Multiply(sizeEstimate SizeEstimate) SizeEstimate { + return SizeEstimate{ + multiplyUint64NoOverflow(se.Min, sizeEstimate.Min), + multiplyUint64NoOverflow(se.Max, sizeEstimate.Max), + } +} + +// MultiplyByCostFactor multiplies a SizeEstimate by a cost factor and returns the CostEstimate with the +// nearest integer of the result, rounded up. +func (se SizeEstimate) MultiplyByCostFactor(costPerUnit float64) CostEstimate { + return CostEstimate{ + multiplyByCostFactor(se.Min, costPerUnit), + multiplyByCostFactor(se.Max, costPerUnit), + } +} + +// MultiplyByCost multiplies by the cost and returns the product. +// If multiply would result in an uint64 overflow, the result is math.MaxUint64. +func (se SizeEstimate) MultiplyByCost(cost CostEstimate) CostEstimate { + return CostEstimate{ + multiplyUint64NoOverflow(se.Min, cost.Min), + multiplyUint64NoOverflow(se.Max, cost.Max), + } +} + +// Union returns a SizeEstimate that encompasses both input the SizeEstimate. +func (se SizeEstimate) Union(size SizeEstimate) SizeEstimate { + result := se + if size.Min < result.Min { + result.Min = size.Min + } + if size.Max > result.Max { + result.Max = size.Max + } + return result +} + +// CostEstimate represents an estimated cost range and provides add and multiply operations +// that do not overflow. +type CostEstimate struct { + Min, Max uint64 +} + +// Add adds the costs and returns the sum. +// If add would result in an uint64 overflow for the min or max, the value is set to math.MaxUint64. +func (ce CostEstimate) Add(cost CostEstimate) CostEstimate { + return CostEstimate{ + addUint64NoOverflow(ce.Min, cost.Min), + addUint64NoOverflow(ce.Max, cost.Max), + } +} + +// Multiply multiplies by the cost and returns the product. +// If multiply would result in an uint64 overflow, the result is math.MaxUint64. +func (ce CostEstimate) Multiply(cost CostEstimate) CostEstimate { + return CostEstimate{ + multiplyUint64NoOverflow(ce.Min, cost.Min), + multiplyUint64NoOverflow(ce.Max, cost.Max), + } +} + +// MultiplyByCostFactor multiplies a CostEstimate by a cost factor and returns the CostEstimate with the +// nearest integer of the result, rounded up. +func (ce CostEstimate) MultiplyByCostFactor(costPerUnit float64) CostEstimate { + return CostEstimate{ + multiplyByCostFactor(ce.Min, costPerUnit), + multiplyByCostFactor(ce.Max, costPerUnit), + } +} + +// Union returns a CostEstimate that encompasses both input the CostEstimates. +func (ce CostEstimate) Union(size CostEstimate) CostEstimate { + result := ce + if size.Min < result.Min { + result.Min = size.Min + } + if size.Max > result.Max { + result.Max = size.Max + } + return result +} + +// addUint64NoOverflow adds non-negative ints. If the result is exceeds math.MaxUint64, math.MaxUint64 +// is returned. +func addUint64NoOverflow(x, y uint64) uint64 { + if y > 0 && x > math.MaxUint64-y { + return math.MaxUint64 + } + return x + y +} + +// multiplyUint64NoOverflow multiplies non-negative ints. If the result is exceeds math.MaxUint64, math.MaxUint64 +// is returned. +func multiplyUint64NoOverflow(x, y uint64) uint64 { + if y != 0 && x > math.MaxUint64/y { + return math.MaxUint64 + } + return x * y +} + +// multiplyByFactor multiplies an integer by a cost factor float and returns the nearest integer value, rounded up. +func multiplyByCostFactor(x uint64, y float64) uint64 { + xFloat := float64(x) + if xFloat > 0 && y > 0 && xFloat > math.MaxUint64/y { + return math.MaxUint64 + } + ceil := math.Ceil(xFloat * y) + if ceil >= doubleTwoTo64 { + return math.MaxUint64 + } + return uint64(ceil) +} + +var ( + selectAndIdentCost = CostEstimate{Min: common.SelectAndIdentCost, Max: common.SelectAndIdentCost} + constCost = CostEstimate{Min: common.ConstCost, Max: common.ConstCost} + + createListBaseCost = CostEstimate{Min: common.ListCreateBaseCost, Max: common.ListCreateBaseCost} + createMapBaseCost = CostEstimate{Min: common.MapCreateBaseCost, Max: common.MapCreateBaseCost} + createMessageBaseCost = CostEstimate{Min: common.StructCreateBaseCost, Max: common.StructCreateBaseCost} +) + +type coster struct { + // exprPath maps from Expr Id to field path. + exprPath map[int64][]string + // iterRanges tracks the iterRange of each iterVar. + iterRanges iterRangeScopes + // computedSizes tracks the computed sizes of call results. + computedSizes map[int64]SizeEstimate + checkedAST *ast.AST + estimator CostEstimator + overloadEstimators map[string]FunctionEstimator + // presenceTestCost will either be a zero or one based on whether has() macros count against cost computations. + presenceTestCost CostEstimate +} + +// Use a stack of iterVar -> iterRange Expr Ids to handle shadowed variable names. +type iterRangeScopes map[string][]int64 + +func (vs iterRangeScopes) push(varName string, expr ast.Expr) { + vs[varName] = append(vs[varName], expr.ID()) +} + +func (vs iterRangeScopes) pop(varName string) { + varStack := vs[varName] + vs[varName] = varStack[:len(varStack)-1] +} + +func (vs iterRangeScopes) peek(varName string) (int64, bool) { + varStack := vs[varName] + if len(varStack) > 0 { + return varStack[len(varStack)-1], true + } + return 0, false +} + +// CostOption configures flags which affect cost computations. +type CostOption func(*coster) error + +// PresenceTestHasCost determines whether presence testing has a cost of one or zero. +// +// Defaults to presence test has a cost of one. +func PresenceTestHasCost(hasCost bool) CostOption { + return func(c *coster) error { + if hasCost { + c.presenceTestCost = selectAndIdentCost + return nil + } + c.presenceTestCost = CostEstimate{Min: 0, Max: 0} + return nil + } +} + +// FunctionEstimator provides a CallEstimate given the target and arguments for a specific function, overload pair. +type FunctionEstimator func(estimator CostEstimator, target *AstNode, args []AstNode) *CallEstimate + +// OverloadCostEstimate binds a FunctionCoster to a specific function overload ID. +// +// When a OverloadCostEstimate is provided, it will override the cost calculation of the CostEstimator provided to +// the Cost() call. +func OverloadCostEstimate(overloadID string, functionCoster FunctionEstimator) CostOption { + return func(c *coster) error { + c.overloadEstimators[overloadID] = functionCoster + return nil + } +} + +// Cost estimates the cost of the parsed and type checked CEL expression. +func Cost(checked *ast.AST, estimator CostEstimator, opts ...CostOption) (CostEstimate, error) { + c := &coster{ + checkedAST: checked, + estimator: estimator, + overloadEstimators: map[string]FunctionEstimator{}, + exprPath: map[int64][]string{}, + iterRanges: map[string][]int64{}, + computedSizes: map[int64]SizeEstimate{}, + presenceTestCost: CostEstimate{Min: 1, Max: 1}, + } + for _, opt := range opts { + err := opt(c) + if err != nil { + return CostEstimate{}, err + } + } + return c.cost(checked.Expr()), nil +} + +func (c *coster) cost(e ast.Expr) CostEstimate { + if e == nil { + return CostEstimate{} + } + var cost CostEstimate + switch e.Kind() { + case ast.LiteralKind: + cost = constCost + case ast.IdentKind: + cost = c.costIdent(e) + case ast.SelectKind: + cost = c.costSelect(e) + case ast.CallKind: + cost = c.costCall(e) + case ast.ListKind: + cost = c.costCreateList(e) + case ast.MapKind: + cost = c.costCreateMap(e) + case ast.StructKind: + cost = c.costCreateStruct(e) + case ast.ComprehensionKind: + cost = c.costComprehension(e) + default: + return CostEstimate{} + } + return cost +} + +func (c *coster) costIdent(e ast.Expr) CostEstimate { + identName := e.AsIdent() + // build and track the field path + if iterRange, ok := c.iterRanges.peek(identName); ok { + switch c.checkedAST.GetType(iterRange).Kind() { + case types.ListKind: + c.addPath(e, append(c.exprPath[iterRange], "@items")) + case types.MapKind: + c.addPath(e, append(c.exprPath[iterRange], "@keys")) + } + } else { + c.addPath(e, []string{identName}) + } + + return selectAndIdentCost +} + +func (c *coster) costSelect(e ast.Expr) CostEstimate { + sel := e.AsSelect() + var sum CostEstimate + if sel.IsTestOnly() { + // recurse, but do not add any cost + // this is equivalent to how evalTestOnly increments the runtime cost counter + // but does not add any additional cost for the qualifier, except here we do + // the reverse (ident adds cost) + sum = sum.Add(c.presenceTestCost) + sum = sum.Add(c.cost(sel.Operand())) + return sum + } + sum = sum.Add(c.cost(sel.Operand())) + targetType := c.getType(sel.Operand()) + switch targetType.Kind() { + case types.MapKind, types.StructKind, types.TypeParamKind: + sum = sum.Add(selectAndIdentCost) + } + + // build and track the field path + c.addPath(e, append(c.getPath(sel.Operand()), sel.FieldName())) + + return sum +} + +func (c *coster) costCall(e ast.Expr) CostEstimate { + call := e.AsCall() + args := call.Args() + + var sum CostEstimate + + argTypes := make([]AstNode, len(args)) + argCosts := make([]CostEstimate, len(args)) + for i, arg := range args { + argCosts[i] = c.cost(arg) + argTypes[i] = c.newAstNode(arg) + } + + overloadIDs := c.checkedAST.GetOverloadIDs(e.ID()) + if len(overloadIDs) == 0 { + return CostEstimate{} + } + var targetType AstNode + if call.IsMemberFunction() { + sum = sum.Add(c.cost(call.Target())) + targetType = c.newAstNode(call.Target()) + } + // Pick a cost estimate range that covers all the overload cost estimation ranges + fnCost := CostEstimate{Min: uint64(math.MaxUint64), Max: 0} + var resultSize *SizeEstimate + for _, overload := range overloadIDs { + overloadCost := c.functionCost(call.FunctionName(), overload, &targetType, argTypes, argCosts) + fnCost = fnCost.Union(overloadCost.CostEstimate) + if overloadCost.ResultSize != nil { + if resultSize == nil { + resultSize = overloadCost.ResultSize + } else { + size := resultSize.Union(*overloadCost.ResultSize) + resultSize = &size + } + } + // build and track the field path for index operations + switch overload { + case overloads.IndexList: + if len(args) > 0 { + c.addPath(e, append(c.getPath(args[0]), "@items")) + } + case overloads.IndexMap: + if len(args) > 0 { + c.addPath(e, append(c.getPath(args[0]), "@values")) + } + } + } + if resultSize != nil { + c.computedSizes[e.ID()] = *resultSize + } + return sum.Add(fnCost) +} + +func (c *coster) costCreateList(e ast.Expr) CostEstimate { + create := e.AsList() + var sum CostEstimate + for _, e := range create.Elements() { + sum = sum.Add(c.cost(e)) + } + return sum.Add(createListBaseCost) +} + +func (c *coster) costCreateMap(e ast.Expr) CostEstimate { + mapVal := e.AsMap() + var sum CostEstimate + for _, ent := range mapVal.Entries() { + entry := ent.AsMapEntry() + sum = sum.Add(c.cost(entry.Key())) + sum = sum.Add(c.cost(entry.Value())) + } + return sum.Add(createMapBaseCost) +} + +func (c *coster) costCreateStruct(e ast.Expr) CostEstimate { + msgVal := e.AsStruct() + var sum CostEstimate + for _, ent := range msgVal.Fields() { + field := ent.AsStructField() + sum = sum.Add(c.cost(field.Value())) + } + return sum.Add(createMessageBaseCost) +} + +func (c *coster) costComprehension(e ast.Expr) CostEstimate { + comp := e.AsComprehension() + var sum CostEstimate + sum = sum.Add(c.cost(comp.IterRange())) + sum = sum.Add(c.cost(comp.AccuInit())) + + // Track the iterRange of each IterVar for field path construction + c.iterRanges.push(comp.IterVar(), comp.IterRange()) + loopCost := c.cost(comp.LoopCondition()) + stepCost := c.cost(comp.LoopStep()) + c.iterRanges.pop(comp.IterVar()) + sum = sum.Add(c.cost(comp.Result())) + rangeCnt := c.sizeEstimate(c.newAstNode(comp.IterRange())) + + c.computedSizes[e.ID()] = rangeCnt + + rangeCost := rangeCnt.MultiplyByCost(stepCost.Add(loopCost)) + sum = sum.Add(rangeCost) + + return sum +} + +func (c *coster) sizeEstimate(t AstNode) SizeEstimate { + if l := t.ComputedSize(); l != nil { + return *l + } + if l := c.estimator.EstimateSize(t); l != nil { + return *l + } + // return an estimate of 1 for return types of set + // lengths, since strings/bytes/more complex objects could be of + // variable length + if isScalar(t.Type()) { + // TODO: since the logic for size estimation is split between + // ComputedSize and isScalar, changing one will likely require changing + // the other, so they should be merged in the future if possible + return SizeEstimate{Min: 1, Max: 1} + } + return SizeEstimate{Min: 0, Max: math.MaxUint64} +} + +func (c *coster) functionCost(function, overloadID string, target *AstNode, args []AstNode, argCosts []CostEstimate) CallEstimate { + argCostSum := func() CostEstimate { + var sum CostEstimate + for _, a := range argCosts { + sum = sum.Add(a) + } + return sum + } + if len(c.overloadEstimators) != 0 { + if estimator, found := c.overloadEstimators[overloadID]; found { + if est := estimator(c.estimator, target, args); est != nil { + callEst := *est + return CallEstimate{CostEstimate: callEst.Add(argCostSum()), ResultSize: est.ResultSize} + } + } + } + if est := c.estimator.EstimateCallCost(function, overloadID, target, args); est != nil { + callEst := *est + return CallEstimate{CostEstimate: callEst.Add(argCostSum()), ResultSize: est.ResultSize} + } + switch overloadID { + // O(n) functions + case overloads.ExtFormatString: + if target != nil { + // ResultSize not calculated because we can't bound the max size. + return CallEstimate{CostEstimate: c.sizeEstimate(*target).MultiplyByCostFactor(common.StringTraversalCostFactor).Add(argCostSum())} + } + case overloads.StringToBytes: + if len(args) == 1 { + sz := c.sizeEstimate(args[0]) + // ResultSize max is when each char converts to 4 bytes. + return CallEstimate{CostEstimate: sz.MultiplyByCostFactor(common.StringTraversalCostFactor).Add(argCostSum()), ResultSize: &SizeEstimate{Min: sz.Min, Max: sz.Max * 4}} + } + case overloads.BytesToString: + if len(args) == 1 { + sz := c.sizeEstimate(args[0]) + // ResultSize min is when 4 bytes convert to 1 char. + return CallEstimate{CostEstimate: sz.MultiplyByCostFactor(common.StringTraversalCostFactor).Add(argCostSum()), ResultSize: &SizeEstimate{Min: sz.Min / 4, Max: sz.Max}} + } + case overloads.ExtQuoteString: + if len(args) == 1 { + sz := c.sizeEstimate(args[0]) + // ResultSize max is when each char is escaped. 2 quote chars always added. + return CallEstimate{CostEstimate: sz.MultiplyByCostFactor(common.StringTraversalCostFactor).Add(argCostSum()), ResultSize: &SizeEstimate{Min: sz.Min + 2, Max: sz.Max*2 + 2}} + } + case overloads.StartsWithString, overloads.EndsWithString: + if len(args) == 1 { + return CallEstimate{CostEstimate: c.sizeEstimate(args[0]).MultiplyByCostFactor(common.StringTraversalCostFactor).Add(argCostSum())} + } + case overloads.InList: + // If a list is composed entirely of constant values this is O(1), but we don't account for that here. + // We just assume all list containment checks are O(n). + if len(args) == 2 { + return CallEstimate{CostEstimate: c.sizeEstimate(args[1]).MultiplyByCostFactor(1).Add(argCostSum())} + } + // O(nm) functions + case overloads.MatchesString: + // https://swtch.com/~rsc/regexp/regexp1.html applies to RE2 implementation supported by CEL + if target != nil && len(args) == 1 { + // Add one to string length for purposes of cost calculation to prevent product of string and regex to be 0 + // in case where string is empty but regex is still expensive. + strCost := c.sizeEstimate(*target).Add(SizeEstimate{Min: 1, Max: 1}).MultiplyByCostFactor(common.StringTraversalCostFactor) + // We don't know how many expressions are in the regex, just the string length (a huge + // improvement here would be to somehow get a count the number of expressions in the regex or + // how many states are in the regex state machine and use that to measure regex cost). + // For now, we're making a guess that each expression in a regex is typically at least 4 chars + // in length. + regexCost := c.sizeEstimate(args[0]).MultiplyByCostFactor(common.RegexStringLengthCostFactor) + return CallEstimate{CostEstimate: strCost.Multiply(regexCost).Add(argCostSum())} + } + case overloads.ContainsString: + if target != nil && len(args) == 1 { + strCost := c.sizeEstimate(*target).MultiplyByCostFactor(common.StringTraversalCostFactor) + substrCost := c.sizeEstimate(args[0]).MultiplyByCostFactor(common.StringTraversalCostFactor) + return CallEstimate{CostEstimate: strCost.Multiply(substrCost).Add(argCostSum())} + } + case overloads.LogicalOr, overloads.LogicalAnd: + lhs := argCosts[0] + rhs := argCosts[1] + // min cost is min of LHS for short circuited && or || + argCost := CostEstimate{Min: lhs.Min, Max: lhs.Add(rhs).Max} + return CallEstimate{CostEstimate: argCost} + case overloads.Conditional: + size := c.sizeEstimate(args[1]).Union(c.sizeEstimate(args[2])) + conditionalCost := argCosts[0] + ifTrueCost := argCosts[1] + ifFalseCost := argCosts[2] + argCost := conditionalCost.Add(ifTrueCost.Union(ifFalseCost)) + return CallEstimate{CostEstimate: argCost, ResultSize: &size} + case overloads.AddString, overloads.AddBytes, overloads.AddList: + if len(args) == 2 { + lhsSize := c.sizeEstimate(args[0]) + rhsSize := c.sizeEstimate(args[1]) + resultSize := lhsSize.Add(rhsSize) + switch overloadID { + case overloads.AddList: + // list concatenation is O(1), but we handle it here to track size + return CallEstimate{CostEstimate: CostEstimate{Min: 1, Max: 1}.Add(argCostSum()), ResultSize: &resultSize} + default: + return CallEstimate{CostEstimate: resultSize.MultiplyByCostFactor(common.StringTraversalCostFactor).Add(argCostSum()), ResultSize: &resultSize} + } + } + case overloads.LessString, overloads.GreaterString, overloads.LessEqualsString, overloads.GreaterEqualsString, + overloads.LessBytes, overloads.GreaterBytes, overloads.LessEqualsBytes, overloads.GreaterEqualsBytes, + overloads.Equals, overloads.NotEquals: + lhsCost := c.sizeEstimate(args[0]) + rhsCost := c.sizeEstimate(args[1]) + min := uint64(0) + smallestMax := lhsCost.Max + if rhsCost.Max < smallestMax { + smallestMax = rhsCost.Max + } + if smallestMax > 0 { + min = 1 + } + // equality of 2 scalar values results in a cost of 1 + return CallEstimate{CostEstimate: CostEstimate{Min: min, Max: smallestMax}.MultiplyByCostFactor(common.StringTraversalCostFactor).Add(argCostSum())} + } + // O(1) functions + // See CostTracker.costCall for more details about O(1) cost calculations + + // Benchmarks suggest that most of the other operations take +/- 50% of a base cost unit + // which on an Intel xeon 2.20GHz CPU is 50ns. + return CallEstimate{CostEstimate: CostEstimate{Min: 1, Max: 1}.Add(argCostSum())} +} + +func (c *coster) getType(e ast.Expr) *types.Type { + return c.checkedAST.GetType(e.ID()) +} + +func (c *coster) getPath(e ast.Expr) []string { + return c.exprPath[e.ID()] +} + +func (c *coster) addPath(e ast.Expr, path []string) { + c.exprPath[e.ID()] = path +} + +func (c *coster) newAstNode(e ast.Expr) *astNode { + path := c.getPath(e) + if len(path) > 0 && path[0] == parser.AccumulatorName { + // only provide paths to root vars; omit accumulator vars + path = nil + } + var derivedSize *SizeEstimate + if size, ok := c.computedSizes[e.ID()]; ok { + derivedSize = &size + } + return &astNode{ + path: path, + t: c.getType(e), + expr: e, + derivedSize: derivedSize} +} + +// isScalar returns true if the given type is known to be of a constant size at +// compile time. isScalar will return false for strings (they are variable-width) +// in addition to protobuf.Any and protobuf.Value (their size is not knowable at compile time). +func isScalar(t *types.Type) bool { + switch t.Kind() { + case types.BoolKind, types.DoubleKind, types.DurationKind, types.IntKind, types.TimestampKind, types.UintKind: + return true + } + return false +} + +var ( + doubleTwoTo64 = math.Ldexp(1.0, 64) +) diff --git a/vendor/github.com/google/cel-go/checker/decls/BUILD.bazel b/vendor/github.com/google/cel-go/checker/decls/BUILD.bazel new file mode 100644 index 000000000..a6b0be292 --- /dev/null +++ b/vendor/github.com/google/cel-go/checker/decls/BUILD.bazel @@ -0,0 +1,19 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +package( + default_visibility = ["//visibility:public"], + licenses = ["notice"], # Apache 2.0 +) + +go_library( + name = "go_default_library", + srcs = [ + "decls.go", + ], + importpath = "github.com/google/cel-go/checker/decls", + deps = [ + "@org_golang_google_genproto_googleapis_api//expr/v1alpha1:go_default_library", + "@org_golang_google_protobuf//types/known/emptypb:go_default_library", + "@org_golang_google_protobuf//types/known/structpb:go_default_library", + ], +) diff --git a/vendor/github.com/google/cel-go/checker/decls/decls.go b/vendor/github.com/google/cel-go/checker/decls/decls.go new file mode 100644 index 000000000..c0e5de469 --- /dev/null +++ b/vendor/github.com/google/cel-go/checker/decls/decls.go @@ -0,0 +1,237 @@ +// Copyright 2018 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 decls provides helpers for creating variable and function declarations. +package decls + +import ( + exprpb "google.golang.org/genproto/googleapis/api/expr/v1alpha1" + emptypb "google.golang.org/protobuf/types/known/emptypb" + structpb "google.golang.org/protobuf/types/known/structpb" +) + +var ( + // Error type used to communicate issues during type-checking. + Error = &exprpb.Type{ + TypeKind: &exprpb.Type_Error{ + Error: &emptypb.Empty{}}} + + // Dyn is a top-type used to represent any value. + Dyn = &exprpb.Type{ + TypeKind: &exprpb.Type_Dyn{ + Dyn: &emptypb.Empty{}}} +) + +// Commonly used types. +var ( + Bool = NewPrimitiveType(exprpb.Type_BOOL) + Bytes = NewPrimitiveType(exprpb.Type_BYTES) + Double = NewPrimitiveType(exprpb.Type_DOUBLE) + Int = NewPrimitiveType(exprpb.Type_INT64) + Null = &exprpb.Type{ + TypeKind: &exprpb.Type_Null{ + Null: structpb.NullValue_NULL_VALUE}} + String = NewPrimitiveType(exprpb.Type_STRING) + Uint = NewPrimitiveType(exprpb.Type_UINT64) +) + +// Well-known types. +// TODO: Replace with an abstract type registry. +var ( + Any = NewWellKnownType(exprpb.Type_ANY) + Duration = NewWellKnownType(exprpb.Type_DURATION) + Timestamp = NewWellKnownType(exprpb.Type_TIMESTAMP) +) + +// NewAbstractType creates an abstract type declaration which references a proto +// message name and may also include type parameters. +func NewAbstractType(name string, paramTypes ...*exprpb.Type) *exprpb.Type { + return &exprpb.Type{ + TypeKind: &exprpb.Type_AbstractType_{ + AbstractType: &exprpb.Type_AbstractType{ + Name: name, + ParameterTypes: paramTypes}}} +} + +// NewOptionalType constructs an abstract type indicating that the parameterized type +// may be contained within the object. +func NewOptionalType(paramType *exprpb.Type) *exprpb.Type { + return NewAbstractType("optional_type", paramType) +} + +// NewFunctionType creates a function invocation contract, typically only used +// by type-checking steps after overload resolution. +func NewFunctionType(resultType *exprpb.Type, + argTypes ...*exprpb.Type) *exprpb.Type { + return &exprpb.Type{ + TypeKind: &exprpb.Type_Function{ + Function: &exprpb.Type_FunctionType{ + ResultType: resultType, + ArgTypes: argTypes}}} +} + +// NewFunction creates a named function declaration with one or more overloads. +func NewFunction(name string, + overloads ...*exprpb.Decl_FunctionDecl_Overload) *exprpb.Decl { + return &exprpb.Decl{ + Name: name, + DeclKind: &exprpb.Decl_Function{ + Function: &exprpb.Decl_FunctionDecl{ + Overloads: overloads}}} +} + +// NewIdent creates a named identifier declaration with an optional literal +// value. +// +// Literal values are typically only associated with enum identifiers. +// +// Deprecated: Use NewVar or NewConst instead. +func NewIdent(name string, t *exprpb.Type, v *exprpb.Constant) *exprpb.Decl { + return &exprpb.Decl{ + Name: name, + DeclKind: &exprpb.Decl_Ident{ + Ident: &exprpb.Decl_IdentDecl{ + Type: t, + Value: v}}} +} + +// NewConst creates a constant identifier with a CEL constant literal value. +func NewConst(name string, t *exprpb.Type, v *exprpb.Constant) *exprpb.Decl { + return NewIdent(name, t, v) +} + +// NewVar creates a variable identifier. +func NewVar(name string, t *exprpb.Type) *exprpb.Decl { + return NewIdent(name, t, nil) +} + +// NewInstanceOverload creates a instance function overload contract. +// First element of argTypes is instance. +func NewInstanceOverload(id string, argTypes []*exprpb.Type, + resultType *exprpb.Type) *exprpb.Decl_FunctionDecl_Overload { + return &exprpb.Decl_FunctionDecl_Overload{ + OverloadId: id, + ResultType: resultType, + Params: argTypes, + IsInstanceFunction: true} +} + +// NewListType generates a new list with elements of a certain type. +func NewListType(elem *exprpb.Type) *exprpb.Type { + return &exprpb.Type{ + TypeKind: &exprpb.Type_ListType_{ + ListType: &exprpb.Type_ListType{ + ElemType: elem}}} +} + +// NewMapType generates a new map with typed keys and values. +func NewMapType(key *exprpb.Type, value *exprpb.Type) *exprpb.Type { + return &exprpb.Type{ + TypeKind: &exprpb.Type_MapType_{ + MapType: &exprpb.Type_MapType{ + KeyType: key, + ValueType: value}}} +} + +// NewObjectType creates an object type for a qualified type name. +func NewObjectType(typeName string) *exprpb.Type { + return &exprpb.Type{ + TypeKind: &exprpb.Type_MessageType{ + MessageType: typeName}} +} + +// NewOverload creates a function overload declaration which contains a unique +// overload id as well as the expected argument and result types. Overloads +// must be aggregated within a Function declaration. +func NewOverload(id string, argTypes []*exprpb.Type, + resultType *exprpb.Type) *exprpb.Decl_FunctionDecl_Overload { + return &exprpb.Decl_FunctionDecl_Overload{ + OverloadId: id, + ResultType: resultType, + Params: argTypes, + IsInstanceFunction: false} +} + +// NewParameterizedInstanceOverload creates a parametric function instance overload type. +func NewParameterizedInstanceOverload(id string, + argTypes []*exprpb.Type, + resultType *exprpb.Type, + typeParams []string) *exprpb.Decl_FunctionDecl_Overload { + return &exprpb.Decl_FunctionDecl_Overload{ + OverloadId: id, + ResultType: resultType, + Params: argTypes, + TypeParams: typeParams, + IsInstanceFunction: true} +} + +// NewParameterizedOverload creates a parametric function overload type. +func NewParameterizedOverload(id string, + argTypes []*exprpb.Type, + resultType *exprpb.Type, + typeParams []string) *exprpb.Decl_FunctionDecl_Overload { + return &exprpb.Decl_FunctionDecl_Overload{ + OverloadId: id, + ResultType: resultType, + Params: argTypes, + TypeParams: typeParams, + IsInstanceFunction: false} +} + +// NewPrimitiveType creates a type for a primitive value. See the var declarations +// for Int, Uint, etc. +func NewPrimitiveType(primitive exprpb.Type_PrimitiveType) *exprpb.Type { + return &exprpb.Type{ + TypeKind: &exprpb.Type_Primitive{ + Primitive: primitive}} +} + +// NewTypeType creates a new type designating a type. +func NewTypeType(nested *exprpb.Type) *exprpb.Type { + if nested == nil { + // must set the nested field for a valid oneof option + nested = &exprpb.Type{} + } + return &exprpb.Type{ + TypeKind: &exprpb.Type_Type{ + Type: nested}} +} + +// NewTypeParamType creates a type corresponding to a named, contextual parameter. +func NewTypeParamType(name string) *exprpb.Type { + return &exprpb.Type{ + TypeKind: &exprpb.Type_TypeParam{ + TypeParam: name}} +} + +// NewWellKnownType creates a type corresponding to a protobuf well-known type +// value. +func NewWellKnownType(wellKnown exprpb.Type_WellKnownType) *exprpb.Type { + return &exprpb.Type{ + TypeKind: &exprpb.Type_WellKnown{ + WellKnown: wellKnown}} +} + +// NewWrapperType creates a wrapped primitive type instance. Wrapped types +// are roughly equivalent to a nullable, or optionally valued type. +func NewWrapperType(wrapped *exprpb.Type) *exprpb.Type { + primitive := wrapped.GetPrimitive() + if primitive == exprpb.Type_PRIMITIVE_TYPE_UNSPECIFIED { + // TODO: return an error + panic("Wrapped type must be a primitive") + } + return &exprpb.Type{ + TypeKind: &exprpb.Type_Wrapper{ + Wrapper: primitive}} +} diff --git a/vendor/github.com/google/cel-go/checker/env.go b/vendor/github.com/google/cel-go/checker/env.go new file mode 100644 index 000000000..d5ac05014 --- /dev/null +++ b/vendor/github.com/google/cel-go/checker/env.go @@ -0,0 +1,284 @@ +// Copyright 2018 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 checker + +import ( + "fmt" + "strings" + + "github.com/google/cel-go/common/containers" + "github.com/google/cel-go/common/decls" + "github.com/google/cel-go/common/overloads" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/parser" +) + +type aggregateLiteralElementType int + +const ( + dynElementType aggregateLiteralElementType = iota + homogenousElementType aggregateLiteralElementType = 1 << iota +) + +var ( + crossTypeNumericComparisonOverloads = map[string]struct{}{ + // double <-> int | uint + overloads.LessDoubleInt64: {}, + overloads.LessDoubleUint64: {}, + overloads.LessEqualsDoubleInt64: {}, + overloads.LessEqualsDoubleUint64: {}, + overloads.GreaterDoubleInt64: {}, + overloads.GreaterDoubleUint64: {}, + overloads.GreaterEqualsDoubleInt64: {}, + overloads.GreaterEqualsDoubleUint64: {}, + // int <-> double | uint + overloads.LessInt64Double: {}, + overloads.LessInt64Uint64: {}, + overloads.LessEqualsInt64Double: {}, + overloads.LessEqualsInt64Uint64: {}, + overloads.GreaterInt64Double: {}, + overloads.GreaterInt64Uint64: {}, + overloads.GreaterEqualsInt64Double: {}, + overloads.GreaterEqualsInt64Uint64: {}, + // uint <-> double | int + overloads.LessUint64Double: {}, + overloads.LessUint64Int64: {}, + overloads.LessEqualsUint64Double: {}, + overloads.LessEqualsUint64Int64: {}, + overloads.GreaterUint64Double: {}, + overloads.GreaterUint64Int64: {}, + overloads.GreaterEqualsUint64Double: {}, + overloads.GreaterEqualsUint64Int64: {}, + } +) + +// Env is the environment for type checking. +// +// The Env is comprised of a container, type provider, declarations, and other related objects +// which can be used to assist with type-checking. +type Env struct { + container *containers.Container + provider types.Provider + declarations *Scopes + aggLitElemType aggregateLiteralElementType + filteredOverloadIDs map[string]struct{} +} + +// NewEnv returns a new *Env with the given parameters. +func NewEnv(container *containers.Container, provider types.Provider, opts ...Option) (*Env, error) { + declarations := newScopes() + declarations.Push() + + envOptions := &options{} + for _, opt := range opts { + if err := opt(envOptions); err != nil { + return nil, err + } + } + aggLitElemType := dynElementType + if envOptions.homogeneousAggregateLiterals { + aggLitElemType = homogenousElementType + } + filteredOverloadIDs := crossTypeNumericComparisonOverloads + if envOptions.crossTypeNumericComparisons { + filteredOverloadIDs = make(map[string]struct{}) + } + if envOptions.validatedDeclarations != nil { + declarations = envOptions.validatedDeclarations.Copy() + } + return &Env{ + container: container, + provider: provider, + declarations: declarations, + aggLitElemType: aggLitElemType, + filteredOverloadIDs: filteredOverloadIDs, + }, nil +} + +// AddIdents configures the checker with a list of variable declarations. +// +// If there are overlapping declarations, the method will error. +func (e *Env) AddIdents(declarations ...*decls.VariableDecl) error { + errMsgs := make([]errorMsg, 0) + for _, d := range declarations { + errMsgs = append(errMsgs, e.addIdent(d)) + } + return formatError(errMsgs) +} + +// AddFunctions configures the checker with a list of function declarations. +// +// If there are overlapping declarations, the method will error. +func (e *Env) AddFunctions(declarations ...*decls.FunctionDecl) error { + errMsgs := make([]errorMsg, 0) + for _, d := range declarations { + errMsgs = append(errMsgs, e.setFunction(d)...) + } + return formatError(errMsgs) +} + +// LookupIdent returns a Decl proto for typeName as an identifier in the Env. +// Returns nil if no such identifier is found in the Env. +func (e *Env) LookupIdent(name string) *decls.VariableDecl { + for _, candidate := range e.container.ResolveCandidateNames(name) { + if ident := e.declarations.FindIdent(candidate); ident != nil { + return ident + } + + // Next try to import the name as a reference to a message type. If found, + // the declaration is added to the outest (global) scope of the + // environment, so next time we can access it faster. + if t, found := e.provider.FindStructType(candidate); found { + decl := decls.NewVariable(candidate, t) + e.declarations.AddIdent(decl) + return decl + } + + if i, found := e.provider.FindIdent(candidate); found { + if t, ok := i.(*types.Type); ok { + decl := decls.NewVariable(candidate, types.NewTypeTypeWithParam(t)) + e.declarations.AddIdent(decl) + return decl + } + } + + // Next try to import this as an enum value by splitting the name in a type prefix and + // the enum inside. + if enumValue := e.provider.EnumValue(candidate); enumValue.Type() != types.ErrType { + decl := decls.NewConstant(candidate, types.IntType, enumValue) + e.declarations.AddIdent(decl) + return decl + } + } + return nil +} + +// LookupFunction returns a Decl proto for typeName as a function in env. +// Returns nil if no such function is found in env. +func (e *Env) LookupFunction(name string) *decls.FunctionDecl { + for _, candidate := range e.container.ResolveCandidateNames(name) { + if fn := e.declarations.FindFunction(candidate); fn != nil { + return fn + } + } + return nil +} + +// setFunction adds the function Decl to the Env. +// Adds a function decl if one doesn't already exist, then adds all overloads from the Decl. +// If overload overlaps with an existing overload, adds to the errors in the Env instead. +func (e *Env) setFunction(fn *decls.FunctionDecl) []errorMsg { + errMsgs := make([]errorMsg, 0) + current := e.declarations.FindFunction(fn.Name()) + if current != nil { + var err error + current, err = current.Merge(fn) + if err != nil { + return append(errMsgs, errorMsg(err.Error())) + } + } else { + current = fn + } + for _, overload := range current.OverloadDecls() { + for _, macro := range parser.AllMacros { + if macro.Function() == current.Name() && + macro.IsReceiverStyle() == overload.IsMemberFunction() && + macro.ArgCount() == len(overload.ArgTypes()) { + errMsgs = append(errMsgs, overlappingMacroError(current.Name(), macro.ArgCount())) + } + } + if len(errMsgs) > 0 { + return errMsgs + } + } + e.declarations.SetFunction(current) + return errMsgs +} + +// addIdent adds the Decl to the declarations in the Env. +// Returns a non-empty errorMsg if the identifier is already declared in the scope. +func (e *Env) addIdent(decl *decls.VariableDecl) errorMsg { + current := e.declarations.FindIdentInScope(decl.Name()) + if current != nil { + if current.DeclarationIsEquivalent(decl) { + return "" + } + return overlappingIdentifierError(decl.Name()) + } + e.declarations.AddIdent(decl) + return "" +} + +// isOverloadDisabled returns whether the overloadID is disabled in the current environment. +func (e *Env) isOverloadDisabled(overloadID string) bool { + _, found := e.filteredOverloadIDs[overloadID] + return found +} + +// validatedDeclarations returns a reference to the validated variable and function declaration scope stack. +// must be copied before use. +func (e *Env) validatedDeclarations() *Scopes { + return e.declarations +} + +// enterScope creates a new Env instance with a new innermost declaration scope. +func (e *Env) enterScope() *Env { + childDecls := e.declarations.Push() + return &Env{ + declarations: childDecls, + container: e.container, + provider: e.provider, + aggLitElemType: e.aggLitElemType, + } +} + +// exitScope creates a new Env instance with the nearest outer declaration scope. +func (e *Env) exitScope() *Env { + parentDecls := e.declarations.Pop() + return &Env{ + declarations: parentDecls, + container: e.container, + provider: e.provider, + aggLitElemType: e.aggLitElemType, + } +} + +// errorMsg is a type alias meant to represent error-based return values which +// may be accumulated into an error at a later point in execution. +type errorMsg string + +func overlappingIdentifierError(name string) errorMsg { + return errorMsg(fmt.Sprintf("overlapping identifier for name '%s'", name)) +} + +func overlappingMacroError(name string, argCount int) errorMsg { + return errorMsg(fmt.Sprintf( + "overlapping macro for name '%s' with %d args", name, argCount)) +} + +func formatError(errMsgs []errorMsg) error { + errStrs := make([]string, 0) + if len(errMsgs) > 0 { + for i := 0; i < len(errMsgs); i++ { + if errMsgs[i] != "" { + errStrs = append(errStrs, string(errMsgs[i])) + } + } + } + if len(errStrs) > 0 { + return fmt.Errorf("%s", strings.Join(errStrs, "\n")) + } + return nil +} diff --git a/vendor/github.com/google/cel-go/checker/errors.go b/vendor/github.com/google/cel-go/checker/errors.go new file mode 100644 index 000000000..8b3bf0b8b --- /dev/null +++ b/vendor/github.com/google/cel-go/checker/errors.go @@ -0,0 +1,88 @@ +// Copyright 2018 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 checker + +import ( + "github.com/google/cel-go/common" + "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/types" +) + +// typeErrors is a specialization of Errors. +type typeErrors struct { + errs *common.Errors +} + +func (e *typeErrors) fieldTypeMismatch(id int64, l common.Location, name string, field, value *types.Type) { + e.errs.ReportErrorAtID(id, l, "expected type of field '%s' is '%s' but provided type is '%s'", + name, FormatCELType(field), FormatCELType(value)) +} + +func (e *typeErrors) incompatibleType(id int64, l common.Location, ex ast.Expr, prev, next *types.Type) { + e.errs.ReportErrorAtID(id, l, + "incompatible type already exists for expression: %v(%d) old:%v, new:%v", ex, ex.ID(), prev, next) +} + +func (e *typeErrors) noMatchingOverload(id int64, l common.Location, name string, args []*types.Type, isInstance bool) { + signature := formatFunctionDeclType(nil, args, isInstance) + e.errs.ReportErrorAtID(id, l, "found no matching overload for '%s' applied to '%s'", name, signature) +} + +func (e *typeErrors) notAComprehensionRange(id int64, l common.Location, t *types.Type) { + e.errs.ReportErrorAtID(id, l, "expression of type '%s' cannot be range of a comprehension (must be list, map, or dynamic)", + FormatCELType(t)) +} + +func (e *typeErrors) notAnOptionalFieldSelection(id int64, l common.Location, field ast.Expr) { + e.errs.ReportErrorAtID(id, l, "unsupported optional field selection: %v", field) +} + +func (e *typeErrors) notAType(id int64, l common.Location, typeName string) { + e.errs.ReportErrorAtID(id, l, "'%s' is not a type", typeName) +} + +func (e *typeErrors) notAMessageType(id int64, l common.Location, typeName string) { + e.errs.ReportErrorAtID(id, l, "'%s' is not a message type", typeName) +} + +func (e *typeErrors) referenceRedefinition(id int64, l common.Location, ex ast.Expr, prev, next *ast.ReferenceInfo) { + e.errs.ReportErrorAtID(id, l, + "reference already exists for expression: %v(%d) old:%v, new:%v", ex, ex.ID(), prev, next) +} + +func (e *typeErrors) typeDoesNotSupportFieldSelection(id int64, l common.Location, t *types.Type) { + e.errs.ReportErrorAtID(id, l, "type '%s' does not support field selection", FormatCELType(t)) +} + +func (e *typeErrors) typeMismatch(id int64, l common.Location, expected, actual *types.Type) { + e.errs.ReportErrorAtID(id, l, "expected type '%s' but found '%s'", + FormatCELType(expected), FormatCELType(actual)) +} + +func (e *typeErrors) undefinedField(id int64, l common.Location, field string) { + e.errs.ReportErrorAtID(id, l, "undefined field '%s'", field) +} + +func (e *typeErrors) undeclaredReference(id int64, l common.Location, container string, name string) { + e.errs.ReportErrorAtID(id, l, "undeclared reference to '%s' (in container '%s')", name, container) +} + +func (e *typeErrors) unexpectedFailedResolution(id int64, l common.Location, typeName string) { + e.errs.ReportErrorAtID(id, l, "unexpected failed resolution of '%s'", typeName) +} + +func (e *typeErrors) unexpectedASTType(id int64, l common.Location, kind, typeName string) { + e.errs.ReportErrorAtID(id, l, "unexpected %s type: %v", kind, typeName) +} diff --git a/vendor/github.com/google/cel-go/checker/format.go b/vendor/github.com/google/cel-go/checker/format.go new file mode 100644 index 000000000..95842905e --- /dev/null +++ b/vendor/github.com/google/cel-go/checker/format.go @@ -0,0 +1,216 @@ +// 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 checker + +import ( + "fmt" + "strings" + + chkdecls "github.com/google/cel-go/checker/decls" + "github.com/google/cel-go/common/types" + + exprpb "google.golang.org/genproto/googleapis/api/expr/v1alpha1" +) + +const ( + kindUnknown = iota + 1 + kindError + kindFunction + kindDyn + kindPrimitive + kindWellKnown + kindWrapper + kindNull + kindAbstract + kindType + kindList + kindMap + kindObject + kindTypeParam +) + +// FormatCheckedType converts a type message into a string representation. +func FormatCheckedType(t *exprpb.Type) string { + switch kindOf(t) { + case kindDyn: + return "dyn" + case kindFunction: + return formatFunctionExprType(t.GetFunction().GetResultType(), + t.GetFunction().GetArgTypes(), + false) + case kindList: + return fmt.Sprintf("list(%s)", FormatCheckedType(t.GetListType().GetElemType())) + case kindObject: + return t.GetMessageType() + case kindMap: + return fmt.Sprintf("map(%s, %s)", + FormatCheckedType(t.GetMapType().GetKeyType()), + FormatCheckedType(t.GetMapType().GetValueType())) + case kindNull: + return "null" + case kindPrimitive: + switch t.GetPrimitive() { + case exprpb.Type_UINT64: + return "uint" + case exprpb.Type_INT64: + return "int" + } + return strings.Trim(strings.ToLower(t.GetPrimitive().String()), " ") + case kindType: + if t.GetType() == nil || t.GetType().GetTypeKind() == nil { + return "type" + } + return fmt.Sprintf("type(%s)", FormatCheckedType(t.GetType())) + case kindWellKnown: + switch t.GetWellKnown() { + case exprpb.Type_ANY: + return "any" + case exprpb.Type_DURATION: + return "duration" + case exprpb.Type_TIMESTAMP: + return "timestamp" + } + case kindWrapper: + return fmt.Sprintf("wrapper(%s)", + FormatCheckedType(chkdecls.NewPrimitiveType(t.GetWrapper()))) + case kindError: + return "!error!" + case kindTypeParam: + return t.GetTypeParam() + case kindAbstract: + at := t.GetAbstractType() + params := at.GetParameterTypes() + paramStrs := make([]string, len(params)) + for i, p := range params { + paramStrs[i] = FormatCheckedType(p) + } + return fmt.Sprintf("%s(%s)", at.GetName(), strings.Join(paramStrs, ", ")) + } + return t.String() +} + +type formatter func(any) string + +// FormatCELType formats a types.Type value to a string representation. +// +// The type formatting is identical to FormatCheckedType. +func FormatCELType(t any) string { + dt := t.(*types.Type) + switch dt.Kind() { + case types.AnyKind: + return "any" + case types.DurationKind: + return "duration" + case types.ErrorKind: + return "!error!" + case types.NullTypeKind: + return "null" + case types.TimestampKind: + return "timestamp" + case types.TypeParamKind: + return dt.TypeName() + case types.OpaqueKind: + if dt.TypeName() == "function" { + // There is no explicit function type in the new types representation, so information like + // whether the function is a member function is absent. + return formatFunctionDeclType(dt.Parameters()[0], dt.Parameters()[1:], false) + } + case types.UnspecifiedKind: + return "" + } + if len(dt.Parameters()) == 0 { + return dt.DeclaredTypeName() + } + paramTypeNames := make([]string, 0, len(dt.Parameters())) + for _, p := range dt.Parameters() { + paramTypeNames = append(paramTypeNames, FormatCELType(p)) + } + return fmt.Sprintf("%s(%s)", dt.TypeName(), strings.Join(paramTypeNames, ", ")) +} + +func formatExprType(t any) string { + if t == nil { + return "" + } + return FormatCheckedType(t.(*exprpb.Type)) +} + +func formatFunctionExprType(resultType *exprpb.Type, argTypes []*exprpb.Type, isInstance bool) string { + return formatFunctionInternal[*exprpb.Type](resultType, argTypes, isInstance, formatExprType) +} + +func formatFunctionDeclType(resultType *types.Type, argTypes []*types.Type, isInstance bool) string { + return formatFunctionInternal[*types.Type](resultType, argTypes, isInstance, FormatCELType) +} + +func formatFunctionInternal[T any](resultType T, argTypes []T, isInstance bool, format formatter) string { + result := "" + if isInstance { + target := argTypes[0] + argTypes = argTypes[1:] + result += format(target) + result += "." + } + result += "(" + for i, arg := range argTypes { + if i > 0 { + result += ", " + } + result += format(arg) + } + result += ")" + rt := format(resultType) + if rt != "" { + result += " -> " + result += rt + } + return result +} + +// kindOf returns the kind of the type as defined in the checked.proto. +func kindOf(t *exprpb.Type) int { + if t == nil || t.TypeKind == nil { + return kindUnknown + } + switch t.GetTypeKind().(type) { + case *exprpb.Type_Error: + return kindError + case *exprpb.Type_Function: + return kindFunction + case *exprpb.Type_Dyn: + return kindDyn + case *exprpb.Type_Primitive: + return kindPrimitive + case *exprpb.Type_WellKnown: + return kindWellKnown + case *exprpb.Type_Wrapper: + return kindWrapper + case *exprpb.Type_Null: + return kindNull + case *exprpb.Type_Type: + return kindType + case *exprpb.Type_ListType_: + return kindList + case *exprpb.Type_MapType_: + return kindMap + case *exprpb.Type_MessageType: + return kindObject + case *exprpb.Type_TypeParam: + return kindTypeParam + case *exprpb.Type_AbstractType_: + return kindAbstract + } + return kindUnknown +} diff --git a/vendor/github.com/google/cel-go/checker/mapping.go b/vendor/github.com/google/cel-go/checker/mapping.go new file mode 100644 index 000000000..8163a908a --- /dev/null +++ b/vendor/github.com/google/cel-go/checker/mapping.go @@ -0,0 +1,49 @@ +// Copyright 2018 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 checker + +import ( + "github.com/google/cel-go/common/types" +) + +type mapping struct { + mapping map[string]*types.Type +} + +func newMapping() *mapping { + return &mapping{ + mapping: make(map[string]*types.Type), + } +} + +func (m *mapping) add(from, to *types.Type) { + m.mapping[FormatCELType(from)] = to +} + +func (m *mapping) find(from *types.Type) (*types.Type, bool) { + if r, found := m.mapping[FormatCELType(from)]; found { + return r, found + } + return nil, false +} + +func (m *mapping) copy() *mapping { + c := newMapping() + + for k, v := range m.mapping { + c.mapping[k] = v + } + return c +} diff --git a/vendor/github.com/google/cel-go/checker/options.go b/vendor/github.com/google/cel-go/checker/options.go new file mode 100644 index 000000000..0560c3813 --- /dev/null +++ b/vendor/github.com/google/cel-go/checker/options.go @@ -0,0 +1,42 @@ +// Copyright 2022 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 checker + +type options struct { + crossTypeNumericComparisons bool + homogeneousAggregateLiterals bool + validatedDeclarations *Scopes +} + +// Option is a functional option for configuring the type-checker +type Option func(*options) error + +// CrossTypeNumericComparisons toggles type-checker support for numeric comparisons across type +// See https://github.com/google/cel-spec/wiki/proposal-210 for more details. +func CrossTypeNumericComparisons(enabled bool) Option { + return func(opts *options) error { + opts.crossTypeNumericComparisons = enabled + return nil + } +} + +// ValidatedDeclarations provides a references to validated declarations which will be copied +// into new checker instances. +func ValidatedDeclarations(env *Env) Option { + return func(opts *options) error { + opts.validatedDeclarations = env.validatedDeclarations() + return nil + } +} diff --git a/vendor/github.com/google/cel-go/checker/printer.go b/vendor/github.com/google/cel-go/checker/printer.go new file mode 100644 index 000000000..7a3984f02 --- /dev/null +++ b/vendor/github.com/google/cel-go/checker/printer.go @@ -0,0 +1,74 @@ +// Copyright 2018 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 checker + +import ( + "sort" + + "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/debug" +) + +type semanticAdorner struct { + checked *ast.AST +} + +var _ debug.Adorner = &semanticAdorner{} + +func (a *semanticAdorner) GetMetadata(elem any) string { + result := "" + e, isExpr := elem.(ast.Expr) + if !isExpr { + return result + } + t := a.checked.TypeMap()[e.ID()] + if t != nil { + result += "~" + result += FormatCELType(t) + } + + switch e.Kind() { + case ast.IdentKind, + ast.CallKind, + ast.ListKind, + ast.StructKind, + ast.SelectKind: + if ref, found := a.checked.ReferenceMap()[e.ID()]; found { + if len(ref.OverloadIDs) == 0 { + result += "^" + ref.Name + } else { + sort.Strings(ref.OverloadIDs) + for i, overload := range ref.OverloadIDs { + if i == 0 { + result += "^" + } else { + result += "|" + } + result += overload + } + } + } + } + + return result +} + +// Print returns a string representation of the Expr message, +// annotated with types from the CheckedExpr. The Expr must +// be a sub-expression embedded in the CheckedExpr. +func Print(e ast.Expr, checked *ast.AST) string { + a := &semanticAdorner{checked: checked} + return debug.ToAdornedDebugString(e, a) +} diff --git a/vendor/github.com/google/cel-go/checker/scopes.go b/vendor/github.com/google/cel-go/checker/scopes.go new file mode 100644 index 000000000..8bb73ddb6 --- /dev/null +++ b/vendor/github.com/google/cel-go/checker/scopes.go @@ -0,0 +1,147 @@ +// Copyright 2018 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 checker + +import ( + "github.com/google/cel-go/common/decls" +) + +// Scopes represents nested Decl sets where the Scopes value contains a Groups containing all +// identifiers in scope and an optional parent representing outer scopes. +// Each Groups value is a mapping of names to Decls in the ident and function namespaces. +// Lookups are performed such that bindings in inner scopes shadow those in outer scopes. +type Scopes struct { + parent *Scopes + scopes *Group +} + +// newScopes creates a new, empty Scopes. +// Some operations can't be safely performed until a Group is added with Push. +func newScopes() *Scopes { + return &Scopes{ + scopes: newGroup(), + } +} + +// Copy creates a copy of the current Scopes values, including a copy of its parent if non-nil. +func (s *Scopes) Copy() *Scopes { + cpy := newScopes() + if s == nil { + return cpy + } + if s.parent != nil { + cpy.parent = s.parent.Copy() + } + cpy.scopes = s.scopes.copy() + return cpy +} + +// Push creates a new Scopes value which references the current Scope as its parent. +func (s *Scopes) Push() *Scopes { + return &Scopes{ + parent: s, + scopes: newGroup(), + } +} + +// Pop returns the parent Scopes value for the current scope, or the current scope if the parent +// is nil. +func (s *Scopes) Pop() *Scopes { + if s.parent != nil { + return s.parent + } + // TODO: Consider whether this should be an error / panic. + return s +} + +// AddIdent adds the ident Decl in the current scope. +// Note: If the name collides with an existing identifier in the scope, the Decl is overwritten. +func (s *Scopes) AddIdent(decl *decls.VariableDecl) { + s.scopes.idents[decl.Name()] = decl +} + +// FindIdent finds the first ident Decl with a matching name in Scopes, or nil if one cannot be +// found. +// Note: The search is performed from innermost to outermost. +func (s *Scopes) FindIdent(name string) *decls.VariableDecl { + if ident, found := s.scopes.idents[name]; found { + return ident + } + if s.parent != nil { + return s.parent.FindIdent(name) + } + return nil +} + +// FindIdentInScope finds the first ident Decl with a matching name in the current Scopes value, or +// nil if one does not exist. +// Note: The search is only performed on the current scope and does not search outer scopes. +func (s *Scopes) FindIdentInScope(name string) *decls.VariableDecl { + if ident, found := s.scopes.idents[name]; found { + return ident + } + return nil +} + +// SetFunction adds the function Decl to the current scope. +// Note: Any previous entry for a function in the current scope with the same name is overwritten. +func (s *Scopes) SetFunction(fn *decls.FunctionDecl) { + s.scopes.functions[fn.Name()] = fn +} + +// FindFunction finds the first function Decl with a matching name in Scopes. +// The search is performed from innermost to outermost. +// Returns nil if no such function in Scopes. +func (s *Scopes) FindFunction(name string) *decls.FunctionDecl { + if fn, found := s.scopes.functions[name]; found { + return fn + } + if s.parent != nil { + return s.parent.FindFunction(name) + } + return nil +} + +// Group is a set of Decls that is pushed on or popped off a Scopes as a unit. +// Contains separate namespaces for identifier and function Decls. +// (Should be named "Scope" perhaps?) +type Group struct { + idents map[string]*decls.VariableDecl + functions map[string]*decls.FunctionDecl +} + +// copy creates a new Group instance with a shallow copy of the variables and functions. +// If callers need to mutate the exprpb.Decl definitions for a Function, they should copy-on-write. +func (g *Group) copy() *Group { + cpy := &Group{ + idents: make(map[string]*decls.VariableDecl, len(g.idents)), + functions: make(map[string]*decls.FunctionDecl, len(g.functions)), + } + for n, id := range g.idents { + cpy.idents[n] = id + } + for n, fn := range g.functions { + cpy.functions[n] = fn + } + return cpy +} + +// newGroup creates a new Group with empty maps for identifiers and functions. +func newGroup() *Group { + return &Group{ + idents: make(map[string]*decls.VariableDecl), + functions: make(map[string]*decls.FunctionDecl), + } +} diff --git a/vendor/github.com/google/cel-go/checker/types.go b/vendor/github.com/google/cel-go/checker/types.go new file mode 100644 index 000000000..4c65b2737 --- /dev/null +++ b/vendor/github.com/google/cel-go/checker/types.go @@ -0,0 +1,314 @@ +// Copyright 2018 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 checker + +import ( + "github.com/google/cel-go/common/types" +) + +// isDyn returns true if the input t is either type DYN or a well-known ANY message. +func isDyn(t *types.Type) bool { + // Note: object type values that are well-known and map to a DYN value in practice + // are sanitized prior to being added to the environment. + switch t.Kind() { + case types.DynKind, types.AnyKind: + return true + default: + return false + } +} + +// isDynOrError returns true if the input is either an Error, DYN, or well-known ANY message. +func isDynOrError(t *types.Type) bool { + return isError(t) || isDyn(t) +} + +func isError(t *types.Type) bool { + return t.Kind() == types.ErrorKind +} + +func isOptional(t *types.Type) bool { + if t.Kind() == types.OpaqueKind { + return t.TypeName() == "optional_type" + } + return false +} + +func maybeUnwrapOptional(t *types.Type) (*types.Type, bool) { + if isOptional(t) { + return t.Parameters()[0], true + } + return t, false +} + +// isEqualOrLessSpecific checks whether one type is equal or less specific than the other one. +// A type is less specific if it matches the other type using the DYN type. +func isEqualOrLessSpecific(t1, t2 *types.Type) bool { + kind1, kind2 := t1.Kind(), t2.Kind() + // The first type is less specific. + if isDyn(t1) || kind1 == types.TypeParamKind { + return true + } + // The first type is not less specific. + if isDyn(t2) || kind2 == types.TypeParamKind { + return false + } + // Types must be of the same kind to be equal. + if kind1 != kind2 { + return false + } + + // With limited exceptions for ANY and JSON values, the types must agree and be equivalent in + // order to return true. + switch kind1 { + case types.OpaqueKind: + if t1.TypeName() != t2.TypeName() || + len(t1.Parameters()) != len(t2.Parameters()) { + return false + } + for i, p1 := range t1.Parameters() { + if !isEqualOrLessSpecific(p1, t2.Parameters()[i]) { + return false + } + } + return true + case types.ListKind: + return isEqualOrLessSpecific(t1.Parameters()[0], t2.Parameters()[0]) + case types.MapKind: + return isEqualOrLessSpecific(t1.Parameters()[0], t2.Parameters()[0]) && + isEqualOrLessSpecific(t1.Parameters()[1], t2.Parameters()[1]) + case types.TypeKind: + return true + default: + return t1.IsExactType(t2) + } +} + +// / internalIsAssignable returns true if t1 is assignable to t2. +func internalIsAssignable(m *mapping, t1, t2 *types.Type) bool { + // Process type parameters. + kind1, kind2 := t1.Kind(), t2.Kind() + if kind2 == types.TypeParamKind { + // If t2 is a valid type substitution for t1, return true. + valid, t2HasSub := isValidTypeSubstitution(m, t1, t2) + if valid { + return true + } + // If t2 is not a valid type sub for t1, and already has a known substitution return false + // since it is not possible for t1 to be a substitution for t2. + if !valid && t2HasSub { + return false + } + // Otherwise, fall through to check whether t1 is a possible substitution for t2. + } + if kind1 == types.TypeParamKind { + // Return whether t1 is a valid substitution for t2. If not, do no additional checks as the + // possible type substitutions have been searched in both directions. + valid, _ := isValidTypeSubstitution(m, t2, t1) + return valid + } + + // Next check for wildcard types. + if isDynOrError(t1) || isDynOrError(t2) { + return true + } + // Preserve the nullness checks of the legacy type-checker. + if kind1 == types.NullTypeKind { + return internalIsAssignableNull(t2) + } + if kind2 == types.NullTypeKind { + return internalIsAssignableNull(t1) + } + + // Test for when the types do not need to agree, but are more specific than dyn. + switch kind1 { + case types.BoolKind, types.BytesKind, types.DoubleKind, types.IntKind, types.StringKind, types.UintKind, + types.AnyKind, types.DurationKind, types.TimestampKind, + types.StructKind: + // Test whether t2 is assignable from t1. The order of this check won't usually matter; + // however, there may be cases where type capabilities are expanded beyond what is supported + // in the current common/types package. For example, an interface designation for a group of + // Struct types. + return t2.IsAssignableType(t1) + case types.TypeKind: + return kind2 == types.TypeKind + case types.OpaqueKind, types.ListKind, types.MapKind: + return t1.Kind() == t2.Kind() && t1.TypeName() == t2.TypeName() && + internalIsAssignableList(m, t1.Parameters(), t2.Parameters()) + default: + return false + } +} + +// isValidTypeSubstitution returns whether t2 (or its type substitution) is a valid type +// substitution for t1, and whether t2 has a type substitution in mapping m. +// +// The type t2 is a valid substitution for t1 if any of the following statements is true +// - t2 has a type substitution (t2sub) equal to t1 +// - t2 has a type substitution (t2sub) assignable to t1 +// - t2 does not occur within t1. +func isValidTypeSubstitution(m *mapping, t1, t2 *types.Type) (valid, hasSub bool) { + // Early return if the t1 and t2 are the same instance. + kind1, kind2 := t1.Kind(), t2.Kind() + if kind1 == kind2 && t1.IsExactType(t2) { + return true, true + } + if t2Sub, found := m.find(t2); found { + // Early return if t1 and t2Sub are the same instance as otherwise the mapping + // might mark a type as being a subtitution for itself. + if kind1 == t2Sub.Kind() && t1.IsExactType(t2Sub) { + return true, true + } + // If the types are compatible, pick the more general type and return true + if internalIsAssignable(m, t1, t2Sub) { + t2New := mostGeneral(t1, t2Sub) + // only update the type reference map if the target type does not occur within it. + if notReferencedIn(m, t2, t2New) { + m.add(t2, t2New) + } + // acknowledge the type agreement, and that the substitution is already tracked. + return true, true + } + return false, true + } + if notReferencedIn(m, t2, t1) { + m.add(t2, t1) + return true, false + } + return false, false +} + +// internalIsAssignableList returns true if the element types at each index in the list are +// assignable from l1[i] to l2[i]. The list lengths must also agree for the lists to be +// assignable. +func internalIsAssignableList(m *mapping, l1, l2 []*types.Type) bool { + if len(l1) != len(l2) { + return false + } + for i, t1 := range l1 { + if !internalIsAssignable(m, t1, l2[i]) { + return false + } + } + return true +} + +// internalIsAssignableNull returns true if the type is nullable. +func internalIsAssignableNull(t *types.Type) bool { + return isLegacyNullable(t) || t.IsAssignableType(types.NullType) +} + +// isLegacyNullable preserves the null-ness compatibility of the original type-checker implementation. +func isLegacyNullable(t *types.Type) bool { + switch t.Kind() { + case types.OpaqueKind, types.StructKind, types.AnyKind, types.DurationKind, types.TimestampKind: + return true + } + return false +} + +// isAssignable returns an updated type substitution mapping if t1 is assignable to t2. +func isAssignable(m *mapping, t1, t2 *types.Type) *mapping { + mCopy := m.copy() + if internalIsAssignable(mCopy, t1, t2) { + return mCopy + } + return nil +} + +// isAssignableList returns an updated type substitution mapping if l1 is assignable to l2. +func isAssignableList(m *mapping, l1, l2 []*types.Type) *mapping { + mCopy := m.copy() + if internalIsAssignableList(mCopy, l1, l2) { + return mCopy + } + return nil +} + +// mostGeneral returns the more general of two types which are known to unify. +func mostGeneral(t1, t2 *types.Type) *types.Type { + if isEqualOrLessSpecific(t1, t2) { + return t1 + } + return t2 +} + +// notReferencedIn checks whether the type doesn't appear directly or transitively within the other +// type. This is a standard requirement for type unification, commonly referred to as the "occurs +// check". +func notReferencedIn(m *mapping, t, withinType *types.Type) bool { + if t.IsExactType(withinType) { + return false + } + withinKind := withinType.Kind() + switch withinKind { + case types.TypeParamKind: + wtSub, found := m.find(withinType) + if !found { + return true + } + return notReferencedIn(m, t, wtSub) + case types.OpaqueKind, types.ListKind, types.MapKind, types.TypeKind: + for _, pt := range withinType.Parameters() { + if !notReferencedIn(m, t, pt) { + return false + } + } + return true + default: + return true + } +} + +// substitute replaces all direct and indirect occurrences of bound type parameters. Unbound type +// parameters are replaced by DYN if typeParamToDyn is true. +func substitute(m *mapping, t *types.Type, typeParamToDyn bool) *types.Type { + if tSub, found := m.find(t); found { + return substitute(m, tSub, typeParamToDyn) + } + kind := t.Kind() + if typeParamToDyn && kind == types.TypeParamKind { + return types.DynType + } + switch kind { + case types.OpaqueKind: + return types.NewOpaqueType(t.TypeName(), substituteParams(m, t.Parameters(), typeParamToDyn)...) + case types.ListKind: + return types.NewListType(substitute(m, t.Parameters()[0], typeParamToDyn)) + case types.MapKind: + return types.NewMapType(substitute(m, t.Parameters()[0], typeParamToDyn), + substitute(m, t.Parameters()[1], typeParamToDyn)) + case types.TypeKind: + if len(t.Parameters()) > 0 { + tParam := t.Parameters()[0] + return types.NewTypeTypeWithParam(substitute(m, tParam, typeParamToDyn)) + } + return t + default: + return t + } +} + +func substituteParams(m *mapping, typeParams []*types.Type, typeParamToDyn bool) []*types.Type { + subParams := make([]*types.Type, len(typeParams)) + for i, tp := range typeParams { + subParams[i] = substitute(m, tp, typeParamToDyn) + } + return subParams +} + +func newFunctionType(resultType *types.Type, argTypes ...*types.Type) *types.Type { + return types.NewOpaqueType("function", append([]*types.Type{resultType}, argTypes...)...) +} diff --git a/vendor/github.com/google/cel-go/common/BUILD.bazel b/vendor/github.com/google/cel-go/common/BUILD.bazel new file mode 100644 index 000000000..eef7f281b --- /dev/null +++ b/vendor/github.com/google/cel-go/common/BUILD.bazel @@ -0,0 +1,34 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +package( + default_visibility = ["//visibility:public"], + licenses = ["notice"], # Apache 2.0 +) + +go_library( + name = "go_default_library", + srcs = [ + "cost.go", + "error.go", + "errors.go", + "location.go", + "source.go", + ], + importpath = "github.com/google/cel-go/common", + deps = [ + "//common/runes:go_default_library", + "@org_golang_google_genproto_googleapis_api//expr/v1alpha1:go_default_library", + ], +) + +go_test( + name = "go_default_test", + size = "small", + srcs = [ + "errors_test.go", + "source_test.go", + ], + embed = [ + ":go_default_library", + ], +) diff --git a/vendor/github.com/google/cel-go/common/ast/BUILD.bazel b/vendor/github.com/google/cel-go/common/ast/BUILD.bazel new file mode 100644 index 000000000..9824f57a9 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/ast/BUILD.bazel @@ -0,0 +1,57 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +package( + default_visibility = ["//visibility:public"], + licenses = ["notice"], # Apache 2.0 +) + +go_library( + name = "go_default_library", + srcs = [ + "ast.go", + "conversion.go", + "expr.go", + "factory.go", + "navigable.go", + ], + importpath = "github.com/google/cel-go/common/ast", + deps = [ + "//common:go_default_library", + "//common/types:go_default_library", + "//common/types/ref:go_default_library", + "@dev_cel_expr//:expr", + "@org_golang_google_genproto_googleapis_api//expr/v1alpha1:go_default_library", + "@org_golang_google_protobuf//proto:go_default_library", + "@org_golang_google_protobuf//types/known/structpb:go_default_library", + ], +) + +go_test( + name = "go_default_test", + srcs = [ + "ast_test.go", + "conversion_test.go", + "expr_test.go", + "navigable_test.go", + ], + embed = [ + ":go_default_library", + ], + deps = [ + "//checker:go_default_library", + "//checker/decls:go_default_library", + "//common:go_default_library", + "//common/containers:go_default_library", + "//common/decls:go_default_library", + "//common/operators:go_default_library", + "//common/overloads:go_default_library", + "//common/stdlib:go_default_library", + "//common/types:go_default_library", + "//common/types/ref:go_default_library", + "//parser:go_default_library", + "//test/proto3pb:go_default_library", + "@org_golang_google_genproto_googleapis_api//expr/v1alpha1:go_default_library", + "@org_golang_google_protobuf//proto:go_default_library", + "@org_golang_google_protobuf//encoding/prototext:go_default_library", + ], +) diff --git a/vendor/github.com/google/cel-go/common/ast/ast.go b/vendor/github.com/google/cel-go/common/ast/ast.go new file mode 100644 index 000000000..b807669d4 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/ast/ast.go @@ -0,0 +1,457 @@ +// 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 ast declares data structures useful for parsed and checked abstract syntax trees +package ast + +import ( + "github.com/google/cel-go/common" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" +) + +// AST contains a protobuf expression and source info along with CEL-native type and reference information. +type AST struct { + expr Expr + sourceInfo *SourceInfo + typeMap map[int64]*types.Type + refMap map[int64]*ReferenceInfo +} + +// Expr returns the root ast.Expr value in the AST. +func (a *AST) Expr() Expr { + if a == nil { + return nilExpr + } + return a.expr +} + +// SourceInfo returns the source metadata associated with the parse / type-check passes. +func (a *AST) SourceInfo() *SourceInfo { + if a == nil { + return nil + } + return a.sourceInfo +} + +// GetType returns the type for the expression at the given id, if one exists, else types.DynType. +func (a *AST) GetType(id int64) *types.Type { + if t, found := a.TypeMap()[id]; found { + return t + } + return types.DynType +} + +// SetType sets the type of the expression node at the given id. +func (a *AST) SetType(id int64, t *types.Type) { + if a == nil { + return + } + a.typeMap[id] = t +} + +// TypeMap returns the map of expression ids to type-checked types. +// +// If the AST is not type-checked, the map will be empty. +func (a *AST) TypeMap() map[int64]*types.Type { + if a == nil { + return map[int64]*types.Type{} + } + return a.typeMap +} + +// GetOverloadIDs returns the set of overload function names for a given expression id. +// +// If the expression id is not a function call, or the AST is not type-checked, the result will be empty. +func (a *AST) GetOverloadIDs(id int64) []string { + if ref, found := a.ReferenceMap()[id]; found { + return ref.OverloadIDs + } + return []string{} +} + +// ReferenceMap returns the map of expression id to identifier, constant, and function references. +func (a *AST) ReferenceMap() map[int64]*ReferenceInfo { + if a == nil { + return map[int64]*ReferenceInfo{} + } + return a.refMap +} + +// SetReference adds a reference to the checked AST type map. +func (a *AST) SetReference(id int64, r *ReferenceInfo) { + if a == nil { + return + } + a.refMap[id] = r +} + +// IsChecked returns whether the AST is type-checked. +func (a *AST) IsChecked() bool { + return a != nil && len(a.TypeMap()) > 0 +} + +// NewAST creates a base AST instance with an ast.Expr and ast.SourceInfo value. +func NewAST(e Expr, sourceInfo *SourceInfo) *AST { + if e == nil { + e = nilExpr + } + return &AST{ + expr: e, + sourceInfo: sourceInfo, + typeMap: make(map[int64]*types.Type), + refMap: make(map[int64]*ReferenceInfo), + } +} + +// NewCheckedAST wraps an parsed AST and augments it with type and reference metadata. +func NewCheckedAST(parsed *AST, typeMap map[int64]*types.Type, refMap map[int64]*ReferenceInfo) *AST { + return &AST{ + expr: parsed.Expr(), + sourceInfo: parsed.SourceInfo(), + typeMap: typeMap, + refMap: refMap, + } +} + +// Copy creates a deep copy of the Expr and SourceInfo values in the input AST. +// +// Copies of the Expr value are generated using an internal default ExprFactory. +func Copy(a *AST) *AST { + if a == nil { + return nil + } + e := defaultFactory.CopyExpr(a.expr) + if !a.IsChecked() { + return NewAST(e, CopySourceInfo(a.SourceInfo())) + } + typesCopy := make(map[int64]*types.Type, len(a.typeMap)) + for id, t := range a.typeMap { + typesCopy[id] = t + } + refsCopy := make(map[int64]*ReferenceInfo, len(a.refMap)) + for id, r := range a.refMap { + refsCopy[id] = r + } + return NewCheckedAST(NewAST(e, CopySourceInfo(a.SourceInfo())), typesCopy, refsCopy) +} + +// MaxID returns the upper-bound, non-inclusive, of ids present within the AST's Expr value. +func MaxID(a *AST) int64 { + visitor := &maxIDVisitor{maxID: 1} + PostOrderVisit(a.Expr(), visitor) + for id, call := range a.SourceInfo().MacroCalls() { + PostOrderVisit(call, visitor) + if id > visitor.maxID { + visitor.maxID = id + 1 + } + } + return visitor.maxID + 1 +} + +// NewSourceInfo creates a simple SourceInfo object from an input common.Source value. +func NewSourceInfo(src common.Source) *SourceInfo { + var lineOffsets []int32 + var desc string + baseLine := int32(0) + baseCol := int32(0) + if src != nil { + desc = src.Description() + lineOffsets = src.LineOffsets() + // Determine whether the source metadata should be computed relative + // to a base line and column value. This can be determined by requesting + // the location for offset 0 from the source object. + if loc, found := src.OffsetLocation(0); found { + baseLine = int32(loc.Line()) - 1 + baseCol = int32(loc.Column()) + } + } + return &SourceInfo{ + desc: desc, + lines: lineOffsets, + baseLine: baseLine, + baseCol: baseCol, + offsetRanges: make(map[int64]OffsetRange), + macroCalls: make(map[int64]Expr), + } +} + +// CopySourceInfo creates a deep copy of the MacroCalls within the input SourceInfo. +// +// Copies of macro Expr values are generated using an internal default ExprFactory. +func CopySourceInfo(info *SourceInfo) *SourceInfo { + if info == nil { + return nil + } + rangesCopy := make(map[int64]OffsetRange, len(info.offsetRanges)) + for id, off := range info.offsetRanges { + rangesCopy[id] = off + } + callsCopy := make(map[int64]Expr, len(info.macroCalls)) + for id, call := range info.macroCalls { + callsCopy[id] = defaultFactory.CopyExpr(call) + } + return &SourceInfo{ + syntax: info.syntax, + desc: info.desc, + lines: info.lines, + baseLine: info.baseLine, + baseCol: info.baseCol, + offsetRanges: rangesCopy, + macroCalls: callsCopy, + } +} + +// SourceInfo records basic information about the expression as a textual input and +// as a parsed expression value. +type SourceInfo struct { + syntax string + desc string + lines []int32 + baseLine int32 + baseCol int32 + offsetRanges map[int64]OffsetRange + macroCalls map[int64]Expr +} + +// SyntaxVersion returns the syntax version associated with the text expression. +func (s *SourceInfo) SyntaxVersion() string { + if s == nil { + return "" + } + return s.syntax +} + +// Description provides information about where the expression came from. +func (s *SourceInfo) Description() string { + if s == nil { + return "" + } + return s.desc +} + +// LineOffsets returns a list of the 0-based character offsets in the input text where newlines appear. +func (s *SourceInfo) LineOffsets() []int32 { + if s == nil { + return []int32{} + } + return s.lines +} + +// MacroCalls returns a map of expression id to ast.Expr value where the id represents the expression +// node where the macro was inserted into the AST, and the ast.Expr value represents the original call +// signature which was replaced. +func (s *SourceInfo) MacroCalls() map[int64]Expr { + if s == nil { + return map[int64]Expr{} + } + return s.macroCalls +} + +// GetMacroCall returns the original ast.Expr value for the given expression if it was generated via +// a macro replacement. +// +// Note, parsing options must be enabled to track macro calls before this method will return a value. +func (s *SourceInfo) GetMacroCall(id int64) (Expr, bool) { + e, found := s.MacroCalls()[id] + return e, found +} + +// SetMacroCall records a macro call at a specific location. +func (s *SourceInfo) SetMacroCall(id int64, e Expr) { + if s != nil { + s.macroCalls[id] = e + } +} + +// ClearMacroCall removes the macro call at the given expression id. +func (s *SourceInfo) ClearMacroCall(id int64) { + if s != nil { + delete(s.macroCalls, id) + } +} + +// OffsetRanges returns a map of expression id to OffsetRange values where the range indicates either: +// the start and end position in the input stream where the expression occurs, or the start position +// only. If the range only captures start position, the stop position of the range will be equal to +// the start. +func (s *SourceInfo) OffsetRanges() map[int64]OffsetRange { + if s == nil { + return map[int64]OffsetRange{} + } + return s.offsetRanges +} + +// GetOffsetRange retrieves an OffsetRange for the given expression id if one exists. +func (s *SourceInfo) GetOffsetRange(id int64) (OffsetRange, bool) { + if s == nil { + return OffsetRange{}, false + } + o, found := s.offsetRanges[id] + return o, found +} + +// SetOffsetRange sets the OffsetRange for the given expression id. +func (s *SourceInfo) SetOffsetRange(id int64, o OffsetRange) { + if s == nil { + return + } + s.offsetRanges[id] = o +} + +// ClearOffsetRange removes the OffsetRange for the given expression id. +func (s *SourceInfo) ClearOffsetRange(id int64) { + if s != nil { + delete(s.offsetRanges, id) + } +} + +// GetStartLocation calculates the human-readable 1-based line and 0-based column of the first character +// of the expression node at the id. +func (s *SourceInfo) GetStartLocation(id int64) common.Location { + if o, found := s.GetOffsetRange(id); found { + return s.GetLocationByOffset(o.Start) + } + return common.NoLocation +} + +// GetStopLocation calculates the human-readable 1-based line and 0-based column of the last character for +// the expression node at the given id. +// +// If the SourceInfo was generated from a serialized protobuf representation, the stop location will +// be identical to the start location for the expression. +func (s *SourceInfo) GetStopLocation(id int64) common.Location { + if o, found := s.GetOffsetRange(id); found { + return s.GetLocationByOffset(o.Stop) + } + return common.NoLocation +} + +// GetLocationByOffset returns the line and column information for a given character offset. +func (s *SourceInfo) GetLocationByOffset(offset int32) common.Location { + line := 1 + col := int(offset) + for _, lineOffset := range s.LineOffsets() { + if lineOffset > offset { + break + } + line++ + col = int(offset - lineOffset) + } + return common.NewLocation(line, col) +} + +// ComputeOffset calculates the 0-based character offset from a 1-based line and 0-based column. +func (s *SourceInfo) ComputeOffset(line, col int32) int32 { + if s != nil { + line = s.baseLine + line + col = s.baseCol + col + } + if line == 1 { + return col + } + if line < 1 || line > int32(len(s.LineOffsets())) { + return -1 + } + offset := s.LineOffsets()[line-2] + return offset + col +} + +// OffsetRange captures the start and stop positions of a section of text in the input expression. +type OffsetRange struct { + Start int32 + Stop int32 +} + +// ReferenceInfo contains a CEL native representation of an identifier reference which may refer to +// either a qualified identifier name, a set of overload ids, or a constant value from an enum. +type ReferenceInfo struct { + Name string + OverloadIDs []string + Value ref.Val +} + +// NewIdentReference creates a ReferenceInfo instance for an identifier with an optional constant value. +func NewIdentReference(name string, value ref.Val) *ReferenceInfo { + return &ReferenceInfo{Name: name, Value: value} +} + +// NewFunctionReference creates a ReferenceInfo instance for a set of function overloads. +func NewFunctionReference(overloads ...string) *ReferenceInfo { + info := &ReferenceInfo{} + for _, id := range overloads { + info.AddOverload(id) + } + return info +} + +// AddOverload appends a function overload ID to the ReferenceInfo. +func (r *ReferenceInfo) AddOverload(overloadID string) { + for _, id := range r.OverloadIDs { + if id == overloadID { + return + } + } + r.OverloadIDs = append(r.OverloadIDs, overloadID) +} + +// Equals returns whether two references are identical to each other. +func (r *ReferenceInfo) Equals(other *ReferenceInfo) bool { + if r.Name != other.Name { + return false + } + if len(r.OverloadIDs) != len(other.OverloadIDs) { + return false + } + if len(r.OverloadIDs) != 0 { + overloadMap := make(map[string]struct{}, len(r.OverloadIDs)) + for _, id := range r.OverloadIDs { + overloadMap[id] = struct{}{} + } + for _, id := range other.OverloadIDs { + _, found := overloadMap[id] + if !found { + return false + } + } + } + if r.Value == nil && other.Value == nil { + return true + } + if r.Value == nil && other.Value != nil || + r.Value != nil && other.Value == nil || + r.Value.Equal(other.Value) != types.True { + return false + } + return true +} + +type maxIDVisitor struct { + maxID int64 + *baseVisitor +} + +// VisitExpr updates the max identifier if the incoming expression id is greater than previously observed. +func (v *maxIDVisitor) VisitExpr(e Expr) { + if v.maxID < e.ID() { + v.maxID = e.ID() + } +} + +// VisitEntryExpr updates the max identifier if the incoming entry id is greater than previously observed. +func (v *maxIDVisitor) VisitEntryExpr(e EntryExpr) { + if v.maxID < e.ID() { + v.maxID = e.ID() + } +} diff --git a/vendor/github.com/google/cel-go/common/ast/conversion.go b/vendor/github.com/google/cel-go/common/ast/conversion.go new file mode 100644 index 000000000..435d8f654 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/ast/conversion.go @@ -0,0 +1,659 @@ +// 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 ast + +import ( + "fmt" + + "google.golang.org/protobuf/proto" + + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" + + celpb "cel.dev/expr" + exprpb "google.golang.org/genproto/googleapis/api/expr/v1alpha1" + structpb "google.golang.org/protobuf/types/known/structpb" +) + +// ToProto converts an AST to a CheckedExpr protobouf. +func ToProto(ast *AST) (*exprpb.CheckedExpr, error) { + refMap := make(map[int64]*exprpb.Reference, len(ast.ReferenceMap())) + for id, ref := range ast.ReferenceMap() { + r, err := ReferenceInfoToProto(ref) + if err != nil { + return nil, err + } + refMap[id] = r + } + typeMap := make(map[int64]*exprpb.Type, len(ast.TypeMap())) + for id, typ := range ast.TypeMap() { + t, err := types.TypeToExprType(typ) + if err != nil { + return nil, err + } + typeMap[id] = t + } + e, err := ExprToProto(ast.Expr()) + if err != nil { + return nil, err + } + info, err := SourceInfoToProto(ast.SourceInfo()) + if err != nil { + return nil, err + } + return &exprpb.CheckedExpr{ + Expr: e, + SourceInfo: info, + ReferenceMap: refMap, + TypeMap: typeMap, + }, nil +} + +// ToAST converts a CheckedExpr protobuf to an AST instance. +func ToAST(checked *exprpb.CheckedExpr) (*AST, error) { + refMap := make(map[int64]*ReferenceInfo, len(checked.GetReferenceMap())) + for id, ref := range checked.GetReferenceMap() { + r, err := ProtoToReferenceInfo(ref) + if err != nil { + return nil, err + } + refMap[id] = r + } + typeMap := make(map[int64]*types.Type, len(checked.GetTypeMap())) + for id, typ := range checked.GetTypeMap() { + t, err := types.ExprTypeToType(typ) + if err != nil { + return nil, err + } + typeMap[id] = t + } + info, err := ProtoToSourceInfo(checked.GetSourceInfo()) + if err != nil { + return nil, err + } + root, err := ProtoToExpr(checked.GetExpr()) + if err != nil { + return nil, err + } + ast := NewCheckedAST(NewAST(root, info), typeMap, refMap) + return ast, nil +} + +// ProtoToExpr converts a protobuf Expr value to an ast.Expr value. +func ProtoToExpr(e *exprpb.Expr) (Expr, error) { + factory := NewExprFactory() + return exprInternal(factory, e) +} + +// ProtoToEntryExpr converts a protobuf struct/map entry to an ast.EntryExpr +func ProtoToEntryExpr(e *exprpb.Expr_CreateStruct_Entry) (EntryExpr, error) { + factory := NewExprFactory() + switch e.GetKeyKind().(type) { + case *exprpb.Expr_CreateStruct_Entry_FieldKey: + return exprStructField(factory, e.GetId(), e) + case *exprpb.Expr_CreateStruct_Entry_MapKey: + return exprMapEntry(factory, e.GetId(), e) + } + return nil, fmt.Errorf("unsupported expr entry kind: %v", e) +} + +func exprInternal(factory ExprFactory, e *exprpb.Expr) (Expr, error) { + id := e.GetId() + switch e.GetExprKind().(type) { + case *exprpb.Expr_CallExpr: + return exprCall(factory, id, e.GetCallExpr()) + case *exprpb.Expr_ComprehensionExpr: + return exprComprehension(factory, id, e.GetComprehensionExpr()) + case *exprpb.Expr_ConstExpr: + return exprLiteral(factory, id, e.GetConstExpr()) + case *exprpb.Expr_IdentExpr: + return exprIdent(factory, id, e.GetIdentExpr()) + case *exprpb.Expr_ListExpr: + return exprList(factory, id, e.GetListExpr()) + case *exprpb.Expr_SelectExpr: + return exprSelect(factory, id, e.GetSelectExpr()) + case *exprpb.Expr_StructExpr: + s := e.GetStructExpr() + if s.GetMessageName() != "" { + return exprStruct(factory, id, s) + } + return exprMap(factory, id, s) + } + return factory.NewUnspecifiedExpr(id), nil +} + +func exprCall(factory ExprFactory, id int64, call *exprpb.Expr_Call) (Expr, error) { + var err error + args := make([]Expr, len(call.GetArgs())) + for i, a := range call.GetArgs() { + args[i], err = exprInternal(factory, a) + if err != nil { + return nil, err + } + } + if call.GetTarget() == nil { + return factory.NewCall(id, call.GetFunction(), args...), nil + } + + target, err := exprInternal(factory, call.GetTarget()) + if err != nil { + return nil, err + } + return factory.NewMemberCall(id, call.GetFunction(), target, args...), nil +} + +func exprComprehension(factory ExprFactory, id int64, comp *exprpb.Expr_Comprehension) (Expr, error) { + iterRange, err := exprInternal(factory, comp.GetIterRange()) + if err != nil { + return nil, err + } + accuInit, err := exprInternal(factory, comp.GetAccuInit()) + if err != nil { + return nil, err + } + loopCond, err := exprInternal(factory, comp.GetLoopCondition()) + if err != nil { + return nil, err + } + loopStep, err := exprInternal(factory, comp.GetLoopStep()) + if err != nil { + return nil, err + } + result, err := exprInternal(factory, comp.GetResult()) + if err != nil { + return nil, err + } + return factory.NewComprehensionTwoVar(id, + iterRange, + comp.GetIterVar(), + comp.GetIterVar2(), + comp.GetAccuVar(), + accuInit, + loopCond, + loopStep, + result), nil +} + +func exprLiteral(factory ExprFactory, id int64, c *exprpb.Constant) (Expr, error) { + val, err := ConstantToVal(c) + if err != nil { + return nil, err + } + return factory.NewLiteral(id, val), nil +} + +func exprIdent(factory ExprFactory, id int64, i *exprpb.Expr_Ident) (Expr, error) { + return factory.NewIdent(id, i.GetName()), nil +} + +func exprList(factory ExprFactory, id int64, l *exprpb.Expr_CreateList) (Expr, error) { + elems := make([]Expr, len(l.GetElements())) + for i, e := range l.GetElements() { + elem, err := exprInternal(factory, e) + if err != nil { + return nil, err + } + elems[i] = elem + } + return factory.NewList(id, elems, l.GetOptionalIndices()), nil +} + +func exprMap(factory ExprFactory, id int64, s *exprpb.Expr_CreateStruct) (Expr, error) { + entries := make([]EntryExpr, len(s.GetEntries())) + var err error + for i, entry := range s.GetEntries() { + entries[i], err = exprMapEntry(factory, entry.GetId(), entry) + if err != nil { + return nil, err + } + } + return factory.NewMap(id, entries), nil +} + +func exprMapEntry(factory ExprFactory, id int64, e *exprpb.Expr_CreateStruct_Entry) (EntryExpr, error) { + k, err := exprInternal(factory, e.GetMapKey()) + if err != nil { + return nil, err + } + v, err := exprInternal(factory, e.GetValue()) + if err != nil { + return nil, err + } + return factory.NewMapEntry(id, k, v, e.GetOptionalEntry()), nil +} + +func exprSelect(factory ExprFactory, id int64, s *exprpb.Expr_Select) (Expr, error) { + op, err := exprInternal(factory, s.GetOperand()) + if err != nil { + return nil, err + } + if s.GetTestOnly() { + return factory.NewPresenceTest(id, op, s.GetField()), nil + } + return factory.NewSelect(id, op, s.GetField()), nil +} + +func exprStruct(factory ExprFactory, id int64, s *exprpb.Expr_CreateStruct) (Expr, error) { + fields := make([]EntryExpr, len(s.GetEntries())) + var err error + for i, field := range s.GetEntries() { + fields[i], err = exprStructField(factory, field.GetId(), field) + if err != nil { + return nil, err + } + } + return factory.NewStruct(id, s.GetMessageName(), fields), nil +} + +func exprStructField(factory ExprFactory, id int64, f *exprpb.Expr_CreateStruct_Entry) (EntryExpr, error) { + v, err := exprInternal(factory, f.GetValue()) + if err != nil { + return nil, err + } + return factory.NewStructField(id, f.GetFieldKey(), v, f.GetOptionalEntry()), nil +} + +// ExprToProto serializes an ast.Expr value to a protobuf Expr representation. +func ExprToProto(e Expr) (*exprpb.Expr, error) { + if e == nil { + return &exprpb.Expr{}, nil + } + switch e.Kind() { + case CallKind: + return protoCall(e.ID(), e.AsCall()) + case ComprehensionKind: + return protoComprehension(e.ID(), e.AsComprehension()) + case IdentKind: + return protoIdent(e.ID(), e.AsIdent()) + case ListKind: + return protoList(e.ID(), e.AsList()) + case LiteralKind: + return protoLiteral(e.ID(), e.AsLiteral()) + case MapKind: + return protoMap(e.ID(), e.AsMap()) + case SelectKind: + return protoSelect(e.ID(), e.AsSelect()) + case StructKind: + return protoStruct(e.ID(), e.AsStruct()) + case UnspecifiedExprKind: + // Handle the case where a macro reference may be getting translated. + // A nested macro 'pointer' is a non-zero expression id with no kind set. + if e.ID() != 0 { + return &exprpb.Expr{Id: e.ID()}, nil + } + return &exprpb.Expr{}, nil + } + return nil, fmt.Errorf("unsupported expr kind: %v", e) +} + +// EntryExprToProto converts an ast.EntryExpr to a protobuf CreateStruct entry +func EntryExprToProto(e EntryExpr) (*exprpb.Expr_CreateStruct_Entry, error) { + switch e.Kind() { + case MapEntryKind: + return protoMapEntry(e.ID(), e.AsMapEntry()) + case StructFieldKind: + return protoStructField(e.ID(), e.AsStructField()) + case UnspecifiedEntryExprKind: + return &exprpb.Expr_CreateStruct_Entry{}, nil + } + return nil, fmt.Errorf("unsupported expr entry kind: %v", e) +} + +func protoCall(id int64, call CallExpr) (*exprpb.Expr, error) { + var err error + var target *exprpb.Expr + if call.IsMemberFunction() { + target, err = ExprToProto(call.Target()) + if err != nil { + return nil, err + } + } + callArgs := call.Args() + args := make([]*exprpb.Expr, len(callArgs)) + for i, a := range callArgs { + args[i], err = ExprToProto(a) + if err != nil { + return nil, err + } + } + return &exprpb.Expr{ + Id: id, + ExprKind: &exprpb.Expr_CallExpr{ + CallExpr: &exprpb.Expr_Call{ + Function: call.FunctionName(), + Target: target, + Args: args, + }, + }, + }, nil +} + +func protoComprehension(id int64, comp ComprehensionExpr) (*exprpb.Expr, error) { + iterRange, err := ExprToProto(comp.IterRange()) + if err != nil { + return nil, err + } + accuInit, err := ExprToProto(comp.AccuInit()) + if err != nil { + return nil, err + } + loopCond, err := ExprToProto(comp.LoopCondition()) + if err != nil { + return nil, err + } + loopStep, err := ExprToProto(comp.LoopStep()) + if err != nil { + return nil, err + } + result, err := ExprToProto(comp.Result()) + if err != nil { + return nil, err + } + return &exprpb.Expr{ + Id: id, + ExprKind: &exprpb.Expr_ComprehensionExpr{ + ComprehensionExpr: &exprpb.Expr_Comprehension{ + IterVar: comp.IterVar(), + IterVar2: comp.IterVar2(), + IterRange: iterRange, + AccuVar: comp.AccuVar(), + AccuInit: accuInit, + LoopCondition: loopCond, + LoopStep: loopStep, + Result: result, + }, + }, + }, nil +} + +func protoIdent(id int64, name string) (*exprpb.Expr, error) { + return &exprpb.Expr{ + Id: id, + ExprKind: &exprpb.Expr_IdentExpr{ + IdentExpr: &exprpb.Expr_Ident{ + Name: name, + }, + }, + }, nil +} + +func protoList(id int64, list ListExpr) (*exprpb.Expr, error) { + var err error + elems := make([]*exprpb.Expr, list.Size()) + for i, e := range list.Elements() { + elems[i], err = ExprToProto(e) + if err != nil { + return nil, err + } + } + return &exprpb.Expr{ + Id: id, + ExprKind: &exprpb.Expr_ListExpr{ + ListExpr: &exprpb.Expr_CreateList{ + Elements: elems, + OptionalIndices: list.OptionalIndices(), + }, + }, + }, nil +} + +func protoLiteral(id int64, val ref.Val) (*exprpb.Expr, error) { + c, err := ValToConstant(val) + if err != nil { + return nil, err + } + return &exprpb.Expr{ + Id: id, + ExprKind: &exprpb.Expr_ConstExpr{ + ConstExpr: c, + }, + }, nil +} + +func protoMap(id int64, m MapExpr) (*exprpb.Expr, error) { + entries := make([]*exprpb.Expr_CreateStruct_Entry, len(m.Entries())) + var err error + for i, e := range m.Entries() { + entries[i], err = EntryExprToProto(e) + if err != nil { + return nil, err + } + } + return &exprpb.Expr{ + Id: id, + ExprKind: &exprpb.Expr_StructExpr{ + StructExpr: &exprpb.Expr_CreateStruct{ + Entries: entries, + }, + }, + }, nil +} + +func protoMapEntry(id int64, e MapEntry) (*exprpb.Expr_CreateStruct_Entry, error) { + k, err := ExprToProto(e.Key()) + if err != nil { + return nil, err + } + v, err := ExprToProto(e.Value()) + if err != nil { + return nil, err + } + return &exprpb.Expr_CreateStruct_Entry{ + Id: id, + KeyKind: &exprpb.Expr_CreateStruct_Entry_MapKey{ + MapKey: k, + }, + Value: v, + OptionalEntry: e.IsOptional(), + }, nil +} + +func protoSelect(id int64, s SelectExpr) (*exprpb.Expr, error) { + op, err := ExprToProto(s.Operand()) + if err != nil { + return nil, err + } + return &exprpb.Expr{ + Id: id, + ExprKind: &exprpb.Expr_SelectExpr{ + SelectExpr: &exprpb.Expr_Select{ + Operand: op, + Field: s.FieldName(), + TestOnly: s.IsTestOnly(), + }, + }, + }, nil +} + +func protoStruct(id int64, s StructExpr) (*exprpb.Expr, error) { + entries := make([]*exprpb.Expr_CreateStruct_Entry, len(s.Fields())) + var err error + for i, e := range s.Fields() { + entries[i], err = EntryExprToProto(e) + if err != nil { + return nil, err + } + } + return &exprpb.Expr{ + Id: id, + ExprKind: &exprpb.Expr_StructExpr{ + StructExpr: &exprpb.Expr_CreateStruct{ + MessageName: s.TypeName(), + Entries: entries, + }, + }, + }, nil +} + +func protoStructField(id int64, f StructField) (*exprpb.Expr_CreateStruct_Entry, error) { + v, err := ExprToProto(f.Value()) + if err != nil { + return nil, err + } + return &exprpb.Expr_CreateStruct_Entry{ + Id: id, + KeyKind: &exprpb.Expr_CreateStruct_Entry_FieldKey{ + FieldKey: f.Name(), + }, + Value: v, + OptionalEntry: f.IsOptional(), + }, nil +} + +// SourceInfoToProto serializes an ast.SourceInfo value to a protobuf SourceInfo object. +func SourceInfoToProto(info *SourceInfo) (*exprpb.SourceInfo, error) { + if info == nil { + return &exprpb.SourceInfo{}, nil + } + sourceInfo := &exprpb.SourceInfo{ + SyntaxVersion: info.SyntaxVersion(), + Location: info.Description(), + LineOffsets: info.LineOffsets(), + Positions: make(map[int64]int32, len(info.OffsetRanges())), + MacroCalls: make(map[int64]*exprpb.Expr, len(info.MacroCalls())), + } + for id, offset := range info.OffsetRanges() { + sourceInfo.Positions[id] = offset.Start + } + for id, e := range info.MacroCalls() { + call, err := ExprToProto(e) + if err != nil { + return nil, err + } + sourceInfo.MacroCalls[id] = call + } + return sourceInfo, nil +} + +// ProtoToSourceInfo deserializes the protobuf into a native SourceInfo value. +func ProtoToSourceInfo(info *exprpb.SourceInfo) (*SourceInfo, error) { + sourceInfo := &SourceInfo{ + syntax: info.GetSyntaxVersion(), + desc: info.GetLocation(), + lines: info.GetLineOffsets(), + offsetRanges: make(map[int64]OffsetRange, len(info.GetPositions())), + macroCalls: make(map[int64]Expr, len(info.GetMacroCalls())), + } + for id, offset := range info.GetPositions() { + sourceInfo.SetOffsetRange(id, OffsetRange{Start: offset, Stop: offset}) + } + for id, e := range info.GetMacroCalls() { + call, err := ProtoToExpr(e) + if err != nil { + return nil, err + } + sourceInfo.SetMacroCall(id, call) + } + return sourceInfo, nil +} + +// ReferenceInfoToProto converts a ReferenceInfo instance to a protobuf Reference suitable for serialization. +func ReferenceInfoToProto(info *ReferenceInfo) (*exprpb.Reference, error) { + c, err := ValToConstant(info.Value) + if err != nil { + return nil, err + } + return &exprpb.Reference{ + Name: info.Name, + OverloadId: info.OverloadIDs, + Value: c, + }, nil +} + +// ProtoToReferenceInfo converts a protobuf Reference into a CEL-native ReferenceInfo instance. +func ProtoToReferenceInfo(ref *exprpb.Reference) (*ReferenceInfo, error) { + v, err := ConstantToVal(ref.GetValue()) + if err != nil { + return nil, err + } + return &ReferenceInfo{ + Name: ref.GetName(), + OverloadIDs: ref.GetOverloadId(), + Value: v, + }, nil +} + +// ValToConstant converts a CEL-native ref.Val to a protobuf Constant. +// +// Only simple scalar types are supported by this method. +func ValToConstant(v ref.Val) (*exprpb.Constant, error) { + if v == nil { + return nil, nil + } + switch v.Type() { + case types.BoolType: + return &exprpb.Constant{ConstantKind: &exprpb.Constant_BoolValue{BoolValue: v.Value().(bool)}}, nil + case types.BytesType: + return &exprpb.Constant{ConstantKind: &exprpb.Constant_BytesValue{BytesValue: v.Value().([]byte)}}, nil + case types.DoubleType: + return &exprpb.Constant{ConstantKind: &exprpb.Constant_DoubleValue{DoubleValue: v.Value().(float64)}}, nil + case types.IntType: + return &exprpb.Constant{ConstantKind: &exprpb.Constant_Int64Value{Int64Value: v.Value().(int64)}}, nil + case types.NullType: + return &exprpb.Constant{ConstantKind: &exprpb.Constant_NullValue{NullValue: structpb.NullValue_NULL_VALUE}}, nil + case types.StringType: + return &exprpb.Constant{ConstantKind: &exprpb.Constant_StringValue{StringValue: v.Value().(string)}}, nil + case types.UintType: + return &exprpb.Constant{ConstantKind: &exprpb.Constant_Uint64Value{Uint64Value: v.Value().(uint64)}}, nil + } + return nil, fmt.Errorf("unsupported constant kind: %v", v.Type()) +} + +// ConstantToVal converts a protobuf Constant to a CEL-native ref.Val. +func ConstantToVal(c *exprpb.Constant) (ref.Val, error) { + return AlphaProtoConstantAsVal(c) +} + +// AlphaProtoConstantAsVal converts a v1alpha1.Constant protobuf to a CEL-native ref.Val. +func AlphaProtoConstantAsVal(c *exprpb.Constant) (ref.Val, error) { + if c == nil { + return nil, nil + } + canonical := &celpb.Constant{} + if err := convertProto(c, canonical); err != nil { + return nil, err + } + return ProtoConstantAsVal(canonical) +} + +// ProtoConstantAsVal converts a canonical celpb.Constant protobuf to a CEL-native ref.Val. +func ProtoConstantAsVal(c *celpb.Constant) (ref.Val, error) { + switch c.GetConstantKind().(type) { + case *celpb.Constant_BoolValue: + return types.Bool(c.GetBoolValue()), nil + case *celpb.Constant_BytesValue: + return types.Bytes(c.GetBytesValue()), nil + case *celpb.Constant_DoubleValue: + return types.Double(c.GetDoubleValue()), nil + case *celpb.Constant_Int64Value: + return types.Int(c.GetInt64Value()), nil + case *celpb.Constant_NullValue: + return types.NullValue, nil + case *celpb.Constant_StringValue: + return types.String(c.GetStringValue()), nil + case *celpb.Constant_Uint64Value: + return types.Uint(c.GetUint64Value()), nil + } + return nil, fmt.Errorf("unsupported constant kind: %v", c.GetConstantKind()) +} + +func convertProto(src, dst proto.Message) error { + pb, err := proto.Marshal(src) + if err != nil { + return err + } + err = proto.Unmarshal(pb, dst) + return err +} diff --git a/vendor/github.com/google/cel-go/common/ast/expr.go b/vendor/github.com/google/cel-go/common/ast/expr.go new file mode 100644 index 000000000..9f55cb3b9 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/ast/expr.go @@ -0,0 +1,884 @@ +// 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 ast + +import ( + "github.com/google/cel-go/common/types/ref" +) + +// ExprKind represents the expression node kind. +type ExprKind int + +const ( + // UnspecifiedExprKind represents an unset expression with no specified properties. + UnspecifiedExprKind ExprKind = iota + + // CallKind represents a function call. + CallKind + + // ComprehensionKind represents a comprehension expression generated by a macro. + ComprehensionKind + + // IdentKind represents a simple variable, constant, or type identifier. + IdentKind + + // ListKind represents a list literal expression. + ListKind + + // LiteralKind represents a primitive scalar literal. + LiteralKind + + // MapKind represents a map literal expression. + MapKind + + // SelectKind represents a field selection expression. + SelectKind + + // StructKind represents a struct literal expression. + StructKind +) + +// Expr represents the base expression node in a CEL abstract syntax tree. +// +// Depending on the `Kind()` value, the Expr may be converted to a concrete expression types +// as indicated by the `As` methods. +type Expr interface { + // ID of the expression as it appears in the AST + ID() int64 + + // Kind of the expression node. See ExprKind for the valid enum values. + Kind() ExprKind + + // AsCall adapts the expr into a CallExpr + // + // The Kind() must be equal to a CallKind for the conversion to be well-defined. + AsCall() CallExpr + + // AsComprehension adapts the expr into a ComprehensionExpr. + // + // The Kind() must be equal to a ComprehensionKind for the conversion to be well-defined. + AsComprehension() ComprehensionExpr + + // AsIdent adapts the expr into an identifier string. + // + // The Kind() must be equal to an IdentKind for the conversion to be well-defined. + AsIdent() string + + // AsLiteral adapts the expr into a constant ref.Val. + // + // The Kind() must be equal to a LiteralKind for the conversion to be well-defined. + AsLiteral() ref.Val + + // AsList adapts the expr into a ListExpr. + // + // The Kind() must be equal to a ListKind for the conversion to be well-defined. + AsList() ListExpr + + // AsMap adapts the expr into a MapExpr. + // + // The Kind() must be equal to a MapKind for the conversion to be well-defined. + AsMap() MapExpr + + // AsSelect adapts the expr into a SelectExpr. + // + // The Kind() must be equal to a SelectKind for the conversion to be well-defined. + AsSelect() SelectExpr + + // AsStruct adapts the expr into a StructExpr. + // + // The Kind() must be equal to a StructKind for the conversion to be well-defined. + AsStruct() StructExpr + + // RenumberIDs performs an in-place update of the expression and all of its descendents numeric ids. + RenumberIDs(IDGenerator) + + // SetKindCase replaces the contents of the current expression with the contents of the other. + // + // The SetKindCase takes ownership of any expression instances references within the input Expr. + // A shallow copy is made of the Expr value itself, but not a deep one. + // + // This method should only be used during AST rewrites using temporary Expr values. + SetKindCase(Expr) + + // isExpr is a marker interface. + isExpr() +} + +// EntryExprKind represents the possible EntryExpr kinds. +type EntryExprKind int + +const ( + // UnspecifiedEntryExprKind indicates that the entry expr is not set. + UnspecifiedEntryExprKind EntryExprKind = iota + + // MapEntryKind indicates that the entry is a MapEntry type with key and value expressions. + MapEntryKind + + // StructFieldKind indicates that the entry is a StructField with a field name and initializer + // expression. + StructFieldKind +) + +// EntryExpr represents the base entry expression in a CEL map or struct literal. +type EntryExpr interface { + // ID of the entry as it appears in the AST. + ID() int64 + + // Kind of the entry expression node. See EntryExprKind for valid enum values. + Kind() EntryExprKind + + // AsMapEntry casts the EntryExpr to a MapEntry. + // + // The Kind() must be equal to MapEntryKind for the conversion to be well-defined. + AsMapEntry() MapEntry + + // AsStructField casts the EntryExpr to a StructField + // + // The Kind() must be equal to StructFieldKind for the conversion to be well-defined. + AsStructField() StructField + + // RenumberIDs performs an in-place update of the expression and all of its descendents numeric ids. + RenumberIDs(IDGenerator) + + isEntryExpr() +} + +// IDGenerator produces unique ids suitable for tagging expression nodes +type IDGenerator func(originalID int64) int64 + +// CallExpr defines an interface for inspecting a function call and its arguments. +type CallExpr interface { + // FunctionName returns the name of the function. + FunctionName() string + + // IsMemberFunction returns whether the call has a non-nil target indicating it is a member function + IsMemberFunction() bool + + // Target returns the target of the expression if one is present. + Target() Expr + + // Args returns the list of call arguments, excluding the target. + Args() []Expr + + // marker interface method + isExpr() +} + +// ListExpr defines an interface for inspecting a list literal expression. +type ListExpr interface { + // Elements returns the list elements as navigable expressions. + Elements() []Expr + + // OptionalIndicies returns the list of optional indices in the list literal. + OptionalIndices() []int32 + + // IsOptional indicates whether the given element index is optional. + IsOptional(int32) bool + + // Size returns the number of elements in the list. + Size() int + + // marker interface method + isExpr() +} + +// SelectExpr defines an interface for inspecting a select expression. +type SelectExpr interface { + // Operand returns the selection operand expression. + Operand() Expr + + // FieldName returns the field name being selected from the operand. + FieldName() string + + // IsTestOnly indicates whether the select expression is a presence test generated by a macro. + IsTestOnly() bool + + // marker interface method + isExpr() +} + +// MapExpr defines an interface for inspecting a map expression. +type MapExpr interface { + // Entries returns the map key value pairs as EntryExpr values. + Entries() []EntryExpr + + // Size returns the number of entries in the map. + Size() int + + // marker interface method + isExpr() +} + +// MapEntry defines an interface for inspecting a map entry. +type MapEntry interface { + // Key returns the map entry key expression. + Key() Expr + + // Value returns the map entry value expression. + Value() Expr + + // IsOptional returns whether the entry is optional. + IsOptional() bool + + // marker interface method + isEntryExpr() +} + +// StructExpr defines an interfaces for inspecting a struct and its field initializers. +type StructExpr interface { + // TypeName returns the struct type name. + TypeName() string + + // Fields returns the set of field initializers in the struct expression as EntryExpr values. + Fields() []EntryExpr + + // marker interface method + isExpr() +} + +// StructField defines an interface for inspecting a struct field initialization. +type StructField interface { + // Name returns the name of the field. + Name() string + + // Value returns the field initialization expression. + Value() Expr + + // IsOptional returns whether the field is optional. + IsOptional() bool + + // marker interface method + isEntryExpr() +} + +// ComprehensionExpr defines an interface for inspecting a comprehension expression. +type ComprehensionExpr interface { + // IterRange returns the iteration range expression. + IterRange() Expr + + // IterVar returns the iteration variable name. + // + // For one-variable comprehensions, the iter var refers to the element value + // when iterating over a list, or the map key when iterating over a map. + // + // For two-variable comprehneions, the iter var refers to the list index or the + // map key. + IterVar() string + + // IterVar2 returns the second iteration variable name. + // + // When the value is non-empty, the comprehension is a two-variable comprehension. + IterVar2() string + + // HasIterVar2 returns true if the second iteration variable is non-empty. + HasIterVar2() bool + + // AccuVar returns the accumulation variable name. + AccuVar() string + + // AccuInit returns the accumulation variable initialization expression. + AccuInit() Expr + + // LoopCondition returns the loop condition expression. + LoopCondition() Expr + + // LoopStep returns the loop step expression. + LoopStep() Expr + + // Result returns the comprehension result expression. + Result() Expr + + // marker interface method + isExpr() +} + +var _ Expr = &expr{} + +type expr struct { + id int64 + exprKindCase +} + +type exprKindCase interface { + Kind() ExprKind + + renumberIDs(IDGenerator) + + isExpr() +} + +func (e *expr) ID() int64 { + if e == nil { + return 0 + } + return e.id +} + +func (e *expr) Kind() ExprKind { + if e == nil || e.exprKindCase == nil { + return UnspecifiedExprKind + } + return e.exprKindCase.Kind() +} + +func (e *expr) AsCall() CallExpr { + if e.Kind() != CallKind { + return nilCall + } + return e.exprKindCase.(CallExpr) +} + +func (e *expr) AsComprehension() ComprehensionExpr { + if e.Kind() != ComprehensionKind { + return nilCompre + } + return e.exprKindCase.(ComprehensionExpr) +} + +func (e *expr) AsIdent() string { + if e.Kind() != IdentKind { + return "" + } + return string(e.exprKindCase.(baseIdentExpr)) +} + +func (e *expr) AsLiteral() ref.Val { + if e.Kind() != LiteralKind { + return nil + } + return e.exprKindCase.(*baseLiteral).Val +} + +func (e *expr) AsList() ListExpr { + if e.Kind() != ListKind { + return nilList + } + return e.exprKindCase.(ListExpr) +} + +func (e *expr) AsMap() MapExpr { + if e.Kind() != MapKind { + return nilMap + } + return e.exprKindCase.(MapExpr) +} + +func (e *expr) AsSelect() SelectExpr { + if e.Kind() != SelectKind { + return nilSel + } + return e.exprKindCase.(SelectExpr) +} + +func (e *expr) AsStruct() StructExpr { + if e.Kind() != StructKind { + return nilStruct + } + return e.exprKindCase.(StructExpr) +} + +func (e *expr) SetKindCase(other Expr) { + if e == nil { + return + } + if other == nil { + e.exprKindCase = nil + return + } + switch other.Kind() { + case CallKind: + c := other.AsCall() + e.exprKindCase = &baseCallExpr{ + function: c.FunctionName(), + target: c.Target(), + args: c.Args(), + isMember: c.IsMemberFunction(), + } + case ComprehensionKind: + c := other.AsComprehension() + e.exprKindCase = &baseComprehensionExpr{ + iterRange: c.IterRange(), + iterVar: c.IterVar(), + iterVar2: c.IterVar2(), + accuVar: c.AccuVar(), + accuInit: c.AccuInit(), + loopCond: c.LoopCondition(), + loopStep: c.LoopStep(), + result: c.Result(), + } + case IdentKind: + e.exprKindCase = baseIdentExpr(other.AsIdent()) + case ListKind: + l := other.AsList() + optIndexMap := make(map[int32]struct{}, len(l.OptionalIndices())) + for _, idx := range l.OptionalIndices() { + optIndexMap[idx] = struct{}{} + } + e.exprKindCase = &baseListExpr{ + elements: l.Elements(), + optIndices: l.OptionalIndices(), + optIndexMap: optIndexMap, + } + case LiteralKind: + e.exprKindCase = &baseLiteral{Val: other.AsLiteral()} + case MapKind: + e.exprKindCase = &baseMapExpr{ + entries: other.AsMap().Entries(), + } + case SelectKind: + s := other.AsSelect() + e.exprKindCase = &baseSelectExpr{ + operand: s.Operand(), + field: s.FieldName(), + testOnly: s.IsTestOnly(), + } + case StructKind: + s := other.AsStruct() + e.exprKindCase = &baseStructExpr{ + typeName: s.TypeName(), + fields: s.Fields(), + } + case UnspecifiedExprKind: + e.exprKindCase = nil + } +} + +func (e *expr) RenumberIDs(idGen IDGenerator) { + if e == nil { + return + } + e.id = idGen(e.id) + if e.exprKindCase != nil { + e.exprKindCase.renumberIDs(idGen) + } +} + +type baseCallExpr struct { + function string + target Expr + args []Expr + isMember bool +} + +func (*baseCallExpr) Kind() ExprKind { + return CallKind +} + +func (e *baseCallExpr) FunctionName() string { + if e == nil { + return "" + } + return e.function +} + +func (e *baseCallExpr) IsMemberFunction() bool { + if e == nil { + return false + } + return e.isMember +} + +func (e *baseCallExpr) Target() Expr { + if e == nil || !e.IsMemberFunction() { + return nilExpr + } + return e.target +} + +func (e *baseCallExpr) Args() []Expr { + if e == nil { + return []Expr{} + } + return e.args +} + +func (e *baseCallExpr) renumberIDs(idGen IDGenerator) { + if e.IsMemberFunction() { + e.Target().RenumberIDs(idGen) + } + for _, arg := range e.Args() { + arg.RenumberIDs(idGen) + } +} + +func (*baseCallExpr) isExpr() {} + +var _ ComprehensionExpr = &baseComprehensionExpr{} + +type baseComprehensionExpr struct { + iterRange Expr + iterVar string + iterVar2 string + accuVar string + accuInit Expr + loopCond Expr + loopStep Expr + result Expr +} + +func (*baseComprehensionExpr) Kind() ExprKind { + return ComprehensionKind +} + +func (e *baseComprehensionExpr) IterRange() Expr { + if e == nil { + return nilExpr + } + return e.iterRange +} + +func (e *baseComprehensionExpr) IterVar() string { + return e.iterVar +} + +func (e *baseComprehensionExpr) IterVar2() string { + return e.iterVar2 +} + +func (e *baseComprehensionExpr) HasIterVar2() bool { + return e.iterVar2 != "" +} + +func (e *baseComprehensionExpr) AccuVar() string { + return e.accuVar +} + +func (e *baseComprehensionExpr) AccuInit() Expr { + if e == nil { + return nilExpr + } + return e.accuInit +} + +func (e *baseComprehensionExpr) LoopCondition() Expr { + if e == nil { + return nilExpr + } + return e.loopCond +} + +func (e *baseComprehensionExpr) LoopStep() Expr { + if e == nil { + return nilExpr + } + return e.loopStep +} + +func (e *baseComprehensionExpr) Result() Expr { + if e == nil { + return nilExpr + } + return e.result +} + +func (e *baseComprehensionExpr) renumberIDs(idGen IDGenerator) { + e.IterRange().RenumberIDs(idGen) + e.AccuInit().RenumberIDs(idGen) + e.LoopCondition().RenumberIDs(idGen) + e.LoopStep().RenumberIDs(idGen) + e.Result().RenumberIDs(idGen) +} + +func (*baseComprehensionExpr) isExpr() {} + +var _ exprKindCase = baseIdentExpr("") + +type baseIdentExpr string + +func (baseIdentExpr) Kind() ExprKind { + return IdentKind +} + +func (e baseIdentExpr) renumberIDs(IDGenerator) {} + +func (baseIdentExpr) isExpr() {} + +var _ exprKindCase = &baseLiteral{} +var _ ref.Val = &baseLiteral{} + +type baseLiteral struct { + ref.Val +} + +func (*baseLiteral) Kind() ExprKind { + return LiteralKind +} + +func (l *baseLiteral) renumberIDs(IDGenerator) {} + +func (*baseLiteral) isExpr() {} + +var _ ListExpr = &baseListExpr{} + +type baseListExpr struct { + elements []Expr + optIndices []int32 + optIndexMap map[int32]struct{} +} + +func (*baseListExpr) Kind() ExprKind { + return ListKind +} + +func (e *baseListExpr) Elements() []Expr { + if e == nil { + return []Expr{} + } + return e.elements +} + +func (e *baseListExpr) IsOptional(index int32) bool { + _, found := e.optIndexMap[index] + return found +} + +func (e *baseListExpr) OptionalIndices() []int32 { + if e == nil { + return []int32{} + } + return e.optIndices +} + +func (e *baseListExpr) Size() int { + return len(e.Elements()) +} + +func (e *baseListExpr) renumberIDs(idGen IDGenerator) { + for _, elem := range e.Elements() { + elem.RenumberIDs(idGen) + } +} + +func (*baseListExpr) isExpr() {} + +type baseMapExpr struct { + entries []EntryExpr +} + +func (*baseMapExpr) Kind() ExprKind { + return MapKind +} + +func (e *baseMapExpr) Entries() []EntryExpr { + if e == nil { + return []EntryExpr{} + } + return e.entries +} + +func (e *baseMapExpr) Size() int { + return len(e.Entries()) +} + +func (e *baseMapExpr) renumberIDs(idGen IDGenerator) { + for _, entry := range e.Entries() { + entry.RenumberIDs(idGen) + } +} + +func (*baseMapExpr) isExpr() {} + +type baseSelectExpr struct { + operand Expr + field string + testOnly bool +} + +func (*baseSelectExpr) Kind() ExprKind { + return SelectKind +} + +func (e *baseSelectExpr) Operand() Expr { + if e == nil || e.operand == nil { + return nilExpr + } + return e.operand +} + +func (e *baseSelectExpr) FieldName() string { + if e == nil { + return "" + } + return e.field +} + +func (e *baseSelectExpr) IsTestOnly() bool { + if e == nil { + return false + } + return e.testOnly +} + +func (e *baseSelectExpr) renumberIDs(idGen IDGenerator) { + e.Operand().RenumberIDs(idGen) +} + +func (*baseSelectExpr) isExpr() {} + +type baseStructExpr struct { + typeName string + fields []EntryExpr +} + +func (*baseStructExpr) Kind() ExprKind { + return StructKind +} + +func (e *baseStructExpr) TypeName() string { + if e == nil { + return "" + } + return e.typeName +} + +func (e *baseStructExpr) Fields() []EntryExpr { + if e == nil { + return []EntryExpr{} + } + return e.fields +} + +func (e *baseStructExpr) renumberIDs(idGen IDGenerator) { + for _, f := range e.Fields() { + f.RenumberIDs(idGen) + } +} + +func (*baseStructExpr) isExpr() {} + +type entryExprKindCase interface { + Kind() EntryExprKind + + renumberIDs(IDGenerator) + + isEntryExpr() +} + +var _ EntryExpr = &entryExpr{} + +type entryExpr struct { + id int64 + entryExprKindCase +} + +func (e *entryExpr) ID() int64 { + return e.id +} + +func (e *entryExpr) AsMapEntry() MapEntry { + if e.Kind() != MapEntryKind { + return nilMapEntry + } + return e.entryExprKindCase.(MapEntry) +} + +func (e *entryExpr) AsStructField() StructField { + if e.Kind() != StructFieldKind { + return nilStructField + } + return e.entryExprKindCase.(StructField) +} + +func (e *entryExpr) RenumberIDs(idGen IDGenerator) { + e.id = idGen(e.id) + e.entryExprKindCase.renumberIDs(idGen) +} + +type baseMapEntry struct { + key Expr + value Expr + isOptional bool +} + +func (e *baseMapEntry) Kind() EntryExprKind { + return MapEntryKind +} + +func (e *baseMapEntry) Key() Expr { + if e == nil { + return nilExpr + } + return e.key +} + +func (e *baseMapEntry) Value() Expr { + if e == nil { + return nilExpr + } + return e.value +} + +func (e *baseMapEntry) IsOptional() bool { + if e == nil { + return false + } + return e.isOptional +} + +func (e *baseMapEntry) renumberIDs(idGen IDGenerator) { + e.Key().RenumberIDs(idGen) + e.Value().RenumberIDs(idGen) +} + +func (*baseMapEntry) isEntryExpr() {} + +type baseStructField struct { + field string + value Expr + isOptional bool +} + +func (f *baseStructField) Kind() EntryExprKind { + return StructFieldKind +} + +func (f *baseStructField) Name() string { + if f == nil { + return "" + } + return f.field +} + +func (f *baseStructField) Value() Expr { + if f == nil { + return nilExpr + } + return f.value +} + +func (f *baseStructField) IsOptional() bool { + if f == nil { + return false + } + return f.isOptional +} + +func (f *baseStructField) renumberIDs(idGen IDGenerator) { + f.Value().RenumberIDs(idGen) +} + +func (*baseStructField) isEntryExpr() {} + +var ( + nilExpr *expr = nil + nilCall *baseCallExpr = nil + nilCompre *baseComprehensionExpr = nil + nilList *baseListExpr = nil + nilMap *baseMapExpr = nil + nilMapEntry *baseMapEntry = nil + nilSel *baseSelectExpr = nil + nilStruct *baseStructExpr = nil + nilStructField *baseStructField = nil +) diff --git a/vendor/github.com/google/cel-go/common/ast/factory.go b/vendor/github.com/google/cel-go/common/ast/factory.go new file mode 100644 index 000000000..994806b79 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/ast/factory.go @@ -0,0 +1,313 @@ +// 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 ast + +import "github.com/google/cel-go/common/types/ref" + +// ExprFactory interfaces defines a set of methods necessary for building native expression values. +type ExprFactory interface { + // CopyExpr creates a deep copy of the input Expr value. + CopyExpr(Expr) Expr + + // CopyEntryExpr creates a deep copy of the input EntryExpr value. + CopyEntryExpr(EntryExpr) EntryExpr + + // NewCall creates an Expr value representing a global function call. + NewCall(id int64, function string, args ...Expr) Expr + + // NewComprehension creates an Expr value representing a one-variable comprehension over a value range. + NewComprehension(id int64, iterRange Expr, iterVar, accuVar string, accuInit, loopCondition, loopStep, result Expr) Expr + + // NewComprehensionTwoVar creates an Expr value representing a two-variable comprehension over a value range. + NewComprehensionTwoVar(id int64, iterRange Expr, iterVar, iterVar2, accuVar string, accuInit, loopCondition, loopStep, result Expr) Expr + + // NewMemberCall creates an Expr value representing a member function call. + NewMemberCall(id int64, function string, receiver Expr, args ...Expr) Expr + + // NewIdent creates an Expr value representing an identifier. + NewIdent(id int64, name string) Expr + + // NewAccuIdent creates an Expr value representing an accumulator identifier within a + //comprehension. + NewAccuIdent(id int64) Expr + + // NewLiteral creates an Expr value representing a literal value, such as a string or integer. + NewLiteral(id int64, value ref.Val) Expr + + // NewList creates an Expr value representing a list literal expression with optional indices. + // + // Optional indicies will typically be empty unless the CEL optional types are enabled. + NewList(id int64, elems []Expr, optIndices []int32) Expr + + // NewMap creates an Expr value representing a map literal expression + NewMap(id int64, entries []EntryExpr) Expr + + // NewMapEntry creates a MapEntry with a given key, value, and a flag indicating whether + // the key is optionally set. + NewMapEntry(id int64, key, value Expr, isOptional bool) EntryExpr + + // NewPresenceTest creates an Expr representing a field presence test on an operand expression. + NewPresenceTest(id int64, operand Expr, field string) Expr + + // NewSelect creates an Expr representing a field selection on an operand expression. + NewSelect(id int64, operand Expr, field string) Expr + + // NewStruct creates an Expr value representing a struct literal with a given type name and a + // set of field initializers. + NewStruct(id int64, typeName string, fields []EntryExpr) Expr + + // NewStructField creates a StructField with a given field name, value, and a flag indicating + // whether the field is optionally set. + NewStructField(id int64, field string, value Expr, isOptional bool) EntryExpr + + // NewUnspecifiedExpr creates an empty expression node. + NewUnspecifiedExpr(id int64) Expr + + isExprFactory() +} + +type baseExprFactory struct{} + +// NewExprFactory creates an ExprFactory instance. +func NewExprFactory() ExprFactory { + return &baseExprFactory{} +} + +func (fac *baseExprFactory) NewCall(id int64, function string, args ...Expr) Expr { + if len(args) == 0 { + args = []Expr{} + } + return fac.newExpr( + id, + &baseCallExpr{ + function: function, + target: nilExpr, + args: args, + isMember: false, + }) +} + +func (fac *baseExprFactory) NewMemberCall(id int64, function string, target Expr, args ...Expr) Expr { + if len(args) == 0 { + args = []Expr{} + } + return fac.newExpr( + id, + &baseCallExpr{ + function: function, + target: target, + args: args, + isMember: true, + }) +} + +func (fac *baseExprFactory) NewComprehension(id int64, iterRange Expr, iterVar, accuVar string, accuInit, loopCond, loopStep, result Expr) Expr { + // Set the iter_var2 to empty string to indicate the second variable is omitted + return fac.NewComprehensionTwoVar(id, iterRange, iterVar, "", accuVar, accuInit, loopCond, loopStep, result) +} + +func (fac *baseExprFactory) NewComprehensionTwoVar(id int64, iterRange Expr, iterVar, iterVar2, accuVar string, accuInit, loopCond, loopStep, result Expr) Expr { + return fac.newExpr( + id, + &baseComprehensionExpr{ + iterRange: iterRange, + iterVar: iterVar, + iterVar2: iterVar2, + accuVar: accuVar, + accuInit: accuInit, + loopCond: loopCond, + loopStep: loopStep, + result: result, + }) +} + +func (fac *baseExprFactory) NewIdent(id int64, name string) Expr { + return fac.newExpr(id, baseIdentExpr(name)) +} + +func (fac *baseExprFactory) NewAccuIdent(id int64) Expr { + return fac.NewIdent(id, "__result__") +} + +func (fac *baseExprFactory) NewLiteral(id int64, value ref.Val) Expr { + return fac.newExpr(id, &baseLiteral{Val: value}) +} + +func (fac *baseExprFactory) NewList(id int64, elems []Expr, optIndices []int32) Expr { + optIndexMap := make(map[int32]struct{}, len(optIndices)) + for _, idx := range optIndices { + optIndexMap[idx] = struct{}{} + } + return fac.newExpr(id, + &baseListExpr{ + elements: elems, + optIndices: optIndices, + optIndexMap: optIndexMap, + }) +} + +func (fac *baseExprFactory) NewMap(id int64, entries []EntryExpr) Expr { + return fac.newExpr(id, &baseMapExpr{entries: entries}) +} + +func (fac *baseExprFactory) NewMapEntry(id int64, key, value Expr, isOptional bool) EntryExpr { + return fac.newEntryExpr( + id, + &baseMapEntry{ + key: key, + value: value, + isOptional: isOptional, + }) +} + +func (fac *baseExprFactory) NewPresenceTest(id int64, operand Expr, field string) Expr { + return fac.newExpr( + id, + &baseSelectExpr{ + operand: operand, + field: field, + testOnly: true, + }) +} + +func (fac *baseExprFactory) NewSelect(id int64, operand Expr, field string) Expr { + return fac.newExpr( + id, + &baseSelectExpr{ + operand: operand, + field: field, + }) +} + +func (fac *baseExprFactory) NewStruct(id int64, typeName string, fields []EntryExpr) Expr { + return fac.newExpr( + id, + &baseStructExpr{ + typeName: typeName, + fields: fields, + }) +} + +func (fac *baseExprFactory) NewStructField(id int64, field string, value Expr, isOptional bool) EntryExpr { + return fac.newEntryExpr( + id, + &baseStructField{ + field: field, + value: value, + isOptional: isOptional, + }) +} + +func (fac *baseExprFactory) NewUnspecifiedExpr(id int64) Expr { + return fac.newExpr(id, nil) +} + +func (fac *baseExprFactory) CopyExpr(e Expr) Expr { + // unwrap navigable expressions to avoid unnecessary allocations during copying. + if nav, ok := e.(*navigableExprImpl); ok { + e = nav.Expr + } + switch e.Kind() { + case CallKind: + c := e.AsCall() + argsCopy := make([]Expr, len(c.Args())) + for i, arg := range c.Args() { + argsCopy[i] = fac.CopyExpr(arg) + } + if !c.IsMemberFunction() { + return fac.NewCall(e.ID(), c.FunctionName(), argsCopy...) + } + return fac.NewMemberCall(e.ID(), c.FunctionName(), fac.CopyExpr(c.Target()), argsCopy...) + case ComprehensionKind: + compre := e.AsComprehension() + return fac.NewComprehensionTwoVar(e.ID(), + fac.CopyExpr(compre.IterRange()), + compre.IterVar(), + compre.IterVar2(), + compre.AccuVar(), + fac.CopyExpr(compre.AccuInit()), + fac.CopyExpr(compre.LoopCondition()), + fac.CopyExpr(compre.LoopStep()), + fac.CopyExpr(compre.Result())) + case IdentKind: + return fac.NewIdent(e.ID(), e.AsIdent()) + case ListKind: + l := e.AsList() + elemsCopy := make([]Expr, l.Size()) + for i, elem := range l.Elements() { + elemsCopy[i] = fac.CopyExpr(elem) + } + return fac.NewList(e.ID(), elemsCopy, l.OptionalIndices()) + case LiteralKind: + return fac.NewLiteral(e.ID(), e.AsLiteral()) + case MapKind: + m := e.AsMap() + entriesCopy := make([]EntryExpr, m.Size()) + for i, entry := range m.Entries() { + entriesCopy[i] = fac.CopyEntryExpr(entry) + } + return fac.NewMap(e.ID(), entriesCopy) + case SelectKind: + s := e.AsSelect() + if s.IsTestOnly() { + return fac.NewPresenceTest(e.ID(), fac.CopyExpr(s.Operand()), s.FieldName()) + } + return fac.NewSelect(e.ID(), fac.CopyExpr(s.Operand()), s.FieldName()) + case StructKind: + s := e.AsStruct() + fieldsCopy := make([]EntryExpr, len(s.Fields())) + for i, field := range s.Fields() { + fieldsCopy[i] = fac.CopyEntryExpr(field) + } + return fac.NewStruct(e.ID(), s.TypeName(), fieldsCopy) + default: + return fac.NewUnspecifiedExpr(e.ID()) + } +} + +func (fac *baseExprFactory) CopyEntryExpr(e EntryExpr) EntryExpr { + switch e.Kind() { + case MapEntryKind: + entry := e.AsMapEntry() + return fac.NewMapEntry(e.ID(), + fac.CopyExpr(entry.Key()), fac.CopyExpr(entry.Value()), entry.IsOptional()) + case StructFieldKind: + field := e.AsStructField() + return fac.NewStructField(e.ID(), + field.Name(), fac.CopyExpr(field.Value()), field.IsOptional()) + default: + return fac.newEntryExpr(e.ID(), nil) + } +} + +func (*baseExprFactory) isExprFactory() {} + +func (fac *baseExprFactory) newExpr(id int64, e exprKindCase) Expr { + return &expr{ + id: id, + exprKindCase: e, + } +} + +func (fac *baseExprFactory) newEntryExpr(id int64, e entryExprKindCase) EntryExpr { + return &entryExpr{ + id: id, + entryExprKindCase: e, + } +} + +var ( + defaultFactory = &baseExprFactory{} +) diff --git a/vendor/github.com/google/cel-go/common/ast/navigable.go b/vendor/github.com/google/cel-go/common/ast/navigable.go new file mode 100644 index 000000000..d7a90fb7c --- /dev/null +++ b/vendor/github.com/google/cel-go/common/ast/navigable.go @@ -0,0 +1,660 @@ +// 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 ast + +import ( + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" +) + +// NavigableExpr represents the base navigable expression value with methods to inspect the +// parent and child expressions. +type NavigableExpr interface { + Expr + + // Type of the expression. + // + // If the expression is type-checked, the type check metadata is returned. If the expression + // has not been type-checked, the types.DynType value is returned. + Type() *types.Type + + // Parent returns the parent expression node, if one exists. + Parent() (NavigableExpr, bool) + + // Children returns a list of child expression nodes. + Children() []NavigableExpr + + // Depth indicates the depth in the expression tree. + // + // The root expression has depth 0. + Depth() int +} + +// NavigateAST converts an AST to a NavigableExpr +func NavigateAST(ast *AST) NavigableExpr { + return NavigateExpr(ast, ast.Expr()) +} + +// NavigateExpr creates a NavigableExpr whose type information is backed by the input AST. +// +// If the expression is already a NavigableExpr, the parent and depth information will be +// propagated on the new NavigableExpr value; otherwise, the expr value will be treated +// as though it is the root of the expression graph with a depth of 0. +func NavigateExpr(ast *AST, expr Expr) NavigableExpr { + depth := 0 + var parent NavigableExpr = nil + if nav, ok := expr.(NavigableExpr); ok { + depth = nav.Depth() + parent, _ = nav.Parent() + } + return newNavigableExpr(ast, parent, expr, depth) +} + +// ExprMatcher takes a NavigableExpr in and indicates whether the value is a match. +// +// This function type should be use with the `Match` and `MatchList` calls. +type ExprMatcher func(NavigableExpr) bool + +// ConstantValueMatcher returns an ExprMatcher which will return true if the input NavigableExpr +// is comprised of all constant values, such as a simple literal or even list and map literal. +func ConstantValueMatcher() ExprMatcher { + return matchIsConstantValue +} + +// KindMatcher returns an ExprMatcher which will return true if the input NavigableExpr.Kind() matches +// the specified `kind`. +func KindMatcher(kind ExprKind) ExprMatcher { + return func(e NavigableExpr) bool { + return e.Kind() == kind + } +} + +// FunctionMatcher returns an ExprMatcher which will match NavigableExpr nodes of CallKind type whose +// function name is equal to `funcName`. +func FunctionMatcher(funcName string) ExprMatcher { + return func(e NavigableExpr) bool { + if e.Kind() != CallKind { + return false + } + return e.AsCall().FunctionName() == funcName + } +} + +// AllMatcher returns true for all descendants of a NavigableExpr, effectively flattening them into a list. +// +// Such a result would work well with subsequent MatchList calls. +func AllMatcher() ExprMatcher { + return func(NavigableExpr) bool { + return true + } +} + +// MatchDescendants takes a NavigableExpr and ExprMatcher and produces a list of NavigableExpr values +// matching the input criteria in post-order (bottom up). +func MatchDescendants(expr NavigableExpr, matcher ExprMatcher) []NavigableExpr { + matches := []NavigableExpr{} + navVisitor := &baseVisitor{ + visitExpr: func(e Expr) { + nav := e.(NavigableExpr) + if matcher(nav) { + matches = append(matches, nav) + } + }, + } + visit(expr, navVisitor, postOrder, 0, 0) + return matches +} + +// MatchSubset applies an ExprMatcher to a list of NavigableExpr values and their descendants, producing a +// subset of NavigableExpr values which match. +func MatchSubset(exprs []NavigableExpr, matcher ExprMatcher) []NavigableExpr { + matches := []NavigableExpr{} + navVisitor := &baseVisitor{ + visitExpr: func(e Expr) { + nav := e.(NavigableExpr) + if matcher(nav) { + matches = append(matches, nav) + } + }, + } + for _, expr := range exprs { + visit(expr, navVisitor, postOrder, 0, 1) + } + return matches +} + +// Visitor defines an object for visiting Expr and EntryExpr nodes within an expression graph. +type Visitor interface { + // VisitExpr visits the input expression. + VisitExpr(Expr) + + // VisitEntryExpr visits the input entry expression, i.e. a struct field or map entry. + VisitEntryExpr(EntryExpr) +} + +type baseVisitor struct { + visitExpr func(Expr) + visitEntryExpr func(EntryExpr) +} + +// VisitExpr visits the Expr if the internal expr visitor has been configured. +func (v *baseVisitor) VisitExpr(e Expr) { + if v.visitExpr != nil { + v.visitExpr(e) + } +} + +// VisitEntryExpr visits the entry if the internal expr entry visitor has been configured. +func (v *baseVisitor) VisitEntryExpr(e EntryExpr) { + if v.visitEntryExpr != nil { + v.visitEntryExpr(e) + } +} + +// NewExprVisitor creates a visitor which only visits expression nodes. +func NewExprVisitor(v func(Expr)) Visitor { + return &baseVisitor{ + visitExpr: v, + visitEntryExpr: nil, + } +} + +// PostOrderVisit walks the expression graph and calls the visitor in post-order (bottom-up). +func PostOrderVisit(expr Expr, visitor Visitor) { + visit(expr, visitor, postOrder, 0, 0) +} + +// PreOrderVisit walks the expression graph and calls the visitor in pre-order (top-down). +func PreOrderVisit(expr Expr, visitor Visitor) { + visit(expr, visitor, preOrder, 0, 0) +} + +type visitOrder int + +const ( + preOrder = iota + 1 + postOrder +) + +// TODO: consider exposing a way to configure a limit for the max visit depth. +// It's possible that we could want to configure this on the NewExprVisitor() +// and through MatchDescendents() / MaxID(). +func visit(expr Expr, visitor Visitor, order visitOrder, depth, maxDepth int) { + if maxDepth > 0 && depth == maxDepth { + return + } + if order == preOrder { + visitor.VisitExpr(expr) + } + switch expr.Kind() { + case CallKind: + c := expr.AsCall() + if c.IsMemberFunction() { + visit(c.Target(), visitor, order, depth+1, maxDepth) + } + for _, arg := range c.Args() { + visit(arg, visitor, order, depth+1, maxDepth) + } + case ComprehensionKind: + c := expr.AsComprehension() + visit(c.IterRange(), visitor, order, depth+1, maxDepth) + visit(c.AccuInit(), visitor, order, depth+1, maxDepth) + visit(c.LoopCondition(), visitor, order, depth+1, maxDepth) + visit(c.LoopStep(), visitor, order, depth+1, maxDepth) + visit(c.Result(), visitor, order, depth+1, maxDepth) + case ListKind: + l := expr.AsList() + for _, elem := range l.Elements() { + visit(elem, visitor, order, depth+1, maxDepth) + } + case MapKind: + m := expr.AsMap() + for _, e := range m.Entries() { + if order == preOrder { + visitor.VisitEntryExpr(e) + } + entry := e.AsMapEntry() + visit(entry.Key(), visitor, order, depth+1, maxDepth) + visit(entry.Value(), visitor, order, depth+1, maxDepth) + if order == postOrder { + visitor.VisitEntryExpr(e) + } + } + case SelectKind: + visit(expr.AsSelect().Operand(), visitor, order, depth+1, maxDepth) + case StructKind: + s := expr.AsStruct() + for _, f := range s.Fields() { + visitor.VisitEntryExpr(f) + visit(f.AsStructField().Value(), visitor, order, depth+1, maxDepth) + } + } + if order == postOrder { + visitor.VisitExpr(expr) + } +} + +func matchIsConstantValue(e NavigableExpr) bool { + if e.Kind() == LiteralKind { + return true + } + if e.Kind() == StructKind || e.Kind() == MapKind || e.Kind() == ListKind { + for _, child := range e.Children() { + if !matchIsConstantValue(child) { + return false + } + } + return true + } + return false +} + +func newNavigableExpr(ast *AST, parent NavigableExpr, expr Expr, depth int) NavigableExpr { + // Reduce navigable expression nesting by unwrapping the embedded Expr value. + if nav, ok := expr.(*navigableExprImpl); ok { + expr = nav.Expr + } + nav := &navigableExprImpl{ + Expr: expr, + depth: depth, + ast: ast, + parent: parent, + createChildren: getChildFactory(expr), + } + return nav +} + +type navigableExprImpl struct { + Expr + depth int + ast *AST + parent NavigableExpr + createChildren childFactory +} + +func (nav *navigableExprImpl) Parent() (NavigableExpr, bool) { + if nav.parent != nil { + return nav.parent, true + } + return nil, false +} + +func (nav *navigableExprImpl) ID() int64 { + return nav.Expr.ID() +} + +func (nav *navigableExprImpl) Kind() ExprKind { + return nav.Expr.Kind() +} + +func (nav *navigableExprImpl) Type() *types.Type { + return nav.ast.GetType(nav.ID()) +} + +func (nav *navigableExprImpl) Children() []NavigableExpr { + return nav.createChildren(nav) +} + +func (nav *navigableExprImpl) Depth() int { + return nav.depth +} + +func (nav *navigableExprImpl) AsCall() CallExpr { + return navigableCallImpl{navigableExprImpl: nav} +} + +func (nav *navigableExprImpl) AsComprehension() ComprehensionExpr { + return navigableComprehensionImpl{navigableExprImpl: nav} +} + +func (nav *navigableExprImpl) AsIdent() string { + return nav.Expr.AsIdent() +} + +func (nav *navigableExprImpl) AsList() ListExpr { + return navigableListImpl{navigableExprImpl: nav} +} + +func (nav *navigableExprImpl) AsLiteral() ref.Val { + return nav.Expr.AsLiteral() +} + +func (nav *navigableExprImpl) AsMap() MapExpr { + return navigableMapImpl{navigableExprImpl: nav} +} + +func (nav *navigableExprImpl) AsSelect() SelectExpr { + return navigableSelectImpl{navigableExprImpl: nav} +} + +func (nav *navigableExprImpl) AsStruct() StructExpr { + return navigableStructImpl{navigableExprImpl: nav} +} + +func (nav *navigableExprImpl) createChild(e Expr) NavigableExpr { + return newNavigableExpr(nav.ast, nav, e, nav.depth+1) +} + +func (nav *navigableExprImpl) isExpr() {} + +type navigableCallImpl struct { + *navigableExprImpl +} + +func (call navigableCallImpl) FunctionName() string { + return call.Expr.AsCall().FunctionName() +} + +func (call navigableCallImpl) IsMemberFunction() bool { + return call.Expr.AsCall().IsMemberFunction() +} + +func (call navigableCallImpl) Target() Expr { + t := call.Expr.AsCall().Target() + if t != nil { + return call.createChild(t) + } + return nil +} + +func (call navigableCallImpl) Args() []Expr { + args := call.Expr.AsCall().Args() + navArgs := make([]Expr, len(args)) + for i, a := range args { + navArgs[i] = call.createChild(a) + } + return navArgs +} + +type navigableComprehensionImpl struct { + *navigableExprImpl +} + +func (comp navigableComprehensionImpl) IterRange() Expr { + return comp.createChild(comp.Expr.AsComprehension().IterRange()) +} + +func (comp navigableComprehensionImpl) IterVar() string { + return comp.Expr.AsComprehension().IterVar() +} + +func (comp navigableComprehensionImpl) IterVar2() string { + return comp.Expr.AsComprehension().IterVar2() +} + +func (comp navigableComprehensionImpl) HasIterVar2() bool { + return comp.Expr.AsComprehension().HasIterVar2() +} + +func (comp navigableComprehensionImpl) AccuVar() string { + return comp.Expr.AsComprehension().AccuVar() +} + +func (comp navigableComprehensionImpl) AccuInit() Expr { + return comp.createChild(comp.Expr.AsComprehension().AccuInit()) +} + +func (comp navigableComprehensionImpl) LoopCondition() Expr { + return comp.createChild(comp.Expr.AsComprehension().LoopCondition()) +} + +func (comp navigableComprehensionImpl) LoopStep() Expr { + return comp.createChild(comp.Expr.AsComprehension().LoopStep()) +} + +func (comp navigableComprehensionImpl) Result() Expr { + return comp.createChild(comp.Expr.AsComprehension().Result()) +} + +type navigableListImpl struct { + *navigableExprImpl +} + +func (l navigableListImpl) Elements() []Expr { + pbElems := l.Expr.AsList().Elements() + elems := make([]Expr, len(pbElems)) + for i := 0; i < len(pbElems); i++ { + elems[i] = l.createChild(pbElems[i]) + } + return elems +} + +func (l navigableListImpl) IsOptional(index int32) bool { + return l.Expr.AsList().IsOptional(index) +} + +func (l navigableListImpl) OptionalIndices() []int32 { + return l.Expr.AsList().OptionalIndices() +} + +func (l navigableListImpl) Size() int { + return l.Expr.AsList().Size() +} + +type navigableMapImpl struct { + *navigableExprImpl +} + +func (m navigableMapImpl) Entries() []EntryExpr { + mapExpr := m.Expr.AsMap() + entries := make([]EntryExpr, len(mapExpr.Entries())) + for i, e := range mapExpr.Entries() { + entry := e.AsMapEntry() + entries[i] = &entryExpr{ + id: e.ID(), + entryExprKindCase: navigableEntryImpl{ + key: m.createChild(entry.Key()), + val: m.createChild(entry.Value()), + isOpt: entry.IsOptional(), + }, + } + } + return entries +} + +func (m navigableMapImpl) Size() int { + return m.Expr.AsMap().Size() +} + +type navigableEntryImpl struct { + key NavigableExpr + val NavigableExpr + isOpt bool +} + +func (e navigableEntryImpl) Kind() EntryExprKind { + return MapEntryKind +} + +func (e navigableEntryImpl) Key() Expr { + return e.key +} + +func (e navigableEntryImpl) Value() Expr { + return e.val +} + +func (e navigableEntryImpl) IsOptional() bool { + return e.isOpt +} + +func (e navigableEntryImpl) renumberIDs(IDGenerator) {} + +func (e navigableEntryImpl) isEntryExpr() {} + +type navigableSelectImpl struct { + *navigableExprImpl +} + +func (sel navigableSelectImpl) FieldName() string { + return sel.Expr.AsSelect().FieldName() +} + +func (sel navigableSelectImpl) IsTestOnly() bool { + return sel.Expr.AsSelect().IsTestOnly() +} + +func (sel navigableSelectImpl) Operand() Expr { + return sel.createChild(sel.Expr.AsSelect().Operand()) +} + +type navigableStructImpl struct { + *navigableExprImpl +} + +func (s navigableStructImpl) TypeName() string { + return s.Expr.AsStruct().TypeName() +} + +func (s navigableStructImpl) Fields() []EntryExpr { + fieldInits := s.Expr.AsStruct().Fields() + fields := make([]EntryExpr, len(fieldInits)) + for i, f := range fieldInits { + field := f.AsStructField() + fields[i] = &entryExpr{ + id: f.ID(), + entryExprKindCase: navigableFieldImpl{ + name: field.Name(), + val: s.createChild(field.Value()), + isOpt: field.IsOptional(), + }, + } + } + return fields +} + +type navigableFieldImpl struct { + name string + val NavigableExpr + isOpt bool +} + +func (f navigableFieldImpl) Kind() EntryExprKind { + return StructFieldKind +} + +func (f navigableFieldImpl) Name() string { + return f.name +} + +func (f navigableFieldImpl) Value() Expr { + return f.val +} + +func (f navigableFieldImpl) IsOptional() bool { + return f.isOpt +} + +func (f navigableFieldImpl) renumberIDs(IDGenerator) {} + +func (f navigableFieldImpl) isEntryExpr() {} + +func getChildFactory(expr Expr) childFactory { + if expr == nil { + return noopFactory + } + switch expr.Kind() { + case LiteralKind: + return noopFactory + case IdentKind: + return noopFactory + case SelectKind: + return selectFactory + case CallKind: + return callArgFactory + case ListKind: + return listElemFactory + case MapKind: + return mapEntryFactory + case StructKind: + return structEntryFactory + case ComprehensionKind: + return comprehensionFactory + default: + return noopFactory + } +} + +type childFactory func(*navigableExprImpl) []NavigableExpr + +func noopFactory(*navigableExprImpl) []NavigableExpr { + return nil +} + +func selectFactory(nav *navigableExprImpl) []NavigableExpr { + return []NavigableExpr{nav.createChild(nav.AsSelect().Operand())} +} + +func callArgFactory(nav *navigableExprImpl) []NavigableExpr { + call := nav.Expr.AsCall() + argCount := len(call.Args()) + if call.IsMemberFunction() { + argCount++ + } + navExprs := make([]NavigableExpr, argCount) + i := 0 + if call.IsMemberFunction() { + navExprs[i] = nav.createChild(call.Target()) + i++ + } + for _, arg := range call.Args() { + navExprs[i] = nav.createChild(arg) + i++ + } + return navExprs +} + +func listElemFactory(nav *navigableExprImpl) []NavigableExpr { + l := nav.Expr.AsList() + navExprs := make([]NavigableExpr, len(l.Elements())) + for i, e := range l.Elements() { + navExprs[i] = nav.createChild(e) + } + return navExprs +} + +func structEntryFactory(nav *navigableExprImpl) []NavigableExpr { + s := nav.Expr.AsStruct() + entries := make([]NavigableExpr, len(s.Fields())) + for i, e := range s.Fields() { + f := e.AsStructField() + entries[i] = nav.createChild(f.Value()) + } + return entries +} + +func mapEntryFactory(nav *navigableExprImpl) []NavigableExpr { + m := nav.Expr.AsMap() + entries := make([]NavigableExpr, len(m.Entries())*2) + j := 0 + for _, e := range m.Entries() { + mapEntry := e.AsMapEntry() + entries[j] = nav.createChild(mapEntry.Key()) + entries[j+1] = nav.createChild(mapEntry.Value()) + j += 2 + } + return entries +} + +func comprehensionFactory(nav *navigableExprImpl) []NavigableExpr { + compre := nav.Expr.AsComprehension() + return []NavigableExpr{ + nav.createChild(compre.IterRange()), + nav.createChild(compre.AccuInit()), + nav.createChild(compre.LoopCondition()), + nav.createChild(compre.LoopStep()), + nav.createChild(compre.Result()), + } +} diff --git a/vendor/github.com/google/cel-go/common/containers/BUILD.bazel b/vendor/github.com/google/cel-go/common/containers/BUILD.bazel new file mode 100644 index 000000000..81197f064 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/containers/BUILD.bazel @@ -0,0 +1,31 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +package( + default_visibility = ["//visibility:public"], + licenses = ["notice"], # Apache 2.0 +) + +go_library( + name = "go_default_library", + srcs = [ + "container.go", + ], + importpath = "github.com/google/cel-go/common/containers", + deps = [ + "//common/ast:go_default_library", + ], +) + +go_test( + name = "go_default_test", + size = "small", + srcs = [ + "container_test.go", + ], + embed = [ + ":go_default_library", + ], + deps = [ + "//common/ast:go_default_library", + ], +) diff --git a/vendor/github.com/google/cel-go/common/containers/container.go b/vendor/github.com/google/cel-go/common/containers/container.go new file mode 100644 index 000000000..3097a3f78 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/containers/container.go @@ -0,0 +1,328 @@ +// Copyright 2018 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 containers defines types and functions for resolving qualified names within a namespace +// or type provided to CEL. +package containers + +import ( + "fmt" + "strings" + "unicode" + + "github.com/google/cel-go/common/ast" +) + +var ( + // DefaultContainer has an empty container name. + DefaultContainer *Container = nil + + // Empty map to search for aliases when needed. + noAliases = make(map[string]string) +) + +// NewContainer creates a new Container with the fully-qualified name. +func NewContainer(opts ...ContainerOption) (*Container, error) { + var c *Container + var err error + for _, opt := range opts { + c, err = opt(c) + if err != nil { + return nil, err + } + } + return c, nil +} + +// Container holds a reference to an optional qualified container name and set of aliases. +// +// The program container can be used to simplify variable, function, and type specification within +// CEL programs and behaves more or less like a C++ namespace. See ResolveCandidateNames for more +// details. +type Container struct { + name string + aliases map[string]string +} + +// Extend creates a new Container with the existing settings and applies a series of +// ContainerOptions to further configure the new container. +func (c *Container) Extend(opts ...ContainerOption) (*Container, error) { + if c == nil { + return NewContainer(opts...) + } + // Copy the name and aliases of the existing container. + ext := &Container{name: c.Name()} + if len(c.aliasSet()) > 0 { + aliasSet := make(map[string]string, len(c.aliasSet())) + for k, v := range c.aliasSet() { + aliasSet[k] = v + } + ext.aliases = aliasSet + } + // Apply the new options to the container. + var err error + for _, opt := range opts { + ext, err = opt(ext) + if err != nil { + return nil, err + } + } + return ext, nil +} + +// Name returns the fully-qualified name of the container. +// +// The name may conceptually be a namespace, package, or type. +func (c *Container) Name() string { + if c == nil { + return "" + } + return c.name +} + +// ResolveCandidateNames returns the candidates name of namespaced identifiers in C++ resolution +// order. +// +// Names which shadow other names are returned first. If a name includes a leading dot ('.'), +// the name is treated as an absolute identifier which cannot be shadowed. +// +// Given a container name a.b.c.M.N and a type name R.s, this will deliver in order: +// +// a.b.c.M.N.R.s +// a.b.c.M.R.s +// a.b.c.R.s +// a.b.R.s +// a.R.s +// R.s +// +// If aliases or abbreviations are configured for the container, then alias names will take +// precedence over containerized names. +func (c *Container) ResolveCandidateNames(name string) []string { + if strings.HasPrefix(name, ".") { + qn := name[1:] + alias, isAlias := c.findAlias(qn) + if isAlias { + return []string{alias} + } + return []string{qn} + } + alias, isAlias := c.findAlias(name) + if isAlias { + return []string{alias} + } + if c.Name() == "" { + return []string{name} + } + nextCont := c.Name() + candidates := []string{nextCont + "." + name} + for i := strings.LastIndex(nextCont, "."); i >= 0; i = strings.LastIndex(nextCont, ".") { + nextCont = nextCont[:i] + candidates = append(candidates, nextCont+"."+name) + } + return append(candidates, name) +} + +// aliasSet returns the alias to fully-qualified name mapping stored in the container. +func (c *Container) aliasSet() map[string]string { + if c == nil || c.aliases == nil { + return noAliases + } + return c.aliases +} + +// findAlias takes a name as input and returns an alias expansion if one exists. +// +// If the name is qualified, the first component of the qualified name is checked against known +// aliases. Any alias that is found in a qualified name is expanded in the result: +// +// alias: R -> my.alias.R +// name: R.S.T +// output: my.alias.R.S.T +// +// Note, the name must not have a leading dot. +func (c *Container) findAlias(name string) (string, bool) { + // If an alias exists for the name, ensure it is searched last. + simple := name + qualifier := "" + dot := strings.Index(name, ".") + if dot >= 0 { + simple = name[0:dot] + qualifier = name[dot:] + } + alias, found := c.aliasSet()[simple] + if !found { + return "", false + } + return alias + qualifier, true +} + +// ContainerOption specifies a functional configuration option for a Container. +// +// Note, ContainerOption implementations must be able to handle nil container inputs. +type ContainerOption func(*Container) (*Container, error) + +// Abbrevs configures a set of simple names as abbreviations for fully-qualified names. +// +// An abbreviation (abbrev for short) is a simple name that expands to a fully-qualified name. +// Abbreviations can be useful when working with variables, functions, and especially types from +// multiple namespaces: +// +// // CEL object construction +// qual.pkg.version.ObjTypeName{ +// field: alt.container.ver.FieldTypeName{value: ...} +// } +// +// Only one the qualified names above may be used as the CEL container, so at least one of these +// references must be a long qualified name within an otherwise short CEL program. Using the +// following abbreviations, the program becomes much simpler: +// +// // CEL Go option +// Abbrevs("qual.pkg.version.ObjTypeName", "alt.container.ver.FieldTypeName") +// // Simplified Object construction +// ObjTypeName{field: FieldTypeName{value: ...}} +// +// There are a few rules for the qualified names and the simple abbreviations generated from them: +// - Qualified names must be dot-delimited, e.g. `package.subpkg.name`. +// - The last element in the qualified name is the abbreviation. +// - Abbreviations must not collide with each other. +// - The abbreviation must not collide with unqualified names in use. +// +// Abbreviations are distinct from container-based references in the following important ways: +// - Abbreviations must expand to a fully-qualified name. +// - Expanded abbreviations do not participate in namespace resolution. +// - Abbreviation expansion is done instead of the container search for a matching identifier. +// - Containers follow C++ namespace resolution rules with searches from the most qualified name +// to the least qualified name. +// - Container references within the CEL program may be relative, and are resolved to fully +// qualified names at either type-check time or program plan time, whichever comes first. +// +// If there is ever a case where an identifier could be in both the container and as an +// abbreviation, the abbreviation wins as this will ensure that the meaning of a program is +// preserved between compilations even as the container evolves. +func Abbrevs(qualifiedNames ...string) ContainerOption { + return func(c *Container) (*Container, error) { + for _, qn := range qualifiedNames { + qn = strings.TrimSpace(qn) + for _, r := range qn { + if !isIdentifierChar(r) { + return nil, fmt.Errorf( + "invalid qualified name: %s, wanted name of the form 'qualified.name'", qn) + } + } + ind := strings.LastIndex(qn, ".") + if ind <= 0 || ind >= len(qn)-1 { + return nil, fmt.Errorf( + "invalid qualified name: %s, wanted name of the form 'qualified.name'", qn) + } + alias := qn[ind+1:] + var err error + c, err = aliasAs("abbreviation", qn, alias)(c) + if err != nil { + return nil, err + } + } + return c, nil + } +} + +// Alias associates a fully-qualified name with a user-defined alias. +// +// In general, Abbrevs is preferred to Alias since the names generated from the Abbrevs option +// are more easily traced back to source code. The Alias option is useful for propagating alias +// configuration from one Container instance to another, and may also be useful for remapping +// poorly chosen protobuf message / package names. +// +// Note: all of the rules that apply to Abbrevs also apply to Alias. +func Alias(qualifiedName, alias string) ContainerOption { + return aliasAs("alias", qualifiedName, alias) +} + +func aliasAs(kind, qualifiedName, alias string) ContainerOption { + return func(c *Container) (*Container, error) { + if len(alias) == 0 || strings.Contains(alias, ".") { + return nil, fmt.Errorf( + "%s must be non-empty and simple (not qualified): %s=%s", kind, kind, alias) + } + + if qualifiedName[0:1] == "." { + return nil, fmt.Errorf("qualified name must not begin with a leading '.': %s", + qualifiedName) + } + ind := strings.LastIndex(qualifiedName, ".") + if ind <= 0 || ind == len(qualifiedName)-1 { + return nil, fmt.Errorf("%s must refer to a valid qualified name: %s", + kind, qualifiedName) + } + aliasRef, found := c.aliasSet()[alias] + if found { + return nil, fmt.Errorf( + "%s collides with existing reference: name=%s, %s=%s, existing=%s", + kind, qualifiedName, kind, alias, aliasRef) + } + if strings.HasPrefix(c.Name(), alias+".") || c.Name() == alias { + return nil, fmt.Errorf( + "%s collides with container name: name=%s, %s=%s, container=%s", + kind, qualifiedName, kind, alias, c.Name()) + } + if c == nil { + c = &Container{} + } + if c.aliases == nil { + c.aliases = make(map[string]string) + } + c.aliases[alias] = qualifiedName + return c, nil + } +} + +func isIdentifierChar(r rune) bool { + return r <= unicode.MaxASCII && (r == '.' || r == '_' || unicode.IsLetter(r) || unicode.IsNumber(r)) +} + +// Name sets the fully-qualified name of the Container. +func Name(name string) ContainerOption { + return func(c *Container) (*Container, error) { + if len(name) > 0 && name[0:1] == "." { + return nil, fmt.Errorf("container name must not contain a leading '.': %s", name) + } + if c.Name() == name { + return c, nil + } + if c == nil { + return &Container{name: name}, nil + } + c.name = name + return c, nil + } +} + +// ToQualifiedName converts an expression AST into a qualified name if possible, with a boolean +// 'found' value that indicates if the conversion is successful. +func ToQualifiedName(e ast.Expr) (string, bool) { + switch e.Kind() { + case ast.IdentKind: + id := e.AsIdent() + return id, true + case ast.SelectKind: + sel := e.AsSelect() + // Test only expressions are not valid as qualified names. + if sel.IsTestOnly() { + return "", false + } + if qual, found := ToQualifiedName(sel.Operand()); found { + return qual + "." + sel.FieldName(), true + } + } + return "", false +} diff --git a/vendor/github.com/google/cel-go/common/cost.go b/vendor/github.com/google/cel-go/common/cost.go new file mode 100644 index 000000000..5e24bd0f4 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/cost.go @@ -0,0 +1,40 @@ +// Copyright 2022 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 common + +const ( + // SelectAndIdentCost is the cost of an operation that accesses an identifier or performs a select. + SelectAndIdentCost = 1 + + // ConstCost is the cost of an operation that accesses a constant. + ConstCost = 0 + + // ListCreateBaseCost is the base cost of any operation that creates a new list. + ListCreateBaseCost = 10 + + // MapCreateBaseCost is the base cost of any operation that creates a new map. + MapCreateBaseCost = 30 + + // StructCreateBaseCost is the base cost of any operation that creates a new struct. + StructCreateBaseCost = 40 + + // StringTraversalCostFactor is multiplied to a length of a string when computing the cost of traversing the entire + // string once. + StringTraversalCostFactor = 0.1 + + // RegexStringLengthCostFactor is multiplied ot the length of a regex string pattern when computing the cost of + // applying the regex to a string of unit cost. + RegexStringLengthCostFactor = 0.25 +) diff --git a/vendor/github.com/google/cel-go/common/debug/BUILD.bazel b/vendor/github.com/google/cel-go/common/debug/BUILD.bazel new file mode 100644 index 000000000..724ed3404 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/debug/BUILD.bazel @@ -0,0 +1,20 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +package( + default_visibility = ["//visibility:public"], + licenses = ["notice"], # Apache 2.0 +) + +go_library( + name = "go_default_library", + srcs = [ + "debug.go", + ], + importpath = "github.com/google/cel-go/common/debug", + deps = [ + "//common:go_default_library", + "//common/ast:go_default_library", + "//common/types:go_default_library", + "//common/types/ref:go_default_library", + ], +) diff --git a/vendor/github.com/google/cel-go/common/debug/debug.go b/vendor/github.com/google/cel-go/common/debug/debug.go new file mode 100644 index 000000000..25d2e3d71 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/debug/debug.go @@ -0,0 +1,314 @@ +// Copyright 2018 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 debug provides tools to print a parsed expression graph and +// adorn each expression element with additional metadata. +package debug + +import ( + "bytes" + "fmt" + "strconv" + "strings" + + "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" +) + +// Adorner returns debug metadata that will be tacked on to the string +// representation of an expression. +type Adorner interface { + // GetMetadata for the input context. + GetMetadata(ctx any) string +} + +// Writer manages writing expressions to an internal string. +type Writer interface { + fmt.Stringer + + // Buffer pushes an expression into an internal queue of expressions to + // write to a string. + Buffer(e ast.Expr) +} + +type emptyDebugAdorner struct { +} + +var emptyAdorner Adorner = &emptyDebugAdorner{} + +func (a *emptyDebugAdorner) GetMetadata(e any) string { + return "" +} + +// ToDebugString gives the unadorned string representation of the Expr. +func ToDebugString(e ast.Expr) string { + return ToAdornedDebugString(e, emptyAdorner) +} + +// ToAdornedDebugString gives the adorned string representation of the Expr. +func ToAdornedDebugString(e ast.Expr, adorner Adorner) string { + w := newDebugWriter(adorner) + w.Buffer(e) + return w.String() +} + +// debugWriter is used to print out pretty-printed debug strings. +type debugWriter struct { + adorner Adorner + buffer bytes.Buffer + indent int + lineStart bool +} + +func newDebugWriter(a Adorner) *debugWriter { + return &debugWriter{ + adorner: a, + indent: 0, + lineStart: true, + } +} + +func (w *debugWriter) Buffer(e ast.Expr) { + if e == nil { + return + } + switch e.Kind() { + case ast.LiteralKind: + w.append(formatLiteral(e.AsLiteral())) + case ast.IdentKind: + w.append(e.AsIdent()) + case ast.SelectKind: + w.appendSelect(e.AsSelect()) + case ast.CallKind: + w.appendCall(e.AsCall()) + case ast.ListKind: + w.appendList(e.AsList()) + case ast.MapKind: + w.appendMap(e.AsMap()) + case ast.StructKind: + w.appendStruct(e.AsStruct()) + case ast.ComprehensionKind: + w.appendComprehension(e.AsComprehension()) + } + w.adorn(e) +} + +func (w *debugWriter) appendSelect(sel ast.SelectExpr) { + w.Buffer(sel.Operand()) + w.append(".") + w.append(sel.FieldName()) + if sel.IsTestOnly() { + w.append("~test-only~") + } +} + +func (w *debugWriter) appendCall(call ast.CallExpr) { + if call.IsMemberFunction() { + w.Buffer(call.Target()) + w.append(".") + } + w.append(call.FunctionName()) + w.append("(") + if len(call.Args()) > 0 { + w.addIndent() + w.appendLine() + for i, arg := range call.Args() { + if i > 0 { + w.append(",") + w.appendLine() + } + w.Buffer(arg) + } + w.removeIndent() + w.appendLine() + } + w.append(")") +} + +func (w *debugWriter) appendList(list ast.ListExpr) { + w.append("[") + if len(list.Elements()) > 0 { + w.appendLine() + w.addIndent() + for i, elem := range list.Elements() { + if i > 0 { + w.append(",") + w.appendLine() + } + w.Buffer(elem) + } + w.removeIndent() + w.appendLine() + } + w.append("]") +} + +func (w *debugWriter) appendStruct(obj ast.StructExpr) { + w.append(obj.TypeName()) + w.append("{") + if len(obj.Fields()) > 0 { + w.appendLine() + w.addIndent() + for i, f := range obj.Fields() { + field := f.AsStructField() + if i > 0 { + w.append(",") + w.appendLine() + } + if field.IsOptional() { + w.append("?") + } + w.append(field.Name()) + w.append(":") + w.Buffer(field.Value()) + w.adorn(f) + } + w.removeIndent() + w.appendLine() + } + w.append("}") +} + +func (w *debugWriter) appendMap(m ast.MapExpr) { + w.append("{") + if m.Size() > 0 { + w.appendLine() + w.addIndent() + for i, e := range m.Entries() { + entry := e.AsMapEntry() + if i > 0 { + w.append(",") + w.appendLine() + } + if entry.IsOptional() { + w.append("?") + } + w.Buffer(entry.Key()) + w.append(":") + w.Buffer(entry.Value()) + w.adorn(e) + } + w.removeIndent() + w.appendLine() + } + w.append("}") +} + +func (w *debugWriter) appendComprehension(comprehension ast.ComprehensionExpr) { + w.append("__comprehension__(") + w.addIndent() + w.appendLine() + w.append("// Variable") + w.appendLine() + w.append(comprehension.IterVar()) + w.append(",") + w.appendLine() + if comprehension.HasIterVar2() { + w.append(comprehension.IterVar2()) + w.append(",") + w.appendLine() + } + w.append("// Target") + w.appendLine() + w.Buffer(comprehension.IterRange()) + w.append(",") + w.appendLine() + w.append("// Accumulator") + w.appendLine() + w.append(comprehension.AccuVar()) + w.append(",") + w.appendLine() + w.append("// Init") + w.appendLine() + w.Buffer(comprehension.AccuInit()) + w.append(",") + w.appendLine() + w.append("// LoopCondition") + w.appendLine() + w.Buffer(comprehension.LoopCondition()) + w.append(",") + w.appendLine() + w.append("// LoopStep") + w.appendLine() + w.Buffer(comprehension.LoopStep()) + w.append(",") + w.appendLine() + w.append("// Result") + w.appendLine() + w.Buffer(comprehension.Result()) + w.append(")") + w.removeIndent() +} + +func formatLiteral(c ref.Val) string { + switch v := c.(type) { + case types.Bool: + return fmt.Sprintf("%t", v) + case types.Bytes: + return fmt.Sprintf("b\"%s\"", string(v)) + case types.Double: + return fmt.Sprintf("%v", float64(v)) + case types.Int: + return fmt.Sprintf("%d", int64(v)) + case types.String: + return strconv.Quote(string(v)) + case types.Uint: + return fmt.Sprintf("%du", uint64(v)) + case types.Null: + return "null" + default: + panic("Unknown constant type") + } +} + +func (w *debugWriter) append(s string) { + w.doIndent() + w.buffer.WriteString(s) +} + +func (w *debugWriter) appendFormat(f string, args ...any) { + w.append(fmt.Sprintf(f, args...)) +} + +func (w *debugWriter) doIndent() { + if w.lineStart { + w.lineStart = false + w.buffer.WriteString(strings.Repeat(" ", w.indent)) + } +} + +func (w *debugWriter) adorn(e any) { + w.append(w.adorner.GetMetadata(e)) +} + +func (w *debugWriter) appendLine() { + w.buffer.WriteString("\n") + w.lineStart = true +} + +func (w *debugWriter) addIndent() { + w.indent++ +} + +func (w *debugWriter) removeIndent() { + w.indent-- + if w.indent < 0 { + panic("negative indent") + } +} + +func (w *debugWriter) String() string { + return w.buffer.String() +} diff --git a/vendor/github.com/google/cel-go/common/decls/BUILD.bazel b/vendor/github.com/google/cel-go/common/decls/BUILD.bazel new file mode 100644 index 000000000..17791dce6 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/decls/BUILD.bazel @@ -0,0 +1,39 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +package( + default_visibility = ["//visibility:public"], + licenses = ["notice"], # Apache 2.0 +) + +go_library( + name = "go_default_library", + srcs = [ + "decls.go", + ], + importpath = "github.com/google/cel-go/common/decls", + deps = [ + "//checker/decls:go_default_library", + "//common/functions:go_default_library", + "//common/types:go_default_library", + "//common/types/ref:go_default_library", + "//common/types/traits:go_default_library", + "@org_golang_google_genproto_googleapis_api//expr/v1alpha1:go_default_library", + ], +) + +go_test( + name = "go_default_test", + srcs = [ + "decls_test.go", + ], + embed = [":go_default_library"], + deps = [ + "//checker/decls:go_default_library", + "//common/overloads:go_default_library", + "//common/types:go_default_library", + "//common/types/ref:go_default_library", + "//common/types/traits:go_default_library", + "@org_golang_google_genproto_googleapis_api//expr/v1alpha1:go_default_library", + "@org_golang_google_protobuf//proto:go_default_library", + ], +) diff --git a/vendor/github.com/google/cel-go/common/decls/decls.go b/vendor/github.com/google/cel-go/common/decls/decls.go new file mode 100644 index 000000000..f67808feb --- /dev/null +++ b/vendor/github.com/google/cel-go/common/decls/decls.go @@ -0,0 +1,846 @@ +// 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 decls contains function and variable declaration structs and helper methods. +package decls + +import ( + "fmt" + "strings" + + chkdecls "github.com/google/cel-go/checker/decls" + "github.com/google/cel-go/common/functions" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" + + exprpb "google.golang.org/genproto/googleapis/api/expr/v1alpha1" +) + +// NewFunction creates a new function declaration with a set of function options to configure overloads +// and function definitions (implementations). +// +// Functions are checked for name collisions and singleton redefinition. +func NewFunction(name string, opts ...FunctionOpt) (*FunctionDecl, error) { + fn := &FunctionDecl{ + name: name, + overloads: map[string]*OverloadDecl{}, + overloadOrdinals: []string{}, + } + var err error + for _, opt := range opts { + fn, err = opt(fn) + if err != nil { + return nil, err + } + } + if len(fn.overloads) == 0 { + return nil, fmt.Errorf("function %s must have at least one overload", name) + } + return fn, nil +} + +// FunctionDecl defines a function name, overload set, and optionally a singleton definition for all +// overload instances. +type FunctionDecl struct { + name string + + // overloads associated with the function name. + overloads map[string]*OverloadDecl + + // singleton implementation of the function for all overloads. + // + // If this option is set, an error will occur if any overloads specify a per-overload implementation + // or if another function with the same name attempts to redefine the singleton. + singleton *functions.Overload + + // disableTypeGuards is a performance optimization to disable detailed runtime type checks which could + // add overhead on common operations. Setting this option true leaves error checks and argument checks + // intact. + disableTypeGuards bool + + // state indicates that the binding should be provided as a declaration, as a runtime binding, or both. + state declarationState + + // overloadOrdinals indicates the order in which the overload was declared. + overloadOrdinals []string +} + +type declarationState int + +const ( + declarationStateUnset declarationState = iota + declarationDisabled + declarationEnabled +) + +// Name returns the function name in human-readable terms, e.g. 'contains' of 'math.least' +func (f *FunctionDecl) Name() string { + if f == nil { + return "" + } + return f.name +} + +// IsDeclarationDisabled indicates that the function implementation should be added to the dispatcher, but the +// declaration should not be exposed for use in expressions. +func (f *FunctionDecl) IsDeclarationDisabled() bool { + return f.state == declarationDisabled +} + +// Merge combines an existing function declaration with another. +// +// If a function is extended, by say adding new overloads to an existing function, then it is merged with the +// prior definition of the function at which point its overloads must not collide with pre-existing overloads +// and its bindings (singleton, or per-overload) must not conflict with previous definitions either. +func (f *FunctionDecl) Merge(other *FunctionDecl) (*FunctionDecl, error) { + if f == other { + return f, nil + } + if f.Name() != other.Name() { + return nil, fmt.Errorf("cannot merge unrelated functions. %s and %s", f.Name(), other.Name()) + } + merged := &FunctionDecl{ + name: f.Name(), + overloads: make(map[string]*OverloadDecl, len(f.overloads)), + singleton: f.singleton, + overloadOrdinals: make([]string, len(f.overloads)), + // if one function is expecting type-guards and the other is not, then they + // must not be disabled. + disableTypeGuards: f.disableTypeGuards && other.disableTypeGuards, + // default to the current functions declaration state. + state: f.state, + } + // If the other state indicates that the declaration should be explicitly enabled or + // disabled, then update the merged state with the most recent value. + if other.state != declarationStateUnset { + merged.state = other.state + } + // baseline copy of the overloads and their ordinals + copy(merged.overloadOrdinals, f.overloadOrdinals) + for oID, o := range f.overloads { + merged.overloads[oID] = o + } + // overloads and their ordinals are added from the left + for _, oID := range other.overloadOrdinals { + o := other.overloads[oID] + err := merged.AddOverload(o) + if err != nil { + return nil, fmt.Errorf("function declaration merge failed: %v", err) + } + } + if other.singleton != nil { + if merged.singleton != nil && merged.singleton != other.singleton { + return nil, fmt.Errorf("function already has a singleton binding: %s", f.Name()) + } + merged.singleton = other.singleton + } + return merged, nil +} + +// AddOverload ensures that the new overload does not collide with an existing overload signature; +// however, if the function signatures are identical, the implementation may be rewritten as its +// difficult to compare functions by object identity. +func (f *FunctionDecl) AddOverload(overload *OverloadDecl) error { + if f == nil { + return fmt.Errorf("nil function cannot add overload: %s", overload.ID()) + } + for oID, o := range f.overloads { + if oID != overload.ID() && o.SignatureOverlaps(overload) { + return fmt.Errorf("overload signature collision in function %s: %s collides with %s", f.Name(), oID, overload.ID()) + } + if oID == overload.ID() { + if o.SignatureEquals(overload) && o.IsNonStrict() == overload.IsNonStrict() { + // Allow redefinition of an overload implementation so long as the signatures match. + if overload.hasBinding() { + f.overloads[oID] = overload + } + return nil + } + return fmt.Errorf("overload redefinition in function. %s: %s has multiple definitions", f.Name(), oID) + } + } + f.overloadOrdinals = append(f.overloadOrdinals, overload.ID()) + f.overloads[overload.ID()] = overload + return nil +} + +// OverloadDecls returns the overload declarations in the order in which they were declared. +func (f *FunctionDecl) OverloadDecls() []*OverloadDecl { + if f == nil { + return []*OverloadDecl{} + } + overloads := make([]*OverloadDecl, 0, len(f.overloads)) + for _, oID := range f.overloadOrdinals { + overloads = append(overloads, f.overloads[oID]) + } + return overloads +} + +// Bindings produces a set of function bindings, if any are defined. +func (f *FunctionDecl) Bindings() ([]*functions.Overload, error) { + if f == nil { + return []*functions.Overload{}, nil + } + overloads := []*functions.Overload{} + nonStrict := false + for _, oID := range f.overloadOrdinals { + o := f.overloads[oID] + if o.hasBinding() { + overload := &functions.Overload{ + Operator: o.ID(), + Unary: o.guardedUnaryOp(f.Name(), f.disableTypeGuards), + Binary: o.guardedBinaryOp(f.Name(), f.disableTypeGuards), + Function: o.guardedFunctionOp(f.Name(), f.disableTypeGuards), + OperandTrait: o.OperandTrait(), + NonStrict: o.IsNonStrict(), + } + overloads = append(overloads, overload) + nonStrict = nonStrict || o.IsNonStrict() + } + } + if f.singleton != nil { + if len(overloads) != 0 { + return nil, fmt.Errorf("singleton function incompatible with specialized overloads: %s", f.Name()) + } + overloads = []*functions.Overload{ + { + Operator: f.Name(), + Unary: f.singleton.Unary, + Binary: f.singleton.Binary, + Function: f.singleton.Function, + OperandTrait: f.singleton.OperandTrait, + }, + } + // fall-through to return single overload case. + } + if len(overloads) == 0 { + return overloads, nil + } + // Single overload. Replicate an entry for it using the function name as well. + if len(overloads) == 1 { + if overloads[0].Operator == f.Name() { + return overloads, nil + } + return append(overloads, &functions.Overload{ + Operator: f.Name(), + Unary: overloads[0].Unary, + Binary: overloads[0].Binary, + Function: overloads[0].Function, + NonStrict: overloads[0].NonStrict, + OperandTrait: overloads[0].OperandTrait, + }), nil + } + // All of the defined overloads are wrapped into a top-level function which + // performs dynamic dispatch to the proper overload based on the argument types. + bindings := append([]*functions.Overload{}, overloads...) + funcDispatch := func(args ...ref.Val) ref.Val { + for _, oID := range f.overloadOrdinals { + o := f.overloads[oID] + // During dynamic dispatch over multiple functions, signature agreement checks + // are preserved in order to assist with the function resolution step. + switch len(args) { + case 1: + if o.unaryOp != nil && o.matchesRuntimeSignature(f.disableTypeGuards, args...) { + return o.unaryOp(args[0]) + } + case 2: + if o.binaryOp != nil && o.matchesRuntimeSignature(f.disableTypeGuards, args...) { + return o.binaryOp(args[0], args[1]) + } + } + if o.functionOp != nil && o.matchesRuntimeSignature(f.disableTypeGuards, args...) { + return o.functionOp(args...) + } + // eventually this will fall through to the noSuchOverload below. + } + return MaybeNoSuchOverload(f.Name(), args...) + } + function := &functions.Overload{ + Operator: f.Name(), + Function: funcDispatch, + NonStrict: nonStrict, + } + return append(bindings, function), nil +} + +// MaybeNoSuchOverload determines whether to propagate an error if one is provided as an argument, or +// to return an unknown set, or to produce a new error for a missing function signature. +func MaybeNoSuchOverload(funcName string, args ...ref.Val) ref.Val { + argTypes := make([]string, len(args)) + var unk *types.Unknown = nil + for i, arg := range args { + if types.IsError(arg) { + return arg + } + if types.IsUnknown(arg) { + unk = types.MergeUnknowns(arg.(*types.Unknown), unk) + } + argTypes[i] = arg.Type().TypeName() + } + if unk != nil { + return unk + } + signature := strings.Join(argTypes, ", ") + return types.NewErr("no such overload: %s(%s)", funcName, signature) +} + +// FunctionOpt defines a functional option for mutating a function declaration. +type FunctionOpt func(*FunctionDecl) (*FunctionDecl, error) + +// DisableTypeGuards disables automatically generated function invocation guards on direct overload calls. +// Type guards remain on during dynamic dispatch for parsed-only expressions. +func DisableTypeGuards(value bool) FunctionOpt { + return func(fn *FunctionDecl) (*FunctionDecl, error) { + fn.disableTypeGuards = value + return fn, nil + } +} + +// DisableDeclaration indicates that the function declaration should be disabled, but the runtime function +// binding should be provided. Marking a function as runtime-only is a safe way to manage deprecations +// of function declarations while still preserving the runtime behavior for previously compiled expressions. +func DisableDeclaration(value bool) FunctionOpt { + return func(fn *FunctionDecl) (*FunctionDecl, error) { + if value { + fn.state = declarationDisabled + } else { + fn.state = declarationEnabled + } + return fn, nil + } +} + +// SingletonUnaryBinding creates a singleton function definition to be used for all function overloads. +// +// Note, this approach works well if operand is expected to have a specific trait which it implements, +// e.g. traits.ContainerType. Otherwise, prefer per-overload function bindings. +func SingletonUnaryBinding(fn functions.UnaryOp, traits ...int) FunctionOpt { + trait := 0 + for _, t := range traits { + trait = trait | t + } + return func(f *FunctionDecl) (*FunctionDecl, error) { + if f.singleton != nil { + return nil, fmt.Errorf("function already has a singleton binding: %s", f.Name()) + } + f.singleton = &functions.Overload{ + Operator: f.Name(), + Unary: fn, + OperandTrait: trait, + } + return f, nil + } +} + +// SingletonBinaryBinding creates a singleton function definition to be used with all function overloads. +// +// Note, this approach works well if operand is expected to have a specific trait which it implements, +// e.g. traits.ContainerType. Otherwise, prefer per-overload function bindings. +func SingletonBinaryBinding(fn functions.BinaryOp, traits ...int) FunctionOpt { + trait := 0 + for _, t := range traits { + trait = trait | t + } + return func(f *FunctionDecl) (*FunctionDecl, error) { + if f.singleton != nil { + return nil, fmt.Errorf("function already has a singleton binding: %s", f.Name()) + } + f.singleton = &functions.Overload{ + Operator: f.Name(), + Binary: fn, + OperandTrait: trait, + } + return f, nil + } +} + +// SingletonFunctionBinding creates a singleton function definition to be used with all function overloads. +// +// Note, this approach works well if operand is expected to have a specific trait which it implements, +// e.g. traits.ContainerType. Otherwise, prefer per-overload function bindings. +func SingletonFunctionBinding(fn functions.FunctionOp, traits ...int) FunctionOpt { + trait := 0 + for _, t := range traits { + trait = trait | t + } + return func(f *FunctionDecl) (*FunctionDecl, error) { + if f.singleton != nil { + return nil, fmt.Errorf("function already has a singleton binding: %s", f.Name()) + } + f.singleton = &functions.Overload{ + Operator: f.Name(), + Function: fn, + OperandTrait: trait, + } + return f, nil + } +} + +// Overload defines a new global overload with an overload id, argument types, and result type. Through the +// use of OverloadOpt options, the overload may also be configured with a binding, an operand trait, and to +// be non-strict. +// +// Note: function bindings should be commonly configured with Overload instances whereas operand traits and +// strict-ness should be rare occurrences. +func Overload(overloadID string, + args []*types.Type, resultType *types.Type, + opts ...OverloadOpt) FunctionOpt { + return newOverload(overloadID, false, args, resultType, opts...) +} + +// MemberOverload defines a new receiver-style overload (or member function) with an overload id, argument types, +// and result type. Through the use of OverloadOpt options, the overload may also be configured with a binding, +// an operand trait, and to be non-strict. +// +// Note: function bindings should be commonly configured with Overload instances whereas operand traits and +// strict-ness should be rare occurrences. +func MemberOverload(overloadID string, + args []*types.Type, resultType *types.Type, + opts ...OverloadOpt) FunctionOpt { + return newOverload(overloadID, true, args, resultType, opts...) +} + +func newOverload(overloadID string, + memberFunction bool, args []*types.Type, resultType *types.Type, + opts ...OverloadOpt) FunctionOpt { + return func(f *FunctionDecl) (*FunctionDecl, error) { + overload, err := newOverloadInternal(overloadID, memberFunction, args, resultType, opts...) + if err != nil { + return nil, err + } + err = f.AddOverload(overload) + if err != nil { + return nil, err + } + return f, nil + } +} + +func newOverloadInternal(overloadID string, + memberFunction bool, args []*types.Type, resultType *types.Type, + opts ...OverloadOpt) (*OverloadDecl, error) { + overload := &OverloadDecl{ + id: overloadID, + argTypes: args, + resultType: resultType, + isMemberFunction: memberFunction, + } + var err error + for _, opt := range opts { + overload, err = opt(overload) + if err != nil { + return nil, err + } + } + return overload, nil +} + +// OverloadDecl contains the definition of a single overload id with a specific signature, and an optional +// implementation. +type OverloadDecl struct { + id string + argTypes []*types.Type + resultType *types.Type + isMemberFunction bool + // nonStrict indicates that the function will accept error and unknown arguments as inputs. + nonStrict bool + // operandTrait indicates whether the member argument should have a specific type-trait. + // + // This is useful for creating overloads which operate on a type-interface rather than a concrete type. + operandTrait int + + // Function implementation options. Optional, but encouraged. + // unaryOp is a function binding that takes a single argument. + unaryOp functions.UnaryOp + // binaryOp is a function binding that takes two arguments. + binaryOp functions.BinaryOp + // functionOp is a catch-all for zero-arity and three-plus arity functions. + functionOp functions.FunctionOp +} + +// ID mirrors the overload signature and provides a unique id which may be referenced within the type-checker +// and interpreter to optimize performance. +// +// The ID format is usually one of two styles: +// global: __ +// member: ___ +func (o *OverloadDecl) ID() string { + if o == nil { + return "" + } + return o.id +} + +// ArgTypes contains the set of argument types expected by the overload. +// +// For member functions ArgTypes[0] represents the member operand type. +func (o *OverloadDecl) ArgTypes() []*types.Type { + if o == nil { + return emptyArgs + } + return o.argTypes +} + +// IsMemberFunction indicates whether the overload is a member function +func (o *OverloadDecl) IsMemberFunction() bool { + if o == nil { + return false + } + return o.isMemberFunction +} + +// IsNonStrict returns whether the overload accepts errors and unknown values as arguments. +func (o *OverloadDecl) IsNonStrict() bool { + if o == nil { + return false + } + return o.nonStrict +} + +// OperandTrait returns the trait mask of the first operand to the overload call, e.g. +// `traits.Indexer` +func (o *OverloadDecl) OperandTrait() int { + if o == nil { + return 0 + } + return o.operandTrait +} + +// ResultType indicates the output type from calling the function. +func (o *OverloadDecl) ResultType() *types.Type { + if o == nil { + // *types.Type is nil-safe + return nil + } + return o.resultType +} + +// TypeParams returns the type parameter names associated with the overload. +func (o *OverloadDecl) TypeParams() []string { + typeParams := map[string]struct{}{} + collectParamNames(typeParams, o.ResultType()) + for _, arg := range o.ArgTypes() { + collectParamNames(typeParams, arg) + } + params := make([]string, 0, len(typeParams)) + for param := range typeParams { + params = append(params, param) + } + return params +} + +// SignatureEquals determines whether the incoming overload declaration signature is equal to the current signature. +// +// Result type, operand trait, and strict-ness are not considered as part of signature equality. +func (o *OverloadDecl) SignatureEquals(other *OverloadDecl) bool { + if o == other { + return true + } + if o.ID() != other.ID() || o.IsMemberFunction() != other.IsMemberFunction() || len(o.ArgTypes()) != len(other.ArgTypes()) { + return false + } + for i, at := range o.ArgTypes() { + oat := other.ArgTypes()[i] + if !at.IsEquivalentType(oat) { + return false + } + } + return o.ResultType().IsEquivalentType(other.ResultType()) +} + +// SignatureOverlaps indicates whether two functions have non-equal, but overloapping function signatures. +// +// For example, list(dyn) collides with list(string) since the 'dyn' type can contain a 'string' type. +func (o *OverloadDecl) SignatureOverlaps(other *OverloadDecl) bool { + if o.IsMemberFunction() != other.IsMemberFunction() || len(o.ArgTypes()) != len(other.ArgTypes()) { + return false + } + argsOverlap := true + for i, argType := range o.ArgTypes() { + otherArgType := other.ArgTypes()[i] + argsOverlap = argsOverlap && + (argType.IsAssignableType(otherArgType) || + otherArgType.IsAssignableType(argType)) + } + return argsOverlap +} + +// hasBinding indicates whether the overload already has a definition. +func (o *OverloadDecl) hasBinding() bool { + return o != nil && (o.unaryOp != nil || o.binaryOp != nil || o.functionOp != nil) +} + +// guardedUnaryOp creates an invocation guard around the provided unary operator, if one is defined. +func (o *OverloadDecl) guardedUnaryOp(funcName string, disableTypeGuards bool) functions.UnaryOp { + if o.unaryOp == nil { + return nil + } + return func(arg ref.Val) ref.Val { + if !o.matchesRuntimeUnarySignature(disableTypeGuards, arg) { + return MaybeNoSuchOverload(funcName, arg) + } + return o.unaryOp(arg) + } +} + +// guardedBinaryOp creates an invocation guard around the provided binary operator, if one is defined. +func (o *OverloadDecl) guardedBinaryOp(funcName string, disableTypeGuards bool) functions.BinaryOp { + if o.binaryOp == nil { + return nil + } + return func(arg1, arg2 ref.Val) ref.Val { + if !o.matchesRuntimeBinarySignature(disableTypeGuards, arg1, arg2) { + return MaybeNoSuchOverload(funcName, arg1, arg2) + } + return o.binaryOp(arg1, arg2) + } +} + +// guardedFunctionOp creates an invocation guard around the provided variadic function binding, if one is provided. +func (o *OverloadDecl) guardedFunctionOp(funcName string, disableTypeGuards bool) functions.FunctionOp { + if o.functionOp == nil { + return nil + } + return func(args ...ref.Val) ref.Val { + if !o.matchesRuntimeSignature(disableTypeGuards, args...) { + return MaybeNoSuchOverload(funcName, args...) + } + return o.functionOp(args...) + } +} + +// matchesRuntimeUnarySignature indicates whether the argument type is runtime assiganble to the overload's expected argument. +func (o *OverloadDecl) matchesRuntimeUnarySignature(disableTypeGuards bool, arg ref.Val) bool { + return matchRuntimeArgType(o.IsNonStrict(), disableTypeGuards, o.ArgTypes()[0], arg) && + matchOperandTrait(o.OperandTrait(), arg) +} + +// matchesRuntimeBinarySignature indicates whether the argument types are runtime assiganble to the overload's expected arguments. +func (o *OverloadDecl) matchesRuntimeBinarySignature(disableTypeGuards bool, arg1, arg2 ref.Val) bool { + return matchRuntimeArgType(o.IsNonStrict(), disableTypeGuards, o.ArgTypes()[0], arg1) && + matchRuntimeArgType(o.IsNonStrict(), disableTypeGuards, o.ArgTypes()[1], arg2) && + matchOperandTrait(o.OperandTrait(), arg1) +} + +// matchesRuntimeSignature indicates whether the argument types are runtime assiganble to the overload's expected arguments. +func (o *OverloadDecl) matchesRuntimeSignature(disableTypeGuards bool, args ...ref.Val) bool { + if len(args) != len(o.ArgTypes()) { + return false + } + if len(args) == 0 { + return true + } + for i, arg := range args { + if !matchRuntimeArgType(o.IsNonStrict(), disableTypeGuards, o.ArgTypes()[i], arg) { + return false + } + } + return matchOperandTrait(o.OperandTrait(), args[0]) +} + +func matchRuntimeArgType(nonStrict, disableTypeGuards bool, argType *types.Type, arg ref.Val) bool { + if nonStrict && (disableTypeGuards || types.IsUnknownOrError(arg)) { + return true + } + if types.IsUnknownOrError(arg) { + return false + } + return disableTypeGuards || argType.IsAssignableRuntimeType(arg) +} + +func matchOperandTrait(trait int, arg ref.Val) bool { + return trait == 0 || arg.Type().HasTrait(trait) || types.IsUnknownOrError(arg) +} + +// OverloadOpt is a functional option for configuring a function overload. +type OverloadOpt func(*OverloadDecl) (*OverloadDecl, error) + +// UnaryBinding provides the implementation of a unary overload. The provided function is protected by a runtime +// type-guard which ensures runtime type agreement between the overload signature and runtime argument types. +func UnaryBinding(binding functions.UnaryOp) OverloadOpt { + return func(o *OverloadDecl) (*OverloadDecl, error) { + if o.hasBinding() { + return nil, fmt.Errorf("overload already has a binding: %s", o.ID()) + } + if len(o.ArgTypes()) != 1 { + return nil, fmt.Errorf("unary function bound to non-unary overload: %s", o.ID()) + } + o.unaryOp = binding + return o, nil + } +} + +// BinaryBinding provides the implementation of a binary overload. The provided function is protected by a runtime +// type-guard which ensures runtime type agreement between the overload signature and runtime argument types. +func BinaryBinding(binding functions.BinaryOp) OverloadOpt { + return func(o *OverloadDecl) (*OverloadDecl, error) { + if o.hasBinding() { + return nil, fmt.Errorf("overload already has a binding: %s", o.ID()) + } + if len(o.ArgTypes()) != 2 { + return nil, fmt.Errorf("binary function bound to non-binary overload: %s", o.ID()) + } + o.binaryOp = binding + return o, nil + } +} + +// FunctionBinding provides the implementation of a variadic overload. The provided function is protected by a runtime +// type-guard which ensures runtime type agreement between the overload signature and runtime argument types. +func FunctionBinding(binding functions.FunctionOp) OverloadOpt { + return func(o *OverloadDecl) (*OverloadDecl, error) { + if o.hasBinding() { + return nil, fmt.Errorf("overload already has a binding: %s", o.ID()) + } + o.functionOp = binding + return o, nil + } +} + +// OverloadIsNonStrict enables the function to be called with error and unknown argument values. +// +// Note: do not use this option unless absoluately necessary as it should be an uncommon feature. +func OverloadIsNonStrict() OverloadOpt { + return func(o *OverloadDecl) (*OverloadDecl, error) { + o.nonStrict = true + return o, nil + } +} + +// OverloadOperandTrait configures a set of traits which the first argument to the overload must implement in order to be +// successfully invoked. +func OverloadOperandTrait(trait int) OverloadOpt { + return func(o *OverloadDecl) (*OverloadDecl, error) { + o.operandTrait = trait + return o, nil + } +} + +// NewConstant creates a new constant declaration. +func NewConstant(name string, t *types.Type, v ref.Val) *VariableDecl { + return &VariableDecl{name: name, varType: t, value: v} +} + +// NewVariable creates a new variable declaration. +func NewVariable(name string, t *types.Type) *VariableDecl { + return &VariableDecl{name: name, varType: t} +} + +// VariableDecl defines a variable declaration which may optionally have a constant value. +type VariableDecl struct { + name string + varType *types.Type + value ref.Val +} + +// Name returns the fully-qualified variable name +func (v *VariableDecl) Name() string { + if v == nil { + return "" + } + return v.name +} + +// Type returns the types.Type value associated with the variable. +func (v *VariableDecl) Type() *types.Type { + if v == nil { + // types.Type is nil-safe + return nil + } + return v.varType +} + +// Value returns the constant value associated with the declaration. +func (v *VariableDecl) Value() ref.Val { + if v == nil { + return nil + } + return v.value +} + +// DeclarationIsEquivalent returns true if one variable declaration has the same name and same type as the input. +func (v *VariableDecl) DeclarationIsEquivalent(other *VariableDecl) bool { + if v == other { + return true + } + return v.Name() == other.Name() && v.Type().IsEquivalentType(other.Type()) +} + +// TypeVariable creates a new type identifier for use within a types.Provider +func TypeVariable(t *types.Type) *VariableDecl { + return NewVariable(t.TypeName(), types.NewTypeTypeWithParam(t)) +} + +// variableDeclToExprDecl converts a go-native variable declaration into a protobuf-type variable declaration. +func variableDeclToExprDecl(v *VariableDecl) (*exprpb.Decl, error) { + varType, err := types.TypeToExprType(v.Type()) + if err != nil { + return nil, err + } + return chkdecls.NewVar(v.Name(), varType), nil +} + +// functionDeclToExprDecl converts a go-native function declaration into a protobuf-typed function declaration. +func functionDeclToExprDecl(f *FunctionDecl) (*exprpb.Decl, error) { + overloads := make([]*exprpb.Decl_FunctionDecl_Overload, len(f.overloads)) + for i, oID := range f.overloadOrdinals { + o := f.overloads[oID] + paramNames := map[string]struct{}{} + argTypes := make([]*exprpb.Type, len(o.ArgTypes())) + for j, a := range o.ArgTypes() { + collectParamNames(paramNames, a) + at, err := types.TypeToExprType(a) + if err != nil { + return nil, err + } + argTypes[j] = at + } + collectParamNames(paramNames, o.ResultType()) + resultType, err := types.TypeToExprType(o.ResultType()) + if err != nil { + return nil, err + } + if len(paramNames) == 0 { + if o.IsMemberFunction() { + overloads[i] = chkdecls.NewInstanceOverload(oID, argTypes, resultType) + } else { + overloads[i] = chkdecls.NewOverload(oID, argTypes, resultType) + } + } else { + params := []string{} + for pn := range paramNames { + params = append(params, pn) + } + if o.IsMemberFunction() { + overloads[i] = chkdecls.NewParameterizedInstanceOverload(oID, argTypes, resultType, params) + } else { + overloads[i] = chkdecls.NewParameterizedOverload(oID, argTypes, resultType, params) + } + } + } + return chkdecls.NewFunction(f.Name(), overloads...), nil +} + +func collectParamNames(paramNames map[string]struct{}, arg *types.Type) { + if arg.Kind() == types.TypeParamKind { + paramNames[arg.TypeName()] = struct{}{} + } + for _, param := range arg.Parameters() { + collectParamNames(paramNames, param) + } +} + +var ( + emptyArgs = []*types.Type{} +) diff --git a/vendor/github.com/google/cel-go/common/doc.go b/vendor/github.com/google/cel-go/common/doc.go new file mode 100644 index 000000000..5362fdfe4 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/doc.go @@ -0,0 +1,17 @@ +// Copyright 2018 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 common defines types and utilities common to expression parsing, +// checking, and interpretation +package common diff --git a/vendor/github.com/google/cel-go/common/error.go b/vendor/github.com/google/cel-go/common/error.go new file mode 100644 index 000000000..0cf21345e --- /dev/null +++ b/vendor/github.com/google/cel-go/common/error.go @@ -0,0 +1,74 @@ +// Copyright 2018 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 common + +import ( + "fmt" + "strings" + "unicode/utf8" +) + +// NewError creates an error associated with an expression id with the given message at the given location. +func NewError(id int64, message string, location Location) *Error { + return &Error{Message: message, Location: location, ExprID: id} +} + +// Error type which references an expression id, a location within source, and a message. +type Error struct { + Location Location + Message string + ExprID int64 +} + +const ( + dot = "." + ind = "^" + wideDot = "\uff0e" + wideInd = "\uff3e" + + // maxSnippetLength is the largest number of characters which can be rendered in an error message snippet. + maxSnippetLength = 16384 +) + +// ToDisplayString decorates the error message with the source location. +func (e *Error) ToDisplayString(source Source) string { + var result = fmt.Sprintf("ERROR: %s:%d:%d: %s", + source.Description(), + e.Location.Line(), + e.Location.Column()+1, // add one to the 0-based column for display + e.Message) + if snippet, found := source.Snippet(e.Location.Line()); found && len(snippet) <= maxSnippetLength { + snippet := strings.Replace(snippet, "\t", " ", -1) + srcLine := "\n | " + snippet + var bytes = []byte(snippet) + var indLine = "\n | " + for i := 0; i < e.Location.Column() && len(bytes) > 0; i++ { + _, sz := utf8.DecodeRune(bytes) + bytes = bytes[sz:] + if sz > 1 { + indLine += wideDot + } else { + indLine += dot + } + } + if _, sz := utf8.DecodeRune(bytes); sz > 1 { + indLine += wideInd + } else { + indLine += ind + } + result += srcLine + indLine + } + return result +} diff --git a/vendor/github.com/google/cel-go/common/errors.go b/vendor/github.com/google/cel-go/common/errors.go new file mode 100644 index 000000000..25adc73d8 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/errors.go @@ -0,0 +1,103 @@ +// Copyright 2018 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 common + +import ( + "fmt" + "sort" + "strings" +) + +// Errors type which contains a list of errors observed during parsing. +type Errors struct { + errors []*Error + source Source + numErrors int + maxErrorsToReport int +} + +// NewErrors creates a new instance of the Errors type. +func NewErrors(source Source) *Errors { + return &Errors{ + errors: []*Error{}, + source: source, + maxErrorsToReport: 100, + } +} + +// ReportError records an error at a source location. +func (e *Errors) ReportError(l Location, format string, args ...any) { + e.ReportErrorAtID(0, l, format, args...) +} + +// ReportErrorAtID records an error at a source location and expression id. +func (e *Errors) ReportErrorAtID(id int64, l Location, format string, args ...any) { + e.numErrors++ + if e.numErrors > e.maxErrorsToReport { + return + } + err := &Error{ + ExprID: id, + Location: l, + Message: fmt.Sprintf(format, args...), + } + e.errors = append(e.errors, err) +} + +// GetErrors returns the list of observed errors. +func (e *Errors) GetErrors() []*Error { + return e.errors[:] +} + +// Append creates a new Errors object with the current and input errors. +func (e *Errors) Append(errs []*Error) *Errors { + return &Errors{ + errors: append(e.errors[:], errs...), + source: e.source, + numErrors: e.numErrors + len(errs), + maxErrorsToReport: e.maxErrorsToReport, + } +} + +// ToDisplayString returns the error set to a newline delimited string. +func (e *Errors) ToDisplayString() string { + errorsInString := e.maxErrorsToReport + if e.numErrors > e.maxErrorsToReport { + // add one more error to indicate the number of errors truncated. + errorsInString++ + } else { + // otherwise the error set will just contain the number of errors. + errorsInString = e.numErrors + } + + result := make([]string, errorsInString) + sort.SliceStable(e.errors, func(i, j int) bool { + ei := e.errors[i].Location + ej := e.errors[j].Location + return ei.Line() < ej.Line() || + (ei.Line() == ej.Line() && ei.Column() < ej.Column()) + }) + for i, err := range e.errors { + // This can happen during the append of two errors objects + if i >= e.maxErrorsToReport { + break + } + result[i] = err.ToDisplayString(e.source) + } + if e.numErrors > e.maxErrorsToReport { + result[e.maxErrorsToReport] = fmt.Sprintf("%d more errors were truncated", e.numErrors-e.maxErrorsToReport) + } + return strings.Join(result, "\n") +} diff --git a/vendor/github.com/google/cel-go/common/functions/BUILD.bazel b/vendor/github.com/google/cel-go/common/functions/BUILD.bazel new file mode 100644 index 000000000..3cc27d60c --- /dev/null +++ b/vendor/github.com/google/cel-go/common/functions/BUILD.bazel @@ -0,0 +1,17 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +package( + default_visibility = ["//visibility:public"], + licenses = ["notice"], # Apache 2.0 +) + +go_library( + name = "go_default_library", + srcs = [ + "functions.go", + ], + importpath = "github.com/google/cel-go/common/functions", + deps = [ + "//common/types/ref:go_default_library", + ], +) diff --git a/vendor/github.com/google/cel-go/common/functions/functions.go b/vendor/github.com/google/cel-go/common/functions/functions.go new file mode 100644 index 000000000..67f4a5944 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/functions/functions.go @@ -0,0 +1,61 @@ +// 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 functions defines the standard builtin functions supported by the interpreter +package functions + +import "github.com/google/cel-go/common/types/ref" + +// Overload defines a named overload of a function, indicating an operand trait +// which must be present on the first argument to the overload as well as one +// of either a unary, binary, or function implementation. +// +// The majority of operators within the expression language are unary or binary +// and the specializations simplify the call contract for implementers of +// types with operator overloads. Any added complexity is assumed to be handled +// by the generic FunctionOp. +type Overload struct { + // Operator name as written in an expression or defined within + // operators.go. + Operator string + + // Operand trait used to dispatch the call. The zero-value indicates a + // global function overload or that one of the Unary / Binary / Function + // definitions should be used to execute the call. + OperandTrait int + + // Unary defines the overload with a UnaryOp implementation. May be nil. + Unary UnaryOp + + // Binary defines the overload with a BinaryOp implementation. May be nil. + Binary BinaryOp + + // Function defines the overload with a FunctionOp implementation. May be + // nil. + Function FunctionOp + + // NonStrict specifies whether the Overload will tolerate arguments that + // are types.Err or types.Unknown. + NonStrict bool +} + +// UnaryOp is a function that takes a single value and produces an output. +type UnaryOp func(value ref.Val) ref.Val + +// BinaryOp is a function that takes two values and produces an output. +type BinaryOp func(lhs ref.Val, rhs ref.Val) ref.Val + +// FunctionOp is a function with accepts zero or more arguments and produces +// a value or error as a result. +type FunctionOp func(values ...ref.Val) ref.Val diff --git a/vendor/github.com/google/cel-go/common/location.go b/vendor/github.com/google/cel-go/common/location.go new file mode 100644 index 000000000..ec3fa7cb5 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/location.go @@ -0,0 +1,51 @@ +// Copyright 2018 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 common + +// Location interface to represent a location within Source. +type Location interface { + Line() int // 1-based line number within source. + Column() int // 0-based column number within source. +} + +// SourceLocation helper type to manually construct a location. +type SourceLocation struct { + line int + column int +} + +var ( + // Location implements the SourceLocation interface. + _ Location = &SourceLocation{} + // NoLocation is a particular illegal location. + NoLocation = &SourceLocation{-1, -1} +) + +// NewLocation creates a new location. +func NewLocation(line, column int) Location { + return &SourceLocation{ + line: line, + column: column} +} + +// Line returns the 1-based line of the location. +func (l *SourceLocation) Line() int { + return l.line +} + +// Column returns the 0-based column number of the location. +func (l *SourceLocation) Column() int { + return l.column +} diff --git a/vendor/github.com/google/cel-go/common/operators/BUILD.bazel b/vendor/github.com/google/cel-go/common/operators/BUILD.bazel new file mode 100644 index 000000000..b5b67f062 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/operators/BUILD.bazel @@ -0,0 +1,14 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +package( + default_visibility = ["//visibility:public"], + licenses = ["notice"], # Apache 2.0 +) + +go_library( + name = "go_default_library", + srcs = [ + "operators.go", + ], + importpath = "github.com/google/cel-go/common/operators", +) diff --git a/vendor/github.com/google/cel-go/common/operators/operators.go b/vendor/github.com/google/cel-go/common/operators/operators.go new file mode 100644 index 000000000..f9b39bda3 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/operators/operators.go @@ -0,0 +1,157 @@ +// Copyright 2018 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 operators defines the internal function names of operators. +// +// All operators in the expression language are modelled as function calls. +package operators + +// String "names" for CEL operators. +const ( + // Symbolic operators. + Conditional = "_?_:_" + LogicalAnd = "_&&_" + LogicalOr = "_||_" + LogicalNot = "!_" + Equals = "_==_" + NotEquals = "_!=_" + Less = "_<_" + LessEquals = "_<=_" + Greater = "_>_" + GreaterEquals = "_>=_" + Add = "_+_" + Subtract = "_-_" + Multiply = "_*_" + Divide = "_/_" + Modulo = "_%_" + Negate = "-_" + Index = "_[_]" + OptIndex = "_[?_]" + OptSelect = "_?._" + + // Macros, must have a valid identifier. + Has = "has" + All = "all" + Exists = "exists" + ExistsOne = "exists_one" + Map = "map" + Filter = "filter" + + // Named operators, must not have be valid identifiers. + NotStrictlyFalse = "@not_strictly_false" + In = "@in" + + // Deprecated: named operators with valid identifiers. + OldNotStrictlyFalse = "__not_strictly_false__" + OldIn = "_in_" +) + +var ( + operators = map[string]string{ + "+": Add, + "/": Divide, + "==": Equals, + ">": Greater, + ">=": GreaterEquals, + "in": In, + "<": Less, + "<=": LessEquals, + "%": Modulo, + "*": Multiply, + "!=": NotEquals, + "-": Subtract, + } + // operatorMap of the operator symbol which refers to a struct containing the display name, + // if applicable, the operator precedence, and the arity. + // + // If the symbol does not have a display name listed in the map, it is only because it requires + // special casing to render properly as text. + operatorMap = map[string]struct { + displayName string + precedence int + arity int + }{ + Conditional: {displayName: "", precedence: 8, arity: 3}, + LogicalOr: {displayName: "||", precedence: 7, arity: 2}, + LogicalAnd: {displayName: "&&", precedence: 6, arity: 2}, + Equals: {displayName: "==", precedence: 5, arity: 2}, + Greater: {displayName: ">", precedence: 5, arity: 2}, + GreaterEquals: {displayName: ">=", precedence: 5, arity: 2}, + In: {displayName: "in", precedence: 5, arity: 2}, + Less: {displayName: "<", precedence: 5, arity: 2}, + LessEquals: {displayName: "<=", precedence: 5, arity: 2}, + NotEquals: {displayName: "!=", precedence: 5, arity: 2}, + OldIn: {displayName: "in", precedence: 5, arity: 2}, + Add: {displayName: "+", precedence: 4, arity: 2}, + Subtract: {displayName: "-", precedence: 4, arity: 2}, + Divide: {displayName: "/", precedence: 3, arity: 2}, + Modulo: {displayName: "%", precedence: 3, arity: 2}, + Multiply: {displayName: "*", precedence: 3, arity: 2}, + LogicalNot: {displayName: "!", precedence: 2, arity: 1}, + Negate: {displayName: "-", precedence: 2, arity: 1}, + Index: {displayName: "", precedence: 1, arity: 2}, + OptIndex: {displayName: "", precedence: 1, arity: 2}, + OptSelect: {displayName: "", precedence: 1, arity: 2}, + } +) + +// Find the internal function name for an operator, if the input text is one. +func Find(text string) (string, bool) { + op, found := operators[text] + return op, found +} + +// FindReverse returns the unmangled, text representation of the operator. +func FindReverse(symbol string) (string, bool) { + op, found := operatorMap[symbol] + if !found { + return "", false + } + return op.displayName, true +} + +// FindReverseBinaryOperator returns the unmangled, text representation of a binary operator. +// +// If the symbol does refer to an operator, but the operator does not have a display name the +// result is false. +func FindReverseBinaryOperator(symbol string) (string, bool) { + op, found := operatorMap[symbol] + if !found || op.arity != 2 { + return "", false + } + if op.displayName == "" { + return "", false + } + return op.displayName, true +} + +// Precedence returns the operator precedence, where the higher the number indicates +// higher precedence operations. +func Precedence(symbol string) int { + op, found := operatorMap[symbol] + if !found { + return 0 + } + return op.precedence +} + +// Arity returns the number of argument the operator takes +// -1 is returned if an undefined symbol is provided +func Arity(symbol string) int { + op, found := operatorMap[symbol] + if !found { + return -1 + } + return op.arity +} diff --git a/vendor/github.com/google/cel-go/common/overloads/BUILD.bazel b/vendor/github.com/google/cel-go/common/overloads/BUILD.bazel new file mode 100644 index 000000000..e46e2f483 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/overloads/BUILD.bazel @@ -0,0 +1,14 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +package( + default_visibility = ["//visibility:public"], + licenses = ["notice"], # Apache 2.0 +) + +go_library( + name = "go_default_library", + srcs = [ + "overloads.go", + ], + importpath = "github.com/google/cel-go/common/overloads", +) diff --git a/vendor/github.com/google/cel-go/common/overloads/overloads.go b/vendor/github.com/google/cel-go/common/overloads/overloads.go new file mode 100644 index 000000000..9d50f4367 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/overloads/overloads.go @@ -0,0 +1,327 @@ +// Copyright 2018 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 overloads defines the internal overload identifiers for function and +// operator overloads. +package overloads + +// Boolean logic overloads +const ( + Conditional = "conditional" + LogicalAnd = "logical_and" + LogicalOr = "logical_or" + LogicalNot = "logical_not" + NotStrictlyFalse = "not_strictly_false" + Equals = "equals" + NotEquals = "not_equals" + LessBool = "less_bool" + LessInt64 = "less_int64" + LessInt64Double = "less_int64_double" + LessInt64Uint64 = "less_int64_uint64" + LessUint64 = "less_uint64" + LessUint64Double = "less_uint64_double" + LessUint64Int64 = "less_uint64_int64" + LessDouble = "less_double" + LessDoubleInt64 = "less_double_int64" + LessDoubleUint64 = "less_double_uint64" + LessString = "less_string" + LessBytes = "less_bytes" + LessTimestamp = "less_timestamp" + LessDuration = "less_duration" + LessEqualsBool = "less_equals_bool" + LessEqualsInt64 = "less_equals_int64" + LessEqualsInt64Double = "less_equals_int64_double" + LessEqualsInt64Uint64 = "less_equals_int64_uint64" + LessEqualsUint64 = "less_equals_uint64" + LessEqualsUint64Double = "less_equals_uint64_double" + LessEqualsUint64Int64 = "less_equals_uint64_int64" + LessEqualsDouble = "less_equals_double" + LessEqualsDoubleInt64 = "less_equals_double_int64" + LessEqualsDoubleUint64 = "less_equals_double_uint64" + LessEqualsString = "less_equals_string" + LessEqualsBytes = "less_equals_bytes" + LessEqualsTimestamp = "less_equals_timestamp" + LessEqualsDuration = "less_equals_duration" + GreaterBool = "greater_bool" + GreaterInt64 = "greater_int64" + GreaterInt64Double = "greater_int64_double" + GreaterInt64Uint64 = "greater_int64_uint64" + GreaterUint64 = "greater_uint64" + GreaterUint64Double = "greater_uint64_double" + GreaterUint64Int64 = "greater_uint64_int64" + GreaterDouble = "greater_double" + GreaterDoubleInt64 = "greater_double_int64" + GreaterDoubleUint64 = "greater_double_uint64" + GreaterString = "greater_string" + GreaterBytes = "greater_bytes" + GreaterTimestamp = "greater_timestamp" + GreaterDuration = "greater_duration" + GreaterEqualsBool = "greater_equals_bool" + GreaterEqualsInt64 = "greater_equals_int64" + GreaterEqualsInt64Double = "greater_equals_int64_double" + GreaterEqualsInt64Uint64 = "greater_equals_int64_uint64" + GreaterEqualsUint64 = "greater_equals_uint64" + GreaterEqualsUint64Double = "greater_equals_uint64_double" + GreaterEqualsUint64Int64 = "greater_equals_uint64_int64" + GreaterEqualsDouble = "greater_equals_double" + GreaterEqualsDoubleInt64 = "greater_equals_double_int64" + GreaterEqualsDoubleUint64 = "greater_equals_double_uint64" + GreaterEqualsString = "greater_equals_string" + GreaterEqualsBytes = "greater_equals_bytes" + GreaterEqualsTimestamp = "greater_equals_timestamp" + GreaterEqualsDuration = "greater_equals_duration" +) + +// Math overloads +const ( + AddInt64 = "add_int64" + AddUint64 = "add_uint64" + AddDouble = "add_double" + AddString = "add_string" + AddBytes = "add_bytes" + AddList = "add_list" + AddTimestampDuration = "add_timestamp_duration" + AddDurationTimestamp = "add_duration_timestamp" + AddDurationDuration = "add_duration_duration" + SubtractInt64 = "subtract_int64" + SubtractUint64 = "subtract_uint64" + SubtractDouble = "subtract_double" + SubtractTimestampTimestamp = "subtract_timestamp_timestamp" + SubtractTimestampDuration = "subtract_timestamp_duration" + SubtractDurationDuration = "subtract_duration_duration" + MultiplyInt64 = "multiply_int64" + MultiplyUint64 = "multiply_uint64" + MultiplyDouble = "multiply_double" + DivideInt64 = "divide_int64" + DivideUint64 = "divide_uint64" + DivideDouble = "divide_double" + ModuloInt64 = "modulo_int64" + ModuloUint64 = "modulo_uint64" + NegateInt64 = "negate_int64" + NegateDouble = "negate_double" +) + +// Index overloads +const ( + IndexList = "index_list" + IndexMap = "index_map" + IndexMessage = "index_message" // TODO: introduce concept of types.Message +) + +// In operators +const ( + DeprecatedIn = "in" + InList = "in_list" + InMap = "in_map" + InMessage = "in_message" // TODO: introduce concept of types.Message +) + +// Size overloads +const ( + Size = "size" + SizeString = "size_string" + SizeBytes = "size_bytes" + SizeList = "size_list" + SizeMap = "size_map" + SizeStringInst = "string_size" + SizeBytesInst = "bytes_size" + SizeListInst = "list_size" + SizeMapInst = "map_size" +) + +// String function names. +const ( + Contains = "contains" + EndsWith = "endsWith" + Matches = "matches" + StartsWith = "startsWith" +) + +// Extension function overloads with complex behaviors that need to be referenced in runtime and static analysis cost computations. +const ( + ExtQuoteString = "strings_quote" +) + +// String function overload names. +const ( + ContainsString = "contains_string" + EndsWithString = "ends_with_string" + MatchesString = "matches_string" + StartsWithString = "starts_with_string" +) + +// Extension function overloads with complex behaviors that need to be referenced in runtime and static analysis cost computations. +const ( + ExtFormatString = "string_format" +) + +// Time-based functions. +const ( + TimeGetFullYear = "getFullYear" + TimeGetMonth = "getMonth" + TimeGetDayOfYear = "getDayOfYear" + TimeGetDate = "getDate" + TimeGetDayOfMonth = "getDayOfMonth" + TimeGetDayOfWeek = "getDayOfWeek" + TimeGetHours = "getHours" + TimeGetMinutes = "getMinutes" + TimeGetSeconds = "getSeconds" + TimeGetMilliseconds = "getMilliseconds" +) + +// Timestamp overloads for time functions without timezones. +const ( + TimestampToYear = "timestamp_to_year" + TimestampToMonth = "timestamp_to_month" + TimestampToDayOfYear = "timestamp_to_day_of_year" + TimestampToDayOfMonthZeroBased = "timestamp_to_day_of_month" + TimestampToDayOfMonthOneBased = "timestamp_to_day_of_month_1_based" + TimestampToDayOfWeek = "timestamp_to_day_of_week" + TimestampToHours = "timestamp_to_hours" + TimestampToMinutes = "timestamp_to_minutes" + TimestampToSeconds = "timestamp_to_seconds" + TimestampToMilliseconds = "timestamp_to_milliseconds" +) + +// Timestamp overloads for time functions with timezones. +const ( + TimestampToYearWithTz = "timestamp_to_year_with_tz" + TimestampToMonthWithTz = "timestamp_to_month_with_tz" + TimestampToDayOfYearWithTz = "timestamp_to_day_of_year_with_tz" + TimestampToDayOfMonthZeroBasedWithTz = "timestamp_to_day_of_month_with_tz" + TimestampToDayOfMonthOneBasedWithTz = "timestamp_to_day_of_month_1_based_with_tz" + TimestampToDayOfWeekWithTz = "timestamp_to_day_of_week_with_tz" + TimestampToHoursWithTz = "timestamp_to_hours_with_tz" + TimestampToMinutesWithTz = "timestamp_to_minutes_with_tz" + TimestampToSecondsWithTz = "timestamp_to_seconds_tz" + TimestampToMillisecondsWithTz = "timestamp_to_milliseconds_with_tz" +) + +// Duration overloads for time functions. +const ( + DurationToHours = "duration_to_hours" + DurationToMinutes = "duration_to_minutes" + DurationToSeconds = "duration_to_seconds" + DurationToMilliseconds = "duration_to_milliseconds" +) + +// Type conversion methods and overloads +const ( + TypeConvertInt = "int" + TypeConvertUint = "uint" + TypeConvertDouble = "double" + TypeConvertBool = "bool" + TypeConvertString = "string" + TypeConvertBytes = "bytes" + TypeConvertTimestamp = "timestamp" + TypeConvertDuration = "duration" + TypeConvertType = "type" + TypeConvertDyn = "dyn" +) + +// Int conversion functions. +const ( + IntToInt = "int64_to_int64" + UintToInt = "uint64_to_int64" + DoubleToInt = "double_to_int64" + StringToInt = "string_to_int64" + TimestampToInt = "timestamp_to_int64" + DurationToInt = "duration_to_int64" +) + +// Uint conversion functions. +const ( + UintToUint = "uint64_to_uint64" + IntToUint = "int64_to_uint64" + DoubleToUint = "double_to_uint64" + StringToUint = "string_to_uint64" +) + +// Double conversion functions. +const ( + DoubleToDouble = "double_to_double" + IntToDouble = "int64_to_double" + UintToDouble = "uint64_to_double" + StringToDouble = "string_to_double" +) + +// Bool conversion functions. +const ( + BoolToBool = "bool_to_bool" + StringToBool = "string_to_bool" +) + +// Bytes conversion functions. +const ( + BytesToBytes = "bytes_to_bytes" + StringToBytes = "string_to_bytes" +) + +// String conversion functions. +const ( + StringToString = "string_to_string" + BoolToString = "bool_to_string" + IntToString = "int64_to_string" + UintToString = "uint64_to_string" + DoubleToString = "double_to_string" + BytesToString = "bytes_to_string" + TimestampToString = "timestamp_to_string" + DurationToString = "duration_to_string" +) + +// Timestamp conversion functions +const ( + TimestampToTimestamp = "timestamp_to_timestamp" + StringToTimestamp = "string_to_timestamp" + IntToTimestamp = "int64_to_timestamp" +) + +// Convert duration from string +const ( + DurationToDuration = "duration_to_duration" + StringToDuration = "string_to_duration" + IntToDuration = "int64_to_duration" +) + +// Convert to dyn +const ( + ToDyn = "to_dyn" +) + +// Comprehensions helper methods, not directly accessible via a developer. +const ( + Iterator = "@iterator" + HasNext = "@hasNext" + Next = "@next" +) + +// IsTypeConversionFunction returns whether the input function is a standard library type +// conversion function. +func IsTypeConversionFunction(function string) bool { + switch function { + case TypeConvertBool, + TypeConvertBytes, + TypeConvertDouble, + TypeConvertDuration, + TypeConvertDyn, + TypeConvertInt, + TypeConvertString, + TypeConvertTimestamp, + TypeConvertType, + TypeConvertUint: + return true + default: + return false + } +} diff --git a/vendor/github.com/google/cel-go/common/runes/BUILD.bazel b/vendor/github.com/google/cel-go/common/runes/BUILD.bazel new file mode 100644 index 000000000..bb30242cf --- /dev/null +++ b/vendor/github.com/google/cel-go/common/runes/BUILD.bazel @@ -0,0 +1,25 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +package( + default_visibility = ["//visibility:public"], + licenses = ["notice"], # Apache 2.0 +) + +go_library( + name = "go_default_library", + srcs = [ + "buffer.go", + ], + importpath = "github.com/google/cel-go/common/runes", +) + +go_test( + name = "go_default_test", + size = "small", + srcs = [ + "buffer_test.go", + ], + embed = [ + ":go_default_library", + ], +) diff --git a/vendor/github.com/google/cel-go/common/runes/buffer.go b/vendor/github.com/google/cel-go/common/runes/buffer.go new file mode 100644 index 000000000..021198224 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/runes/buffer.go @@ -0,0 +1,242 @@ +// Copyright 2021 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 runes provides interfaces and utilities for working with runes. +package runes + +import ( + "strings" + "unicode/utf8" +) + +// Buffer is an interface for accessing a contiguous array of code points. +type Buffer interface { + Get(i int) rune + Slice(i, j int) string + Len() int +} + +type emptyBuffer struct{} + +func (e *emptyBuffer) Get(i int) rune { + panic("slice index out of bounds") +} + +func (e *emptyBuffer) Slice(i, j int) string { + if i != 0 || i != j { + panic("slice index out of bounds") + } + return "" +} + +func (e *emptyBuffer) Len() int { + return 0 +} + +var _ Buffer = &emptyBuffer{} + +// asciiBuffer is an implementation for an array of code points that contain code points only from +// the ASCII character set. +type asciiBuffer struct { + arr []byte +} + +func (a *asciiBuffer) Get(i int) rune { + return rune(uint32(a.arr[i])) +} + +func (a *asciiBuffer) Slice(i, j int) string { + return string(a.arr[i:j]) +} + +func (a *asciiBuffer) Len() int { + return len(a.arr) +} + +var _ Buffer = &asciiBuffer{} + +// basicBuffer is an implementation for an array of code points that contain code points from both +// the Latin-1 character set and Basic Multilingual Plane. +type basicBuffer struct { + arr []uint16 +} + +func (b *basicBuffer) Get(i int) rune { + return rune(uint32(b.arr[i])) +} + +func (b *basicBuffer) Slice(i, j int) string { + var str strings.Builder + str.Grow((j - i) * 3) // Worst case encoding size for 0xffff is 3. + for ; i < j; i++ { + str.WriteRune(rune(uint32(b.arr[i]))) + } + return str.String() +} + +func (b *basicBuffer) Len() int { + return len(b.arr) +} + +var _ Buffer = &basicBuffer{} + +// supplementalBuffer is an implementation for an array of code points that contain code points from +// the Latin-1 character set, Basic Multilingual Plane, or the Supplemental Multilingual Plane. +type supplementalBuffer struct { + arr []rune +} + +func (s *supplementalBuffer) Get(i int) rune { + return rune(uint32(s.arr[i])) +} + +func (s *supplementalBuffer) Slice(i, j int) string { + return string(s.arr[i:j]) +} + +func (s *supplementalBuffer) Len() int { + return len(s.arr) +} + +var _ Buffer = &supplementalBuffer{} + +var nilBuffer = &emptyBuffer{} + +// NewBuffer returns an efficient implementation of Buffer for the given text based on the ranges of +// the encoded code points contained within. +// +// Code points are represented as an array of byte, uint16, or rune. This approach ensures that +// each index represents a code point by itself without needing to use an array of rune. At first +// we assume all code points are less than or equal to '\u007f'. If this holds true, the +// underlying storage is a byte array containing only ASCII characters. If we encountered a code +// point above this range but less than or equal to '\uffff' we allocate a uint16 array, copy the +// elements of previous byte array to the uint16 array, and continue. If this holds true, the +// underlying storage is a uint16 array containing only Unicode characters in the Basic Multilingual +// Plane. If we encounter a code point above '\uffff' we allocate an rune array, copy the previous +// elements of the byte or uint16 array, and continue. The underlying storage is an rune array +// containing any Unicode character. +func NewBuffer(data string) Buffer { + buf, _ := newBuffer(data, false) + return buf +} + +// NewBufferAndLineOffsets returns an efficient implementation of Buffer for the given text based on +// the ranges of the encoded code points contained within, as well as returning the line offsets. +// +// Code points are represented as an array of byte, uint16, or rune. This approach ensures that +// each index represents a code point by itself without needing to use an array of rune. At first +// we assume all code points are less than or equal to '\u007f'. If this holds true, the +// underlying storage is a byte array containing only ASCII characters. If we encountered a code +// point above this range but less than or equal to '\uffff' we allocate a uint16 array, copy the +// elements of previous byte array to the uint16 array, and continue. If this holds true, the +// underlying storage is a uint16 array containing only Unicode characters in the Basic Multilingual +// Plane. If we encounter a code point above '\uffff' we allocate an rune array, copy the previous +// elements of the byte or uint16 array, and continue. The underlying storage is an rune array +// containing any Unicode character. +func NewBufferAndLineOffsets(data string) (Buffer, []int32) { + return newBuffer(data, true) +} + +func newBuffer(data string, lines bool) (Buffer, []int32) { + if len(data) == 0 { + return nilBuffer, []int32{0} + } + var ( + idx = 0 + off int32 = 0 + buf8 = make([]byte, 0, len(data)) + buf16 []uint16 + buf32 []rune + offs []int32 + ) + for idx < len(data) { + r, s := utf8.DecodeRuneInString(data[idx:]) + idx += s + if lines && r == '\n' { + offs = append(offs, off+1) + } + if r < utf8.RuneSelf { + buf8 = append(buf8, byte(r)) + off++ + continue + } + if r <= 0xffff { + buf16 = make([]uint16, len(buf8), len(data)) + for i, v := range buf8 { + buf16[i] = uint16(v) + } + buf8 = nil + buf16 = append(buf16, uint16(r)) + off++ + goto copy16 + } + buf32 = make([]rune, len(buf8), len(data)) + for i, v := range buf8 { + buf32[i] = rune(uint32(v)) + } + buf8 = nil + buf32 = append(buf32, r) + off++ + goto copy32 + } + if lines { + offs = append(offs, off+1) + } + return &asciiBuffer{ + arr: buf8, + }, offs +copy16: + for idx < len(data) { + r, s := utf8.DecodeRuneInString(data[idx:]) + idx += s + if lines && r == '\n' { + offs = append(offs, off+1) + } + if r <= 0xffff { + buf16 = append(buf16, uint16(r)) + off++ + continue + } + buf32 = make([]rune, len(buf16), len(data)) + for i, v := range buf16 { + buf32[i] = rune(uint32(v)) + } + buf16 = nil + buf32 = append(buf32, r) + off++ + goto copy32 + } + if lines { + offs = append(offs, off+1) + } + return &basicBuffer{ + arr: buf16, + }, offs +copy32: + for idx < len(data) { + r, s := utf8.DecodeRuneInString(data[idx:]) + idx += s + if lines && r == '\n' { + offs = append(offs, off+1) + } + buf32 = append(buf32, r) + off++ + } + if lines { + offs = append(offs, off+1) + } + return &supplementalBuffer{ + arr: buf32, + }, offs +} diff --git a/vendor/github.com/google/cel-go/common/source.go b/vendor/github.com/google/cel-go/common/source.go new file mode 100644 index 000000000..ec79cb545 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/source.go @@ -0,0 +1,173 @@ +// Copyright 2018 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 common + +import ( + "github.com/google/cel-go/common/runes" + + exprpb "google.golang.org/genproto/googleapis/api/expr/v1alpha1" +) + +// Source interface for filter source contents. +type Source interface { + // Content returns the source content represented as a string. + // Examples contents are the single file contents, textbox field, + // or url parameter. + Content() string + + // Description gives a brief description of the source. + // Example descriptions are a file name or ui element. + Description() string + + // LineOffsets gives the character offsets at which lines occur. + // The zero-th entry should refer to the break between the first + // and second line, or EOF if there is only one line of source. + LineOffsets() []int32 + + // LocationOffset translates a Location to an offset. + // Given the line and column of the Location returns the + // Location's character offset in the Source, and a bool + // indicating whether the Location was found. + LocationOffset(location Location) (int32, bool) + + // OffsetLocation translates a character offset to a Location, or + // false if the conversion was not feasible. + OffsetLocation(offset int32) (Location, bool) + + // NewLocation takes an input line and column and produces a Location. + // The default behavior is to treat the line and column as absolute, + // but concrete derivations may use this method to convert a relative + // line and column position into an absolute location. + NewLocation(line, col int) Location + + // Snippet returns a line of content and whether the line was found. + Snippet(line int) (string, bool) +} + +// The sourceImpl type implementation of the Source interface. +type sourceImpl struct { + runes.Buffer + description string + lineOffsets []int32 +} + +var _ runes.Buffer = &sourceImpl{} + +// TODO(jimlarson) "Character offsets" should index the code points +// within the UTF-8 encoded string. It currently indexes bytes. +// Can be accomplished by using rune[] instead of string for contents. + +// NewTextSource creates a new Source from the input text string. +func NewTextSource(text string) Source { + return NewStringSource(text, "") +} + +// NewStringSource creates a new Source from the given contents and description. +func NewStringSource(contents string, description string) Source { + // Compute line offsets up front as they are referred to frequently. + buf, offs := runes.NewBufferAndLineOffsets(contents) + return &sourceImpl{ + Buffer: buf, + description: description, + lineOffsets: offs, + } +} + +// NewInfoSource creates a new Source from a SourceInfo. +func NewInfoSource(info *exprpb.SourceInfo) Source { + return &sourceImpl{ + Buffer: runes.NewBuffer(""), + description: info.GetLocation(), + lineOffsets: info.GetLineOffsets(), + } +} + +// Content implements the Source interface method. +func (s *sourceImpl) Content() string { + return s.Slice(0, s.Len()) +} + +// Description implements the Source interface method. +func (s *sourceImpl) Description() string { + return s.description +} + +// LineOffsets implements the Source interface method. +func (s *sourceImpl) LineOffsets() []int32 { + return s.lineOffsets +} + +// LocationOffset implements the Source interface method. +func (s *sourceImpl) LocationOffset(location Location) (int32, bool) { + if lineOffset, found := s.findLineOffset(location.Line()); found { + return lineOffset + int32(location.Column()), true + } + return -1, false +} + +// NewLocation implements the Source interface method. +func (s *sourceImpl) NewLocation(line, col int) Location { + return NewLocation(line, col) +} + +// OffsetLocation implements the Source interface method. +func (s *sourceImpl) OffsetLocation(offset int32) (Location, bool) { + line, lineOffset := s.findLine(offset) + return NewLocation(int(line), int(offset-lineOffset)), true +} + +// Snippet implements the Source interface method. +func (s *sourceImpl) Snippet(line int) (string, bool) { + charStart, found := s.findLineOffset(line) + if !found || s.Len() == 0 { + return "", false + } + charEnd, found := s.findLineOffset(line + 1) + if found { + return s.Slice(int(charStart), int(charEnd-1)), true + } + return s.Slice(int(charStart), s.Len()), true +} + +// findLineOffset returns the offset where the (1-indexed) line begins, +// or false if line doesn't exist. +func (s *sourceImpl) findLineOffset(line int) (int32, bool) { + if line == 1 { + return 0, true + } + if line > 1 && line <= int(len(s.lineOffsets)) { + offset := s.lineOffsets[line-2] + return offset, true + } + return -1, false +} + +// findLine finds the line that contains the given character offset and +// returns the line number and offset of the beginning of that line. +// Note that the last line is treated as if it contains all offsets +// beyond the end of the actual source. +func (s *sourceImpl) findLine(characterOffset int32) (int32, int32) { + var line int32 = 1 + for _, lineOffset := range s.lineOffsets { + if lineOffset > characterOffset { + break + } + line++ + } + if line == 1 { + return line, 0 + } + return line, s.lineOffsets[line-2] +} diff --git a/vendor/github.com/google/cel-go/common/stdlib/BUILD.bazel b/vendor/github.com/google/cel-go/common/stdlib/BUILD.bazel new file mode 100644 index 000000000..b55f45215 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/stdlib/BUILD.bazel @@ -0,0 +1,23 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +package( + default_visibility = ["//visibility:public"], + licenses = ["notice"], # Apache 2.0 +) + +go_library( + name = "go_default_library", + srcs = [ + "standard.go", + ], + importpath = "github.com/google/cel-go/common/stdlib", + deps = [ + "//common/decls:go_default_library", + "//common/functions:go_default_library", + "//common/operators:go_default_library", + "//common/overloads:go_default_library", + "//common/types:go_default_library", + "//common/types/ref:go_default_library", + "//common/types/traits:go_default_library", + ], +) \ No newline at end of file diff --git a/vendor/github.com/google/cel-go/common/stdlib/standard.go b/vendor/github.com/google/cel-go/common/stdlib/standard.go new file mode 100644 index 000000000..1550c1786 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/stdlib/standard.go @@ -0,0 +1,620 @@ +// Copyright 2018 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 stdlib contains all of the standard library function declarations and definitions for CEL. +package stdlib + +import ( + "github.com/google/cel-go/common/decls" + "github.com/google/cel-go/common/functions" + "github.com/google/cel-go/common/operators" + "github.com/google/cel-go/common/overloads" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" + "github.com/google/cel-go/common/types/traits" +) + +var ( + stdFunctions []*decls.FunctionDecl + stdTypes []*decls.VariableDecl +) + +func init() { + paramA := types.NewTypeParamType("A") + paramB := types.NewTypeParamType("B") + listOfA := types.NewListType(paramA) + mapOfAB := types.NewMapType(paramA, paramB) + + stdTypes = []*decls.VariableDecl{ + decls.TypeVariable(types.BoolType), + decls.TypeVariable(types.BytesType), + decls.TypeVariable(types.DoubleType), + decls.TypeVariable(types.DurationType), + decls.TypeVariable(types.IntType), + decls.TypeVariable(listOfA), + decls.TypeVariable(mapOfAB), + decls.TypeVariable(types.NullType), + decls.TypeVariable(types.StringType), + decls.TypeVariable(types.TimestampType), + decls.TypeVariable(types.TypeType), + decls.TypeVariable(types.UintType), + } + + stdFunctions = []*decls.FunctionDecl{ + // Logical operators. Special-cased within the interpreter. + // Note, the singleton binding prevents extensions from overriding the operator behavior. + function(operators.Conditional, + decls.Overload(overloads.Conditional, argTypes(types.BoolType, paramA, paramA), paramA, + decls.OverloadIsNonStrict()), + decls.SingletonFunctionBinding(noFunctionOverrides)), + function(operators.LogicalAnd, + decls.Overload(overloads.LogicalAnd, argTypes(types.BoolType, types.BoolType), types.BoolType, + decls.OverloadIsNonStrict()), + decls.SingletonBinaryBinding(noBinaryOverrides)), + function(operators.LogicalOr, + decls.Overload(overloads.LogicalOr, argTypes(types.BoolType, types.BoolType), types.BoolType, + decls.OverloadIsNonStrict()), + decls.SingletonBinaryBinding(noBinaryOverrides)), + function(operators.LogicalNot, + decls.Overload(overloads.LogicalNot, argTypes(types.BoolType), types.BoolType), + decls.SingletonUnaryBinding(func(val ref.Val) ref.Val { + b, ok := val.(types.Bool) + if !ok { + return types.MaybeNoSuchOverloadErr(val) + } + return b.Negate() + })), + + // Comprehension short-circuiting related function + function(operators.NotStrictlyFalse, + decls.Overload(overloads.NotStrictlyFalse, argTypes(types.BoolType), types.BoolType, + decls.OverloadIsNonStrict(), + decls.UnaryBinding(notStrictlyFalse))), + // Deprecated: __not_strictly_false__ + function(operators.OldNotStrictlyFalse, + decls.DisableDeclaration(true), // safe deprecation + decls.Overload(operators.OldNotStrictlyFalse, argTypes(types.BoolType), types.BoolType, + decls.OverloadIsNonStrict(), + decls.UnaryBinding(notStrictlyFalse))), + + // Equality / inequality. Special-cased in the interpreter + function(operators.Equals, + decls.Overload(overloads.Equals, argTypes(paramA, paramA), types.BoolType), + decls.SingletonBinaryBinding(noBinaryOverrides)), + function(operators.NotEquals, + decls.Overload(overloads.NotEquals, argTypes(paramA, paramA), types.BoolType), + decls.SingletonBinaryBinding(noBinaryOverrides)), + + // Mathematical operators + function(operators.Add, + decls.Overload(overloads.AddBytes, + argTypes(types.BytesType, types.BytesType), types.BytesType), + decls.Overload(overloads.AddDouble, + argTypes(types.DoubleType, types.DoubleType), types.DoubleType), + decls.Overload(overloads.AddDurationDuration, + argTypes(types.DurationType, types.DurationType), types.DurationType), + decls.Overload(overloads.AddDurationTimestamp, + argTypes(types.DurationType, types.TimestampType), types.TimestampType), + decls.Overload(overloads.AddTimestampDuration, + argTypes(types.TimestampType, types.DurationType), types.TimestampType), + decls.Overload(overloads.AddInt64, + argTypes(types.IntType, types.IntType), types.IntType), + decls.Overload(overloads.AddList, + argTypes(listOfA, listOfA), listOfA), + decls.Overload(overloads.AddString, + argTypes(types.StringType, types.StringType), types.StringType), + decls.Overload(overloads.AddUint64, + argTypes(types.UintType, types.UintType), types.UintType), + decls.SingletonBinaryBinding(func(lhs, rhs ref.Val) ref.Val { + return lhs.(traits.Adder).Add(rhs) + }, traits.AdderType)), + function(operators.Divide, + decls.Overload(overloads.DivideDouble, + argTypes(types.DoubleType, types.DoubleType), types.DoubleType), + decls.Overload(overloads.DivideInt64, + argTypes(types.IntType, types.IntType), types.IntType), + decls.Overload(overloads.DivideUint64, + argTypes(types.UintType, types.UintType), types.UintType), + decls.SingletonBinaryBinding(func(lhs, rhs ref.Val) ref.Val { + return lhs.(traits.Divider).Divide(rhs) + }, traits.DividerType)), + function(operators.Modulo, + decls.Overload(overloads.ModuloInt64, + argTypes(types.IntType, types.IntType), types.IntType), + decls.Overload(overloads.ModuloUint64, + argTypes(types.UintType, types.UintType), types.UintType), + decls.SingletonBinaryBinding(func(lhs, rhs ref.Val) ref.Val { + return lhs.(traits.Modder).Modulo(rhs) + }, traits.ModderType)), + function(operators.Multiply, + decls.Overload(overloads.MultiplyDouble, + argTypes(types.DoubleType, types.DoubleType), types.DoubleType), + decls.Overload(overloads.MultiplyInt64, + argTypes(types.IntType, types.IntType), types.IntType), + decls.Overload(overloads.MultiplyUint64, + argTypes(types.UintType, types.UintType), types.UintType), + decls.SingletonBinaryBinding(func(lhs, rhs ref.Val) ref.Val { + return lhs.(traits.Multiplier).Multiply(rhs) + }, traits.MultiplierType)), + function(operators.Negate, + decls.Overload(overloads.NegateDouble, argTypes(types.DoubleType), types.DoubleType), + decls.Overload(overloads.NegateInt64, argTypes(types.IntType), types.IntType), + decls.SingletonUnaryBinding(func(val ref.Val) ref.Val { + if types.IsBool(val) { + return types.MaybeNoSuchOverloadErr(val) + } + return val.(traits.Negater).Negate() + }, traits.NegatorType)), + function(operators.Subtract, + decls.Overload(overloads.SubtractDouble, + argTypes(types.DoubleType, types.DoubleType), types.DoubleType), + decls.Overload(overloads.SubtractDurationDuration, + argTypes(types.DurationType, types.DurationType), types.DurationType), + decls.Overload(overloads.SubtractInt64, + argTypes(types.IntType, types.IntType), types.IntType), + decls.Overload(overloads.SubtractTimestampDuration, + argTypes(types.TimestampType, types.DurationType), types.TimestampType), + decls.Overload(overloads.SubtractTimestampTimestamp, + argTypes(types.TimestampType, types.TimestampType), types.DurationType), + decls.Overload(overloads.SubtractUint64, + argTypes(types.UintType, types.UintType), types.UintType), + decls.SingletonBinaryBinding(func(lhs, rhs ref.Val) ref.Val { + return lhs.(traits.Subtractor).Subtract(rhs) + }, traits.SubtractorType)), + + // Relations operators + + function(operators.Less, + decls.Overload(overloads.LessBool, + argTypes(types.BoolType, types.BoolType), types.BoolType), + decls.Overload(overloads.LessInt64, + argTypes(types.IntType, types.IntType), types.BoolType), + decls.Overload(overloads.LessInt64Double, + argTypes(types.IntType, types.DoubleType), types.BoolType), + decls.Overload(overloads.LessInt64Uint64, + argTypes(types.IntType, types.UintType), types.BoolType), + decls.Overload(overloads.LessUint64, + argTypes(types.UintType, types.UintType), types.BoolType), + decls.Overload(overloads.LessUint64Double, + argTypes(types.UintType, types.DoubleType), types.BoolType), + decls.Overload(overloads.LessUint64Int64, + argTypes(types.UintType, types.IntType), types.BoolType), + decls.Overload(overloads.LessDouble, + argTypes(types.DoubleType, types.DoubleType), types.BoolType), + decls.Overload(overloads.LessDoubleInt64, + argTypes(types.DoubleType, types.IntType), types.BoolType), + decls.Overload(overloads.LessDoubleUint64, + argTypes(types.DoubleType, types.UintType), types.BoolType), + decls.Overload(overloads.LessString, + argTypes(types.StringType, types.StringType), types.BoolType), + decls.Overload(overloads.LessBytes, + argTypes(types.BytesType, types.BytesType), types.BoolType), + decls.Overload(overloads.LessTimestamp, + argTypes(types.TimestampType, types.TimestampType), types.BoolType), + decls.Overload(overloads.LessDuration, + argTypes(types.DurationType, types.DurationType), types.BoolType), + decls.SingletonBinaryBinding(func(lhs, rhs ref.Val) ref.Val { + cmp := lhs.(traits.Comparer).Compare(rhs) + if cmp == types.IntNegOne { + return types.True + } + if cmp == types.IntOne || cmp == types.IntZero { + return types.False + } + return cmp + }, traits.ComparerType)), + + function(operators.LessEquals, + decls.Overload(overloads.LessEqualsBool, + argTypes(types.BoolType, types.BoolType), types.BoolType), + decls.Overload(overloads.LessEqualsInt64, + argTypes(types.IntType, types.IntType), types.BoolType), + decls.Overload(overloads.LessEqualsInt64Double, + argTypes(types.IntType, types.DoubleType), types.BoolType), + decls.Overload(overloads.LessEqualsInt64Uint64, + argTypes(types.IntType, types.UintType), types.BoolType), + decls.Overload(overloads.LessEqualsUint64, + argTypes(types.UintType, types.UintType), types.BoolType), + decls.Overload(overloads.LessEqualsUint64Double, + argTypes(types.UintType, types.DoubleType), types.BoolType), + decls.Overload(overloads.LessEqualsUint64Int64, + argTypes(types.UintType, types.IntType), types.BoolType), + decls.Overload(overloads.LessEqualsDouble, + argTypes(types.DoubleType, types.DoubleType), types.BoolType), + decls.Overload(overloads.LessEqualsDoubleInt64, + argTypes(types.DoubleType, types.IntType), types.BoolType), + decls.Overload(overloads.LessEqualsDoubleUint64, + argTypes(types.DoubleType, types.UintType), types.BoolType), + decls.Overload(overloads.LessEqualsString, + argTypes(types.StringType, types.StringType), types.BoolType), + decls.Overload(overloads.LessEqualsBytes, + argTypes(types.BytesType, types.BytesType), types.BoolType), + decls.Overload(overloads.LessEqualsTimestamp, + argTypes(types.TimestampType, types.TimestampType), types.BoolType), + decls.Overload(overloads.LessEqualsDuration, + argTypes(types.DurationType, types.DurationType), types.BoolType), + decls.SingletonBinaryBinding(func(lhs, rhs ref.Val) ref.Val { + cmp := lhs.(traits.Comparer).Compare(rhs) + if cmp == types.IntNegOne || cmp == types.IntZero { + return types.True + } + if cmp == types.IntOne { + return types.False + } + return cmp + }, traits.ComparerType)), + + function(operators.Greater, + decls.Overload(overloads.GreaterBool, + argTypes(types.BoolType, types.BoolType), types.BoolType), + decls.Overload(overloads.GreaterInt64, + argTypes(types.IntType, types.IntType), types.BoolType), + decls.Overload(overloads.GreaterInt64Double, + argTypes(types.IntType, types.DoubleType), types.BoolType), + decls.Overload(overloads.GreaterInt64Uint64, + argTypes(types.IntType, types.UintType), types.BoolType), + decls.Overload(overloads.GreaterUint64, + argTypes(types.UintType, types.UintType), types.BoolType), + decls.Overload(overloads.GreaterUint64Double, + argTypes(types.UintType, types.DoubleType), types.BoolType), + decls.Overload(overloads.GreaterUint64Int64, + argTypes(types.UintType, types.IntType), types.BoolType), + decls.Overload(overloads.GreaterDouble, + argTypes(types.DoubleType, types.DoubleType), types.BoolType), + decls.Overload(overloads.GreaterDoubleInt64, + argTypes(types.DoubleType, types.IntType), types.BoolType), + decls.Overload(overloads.GreaterDoubleUint64, + argTypes(types.DoubleType, types.UintType), types.BoolType), + decls.Overload(overloads.GreaterString, + argTypes(types.StringType, types.StringType), types.BoolType), + decls.Overload(overloads.GreaterBytes, + argTypes(types.BytesType, types.BytesType), types.BoolType), + decls.Overload(overloads.GreaterTimestamp, + argTypes(types.TimestampType, types.TimestampType), types.BoolType), + decls.Overload(overloads.GreaterDuration, + argTypes(types.DurationType, types.DurationType), types.BoolType), + decls.SingletonBinaryBinding(func(lhs, rhs ref.Val) ref.Val { + cmp := lhs.(traits.Comparer).Compare(rhs) + if cmp == types.IntOne { + return types.True + } + if cmp == types.IntNegOne || cmp == types.IntZero { + return types.False + } + return cmp + }, traits.ComparerType)), + + function(operators.GreaterEquals, + decls.Overload(overloads.GreaterEqualsBool, + argTypes(types.BoolType, types.BoolType), types.BoolType), + decls.Overload(overloads.GreaterEqualsInt64, + argTypes(types.IntType, types.IntType), types.BoolType), + decls.Overload(overloads.GreaterEqualsInt64Double, + argTypes(types.IntType, types.DoubleType), types.BoolType), + decls.Overload(overloads.GreaterEqualsInt64Uint64, + argTypes(types.IntType, types.UintType), types.BoolType), + decls.Overload(overloads.GreaterEqualsUint64, + argTypes(types.UintType, types.UintType), types.BoolType), + decls.Overload(overloads.GreaterEqualsUint64Double, + argTypes(types.UintType, types.DoubleType), types.BoolType), + decls.Overload(overloads.GreaterEqualsUint64Int64, + argTypes(types.UintType, types.IntType), types.BoolType), + decls.Overload(overloads.GreaterEqualsDouble, + argTypes(types.DoubleType, types.DoubleType), types.BoolType), + decls.Overload(overloads.GreaterEqualsDoubleInt64, + argTypes(types.DoubleType, types.IntType), types.BoolType), + decls.Overload(overloads.GreaterEqualsDoubleUint64, + argTypes(types.DoubleType, types.UintType), types.BoolType), + decls.Overload(overloads.GreaterEqualsString, + argTypes(types.StringType, types.StringType), types.BoolType), + decls.Overload(overloads.GreaterEqualsBytes, + argTypes(types.BytesType, types.BytesType), types.BoolType), + decls.Overload(overloads.GreaterEqualsTimestamp, + argTypes(types.TimestampType, types.TimestampType), types.BoolType), + decls.Overload(overloads.GreaterEqualsDuration, + argTypes(types.DurationType, types.DurationType), types.BoolType), + decls.SingletonBinaryBinding(func(lhs, rhs ref.Val) ref.Val { + cmp := lhs.(traits.Comparer).Compare(rhs) + if cmp == types.IntOne || cmp == types.IntZero { + return types.True + } + if cmp == types.IntNegOne { + return types.False + } + return cmp + }, traits.ComparerType)), + + // Indexing + function(operators.Index, + decls.Overload(overloads.IndexList, argTypes(listOfA, types.IntType), paramA), + decls.Overload(overloads.IndexMap, argTypes(mapOfAB, paramA), paramB), + decls.SingletonBinaryBinding(func(lhs, rhs ref.Val) ref.Val { + return lhs.(traits.Indexer).Get(rhs) + }, traits.IndexerType)), + + // Collections operators + function(operators.In, + decls.Overload(overloads.InList, argTypes(paramA, listOfA), types.BoolType), + decls.Overload(overloads.InMap, argTypes(paramA, mapOfAB), types.BoolType), + decls.SingletonBinaryBinding(inAggregate)), + function(operators.OldIn, + decls.DisableDeclaration(true), // safe deprecation + decls.Overload(overloads.InList, argTypes(paramA, listOfA), types.BoolType), + decls.Overload(overloads.InMap, argTypes(paramA, mapOfAB), types.BoolType), + decls.SingletonBinaryBinding(inAggregate)), + function(overloads.DeprecatedIn, + decls.DisableDeclaration(true), // safe deprecation + decls.Overload(overloads.InList, argTypes(paramA, listOfA), types.BoolType), + decls.Overload(overloads.InMap, argTypes(paramA, mapOfAB), types.BoolType), + decls.SingletonBinaryBinding(inAggregate)), + function(overloads.Size, + decls.Overload(overloads.SizeBytes, argTypes(types.BytesType), types.IntType), + decls.MemberOverload(overloads.SizeBytesInst, argTypes(types.BytesType), types.IntType), + decls.Overload(overloads.SizeList, argTypes(listOfA), types.IntType), + decls.MemberOverload(overloads.SizeListInst, argTypes(listOfA), types.IntType), + decls.Overload(overloads.SizeMap, argTypes(mapOfAB), types.IntType), + decls.MemberOverload(overloads.SizeMapInst, argTypes(mapOfAB), types.IntType), + decls.Overload(overloads.SizeString, argTypes(types.StringType), types.IntType), + decls.MemberOverload(overloads.SizeStringInst, argTypes(types.StringType), types.IntType), + decls.SingletonUnaryBinding(func(val ref.Val) ref.Val { + return val.(traits.Sizer).Size() + }, traits.SizerType)), + + // Type conversions + function(overloads.TypeConvertType, + decls.Overload(overloads.TypeConvertType, argTypes(paramA), types.NewTypeTypeWithParam(paramA)), + decls.SingletonUnaryBinding(convertToType(types.TypeType))), + + // Bool conversions + function(overloads.TypeConvertBool, + decls.Overload(overloads.BoolToBool, argTypes(types.BoolType), types.BoolType, + decls.UnaryBinding(identity)), + decls.Overload(overloads.StringToBool, argTypes(types.StringType), types.BoolType, + decls.UnaryBinding(convertToType(types.BoolType)))), + + // Bytes conversions + function(overloads.TypeConvertBytes, + decls.Overload(overloads.BytesToBytes, argTypes(types.BytesType), types.BytesType, + decls.UnaryBinding(identity)), + decls.Overload(overloads.StringToBytes, argTypes(types.StringType), types.BytesType, + decls.UnaryBinding(convertToType(types.BytesType)))), + + // Double conversions + function(overloads.TypeConvertDouble, + decls.Overload(overloads.DoubleToDouble, argTypes(types.DoubleType), types.DoubleType, + decls.UnaryBinding(identity)), + decls.Overload(overloads.IntToDouble, argTypes(types.IntType), types.DoubleType, + decls.UnaryBinding(convertToType(types.DoubleType))), + decls.Overload(overloads.StringToDouble, argTypes(types.StringType), types.DoubleType, + decls.UnaryBinding(convertToType(types.DoubleType))), + decls.Overload(overloads.UintToDouble, argTypes(types.UintType), types.DoubleType, + decls.UnaryBinding(convertToType(types.DoubleType)))), + + // Duration conversions + function(overloads.TypeConvertDuration, + decls.Overload(overloads.DurationToDuration, argTypes(types.DurationType), types.DurationType, + decls.UnaryBinding(identity)), + decls.Overload(overloads.IntToDuration, argTypes(types.IntType), types.DurationType, + decls.UnaryBinding(convertToType(types.DurationType))), + decls.Overload(overloads.StringToDuration, argTypes(types.StringType), types.DurationType, + decls.UnaryBinding(convertToType(types.DurationType)))), + + // Dyn conversions + function(overloads.TypeConvertDyn, + decls.Overload(overloads.ToDyn, argTypes(paramA), types.DynType), + decls.SingletonUnaryBinding(identity)), + + // Int conversions + function(overloads.TypeConvertInt, + decls.Overload(overloads.IntToInt, argTypes(types.IntType), types.IntType, + decls.UnaryBinding(identity)), + decls.Overload(overloads.DoubleToInt, argTypes(types.DoubleType), types.IntType, + decls.UnaryBinding(convertToType(types.IntType))), + decls.Overload(overloads.DurationToInt, argTypes(types.DurationType), types.IntType, + decls.UnaryBinding(convertToType(types.IntType))), + decls.Overload(overloads.StringToInt, argTypes(types.StringType), types.IntType, + decls.UnaryBinding(convertToType(types.IntType))), + decls.Overload(overloads.TimestampToInt, argTypes(types.TimestampType), types.IntType, + decls.UnaryBinding(convertToType(types.IntType))), + decls.Overload(overloads.UintToInt, argTypes(types.UintType), types.IntType, + decls.UnaryBinding(convertToType(types.IntType))), + ), + + // String conversions + function(overloads.TypeConvertString, + decls.Overload(overloads.StringToString, argTypes(types.StringType), types.StringType, + decls.UnaryBinding(identity)), + decls.Overload(overloads.BoolToString, argTypes(types.BoolType), types.StringType, + decls.UnaryBinding(convertToType(types.StringType))), + decls.Overload(overloads.BytesToString, argTypes(types.BytesType), types.StringType, + decls.UnaryBinding(convertToType(types.StringType))), + decls.Overload(overloads.DoubleToString, argTypes(types.DoubleType), types.StringType, + decls.UnaryBinding(convertToType(types.StringType))), + decls.Overload(overloads.DurationToString, argTypes(types.DurationType), types.StringType, + decls.UnaryBinding(convertToType(types.StringType))), + decls.Overload(overloads.IntToString, argTypes(types.IntType), types.StringType, + decls.UnaryBinding(convertToType(types.StringType))), + decls.Overload(overloads.TimestampToString, argTypes(types.TimestampType), types.StringType, + decls.UnaryBinding(convertToType(types.StringType))), + decls.Overload(overloads.UintToString, argTypes(types.UintType), types.StringType, + decls.UnaryBinding(convertToType(types.StringType)))), + + // Timestamp conversions + function(overloads.TypeConvertTimestamp, + decls.Overload(overloads.TimestampToTimestamp, argTypes(types.TimestampType), types.TimestampType, + decls.UnaryBinding(identity)), + decls.Overload(overloads.IntToTimestamp, argTypes(types.IntType), types.TimestampType, + decls.UnaryBinding(convertToType(types.TimestampType))), + decls.Overload(overloads.StringToTimestamp, argTypes(types.StringType), types.TimestampType, + decls.UnaryBinding(convertToType(types.TimestampType)))), + + // Uint conversions + function(overloads.TypeConvertUint, + decls.Overload(overloads.UintToUint, argTypes(types.UintType), types.UintType, + decls.UnaryBinding(identity)), + decls.Overload(overloads.DoubleToUint, argTypes(types.DoubleType), types.UintType, + decls.UnaryBinding(convertToType(types.UintType))), + decls.Overload(overloads.IntToUint, argTypes(types.IntType), types.UintType, + decls.UnaryBinding(convertToType(types.UintType))), + decls.Overload(overloads.StringToUint, argTypes(types.StringType), types.UintType, + decls.UnaryBinding(convertToType(types.UintType)))), + + // String functions + function(overloads.Contains, + decls.MemberOverload(overloads.ContainsString, + argTypes(types.StringType, types.StringType), types.BoolType, + decls.BinaryBinding(types.StringContains)), + decls.DisableTypeGuards(true)), + function(overloads.EndsWith, + decls.MemberOverload(overloads.EndsWithString, + argTypes(types.StringType, types.StringType), types.BoolType, + decls.BinaryBinding(types.StringEndsWith)), + decls.DisableTypeGuards(true)), + function(overloads.StartsWith, + decls.MemberOverload(overloads.StartsWithString, + argTypes(types.StringType, types.StringType), types.BoolType, + decls.BinaryBinding(types.StringStartsWith)), + decls.DisableTypeGuards(true)), + function(overloads.Matches, + decls.Overload(overloads.Matches, argTypes(types.StringType, types.StringType), types.BoolType), + decls.MemberOverload(overloads.MatchesString, + argTypes(types.StringType, types.StringType), types.BoolType), + decls.SingletonBinaryBinding(func(str, pat ref.Val) ref.Val { + return str.(traits.Matcher).Match(pat) + }, traits.MatcherType)), + + // Timestamp / duration functions + function(overloads.TimeGetFullYear, + decls.MemberOverload(overloads.TimestampToYear, + argTypes(types.TimestampType), types.IntType), + decls.MemberOverload(overloads.TimestampToYearWithTz, + argTypes(types.TimestampType, types.StringType), types.IntType)), + + function(overloads.TimeGetMonth, + decls.MemberOverload(overloads.TimestampToMonth, + argTypes(types.TimestampType), types.IntType), + decls.MemberOverload(overloads.TimestampToMonthWithTz, + argTypes(types.TimestampType, types.StringType), types.IntType)), + + function(overloads.TimeGetDayOfYear, + decls.MemberOverload(overloads.TimestampToDayOfYear, + argTypes(types.TimestampType), types.IntType), + decls.MemberOverload(overloads.TimestampToDayOfYearWithTz, + argTypes(types.TimestampType, types.StringType), types.IntType)), + + function(overloads.TimeGetDayOfMonth, + decls.MemberOverload(overloads.TimestampToDayOfMonthZeroBased, + argTypes(types.TimestampType), types.IntType), + decls.MemberOverload(overloads.TimestampToDayOfMonthZeroBasedWithTz, + argTypes(types.TimestampType, types.StringType), types.IntType)), + + function(overloads.TimeGetDate, + decls.MemberOverload(overloads.TimestampToDayOfMonthOneBased, + argTypes(types.TimestampType), types.IntType), + decls.MemberOverload(overloads.TimestampToDayOfMonthOneBasedWithTz, + argTypes(types.TimestampType, types.StringType), types.IntType)), + + function(overloads.TimeGetDayOfWeek, + decls.MemberOverload(overloads.TimestampToDayOfWeek, + argTypes(types.TimestampType), types.IntType), + decls.MemberOverload(overloads.TimestampToDayOfWeekWithTz, + argTypes(types.TimestampType, types.StringType), types.IntType)), + + function(overloads.TimeGetHours, + decls.MemberOverload(overloads.TimestampToHours, + argTypes(types.TimestampType), types.IntType), + decls.MemberOverload(overloads.TimestampToHoursWithTz, + argTypes(types.TimestampType, types.StringType), types.IntType), + decls.MemberOverload(overloads.DurationToHours, + argTypes(types.DurationType), types.IntType)), + + function(overloads.TimeGetMinutes, + decls.MemberOverload(overloads.TimestampToMinutes, + argTypes(types.TimestampType), types.IntType), + decls.MemberOverload(overloads.TimestampToMinutesWithTz, + argTypes(types.TimestampType, types.StringType), types.IntType), + decls.MemberOverload(overloads.DurationToMinutes, + argTypes(types.DurationType), types.IntType)), + + function(overloads.TimeGetSeconds, + decls.MemberOverload(overloads.TimestampToSeconds, + argTypes(types.TimestampType), types.IntType), + decls.MemberOverload(overloads.TimestampToSecondsWithTz, + argTypes(types.TimestampType, types.StringType), types.IntType), + decls.MemberOverload(overloads.DurationToSeconds, + argTypes(types.DurationType), types.IntType)), + + function(overloads.TimeGetMilliseconds, + decls.MemberOverload(overloads.TimestampToMilliseconds, + argTypes(types.TimestampType), types.IntType), + decls.MemberOverload(overloads.TimestampToMillisecondsWithTz, + argTypes(types.TimestampType, types.StringType), types.IntType), + decls.MemberOverload(overloads.DurationToMilliseconds, + argTypes(types.DurationType), types.IntType)), + } +} + +// Functions returns the set of standard library function declarations and definitions for CEL. +func Functions() []*decls.FunctionDecl { + return stdFunctions +} + +// Types returns the set of standard library types for CEL. +func Types() []*decls.VariableDecl { + return stdTypes +} + +func notStrictlyFalse(value ref.Val) ref.Val { + if types.IsBool(value) { + return value + } + return types.True +} + +func inAggregate(lhs ref.Val, rhs ref.Val) ref.Val { + if rhs.Type().HasTrait(traits.ContainerType) { + return rhs.(traits.Container).Contains(lhs) + } + return types.ValOrErr(rhs, "no such overload") +} + +func function(name string, opts ...decls.FunctionOpt) *decls.FunctionDecl { + fn, err := decls.NewFunction(name, opts...) + if err != nil { + panic(err) + } + return fn +} + +func argTypes(args ...*types.Type) []*types.Type { + return args +} + +func noBinaryOverrides(rhs, lhs ref.Val) ref.Val { + return types.NoSuchOverloadErr() +} + +func noFunctionOverrides(args ...ref.Val) ref.Val { + return types.NoSuchOverloadErr() +} + +func identity(val ref.Val) ref.Val { + return val +} + +func convertToType(t ref.Type) functions.UnaryOp { + return func(val ref.Val) ref.Val { + return val.ConvertToType(t) + } +} diff --git a/vendor/github.com/google/cel-go/common/types/BUILD.bazel b/vendor/github.com/google/cel-go/common/types/BUILD.bazel new file mode 100644 index 000000000..8f010fae4 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/BUILD.bazel @@ -0,0 +1,92 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +package( + default_visibility = ["//visibility:public"], + licenses = ["notice"], # Apache 2.0 +) + +go_library( + name = "go_default_library", + srcs = [ + "any_value.go", + "bool.go", + "bytes.go", + "compare.go", + "double.go", + "duration.go", + "err.go", + "int.go", + "iterator.go", + "json_value.go", + "list.go", + "map.go", + "null.go", + "object.go", + "optional.go", + "overflow.go", + "provider.go", + "string.go", + "timestamp.go", + "types.go", + "uint.go", + "unknown.go", + "util.go", + ], + importpath = "github.com/google/cel-go/common/types", + deps = [ + "//checker/decls:go_default_library", + "//common/overloads:go_default_library", + "//common/types/pb:go_default_library", + "//common/types/ref:go_default_library", + "//common/types/traits:go_default_library", + "@com_github_stoewer_go_strcase//:go_default_library", + "@dev_cel_expr//:expr", + "@org_golang_google_genproto_googleapis_api//expr/v1alpha1:go_default_library", + "@org_golang_google_protobuf//encoding/protojson:go_default_library", + "@org_golang_google_protobuf//proto:go_default_library", + "@org_golang_google_protobuf//reflect/protoreflect:go_default_library", + "@org_golang_google_protobuf//types/dynamicpb:go_default_library", + "@org_golang_google_protobuf//types/known/anypb:go_default_library", + "@org_golang_google_protobuf//types/known/durationpb:go_default_library", + "@org_golang_google_protobuf//types/known/structpb:go_default_library", + "@org_golang_google_protobuf//types/known/timestamppb:go_default_library", + "@org_golang_google_protobuf//types/known/wrapperspb:go_default_library", + ], +) + +go_test( + name = "go_default_test", + size = "small", + srcs = [ + "bool_test.go", + "bytes_test.go", + "double_test.go", + "duration_test.go", + "int_test.go", + "json_list_test.go", + "json_struct_test.go", + "list_test.go", + "map_test.go", + "null_test.go", + "object_test.go", + "optional_test.go", + "provider_test.go", + "string_test.go", + "timestamp_test.go", + "types_test.go", + "uint_test.go", + "unknown_test.go", + "util_test.go", + ], + embed = [":go_default_library"], + deps = [ + "//common/types/ref:go_default_library", + "//test:go_default_library", + "//test/proto3pb:test_all_types_go_proto", + "@org_golang_google_genproto_googleapis_api//expr/v1alpha1:go_default_library", + "@org_golang_google_protobuf//encoding/protojson:go_default_library", + "@org_golang_google_protobuf//types/known/anypb:go_default_library", + "@org_golang_google_protobuf//types/known/durationpb:go_default_library", + "@org_golang_google_protobuf//types/known/timestamppb:go_default_library", + ], +) diff --git a/vendor/github.com/google/cel-go/common/types/any_value.go b/vendor/github.com/google/cel-go/common/types/any_value.go new file mode 100644 index 000000000..cda0f13ac --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/any_value.go @@ -0,0 +1,24 @@ +// Copyright 2018 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 types + +import ( + "reflect" + + anypb "google.golang.org/protobuf/types/known/anypb" +) + +// anyValueType constant representing the reflected type of google.protobuf.Any. +var anyValueType = reflect.TypeOf(&anypb.Any{}) diff --git a/vendor/github.com/google/cel-go/common/types/bool.go b/vendor/github.com/google/cel-go/common/types/bool.go new file mode 100644 index 000000000..565734f3f --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/bool.go @@ -0,0 +1,141 @@ +// Copyright 2018 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 types + +import ( + "fmt" + "reflect" + "strconv" + + "github.com/google/cel-go/common/types/ref" + + anypb "google.golang.org/protobuf/types/known/anypb" + structpb "google.golang.org/protobuf/types/known/structpb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" +) + +// Bool type that implements ref.Val and supports comparison and negation. +type Bool bool + +var ( + // boolWrapperType golang reflected type for protobuf bool wrapper type. + boolWrapperType = reflect.TypeOf(&wrapperspb.BoolValue{}) +) + +// Boolean constants +const ( + False = Bool(false) + True = Bool(true) +) + +// Compare implements the traits.Comparer interface method. +func (b Bool) Compare(other ref.Val) ref.Val { + otherBool, ok := other.(Bool) + if !ok { + return ValOrErr(other, "no such overload") + } + if b == otherBool { + return IntZero + } + if !b && otherBool { + return IntNegOne + } + return IntOne +} + +// ConvertToNative implements the ref.Val interface method. +func (b Bool) ConvertToNative(typeDesc reflect.Type) (any, error) { + switch typeDesc.Kind() { + case reflect.Bool: + return reflect.ValueOf(b).Convert(typeDesc).Interface(), nil + case reflect.Ptr: + switch typeDesc { + case anyValueType: + // Primitives must be wrapped to a wrapperspb.BoolValue before being packed into an Any. + return anypb.New(wrapperspb.Bool(bool(b))) + case boolWrapperType: + // Convert the bool to a wrapperspb.BoolValue. + return wrapperspb.Bool(bool(b)), nil + case jsonValueType: + // Return the bool as a new structpb.Value. + return structpb.NewBoolValue(bool(b)), nil + default: + if typeDesc.Elem().Kind() == reflect.Bool { + p := bool(b) + return &p, nil + } + } + case reflect.Interface: + bv := b.Value() + if reflect.TypeOf(bv).Implements(typeDesc) { + return bv, nil + } + if reflect.TypeOf(b).Implements(typeDesc) { + return b, nil + } + } + return nil, fmt.Errorf("type conversion error from bool to '%v'", typeDesc) +} + +// ConvertToType implements the ref.Val interface method. +func (b Bool) ConvertToType(typeVal ref.Type) ref.Val { + switch typeVal { + case StringType: + return String(strconv.FormatBool(bool(b))) + case BoolType: + return b + case TypeType: + return BoolType + } + return NewErr("type conversion error from '%v' to '%v'", BoolType, typeVal) +} + +// Equal implements the ref.Val interface method. +func (b Bool) Equal(other ref.Val) ref.Val { + otherBool, ok := other.(Bool) + return Bool(ok && b == otherBool) +} + +// IsZeroValue returns true if the boolean value is false. +func (b Bool) IsZeroValue() bool { + return b == False +} + +// Negate implements the traits.Negater interface method. +func (b Bool) Negate() ref.Val { + return !b +} + +// Type implements the ref.Val interface method. +func (b Bool) Type() ref.Type { + return BoolType +} + +// Value implements the ref.Val interface method. +func (b Bool) Value() any { + return bool(b) +} + +// IsBool returns whether the input ref.Val or ref.Type is equal to BoolType. +func IsBool(elem ref.Val) bool { + switch v := elem.(type) { + case Bool: + return true + case ref.Val: + return v.Type() == BoolType + default: + return false + } +} diff --git a/vendor/github.com/google/cel-go/common/types/bytes.go b/vendor/github.com/google/cel-go/common/types/bytes.go new file mode 100644 index 000000000..7e813e291 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/bytes.go @@ -0,0 +1,140 @@ +// Copyright 2018 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 types + +import ( + "bytes" + "encoding/base64" + "fmt" + "reflect" + "unicode/utf8" + + "github.com/google/cel-go/common/types/ref" + + anypb "google.golang.org/protobuf/types/known/anypb" + structpb "google.golang.org/protobuf/types/known/structpb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" +) + +// Bytes type that implements ref.Val and supports add, compare, and size +// operations. +type Bytes []byte + +var ( + // byteWrapperType golang reflected type for protobuf bytes wrapper type. + byteWrapperType = reflect.TypeOf(&wrapperspb.BytesValue{}) +) + +// Add implements traits.Adder interface method by concatenating byte sequences. +func (b Bytes) Add(other ref.Val) ref.Val { + otherBytes, ok := other.(Bytes) + if !ok { + return ValOrErr(other, "no such overload") + } + return append(b, otherBytes...) +} + +// Compare implements traits.Comparer interface method by lexicographic ordering. +func (b Bytes) Compare(other ref.Val) ref.Val { + otherBytes, ok := other.(Bytes) + if !ok { + return ValOrErr(other, "no such overload") + } + return Int(bytes.Compare(b, otherBytes)) +} + +// ConvertToNative implements the ref.Val interface method. +func (b Bytes) ConvertToNative(typeDesc reflect.Type) (any, error) { + switch typeDesc.Kind() { + case reflect.Array: + if len(b) != typeDesc.Len() { + return nil, fmt.Errorf("[%d]byte not assignable to [%d]byte array", len(b), typeDesc.Len()) + } + refArrPtr := reflect.New(reflect.ArrayOf(len(b), typeDesc.Elem())) + refArr := refArrPtr.Elem() + for i, byt := range b { + refArr.Index(i).Set(reflect.ValueOf(byt).Convert(typeDesc.Elem())) + } + return refArr.Interface(), nil + case reflect.Slice: + return reflect.ValueOf(b).Convert(typeDesc).Interface(), nil + case reflect.Ptr: + switch typeDesc { + case anyValueType: + // Primitives must be wrapped before being set on an Any field. + return anypb.New(wrapperspb.Bytes([]byte(b))) + case byteWrapperType: + // Convert the bytes to a wrapperspb.BytesValue. + return wrapperspb.Bytes([]byte(b)), nil + case jsonValueType: + // CEL follows the proto3 to JSON conversion by encoding bytes to a string via base64. + // The encoding below matches the golang 'encoding/json' behavior during marshaling, + // which uses base64.StdEncoding. + str := base64.StdEncoding.EncodeToString([]byte(b)) + return structpb.NewStringValue(str), nil + } + case reflect.Interface: + bv := b.Value() + if reflect.TypeOf(bv).Implements(typeDesc) { + return bv, nil + } + if reflect.TypeOf(b).Implements(typeDesc) { + return b, nil + } + } + return nil, fmt.Errorf("type conversion error from Bytes to '%v'", typeDesc) +} + +// ConvertToType implements the ref.Val interface method. +func (b Bytes) ConvertToType(typeVal ref.Type) ref.Val { + switch typeVal { + case StringType: + if !utf8.Valid(b) { + return NewErr("invalid UTF-8 in bytes, cannot convert to string") + } + return String(b) + case BytesType: + return b + case TypeType: + return BytesType + } + return NewErr("type conversion error from '%s' to '%s'", BytesType, typeVal) +} + +// Equal implements the ref.Val interface method. +func (b Bytes) Equal(other ref.Val) ref.Val { + otherBytes, ok := other.(Bytes) + return Bool(ok && bytes.Equal(b, otherBytes)) +} + +// IsZeroValue returns true if the byte array is empty. +func (b Bytes) IsZeroValue() bool { + return len(b) == 0 +} + +// Size implements the traits.Sizer interface method. +func (b Bytes) Size() ref.Val { + return Int(len(b)) +} + +// Type implements the ref.Val interface method. +func (b Bytes) Type() ref.Type { + return BytesType +} + +// Value implements the ref.Val interface method. +func (b Bytes) Value() any { + return []byte(b) +} diff --git a/vendor/github.com/google/cel-go/common/types/compare.go b/vendor/github.com/google/cel-go/common/types/compare.go new file mode 100644 index 000000000..e19682618 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/compare.go @@ -0,0 +1,97 @@ +// Copyright 2021 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 types + +import ( + "math" + + "github.com/google/cel-go/common/types/ref" +) + +func compareDoubleInt(d Double, i Int) Int { + if d < math.MinInt64 { + return IntNegOne + } + if d > math.MaxInt64 { + return IntOne + } + return compareDouble(d, Double(i)) +} + +func compareIntDouble(i Int, d Double) Int { + return -compareDoubleInt(d, i) +} + +func compareDoubleUint(d Double, u Uint) Int { + if d < 0 { + return IntNegOne + } + if d > math.MaxUint64 { + return IntOne + } + return compareDouble(d, Double(u)) +} + +func compareUintDouble(u Uint, d Double) Int { + return -compareDoubleUint(d, u) +} + +func compareIntUint(i Int, u Uint) Int { + if i < 0 || u > math.MaxInt64 { + return IntNegOne + } + cmp := i - Int(u) + if cmp < 0 { + return IntNegOne + } + if cmp > 0 { + return IntOne + } + return IntZero +} + +func compareUintInt(u Uint, i Int) Int { + return -compareIntUint(i, u) +} + +func compareDouble(a, b Double) Int { + if a < b { + return IntNegOne + } + if a > b { + return IntOne + } + return IntZero +} + +func compareInt(a, b Int) ref.Val { + if a < b { + return IntNegOne + } + if a > b { + return IntOne + } + return IntZero +} + +func compareUint(a, b Uint) ref.Val { + if a < b { + return IntNegOne + } + if a > b { + return IntOne + } + return IntZero +} diff --git a/vendor/github.com/google/cel-go/common/types/doc.go b/vendor/github.com/google/cel-go/common/types/doc.go new file mode 100644 index 000000000..5f641d704 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/doc.go @@ -0,0 +1,17 @@ +// Copyright 2018 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 types contains the types, traits, and utilities common to all +// components of expression handling. +package types diff --git a/vendor/github.com/google/cel-go/common/types/double.go b/vendor/github.com/google/cel-go/common/types/double.go new file mode 100644 index 000000000..027e78978 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/double.go @@ -0,0 +1,211 @@ +// Copyright 2018 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 types + +import ( + "fmt" + "math" + "reflect" + + "github.com/google/cel-go/common/types/ref" + + anypb "google.golang.org/protobuf/types/known/anypb" + structpb "google.golang.org/protobuf/types/known/structpb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" +) + +// Double type that implements ref.Val, comparison, and mathematical +// operations. +type Double float64 + +var ( + // doubleWrapperType reflected type for protobuf double wrapper type. + doubleWrapperType = reflect.TypeOf(&wrapperspb.DoubleValue{}) + + // floatWrapperType reflected type for protobuf float wrapper type. + floatWrapperType = reflect.TypeOf(&wrapperspb.FloatValue{}) +) + +// Add implements traits.Adder.Add. +func (d Double) Add(other ref.Val) ref.Val { + otherDouble, ok := other.(Double) + if !ok { + return MaybeNoSuchOverloadErr(other) + } + return d + otherDouble +} + +// Compare implements traits.Comparer.Compare. +func (d Double) Compare(other ref.Val) ref.Val { + if math.IsNaN(float64(d)) { + return NewErr("NaN values cannot be ordered") + } + switch ov := other.(type) { + case Double: + if math.IsNaN(float64(ov)) { + return NewErr("NaN values cannot be ordered") + } + return compareDouble(d, ov) + case Int: + return compareDoubleInt(d, ov) + case Uint: + return compareDoubleUint(d, ov) + default: + return MaybeNoSuchOverloadErr(other) + } +} + +// ConvertToNative implements ref.Val.ConvertToNative. +func (d Double) ConvertToNative(typeDesc reflect.Type) (any, error) { + switch typeDesc.Kind() { + case reflect.Float32: + v := float32(d) + return reflect.ValueOf(v).Convert(typeDesc).Interface(), nil + case reflect.Float64: + v := float64(d) + return reflect.ValueOf(v).Convert(typeDesc).Interface(), nil + case reflect.Ptr: + switch typeDesc { + case anyValueType: + // Primitives must be wrapped before being set on an Any field. + return anypb.New(wrapperspb.Double(float64(d))) + case doubleWrapperType: + // Convert to a wrapperspb.DoubleValue + return wrapperspb.Double(float64(d)), nil + case floatWrapperType: + // Convert to a wrapperspb.FloatValue (with truncation). + return wrapperspb.Float(float32(d)), nil + case jsonValueType: + // Note, there are special cases for proto3 to json conversion that + // expect the floating point value to be converted to a NaN, + // Infinity, or -Infinity string values, but the jsonpb string + // marshaling of the protobuf.Value will handle this conversion. + return structpb.NewNumberValue(float64(d)), nil + } + switch typeDesc.Elem().Kind() { + case reflect.Float32: + v := float32(d) + p := reflect.New(typeDesc.Elem()) + p.Elem().Set(reflect.ValueOf(v).Convert(typeDesc.Elem())) + return p.Interface(), nil + case reflect.Float64: + v := float64(d) + p := reflect.New(typeDesc.Elem()) + p.Elem().Set(reflect.ValueOf(v).Convert(typeDesc.Elem())) + return p.Interface(), nil + } + case reflect.Interface: + dv := d.Value() + if reflect.TypeOf(dv).Implements(typeDesc) { + return dv, nil + } + if reflect.TypeOf(d).Implements(typeDesc) { + return d, nil + } + } + return nil, fmt.Errorf("type conversion error from Double to '%v'", typeDesc) +} + +// ConvertToType implements ref.Val.ConvertToType. +func (d Double) ConvertToType(typeVal ref.Type) ref.Val { + switch typeVal { + case IntType: + i, err := doubleToInt64Checked(float64(d)) + if err != nil { + return WrapErr(err) + } + return Int(i) + case UintType: + i, err := doubleToUint64Checked(float64(d)) + if err != nil { + return WrapErr(err) + } + return Uint(i) + case DoubleType: + return d + case StringType: + return String(fmt.Sprintf("%g", float64(d))) + case TypeType: + return DoubleType + } + return NewErr("type conversion error from '%s' to '%s'", DoubleType, typeVal) +} + +// Divide implements traits.Divider.Divide. +func (d Double) Divide(other ref.Val) ref.Val { + otherDouble, ok := other.(Double) + if !ok { + return MaybeNoSuchOverloadErr(other) + } + return d / otherDouble +} + +// Equal implements ref.Val.Equal. +func (d Double) Equal(other ref.Val) ref.Val { + if math.IsNaN(float64(d)) { + return False + } + switch ov := other.(type) { + case Double: + if math.IsNaN(float64(ov)) { + return False + } + return Bool(d == ov) + case Int: + return Bool(compareDoubleInt(d, ov) == 0) + case Uint: + return Bool(compareDoubleUint(d, ov) == 0) + default: + return False + } +} + +// IsZeroValue returns true if double value is 0.0 +func (d Double) IsZeroValue() bool { + return float64(d) == 0.0 +} + +// Multiply implements traits.Multiplier.Multiply. +func (d Double) Multiply(other ref.Val) ref.Val { + otherDouble, ok := other.(Double) + if !ok { + return MaybeNoSuchOverloadErr(other) + } + return d * otherDouble +} + +// Negate implements traits.Negater.Negate. +func (d Double) Negate() ref.Val { + return -d +} + +// Subtract implements traits.Subtractor.Subtract. +func (d Double) Subtract(subtrahend ref.Val) ref.Val { + subtraDouble, ok := subtrahend.(Double) + if !ok { + return MaybeNoSuchOverloadErr(subtrahend) + } + return d - subtraDouble +} + +// Type implements ref.Val.Type. +func (d Double) Type() ref.Type { + return DoubleType +} + +// Value implements ref.Val.Value. +func (d Double) Value() any { + return float64(d) +} diff --git a/vendor/github.com/google/cel-go/common/types/duration.go b/vendor/github.com/google/cel-go/common/types/duration.go new file mode 100644 index 000000000..596e56d6b --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/duration.go @@ -0,0 +1,222 @@ +// Copyright 2018 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 types + +import ( + "fmt" + "reflect" + "strconv" + "time" + + "github.com/google/cel-go/common/overloads" + "github.com/google/cel-go/common/types/ref" + + anypb "google.golang.org/protobuf/types/known/anypb" + dpb "google.golang.org/protobuf/types/known/durationpb" + structpb "google.golang.org/protobuf/types/known/structpb" +) + +// Duration type that implements ref.Val and supports add, compare, negate, +// and subtract operators. This type is also a receiver which means it can +// participate in dispatch to receiver functions. +type Duration struct { + time.Duration +} + +func durationOf(d time.Duration) Duration { + return Duration{Duration: d} +} + +var ( + durationValueType = reflect.TypeOf(&dpb.Duration{}) + + durationZeroArgOverloads = map[string]func(ref.Val) ref.Val{ + overloads.TimeGetHours: DurationGetHours, + overloads.TimeGetMinutes: DurationGetMinutes, + overloads.TimeGetSeconds: DurationGetSeconds, + overloads.TimeGetMilliseconds: DurationGetMilliseconds, + } +) + +// Add implements traits.Adder.Add. +func (d Duration) Add(other ref.Val) ref.Val { + switch other.Type() { + case DurationType: + dur2 := other.(Duration) + val, err := addDurationChecked(d.Duration, dur2.Duration) + if err != nil { + return WrapErr(err) + } + return durationOf(val) + case TimestampType: + ts := other.(Timestamp).Time + val, err := addTimeDurationChecked(ts, d.Duration) + if err != nil { + return WrapErr(err) + } + return timestampOf(val) + } + return MaybeNoSuchOverloadErr(other) +} + +// Compare implements traits.Comparer.Compare. +func (d Duration) Compare(other ref.Val) ref.Val { + otherDur, ok := other.(Duration) + if !ok { + return MaybeNoSuchOverloadErr(other) + } + d1 := d.Duration + d2 := otherDur.Duration + switch { + case d1 < d2: + return IntNegOne + case d1 > d2: + return IntOne + default: + return IntZero + } +} + +// ConvertToNative implements ref.Val.ConvertToNative. +func (d Duration) ConvertToNative(typeDesc reflect.Type) (any, error) { + // If the duration is already assignable to the desired type return it. + if reflect.TypeOf(d.Duration).AssignableTo(typeDesc) { + return d.Duration, nil + } + if reflect.TypeOf(d).AssignableTo(typeDesc) { + return d, nil + } + switch typeDesc { + case anyValueType: + // Pack the duration as a dpb.Duration into an Any value. + return anypb.New(dpb.New(d.Duration)) + case durationValueType: + // Unwrap the CEL value to its underlying proto value. + return dpb.New(d.Duration), nil + case jsonValueType: + // CEL follows the proto3 to JSON conversion. + // Note, using jsonpb would wrap the result in extra double quotes. + v := d.ConvertToType(StringType) + if IsError(v) { + return nil, v.(*Err) + } + return structpb.NewStringValue(string(v.(String))), nil + } + return nil, fmt.Errorf("type conversion error from 'Duration' to '%v'", typeDesc) +} + +// ConvertToType implements ref.Val.ConvertToType. +func (d Duration) ConvertToType(typeVal ref.Type) ref.Val { + switch typeVal { + case StringType: + return String(strconv.FormatFloat(d.Seconds(), 'f', -1, 64) + "s") + case IntType: + return Int(d.Duration) + case DurationType: + return d + case TypeType: + return DurationType + } + return NewErr("type conversion error from '%s' to '%s'", DurationType, typeVal) +} + +// Equal implements ref.Val.Equal. +func (d Duration) Equal(other ref.Val) ref.Val { + otherDur, ok := other.(Duration) + return Bool(ok && d.Duration == otherDur.Duration) +} + +// IsZeroValue returns true if the duration value is zero +func (d Duration) IsZeroValue() bool { + return d.Duration == 0 +} + +// Negate implements traits.Negater.Negate. +func (d Duration) Negate() ref.Val { + val, err := negateDurationChecked(d.Duration) + if err != nil { + return WrapErr(err) + } + return durationOf(val) +} + +// Receive implements traits.Receiver.Receive. +func (d Duration) Receive(function string, overload string, args []ref.Val) ref.Val { + if len(args) == 0 { + if f, found := durationZeroArgOverloads[function]; found { + return f(d) + } + } + return NoSuchOverloadErr() +} + +// Subtract implements traits.Subtractor.Subtract. +func (d Duration) Subtract(subtrahend ref.Val) ref.Val { + subtraDur, ok := subtrahend.(Duration) + if !ok { + return MaybeNoSuchOverloadErr(subtrahend) + } + val, err := subtractDurationChecked(d.Duration, subtraDur.Duration) + if err != nil { + return WrapErr(err) + } + return durationOf(val) +} + +// Type implements ref.Val.Type. +func (d Duration) Type() ref.Type { + return DurationType +} + +// Value implements ref.Val.Value. +func (d Duration) Value() any { + return d.Duration +} + +// DurationGetHours returns the duration in hours. +func DurationGetHours(val ref.Val) ref.Val { + dur, ok := val.(Duration) + if !ok { + return MaybeNoSuchOverloadErr(val) + } + return Int(dur.Hours()) +} + +// DurationGetMinutes returns duration in minutes. +func DurationGetMinutes(val ref.Val) ref.Val { + dur, ok := val.(Duration) + if !ok { + return MaybeNoSuchOverloadErr(val) + } + return Int(dur.Minutes()) +} + +// DurationGetSeconds returns duration in seconds. +func DurationGetSeconds(val ref.Val) ref.Val { + dur, ok := val.(Duration) + if !ok { + return MaybeNoSuchOverloadErr(val) + } + return Int(dur.Seconds()) +} + +// DurationGetMilliseconds returns duration in milliseconds. +func DurationGetMilliseconds(val ref.Val) ref.Val { + dur, ok := val.(Duration) + if !ok { + return MaybeNoSuchOverloadErr(val) + } + return Int(dur.Milliseconds()) +} diff --git a/vendor/github.com/google/cel-go/common/types/err.go b/vendor/github.com/google/cel-go/common/types/err.go new file mode 100644 index 000000000..9c9d9e21e --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/err.go @@ -0,0 +1,169 @@ +// Copyright 2018 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 types + +import ( + "errors" + "fmt" + "reflect" + + "github.com/google/cel-go/common/types/ref" +) + +// Error interface which allows types types.Err values to be treated as error values. +type Error interface { + error + ref.Val +} + +// Err type which extends the built-in go error and implements ref.Val. +type Err struct { + error + id int64 +} + +var ( + // ErrType singleton. + ErrType = NewOpaqueType("error") + + // errDivideByZero is an error indicating a division by zero of an integer value. + errDivideByZero = errors.New("division by zero") + // errModulusByZero is an error indicating a modulus by zero of an integer value. + errModulusByZero = errors.New("modulus by zero") + // errIntOverflow is an error representing integer overflow. + errIntOverflow = errors.New("integer overflow") + // errUintOverflow is an error representing unsigned integer overflow. + errUintOverflow = errors.New("unsigned integer overflow") + // errDurationOverflow is an error representing duration overflow. + errDurationOverflow = errors.New("duration overflow") + // errTimestampOverflow is an error representing timestamp overflow. + errTimestampOverflow = errors.New("timestamp overflow") + celErrTimestampOverflow = &Err{error: errTimestampOverflow} + + // celErrNoSuchOverload indicates that the call arguments did not match a supported method signature. + celErrNoSuchOverload = NewErr("no such overload") +) + +// NewErr creates a new Err described by the format string and args. +// TODO: Audit the use of this function and standardize the error messages and codes. +func NewErr(format string, args ...any) ref.Val { + return &Err{error: fmt.Errorf(format, args...)} +} + +// NewErrWithNodeID creates a new Err described by the format string and args. +// TODO: Audit the use of this function and standardize the error messages and codes. +func NewErrWithNodeID(id int64, format string, args ...any) ref.Val { + return &Err{error: fmt.Errorf(format, args...), id: id} +} + +// LabelErrNode returns val unaltered it is not an Err or if the error has a non-zero +// AST node ID already present. Otherwise the id is added to the error for +// recovery with the Err.NodeID method. +func LabelErrNode(id int64, val ref.Val) ref.Val { + if err, ok := val.(*Err); ok && err.id == 0 { + err.id = id + return err + } + return val +} + +// NoSuchOverloadErr returns a new types.Err instance with a no such overload message. +func NoSuchOverloadErr() ref.Val { + return celErrNoSuchOverload +} + +// UnsupportedRefValConversionErr returns a types.NewErr instance with a no such conversion +// message that indicates that the native value could not be converted to a CEL ref.Val. +func UnsupportedRefValConversionErr(val any) ref.Val { + return NewErr("unsupported conversion to ref.Val: (%T)%v", val, val) +} + +// MaybeNoSuchOverloadErr returns the error or unknown if the input ref.Val is one of these types, +// else a new no such overload error. +func MaybeNoSuchOverloadErr(val ref.Val) ref.Val { + return ValOrErr(val, "no such overload") +} + +// ValOrErr either returns the existing error or creates a new one. +// TODO: Audit the use of this function and standardize the error messages and codes. +func ValOrErr(val ref.Val, format string, args ...any) ref.Val { + if val == nil || !IsUnknownOrError(val) { + return NewErr(format, args...) + } + return val +} + +// WrapErr wraps an existing Go error value into a CEL Err value. +func WrapErr(err error) ref.Val { + return &Err{error: err} +} + +// ConvertToNative implements ref.Val.ConvertToNative. +func (e *Err) ConvertToNative(typeDesc reflect.Type) (any, error) { + return nil, e.error +} + +// ConvertToType implements ref.Val.ConvertToType. +func (e *Err) ConvertToType(typeVal ref.Type) ref.Val { + // Errors are not convertible to other representations. + return e +} + +// Equal implements ref.Val.Equal. +func (e *Err) Equal(other ref.Val) ref.Val { + // An error cannot be equal to any other value, so it returns itself. + return e +} + +// String implements fmt.Stringer. +func (e *Err) String() string { + return e.error.Error() +} + +// Type implements ref.Val.Type. +func (e *Err) Type() ref.Type { + return ErrType +} + +// Value implements ref.Val.Value. +func (e *Err) Value() any { + return e.error +} + +// NodeID returns the AST node ID of the expression that returned the error. +func (e *Err) NodeID() int64 { + return e.id +} + +// Is implements errors.Is. +func (e *Err) Is(target error) bool { + return e.error.Error() == target.Error() +} + +// Unwrap implements errors.Unwrap. +func (e *Err) Unwrap() error { + return e.error +} + +// IsError returns whether the input element ref.Type or ref.Val is equal to +// the ErrType singleton. +func IsError(val ref.Val) bool { + switch val.(type) { + case *Err: + return true + default: + return false + } +} diff --git a/vendor/github.com/google/cel-go/common/types/int.go b/vendor/github.com/google/cel-go/common/types/int.go new file mode 100644 index 000000000..0ae9507c3 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/int.go @@ -0,0 +1,303 @@ +// Copyright 2018 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 types + +import ( + "fmt" + "math" + "reflect" + "strconv" + "time" + + "github.com/google/cel-go/common/types/ref" + + anypb "google.golang.org/protobuf/types/known/anypb" + structpb "google.golang.org/protobuf/types/known/structpb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" +) + +// Int type that implements ref.Val as well as comparison and math operators. +type Int int64 + +// Int constants used for comparison results. +const ( + // IntZero is the zero-value for Int + IntZero = Int(0) + IntOne = Int(1) + IntNegOne = Int(-1) +) + +var ( + // int32WrapperType reflected type for protobuf int32 wrapper type. + int32WrapperType = reflect.TypeOf(&wrapperspb.Int32Value{}) + + // int64WrapperType reflected type for protobuf int64 wrapper type. + int64WrapperType = reflect.TypeOf(&wrapperspb.Int64Value{}) +) + +// Add implements traits.Adder.Add. +func (i Int) Add(other ref.Val) ref.Val { + otherInt, ok := other.(Int) + if !ok { + return MaybeNoSuchOverloadErr(other) + } + val, err := addInt64Checked(int64(i), int64(otherInt)) + if err != nil { + return WrapErr(err) + } + return Int(val) +} + +// Compare implements traits.Comparer.Compare. +func (i Int) Compare(other ref.Val) ref.Val { + switch ov := other.(type) { + case Double: + if math.IsNaN(float64(ov)) { + return NewErr("NaN values cannot be ordered") + } + return compareIntDouble(i, ov) + case Int: + return compareInt(i, ov) + case Uint: + return compareIntUint(i, ov) + default: + return MaybeNoSuchOverloadErr(other) + } +} + +// ConvertToNative implements ref.Val.ConvertToNative. +func (i Int) ConvertToNative(typeDesc reflect.Type) (any, error) { + switch typeDesc.Kind() { + case reflect.Int, reflect.Int32: + // Enums are also mapped as int32 derivations. + // Note, the code doesn't convert to the enum value directly since this is not known, but + // the net effect with respect to proto-assignment is handled correctly by the reflection + // Convert method. + v, err := int64ToInt32Checked(int64(i)) + if err != nil { + return nil, err + } + return reflect.ValueOf(v).Convert(typeDesc).Interface(), nil + case reflect.Int8: + v, err := int64ToInt8Checked(int64(i)) + if err != nil { + return nil, err + } + return reflect.ValueOf(v).Convert(typeDesc).Interface(), nil + case reflect.Int16: + v, err := int64ToInt16Checked(int64(i)) + if err != nil { + return nil, err + } + return reflect.ValueOf(v).Convert(typeDesc).Interface(), nil + case reflect.Int64: + return reflect.ValueOf(i).Convert(typeDesc).Interface(), nil + case reflect.Ptr: + switch typeDesc { + case anyValueType: + // Primitives must be wrapped before being set on an Any field. + return anypb.New(wrapperspb.Int64(int64(i))) + case int32WrapperType: + // Convert the value to a wrapperspb.Int32Value, error on overflow. + v, err := int64ToInt32Checked(int64(i)) + if err != nil { + return nil, err + } + return wrapperspb.Int32(v), nil + case int64WrapperType: + // Convert the value to a wrapperspb.Int64Value. + return wrapperspb.Int64(int64(i)), nil + case jsonValueType: + // The proto-to-JSON conversion rules would convert all 64-bit integer values to JSON + // decimal strings. Because CEL ints might come from the automatic widening of 32-bit + // values in protos, the JSON type is chosen dynamically based on the value. + // + // - Integers -2^53-1 < n < 2^53-1 are encoded as JSON numbers. + // - Integers outside this range are encoded as JSON strings. + // + // The integer to float range represents the largest interval where such a conversion + // can round-trip accurately. Thus, conversions from a 32-bit source can expect a JSON + // number as with protobuf. Those consuming JSON from a 64-bit source must be able to + // handle either a JSON number or a JSON decimal string. To handle these cases safely + // the string values must be explicitly converted to int() within a CEL expression; + // however, it is best to simply stay within the JSON number range when building JSON + // objects in CEL. + if i.isJSONSafe() { + return structpb.NewNumberValue(float64(i)), nil + } + // Proto3 to JSON conversion requires string-formatted int64 values + // since the conversion to floating point would result in truncation. + return structpb.NewStringValue(strconv.FormatInt(int64(i), 10)), nil + } + switch typeDesc.Elem().Kind() { + case reflect.Int32: + // Convert the value to a wrapperspb.Int32Value, error on overflow. + v, err := int64ToInt32Checked(int64(i)) + if err != nil { + return nil, err + } + p := reflect.New(typeDesc.Elem()) + p.Elem().Set(reflect.ValueOf(v).Convert(typeDesc.Elem())) + return p.Interface(), nil + case reflect.Int64: + v := int64(i) + p := reflect.New(typeDesc.Elem()) + p.Elem().Set(reflect.ValueOf(v).Convert(typeDesc.Elem())) + return p.Interface(), nil + } + case reflect.Interface: + iv := i.Value() + if reflect.TypeOf(iv).Implements(typeDesc) { + return iv, nil + } + if reflect.TypeOf(i).Implements(typeDesc) { + return i, nil + } + } + return nil, fmt.Errorf("unsupported type conversion from 'int' to %v", typeDesc) +} + +// ConvertToType implements ref.Val.ConvertToType. +func (i Int) ConvertToType(typeVal ref.Type) ref.Val { + switch typeVal { + case IntType: + return i + case UintType: + u, err := int64ToUint64Checked(int64(i)) + if err != nil { + return WrapErr(err) + } + return Uint(u) + case DoubleType: + return Double(i) + case StringType: + return String(fmt.Sprintf("%d", int64(i))) + case TimestampType: + // The maximum positive value that can be passed to time.Unix is math.MaxInt64 minus the number + // of seconds between year 1 and year 1970. See comments on unixToInternal. + if int64(i) < minUnixTime || int64(i) > maxUnixTime { + return celErrTimestampOverflow + } + return timestampOf(time.Unix(int64(i), 0).UTC()) + case TypeType: + return IntType + } + return NewErr("type conversion error from '%s' to '%s'", IntType, typeVal) +} + +// Divide implements traits.Divider.Divide. +func (i Int) Divide(other ref.Val) ref.Val { + otherInt, ok := other.(Int) + if !ok { + return MaybeNoSuchOverloadErr(other) + } + val, err := divideInt64Checked(int64(i), int64(otherInt)) + if err != nil { + return WrapErr(err) + } + return Int(val) +} + +// Equal implements ref.Val.Equal. +func (i Int) Equal(other ref.Val) ref.Val { + switch ov := other.(type) { + case Double: + if math.IsNaN(float64(ov)) { + return False + } + return Bool(compareIntDouble(i, ov) == 0) + case Int: + return Bool(i == ov) + case Uint: + return Bool(compareIntUint(i, ov) == 0) + default: + return False + } +} + +// IsZeroValue returns true if integer is equal to 0 +func (i Int) IsZeroValue() bool { + return i == IntZero +} + +// Modulo implements traits.Modder.Modulo. +func (i Int) Modulo(other ref.Val) ref.Val { + otherInt, ok := other.(Int) + if !ok { + return MaybeNoSuchOverloadErr(other) + } + val, err := moduloInt64Checked(int64(i), int64(otherInt)) + if err != nil { + return WrapErr(err) + } + return Int(val) +} + +// Multiply implements traits.Multiplier.Multiply. +func (i Int) Multiply(other ref.Val) ref.Val { + otherInt, ok := other.(Int) + if !ok { + return MaybeNoSuchOverloadErr(other) + } + val, err := multiplyInt64Checked(int64(i), int64(otherInt)) + if err != nil { + return WrapErr(err) + } + return Int(val) +} + +// Negate implements traits.Negater.Negate. +func (i Int) Negate() ref.Val { + val, err := negateInt64Checked(int64(i)) + if err != nil { + return WrapErr(err) + } + return Int(val) +} + +// Subtract implements traits.Subtractor.Subtract. +func (i Int) Subtract(subtrahend ref.Val) ref.Val { + subtraInt, ok := subtrahend.(Int) + if !ok { + return MaybeNoSuchOverloadErr(subtrahend) + } + val, err := subtractInt64Checked(int64(i), int64(subtraInt)) + if err != nil { + return WrapErr(err) + } + return Int(val) +} + +// Type implements ref.Val.Type. +func (i Int) Type() ref.Type { + return IntType +} + +// Value implements ref.Val.Value. +func (i Int) Value() any { + return int64(i) +} + +// isJSONSafe indicates whether the int is safely representable as a floating point value in JSON. +func (i Int) isJSONSafe() bool { + return i >= minIntJSON && i <= maxIntJSON +} + +const ( + // maxIntJSON is defined as the Number.MAX_SAFE_INTEGER value per EcmaScript 6. + maxIntJSON = 1<<53 - 1 + // minIntJSON is defined as the Number.MIN_SAFE_INTEGER value per EcmaScript 6. + minIntJSON = -maxIntJSON +) diff --git a/vendor/github.com/google/cel-go/common/types/iterator.go b/vendor/github.com/google/cel-go/common/types/iterator.go new file mode 100644 index 000000000..98e9147b6 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/iterator.go @@ -0,0 +1,55 @@ +// Copyright 2018 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 types + +import ( + "fmt" + "reflect" + + "github.com/google/cel-go/common/types/ref" + "github.com/google/cel-go/common/types/traits" +) + +var ( + // IteratorType singleton. + IteratorType = NewObjectType("iterator", traits.IteratorType) +) + +// baseIterator is the basis for list, map, and object iterators. +// +// An iterator in and of itself should not be a valid value for comparison, but must implement the +// `ref.Val` methods in order to be well-supported within instruction arguments processed by the +// interpreter. +type baseIterator struct{} + +func (*baseIterator) ConvertToNative(typeDesc reflect.Type) (any, error) { + return nil, fmt.Errorf("type conversion on iterators not supported") +} + +func (*baseIterator) ConvertToType(typeVal ref.Type) ref.Val { + return NewErr("no such overload") +} + +func (*baseIterator) Equal(other ref.Val) ref.Val { + return NewErr("no such overload") +} + +func (*baseIterator) Type() ref.Type { + return IteratorType +} + +func (*baseIterator) Value() any { + return nil +} diff --git a/vendor/github.com/google/cel-go/common/types/json_value.go b/vendor/github.com/google/cel-go/common/types/json_value.go new file mode 100644 index 000000000..13a4efe7a --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/json_value.go @@ -0,0 +1,29 @@ +// Copyright 2018 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 types + +import ( + "reflect" + + structpb "google.golang.org/protobuf/types/known/structpb" +) + +// JSON type constants representing the reflected types of protobuf JSON values. +var ( + jsonValueType = reflect.TypeOf(&structpb.Value{}) + jsonListValueType = reflect.TypeOf(&structpb.ListValue{}) + jsonStructType = reflect.TypeOf(&structpb.Struct{}) + jsonNullType = reflect.TypeOf(structpb.NullValue_NULL_VALUE) +) diff --git a/vendor/github.com/google/cel-go/common/types/list.go b/vendor/github.com/google/cel-go/common/types/list.go new file mode 100644 index 000000000..ca47d39fe --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/list.go @@ -0,0 +1,574 @@ +// Copyright 2018 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 types + +import ( + "fmt" + "reflect" + "strings" + + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + + "github.com/google/cel-go/common/types/ref" + "github.com/google/cel-go/common/types/traits" + + anypb "google.golang.org/protobuf/types/known/anypb" + structpb "google.golang.org/protobuf/types/known/structpb" +) + +// NewDynamicList returns a traits.Lister with heterogenous elements. +// value should be an array of "native" types, i.e. any type that +// NativeToValue() can convert to a ref.Val. +func NewDynamicList(adapter Adapter, value any) traits.Lister { + refValue := reflect.ValueOf(value) + return &baseList{ + Adapter: adapter, + value: value, + size: refValue.Len(), + get: func(i int) any { + return refValue.Index(i).Interface() + }, + } +} + +// NewStringList returns a traits.Lister containing only strings. +func NewStringList(adapter Adapter, elems []string) traits.Lister { + return &baseList{ + Adapter: adapter, + value: elems, + size: len(elems), + get: func(i int) any { return elems[i] }, + } +} + +// NewRefValList returns a traits.Lister with ref.Val elements. +// +// This type specialization is used with list literals within CEL expressions. +func NewRefValList(adapter Adapter, elems []ref.Val) traits.Lister { + return &baseList{ + Adapter: adapter, + value: elems, + size: len(elems), + get: func(i int) any { return elems[i] }, + } +} + +// NewProtoList returns a traits.Lister based on a pb.List instance. +func NewProtoList(adapter Adapter, list protoreflect.List) traits.Lister { + return &baseList{ + Adapter: adapter, + value: list, + size: list.Len(), + get: func(i int) any { return list.Get(i).Interface() }, + } +} + +// NewJSONList returns a traits.Lister based on structpb.ListValue instance. +func NewJSONList(adapter Adapter, l *structpb.ListValue) traits.Lister { + vals := l.GetValues() + return &baseList{ + Adapter: adapter, + value: l, + size: len(vals), + get: func(i int) any { return vals[i] }, + } +} + +// NewMutableList creates a new mutable list whose internal state can be modified. +func NewMutableList(adapter Adapter) traits.MutableLister { + var mutableValues []ref.Val + l := &mutableList{ + baseList: &baseList{ + Adapter: adapter, + value: mutableValues, + size: 0, + }, + mutableValues: mutableValues, + } + l.get = func(i int) any { + return l.mutableValues[i] + } + return l +} + +// baseList points to a list containing elements of any type. +// The `value` is an array of native values, and refValue is its reflection object. +// The `Adapter` enables native type to CEL type conversions. +type baseList struct { + Adapter + value any + + // size indicates the number of elements within the list. + // Since objects are immutable the size of a list is static. + size int + + // get returns a value at the specified integer index. + // The index is guaranteed to be checked against the list index range. + get func(int) any +} + +// Add implements the traits.Adder interface method. +func (l *baseList) Add(other ref.Val) ref.Val { + otherList, ok := other.(traits.Lister) + if !ok { + return MaybeNoSuchOverloadErr(other) + } + if l.Size() == IntZero { + return other + } + if otherList.Size() == IntZero { + return l + } + return &concatList{ + Adapter: l.Adapter, + prevList: l, + nextList: otherList} +} + +// Contains implements the traits.Container interface method. +func (l *baseList) Contains(elem ref.Val) ref.Val { + for i := 0; i < l.size; i++ { + val := l.NativeToValue(l.get(i)) + cmp := elem.Equal(val) + b, ok := cmp.(Bool) + if ok && b == True { + return True + } + } + return False +} + +// ConvertToNative implements the ref.Val interface method. +func (l *baseList) ConvertToNative(typeDesc reflect.Type) (any, error) { + // If the underlying list value is assignable to the reflected type return it. + if reflect.TypeOf(l.value).AssignableTo(typeDesc) { + return l.value, nil + } + // If the list wrapper is assignable to the desired type return it. + if reflect.TypeOf(l).AssignableTo(typeDesc) { + return l, nil + } + // Attempt to convert the list to a set of well known protobuf types. + switch typeDesc { + case anyValueType: + json, err := l.ConvertToNative(jsonListValueType) + if err != nil { + return nil, err + } + return anypb.New(json.(proto.Message)) + case jsonValueType, jsonListValueType: + jsonValues, err := + l.ConvertToNative(reflect.TypeOf([]*structpb.Value{})) + if err != nil { + return nil, err + } + jsonList := &structpb.ListValue{Values: jsonValues.([]*structpb.Value)} + if typeDesc == jsonListValueType { + return jsonList, nil + } + return structpb.NewListValue(jsonList), nil + } + // Non-list conversion. + if typeDesc.Kind() != reflect.Slice && typeDesc.Kind() != reflect.Array { + return nil, fmt.Errorf("type conversion error from list to '%v'", typeDesc) + } + + // List conversion. + // Allow the element ConvertToNative() function to determine whether conversion is possible. + otherElemType := typeDesc.Elem() + elemCount := l.size + var nativeList reflect.Value + if typeDesc.Kind() == reflect.Array { + nativeList = reflect.New(reflect.ArrayOf(elemCount, typeDesc)).Elem().Index(0) + } else { + nativeList = reflect.MakeSlice(typeDesc, elemCount, elemCount) + + } + for i := 0; i < elemCount; i++ { + elem := l.NativeToValue(l.get(i)) + nativeElemVal, err := elem.ConvertToNative(otherElemType) + if err != nil { + return nil, err + } + nativeList.Index(i).Set(reflect.ValueOf(nativeElemVal)) + } + return nativeList.Interface(), nil +} + +// ConvertToType implements the ref.Val interface method. +func (l *baseList) ConvertToType(typeVal ref.Type) ref.Val { + switch typeVal { + case ListType: + return l + case TypeType: + return ListType + } + return NewErr("type conversion error from '%s' to '%s'", ListType, typeVal) +} + +// Equal implements the ref.Val interface method. +func (l *baseList) Equal(other ref.Val) ref.Val { + otherList, ok := other.(traits.Lister) + if !ok { + return False + } + if l.Size() != otherList.Size() { + return False + } + for i := IntZero; i < l.Size().(Int); i++ { + thisElem := l.Get(i) + otherElem := otherList.Get(i) + elemEq := Equal(thisElem, otherElem) + if elemEq == False { + return False + } + } + return True +} + +// Get implements the traits.Indexer interface method. +func (l *baseList) Get(index ref.Val) ref.Val { + ind, err := IndexOrError(index) + if err != nil { + return ValOrErr(index, err.Error()) + } + if ind < 0 || ind >= l.size { + return NewErr("index '%d' out of range in list size '%d'", ind, l.Size()) + } + return l.NativeToValue(l.get(ind)) +} + +// IsZeroValue returns true if the list is empty. +func (l *baseList) IsZeroValue() bool { + return l.size == 0 +} + +// Fold calls the FoldEntry method for each (index, value) pair in the list. +func (l *baseList) Fold(f traits.Folder) { + for i := 0; i < l.size; i++ { + if !f.FoldEntry(i, l.get(i)) { + break + } + } +} + +// Iterator implements the traits.Iterable interface method. +func (l *baseList) Iterator() traits.Iterator { + return newListIterator(l) +} + +// Size implements the traits.Sizer interface method. +func (l *baseList) Size() ref.Val { + return Int(l.size) +} + +// Type implements the ref.Val interface method. +func (l *baseList) Type() ref.Type { + return ListType +} + +// Value implements the ref.Val interface method. +func (l *baseList) Value() any { + return l.value +} + +// String converts the list to a human readable string form. +func (l *baseList) String() string { + var sb strings.Builder + sb.WriteString("[") + for i := 0; i < l.size; i++ { + sb.WriteString(fmt.Sprintf("%v", l.get(i))) + if i != l.size-1 { + sb.WriteString(", ") + } + } + sb.WriteString("]") + return sb.String() +} + +// mutableList aggregates values into its internal storage. For use with internal CEL variables only. +type mutableList struct { + *baseList + mutableValues []ref.Val +} + +// Add copies elements from the other list into the internal storage of the mutable list. +// The ref.Val returned by Add is the receiver. +func (l *mutableList) Add(other ref.Val) ref.Val { + switch otherList := other.(type) { + case *mutableList: + l.mutableValues = append(l.mutableValues, otherList.mutableValues...) + l.size += len(otherList.mutableValues) + case traits.Lister: + for i := IntZero; i < otherList.Size().(Int); i++ { + l.size++ + l.mutableValues = append(l.mutableValues, otherList.Get(i)) + } + default: + return MaybeNoSuchOverloadErr(otherList) + } + return l +} + +// ToImmutableList returns an immutable list based on the internal storage of the mutable list. +func (l *mutableList) ToImmutableList() traits.Lister { + // The reference to internal state is guaranteed to be safe as this call is only performed + // when mutations have been completed. + return NewRefValList(l.Adapter, l.mutableValues) +} + +// concatList combines two list implementations together into a view. +// The `Adapter` enables native type to CEL type conversions. +type concatList struct { + Adapter + value any + prevList traits.Lister + nextList traits.Lister +} + +// Add implements the traits.Adder interface method. +func (l *concatList) Add(other ref.Val) ref.Val { + otherList, ok := other.(traits.Lister) + if !ok { + return MaybeNoSuchOverloadErr(other) + } + if l.Size() == IntZero { + return other + } + if otherList.Size() == IntZero { + return l + } + return &concatList{ + Adapter: l.Adapter, + prevList: l, + nextList: otherList} +} + +// Contains implements the traits.Container interface method. +func (l *concatList) Contains(elem ref.Val) ref.Val { + // The concat list relies on the IsErrorOrUnknown checks against the input element to be + // performed by the `prevList` and/or `nextList`. + prev := l.prevList.Contains(elem) + // Short-circuit the return if the elem was found in the prev list. + if prev == True { + return prev + } + // Return if the elem was found in the next list. + next := l.nextList.Contains(elem) + if next == True { + return next + } + // Handle the case where an error or unknown was encountered before checking next. + if IsUnknownOrError(prev) { + return prev + } + // Otherwise, rely on the next value as the representative result. + return next +} + +// ConvertToNative implements the ref.Val interface method. +func (l *concatList) ConvertToNative(typeDesc reflect.Type) (any, error) { + combined := NewDynamicList(l.Adapter, l.Value().([]any)) + return combined.ConvertToNative(typeDesc) +} + +// ConvertToType implements the ref.Val interface method. +func (l *concatList) ConvertToType(typeVal ref.Type) ref.Val { + switch typeVal { + case ListType: + return l + case TypeType: + return ListType + } + return NewErr("type conversion error from '%s' to '%s'", ListType, typeVal) +} + +// Equal implements the ref.Val interface method. +func (l *concatList) Equal(other ref.Val) ref.Val { + otherList, ok := other.(traits.Lister) + if !ok { + return False + } + if l.Size() != otherList.Size() { + return False + } + var maybeErr ref.Val + for i := IntZero; i < l.Size().(Int); i++ { + thisElem := l.Get(i) + otherElem := otherList.Get(i) + elemEq := Equal(thisElem, otherElem) + if elemEq == False { + return False + } + if maybeErr == nil && IsUnknownOrError(elemEq) { + maybeErr = elemEq + } + } + if maybeErr != nil { + return maybeErr + } + return True +} + +// Get implements the traits.Indexer interface method. +func (l *concatList) Get(index ref.Val) ref.Val { + ind, err := IndexOrError(index) + if err != nil { + return ValOrErr(index, err.Error()) + } + i := Int(ind) + if i < l.prevList.Size().(Int) { + return l.prevList.Get(i) + } + offset := i - l.prevList.Size().(Int) + return l.nextList.Get(offset) +} + +// IsZeroValue returns true if the list is empty. +func (l *concatList) IsZeroValue() bool { + return l.Size().(Int) == 0 +} + +// Fold calls the FoldEntry method for each (index, value) pair in the list. +func (l *concatList) Fold(f traits.Folder) { + for i := Int(0); i < l.Size().(Int); i++ { + if !f.FoldEntry(i, l.Get(i)) { + break + } + } +} + +// Iterator implements the traits.Iterable interface method. +func (l *concatList) Iterator() traits.Iterator { + return newListIterator(l) +} + +// Size implements the traits.Sizer interface method. +func (l *concatList) Size() ref.Val { + return l.prevList.Size().(Int).Add(l.nextList.Size()) +} + +// String converts the concatenated list to a human-readable string. +func (l *concatList) String() string { + var sb strings.Builder + sb.WriteString("[") + for i := Int(0); i < l.Size().(Int); i++ { + sb.WriteString(fmt.Sprintf("%v", l.Get(i))) + if i != l.Size().(Int)-1 { + sb.WriteString(", ") + } + } + sb.WriteString("]") + return sb.String() +} + +// Type implements the ref.Val interface method. +func (l *concatList) Type() ref.Type { + return ListType +} + +// Value implements the ref.Val interface method. +func (l *concatList) Value() any { + if l.value == nil { + merged := make([]any, l.Size().(Int)) + prevLen := l.prevList.Size().(Int) + for i := Int(0); i < prevLen; i++ { + merged[i] = l.prevList.Get(i).Value() + } + nextLen := l.nextList.Size().(Int) + for j := Int(0); j < nextLen; j++ { + merged[prevLen+j] = l.nextList.Get(j).Value() + } + l.value = merged + } + return l.value +} + +func newListIterator(listValue traits.Lister) traits.Iterator { + return &listIterator{ + listValue: listValue, + len: listValue.Size().(Int), + } +} + +type listIterator struct { + *baseIterator + listValue traits.Lister + cursor Int + len Int +} + +// HasNext implements the traits.Iterator interface method. +func (it *listIterator) HasNext() ref.Val { + return Bool(it.cursor < it.len) +} + +// Next implements the traits.Iterator interface method. +func (it *listIterator) Next() ref.Val { + if it.HasNext() == True { + index := it.cursor + it.cursor++ + return it.listValue.Get(index) + } + return nil +} + +// IndexOrError converts an input index value into either a lossless integer index or an error. +func IndexOrError(index ref.Val) (int, error) { + switch iv := index.(type) { + case Int: + return int(iv), nil + case Double: + if ik, ok := doubleToInt64Lossless(float64(iv)); ok { + return int(ik), nil + } + return -1, fmt.Errorf("unsupported index value %v in list", index) + case Uint: + if ik, ok := uint64ToInt64Lossless(uint64(iv)); ok { + return int(ik), nil + } + return -1, fmt.Errorf("unsupported index value %v in list", index) + default: + return -1, fmt.Errorf("unsupported index type '%s' in list", index.Type()) + } +} + +// ToFoldableList will create a Foldable version of a list suitable for key-value pair iteration. +// +// For values which are already Foldable, this call is a no-op. For all other values, the fold is +// driven via the Size() and Get() calls which means that the folding will function, but take a +// performance hit. +func ToFoldableList(l traits.Lister) traits.Foldable { + if f, ok := l.(traits.Foldable); ok { + return f + } + return interopFoldableList{Lister: l} +} + +type interopFoldableList struct { + traits.Lister +} + +// Fold implements the traits.Foldable interface method and performs an iteration over the +// range of elements of the list. +func (l interopFoldableList) Fold(f traits.Folder) { + sz := l.Size().(Int) + for i := Int(0); i < sz; i++ { + if !f.FoldEntry(i, l.Get(i)) { + break + } + } +} diff --git a/vendor/github.com/google/cel-go/common/types/map.go b/vendor/github.com/google/cel-go/common/types/map.go new file mode 100644 index 000000000..cb6cce78b --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/map.go @@ -0,0 +1,1002 @@ +// Copyright 2018 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 types + +import ( + "fmt" + "reflect" + "strings" + + "github.com/stoewer/go-strcase" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + + "github.com/google/cel-go/common/types/pb" + "github.com/google/cel-go/common/types/ref" + "github.com/google/cel-go/common/types/traits" + + anypb "google.golang.org/protobuf/types/known/anypb" + structpb "google.golang.org/protobuf/types/known/structpb" +) + +// NewDynamicMap returns a traits.Mapper value with dynamic key, value pairs. +func NewDynamicMap(adapter Adapter, value any) traits.Mapper { + refValue := reflect.ValueOf(value) + return &baseMap{ + Adapter: adapter, + mapAccessor: newReflectMapAccessor(adapter, refValue), + value: value, + size: refValue.Len(), + } +} + +// NewJSONStruct creates a traits.Mapper implementation backed by a JSON struct that has been +// encoded in protocol buffer form. +// +// The `adapter` argument provides type adaptation capabilities from proto to CEL. +func NewJSONStruct(adapter Adapter, value *structpb.Struct) traits.Mapper { + fields := value.GetFields() + return &baseMap{ + Adapter: adapter, + mapAccessor: newJSONStructAccessor(adapter, fields), + value: value, + size: len(fields), + } +} + +// NewRefValMap returns a specialized traits.Mapper with CEL valued keys and values. +func NewRefValMap(adapter Adapter, value map[ref.Val]ref.Val) traits.Mapper { + return &baseMap{ + Adapter: adapter, + mapAccessor: newRefValMapAccessor(value), + value: value, + size: len(value), + } +} + +// NewStringInterfaceMap returns a specialized traits.Mapper with string keys and interface values. +func NewStringInterfaceMap(adapter Adapter, value map[string]any) traits.Mapper { + return &baseMap{ + Adapter: adapter, + mapAccessor: newStringIfaceMapAccessor(adapter, value), + value: value, + size: len(value), + } +} + +// NewStringStringMap returns a specialized traits.Mapper with string keys and values. +func NewStringStringMap(adapter Adapter, value map[string]string) traits.Mapper { + return &baseMap{ + Adapter: adapter, + mapAccessor: newStringMapAccessor(value), + value: value, + size: len(value), + } +} + +// NewProtoMap returns a specialized traits.Mapper for handling protobuf map values. +func NewProtoMap(adapter Adapter, value *pb.Map) traits.Mapper { + return &protoMap{ + Adapter: adapter, + value: value, + } +} + +// NewMutableMap constructs a mutable map from an adapter and a set of map values. +func NewMutableMap(adapter Adapter, mutableValues map[ref.Val]ref.Val) traits.MutableMapper { + mutableCopy := make(map[ref.Val]ref.Val, len(mutableValues)) + for k, v := range mutableValues { + mutableCopy[k] = v + } + m := &mutableMap{ + baseMap: &baseMap{ + Adapter: adapter, + mapAccessor: newRefValMapAccessor(mutableCopy), + value: mutableCopy, + size: len(mutableCopy), + }, + mutableValues: mutableCopy, + } + return m +} + +// mapAccessor is a private interface for finding values within a map and iterating over the keys. +// This interface implements portions of the API surface area required by the traits.Mapper +// interface. +type mapAccessor interface { + // Find returns a value, if one exists, for the input key. + // + // If the key is not found the function returns (nil, false). + Find(ref.Val) (ref.Val, bool) + + // Iterator returns an Iterator over the map key set. + Iterator() traits.Iterator + + // Fold calls the FoldEntry method for each (key, value) pair in the map. + Fold(traits.Folder) +} + +// baseMap is a reflection based map implementation designed to handle a variety of map-like types. +// +// Since CEL is side-effect free, the base map represents an immutable object. +type baseMap struct { + // TypeAdapter used to convert keys and values accessed within the map. + Adapter + + // mapAccessor interface implementation used to find and iterate over map keys. + mapAccessor + + // value is the native Go value upon which the map type operators. + value any + + // size is the number of entries in the map. + size int +} + +// Contains implements the traits.Container interface method. +func (m *baseMap) Contains(index ref.Val) ref.Val { + _, found := m.Find(index) + return Bool(found) +} + +// ConvertToNative implements the ref.Val interface method. +func (m *baseMap) ConvertToNative(typeDesc reflect.Type) (any, error) { + // If the map is already assignable to the desired type return it, e.g. interfaces and + // maps with the same key value types. + if reflect.TypeOf(m.value).AssignableTo(typeDesc) { + return m.value, nil + } + if reflect.TypeOf(m).AssignableTo(typeDesc) { + return m, nil + } + switch typeDesc { + case anyValueType: + json, err := m.ConvertToNative(jsonStructType) + if err != nil { + return nil, err + } + return anypb.New(json.(proto.Message)) + case jsonValueType, jsonStructType: + jsonEntries, err := + m.ConvertToNative(reflect.TypeOf(map[string]*structpb.Value{})) + if err != nil { + return nil, err + } + jsonMap := &structpb.Struct{Fields: jsonEntries.(map[string]*structpb.Value)} + if typeDesc == jsonStructType { + return jsonMap, nil + } + return structpb.NewStructValue(jsonMap), nil + } + + // Unwrap pointers, but track their use. + isPtr := false + if typeDesc.Kind() == reflect.Ptr { + tk := typeDesc + typeDesc = typeDesc.Elem() + if typeDesc.Kind() == reflect.Ptr { + return nil, fmt.Errorf("unsupported type conversion to '%v'", tk) + } + isPtr = true + } + switch typeDesc.Kind() { + // Map conversion. + case reflect.Map: + otherKey := typeDesc.Key() + otherElem := typeDesc.Elem() + nativeMap := reflect.MakeMapWithSize(typeDesc, m.size) + it := m.Iterator() + for it.HasNext() == True { + key := it.Next() + refKeyValue, err := key.ConvertToNative(otherKey) + if err != nil { + return nil, err + } + refElemValue, err := m.Get(key).ConvertToNative(otherElem) + if err != nil { + return nil, err + } + nativeMap.SetMapIndex(reflect.ValueOf(refKeyValue), reflect.ValueOf(refElemValue)) + } + return nativeMap.Interface(), nil + case reflect.Struct: + nativeStructPtr := reflect.New(typeDesc) + nativeStruct := nativeStructPtr.Elem() + it := m.Iterator() + for it.HasNext() == True { + key := it.Next() + // Ensure the field name being referenced is exported. + // Only exported (public) field names can be set by reflection, where the name + // must be at least one character in length and start with an upper-case letter. + fieldName := key.ConvertToType(StringType) + if IsError(fieldName) { + return nil, fieldName.(*Err) + } + name := string(fieldName.(String)) + name = strcase.UpperCamelCase(name) + fieldRef := nativeStruct.FieldByName(name) + if !fieldRef.IsValid() { + return nil, fmt.Errorf("type conversion error, no such field '%s' in type '%v'", name, typeDesc) + } + fieldValue, err := m.Get(key).ConvertToNative(fieldRef.Type()) + if err != nil { + return nil, err + } + fieldRef.Set(reflect.ValueOf(fieldValue)) + } + if isPtr { + return nativeStructPtr.Interface(), nil + } + return nativeStruct.Interface(), nil + } + return nil, fmt.Errorf("type conversion error from map to '%v'", typeDesc) +} + +// ConvertToType implements the ref.Val interface method. +func (m *baseMap) ConvertToType(typeVal ref.Type) ref.Val { + switch typeVal { + case MapType: + return m + case TypeType: + return MapType + } + return NewErr("type conversion error from '%s' to '%s'", MapType, typeVal) +} + +// Equal implements the ref.Val interface method. +func (m *baseMap) Equal(other ref.Val) ref.Val { + otherMap, ok := other.(traits.Mapper) + if !ok { + return False + } + if m.Size() != otherMap.Size() { + return False + } + it := m.Iterator() + for it.HasNext() == True { + key := it.Next() + thisVal, _ := m.Find(key) + otherVal, found := otherMap.Find(key) + if !found { + return False + } + valEq := Equal(thisVal, otherVal) + if valEq == False { + return False + } + } + return True +} + +// Get implements the traits.Indexer interface method. +func (m *baseMap) Get(key ref.Val) ref.Val { + v, found := m.Find(key) + if !found { + return ValOrErr(v, "no such key: %v", key) + } + return v +} + +// IsZeroValue returns true if the map is empty. +func (m *baseMap) IsZeroValue() bool { + return m.size == 0 +} + +// Size implements the traits.Sizer interface method. +func (m *baseMap) Size() ref.Val { + return Int(m.size) +} + +// String converts the map into a human-readable string. +func (m *baseMap) String() string { + var sb strings.Builder + sb.WriteString("{") + it := m.Iterator() + i := 0 + for it.HasNext() == True { + k := it.Next() + v, _ := m.Find(k) + sb.WriteString(fmt.Sprintf("%v: %v", k, v)) + if i != m.size-1 { + sb.WriteString(", ") + } + i++ + } + sb.WriteString("}") + return sb.String() +} + +// Type implements the ref.Val interface method. +func (m *baseMap) Type() ref.Type { + return MapType +} + +// Value implements the ref.Val interface method. +func (m *baseMap) Value() any { + return m.value +} + +// mutableMap holds onto a set of mutable values which are used for intermediate computations. +type mutableMap struct { + *baseMap + mutableValues map[ref.Val]ref.Val +} + +// Insert implements the traits.MutableMapper interface method, returning true if the key insertion +// succeeds. +func (m *mutableMap) Insert(k, v ref.Val) ref.Val { + if _, found := m.Find(k); found { + return NewErr("insert failed: key %v already exists", k) + } + m.mutableValues[k] = v + return m +} + +// ToImmutableMap implements the traits.MutableMapper interface method, converting a mutable map +// an immutable map implementation. +func (m *mutableMap) ToImmutableMap() traits.Mapper { + return NewRefValMap(m.Adapter, m.mutableValues) +} + +func newJSONStructAccessor(adapter Adapter, st map[string]*structpb.Value) mapAccessor { + return &jsonStructAccessor{ + Adapter: adapter, + st: st, + } +} + +type jsonStructAccessor struct { + Adapter + st map[string]*structpb.Value +} + +// Find searches the json struct field map for the input key value and returns (value, true) if +// found. +// +// If the key is not found the function returns (nil, false). +func (a *jsonStructAccessor) Find(key ref.Val) (ref.Val, bool) { + strKey, ok := key.(String) + if !ok { + return nil, false + } + keyVal, found := a.st[string(strKey)] + if !found { + return nil, false + } + return a.NativeToValue(keyVal), true +} + +// Iterator creates a new traits.Iterator from the set of JSON struct field names. +func (a *jsonStructAccessor) Iterator() traits.Iterator { + // Copy the keys to make their order stable. + mapKeys := make([]string, len(a.st)) + i := 0 + for k := range a.st { + mapKeys[i] = k + i++ + } + return &stringKeyIterator{ + mapKeys: mapKeys, + len: len(mapKeys), + } +} + +// Fold calls the FoldEntry method for each (key, value) pair in the map. +func (a *jsonStructAccessor) Fold(f traits.Folder) { + for k, v := range a.st { + if !f.FoldEntry(k, v) { + break + } + } +} + +func newReflectMapAccessor(adapter Adapter, value reflect.Value) mapAccessor { + keyType := value.Type().Key() + return &reflectMapAccessor{ + Adapter: adapter, + refValue: value, + keyType: keyType, + } +} + +type reflectMapAccessor struct { + Adapter + refValue reflect.Value + keyType reflect.Type +} + +// Find converts the input key to a native Golang type and then uses reflection to find the key, +// returning (value, true) if present. +// +// If the key is not found the function returns (nil, false). +func (m *reflectMapAccessor) Find(key ref.Val) (ref.Val, bool) { + if m.refValue.Len() == 0 { + return nil, false + } + if keyVal, found := m.findInternal(key); found { + return keyVal, true + } + switch k := key.(type) { + // Double is not a valid proto map key type, so check for the key as an int or uint. + case Double: + if ik, ok := doubleToInt64Lossless(float64(k)); ok { + if keyVal, found := m.findInternal(Int(ik)); found { + return keyVal, true + } + } + if uk, ok := doubleToUint64Lossless(float64(k)); ok { + return m.findInternal(Uint(uk)) + } + // map keys of type double are not supported. + case Int: + if uk, ok := int64ToUint64Lossless(int64(k)); ok { + return m.findInternal(Uint(uk)) + } + case Uint: + if ik, ok := uint64ToInt64Lossless(uint64(k)); ok { + return m.findInternal(Int(ik)) + } + } + return nil, false +} + +// findInternal attempts to convert the incoming key to the map's internal native type +// and then returns the value, if found. +func (m *reflectMapAccessor) findInternal(key ref.Val) (ref.Val, bool) { + k, err := key.ConvertToNative(m.keyType) + if err != nil { + return nil, false + } + refKey := reflect.ValueOf(k) + val := m.refValue.MapIndex(refKey) + if val.IsValid() { + return m.NativeToValue(val.Interface()), true + } + return nil, false +} + +// Iterator creates a Golang reflection based traits.Iterator. +func (m *reflectMapAccessor) Iterator() traits.Iterator { + return &mapIterator{ + Adapter: m.Adapter, + mapKeys: m.refValue.MapRange(), + len: m.refValue.Len(), + } +} + +// Fold calls the FoldEntry method for each (key, value) pair in the map. +func (m *reflectMapAccessor) Fold(f traits.Folder) { + mapRange := m.refValue.MapRange() + for mapRange.Next() { + if !f.FoldEntry(mapRange.Key().Interface(), mapRange.Value().Interface()) { + break + } + } +} + +func newRefValMapAccessor(mapVal map[ref.Val]ref.Val) mapAccessor { + return &refValMapAccessor{mapVal: mapVal} +} + +type refValMapAccessor struct { + mapVal map[ref.Val]ref.Val +} + +// Find uses native map accesses to find the key, returning (value, true) if present. +// +// If the key is not found the function returns (nil, false). +func (a *refValMapAccessor) Find(key ref.Val) (ref.Val, bool) { + if len(a.mapVal) == 0 { + return nil, false + } + if keyVal, found := a.mapVal[key]; found { + return keyVal, true + } + switch k := key.(type) { + case Double: + if ik, ok := doubleToInt64Lossless(float64(k)); ok { + if keyVal, found := a.mapVal[Int(ik)]; found { + return keyVal, found + } + } + if uk, ok := doubleToUint64Lossless(float64(k)); ok { + keyVal, found := a.mapVal[Uint(uk)] + return keyVal, found + } + // map keys of type double are not supported. + case Int: + if uk, ok := int64ToUint64Lossless(int64(k)); ok { + keyVal, found := a.mapVal[Uint(uk)] + return keyVal, found + } + case Uint: + if ik, ok := uint64ToInt64Lossless(uint64(k)); ok { + keyVal, found := a.mapVal[Int(ik)] + return keyVal, found + } + } + return nil, false +} + +// Iterator produces a new traits.Iterator which iterates over the map keys via Golang reflection. +func (a *refValMapAccessor) Iterator() traits.Iterator { + return &mapIterator{ + Adapter: DefaultTypeAdapter, + mapKeys: reflect.ValueOf(a.mapVal).MapRange(), + len: len(a.mapVal), + } +} + +// Fold calls the FoldEntry method for each (key, value) pair in the map. +func (a *refValMapAccessor) Fold(f traits.Folder) { + for k, v := range a.mapVal { + if !f.FoldEntry(k, v) { + break + } + } +} + +func newStringMapAccessor(strMap map[string]string) mapAccessor { + return &stringMapAccessor{mapVal: strMap} +} + +type stringMapAccessor struct { + mapVal map[string]string +} + +// Find uses native map accesses to find the key, returning (value, true) if present. +// +// If the key is not found the function returns (nil, false). +func (a *stringMapAccessor) Find(key ref.Val) (ref.Val, bool) { + strKey, ok := key.(String) + if !ok { + return nil, false + } + keyVal, found := a.mapVal[string(strKey)] + if !found { + return nil, false + } + return String(keyVal), true +} + +// Iterator creates a new traits.Iterator from the string key set of the map. +func (a *stringMapAccessor) Iterator() traits.Iterator { + // Copy the keys to make their order stable. + mapKeys := make([]string, len(a.mapVal)) + i := 0 + for k := range a.mapVal { + mapKeys[i] = k + i++ + } + return &stringKeyIterator{ + mapKeys: mapKeys, + len: len(mapKeys), + } +} + +// Fold calls the FoldEntry method for each (key, value) pair in the map. +func (a *stringMapAccessor) Fold(f traits.Folder) { + for k, v := range a.mapVal { + if !f.FoldEntry(k, v) { + break + } + } +} + +func newStringIfaceMapAccessor(adapter Adapter, mapVal map[string]any) mapAccessor { + return &stringIfaceMapAccessor{ + Adapter: adapter, + mapVal: mapVal, + } +} + +type stringIfaceMapAccessor struct { + Adapter + mapVal map[string]any +} + +// Find uses native map accesses to find the key, returning (value, true) if present. +// +// If the key is not found the function returns (nil, false). +func (a *stringIfaceMapAccessor) Find(key ref.Val) (ref.Val, bool) { + strKey, ok := key.(String) + if !ok { + return nil, false + } + keyVal, found := a.mapVal[string(strKey)] + if !found { + return nil, false + } + return a.NativeToValue(keyVal), true +} + +// Iterator creates a new traits.Iterator from the string key set of the map. +func (a *stringIfaceMapAccessor) Iterator() traits.Iterator { + // Copy the keys to make their order stable. + mapKeys := make([]string, len(a.mapVal)) + i := 0 + for k := range a.mapVal { + mapKeys[i] = k + i++ + } + return &stringKeyIterator{ + mapKeys: mapKeys, + len: len(mapKeys), + } +} + +// Fold calls the FoldEntry method for each (key, value) pair in the map. +func (a *stringIfaceMapAccessor) Fold(f traits.Folder) { + for k, v := range a.mapVal { + if !f.FoldEntry(k, v) { + break + } + } +} + +// protoMap is a specialized, separate implementation of the traits.Mapper interfaces tailored to +// accessing protoreflect.Map values. +type protoMap struct { + Adapter + value *pb.Map +} + +// Contains returns whether the map contains the given key. +func (m *protoMap) Contains(key ref.Val) ref.Val { + _, found := m.Find(key) + return Bool(found) +} + +// ConvertToNative implements the ref.Val interface method. +// +// Note, assignment to Golang struct types is not yet supported. +func (m *protoMap) ConvertToNative(typeDesc reflect.Type) (any, error) { + // If the map is already assignable to the desired type return it, e.g. interfaces and + // maps with the same key value types. + switch typeDesc { + case anyValueType: + json, err := m.ConvertToNative(jsonStructType) + if err != nil { + return nil, err + } + return anypb.New(json.(proto.Message)) + case jsonValueType, jsonStructType: + jsonEntries, err := + m.ConvertToNative(reflect.TypeOf(map[string]*structpb.Value{})) + if err != nil { + return nil, err + } + jsonMap := &structpb.Struct{ + Fields: jsonEntries.(map[string]*structpb.Value)} + if typeDesc == jsonStructType { + return jsonMap, nil + } + return structpb.NewStructValue(jsonMap), nil + } + switch typeDesc.Kind() { + case reflect.Struct, reflect.Ptr: + if reflect.TypeOf(m.value).AssignableTo(typeDesc) { + return m.value, nil + } + if reflect.TypeOf(m).AssignableTo(typeDesc) { + return m, nil + } + } + if typeDesc.Kind() != reflect.Map { + return nil, fmt.Errorf("unsupported type conversion: %v to map", typeDesc) + } + + keyType := m.value.KeyType.ReflectType() + valType := m.value.ValueType.ReflectType() + otherKeyType := typeDesc.Key() + otherValType := typeDesc.Elem() + mapVal := reflect.MakeMapWithSize(typeDesc, m.value.Len()) + var err error + m.value.Range(func(key protoreflect.MapKey, val protoreflect.Value) bool { + ntvKey := key.Interface() + ntvVal := val.Interface() + switch pv := ntvVal.(type) { + case protoreflect.Message: + ntvVal = pv.Interface() + } + if keyType == otherKeyType && valType == otherValType { + mapVal.SetMapIndex(reflect.ValueOf(ntvKey), reflect.ValueOf(ntvVal)) + return true + } + celKey := m.NativeToValue(ntvKey) + celVal := m.NativeToValue(ntvVal) + ntvKey, err = celKey.ConvertToNative(otherKeyType) + if err != nil { + // early terminate the range loop. + return false + } + ntvVal, err = celVal.ConvertToNative(otherValType) + if err != nil { + // early terminate the range loop. + return false + } + mapVal.SetMapIndex(reflect.ValueOf(ntvKey), reflect.ValueOf(ntvVal)) + return true + }) + if err != nil { + return nil, err + } + return mapVal.Interface(), nil +} + +// ConvertToType implements the ref.Val interface method. +func (m *protoMap) ConvertToType(typeVal ref.Type) ref.Val { + switch typeVal { + case MapType: + return m + case TypeType: + return MapType + } + return NewErr("type conversion error from '%s' to '%s'", MapType, typeVal) +} + +// Equal implements the ref.Val interface method. +func (m *protoMap) Equal(other ref.Val) ref.Val { + otherMap, ok := other.(traits.Mapper) + if !ok { + return False + } + if m.value.Map.Len() != int(otherMap.Size().(Int)) { + return False + } + var retVal ref.Val = True + m.value.Range(func(key protoreflect.MapKey, val protoreflect.Value) bool { + keyVal := m.NativeToValue(key.Interface()) + valVal := m.NativeToValue(val) + otherVal, found := otherMap.Find(keyVal) + if !found { + retVal = False + return false + } + valEq := Equal(valVal, otherVal) + if valEq != True { + retVal = valEq + return false + } + return true + }) + return retVal +} + +// Find returns whether the protoreflect.Map contains the input key. +// +// If the key is not found the function returns (nil, false). +func (m *protoMap) Find(key ref.Val) (ref.Val, bool) { + if keyVal, found := m.findInternal(key); found { + return keyVal, true + } + switch k := key.(type) { + // Double is not a valid proto map key type, so check for the key as an int or uint. + case Double: + if ik, ok := doubleToInt64Lossless(float64(k)); ok { + if keyVal, found := m.findInternal(Int(ik)); found { + return keyVal, true + } + } + if uk, ok := doubleToUint64Lossless(float64(k)); ok { + return m.findInternal(Uint(uk)) + } + // map keys of type double are not supported. + case Int: + if uk, ok := int64ToUint64Lossless(int64(k)); ok { + return m.findInternal(Uint(uk)) + } + case Uint: + if ik, ok := uint64ToInt64Lossless(uint64(k)); ok { + return m.findInternal(Int(ik)) + } + } + return nil, false +} + +// findInternal attempts to convert the incoming key to the map's internal native type +// and then returns the value, if found. +func (m *protoMap) findInternal(key ref.Val) (ref.Val, bool) { + // Convert the input key to the expected protobuf key type. + ntvKey, err := key.ConvertToNative(m.value.KeyType.ReflectType()) + if err != nil { + return nil, false + } + // Use protoreflection to get the key value. + val := m.value.Get(protoreflect.ValueOf(ntvKey).MapKey()) + if !val.IsValid() { + return nil, false + } + // Perform nominal type unwrapping from the input value. + switch v := val.Interface().(type) { + case protoreflect.List, protoreflect.Map: + // Maps do not support list or map values + return nil, false + default: + return m.NativeToValue(v), true + } +} + +// Get implements the traits.Indexer interface method. +func (m *protoMap) Get(key ref.Val) ref.Val { + v, found := m.Find(key) + if !found { + return ValOrErr(v, "no such key: %v", key) + } + return v +} + +// IsZeroValue returns true if the map is empty. +func (m *protoMap) IsZeroValue() bool { + return m.value.Len() == 0 +} + +// Iterator implements the traits.Iterable interface method. +func (m *protoMap) Iterator() traits.Iterator { + // Copy the keys to make their order stable. + mapKeys := make([]protoreflect.MapKey, 0, m.value.Len()) + m.value.Range(func(k protoreflect.MapKey, v protoreflect.Value) bool { + mapKeys = append(mapKeys, k) + return true + }) + return &protoMapIterator{ + Adapter: m.Adapter, + mapKeys: mapKeys, + len: m.value.Len(), + } +} + +// Fold calls the FoldEntry method for each (key, value) pair in the map. +func (m *protoMap) Fold(f traits.Folder) { + m.value.Range(func(k protoreflect.MapKey, v protoreflect.Value) bool { + return f.FoldEntry(k.Interface(), v.Interface()) + }) +} + +// Size returns the number of entries in the protoreflect.Map. +func (m *protoMap) Size() ref.Val { + return Int(m.value.Len()) +} + +// Type implements the ref.Val interface method. +func (m *protoMap) Type() ref.Type { + return MapType +} + +// Value implements the ref.Val interface method. +func (m *protoMap) Value() any { + return m.value +} + +type mapIterator struct { + *baseIterator + Adapter + mapKeys *reflect.MapIter + cursor int + len int +} + +// HasNext implements the traits.Iterator interface method. +func (it *mapIterator) HasNext() ref.Val { + return Bool(it.cursor < it.len) +} + +// Next implements the traits.Iterator interface method. +func (it *mapIterator) Next() ref.Val { + if it.HasNext() == True && it.mapKeys.Next() { + it.cursor++ + refKey := it.mapKeys.Key() + return it.NativeToValue(refKey.Interface()) + } + return nil +} + +type protoMapIterator struct { + *baseIterator + Adapter + mapKeys []protoreflect.MapKey + cursor int + len int +} + +// HasNext implements the traits.Iterator interface method. +func (it *protoMapIterator) HasNext() ref.Val { + return Bool(it.cursor < it.len) +} + +// Next implements the traits.Iterator interface method. +func (it *protoMapIterator) Next() ref.Val { + if it.HasNext() == True { + index := it.cursor + it.cursor++ + refKey := it.mapKeys[index] + return it.NativeToValue(refKey.Interface()) + } + return nil +} + +type stringKeyIterator struct { + *baseIterator + mapKeys []string + cursor int + len int +} + +// HasNext implements the traits.Iterator interface method. +func (it *stringKeyIterator) HasNext() ref.Val { + return Bool(it.cursor < it.len) +} + +// Next implements the traits.Iterator interface method. +func (it *stringKeyIterator) Next() ref.Val { + if it.HasNext() == True { + index := it.cursor + it.cursor++ + return String(it.mapKeys[index]) + } + return nil +} + +// ToFoldableMap will create a Foldable version of a map suitable for key-value pair iteration. +// +// For values which are already Foldable, this call is a no-op. For all other values, the fold +// is driven via the Iterator HasNext() and Next() calls as well as the map's Get() method +// which means that the folding will function, but take a performance hit. +func ToFoldableMap(m traits.Mapper) traits.Foldable { + if f, ok := m.(traits.Foldable); ok { + return f + } + return interopFoldableMap{Mapper: m} +} + +type interopFoldableMap struct { + traits.Mapper +} + +func (m interopFoldableMap) Fold(f traits.Folder) { + it := m.Iterator() + for it.HasNext() == True { + k := it.Next() + if !f.FoldEntry(k, m.Get(k)) { + break + } + } +} + +// InsertMapKeyValue inserts a key, value pair into the target map if the target map does not +// already contain the given key. +// +// If the map is mutable, it is modified in-place per the MutableMapper contract. +// If the map is not mutable, a copy containing the new key, value pair is made. +func InsertMapKeyValue(m traits.Mapper, k, v ref.Val) ref.Val { + if mutable, ok := m.(traits.MutableMapper); ok { + return mutable.Insert(k, v) + } + + // Otherwise perform the slow version of the insertion which makes a copy of the incoming map. + if _, found := m.Find(k); !found { + size := m.Size().(Int) + copy := make(map[ref.Val]ref.Val, size+1) + copy[k] = v + it := m.Iterator() + for it.HasNext() == True { + nextK := it.Next() + nextV := m.Get(nextK) + copy[nextK] = nextV + } + return DefaultTypeAdapter.NativeToValue(copy) + } + return NewErr("insert failed: key %v already exists", k) +} diff --git a/vendor/github.com/google/cel-go/common/types/null.go b/vendor/github.com/google/cel-go/common/types/null.go new file mode 100644 index 000000000..36514ff20 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/null.go @@ -0,0 +1,119 @@ +// Copyright 2018 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 types + +import ( + "fmt" + "reflect" + + "google.golang.org/protobuf/proto" + + "github.com/google/cel-go/common/types/ref" + + anypb "google.golang.org/protobuf/types/known/anypb" + structpb "google.golang.org/protobuf/types/known/structpb" +) + +// Null type implementation. +type Null structpb.NullValue + +var ( + // NullValue singleton. + NullValue = Null(structpb.NullValue_NULL_VALUE) + + // golang reflect type for Null values. + nullReflectType = reflect.TypeOf(NullValue) + + protoIfaceType = reflect.TypeOf((*proto.Message)(nil)).Elem() +) + +// ConvertToNative implements ref.Val.ConvertToNative. +func (n Null) ConvertToNative(typeDesc reflect.Type) (any, error) { + switch typeDesc.Kind() { + case reflect.Int32: + switch typeDesc { + case jsonNullType: + return structpb.NullValue_NULL_VALUE, nil + case nullReflectType: + return n, nil + } + case reflect.Ptr: + switch typeDesc { + case anyValueType: + // Convert to a JSON-null before packing to an Any field since the enum value for JSON + // null cannot be packed directly. + pb, err := n.ConvertToNative(jsonValueType) + if err != nil { + return nil, err + } + return anypb.New(pb.(proto.Message)) + case jsonValueType: + return structpb.NewNullValue(), nil + case boolWrapperType, byteWrapperType, doubleWrapperType, floatWrapperType, + int32WrapperType, int64WrapperType, stringWrapperType, uint32WrapperType, + uint64WrapperType, durationValueType, timestampValueType, protoIfaceType: + return nil, nil + case jsonListValueType, jsonStructType: + // skip handling + default: + if typeDesc.Implements(protoIfaceType) { + return nil, nil + } + } + case reflect.Interface: + nv := n.Value() + if reflect.TypeOf(nv).Implements(typeDesc) { + return nv, nil + } + if reflect.TypeOf(n).Implements(typeDesc) { + return n, nil + } + } + // If the type conversion isn't supported return an error. + return nil, fmt.Errorf("type conversion error from '%v' to '%v'", NullType, typeDesc) +} + +// ConvertToType implements ref.Val.ConvertToType. +func (n Null) ConvertToType(typeVal ref.Type) ref.Val { + switch typeVal { + case StringType: + return String("null") + case NullType: + return n + case TypeType: + return NullType + } + return NewErr("type conversion error from '%s' to '%s'", NullType, typeVal) +} + +// Equal implements ref.Val.Equal. +func (n Null) Equal(other ref.Val) ref.Val { + return Bool(NullType == other.Type()) +} + +// IsZeroValue returns true as null always represents an absent value. +func (n Null) IsZeroValue() bool { + return true +} + +// Type implements ref.Val.Type. +func (n Null) Type() ref.Type { + return NullType +} + +// Value implements ref.Val.Value. +func (n Null) Value() any { + return structpb.NullValue_NULL_VALUE +} diff --git a/vendor/github.com/google/cel-go/common/types/object.go b/vendor/github.com/google/cel-go/common/types/object.go new file mode 100644 index 000000000..8ba0af9fb --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/object.go @@ -0,0 +1,165 @@ +// Copyright 2018 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 types + +import ( + "fmt" + "reflect" + + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" + + "github.com/google/cel-go/common/types/pb" + "github.com/google/cel-go/common/types/ref" + + anypb "google.golang.org/protobuf/types/known/anypb" + structpb "google.golang.org/protobuf/types/known/structpb" +) + +type protoObj struct { + Adapter + value proto.Message + typeDesc *pb.TypeDescription + typeValue ref.Val +} + +// NewObject returns an object based on a proto.Message value which handles +// conversion between protobuf type values and expression type values. +// Objects support indexing and iteration. +// +// Note: the type value is pulled from the list of registered types within the +// type provider. If the proto type is not registered within the type provider, +// then this will result in an error within the type adapter / provider. +func NewObject(adapter Adapter, + typeDesc *pb.TypeDescription, + typeValue ref.Val, + value proto.Message) ref.Val { + return &protoObj{ + Adapter: adapter, + value: value, + typeDesc: typeDesc, + typeValue: typeValue} +} + +func (o *protoObj) ConvertToNative(typeDesc reflect.Type) (any, error) { + srcPB := o.value + if reflect.TypeOf(srcPB).AssignableTo(typeDesc) { + return srcPB, nil + } + if reflect.TypeOf(o).AssignableTo(typeDesc) { + return o, nil + } + switch typeDesc { + case anyValueType: + _, isAny := srcPB.(*anypb.Any) + if isAny { + return srcPB, nil + } + return anypb.New(srcPB) + case jsonValueType: + // Marshal the proto to JSON first, and then rehydrate as protobuf.Value as there is no + // support for direct conversion from proto.Message to protobuf.Value. + bytes, err := protojson.Marshal(srcPB) + if err != nil { + return nil, err + } + json := &structpb.Value{} + err = protojson.Unmarshal(bytes, json) + if err != nil { + return nil, err + } + return json, nil + default: + if typeDesc == o.typeDesc.ReflectType() { + return o.value, nil + } + if typeDesc.Kind() == reflect.Ptr { + val := reflect.New(typeDesc.Elem()).Interface() + dstPB, ok := val.(proto.Message) + if ok { + err := pb.Merge(dstPB, srcPB) + if err != nil { + return nil, fmt.Errorf("type conversion error: %v", err) + } + return dstPB, nil + } + } + } + return nil, fmt.Errorf("type conversion error from '%T' to '%v'", o.value, typeDesc) +} + +func (o *protoObj) ConvertToType(typeVal ref.Type) ref.Val { + switch typeVal { + default: + if o.Type().TypeName() == typeVal.TypeName() { + return o + } + case TypeType: + return o.typeValue + } + return NewErr("type conversion error from '%s' to '%s'", o.typeDesc.Name(), typeVal) +} + +func (o *protoObj) Equal(other ref.Val) ref.Val { + otherPB, ok := other.Value().(proto.Message) + return Bool(ok && pb.Equal(o.value, otherPB)) +} + +// IsSet tests whether a field which is defined is set to a non-default value. +func (o *protoObj) IsSet(field ref.Val) ref.Val { + protoFieldName, ok := field.(String) + if !ok { + return MaybeNoSuchOverloadErr(field) + } + protoFieldStr := string(protoFieldName) + fd, found := o.typeDesc.FieldByName(protoFieldStr) + if !found { + return NewErr("no such field '%s'", field) + } + if fd.IsSet(o.value) { + return True + } + return False +} + +// IsZeroValue returns true if the protobuf object is empty. +func (o *protoObj) IsZeroValue() bool { + return proto.Equal(o.value, o.typeDesc.Zero()) +} + +func (o *protoObj) Get(index ref.Val) ref.Val { + protoFieldName, ok := index.(String) + if !ok { + return MaybeNoSuchOverloadErr(index) + } + protoFieldStr := string(protoFieldName) + fd, found := o.typeDesc.FieldByName(protoFieldStr) + if !found { + return NewErr("no such field '%s'", index) + } + fv, err := fd.GetFrom(o.value) + if err != nil { + return NewErr(err.Error()) + } + return o.NativeToValue(fv) +} + +func (o *protoObj) Type() ref.Type { + return o.typeValue.(ref.Type) +} + +func (o *protoObj) Value() any { + return o.value +} diff --git a/vendor/github.com/google/cel-go/common/types/optional.go b/vendor/github.com/google/cel-go/common/types/optional.go new file mode 100644 index 000000000..97845a740 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/optional.go @@ -0,0 +1,108 @@ +// Copyright 2022 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 types + +import ( + "errors" + "fmt" + "reflect" + + "github.com/google/cel-go/common/types/ref" +) + +var ( + // OptionalType indicates the runtime type of an optional value. + OptionalType = NewOpaqueType("optional_type") + + // OptionalNone is a sentinel value which is used to indicate an empty optional value. + OptionalNone = &Optional{} +) + +// OptionalOf returns an optional value which wraps a concrete CEL value. +func OptionalOf(value ref.Val) *Optional { + return &Optional{value: value} +} + +// Optional value which points to a value if non-empty. +type Optional struct { + value ref.Val +} + +// HasValue returns true if the optional has a value. +func (o *Optional) HasValue() bool { + return o.value != nil +} + +// GetValue returns the wrapped value contained in the optional. +func (o *Optional) GetValue() ref.Val { + if !o.HasValue() { + return NewErr("optional.none() dereference") + } + return o.value +} + +// ConvertToNative implements the ref.Val interface method. +func (o *Optional) ConvertToNative(typeDesc reflect.Type) (any, error) { + if !o.HasValue() { + return nil, errors.New("optional.none() dereference") + } + return o.value.ConvertToNative(typeDesc) +} + +// ConvertToType implements the ref.Val interface method. +func (o *Optional) ConvertToType(typeVal ref.Type) ref.Val { + switch typeVal { + case OptionalType: + return o + case TypeType: + return OptionalType + } + return NewErr("type conversion error from '%s' to '%s'", OptionalType, typeVal) +} + +// Equal determines whether the values contained by two optional values are equal. +func (o *Optional) Equal(other ref.Val) ref.Val { + otherOpt, isOpt := other.(*Optional) + if !isOpt { + return False + } + if !o.HasValue() { + return Bool(!otherOpt.HasValue()) + } + if !otherOpt.HasValue() { + return False + } + return o.value.Equal(otherOpt.value) +} + +func (o *Optional) String() string { + if o.HasValue() { + return fmt.Sprintf("optional(%v)", o.GetValue()) + } + return "optional.none()" +} + +// Type implements the ref.Val interface method. +func (o *Optional) Type() ref.Type { + return OptionalType +} + +// Value returns the underlying 'Value()' of the wrapped value, if present. +func (o *Optional) Value() any { + if o.value == nil { + return nil + } + return o.value.Value() +} diff --git a/vendor/github.com/google/cel-go/common/types/overflow.go b/vendor/github.com/google/cel-go/common/types/overflow.go new file mode 100644 index 000000000..dcb66ef59 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/overflow.go @@ -0,0 +1,429 @@ +// Copyright 2021 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 types + +import ( + "math" + "time" +) + +var ( + doubleTwoTo64 = math.Ldexp(1.0, 64) +) + +// addInt64Checked performs addition with overflow detection of two int64 values. +// +// If the operation fails the error return value will be non-nil. +func addInt64Checked(x, y int64) (int64, error) { + if (y > 0 && x > math.MaxInt64-y) || (y < 0 && x < math.MinInt64-y) { + return 0, errIntOverflow + } + return x + y, nil +} + +// subtractInt64Checked performs subtraction with overflow detection of two int64 values. +// +// If the operation fails the error return value will be non-nil. +func subtractInt64Checked(x, y int64) (int64, error) { + if (y < 0 && x > math.MaxInt64+y) || (y > 0 && x < math.MinInt64+y) { + return 0, errIntOverflow + } + return x - y, nil +} + +// negateInt64Checked performs negation with overflow detection of an int64. +// +// If the operation fails the error return value will be non-nil. +func negateInt64Checked(x int64) (int64, error) { + // In twos complement, negating MinInt64 would result in a valid of MaxInt64+1. + if x == math.MinInt64 { + return 0, errIntOverflow + } + return -x, nil +} + +// multiplyInt64Checked performs multiplication with overflow detection of two int64 value. +// +// If the operation fails the error return value will be non-nil. +func multiplyInt64Checked(x, y int64) (int64, error) { + // Detecting multiplication overflow is more complicated than the others. The first two detect + // attempting to negate MinInt64, which would result in MaxInt64+1. The other four detect normal + // overflow conditions. + if (x == -1 && y == math.MinInt64) || (y == -1 && x == math.MinInt64) || + // x is positive, y is positive + (x > 0 && y > 0 && x > math.MaxInt64/y) || + // x is positive, y is negative + (x > 0 && y < 0 && y < math.MinInt64/x) || + // x is negative, y is positive + (x < 0 && y > 0 && x < math.MinInt64/y) || + // x is negative, y is negative + (x < 0 && y < 0 && y < math.MaxInt64/x) { + return 0, errIntOverflow + } + return x * y, nil +} + +// divideInt64Checked performs division with overflow detection of two int64 values, +// as well as a division by zero check. +// +// If the operation fails the error return value will be non-nil. +func divideInt64Checked(x, y int64) (int64, error) { + // Division by zero. + if y == 0 { + return 0, errDivideByZero + } + // In twos complement, negating MinInt64 would result in a valid of MaxInt64+1. + if x == math.MinInt64 && y == -1 { + return 0, errIntOverflow + } + return x / y, nil +} + +// moduloInt64Checked performs modulo with overflow detection of two int64 values +// as well as a modulus by zero check. +// +// If the operation fails the error return value will be non-nil. +func moduloInt64Checked(x, y int64) (int64, error) { + // Modulus by zero. + if y == 0 { + return 0, errModulusByZero + } + // In twos complement, negating MinInt64 would result in a valid of MaxInt64+1. + if x == math.MinInt64 && y == -1 { + return 0, errIntOverflow + } + return x % y, nil +} + +// addUint64Checked performs addition with overflow detection of two uint64 values. +// +// If the operation fails due to overflow the error return value will be non-nil. +func addUint64Checked(x, y uint64) (uint64, error) { + if y > 0 && x > math.MaxUint64-y { + return 0, errUintOverflow + } + return x + y, nil +} + +// subtractUint64Checked performs subtraction with overflow detection of two uint64 values. +// +// If the operation fails due to overflow the error return value will be non-nil. +func subtractUint64Checked(x, y uint64) (uint64, error) { + if y > x { + return 0, errUintOverflow + } + return x - y, nil +} + +// multiplyUint64Checked performs multiplication with overflow detection of two uint64 values. +// +// If the operation fails due to overflow the error return value will be non-nil. +func multiplyUint64Checked(x, y uint64) (uint64, error) { + if y != 0 && x > math.MaxUint64/y { + return 0, errUintOverflow + } + return x * y, nil +} + +// divideUint64Checked performs division with a test for division by zero. +// +// If the operation fails the error return value will be non-nil. +func divideUint64Checked(x, y uint64) (uint64, error) { + if y == 0 { + return 0, errDivideByZero + } + return x / y, nil +} + +// moduloUint64Checked performs modulo with a test for modulus by zero. +// +// If the operation fails the error return value will be non-nil. +func moduloUint64Checked(x, y uint64) (uint64, error) { + if y == 0 { + return 0, errModulusByZero + } + return x % y, nil +} + +// addDurationChecked performs addition with overflow detection of two time.Durations. +// +// If the operation fails due to overflow the error return value will be non-nil. +func addDurationChecked(x, y time.Duration) (time.Duration, error) { + val, err := addInt64Checked(int64(x), int64(y)) + if err != nil { + return time.Duration(0), err + } + return time.Duration(val), nil +} + +// subtractDurationChecked performs subtraction with overflow detection of two time.Durations. +// +// If the operation fails due to overflow the error return value will be non-nil. +func subtractDurationChecked(x, y time.Duration) (time.Duration, error) { + val, err := subtractInt64Checked(int64(x), int64(y)) + if err != nil { + return time.Duration(0), err + } + return time.Duration(val), nil +} + +// negateDurationChecked performs negation with overflow detection of a time.Duration. +// +// If the operation fails due to overflow the error return value will be non-nil. +func negateDurationChecked(x time.Duration) (time.Duration, error) { + val, err := negateInt64Checked(int64(x)) + if err != nil { + return time.Duration(0), err + } + return time.Duration(val), nil +} + +// addDurationChecked performs addition with overflow detection of a time.Time and time.Duration. +// +// If the operation fails due to overflow the error return value will be non-nil. +func addTimeDurationChecked(x time.Time, y time.Duration) (time.Time, error) { + // This is tricky. A time is represented as (int64, int32) where the first is seconds and second + // is nanoseconds. A duration is int64 representing nanoseconds. We cannot normalize time to int64 + // as it could potentially overflow. The only way to proceed is to break time and duration into + // second and nanosecond components. + + // First we break time into its components by truncating and subtracting. + sec1 := x.Truncate(time.Second).Unix() // Truncate to seconds. + nsec1 := x.Sub(x.Truncate(time.Second)).Nanoseconds() // Get nanoseconds by truncating and subtracting. + + // Second we break duration into its components by dividing and modulo. + sec2 := int64(y) / int64(time.Second) // Truncate to seconds. + nsec2 := int64(y) % int64(time.Second) // Get remainder. + + // Add seconds first, detecting any overflow. + sec, err := addInt64Checked(sec1, sec2) + if err != nil { + return time.Time{}, err + } + // Nanoseconds cannot overflow as time.Time normalizes them to [0, 999999999]. + nsec := nsec1 + nsec2 + + // We need to normalize nanoseconds to be positive and carry extra nanoseconds to seconds. + // Adapted from time.Unix(int64, int64). + if nsec < 0 || nsec >= int64(time.Second) { + // Add seconds. + sec, err = addInt64Checked(sec, nsec/int64(time.Second)) + if err != nil { + return time.Time{}, err + } + + nsec -= (nsec / int64(time.Second)) * int64(time.Second) + if nsec < 0 { + // Subtract an extra second + sec, err = addInt64Checked(sec, -1) + if err != nil { + return time.Time{}, err + } + nsec += int64(time.Second) + } + } + + // Check if the the number of seconds from Unix epoch is within our acceptable range. + if sec < minUnixTime || sec > maxUnixTime { + return time.Time{}, errTimestampOverflow + } + + // Return resulting time and propagate time zone. + return time.Unix(sec, nsec).In(x.Location()), nil +} + +// subtractTimeChecked performs subtraction with overflow detection of two time.Time. +// +// If the operation fails due to overflow the error return value will be non-nil. +func subtractTimeChecked(x, y time.Time) (time.Duration, error) { + // Similar to addTimeDurationOverflow() above. + + // First we break time into its components by truncating and subtracting. + sec1 := x.Truncate(time.Second).Unix() // Truncate to seconds. + nsec1 := x.Sub(x.Truncate(time.Second)).Nanoseconds() // Get nanoseconds by truncating and subtracting. + + // Second we break duration into its components by truncating and subtracting. + sec2 := y.Truncate(time.Second).Unix() // Truncate to seconds. + nsec2 := y.Sub(y.Truncate(time.Second)).Nanoseconds() // Get nanoseconds by truncating and subtracting. + + // Subtract seconds first, detecting any overflow. + sec, err := subtractInt64Checked(sec1, sec2) + if err != nil { + return time.Duration(0), err + } + + // Nanoseconds cannot overflow as time.Time normalizes them to [0, 999999999]. + nsec := nsec1 - nsec2 + + // Scale seconds to nanoseconds detecting overflow. + tsec, err := multiplyInt64Checked(sec, int64(time.Second)) + if err != nil { + return time.Duration(0), err + } + + // Lastly we need to add the two nanoseconds together. + val, err := addInt64Checked(tsec, nsec) + if err != nil { + return time.Duration(0), err + } + + return time.Duration(val), nil +} + +// subtractTimeDurationChecked performs subtraction with overflow detection of a time.Time and +// time.Duration. +// +// If the operation fails due to overflow the error return value will be non-nil. +func subtractTimeDurationChecked(x time.Time, y time.Duration) (time.Time, error) { + // The easiest way to implement this is to negate y and add them. + // x - y = x + -y + val, err := negateDurationChecked(y) + if err != nil { + return time.Time{}, err + } + return addTimeDurationChecked(x, val) +} + +// doubleToInt64Checked converts a double to an int64 value. +// +// If the conversion fails due to overflow the error return value will be non-nil. +func doubleToInt64Checked(v float64) (int64, error) { + if math.IsInf(v, 0) || math.IsNaN(v) || v <= float64(math.MinInt64) || v >= float64(math.MaxInt64) { + return 0, errIntOverflow + } + return int64(v), nil +} + +// doubleToInt64Checked converts a double to a uint64 value. +// +// If the conversion fails due to overflow the error return value will be non-nil. +func doubleToUint64Checked(v float64) (uint64, error) { + if math.IsInf(v, 0) || math.IsNaN(v) || v < 0 || v >= doubleTwoTo64 { + return 0, errUintOverflow + } + return uint64(v), nil +} + +// int64ToUint64Checked converts an int64 to a uint64 value. +// +// If the conversion fails due to overflow the error return value will be non-nil. +func int64ToUint64Checked(v int64) (uint64, error) { + if v < 0 { + return 0, errUintOverflow + } + return uint64(v), nil +} + +// int64ToInt8Checked converts an int64 to an int8 value. +// +// If the conversion fails due to overflow the error return value will be non-nil. +func int64ToInt8Checked(v int64) (int8, error) { + if v < math.MinInt8 || v > math.MaxInt8 { + return 0, errIntOverflow + } + return int8(v), nil +} + +// int64ToInt16Checked converts an int64 to an int16 value. +// +// If the conversion fails due to overflow the error return value will be non-nil. +func int64ToInt16Checked(v int64) (int16, error) { + if v < math.MinInt16 || v > math.MaxInt16 { + return 0, errIntOverflow + } + return int16(v), nil +} + +// int64ToInt32Checked converts an int64 to an int32 value. +// +// If the conversion fails due to overflow the error return value will be non-nil. +func int64ToInt32Checked(v int64) (int32, error) { + if v < math.MinInt32 || v > math.MaxInt32 { + return 0, errIntOverflow + } + return int32(v), nil +} + +// uint64ToUint8Checked converts a uint64 to a uint8 value. +// +// If the conversion fails due to overflow the error return value will be non-nil. +func uint64ToUint8Checked(v uint64) (uint8, error) { + if v > math.MaxUint8 { + return 0, errUintOverflow + } + return uint8(v), nil +} + +// uint64ToUint16Checked converts a uint64 to a uint16 value. +// +// If the conversion fails due to overflow the error return value will be non-nil. +func uint64ToUint16Checked(v uint64) (uint16, error) { + if v > math.MaxUint16 { + return 0, errUintOverflow + } + return uint16(v), nil +} + +// uint64ToUint32Checked converts a uint64 to a uint32 value. +// +// If the conversion fails due to overflow the error return value will be non-nil. +func uint64ToUint32Checked(v uint64) (uint32, error) { + if v > math.MaxUint32 { + return 0, errUintOverflow + } + return uint32(v), nil +} + +// uint64ToInt64Checked converts a uint64 to an int64 value. +// +// If the conversion fails due to overflow the error return value will be non-nil. +func uint64ToInt64Checked(v uint64) (int64, error) { + if v > math.MaxInt64 { + return 0, errIntOverflow + } + return int64(v), nil +} + +func doubleToUint64Lossless(v float64) (uint64, bool) { + u, err := doubleToUint64Checked(v) + if err != nil { + return 0, false + } + if float64(u) != v { + return 0, false + } + return u, true +} + +func doubleToInt64Lossless(v float64) (int64, bool) { + i, err := doubleToInt64Checked(v) + if err != nil { + return 0, false + } + if float64(i) != v { + return 0, false + } + return i, true +} + +func int64ToUint64Lossless(v int64) (uint64, bool) { + u, err := int64ToUint64Checked(v) + return u, err == nil +} + +func uint64ToInt64Lossless(v uint64) (int64, bool) { + i, err := uint64ToInt64Checked(v) + return i, err == nil +} diff --git a/vendor/github.com/google/cel-go/common/types/pb/BUILD.bazel b/vendor/github.com/google/cel-go/common/types/pb/BUILD.bazel new file mode 100644 index 000000000..e2b9d37b5 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/pb/BUILD.bazel @@ -0,0 +1,53 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +package( + default_visibility = ["//visibility:public"], + licenses = ["notice"], # Apache 2.0 +) + +go_library( + name = "go_default_library", + srcs = [ + "checked.go", + "enum.go", + "equal.go", + "file.go", + "pb.go", + "type.go", + ], + importpath = "github.com/google/cel-go/common/types/pb", + deps = [ + "@org_golang_google_genproto_googleapis_api//expr/v1alpha1:go_default_library", + "@org_golang_google_protobuf//encoding/protowire:go_default_library", + "@org_golang_google_protobuf//proto:go_default_library", + "@org_golang_google_protobuf//reflect/protoreflect:go_default_library", + "@org_golang_google_protobuf//reflect/protoregistry:go_default_library", + "@org_golang_google_protobuf//types/dynamicpb:go_default_library", + "@org_golang_google_protobuf//types/known/anypb:go_default_library", + "@org_golang_google_protobuf//types/known/durationpb:go_default_library", + "@org_golang_google_protobuf//types/known/emptypb:go_default_library", + "@org_golang_google_protobuf//types/known/structpb:go_default_library", + "@org_golang_google_protobuf//types/known/timestamppb:go_default_library", + "@org_golang_google_protobuf//types/known/wrapperspb:go_default_library", + ], +) + +go_test( + name = "go_default_test", + size = "small", + srcs = [ + "equal_test.go", + "file_test.go", + "pb_test.go", + "type_test.go", + ], + embed = [":go_default_library"], + deps = [ + "//checker/decls:go_default_library", + "//test/proto2pb:test_all_types_go_proto", + "//test/proto3pb:test_all_types_go_proto", + "@org_golang_google_protobuf//reflect/protodesc:go_default_library", + "@org_golang_google_protobuf//reflect/protoreflect:go_default_library", + "@org_golang_google_protobuf//types/descriptorpb:go_default_library", + ], +) diff --git a/vendor/github.com/google/cel-go/common/types/pb/checked.go b/vendor/github.com/google/cel-go/common/types/pb/checked.go new file mode 100644 index 000000000..312a6a072 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/pb/checked.go @@ -0,0 +1,93 @@ +// Copyright 2018 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 pb + +import ( + "google.golang.org/protobuf/reflect/protoreflect" + + exprpb "google.golang.org/genproto/googleapis/api/expr/v1alpha1" + emptypb "google.golang.org/protobuf/types/known/emptypb" + structpb "google.golang.org/protobuf/types/known/structpb" +) + +var ( + // CheckedPrimitives map from proto field descriptor type to expr.Type. + CheckedPrimitives = map[protoreflect.Kind]*exprpb.Type{ + protoreflect.BoolKind: checkedBool, + protoreflect.BytesKind: checkedBytes, + protoreflect.DoubleKind: checkedDouble, + protoreflect.FloatKind: checkedDouble, + protoreflect.Int32Kind: checkedInt, + protoreflect.Int64Kind: checkedInt, + protoreflect.Sint32Kind: checkedInt, + protoreflect.Sint64Kind: checkedInt, + protoreflect.Uint32Kind: checkedUint, + protoreflect.Uint64Kind: checkedUint, + protoreflect.Fixed32Kind: checkedUint, + protoreflect.Fixed64Kind: checkedUint, + protoreflect.Sfixed32Kind: checkedInt, + protoreflect.Sfixed64Kind: checkedInt, + protoreflect.StringKind: checkedString} + + // CheckedWellKnowns map from qualified proto type name to expr.Type for + // well-known proto types. + CheckedWellKnowns = map[string]*exprpb.Type{ + // Wrapper types. + "google.protobuf.BoolValue": checkedWrap(checkedBool), + "google.protobuf.BytesValue": checkedWrap(checkedBytes), + "google.protobuf.DoubleValue": checkedWrap(checkedDouble), + "google.protobuf.FloatValue": checkedWrap(checkedDouble), + "google.protobuf.Int64Value": checkedWrap(checkedInt), + "google.protobuf.Int32Value": checkedWrap(checkedInt), + "google.protobuf.UInt64Value": checkedWrap(checkedUint), + "google.protobuf.UInt32Value": checkedWrap(checkedUint), + "google.protobuf.StringValue": checkedWrap(checkedString), + // Well-known types. + "google.protobuf.Any": checkedAny, + "google.protobuf.Duration": checkedDuration, + "google.protobuf.Timestamp": checkedTimestamp, + // Json types. + "google.protobuf.ListValue": checkedListDyn, + "google.protobuf.NullValue": checkedNull, + "google.protobuf.Struct": checkedMapStringDyn, + "google.protobuf.Value": checkedDyn, + } + + // common types + checkedDyn = &exprpb.Type{TypeKind: &exprpb.Type_Dyn{Dyn: &emptypb.Empty{}}} + // Wrapper and primitive types. + checkedBool = checkedPrimitive(exprpb.Type_BOOL) + checkedBytes = checkedPrimitive(exprpb.Type_BYTES) + checkedDouble = checkedPrimitive(exprpb.Type_DOUBLE) + checkedInt = checkedPrimitive(exprpb.Type_INT64) + checkedString = checkedPrimitive(exprpb.Type_STRING) + checkedUint = checkedPrimitive(exprpb.Type_UINT64) + // Well-known type equivalents. + checkedAny = checkedWellKnown(exprpb.Type_ANY) + checkedDuration = checkedWellKnown(exprpb.Type_DURATION) + checkedTimestamp = checkedWellKnown(exprpb.Type_TIMESTAMP) + // Json-based type equivalents. + checkedNull = &exprpb.Type{ + TypeKind: &exprpb.Type_Null{ + Null: structpb.NullValue_NULL_VALUE}} + checkedListDyn = &exprpb.Type{ + TypeKind: &exprpb.Type_ListType_{ + ListType: &exprpb.Type_ListType{ElemType: checkedDyn}}} + checkedMapStringDyn = &exprpb.Type{ + TypeKind: &exprpb.Type_MapType_{ + MapType: &exprpb.Type_MapType{ + KeyType: checkedString, + ValueType: checkedDyn}}} +) diff --git a/vendor/github.com/google/cel-go/common/types/pb/enum.go b/vendor/github.com/google/cel-go/common/types/pb/enum.go new file mode 100644 index 000000000..09a154630 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/pb/enum.go @@ -0,0 +1,44 @@ +// Copyright 2018 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 pb + +import ( + "google.golang.org/protobuf/reflect/protoreflect" +) + +// newEnumValueDescription produces an enum value description with the fully qualified enum value +// name and the enum value descriptor. +func newEnumValueDescription(name string, desc protoreflect.EnumValueDescriptor) *EnumValueDescription { + return &EnumValueDescription{ + enumValueName: name, + desc: desc, + } +} + +// EnumValueDescription maps a fully-qualified enum value name to its numeric value. +type EnumValueDescription struct { + enumValueName string + desc protoreflect.EnumValueDescriptor +} + +// Name returns the fully-qualified identifier name for the enum value. +func (ed *EnumValueDescription) Name() string { + return ed.enumValueName +} + +// Value returns the (numeric) value of the enum. +func (ed *EnumValueDescription) Value() int32 { + return int32(ed.desc.Number()) +} diff --git a/vendor/github.com/google/cel-go/common/types/pb/equal.go b/vendor/github.com/google/cel-go/common/types/pb/equal.go new file mode 100644 index 000000000..76893d85e --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/pb/equal.go @@ -0,0 +1,206 @@ +// Copyright 2022 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 pb + +import ( + "bytes" + "reflect" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + + anypb "google.golang.org/protobuf/types/known/anypb" +) + +// Equal returns whether two proto.Message instances are equal using the following criteria: +// +// - Messages must share the same instance of the type descriptor +// - Known set fields are compared using semantics equality +// - Bytes are compared using bytes.Equal +// - Scalar values are compared with operator == +// - List and map types are equal if they have the same length and all elements are equal +// - Messages are equal if they share the same descriptor and all set fields are equal +// - Unknown fields are compared using byte equality +// - NaN values are not equal to each other +// - google.protobuf.Any values are unpacked before comparison +// - If the type descriptor for a protobuf.Any cannot be found, byte equality is used rather than +// semantic equality. +// +// This method of proto equality mirrors the behavior of the C++ protobuf MessageDifferencer +// whereas the golang proto.Equal implementation mirrors the Java protobuf equals() methods +// behaviors which needed to treat NaN values as equal due to Java semantics. +func Equal(x, y proto.Message) bool { + if x == nil || y == nil { + return x == nil && y == nil + } + xRef := x.ProtoReflect() + yRef := y.ProtoReflect() + return equalMessage(xRef, yRef) +} + +func equalMessage(mx, my protoreflect.Message) bool { + // Note, the original proto.Equal upon which this implementation is based does not specifically handle the + // case when both messages are invalid. It is assumed that the descriptors will be equal and that byte-wise + // comparison will be used, though the semantics of validity are neither clear, nor promised within the + // proto.Equal implementation. + if mx.IsValid() != my.IsValid() || mx.Descriptor() != my.Descriptor() { + return false + } + + // This is an innovation on the default proto.Equal where protobuf.Any values are unpacked before comparison + // as otherwise the Any values are compared by bytes rather than structurally. + if isAny(mx) && isAny(my) { + ax := mx.Interface().(*anypb.Any) + ay := my.Interface().(*anypb.Any) + // If the values are not the same type url, return false. + if ax.GetTypeUrl() != ay.GetTypeUrl() { + return false + } + // If the values are byte equal, then return true. + if bytes.Equal(ax.GetValue(), ay.GetValue()) { + return true + } + // Otherwise fall through to the semantic comparison of the any values. + x, err := ax.UnmarshalNew() + if err != nil { + return false + } + y, err := ay.UnmarshalNew() + if err != nil { + return false + } + // Recursively compare the unwrapped messages to ensure nested Any values are unwrapped accordingly. + return equalMessage(x.ProtoReflect(), y.ProtoReflect()) + } + + // Walk the set fields to determine field-wise equality + nx := 0 + equal := true + mx.Range(func(fd protoreflect.FieldDescriptor, vx protoreflect.Value) bool { + nx++ + equal = my.Has(fd) && equalField(fd, vx, my.Get(fd)) + return equal + }) + if !equal { + return false + } + // Establish the count of set fields on message y + ny := 0 + my.Range(func(protoreflect.FieldDescriptor, protoreflect.Value) bool { + ny++ + return true + }) + // If the number of set fields is not equal return false. + if nx != ny { + return false + } + + return equalUnknown(mx.GetUnknown(), my.GetUnknown()) +} + +func equalField(fd protoreflect.FieldDescriptor, x, y protoreflect.Value) bool { + switch { + case fd.IsMap(): + return equalMap(fd, x.Map(), y.Map()) + case fd.IsList(): + return equalList(fd, x.List(), y.List()) + default: + return equalValue(fd, x, y) + } +} + +func equalMap(fd protoreflect.FieldDescriptor, x, y protoreflect.Map) bool { + if x.Len() != y.Len() { + return false + } + equal := true + x.Range(func(k protoreflect.MapKey, vx protoreflect.Value) bool { + vy := y.Get(k) + equal = y.Has(k) && equalValue(fd.MapValue(), vx, vy) + return equal + }) + return equal +} + +func equalList(fd protoreflect.FieldDescriptor, x, y protoreflect.List) bool { + if x.Len() != y.Len() { + return false + } + for i := x.Len() - 1; i >= 0; i-- { + if !equalValue(fd, x.Get(i), y.Get(i)) { + return false + } + } + return true +} + +func equalValue(fd protoreflect.FieldDescriptor, x, y protoreflect.Value) bool { + switch fd.Kind() { + case protoreflect.BoolKind: + return x.Bool() == y.Bool() + case protoreflect.EnumKind: + return x.Enum() == y.Enum() + case protoreflect.Int32Kind, protoreflect.Sint32Kind, + protoreflect.Int64Kind, protoreflect.Sint64Kind, + protoreflect.Sfixed32Kind, protoreflect.Sfixed64Kind: + return x.Int() == y.Int() + case protoreflect.Uint32Kind, protoreflect.Uint64Kind, + protoreflect.Fixed32Kind, protoreflect.Fixed64Kind: + return x.Uint() == y.Uint() + case protoreflect.FloatKind, protoreflect.DoubleKind: + return x.Float() == y.Float() + case protoreflect.StringKind: + return x.String() == y.String() + case protoreflect.BytesKind: + return bytes.Equal(x.Bytes(), y.Bytes()) + case protoreflect.MessageKind, protoreflect.GroupKind: + return equalMessage(x.Message(), y.Message()) + default: + return x.Interface() == y.Interface() + } +} + +func equalUnknown(x, y protoreflect.RawFields) bool { + lenX := len(x) + lenY := len(y) + if lenX != lenY { + return false + } + if lenX == 0 { + return true + } + if bytes.Equal([]byte(x), []byte(y)) { + return true + } + + mx := make(map[protoreflect.FieldNumber]protoreflect.RawFields) + my := make(map[protoreflect.FieldNumber]protoreflect.RawFields) + for len(x) > 0 { + fnum, _, n := protowire.ConsumeField(x) + mx[fnum] = append(mx[fnum], x[:n]...) + x = x[n:] + } + for len(y) > 0 { + fnum, _, n := protowire.ConsumeField(y) + my[fnum] = append(my[fnum], y[:n]...) + y = y[n:] + } + return reflect.DeepEqual(mx, my) +} + +func isAny(m protoreflect.Message) bool { + return string(m.Descriptor().FullName()) == "google.protobuf.Any" +} diff --git a/vendor/github.com/google/cel-go/common/types/pb/file.go b/vendor/github.com/google/cel-go/common/types/pb/file.go new file mode 100644 index 000000000..e323afb1d --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/pb/file.go @@ -0,0 +1,202 @@ +// Copyright 2018 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 pb + +import ( + "fmt" + + "google.golang.org/protobuf/reflect/protoreflect" + + dynamicpb "google.golang.org/protobuf/types/dynamicpb" +) + +// newFileDescription returns a FileDescription instance with a complete listing of all the message +// types and enum values, as well as a map of extensions declared within any scope in the file. +func newFileDescription(fileDesc protoreflect.FileDescriptor, pbdb *Db) (*FileDescription, extensionMap) { + metadata := collectFileMetadata(fileDesc) + enums := make(map[string]*EnumValueDescription) + for name, enumVal := range metadata.enumValues { + enums[name] = newEnumValueDescription(name, enumVal) + } + types := make(map[string]*TypeDescription) + for name, msgType := range metadata.msgTypes { + types[name] = newTypeDescription(name, msgType, pbdb.extensions) + } + fileExtMap := make(extensionMap) + for typeName, extensions := range metadata.msgExtensionMap { + messageExtMap, found := fileExtMap[typeName] + if !found { + messageExtMap = make(map[string]*FieldDescription) + } + for _, ext := range extensions { + extDesc := dynamicpb.NewExtensionType(ext).TypeDescriptor() + messageExtMap[string(ext.FullName())] = newFieldDescription(extDesc) + } + fileExtMap[typeName] = messageExtMap + } + return &FileDescription{ + name: fileDesc.Path(), + types: types, + enums: enums, + }, fileExtMap +} + +// FileDescription holds a map of all types and enum values declared within a proto file. +type FileDescription struct { + name string + types map[string]*TypeDescription + enums map[string]*EnumValueDescription +} + +// Copy creates a copy of the FileDescription with updated Db references within its types. +func (fd *FileDescription) Copy(pbdb *Db) *FileDescription { + typesCopy := make(map[string]*TypeDescription, len(fd.types)) + for k, v := range fd.types { + typesCopy[k] = v.Copy(pbdb) + } + return &FileDescription{ + name: fd.name, + types: typesCopy, + enums: fd.enums, + } +} + +// GetName returns the fully qualified file path for the file. +func (fd *FileDescription) GetName() string { + return fd.name +} + +// GetEnumDescription returns an EnumDescription for a qualified enum value +// name declared within the .proto file. +func (fd *FileDescription) GetEnumDescription(enumName string) (*EnumValueDescription, bool) { + ed, found := fd.enums[sanitizeProtoName(enumName)] + return ed, found +} + +// GetEnumNames returns the string names of all enum values in the file. +func (fd *FileDescription) GetEnumNames() []string { + enumNames := make([]string, len(fd.enums)) + i := 0 + for _, e := range fd.enums { + enumNames[i] = e.Name() + i++ + } + return enumNames +} + +// GetTypeDescription returns a TypeDescription for a qualified protobuf message type name +// declared within the .proto file. +func (fd *FileDescription) GetTypeDescription(typeName string) (*TypeDescription, bool) { + td, found := fd.types[sanitizeProtoName(typeName)] + return td, found +} + +// GetTypeNames returns the list of all type names contained within the file. +func (fd *FileDescription) GetTypeNames() []string { + typeNames := make([]string, len(fd.types)) + i := 0 + for _, t := range fd.types { + typeNames[i] = t.Name() + i++ + } + return typeNames +} + +// sanitizeProtoName strips the leading '.' from the proto message name. +func sanitizeProtoName(name string) string { + if name != "" && name[0] == '.' { + return name[1:] + } + return name +} + +// fileMetadata is a flattened view of message types and enum values within a file descriptor. +type fileMetadata struct { + // msgTypes maps from fully-qualified message name to descriptor. + msgTypes map[string]protoreflect.MessageDescriptor + // enumValues maps from fully-qualified enum value to enum value descriptor. + enumValues map[string]protoreflect.EnumValueDescriptor + // msgExtensionMap maps from the protobuf message name being extended to a set of extensions + // for the type. + msgExtensionMap map[string][]protoreflect.ExtensionDescriptor + + // TODO: support enum type definitions for use in future type-check enhancements. +} + +// collectFileMetadata traverses the proto file object graph to collect message types and enum +// values and index them by their fully qualified names. +func collectFileMetadata(fileDesc protoreflect.FileDescriptor) *fileMetadata { + msgTypes := make(map[string]protoreflect.MessageDescriptor) + enumValues := make(map[string]protoreflect.EnumValueDescriptor) + msgExtensionMap := make(map[string][]protoreflect.ExtensionDescriptor) + collectMsgTypes(fileDesc.Messages(), msgTypes, enumValues, msgExtensionMap) + collectEnumValues(fileDesc.Enums(), enumValues) + collectExtensions(fileDesc.Extensions(), msgExtensionMap) + return &fileMetadata{ + msgTypes: msgTypes, + enumValues: enumValues, + msgExtensionMap: msgExtensionMap, + } +} + +// collectMsgTypes recursively collects messages, nested messages, and nested enums into a map of +// fully qualified protobuf names to descriptors. +func collectMsgTypes(msgTypes protoreflect.MessageDescriptors, + msgTypeMap map[string]protoreflect.MessageDescriptor, + enumValueMap map[string]protoreflect.EnumValueDescriptor, + msgExtensionMap map[string][]protoreflect.ExtensionDescriptor) { + for i := 0; i < msgTypes.Len(); i++ { + msgType := msgTypes.Get(i) + msgTypeMap[string(msgType.FullName())] = msgType + nestedMsgTypes := msgType.Messages() + if nestedMsgTypes.Len() != 0 { + collectMsgTypes(nestedMsgTypes, msgTypeMap, enumValueMap, msgExtensionMap) + } + nestedEnumTypes := msgType.Enums() + if nestedEnumTypes.Len() != 0 { + collectEnumValues(nestedEnumTypes, enumValueMap) + } + nestedExtensions := msgType.Extensions() + if nestedExtensions.Len() != 0 { + collectExtensions(nestedExtensions, msgExtensionMap) + } + } +} + +// collectEnumValues accumulates the enum values within an enum declaration. +func collectEnumValues(enumTypes protoreflect.EnumDescriptors, enumValueMap map[string]protoreflect.EnumValueDescriptor) { + for i := 0; i < enumTypes.Len(); i++ { + enumType := enumTypes.Get(i) + enumTypeValues := enumType.Values() + for j := 0; j < enumTypeValues.Len(); j++ { + enumValue := enumTypeValues.Get(j) + enumValueName := fmt.Sprintf("%s.%s", string(enumType.FullName()), string(enumValue.Name())) + enumValueMap[enumValueName] = enumValue + } + } +} + +func collectExtensions(extensions protoreflect.ExtensionDescriptors, msgExtensionMap map[string][]protoreflect.ExtensionDescriptor) { + for i := 0; i < extensions.Len(); i++ { + ext := extensions.Get(i) + extendsMsg := string(ext.ContainingMessage().FullName()) + msgExts, found := msgExtensionMap[extendsMsg] + if !found { + msgExts = []protoreflect.ExtensionDescriptor{} + } + msgExts = append(msgExts, ext) + msgExtensionMap[extendsMsg] = msgExts + } +} diff --git a/vendor/github.com/google/cel-go/common/types/pb/pb.go b/vendor/github.com/google/cel-go/common/types/pb/pb.go new file mode 100644 index 000000000..eadebcb04 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/pb/pb.go @@ -0,0 +1,258 @@ +// Copyright 2018 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 pb reflects over protocol buffer descriptors to generate objects +// that simplify type, enum, and field lookup. +package pb + +import ( + "fmt" + + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" + + anypb "google.golang.org/protobuf/types/known/anypb" + durpb "google.golang.org/protobuf/types/known/durationpb" + emptypb "google.golang.org/protobuf/types/known/emptypb" + structpb "google.golang.org/protobuf/types/known/structpb" + tspb "google.golang.org/protobuf/types/known/timestamppb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" +) + +// Db maps from file / message / enum name to file description. +// +// Each Db is isolated from each other, and while information about protobuf descriptors may be +// fetched from the global protobuf registry, no descriptors are added to this registry, else +// the isolation guarantees of the Db object would be violated. +type Db struct { + revFileDescriptorMap map[string]*FileDescription + // files contains the deduped set of FileDescriptions whose types are contained in the pb.Db. + files []*FileDescription + // extensions contains the mapping between a given type name, extension name and its FieldDescription + extensions map[string]map[string]*FieldDescription +} + +// extensionsMap is a type alias to a map[typeName]map[extensionName]*FieldDescription +type extensionMap = map[string]map[string]*FieldDescription + +var ( + // DefaultDb used at evaluation time or unless overridden at check time. + DefaultDb = &Db{ + revFileDescriptorMap: make(map[string]*FileDescription), + files: []*FileDescription{}, + extensions: make(extensionMap), + } +) + +// Merge will copy the source proto message into the destination, or error if the merge cannot be completed. +// +// Unlike the proto.Merge, this method will fallback to proto.Marshal/Unmarshal of the two proto messages do not +// share the same instance of their type descriptor. +func Merge(dstPB, srcPB proto.Message) error { + src, dst := srcPB.ProtoReflect(), dstPB.ProtoReflect() + if src.Descriptor() == dst.Descriptor() { + proto.Merge(dstPB, srcPB) + return nil + } + if src.Descriptor().FullName() != dst.Descriptor().FullName() { + return fmt.Errorf("pb.Merge() arguments must be the same type. got: %v, %v", + dst.Descriptor().FullName(), src.Descriptor().FullName()) + } + bytes, err := proto.Marshal(srcPB) + if err != nil { + return fmt.Errorf("pb.Merge(dstPB, srcPB) failed to marshal source proto: %v", err) + } + err = proto.Unmarshal(bytes, dstPB) + if err != nil { + return fmt.Errorf("pb.Merge(dstPB, srcPB) failed to unmarshal to dest proto: %v", err) + } + return nil +} + +// NewDb creates a new `pb.Db` with an empty type name to file description map. +func NewDb() *Db { + pbdb := &Db{ + revFileDescriptorMap: make(map[string]*FileDescription), + files: []*FileDescription{}, + extensions: make(extensionMap), + } + // The FileDescription objects in the default db contain lazily initialized TypeDescription + // values which may point to the state contained in the DefaultDb irrespective of this shallow + // copy; however, the type graph for a field is idempotently computed, and is guaranteed to + // only be initialized once thanks to atomic values within the TypeDescription objects, so it + // is safe to share these values across instances. + for k, v := range DefaultDb.revFileDescriptorMap { + pbdb.revFileDescriptorMap[k] = v + } + pbdb.files = append(pbdb.files, DefaultDb.files...) + return pbdb +} + +// Copy creates a copy of the current database with its own internal descriptor mapping. +func (pbdb *Db) Copy() *Db { + copy := NewDb() + for _, fd := range pbdb.files { + hasFile := false + for _, fd2 := range copy.files { + if fd2 == fd { + hasFile = true + } + } + if !hasFile { + fd = fd.Copy(copy) + copy.files = append(copy.files, fd) + } + for _, enumValName := range fd.GetEnumNames() { + copy.revFileDescriptorMap[enumValName] = fd + } + for _, msgTypeName := range fd.GetTypeNames() { + copy.revFileDescriptorMap[msgTypeName] = fd + } + copy.revFileDescriptorMap[fd.GetName()] = fd + } + for typeName, extFieldMap := range pbdb.extensions { + copyExtFieldMap, found := copy.extensions[typeName] + if !found { + copyExtFieldMap = make(map[string]*FieldDescription, len(extFieldMap)) + } + for extFieldName, fd := range extFieldMap { + copyExtFieldMap[extFieldName] = fd + } + copy.extensions[typeName] = copyExtFieldMap + } + return copy +} + +// FileDescriptions returns the set of file descriptions associated with this db. +func (pbdb *Db) FileDescriptions() []*FileDescription { + return pbdb.files +} + +// RegisterDescriptor produces a `FileDescription` from a `FileDescriptor` and registers the +// message and enum types into the `pb.Db`. +func (pbdb *Db) RegisterDescriptor(fileDesc protoreflect.FileDescriptor) (*FileDescription, error) { + fd, found := pbdb.revFileDescriptorMap[fileDesc.Path()] + if found { + return fd, nil + } + // Make sure to search the global registry to see if a protoreflect.FileDescriptor for + // the file specified has been linked into the binary. If so, use the copy of the descriptor + // from the global cache. + // + // Note: Proto reflection relies on descriptor values being object equal rather than object + // equivalence. This choice means that a FieldDescriptor generated from a FileDescriptorProto + // will be incompatible with the FieldDescriptor in the global registry and any message created + // from that global registry. + globalFD, err := protoregistry.GlobalFiles.FindFileByPath(fileDesc.Path()) + if err == nil { + fileDesc = globalFD + } + var fileExtMap extensionMap + fd, fileExtMap = newFileDescription(fileDesc, pbdb) + for _, enumValName := range fd.GetEnumNames() { + pbdb.revFileDescriptorMap[enumValName] = fd + } + for _, msgTypeName := range fd.GetTypeNames() { + pbdb.revFileDescriptorMap[msgTypeName] = fd + } + pbdb.revFileDescriptorMap[fd.GetName()] = fd + + // Return the specific file descriptor registered. + pbdb.files = append(pbdb.files, fd) + + // Index the protobuf message extensions from the file into the pbdb + for typeName, extMap := range fileExtMap { + typeExtMap, found := pbdb.extensions[typeName] + if !found { + pbdb.extensions[typeName] = extMap + continue + } + for extName, field := range extMap { + typeExtMap[extName] = field + } + } + return fd, nil +} + +// RegisterMessage produces a `FileDescription` from a `message` and registers the message and all +// other definitions within the message file into the `pb.Db`. +func (pbdb *Db) RegisterMessage(message proto.Message) (*FileDescription, error) { + msgDesc := message.ProtoReflect().Descriptor() + msgName := msgDesc.FullName() + typeName := sanitizeProtoName(string(msgName)) + if fd, found := pbdb.revFileDescriptorMap[typeName]; found { + return fd, nil + } + return pbdb.RegisterDescriptor(msgDesc.ParentFile()) +} + +// DescribeEnum takes a qualified enum name and returns an `EnumDescription` if it exists in the +// `pb.Db`. +func (pbdb *Db) DescribeEnum(enumName string) (*EnumValueDescription, bool) { + enumName = sanitizeProtoName(enumName) + if fd, found := pbdb.revFileDescriptorMap[enumName]; found { + return fd.GetEnumDescription(enumName) + } + return nil, false +} + +// DescribeType returns a `TypeDescription` for the `typeName` if it exists in the `pb.Db`. +func (pbdb *Db) DescribeType(typeName string) (*TypeDescription, bool) { + typeName = sanitizeProtoName(typeName) + if fd, found := pbdb.revFileDescriptorMap[typeName]; found { + return fd.GetTypeDescription(typeName) + } + return nil, false +} + +// CollectFileDescriptorSet builds a file descriptor set associated with the file where the input +// message is declared. +func CollectFileDescriptorSet(message proto.Message) map[string]protoreflect.FileDescriptor { + fdMap := map[string]protoreflect.FileDescriptor{} + parentFile := message.ProtoReflect().Descriptor().ParentFile() + fdMap[parentFile.Path()] = parentFile + // Initialize list of dependencies + deps := make([]protoreflect.FileImport, parentFile.Imports().Len()) + for i := 0; i < parentFile.Imports().Len(); i++ { + deps[i] = parentFile.Imports().Get(i) + } + // Expand list for new dependencies + for i := 0; i < len(deps); i++ { + dep := deps[i] + if _, found := fdMap[dep.Path()]; found { + continue + } + fdMap[dep.Path()] = dep.FileDescriptor + for j := 0; j < dep.FileDescriptor.Imports().Len(); j++ { + deps = append(deps, dep.FileDescriptor.Imports().Get(j)) + } + } + return fdMap +} + +func init() { + // Describe well-known types to ensure they can always be resolved by the check and interpret + // execution phases. + // + // The following subset of message types is enough to ensure that all well-known types can + // resolved in the runtime, since describing the value results in describing the whole file + // where the message is declared. + DefaultDb.RegisterMessage(&anypb.Any{}) + DefaultDb.RegisterMessage(&durpb.Duration{}) + DefaultDb.RegisterMessage(&emptypb.Empty{}) + DefaultDb.RegisterMessage(&tspb.Timestamp{}) + DefaultDb.RegisterMessage(&structpb.Value{}) + DefaultDb.RegisterMessage(&wrapperspb.BoolValue{}) +} diff --git a/vendor/github.com/google/cel-go/common/types/pb/type.go b/vendor/github.com/google/cel-go/common/types/pb/type.go new file mode 100644 index 000000000..bdd474c95 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/pb/type.go @@ -0,0 +1,614 @@ +// Copyright 2018 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 pb + +import ( + "fmt" + "reflect" + + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + + exprpb "google.golang.org/genproto/googleapis/api/expr/v1alpha1" + dynamicpb "google.golang.org/protobuf/types/dynamicpb" + anypb "google.golang.org/protobuf/types/known/anypb" + dpb "google.golang.org/protobuf/types/known/durationpb" + structpb "google.golang.org/protobuf/types/known/structpb" + tpb "google.golang.org/protobuf/types/known/timestamppb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" +) + +// description is a private interface used to make it convenient to perform type unwrapping at +// the TypeDescription or FieldDescription level. +type description interface { + // Zero returns an empty immutable protobuf message when the description is a protobuf message + // type. + Zero() proto.Message +} + +// newTypeDescription produces a TypeDescription value for the fully-qualified proto type name +// with a given descriptor. +func newTypeDescription(typeName string, desc protoreflect.MessageDescriptor, extensions extensionMap) *TypeDescription { + msgType := dynamicpb.NewMessageType(desc) + msgZero := dynamicpb.NewMessage(desc) + fieldMap := map[string]*FieldDescription{} + fields := desc.Fields() + for i := 0; i < fields.Len(); i++ { + f := fields.Get(i) + fieldMap[string(f.Name())] = newFieldDescription(f) + } + return &TypeDescription{ + typeName: typeName, + desc: desc, + msgType: msgType, + fieldMap: fieldMap, + extensions: extensions, + reflectType: reflectTypeOf(msgZero), + zeroMsg: zeroValueOf(msgZero), + } +} + +// TypeDescription is a collection of type metadata relevant to expression +// checking and evaluation. +type TypeDescription struct { + typeName string + desc protoreflect.MessageDescriptor + msgType protoreflect.MessageType + fieldMap map[string]*FieldDescription + extensions extensionMap + reflectType reflect.Type + zeroMsg proto.Message +} + +// Copy copies the type description with updated references to the Db. +func (td *TypeDescription) Copy(pbdb *Db) *TypeDescription { + return &TypeDescription{ + typeName: td.typeName, + desc: td.desc, + msgType: td.msgType, + fieldMap: td.fieldMap, + extensions: pbdb.extensions, + reflectType: td.reflectType, + zeroMsg: td.zeroMsg, + } +} + +// FieldMap returns a string field name to FieldDescription map. +func (td *TypeDescription) FieldMap() map[string]*FieldDescription { + return td.fieldMap +} + +// FieldByName returns (FieldDescription, true) if the field name is declared within the type. +func (td *TypeDescription) FieldByName(name string) (*FieldDescription, bool) { + fd, found := td.fieldMap[name] + if found { + return fd, true + } + extFieldMap, found := td.extensions[td.typeName] + if !found { + return nil, false + } + fd, found = extFieldMap[name] + return fd, found +} + +// MaybeUnwrap accepts a proto message as input and unwraps it to a primitive CEL type if possible. +// +// This method returns the unwrapped value and 'true', else the original value and 'false'. +func (td *TypeDescription) MaybeUnwrap(msg proto.Message) (any, bool, error) { + return unwrap(td, msg) +} + +// Name returns the fully-qualified name of the type. +func (td *TypeDescription) Name() string { + return string(td.desc.FullName()) +} + +// New returns a mutable proto message +func (td *TypeDescription) New() protoreflect.Message { + return td.msgType.New() +} + +// ReflectType returns the Golang reflect.Type for this type. +func (td *TypeDescription) ReflectType() reflect.Type { + return td.reflectType +} + +// Zero returns the zero proto.Message value for this type. +func (td *TypeDescription) Zero() proto.Message { + return td.zeroMsg +} + +// newFieldDescription creates a new field description from a protoreflect.FieldDescriptor. +func newFieldDescription(fieldDesc protoreflect.FieldDescriptor) *FieldDescription { + var reflectType reflect.Type + var zeroMsg proto.Message + switch fieldDesc.Kind() { + case protoreflect.EnumKind: + reflectType = reflectTypeOf(protoreflect.EnumNumber(0)) + case protoreflect.GroupKind, protoreflect.MessageKind: + zeroMsg = dynamicpb.NewMessage(fieldDesc.Message()) + reflectType = reflectTypeOf(zeroMsg) + default: + reflectType = reflectTypeOf(fieldDesc.Default().Interface()) + if fieldDesc.IsList() { + var elemValue protoreflect.Value + if fieldDesc.IsExtension() { + et := dynamicpb.NewExtensionType(fieldDesc) + elemValue = et.New().List().NewElement() + } else { + parentMsgType := fieldDesc.ContainingMessage() + parentMsg := dynamicpb.NewMessage(parentMsgType) + listField := parentMsg.NewField(fieldDesc).List() + elemValue = listField.NewElement() + } + elem := elemValue.Interface() + switch elemType := elem.(type) { + case protoreflect.Message: + elem = elemType.Interface() + } + reflectType = reflectTypeOf(elem) + } + } + // Ensure the list type is appropriately reflected as a Go-native list. + if fieldDesc.IsList() { + reflectType = reflect.SliceOf(reflectType) + } + var keyType, valType *FieldDescription + if fieldDesc.IsMap() { + keyType = newFieldDescription(fieldDesc.MapKey()) + valType = newFieldDescription(fieldDesc.MapValue()) + } + return &FieldDescription{ + desc: fieldDesc, + KeyType: keyType, + ValueType: valType, + reflectType: reflectType, + zeroMsg: zeroValueOf(zeroMsg), + } +} + +// FieldDescription holds metadata related to fields declared within a type. +type FieldDescription struct { + // KeyType holds the key FieldDescription for map fields. + KeyType *FieldDescription + // ValueType holds the value FieldDescription for map fields. + ValueType *FieldDescription + + desc protoreflect.FieldDescriptor + reflectType reflect.Type + zeroMsg proto.Message +} + +// CheckedType returns the type-definition used at type-check time. +func (fd *FieldDescription) CheckedType() *exprpb.Type { + if fd.desc.IsMap() { + return &exprpb.Type{ + TypeKind: &exprpb.Type_MapType_{ + MapType: &exprpb.Type_MapType{ + KeyType: fd.KeyType.typeDefToType(), + ValueType: fd.ValueType.typeDefToType(), + }, + }, + } + } + if fd.desc.IsList() { + return &exprpb.Type{ + TypeKind: &exprpb.Type_ListType_{ + ListType: &exprpb.Type_ListType{ + ElemType: fd.typeDefToType()}}} + } + return fd.typeDefToType() +} + +// Descriptor returns the protoreflect.FieldDescriptor for this type. +func (fd *FieldDescription) Descriptor() protoreflect.FieldDescriptor { + return fd.desc +} + +// IsSet returns whether the field is set on the target value, per the proto presence conventions +// of proto2 or proto3 accordingly. +// +// This function implements the FieldType.IsSet function contract which can be used to operate on +// more than just protobuf field accesses; however, the target here must be a protobuf.Message. +func (fd *FieldDescription) IsSet(target any) bool { + switch v := target.(type) { + case proto.Message: + pbRef := v.ProtoReflect() + pbDesc := pbRef.Descriptor() + if pbDesc == fd.desc.ContainingMessage() { + // When the target protobuf shares the same message descriptor instance as the field + // descriptor, use the cached field descriptor value. + return pbRef.Has(fd.desc) + } + // Otherwise, fallback to a dynamic lookup of the field descriptor from the target + // instance as an attempt to use the cached field descriptor will result in a panic. + return pbRef.Has(pbDesc.Fields().ByName(protoreflect.Name(fd.Name()))) + default: + return false + } +} + +// GetFrom returns the accessor method associated with the field on the proto generated struct. +// +// If the field is not set, the proto default value is returned instead. +// +// This function implements the FieldType.GetFrom function contract which can be used to operate +// on more than just protobuf field accesses; however, the target here must be a protobuf.Message. +func (fd *FieldDescription) GetFrom(target any) (any, error) { + v, ok := target.(proto.Message) + if !ok { + return nil, fmt.Errorf("unsupported field selection target: (%T)%v", target, target) + } + pbRef := v.ProtoReflect() + pbDesc := pbRef.Descriptor() + var fieldVal any + if pbDesc == fd.desc.ContainingMessage() { + // When the target protobuf shares the same message descriptor instance as the field + // descriptor, use the cached field descriptor value. + fieldVal = pbRef.Get(fd.desc).Interface() + } else { + // Otherwise, fallback to a dynamic lookup of the field descriptor from the target + // instance as an attempt to use the cached field descriptor will result in a panic. + fieldVal = pbRef.Get(pbDesc.Fields().ByName(protoreflect.Name(fd.Name()))).Interface() + } + switch fv := fieldVal.(type) { + // Fast-path return for primitive types. + case bool, []byte, float32, float64, int32, int64, string, uint32, uint64, protoreflect.List: + return fv, nil + case protoreflect.EnumNumber: + return int64(fv), nil + case protoreflect.Map: + // Return a wrapper around the protobuf-reflected Map types which carries additional + // information about the key and value definitions of the map. + return &Map{Map: fv, KeyType: fd.KeyType, ValueType: fd.ValueType}, nil + case protoreflect.Message: + // Make sure to unwrap well-known protobuf types before returning. + unwrapped, _, err := fd.MaybeUnwrapDynamic(fv) + return unwrapped, err + default: + return fv, nil + } +} + +// IsEnum returns true if the field type refers to an enum value. +func (fd *FieldDescription) IsEnum() bool { + return fd.ProtoKind() == protoreflect.EnumKind +} + +// IsMap returns true if the field is of map type. +func (fd *FieldDescription) IsMap() bool { + return fd.desc.IsMap() +} + +// IsMessage returns true if the field is of message type. +func (fd *FieldDescription) IsMessage() bool { + kind := fd.ProtoKind() + return kind == protoreflect.MessageKind || kind == protoreflect.GroupKind +} + +// IsOneof returns true if the field is declared within a oneof block. +func (fd *FieldDescription) IsOneof() bool { + return fd.desc.ContainingOneof() != nil +} + +// IsList returns true if the field is a repeated value. +// +// This method will also return true for map values, so check whether the +// field is also a map. +func (fd *FieldDescription) IsList() bool { + return fd.desc.IsList() +} + +// MaybeUnwrapDynamic takes the reflected protoreflect.Message and determines whether the +// value can be unwrapped to a more primitive CEL type. +// +// This function returns the unwrapped value and 'true' on success, or the original value +// and 'false' otherwise. +func (fd *FieldDescription) MaybeUnwrapDynamic(msg protoreflect.Message) (any, bool, error) { + return unwrapDynamic(fd, msg) +} + +// Name returns the CamelCase name of the field within the proto-based struct. +func (fd *FieldDescription) Name() string { + return string(fd.desc.Name()) +} + +// ProtoKind returns the protobuf reflected kind of the field. +func (fd *FieldDescription) ProtoKind() protoreflect.Kind { + return fd.desc.Kind() +} + +// ReflectType returns the Golang reflect.Type for this field. +func (fd *FieldDescription) ReflectType() reflect.Type { + return fd.reflectType +} + +// String returns the fully qualified name of the field within its type as well as whether the +// field occurs within a oneof. +func (fd *FieldDescription) String() string { + return fmt.Sprintf("%v.%s `oneof=%t`", fd.desc.ContainingMessage().FullName(), fd.Name(), fd.IsOneof()) +} + +// Zero returns the zero value for the protobuf message represented by this field. +// +// If the field is not a proto.Message type, the zero value is nil. +func (fd *FieldDescription) Zero() proto.Message { + return fd.zeroMsg +} + +func (fd *FieldDescription) typeDefToType() *exprpb.Type { + if fd.IsMessage() { + msgType := string(fd.desc.Message().FullName()) + if wk, found := CheckedWellKnowns[msgType]; found { + return wk + } + return checkedMessageType(msgType) + } + if fd.IsEnum() { + return checkedInt + } + return CheckedPrimitives[fd.ProtoKind()] +} + +// Map wraps the protoreflect.Map object with a key and value FieldDescription for use in +// retrieving individual elements within CEL value data types. +type Map struct { + protoreflect.Map + KeyType *FieldDescription + ValueType *FieldDescription +} + +func checkedMessageType(name string) *exprpb.Type { + return &exprpb.Type{ + TypeKind: &exprpb.Type_MessageType{MessageType: name}} +} + +func checkedPrimitive(primitive exprpb.Type_PrimitiveType) *exprpb.Type { + return &exprpb.Type{ + TypeKind: &exprpb.Type_Primitive{Primitive: primitive}} +} + +func checkedWellKnown(wellKnown exprpb.Type_WellKnownType) *exprpb.Type { + return &exprpb.Type{ + TypeKind: &exprpb.Type_WellKnown{WellKnown: wellKnown}} +} + +func checkedWrap(t *exprpb.Type) *exprpb.Type { + return &exprpb.Type{ + TypeKind: &exprpb.Type_Wrapper{Wrapper: t.GetPrimitive()}} +} + +// unwrap unwraps the provided proto.Message value, potentially based on the description if the +// input message is a *dynamicpb.Message which obscures the typing information from Go. +// +// Returns the unwrapped value and 'true' if unwrapped, otherwise the input value and 'false'. +func unwrap(desc description, msg proto.Message) (any, bool, error) { + switch v := msg.(type) { + case *anypb.Any: + dynMsg, err := v.UnmarshalNew() + if err != nil { + return v, false, err + } + return unwrapDynamic(desc, dynMsg.ProtoReflect()) + case *dynamicpb.Message: + return unwrapDynamic(desc, v) + case *dpb.Duration: + return v.AsDuration(), true, nil + case *tpb.Timestamp: + return v.AsTime(), true, nil + case *structpb.Value: + switch v.GetKind().(type) { + case *structpb.Value_BoolValue: + return v.GetBoolValue(), true, nil + case *structpb.Value_ListValue: + return v.GetListValue(), true, nil + case *structpb.Value_NullValue: + return structpb.NullValue_NULL_VALUE, true, nil + case *structpb.Value_NumberValue: + return v.GetNumberValue(), true, nil + case *structpb.Value_StringValue: + return v.GetStringValue(), true, nil + case *structpb.Value_StructValue: + return v.GetStructValue(), true, nil + default: + return structpb.NullValue_NULL_VALUE, true, nil + } + case *wrapperspb.BoolValue: + if v == nil { + return nil, true, nil + } + return v.GetValue(), true, nil + case *wrapperspb.BytesValue: + if v == nil { + return nil, true, nil + } + return v.GetValue(), true, nil + case *wrapperspb.DoubleValue: + if v == nil { + return nil, true, nil + } + return v.GetValue(), true, nil + case *wrapperspb.FloatValue: + if v == nil { + return nil, true, nil + } + return float64(v.GetValue()), true, nil + case *wrapperspb.Int32Value: + if v == nil { + return nil, true, nil + } + return int64(v.GetValue()), true, nil + case *wrapperspb.Int64Value: + if v == nil { + return nil, true, nil + } + return v.GetValue(), true, nil + case *wrapperspb.StringValue: + if v == nil { + return nil, true, nil + } + return v.GetValue(), true, nil + case *wrapperspb.UInt32Value: + if v == nil { + return nil, true, nil + } + return uint64(v.GetValue()), true, nil + case *wrapperspb.UInt64Value: + if v == nil { + return nil, true, nil + } + return v.GetValue(), true, nil + } + return msg, false, nil +} + +// unwrapDynamic unwraps a reflected protobuf Message value. +// +// Returns the unwrapped value and 'true' if unwrapped, otherwise the input value and 'false'. +func unwrapDynamic(desc description, refMsg protoreflect.Message) (any, bool, error) { + msg := refMsg.Interface() + if !refMsg.IsValid() { + msg = desc.Zero() + } + // In order to ensure that these wrapped types match the expectations of the CEL type system + // the dynamicpb.Message must be merged with an protobuf instance of the well-known type value. + typeName := string(refMsg.Descriptor().FullName()) + switch typeName { + case "google.protobuf.Any": + // Note, Any values require further unwrapping; however, this unwrapping may or may not + // be to a well-known type. If the unwrapped value is a well-known type it will be further + // unwrapped before being returned to the caller. Otherwise, the dynamic protobuf object + // represented by the Any will be returned. + unwrappedAny := &anypb.Any{} + err := Merge(unwrappedAny, msg) + if err != nil { + return nil, false, fmt.Errorf("unwrap dynamic field failed: %v", err) + } + dynMsg, err := unwrappedAny.UnmarshalNew() + if err != nil { + // Allow the error to move further up the stack as it should result in an type + // conversion error if the caller does not recover it somehow. + return nil, false, fmt.Errorf("unmarshal dynamic any failed: %v", err) + } + // Attempt to unwrap the dynamic type, otherwise return the dynamic message. + unwrapped, nested, err := unwrapDynamic(desc, dynMsg.ProtoReflect()) + if err == nil && nested { + return unwrapped, true, nil + } + return dynMsg, true, err + case "google.protobuf.BoolValue", + "google.protobuf.BytesValue", + "google.protobuf.DoubleValue", + "google.protobuf.FloatValue", + "google.protobuf.Int32Value", + "google.protobuf.Int64Value", + "google.protobuf.StringValue", + "google.protobuf.UInt32Value", + "google.protobuf.UInt64Value": + // The msg value is ignored when dealing with wrapper types as they have a null or value + // behavior, rather than the standard zero value behavior of other proto message types. + if !refMsg.IsValid() { + return structpb.NullValue_NULL_VALUE, true, nil + } + valueField := refMsg.Descriptor().Fields().ByName("value") + return refMsg.Get(valueField).Interface(), true, nil + case "google.protobuf.Duration": + unwrapped := &dpb.Duration{} + err := Merge(unwrapped, msg) + if err != nil { + return nil, false, err + } + return unwrapped.AsDuration(), true, nil + case "google.protobuf.ListValue": + unwrapped := &structpb.ListValue{} + err := Merge(unwrapped, msg) + if err != nil { + return nil, false, err + } + return unwrapped, true, nil + case "google.protobuf.NullValue": + return structpb.NullValue_NULL_VALUE, true, nil + case "google.protobuf.Struct": + unwrapped := &structpb.Struct{} + err := Merge(unwrapped, msg) + if err != nil { + return nil, false, err + } + return unwrapped, true, nil + case "google.protobuf.Timestamp": + unwrapped := &tpb.Timestamp{} + err := Merge(unwrapped, msg) + if err != nil { + return nil, false, err + } + return unwrapped.AsTime(), true, nil + case "google.protobuf.Value": + unwrapped := &structpb.Value{} + err := Merge(unwrapped, msg) + if err != nil { + return nil, false, err + } + return unwrap(desc, unwrapped) + } + return msg, false, nil +} + +// reflectTypeOf intercepts the reflect.Type call to ensure that dynamicpb.Message types preserve +// well-known protobuf reflected types expected by the CEL type system. +func reflectTypeOf(val any) reflect.Type { + switch v := val.(type) { + case proto.Message: + return reflect.TypeOf(zeroValueOf(v)) + default: + return reflect.TypeOf(v) + } +} + +// zeroValueOf will return the strongest possible proto.Message representing the default protobuf +// message value of the input msg type. +func zeroValueOf(msg proto.Message) proto.Message { + if msg == nil { + return nil + } + typeName := string(msg.ProtoReflect().Descriptor().FullName()) + zeroVal, found := zeroValueMap[typeName] + if found { + return zeroVal + } + return msg +} + +var ( + jsonValueTypeURL = "types.googleapis.com/google.protobuf.Value" + + zeroValueMap = map[string]proto.Message{ + "google.protobuf.Any": &anypb.Any{TypeUrl: jsonValueTypeURL}, + "google.protobuf.Duration": &dpb.Duration{}, + "google.protobuf.ListValue": &structpb.ListValue{}, + "google.protobuf.Struct": &structpb.Struct{}, + "google.protobuf.Timestamp": &tpb.Timestamp{}, + "google.protobuf.Value": &structpb.Value{}, + "google.protobuf.BoolValue": wrapperspb.Bool(false), + "google.protobuf.BytesValue": wrapperspb.Bytes([]byte{}), + "google.protobuf.DoubleValue": wrapperspb.Double(0.0), + "google.protobuf.FloatValue": wrapperspb.Float(0.0), + "google.protobuf.Int32Value": wrapperspb.Int32(0), + "google.protobuf.Int64Value": wrapperspb.Int64(0), + "google.protobuf.StringValue": wrapperspb.String(""), + "google.protobuf.UInt32Value": wrapperspb.UInt32(0), + "google.protobuf.UInt64Value": wrapperspb.UInt64(0), + } +) diff --git a/vendor/github.com/google/cel-go/common/types/provider.go b/vendor/github.com/google/cel-go/common/types/provider.go new file mode 100644 index 000000000..936a4e28b --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/provider.go @@ -0,0 +1,766 @@ +// Copyright 2018 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 types + +import ( + "fmt" + "reflect" + "time" + + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + + "github.com/google/cel-go/common/types/pb" + "github.com/google/cel-go/common/types/ref" + "github.com/google/cel-go/common/types/traits" + + exprpb "google.golang.org/genproto/googleapis/api/expr/v1alpha1" + anypb "google.golang.org/protobuf/types/known/anypb" + dpb "google.golang.org/protobuf/types/known/durationpb" + structpb "google.golang.org/protobuf/types/known/structpb" + tpb "google.golang.org/protobuf/types/known/timestamppb" +) + +// Adapter converts native Go values of varying type and complexity to equivalent CEL values. +type Adapter = ref.TypeAdapter + +// Provider specifies functions for creating new object instances and for resolving +// enum values by name. +type Provider interface { + // EnumValue returns the numeric value of the given enum value name. + EnumValue(enumName string) ref.Val + + // FindIdent takes a qualified identifier name and returns a ref.Val if one exists. + FindIdent(identName string) (ref.Val, bool) + + // FindStructType returns the Type give a qualified type name. + // + // For historical reasons, only struct types are expected to be returned through this + // method, and the type values are expected to be wrapped in a TypeType instance using + // TypeTypeWithParam(). + // + // Returns false if not found. + FindStructType(structType string) (*Type, bool) + + // FindStructFieldNames returns thet field names associated with the type, if the type + // is found. + FindStructFieldNames(structType string) ([]string, bool) + + // FieldStructFieldType returns the field type for a checked type value. Returns + // false if the field could not be found. + FindStructFieldType(structType, fieldName string) (*FieldType, bool) + + // NewValue creates a new type value from a qualified name and map of field + // name to value. + // + // Note, for each value, the Val.ConvertToNative function will be invoked + // to convert the Val to the field's native type. If an error occurs during + // conversion, the NewValue will be a types.Err. + NewValue(structType string, fields map[string]ref.Val) ref.Val +} + +// FieldType represents a field's type value and whether that field supports presence detection. +type FieldType struct { + // Type of the field as a CEL native type value. + Type *Type + + // IsSet indicates whether the field is set on an input object. + IsSet ref.FieldTester + + // GetFrom retrieves the field value on the input object, if set. + GetFrom ref.FieldGetter +} + +// Registry provides type information for a set of registered types. +type Registry struct { + revTypeMap map[string]*Type + pbdb *pb.Db +} + +// NewRegistry accepts a list of proto message instances and returns a type +// provider which can create new instances of the provided message or any +// message that proto depends upon in its FileDescriptor. +func NewRegistry(types ...proto.Message) (*Registry, error) { + p := &Registry{ + revTypeMap: make(map[string]*Type), + pbdb: pb.NewDb(), + } + err := p.RegisterType( + BoolType, + BytesType, + DoubleType, + DurationType, + IntType, + ListType, + MapType, + NullType, + StringType, + TimestampType, + TypeType, + UintType) + if err != nil { + return nil, err + } + // This block ensures that the well-known protobuf types are registered by default. + for _, fd := range p.pbdb.FileDescriptions() { + err = p.registerAllTypes(fd) + if err != nil { + return nil, err + } + } + for _, msgType := range types { + err = p.RegisterMessage(msgType) + if err != nil { + return nil, err + } + } + return p, nil +} + +// NewEmptyRegistry returns a registry which is completely unconfigured. +func NewEmptyRegistry() *Registry { + return &Registry{ + revTypeMap: make(map[string]*Type), + pbdb: pb.NewDb(), + } +} + +// Copy copies the current state of the registry into its own memory space. +func (p *Registry) Copy() *Registry { + copy := &Registry{ + revTypeMap: make(map[string]*Type), + pbdb: p.pbdb.Copy(), + } + for k, v := range p.revTypeMap { + copy.revTypeMap[k] = v + } + return copy +} + +// EnumValue returns the numeric value of the given enum value name. +func (p *Registry) EnumValue(enumName string) ref.Val { + enumVal, found := p.pbdb.DescribeEnum(enumName) + if !found { + return NewErr("unknown enum name '%s'", enumName) + } + return Int(enumVal.Value()) +} + +// FindFieldType returns the field type for a checked type value. Returns false if +// the field could not be found. +// +// Deprecated: use FindStructFieldType +func (p *Registry) FindFieldType(structType, fieldName string) (*ref.FieldType, bool) { + msgType, found := p.pbdb.DescribeType(structType) + if !found { + return nil, false + } + field, found := msgType.FieldByName(fieldName) + if !found { + return nil, false + } + return &ref.FieldType{ + Type: field.CheckedType(), + IsSet: field.IsSet, + GetFrom: field.GetFrom}, true +} + +// FindStructFieldNames returns the set of field names for the given struct type, +// if the type exists in the registry. +func (p *Registry) FindStructFieldNames(structType string) ([]string, bool) { + msgType, found := p.pbdb.DescribeType(structType) + if !found { + return []string{}, false + } + fieldMap := msgType.FieldMap() + fields := make([]string, len(fieldMap)) + idx := 0 + for f := range fieldMap { + fields[idx] = f + idx++ + } + return fields, true +} + +// FindStructFieldType returns the field type for a checked type value. Returns +// false if the field could not be found. +func (p *Registry) FindStructFieldType(structType, fieldName string) (*FieldType, bool) { + msgType, found := p.pbdb.DescribeType(structType) + if !found { + return nil, false + } + field, found := msgType.FieldByName(fieldName) + if !found { + return nil, false + } + return &FieldType{ + Type: fieldDescToCELType(field), + IsSet: field.IsSet, + GetFrom: field.GetFrom}, true +} + +// FindIdent takes a qualified identifier name and returns a ref.Val if one exists. +func (p *Registry) FindIdent(identName string) (ref.Val, bool) { + if t, found := p.revTypeMap[identName]; found { + return t, true + } + if enumVal, found := p.pbdb.DescribeEnum(identName); found { + return Int(enumVal.Value()), true + } + return nil, false +} + +// FindType looks up the Type given a qualified typeName. Returns false if not found. +// +// Deprecated: use FindStructType +func (p *Registry) FindType(structType string) (*exprpb.Type, bool) { + if _, found := p.pbdb.DescribeType(structType); !found { + return nil, false + } + if structType != "" && structType[0] == '.' { + structType = structType[1:] + } + return &exprpb.Type{ + TypeKind: &exprpb.Type_Type{ + Type: &exprpb.Type{ + TypeKind: &exprpb.Type_MessageType{ + MessageType: structType}}}}, true +} + +// FindStructType returns the Type give a qualified type name. +// +// For historical reasons, only struct types are expected to be returned through this +// method, and the type values are expected to be wrapped in a TypeType instance using +// TypeTypeWithParam(). +// +// Returns false if not found. +func (p *Registry) FindStructType(structType string) (*Type, bool) { + if _, found := p.pbdb.DescribeType(structType); !found { + return nil, false + } + if structType != "" && structType[0] == '.' { + structType = structType[1:] + } + return NewTypeTypeWithParam(NewObjectType(structType)), true +} + +// NewValue creates a new type value from a qualified name and map of field +// name to value. +// +// Note, for each value, the Val.ConvertToNative function will be invoked +// to convert the Val to the field's native type. If an error occurs during +// conversion, the NewValue will be a types.Err. +func (p *Registry) NewValue(structType string, fields map[string]ref.Val) ref.Val { + td, found := p.pbdb.DescribeType(structType) + if !found { + return NewErr("unknown type '%s'", structType) + } + msg := td.New() + fieldMap := td.FieldMap() + for name, value := range fields { + field, found := fieldMap[name] + if !found { + return NewErr("no such field: %s", name) + } + err := msgSetField(msg, field, value) + if err != nil { + return &Err{error: err} + } + } + return p.NativeToValue(msg.Interface()) +} + +// RegisterDescriptor registers the contents of a protocol buffer `FileDescriptor`. +func (p *Registry) RegisterDescriptor(fileDesc protoreflect.FileDescriptor) error { + fd, err := p.pbdb.RegisterDescriptor(fileDesc) + if err != nil { + return err + } + return p.registerAllTypes(fd) +} + +// RegisterMessage registers a protocol buffer message and its dependencies. +func (p *Registry) RegisterMessage(message proto.Message) error { + fd, err := p.pbdb.RegisterMessage(message) + if err != nil { + return err + } + return p.registerAllTypes(fd) +} + +// RegisterType registers a type value with the provider which ensures the provider is aware of how to +// map the type to an identifier. +// +// If the `ref.Type` value is a `*types.Type` it will be registered directly by its runtime type name. +// If the `ref.Type` value is not a `*types.Type` instance, a `*types.Type` instance which reflects the +// traits present on the input and the runtime type name. By default this foreign type will be treated +// as a types.StructKind. To avoid potential issues where the `ref.Type` values does not match the +// generated `*types.Type` instance, consider always using the `*types.Type` to represent type extensions +// to CEL, even when they're not based on protobuf types. +func (p *Registry) RegisterType(types ...ref.Type) error { + for _, t := range types { + celType := maybeForeignType(t) + existing, found := p.revTypeMap[t.TypeName()] + if !found { + p.revTypeMap[t.TypeName()] = celType + continue + } + if !existing.IsEquivalentType(celType) { + return fmt.Errorf("type registration conflict. found: %v, input: %v", existing, celType) + } + if existing.traitMask != celType.traitMask { + return fmt.Errorf( + "type registered with conflicting traits: %v with traits %v, input: %v", + existing.TypeName(), existing.traitMask, celType.traitMask) + } + } + return nil +} + +// NativeToValue converts various "native" types to ref.Val with this specific implementation +// providing support for custom proto-based types. +// +// This method should be the inverse of ref.Val.ConvertToNative. +func (p *Registry) NativeToValue(value any) ref.Val { + if val, found := nativeToValue(p, value); found { + return val + } + switch v := value.(type) { + case proto.Message: + typeName := string(v.ProtoReflect().Descriptor().FullName()) + td, found := p.pbdb.DescribeType(typeName) + if !found { + return NewErr("unknown type: '%s'", typeName) + } + unwrapped, isUnwrapped, err := td.MaybeUnwrap(v) + if err != nil { + return UnsupportedRefValConversionErr(v) + } + if isUnwrapped { + return p.NativeToValue(unwrapped) + } + typeVal, found := p.FindIdent(typeName) + if !found { + return NewErr("unknown type: '%s'", typeName) + } + return NewObject(p, td, typeVal, v) + case *pb.Map: + return NewProtoMap(p, v) + case protoreflect.List: + return NewProtoList(p, v) + case protoreflect.Message: + return p.NativeToValue(v.Interface()) + case protoreflect.Value: + return p.NativeToValue(v.Interface()) + } + return UnsupportedRefValConversionErr(value) +} + +func (p *Registry) registerAllTypes(fd *pb.FileDescription) error { + for _, typeName := range fd.GetTypeNames() { + // skip well-known type names since they're automatically sanitized + // during NewObjectType() calls. + if _, found := checkedWellKnowns[typeName]; found { + continue + } + err := p.RegisterType(NewObjectTypeValue(typeName)) + if err != nil { + return err + } + } + return nil +} + +func fieldDescToCELType(field *pb.FieldDescription) *Type { + if field.IsMap() { + return NewMapType( + singularFieldDescToCELType(field.KeyType), + singularFieldDescToCELType(field.ValueType)) + } + if field.IsList() { + return NewListType(singularFieldDescToCELType(field)) + } + return singularFieldDescToCELType(field) +} + +func singularFieldDescToCELType(field *pb.FieldDescription) *Type { + if field.IsMessage() { + return NewObjectType(string(field.Descriptor().Message().FullName())) + } + if field.IsEnum() { + return IntType + } + return ProtoCELPrimitives[field.ProtoKind()] +} + +// defaultTypeAdapter converts go native types to CEL values. +type defaultTypeAdapter struct{} + +var ( + // DefaultTypeAdapter adapts canonical CEL types from their equivalent Go values. + DefaultTypeAdapter = &defaultTypeAdapter{} +) + +// NativeToValue implements the ref.TypeAdapter interface. +func (a *defaultTypeAdapter) NativeToValue(value any) ref.Val { + if val, found := nativeToValue(a, value); found { + return val + } + return UnsupportedRefValConversionErr(value) +} + +// nativeToValue returns the converted (ref.Val, true) of a conversion is found, +// otherwise (nil, false) +func nativeToValue(a Adapter, value any) (ref.Val, bool) { + switch v := value.(type) { + case nil: + return NullValue, true + case *Bool: + if v != nil { + return *v, true + } + case *Bytes: + if v != nil { + return *v, true + } + case *Double: + if v != nil { + return *v, true + } + case *Int: + if v != nil { + return *v, true + } + case *String: + if v != nil { + return *v, true + } + case *Uint: + if v != nil { + return *v, true + } + case bool: + return Bool(v), true + case int: + return Int(v), true + case int32: + return Int(v), true + case int64: + return Int(v), true + case uint: + return Uint(v), true + case uint32: + return Uint(v), true + case uint64: + return Uint(v), true + case float32: + return Double(v), true + case float64: + return Double(v), true + case string: + return String(v), true + case *dpb.Duration: + return Duration{Duration: v.AsDuration()}, true + case time.Duration: + return Duration{Duration: v}, true + case *tpb.Timestamp: + return Timestamp{Time: v.AsTime()}, true + case time.Time: + return Timestamp{Time: v}, true + case *bool: + if v != nil { + return Bool(*v), true + } + case *float32: + if v != nil { + return Double(*v), true + } + case *float64: + if v != nil { + return Double(*v), true + } + case *int: + if v != nil { + return Int(*v), true + } + case *int32: + if v != nil { + return Int(*v), true + } + case *int64: + if v != nil { + return Int(*v), true + } + case *string: + if v != nil { + return String(*v), true + } + case *uint: + if v != nil { + return Uint(*v), true + } + case *uint32: + if v != nil { + return Uint(*v), true + } + case *uint64: + if v != nil { + return Uint(*v), true + } + case []byte: + return Bytes(v), true + // specializations for common lists types. + case []string: + return NewStringList(a, v), true + case []ref.Val: + return NewRefValList(a, v), true + // specializations for common map types. + case map[string]string: + return NewStringStringMap(a, v), true + case map[string]any: + return NewStringInterfaceMap(a, v), true + case map[ref.Val]ref.Val: + return NewRefValMap(a, v), true + // additional specializations may be added upon request / need. + case *anypb.Any: + if v == nil { + return UnsupportedRefValConversionErr(v), true + } + unpackedAny, err := v.UnmarshalNew() + if err != nil { + return NewErr("anypb.UnmarshalNew() failed for type %q: %v", v.GetTypeUrl(), err), true + } + return a.NativeToValue(unpackedAny), true + case *structpb.NullValue, structpb.NullValue: + return NullValue, true + case *structpb.ListValue: + return NewJSONList(a, v), true + case *structpb.Struct: + return NewJSONStruct(a, v), true + case ref.Val: + return v, true + case protoreflect.EnumNumber: + return Int(v), true + case proto.Message: + if v == nil { + return UnsupportedRefValConversionErr(v), true + } + typeName := string(v.ProtoReflect().Descriptor().FullName()) + td, found := pb.DefaultDb.DescribeType(typeName) + if !found { + return nil, false + } + val, unwrapped, err := td.MaybeUnwrap(v) + if err != nil { + return UnsupportedRefValConversionErr(v), true + } + if !unwrapped { + return nil, false + } + return a.NativeToValue(val), true + // Note: dynamicpb.Message implements the proto.Message _and_ protoreflect.Message interfaces + // which means that this case must appear after handling a proto.Message type. + case protoreflect.Message: + return a.NativeToValue(v.Interface()), true + default: + refValue := reflect.ValueOf(v) + if refValue.Kind() == reflect.Ptr { + if refValue.IsNil() { + return UnsupportedRefValConversionErr(v), true + } + refValue = refValue.Elem() + } + refKind := refValue.Kind() + switch refKind { + case reflect.Array, reflect.Slice: + if refValue.Type().Elem() == reflect.TypeOf(byte(0)) { + if refValue.CanAddr() { + return Bytes(refValue.Bytes()), true + } + tmp := reflect.New(refValue.Type()) + tmp.Elem().Set(refValue) + return Bytes(tmp.Elem().Bytes()), true + } + return NewDynamicList(a, v), true + case reflect.Map: + return NewDynamicMap(a, v), true + // type aliases of primitive types cannot be asserted as that type, but rather need + // to be downcast to int32 before being converted to a CEL representation. + case reflect.Bool: + boolTupe := reflect.TypeOf(false) + return Bool(refValue.Convert(boolTupe).Interface().(bool)), true + case reflect.Int: + intType := reflect.TypeOf(int(0)) + return Int(refValue.Convert(intType).Interface().(int)), true + case reflect.Int8: + intType := reflect.TypeOf(int8(0)) + return Int(refValue.Convert(intType).Interface().(int8)), true + case reflect.Int16: + intType := reflect.TypeOf(int16(0)) + return Int(refValue.Convert(intType).Interface().(int16)), true + case reflect.Int32: + intType := reflect.TypeOf(int32(0)) + return Int(refValue.Convert(intType).Interface().(int32)), true + case reflect.Int64: + intType := reflect.TypeOf(int64(0)) + return Int(refValue.Convert(intType).Interface().(int64)), true + case reflect.Uint: + uintType := reflect.TypeOf(uint(0)) + return Uint(refValue.Convert(uintType).Interface().(uint)), true + case reflect.Uint8: + uintType := reflect.TypeOf(uint8(0)) + return Uint(refValue.Convert(uintType).Interface().(uint8)), true + case reflect.Uint16: + uintType := reflect.TypeOf(uint16(0)) + return Uint(refValue.Convert(uintType).Interface().(uint16)), true + case reflect.Uint32: + uintType := reflect.TypeOf(uint32(0)) + return Uint(refValue.Convert(uintType).Interface().(uint32)), true + case reflect.Uint64: + uintType := reflect.TypeOf(uint64(0)) + return Uint(refValue.Convert(uintType).Interface().(uint64)), true + case reflect.Float32: + doubleType := reflect.TypeOf(float32(0)) + return Double(refValue.Convert(doubleType).Interface().(float32)), true + case reflect.Float64: + doubleType := reflect.TypeOf(float64(0)) + return Double(refValue.Convert(doubleType).Interface().(float64)), true + case reflect.String: + stringType := reflect.TypeOf("") + return String(refValue.Convert(stringType).Interface().(string)), true + } + } + return nil, false +} + +func msgSetField(target protoreflect.Message, field *pb.FieldDescription, val ref.Val) error { + if field.IsList() { + lv := target.NewField(field.Descriptor()) + list, ok := val.(traits.Lister) + if !ok { + return unsupportedTypeConversionError(field, val) + } + err := msgSetListField(lv.List(), field, list) + if err != nil { + return err + } + target.Set(field.Descriptor(), lv) + return nil + } + if field.IsMap() { + mv := target.NewField(field.Descriptor()) + mp, ok := val.(traits.Mapper) + if !ok { + return unsupportedTypeConversionError(field, val) + } + err := msgSetMapField(mv.Map(), field, mp) + if err != nil { + return err + } + target.Set(field.Descriptor(), mv) + return nil + } + v, err := val.ConvertToNative(field.ReflectType()) + if err != nil { + return fieldTypeConversionError(field, err) + } + if v == nil { + return nil + } + switch pv := v.(type) { + case proto.Message: + v = pv.ProtoReflect() + } + target.Set(field.Descriptor(), protoreflect.ValueOf(v)) + return nil +} + +func msgSetListField(target protoreflect.List, listField *pb.FieldDescription, listVal traits.Lister) error { + elemReflectType := listField.ReflectType().Elem() + for i := Int(0); i < listVal.Size().(Int); i++ { + elem := listVal.Get(i) + elemVal, err := elem.ConvertToNative(elemReflectType) + if err != nil { + return fieldTypeConversionError(listField, err) + } + if elemVal == nil { + continue + } + switch ev := elemVal.(type) { + case proto.Message: + elemVal = ev.ProtoReflect() + } + target.Append(protoreflect.ValueOf(elemVal)) + } + return nil +} + +func msgSetMapField(target protoreflect.Map, mapField *pb.FieldDescription, mapVal traits.Mapper) error { + targetKeyType := mapField.KeyType.ReflectType() + targetValType := mapField.ValueType.ReflectType() + it := mapVal.Iterator() + for it.HasNext() == True { + key := it.Next() + val := mapVal.Get(key) + k, err := key.ConvertToNative(targetKeyType) + if err != nil { + return fieldTypeConversionError(mapField, err) + } + v, err := val.ConvertToNative(targetValType) + if err != nil { + return fieldTypeConversionError(mapField, err) + } + if v == nil { + continue + } + switch pv := v.(type) { + case proto.Message: + v = pv.ProtoReflect() + } + target.Set(protoreflect.ValueOf(k).MapKey(), protoreflect.ValueOf(v)) + } + return nil +} + +func unsupportedTypeConversionError(field *pb.FieldDescription, val ref.Val) error { + msgName := field.Descriptor().ContainingMessage().FullName() + return fmt.Errorf("unsupported field type for %v.%v: %v", msgName, field.Name(), val.Type()) +} + +func fieldTypeConversionError(field *pb.FieldDescription, err error) error { + msgName := field.Descriptor().ContainingMessage().FullName() + return fmt.Errorf("field type conversion error for %v.%v value type: %v", msgName, field.Name(), err) +} + +var ( + // ProtoCELPrimitives provides a map from the protoreflect Kind to the equivalent CEL type. + ProtoCELPrimitives = map[protoreflect.Kind]*Type{ + protoreflect.BoolKind: BoolType, + protoreflect.BytesKind: BytesType, + protoreflect.DoubleKind: DoubleType, + protoreflect.FloatKind: DoubleType, + protoreflect.Int32Kind: IntType, + protoreflect.Int64Kind: IntType, + protoreflect.Sint32Kind: IntType, + protoreflect.Sint64Kind: IntType, + protoreflect.Uint32Kind: UintType, + protoreflect.Uint64Kind: UintType, + protoreflect.Fixed32Kind: UintType, + protoreflect.Fixed64Kind: UintType, + protoreflect.Sfixed32Kind: IntType, + protoreflect.Sfixed64Kind: IntType, + protoreflect.StringKind: StringType, + } +) diff --git a/vendor/github.com/google/cel-go/common/types/ref/BUILD.bazel b/vendor/github.com/google/cel-go/common/types/ref/BUILD.bazel new file mode 100644 index 000000000..79330c332 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/ref/BUILD.bazel @@ -0,0 +1,20 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +package( + default_visibility = ["//visibility:public"], + licenses = ["notice"], # Apache 2.0 +) + +go_library( + name = "go_default_library", + srcs = [ + "provider.go", + "reference.go", + ], + importpath = "github.com/google/cel-go/common/types/ref", + deps = [ + "@org_golang_google_genproto_googleapis_api//expr/v1alpha1:go_default_library", + "@org_golang_google_protobuf//proto:go_default_library", + "@org_golang_google_protobuf//reflect/protoreflect:go_default_library", + ], +) diff --git a/vendor/github.com/google/cel-go/common/types/ref/provider.go b/vendor/github.com/google/cel-go/common/types/ref/provider.go new file mode 100644 index 000000000..b9820023d --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/ref/provider.go @@ -0,0 +1,102 @@ +// Copyright 2018 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 ref + +import ( + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + + exprpb "google.golang.org/genproto/googleapis/api/expr/v1alpha1" +) + +// TypeProvider specifies functions for creating new object instances and for +// resolving enum values by name. +// +// Deprecated: use types.Provider +type TypeProvider interface { + // EnumValue returns the numeric value of the given enum value name. + EnumValue(enumName string) Val + + // FindIdent takes a qualified identifier name and returns a Value if one exists. + FindIdent(identName string) (Val, bool) + + // FindType looks up the Type given a qualified typeName. Returns false if not found. + FindType(typeName string) (*exprpb.Type, bool) + + // FieldFieldType returns the field type for a checked type value. Returns false if + // the field could not be found. + FindFieldType(messageType, fieldName string) (*FieldType, bool) + + // NewValue creates a new type value from a qualified name and map of field name + // to value. + // + // Note, for each value, the Val.ConvertToNative function will be invoked to convert + // the Val to the field's native type. If an error occurs during conversion, the + // NewValue will be a types.Err. + NewValue(typeName string, fields map[string]Val) Val +} + +// TypeAdapter converts native Go values of varying type and complexity to equivalent CEL values. +// +// Deprecated: use types.Adapter +type TypeAdapter interface { + // NativeToValue converts the input `value` to a CEL `ref.Val`. + NativeToValue(value any) Val +} + +// TypeRegistry allows third-parties to add custom types to CEL. Not all `TypeProvider` +// implementations support type-customization, so these features are optional. However, a +// `TypeRegistry` should be a `TypeProvider` and a `TypeAdapter` to ensure that types +// which are registered can be converted to CEL representations. +// +// Deprecated: use types.Registry +type TypeRegistry interface { + TypeAdapter + TypeProvider + + // RegisterDescriptor registers the contents of a protocol buffer `FileDescriptor`. + RegisterDescriptor(fileDesc protoreflect.FileDescriptor) error + + // RegisterMessage registers a protocol buffer message and its dependencies. + RegisterMessage(message proto.Message) error + + // RegisterType registers a type value with the provider which ensures the + // provider is aware of how to map the type to an identifier. + // + // If a type is provided more than once with an alternative definition, the + // call will result in an error. + RegisterType(types ...Type) error +} + +// FieldType represents a field's type value and whether that field supports +// presence detection. +// +// Deprecated: use types.FieldType +type FieldType struct { + // Type of the field as a protobuf type value. + Type *exprpb.Type + + // IsSet indicates whether the field is set on an input object. + IsSet FieldTester + + // GetFrom retrieves the field value on the input object, if set. + GetFrom FieldGetter +} + +// FieldTester is used to test field presence on an input object. +type FieldTester func(target any) bool + +// FieldGetter is used to get the field value from an input object, if set. +type FieldGetter func(target any) (any, error) diff --git a/vendor/github.com/google/cel-go/common/types/ref/reference.go b/vendor/github.com/google/cel-go/common/types/ref/reference.go new file mode 100644 index 000000000..e0d58145c --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/ref/reference.go @@ -0,0 +1,63 @@ +// Copyright 2018 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 ref contains the reference interfaces used throughout the types components. +package ref + +import ( + "reflect" +) + +// Type interface indicate the name of a given type. +type Type interface { + // HasTrait returns whether the type has a given trait associated with it. + // + // See common/types/traits/traits.go for a list of supported traits. + HasTrait(trait int) bool + + // TypeName returns the qualified type name of the type. + // + // The type name is also used as the type's identifier name at type-check and interpretation time. + TypeName() string +} + +// Val interface defines the functions supported by all expression values. +// Val implementations may specialize the behavior of the value through the addition of traits. +type Val interface { + // ConvertToNative converts the Value to a native Go struct according to the + // reflected type description, or error if the conversion is not feasible. + // + // The ConvertToNative method is intended to be used to support conversion between CEL types + // and native types during object creation expressions or by clients who need to adapt the, + // returned CEL value into an equivalent Go value instance. + // + // When implementing or using ConvertToNative, the following guidelines apply: + // - Use ConvertToNative when marshalling CEL evaluation results to native types. + // - Do not use ConvertToNative within CEL extension functions. + // - Document whether your implementation supports non-CEL field types, such as Go or Protobuf. + ConvertToNative(typeDesc reflect.Type) (any, error) + + // ConvertToType supports type conversions between CEL value types supported by the expression language. + ConvertToType(typeValue Type) Val + + // Equal returns true if the `other` value has the same type and content as the implementing struct. + Equal(other Val) Val + + // Type returns the TypeValue of the value. + Type() Type + + // Value returns the raw value of the instance which may not be directly compatible with the expression + // language types. + Value() any +} diff --git a/vendor/github.com/google/cel-go/common/types/string.go b/vendor/github.com/google/cel-go/common/types/string.go new file mode 100644 index 000000000..3a93743f2 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/string.go @@ -0,0 +1,226 @@ +// Copyright 2018 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 types + +import ( + "fmt" + "reflect" + "regexp" + "strconv" + "strings" + "time" + + "github.com/google/cel-go/common/overloads" + "github.com/google/cel-go/common/types/ref" + + anypb "google.golang.org/protobuf/types/known/anypb" + structpb "google.golang.org/protobuf/types/known/structpb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" +) + +// String type implementation which supports addition, comparison, matching, +// and size functions. +type String string + +var ( + stringOneArgOverloads = map[string]func(ref.Val, ref.Val) ref.Val{ + overloads.Contains: StringContains, + overloads.EndsWith: StringEndsWith, + overloads.StartsWith: StringStartsWith, + } + + stringWrapperType = reflect.TypeOf(&wrapperspb.StringValue{}) +) + +// Add implements traits.Adder.Add. +func (s String) Add(other ref.Val) ref.Val { + otherString, ok := other.(String) + if !ok { + return MaybeNoSuchOverloadErr(other) + } + return s + otherString +} + +// Compare implements traits.Comparer.Compare. +func (s String) Compare(other ref.Val) ref.Val { + otherString, ok := other.(String) + if !ok { + return MaybeNoSuchOverloadErr(other) + } + return Int(strings.Compare(s.Value().(string), otherString.Value().(string))) +} + +// ConvertToNative implements ref.Val.ConvertToNative. +func (s String) ConvertToNative(typeDesc reflect.Type) (any, error) { + switch typeDesc.Kind() { + case reflect.String: + return reflect.ValueOf(s).Convert(typeDesc).Interface(), nil + case reflect.Ptr: + switch typeDesc { + case anyValueType: + // Primitives must be wrapped before being set on an Any field. + return anypb.New(wrapperspb.String(string(s))) + case jsonValueType: + // Convert to a protobuf representation of a JSON String. + return structpb.NewStringValue(string(s)), nil + case stringWrapperType: + // Convert to a wrapperspb.StringValue. + return wrapperspb.String(string(s)), nil + } + if typeDesc.Elem().Kind() == reflect.String { + p := s.Value().(string) + return &p, nil + } + case reflect.Interface: + sv := s.Value() + if reflect.TypeOf(sv).Implements(typeDesc) { + return sv, nil + } + if reflect.TypeOf(s).Implements(typeDesc) { + return s, nil + } + } + return nil, fmt.Errorf( + "unsupported native conversion from string to '%v'", typeDesc) +} + +// ConvertToType implements ref.Val.ConvertToType. +func (s String) ConvertToType(typeVal ref.Type) ref.Val { + switch typeVal { + case IntType: + if n, err := strconv.ParseInt(s.Value().(string), 10, 64); err == nil { + return Int(n) + } + case UintType: + if n, err := strconv.ParseUint(s.Value().(string), 10, 64); err == nil { + return Uint(n) + } + case DoubleType: + if n, err := strconv.ParseFloat(s.Value().(string), 64); err == nil { + return Double(n) + } + case BoolType: + if b, err := strconv.ParseBool(s.Value().(string)); err == nil { + return Bool(b) + } + case BytesType: + return Bytes(s) + case DurationType: + if d, err := time.ParseDuration(s.Value().(string)); err == nil { + return durationOf(d) + } + case TimestampType: + if t, err := time.Parse(time.RFC3339, s.Value().(string)); err == nil { + if t.Unix() < minUnixTime || t.Unix() > maxUnixTime { + return celErrTimestampOverflow + } + return timestampOf(t) + } + case StringType: + return s + case TypeType: + return StringType + } + return NewErr("type conversion error from '%s' to '%s'", StringType, typeVal) +} + +// Equal implements ref.Val.Equal. +func (s String) Equal(other ref.Val) ref.Val { + otherString, ok := other.(String) + return Bool(ok && s == otherString) +} + +// IsZeroValue returns true if the string is empty. +func (s String) IsZeroValue() bool { + return len(s) == 0 +} + +// Match implements traits.Matcher.Match. +func (s String) Match(pattern ref.Val) ref.Val { + pat, ok := pattern.(String) + if !ok { + return MaybeNoSuchOverloadErr(pattern) + } + matched, err := regexp.MatchString(pat.Value().(string), s.Value().(string)) + if err != nil { + return &Err{error: err} + } + return Bool(matched) +} + +// Receive implements traits.Receiver.Receive. +func (s String) Receive(function string, overload string, args []ref.Val) ref.Val { + switch len(args) { + case 1: + if f, found := stringOneArgOverloads[function]; found { + return f(s, args[0]) + } + } + return NoSuchOverloadErr() +} + +// Size implements traits.Sizer.Size. +func (s String) Size() ref.Val { + return Int(len([]rune(s.Value().(string)))) +} + +// Type implements ref.Val.Type. +func (s String) Type() ref.Type { + return StringType +} + +// Value implements ref.Val.Value. +func (s String) Value() any { + return string(s) +} + +// StringContains returns whether the string contains a substring. +func StringContains(s, sub ref.Val) ref.Val { + str, ok := s.(String) + if !ok { + return MaybeNoSuchOverloadErr(s) + } + subStr, ok := sub.(String) + if !ok { + return MaybeNoSuchOverloadErr(sub) + } + return Bool(strings.Contains(string(str), string(subStr))) +} + +// StringEndsWith returns whether the target string contains the input suffix. +func StringEndsWith(s, suf ref.Val) ref.Val { + str, ok := s.(String) + if !ok { + return MaybeNoSuchOverloadErr(s) + } + sufStr, ok := suf.(String) + if !ok { + return MaybeNoSuchOverloadErr(suf) + } + return Bool(strings.HasSuffix(string(str), string(sufStr))) +} + +// StringStartsWith returns whether the target string contains the input prefix. +func StringStartsWith(s, pre ref.Val) ref.Val { + str, ok := s.(String) + if !ok { + return MaybeNoSuchOverloadErr(s) + } + preStr, ok := pre.(String) + if !ok { + return MaybeNoSuchOverloadErr(pre) + } + return Bool(strings.HasPrefix(string(str), string(preStr))) +} diff --git a/vendor/github.com/google/cel-go/common/types/timestamp.go b/vendor/github.com/google/cel-go/common/types/timestamp.go new file mode 100644 index 000000000..33acdea8e --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/timestamp.go @@ -0,0 +1,311 @@ +// Copyright 2018 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 types + +import ( + "fmt" + "reflect" + "strconv" + "strings" + "time" + + "github.com/google/cel-go/common/overloads" + "github.com/google/cel-go/common/types/ref" + + anypb "google.golang.org/protobuf/types/known/anypb" + structpb "google.golang.org/protobuf/types/known/structpb" + tpb "google.golang.org/protobuf/types/known/timestamppb" +) + +// Timestamp type implementation which supports add, compare, and subtract +// operations. Timestamps are also capable of participating in dynamic +// function dispatch to instance methods. +type Timestamp struct { + time.Time +} + +func timestampOf(t time.Time) Timestamp { + // Note that this function does not validate that time.Time is in our supported range. + return Timestamp{Time: t} +} + +const ( + // The number of seconds between year 1 and year 1970. This is borrowed from + // https://golang.org/src/time/time.go. + unixToInternal int64 = (1969*365 + 1969/4 - 1969/100 + 1969/400) * (60 * 60 * 24) + + // Number of seconds between `0001-01-01T00:00:00Z` and the Unix epoch. + minUnixTime int64 = -62135596800 + // Number of seconds between `9999-12-31T23:59:59.999999999Z` and the Unix epoch. + maxUnixTime int64 = 253402300799 +) + +// Add implements traits.Adder.Add. +func (t Timestamp) Add(other ref.Val) ref.Val { + switch other.Type() { + case DurationType: + return other.(Duration).Add(t) + } + return MaybeNoSuchOverloadErr(other) +} + +// Compare implements traits.Comparer.Compare. +func (t Timestamp) Compare(other ref.Val) ref.Val { + if TimestampType != other.Type() { + return MaybeNoSuchOverloadErr(other) + } + ts1 := t.Time + ts2 := other.(Timestamp).Time + switch { + case ts1.Before(ts2): + return IntNegOne + case ts1.After(ts2): + return IntOne + default: + return IntZero + } +} + +// ConvertToNative implements ref.Val.ConvertToNative. +func (t Timestamp) ConvertToNative(typeDesc reflect.Type) (any, error) { + // If the timestamp is already assignable to the desired type return it. + if reflect.TypeOf(t.Time).AssignableTo(typeDesc) { + return t.Time, nil + } + if reflect.TypeOf(t).AssignableTo(typeDesc) { + return t, nil + } + switch typeDesc { + case anyValueType: + // Pack the underlying time as a tpb.Timestamp into an Any value. + return anypb.New(tpb.New(t.Time)) + case jsonValueType: + // CEL follows the proto3 to JSON conversion which formats as an RFC 3339 encoded JSON + // string. + v := t.ConvertToType(StringType) + if IsError(v) { + return nil, v.(*Err) + } + return structpb.NewStringValue(string(v.(String))), nil + case timestampValueType: + // Unwrap the underlying tpb.Timestamp. + return tpb.New(t.Time), nil + } + return nil, fmt.Errorf("type conversion error from 'Timestamp' to '%v'", typeDesc) +} + +// ConvertToType implements ref.Val.ConvertToType. +func (t Timestamp) ConvertToType(typeVal ref.Type) ref.Val { + switch typeVal { + case StringType: + return String(t.Format(time.RFC3339Nano)) + case IntType: + // Return the Unix time in seconds since 1970 + return Int(t.Unix()) + case TimestampType: + return t + case TypeType: + return TimestampType + } + return NewErr("type conversion error from '%s' to '%s'", TimestampType, typeVal) +} + +// Equal implements ref.Val.Equal. +func (t Timestamp) Equal(other ref.Val) ref.Val { + otherTime, ok := other.(Timestamp) + return Bool(ok && t.Time.Equal(otherTime.Time)) +} + +// IsZeroValue returns true if the timestamp is epoch 0. +func (t Timestamp) IsZeroValue() bool { + return t.IsZero() +} + +// Receive implements traits.Receiver.Receive. +func (t Timestamp) Receive(function string, overload string, args []ref.Val) ref.Val { + switch len(args) { + case 0: + if f, found := timestampZeroArgOverloads[function]; found { + return f(t.Time) + } + case 1: + if f, found := timestampOneArgOverloads[function]; found { + return f(t.Time, args[0]) + } + } + return NoSuchOverloadErr() +} + +// Subtract implements traits.Subtractor.Subtract. +func (t Timestamp) Subtract(subtrahend ref.Val) ref.Val { + switch subtrahend.Type() { + case DurationType: + dur := subtrahend.(Duration) + val, err := subtractTimeDurationChecked(t.Time, dur.Duration) + if err != nil { + return WrapErr(err) + } + return timestampOf(val) + case TimestampType: + t2 := subtrahend.(Timestamp).Time + val, err := subtractTimeChecked(t.Time, t2) + if err != nil { + return WrapErr(err) + } + return durationOf(val) + } + return MaybeNoSuchOverloadErr(subtrahend) +} + +// Type implements ref.Val.Type. +func (t Timestamp) Type() ref.Type { + return TimestampType +} + +// Value implements ref.Val.Value. +func (t Timestamp) Value() any { + return t.Time +} + +var ( + timestampValueType = reflect.TypeOf(&tpb.Timestamp{}) + + timestampZeroArgOverloads = map[string]func(time.Time) ref.Val{ + overloads.TimeGetFullYear: timestampGetFullYear, + overloads.TimeGetMonth: timestampGetMonth, + overloads.TimeGetDayOfYear: timestampGetDayOfYear, + overloads.TimeGetDate: timestampGetDayOfMonthOneBased, + overloads.TimeGetDayOfMonth: timestampGetDayOfMonthZeroBased, + overloads.TimeGetDayOfWeek: timestampGetDayOfWeek, + overloads.TimeGetHours: timestampGetHours, + overloads.TimeGetMinutes: timestampGetMinutes, + overloads.TimeGetSeconds: timestampGetSeconds, + overloads.TimeGetMilliseconds: timestampGetMilliseconds} + + timestampOneArgOverloads = map[string]func(time.Time, ref.Val) ref.Val{ + overloads.TimeGetFullYear: timestampGetFullYearWithTz, + overloads.TimeGetMonth: timestampGetMonthWithTz, + overloads.TimeGetDayOfYear: timestampGetDayOfYearWithTz, + overloads.TimeGetDate: timestampGetDayOfMonthOneBasedWithTz, + overloads.TimeGetDayOfMonth: timestampGetDayOfMonthZeroBasedWithTz, + overloads.TimeGetDayOfWeek: timestampGetDayOfWeekWithTz, + overloads.TimeGetHours: timestampGetHoursWithTz, + overloads.TimeGetMinutes: timestampGetMinutesWithTz, + overloads.TimeGetSeconds: timestampGetSecondsWithTz, + overloads.TimeGetMilliseconds: timestampGetMillisecondsWithTz} +) + +type timestampVisitor func(time.Time) ref.Val + +func timestampGetFullYear(t time.Time) ref.Val { + return Int(t.Year()) +} +func timestampGetMonth(t time.Time) ref.Val { + // CEL spec indicates that the month should be 0-based, but the Time value + // for Month() is 1-based. + return Int(t.Month() - 1) +} +func timestampGetDayOfYear(t time.Time) ref.Val { + return Int(t.YearDay() - 1) +} +func timestampGetDayOfMonthZeroBased(t time.Time) ref.Val { + return Int(t.Day() - 1) +} +func timestampGetDayOfMonthOneBased(t time.Time) ref.Val { + return Int(t.Day()) +} +func timestampGetDayOfWeek(t time.Time) ref.Val { + return Int(t.Weekday()) +} +func timestampGetHours(t time.Time) ref.Val { + return Int(t.Hour()) +} +func timestampGetMinutes(t time.Time) ref.Val { + return Int(t.Minute()) +} +func timestampGetSeconds(t time.Time) ref.Val { + return Int(t.Second()) +} +func timestampGetMilliseconds(t time.Time) ref.Val { + return Int(t.Nanosecond() / 1000000) +} + +func timestampGetFullYearWithTz(t time.Time, tz ref.Val) ref.Val { + return timeZone(tz, timestampGetFullYear)(t) +} +func timestampGetMonthWithTz(t time.Time, tz ref.Val) ref.Val { + return timeZone(tz, timestampGetMonth)(t) +} +func timestampGetDayOfYearWithTz(t time.Time, tz ref.Val) ref.Val { + return timeZone(tz, timestampGetDayOfYear)(t) +} +func timestampGetDayOfMonthZeroBasedWithTz(t time.Time, tz ref.Val) ref.Val { + return timeZone(tz, timestampGetDayOfMonthZeroBased)(t) +} +func timestampGetDayOfMonthOneBasedWithTz(t time.Time, tz ref.Val) ref.Val { + return timeZone(tz, timestampGetDayOfMonthOneBased)(t) +} +func timestampGetDayOfWeekWithTz(t time.Time, tz ref.Val) ref.Val { + return timeZone(tz, timestampGetDayOfWeek)(t) +} +func timestampGetHoursWithTz(t time.Time, tz ref.Val) ref.Val { + return timeZone(tz, timestampGetHours)(t) +} +func timestampGetMinutesWithTz(t time.Time, tz ref.Val) ref.Val { + return timeZone(tz, timestampGetMinutes)(t) +} +func timestampGetSecondsWithTz(t time.Time, tz ref.Val) ref.Val { + return timeZone(tz, timestampGetSeconds)(t) +} +func timestampGetMillisecondsWithTz(t time.Time, tz ref.Val) ref.Val { + return timeZone(tz, timestampGetMilliseconds)(t) +} + +func timeZone(tz ref.Val, visitor timestampVisitor) timestampVisitor { + return func(t time.Time) ref.Val { + if StringType != tz.Type() { + return MaybeNoSuchOverloadErr(tz) + } + val := string(tz.(String)) + ind := strings.Index(val, ":") + if ind == -1 { + loc, err := time.LoadLocation(val) + if err != nil { + return WrapErr(err) + } + return visitor(t.In(loc)) + } + + // If the input is not the name of a timezone (for example, 'US/Central'), it should be a numerical offset from UTC + // in the format ^(+|-)(0[0-9]|1[0-4]):[0-5][0-9]$. The numerical input is parsed in terms of hours and minutes. + hr, err := strconv.Atoi(string(val[0:ind])) + if err != nil { + return WrapErr(err) + } + min, err := strconv.Atoi(string(val[ind+1:])) + if err != nil { + return WrapErr(err) + } + var offset int + if string(val[0]) == "-" { + offset = hr*60 - min + } else { + offset = hr*60 + min + } + secondsEastOfUTC := int((time.Duration(offset) * time.Minute).Seconds()) + timezone := time.FixedZone("", secondsEastOfUTC) + return visitor(t.In(timezone)) + } +} diff --git a/vendor/github.com/google/cel-go/common/types/traits/BUILD.bazel b/vendor/github.com/google/cel-go/common/types/traits/BUILD.bazel new file mode 100644 index 000000000..b19eb8301 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/traits/BUILD.bazel @@ -0,0 +1,29 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +package( + default_visibility = ["//visibility:public"], + licenses = ["notice"], # Apache 2.0 +) + +go_library( + name = "go_default_library", + srcs = [ + "comparer.go", + "container.go", + "field_tester.go", + "indexer.go", + "iterator.go", + "lister.go", + "mapper.go", + "matcher.go", + "math.go", + "receiver.go", + "sizer.go", + "traits.go", + "zeroer.go", + ], + importpath = "github.com/google/cel-go/common/types/traits", + deps = [ + "//common/types/ref:go_default_library", + ], +) diff --git a/vendor/github.com/google/cel-go/common/types/traits/comparer.go b/vendor/github.com/google/cel-go/common/types/traits/comparer.go new file mode 100644 index 000000000..b531d9ae2 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/traits/comparer.go @@ -0,0 +1,33 @@ +// Copyright 2018 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 traits + +import ( + "github.com/google/cel-go/common/types/ref" +) + +// Comparer interface for ordering comparisons between values in order to +// support '<', '<=', '>=', '>' overloads. +type Comparer interface { + // Compare this value to the input other value, returning an Int: + // + // this < other -> Int(-1) + // this == other -> Int(0) + // this > other -> Int(1) + // + // If the comparison cannot be made or is not supported, an error should + // be returned. + Compare(other ref.Val) ref.Val +} diff --git a/vendor/github.com/google/cel-go/common/types/traits/container.go b/vendor/github.com/google/cel-go/common/types/traits/container.go new file mode 100644 index 000000000..cf5c621ae --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/traits/container.go @@ -0,0 +1,23 @@ +// Copyright 2018 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 traits + +import "github.com/google/cel-go/common/types/ref" + +// Container interface which permits containment tests such as 'a in b'. +type Container interface { + // Contains returns true if the value exists within the object. + Contains(value ref.Val) ref.Val +} diff --git a/vendor/github.com/google/cel-go/common/types/traits/field_tester.go b/vendor/github.com/google/cel-go/common/types/traits/field_tester.go new file mode 100644 index 000000000..816a95652 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/traits/field_tester.go @@ -0,0 +1,30 @@ +// Copyright 2018 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 traits + +import ( + "github.com/google/cel-go/common/types/ref" +) + +// FieldTester indicates if a defined field on an object type is set to a +// non-default value. +// +// For use with the `has()` macro. +type FieldTester interface { + // IsSet returns true if the field is defined and set to a non-default + // value. The method will return false if defined and not set, and an error + // if the field is not defined. + IsSet(field ref.Val) ref.Val +} diff --git a/vendor/github.com/google/cel-go/common/types/traits/indexer.go b/vendor/github.com/google/cel-go/common/types/traits/indexer.go new file mode 100644 index 000000000..662c6836c --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/traits/indexer.go @@ -0,0 +1,25 @@ +// Copyright 2018 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 traits + +import ( + "github.com/google/cel-go/common/types/ref" +) + +// Indexer permits random access of elements by index 'a[b()]'. +type Indexer interface { + // Get the value at the specified index or error. + Get(index ref.Val) ref.Val +} diff --git a/vendor/github.com/google/cel-go/common/types/traits/iterator.go b/vendor/github.com/google/cel-go/common/types/traits/iterator.go new file mode 100644 index 000000000..91c10f08f --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/traits/iterator.go @@ -0,0 +1,49 @@ +// Copyright 2018 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 traits + +import ( + "github.com/google/cel-go/common/types/ref" +) + +// Iterable aggregate types permit traversal over their elements. +type Iterable interface { + // Iterator returns a new iterator view of the struct. + Iterator() Iterator +} + +// Iterator permits safe traversal over the contents of an aggregate type. +type Iterator interface { + ref.Val + + // HasNext returns true if there are unvisited elements in the Iterator. + HasNext() ref.Val + + // Next returns the next element. + Next() ref.Val +} + +// Foldable aggregate types support iteration over (key, value) or (index, value) pairs. +type Foldable interface { + // Fold invokes the Folder.FoldEntry for all entries in the type + Fold(Folder) +} + +// Folder performs a fold on a given entry and indicates whether to continue folding. +type Folder interface { + // FoldEntry indicates the key, value pair associated with the entry. + // If the output is true, continue folding. Otherwise, terminate the fold. + FoldEntry(key, val any) bool +} diff --git a/vendor/github.com/google/cel-go/common/types/traits/lister.go b/vendor/github.com/google/cel-go/common/types/traits/lister.go new file mode 100644 index 000000000..e54781a60 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/traits/lister.go @@ -0,0 +1,36 @@ +// Copyright 2018 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 traits + +import "github.com/google/cel-go/common/types/ref" + +// Lister interface which aggregates the traits of a list. +type Lister interface { + ref.Val + Adder + Container + Indexer + Iterable + Sizer +} + +// MutableLister interface which emits an immutable result after an intermediate computation. +// +// Note, this interface is intended only to be used within Comprehensions where the mutable +// value is not directly observable within the user-authored CEL expression. +type MutableLister interface { + Lister + ToImmutableList() Lister +} diff --git a/vendor/github.com/google/cel-go/common/types/traits/mapper.go b/vendor/github.com/google/cel-go/common/types/traits/mapper.go new file mode 100644 index 000000000..d13333f3f --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/traits/mapper.go @@ -0,0 +1,48 @@ +// Copyright 2018 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 traits + +import "github.com/google/cel-go/common/types/ref" + +// Mapper interface which aggregates the traits of a maps. +type Mapper interface { + ref.Val + Container + Indexer + Iterable + Sizer + + // Find returns a value, if one exists, for the input key. + // + // If the key is not found the function returns (nil, false). + // If the input key is not valid for the map, or is Err or Unknown the function returns + // (Unknown|Err, false). + Find(key ref.Val) (ref.Val, bool) +} + +// MutableMapper interface which emits an immutable result after an intermediate computation. +// +// Note, this interface is intended only to be used within Comprehensions where the mutable +// value is not directly observable within the user-authored CEL expression. +type MutableMapper interface { + Mapper + + // Insert a key, value pair into the map, returning the map if the insert is successful + // and an error if key already exists in the mutable map. + Insert(k, v ref.Val) ref.Val + + // ToImmutableMap converts a mutable map into an immutable map. + ToImmutableMap() Mapper +} diff --git a/vendor/github.com/google/cel-go/common/types/traits/matcher.go b/vendor/github.com/google/cel-go/common/types/traits/matcher.go new file mode 100644 index 000000000..085dc94ff --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/traits/matcher.go @@ -0,0 +1,23 @@ +// Copyright 2018 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 traits + +import "github.com/google/cel-go/common/types/ref" + +// Matcher interface for supporting 'matches()' overloads. +type Matcher interface { + // Match returns true if the pattern matches the current value. + Match(pattern ref.Val) ref.Val +} diff --git a/vendor/github.com/google/cel-go/common/types/traits/math.go b/vendor/github.com/google/cel-go/common/types/traits/math.go new file mode 100644 index 000000000..86d5b9137 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/traits/math.go @@ -0,0 +1,62 @@ +// Copyright 2018 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 traits + +import "github.com/google/cel-go/common/types/ref" + +// Adder interface to support '+' operator overloads. +type Adder interface { + // Add returns a combination of the current value and other value. + // + // If the other value is an unsupported type, an error is returned. + Add(other ref.Val) ref.Val +} + +// Divider interface to support '/' operator overloads. +type Divider interface { + // Divide returns the result of dividing the current value by the input + // denominator. + // + // A denominator value of zero results in an error. + Divide(denominator ref.Val) ref.Val +} + +// Modder interface to support '%' operator overloads. +type Modder interface { + // Modulo returns the result of taking the modulus of the current value + // by the denominator. + // + // A denominator value of zero results in an error. + Modulo(denominator ref.Val) ref.Val +} + +// Multiplier interface to support '*' operator overloads. +type Multiplier interface { + // Multiply returns the result of multiplying the current and input value. + Multiply(other ref.Val) ref.Val +} + +// Negater interface to support unary '-' and '!' operator overloads. +type Negater interface { + // Negate returns the complement of the current value. + Negate() ref.Val +} + +// Subtractor interface to support binary '-' operator overloads. +type Subtractor interface { + // Subtract returns the result of subtracting the input from the current + // value. + Subtract(subtrahend ref.Val) ref.Val +} diff --git a/vendor/github.com/google/cel-go/common/types/traits/receiver.go b/vendor/github.com/google/cel-go/common/types/traits/receiver.go new file mode 100644 index 000000000..8f41db45e --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/traits/receiver.go @@ -0,0 +1,24 @@ +// Copyright 2018 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 traits + +import "github.com/google/cel-go/common/types/ref" + +// Receiver interface for routing instance method calls within a value. +type Receiver interface { + // Receive accepts a function name, overload id, and arguments and returns + // a value. + Receive(function string, overload string, args []ref.Val) ref.Val +} diff --git a/vendor/github.com/google/cel-go/common/types/traits/sizer.go b/vendor/github.com/google/cel-go/common/types/traits/sizer.go new file mode 100644 index 000000000..b80d25137 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/traits/sizer.go @@ -0,0 +1,25 @@ +// Copyright 2018 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 traits + +import ( + "github.com/google/cel-go/common/types/ref" +) + +// Sizer interface for supporting 'size()' overloads. +type Sizer interface { + // Size returns the number of elements or length of the value. + Size() ref.Val +} diff --git a/vendor/github.com/google/cel-go/common/types/traits/traits.go b/vendor/github.com/google/cel-go/common/types/traits/traits.go new file mode 100644 index 000000000..51a09df56 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/traits/traits.go @@ -0,0 +1,79 @@ +// Copyright 2018 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 traits defines interfaces that a type may implement to participate +// in operator overloads and function dispatch. +package traits + +const ( + // AdderType types provide a '+' operator overload. + AdderType = 1 << iota + + // ComparerType types support ordering comparisons '<', '<=', '>', '>='. + ComparerType + + // ContainerType types support 'in' operations. + ContainerType + + // DividerType types support '/' operations. + DividerType + + // FieldTesterType types support the detection of field value presence. + FieldTesterType + + // IndexerType types support index access with dynamic values. + IndexerType + + // IterableType types can be iterated over in comprehensions. + IterableType + + // IteratorType types support iterator semantics. + IteratorType + + // MatcherType types support pattern matching via 'matches' method. + MatcherType + + // ModderType types support modulus operations '%' + ModderType + + // MultiplierType types support '*' operations. + MultiplierType + + // NegatorType types support either negation via '!' or '-' + NegatorType + + // ReceiverType types support dynamic dispatch to instance methods. + ReceiverType + + // SizerType types support the size() method. + SizerType + + // SubtractorType types support '-' operations. + SubtractorType + + // FoldableType types support comprehensions v2 macros which iterate over (key, value) pairs. + FoldableType +) + +const ( + // ListerType supports a set of traits necessary for list operations. + // + // The ListerType is syntactic sugar and not intended to be a perfect reflection of all List operators. + ListerType = AdderType | ContainerType | IndexerType | IterableType | SizerType + + // MapperType supports a set of traits necessary for map operations. + // + // The MapperType is syntactic sugar and not intended to be a perfect reflection of all Map operators. + MapperType = ContainerType | IndexerType | IterableType | SizerType +) diff --git a/vendor/github.com/google/cel-go/common/types/traits/zeroer.go b/vendor/github.com/google/cel-go/common/types/traits/zeroer.go new file mode 100644 index 000000000..0b7c830a2 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/traits/zeroer.go @@ -0,0 +1,21 @@ +// Copyright 2022 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 traits + +// Zeroer interface for testing whether a CEL value is a zero value for its type. +type Zeroer interface { + // IsZeroValue indicates whether the object is the zero value for the type. + IsZeroValue() bool +} diff --git a/vendor/github.com/google/cel-go/common/types/types.go b/vendor/github.com/google/cel-go/common/types/types.go new file mode 100644 index 000000000..1c5b6c40c --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/types.go @@ -0,0 +1,864 @@ +// 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 types + +import ( + "fmt" + "reflect" + "strings" + + "google.golang.org/protobuf/proto" + + chkdecls "github.com/google/cel-go/checker/decls" + "github.com/google/cel-go/common/types/ref" + "github.com/google/cel-go/common/types/traits" + + celpb "cel.dev/expr" + exprpb "google.golang.org/genproto/googleapis/api/expr/v1alpha1" +) + +// Kind indicates a CEL type's kind which is used to differentiate quickly between simple +// and complex types. +type Kind uint + +const ( + // UnspecifiedKind is returned when the type is nil or its kind is not specified. + UnspecifiedKind Kind = iota + + // DynKind represents a dynamic type. This kind only exists at type-check time. + DynKind + + // AnyKind represents a google.protobuf.Any type. This kind only exists at type-check time. + // Prefer DynKind to AnyKind as AnyKind has a specific meaning which is based on protobuf + // well-known types. + AnyKind + + // BoolKind represents a boolean type. + BoolKind + + // BytesKind represents a bytes type. + BytesKind + + // DoubleKind represents a double type. + DoubleKind + + // DurationKind represents a CEL duration type. + DurationKind + + // ErrorKind represents a CEL error type. + ErrorKind + + // IntKind represents an integer type. + IntKind + + // ListKind represents a list type. + ListKind + + // MapKind represents a map type. + MapKind + + // NullTypeKind represents a null type. + NullTypeKind + + // OpaqueKind represents an abstract type which has no accessible fields. + OpaqueKind + + // StringKind represents a string type. + StringKind + + // StructKind represents a structured object with typed fields. + StructKind + + // TimestampKind represents a a CEL time type. + TimestampKind + + // TypeKind represents the CEL type. + TypeKind + + // TypeParamKind represents a parameterized type whose type name will be resolved at type-check time, if possible. + TypeParamKind + + // UintKind represents a uint type. + UintKind + + // UnknownKind represents an unknown value type. + UnknownKind +) + +var ( + // AnyType represents the google.protobuf.Any type. + AnyType = &Type{ + kind: AnyKind, + runtimeTypeName: "google.protobuf.Any", + traitMask: traits.FieldTesterType | + traits.IndexerType, + } + // BoolType represents the bool type. + BoolType = &Type{ + kind: BoolKind, + runtimeTypeName: "bool", + traitMask: traits.ComparerType | + traits.NegatorType, + } + // BytesType represents the bytes type. + BytesType = &Type{ + kind: BytesKind, + runtimeTypeName: "bytes", + traitMask: traits.AdderType | + traits.ComparerType | + traits.SizerType, + } + // DoubleType represents the double type. + DoubleType = &Type{ + kind: DoubleKind, + runtimeTypeName: "double", + traitMask: traits.AdderType | + traits.ComparerType | + traits.DividerType | + traits.MultiplierType | + traits.NegatorType | + traits.SubtractorType, + } + // DurationType represents the CEL duration type. + DurationType = &Type{ + kind: DurationKind, + runtimeTypeName: "google.protobuf.Duration", + traitMask: traits.AdderType | + traits.ComparerType | + traits.NegatorType | + traits.ReceiverType | + traits.SubtractorType, + } + // DynType represents a dynamic CEL type whose type will be determined at runtime from context. + DynType = &Type{ + kind: DynKind, + runtimeTypeName: "dyn", + } + // ErrorType represents a CEL error value. + ErrorType = &Type{ + kind: ErrorKind, + runtimeTypeName: "error", + } + // IntType represents the int type. + IntType = &Type{ + kind: IntKind, + runtimeTypeName: "int", + traitMask: traits.AdderType | + traits.ComparerType | + traits.DividerType | + traits.ModderType | + traits.MultiplierType | + traits.NegatorType | + traits.SubtractorType, + } + // ListType represents the runtime list type. + ListType = NewListType(nil) + // MapType represents the runtime map type. + MapType = NewMapType(nil, nil) + // NullType represents the type of a null value. + NullType = &Type{ + kind: NullTypeKind, + runtimeTypeName: "null_type", + } + // StringType represents the string type. + StringType = &Type{ + kind: StringKind, + runtimeTypeName: "string", + traitMask: traits.AdderType | + traits.ComparerType | + traits.MatcherType | + traits.ReceiverType | + traits.SizerType, + } + // TimestampType represents the time type. + TimestampType = &Type{ + kind: TimestampKind, + runtimeTypeName: "google.protobuf.Timestamp", + traitMask: traits.AdderType | + traits.ComparerType | + traits.ReceiverType | + traits.SubtractorType, + } + // TypeType represents a CEL type + TypeType = &Type{ + kind: TypeKind, + runtimeTypeName: "type", + } + // UintType represents a uint type. + UintType = &Type{ + kind: UintKind, + runtimeTypeName: "uint", + traitMask: traits.AdderType | + traits.ComparerType | + traits.DividerType | + traits.ModderType | + traits.MultiplierType | + traits.SubtractorType, + } + // UnknownType represents an unknown value type. + UnknownType = &Type{ + kind: UnknownKind, + runtimeTypeName: "unknown", + } +) + +var _ ref.Type = &Type{} +var _ ref.Val = &Type{} + +// Type holds a reference to a runtime type with an optional type-checked set of type parameters. +type Type struct { + // kind indicates general category of the type. + kind Kind + + // parameters holds the optional type-checked set of type Parameters that are used during static analysis. + parameters []*Type + + // runtimeTypeName indicates the runtime type name of the type. + runtimeTypeName string + + // isAssignableType function determines whether one type is assignable to this type. + // A nil value for the isAssignableType function falls back to equality of kind, runtimeType, and parameters. + isAssignableType func(other *Type) bool + + // isAssignableRuntimeType function determines whether the runtime type (with erasure) is assignable to this type. + // A nil value for the isAssignableRuntimeType function falls back to the equality of the type or type name. + isAssignableRuntimeType func(other ref.Val) bool + + // traitMask is a mask of flags which indicate the capabilities of the type. + traitMask int +} + +// ConvertToNative implements ref.Val.ConvertToNative. +func (t *Type) ConvertToNative(typeDesc reflect.Type) (any, error) { + return nil, fmt.Errorf("type conversion not supported for 'type'") +} + +// ConvertToType implements ref.Val.ConvertToType. +func (t *Type) ConvertToType(typeVal ref.Type) ref.Val { + switch typeVal { + case TypeType: + return TypeType + case StringType: + return String(t.TypeName()) + } + return NewErr("type conversion error from '%s' to '%s'", TypeType, typeVal) +} + +// Equal indicates whether two types have the same runtime type name. +// +// The name Equal is a bit of a misnomer, but for historical reasons, this is the +// runtime behavior. For a more accurate definition see IsType(). +func (t *Type) Equal(other ref.Val) ref.Val { + otherType, ok := other.(ref.Type) + return Bool(ok && t.TypeName() == otherType.TypeName()) +} + +// HasTrait implements the ref.Type interface method. +func (t *Type) HasTrait(trait int) bool { + return trait&t.traitMask == trait +} + +// IsExactType indicates whether the two types are exactly the same. This check also verifies type parameter type names. +func (t *Type) IsExactType(other *Type) bool { + return t.isTypeInternal(other, true) +} + +// IsEquivalentType indicates whether two types are equivalent. This check ignores type parameter type names. +func (t *Type) IsEquivalentType(other *Type) bool { + return t.isTypeInternal(other, false) +} + +// Kind indicates general category of the type. +func (t *Type) Kind() Kind { + if t == nil { + return UnspecifiedKind + } + return t.kind +} + +// isTypeInternal checks whether the two types are equivalent or exactly the same based on the checkTypeParamName flag. +func (t *Type) isTypeInternal(other *Type, checkTypeParamName bool) bool { + if t == nil { + return false + } + if t == other { + return true + } + if t.Kind() != other.Kind() || len(t.Parameters()) != len(other.Parameters()) { + return false + } + if (checkTypeParamName || t.Kind() != TypeParamKind) && t.TypeName() != other.TypeName() { + return false + } + for i, p := range t.Parameters() { + if !p.isTypeInternal(other.Parameters()[i], checkTypeParamName) { + return false + } + } + return true +} + +// IsAssignableType determines whether the current type is type-check assignable from the input fromType. +func (t *Type) IsAssignableType(fromType *Type) bool { + if t == nil { + return false + } + if t.isAssignableType != nil { + return t.isAssignableType(fromType) + } + return t.defaultIsAssignableType(fromType) +} + +// IsAssignableRuntimeType determines whether the current type is runtime assignable from the input runtimeType. +// +// At runtime, parameterized types are erased and so a function which type-checks to support a map(string, string) +// will have a runtime assignable type of a map. +func (t *Type) IsAssignableRuntimeType(val ref.Val) bool { + if t == nil { + return false + } + if t.isAssignableRuntimeType != nil { + return t.isAssignableRuntimeType(val) + } + return t.defaultIsAssignableRuntimeType(val) +} + +// Parameters returns the list of type parameters if set. +// +// For ListKind, Parameters()[0] represents the list element type +// For MapKind, Parameters()[0] represents the map key type, and Parameters()[1] represents the map +// value type. +func (t *Type) Parameters() []*Type { + if t == nil { + return emptyParams + } + return t.parameters +} + +// DeclaredTypeName indicates the fully qualified and parameterized type-check type name. +func (t *Type) DeclaredTypeName() string { + // if the type itself is neither null, nor dyn, but is assignable to null, then it's a wrapper type. + if t.Kind() != NullTypeKind && !t.isDyn() && t.IsAssignableType(NullType) { + return fmt.Sprintf("wrapper(%s)", t.TypeName()) + } + return t.TypeName() +} + +// Type implements the ref.Val interface method. +func (t *Type) Type() ref.Type { + return TypeType +} + +// Value implements the ref.Val interface method. +func (t *Type) Value() any { + return t.TypeName() +} + +// TypeName returns the type-erased fully qualified runtime type name. +// +// TypeName implements the ref.Type interface method. +func (t *Type) TypeName() string { + if t == nil { + return "" + } + return t.runtimeTypeName +} + +// WithTraits creates a copy of the current Type and sets the trait mask to the traits parameter. +// +// This method should be used with Opaque types where the type acts like a container, e.g. vector. +func (t *Type) WithTraits(traits int) *Type { + if t == nil { + return nil + } + return &Type{ + kind: t.kind, + parameters: t.parameters, + runtimeTypeName: t.runtimeTypeName, + isAssignableType: t.isAssignableType, + isAssignableRuntimeType: t.isAssignableRuntimeType, + traitMask: traits, + } +} + +// String returns a human-readable definition of the type name. +func (t *Type) String() string { + if len(t.Parameters()) == 0 { + return t.DeclaredTypeName() + } + params := make([]string, len(t.Parameters())) + for i, p := range t.Parameters() { + params[i] = p.String() + } + return fmt.Sprintf("%s(%s)", t.DeclaredTypeName(), strings.Join(params, ", ")) +} + +// isDyn indicates whether the type is dynamic in any way. +func (t *Type) isDyn() bool { + k := t.Kind() + return k == DynKind || k == AnyKind || k == TypeParamKind +} + +// defaultIsAssignableType provides the standard definition of what it means for one type to be assignable to another +// where any of the following may return a true result: +// - The from types are the same instance +// - The target type is dynamic +// - The fromType has the same kind and type name as the target type, and all parameters of the target type +// +// are IsAssignableType() from the parameters of the fromType. +func (t *Type) defaultIsAssignableType(fromType *Type) bool { + if t == fromType || t.isDyn() { + return true + } + if t.Kind() != fromType.Kind() || + t.TypeName() != fromType.TypeName() || + len(t.Parameters()) != len(fromType.Parameters()) { + return false + } + for i, tp := range t.Parameters() { + fp := fromType.Parameters()[i] + if !tp.IsAssignableType(fp) { + return false + } + } + return true +} + +// defaultIsAssignableRuntimeType inspects the type and in the case of list and map elements, the key and element types +// to determine whether a ref.Val is assignable to the declared type for a function signature. +func (t *Type) defaultIsAssignableRuntimeType(val ref.Val) bool { + valType := val.Type() + // If the current type and value type don't agree, then return + if !(t.isDyn() || t.TypeName() == valType.TypeName()) { + return false + } + switch t.Kind() { + case ListKind: + elemType := t.Parameters()[0] + l := val.(traits.Lister) + if l.Size() == IntZero { + return true + } + it := l.Iterator() + elemVal := it.Next() + return elemType.IsAssignableRuntimeType(elemVal) + case MapKind: + keyType := t.Parameters()[0] + elemType := t.Parameters()[1] + m := val.(traits.Mapper) + if m.Size() == IntZero { + return true + } + it := m.Iterator() + keyVal := it.Next() + elemVal := m.Get(keyVal) + return keyType.IsAssignableRuntimeType(keyVal) && elemType.IsAssignableRuntimeType(elemVal) + } + return true +} + +// NewListType creates an instances of a list type value with the provided element type. +func NewListType(elemType *Type) *Type { + return &Type{ + kind: ListKind, + parameters: []*Type{elemType}, + runtimeTypeName: "list", + traitMask: traits.AdderType | + traits.ContainerType | + traits.IndexerType | + traits.IterableType | + traits.SizerType, + } +} + +// NewMapType creates an instance of a map type value with the provided key and value types. +func NewMapType(keyType, valueType *Type) *Type { + return &Type{ + kind: MapKind, + parameters: []*Type{keyType, valueType}, + runtimeTypeName: "map", + traitMask: traits.ContainerType | + traits.IndexerType | + traits.IterableType | + traits.SizerType, + } +} + +// NewNullableType creates an instance of a nullable type with the provided wrapped type. +// +// Note: only primitive types are supported as wrapped types. +func NewNullableType(wrapped *Type) *Type { + return &Type{ + kind: wrapped.Kind(), + parameters: wrapped.Parameters(), + runtimeTypeName: wrapped.TypeName(), + traitMask: wrapped.traitMask, + isAssignableType: func(other *Type) bool { + return NullType.IsAssignableType(other) || wrapped.IsAssignableType(other) + }, + isAssignableRuntimeType: func(other ref.Val) bool { + return NullType.IsAssignableRuntimeType(other) || wrapped.IsAssignableRuntimeType(other) + }, + } +} + +// NewOptionalType creates an abstract parameterized type instance corresponding to CEL's notion of optional. +func NewOptionalType(param *Type) *Type { + return NewOpaqueType("optional_type", param) +} + +// NewOpaqueType creates an abstract parameterized type with a given name. +func NewOpaqueType(name string, params ...*Type) *Type { + return &Type{ + kind: OpaqueKind, + parameters: params, + runtimeTypeName: name, + } +} + +// NewObjectType creates a type reference to an externally defined type, e.g. a protobuf message type. +// +// An object type is assumed to support field presence testing and field indexing. Additionally, the +// type may also indicate additional traits through the use of the optional traits vararg argument. +func NewObjectType(typeName string, traits ...int) *Type { + // Function sanitizes object types on the fly + if wkt, found := checkedWellKnowns[typeName]; found { + return wkt + } + traitMask := 0 + for _, trait := range traits { + traitMask |= trait + } + return &Type{ + kind: StructKind, + parameters: emptyParams, + runtimeTypeName: typeName, + traitMask: structTypeTraitMask | traitMask, + } +} + +// NewObjectTypeValue creates a type reference to an externally defined type. +// +// Deprecated: use cel.ObjectType(typeName) +func NewObjectTypeValue(typeName string) *Type { + return NewObjectType(typeName) +} + +// NewTypeValue creates an opaque type which has a set of optional type traits as defined in +// the common/types/traits package. +// +// Deprecated: use cel.ObjectType(typeName, traits) +func NewTypeValue(typeName string, traits ...int) *Type { + traitMask := 0 + for _, trait := range traits { + traitMask |= trait + } + return &Type{ + kind: StructKind, + parameters: emptyParams, + runtimeTypeName: typeName, + traitMask: traitMask, + } +} + +// NewTypeParamType creates a parameterized type instance. +func NewTypeParamType(paramName string) *Type { + return &Type{ + kind: TypeParamKind, + runtimeTypeName: paramName, + } +} + +// NewTypeTypeWithParam creates a type with a type parameter. +// Used for type-checking purposes, but equivalent to TypeType otherwise. +func NewTypeTypeWithParam(param *Type) *Type { + return &Type{ + kind: TypeKind, + runtimeTypeName: "type", + parameters: []*Type{param}, + } +} + +// TypeToExprType converts a CEL-native type representation to a protobuf CEL Type representation. +func TypeToExprType(t *Type) (*exprpb.Type, error) { + switch t.Kind() { + case AnyKind: + return chkdecls.Any, nil + case BoolKind: + return maybeWrapper(t, chkdecls.Bool), nil + case BytesKind: + return maybeWrapper(t, chkdecls.Bytes), nil + case DoubleKind: + return maybeWrapper(t, chkdecls.Double), nil + case DurationKind: + return chkdecls.Duration, nil + case DynKind: + return chkdecls.Dyn, nil + case ErrorKind: + return chkdecls.Error, nil + case IntKind: + return maybeWrapper(t, chkdecls.Int), nil + case ListKind: + if len(t.Parameters()) != 1 { + return nil, fmt.Errorf("invalid list, got %d parameters, wanted one", len(t.Parameters())) + } + et, err := TypeToExprType(t.Parameters()[0]) + if err != nil { + return nil, err + } + return chkdecls.NewListType(et), nil + case MapKind: + if len(t.Parameters()) != 2 { + return nil, fmt.Errorf("invalid map, got %d parameters, wanted two", len(t.Parameters())) + } + kt, err := TypeToExprType(t.Parameters()[0]) + if err != nil { + return nil, err + } + vt, err := TypeToExprType(t.Parameters()[1]) + if err != nil { + return nil, err + } + return chkdecls.NewMapType(kt, vt), nil + case NullTypeKind: + return chkdecls.Null, nil + case OpaqueKind: + params := make([]*exprpb.Type, len(t.Parameters())) + for i, p := range t.Parameters() { + pt, err := TypeToExprType(p) + if err != nil { + return nil, err + } + params[i] = pt + } + return chkdecls.NewAbstractType(t.TypeName(), params...), nil + case StringKind: + return maybeWrapper(t, chkdecls.String), nil + case StructKind: + return chkdecls.NewObjectType(t.TypeName()), nil + case TimestampKind: + return chkdecls.Timestamp, nil + case TypeParamKind: + return chkdecls.NewTypeParamType(t.TypeName()), nil + case TypeKind: + if len(t.Parameters()) == 1 { + p, err := TypeToExprType(t.Parameters()[0]) + if err != nil { + return nil, err + } + return chkdecls.NewTypeType(p), nil + } + return chkdecls.NewTypeType(nil), nil + case UintKind: + return maybeWrapper(t, chkdecls.Uint), nil + } + return nil, fmt.Errorf("missing type conversion to proto: %v", t) +} + +// ExprTypeToType converts a protobuf CEL type representation to a CEL-native type representation. +func ExprTypeToType(t *exprpb.Type) (*Type, error) { + return AlphaProtoAsType(t) +} + +// AlphaProtoAsType converts a CEL v1alpha1.Type protobuf type to a CEL-native type representation. +func AlphaProtoAsType(t *exprpb.Type) (*Type, error) { + canonical := &celpb.Type{} + if err := convertProto(t, canonical); err != nil { + return nil, err + } + return ProtoAsType(canonical) +} + +// ProtoAsType converts a canonical CEL celpb.Type protobuf type to a CEL-native type representation. +func ProtoAsType(t *celpb.Type) (*Type, error) { + switch t.GetTypeKind().(type) { + case *celpb.Type_Dyn: + return DynType, nil + case *celpb.Type_AbstractType_: + paramTypes := make([]*Type, len(t.GetAbstractType().GetParameterTypes())) + for i, p := range t.GetAbstractType().GetParameterTypes() { + pt, err := ProtoAsType(p) + if err != nil { + return nil, err + } + paramTypes[i] = pt + } + return NewOpaqueType(t.GetAbstractType().GetName(), paramTypes...), nil + case *celpb.Type_ListType_: + et, err := ProtoAsType(t.GetListType().GetElemType()) + if err != nil { + return nil, err + } + return NewListType(et), nil + case *celpb.Type_MapType_: + kt, err := ProtoAsType(t.GetMapType().GetKeyType()) + if err != nil { + return nil, err + } + vt, err := ProtoAsType(t.GetMapType().GetValueType()) + if err != nil { + return nil, err + } + return NewMapType(kt, vt), nil + case *celpb.Type_MessageType: + return NewObjectType(t.GetMessageType()), nil + case *celpb.Type_Null: + return NullType, nil + case *celpb.Type_Primitive: + switch t.GetPrimitive() { + case celpb.Type_BOOL: + return BoolType, nil + case celpb.Type_BYTES: + return BytesType, nil + case celpb.Type_DOUBLE: + return DoubleType, nil + case celpb.Type_INT64: + return IntType, nil + case celpb.Type_STRING: + return StringType, nil + case celpb.Type_UINT64: + return UintType, nil + default: + return nil, fmt.Errorf("unsupported primitive type: %v", t) + } + case *celpb.Type_TypeParam: + return NewTypeParamType(t.GetTypeParam()), nil + case *celpb.Type_Type: + if t.GetType().GetTypeKind() != nil { + p, err := ProtoAsType(t.GetType()) + if err != nil { + return nil, err + } + return NewTypeTypeWithParam(p), nil + } + return TypeType, nil + case *celpb.Type_WellKnown: + switch t.GetWellKnown() { + case celpb.Type_ANY: + return AnyType, nil + case celpb.Type_DURATION: + return DurationType, nil + case celpb.Type_TIMESTAMP: + return TimestampType, nil + default: + return nil, fmt.Errorf("unsupported well-known type: %v", t) + } + case *celpb.Type_Wrapper: + t, err := ProtoAsType(&celpb.Type{TypeKind: &celpb.Type_Primitive{Primitive: t.GetWrapper()}}) + if err != nil { + return nil, err + } + return NewNullableType(t), nil + case *celpb.Type_Error: + return ErrorType, nil + default: + return nil, fmt.Errorf("unsupported type: %v", t) + } +} + +func maybeWrapper(t *Type, pbType *exprpb.Type) *exprpb.Type { + if t.IsAssignableType(NullType) { + return chkdecls.NewWrapperType(pbType) + } + return pbType +} + +func maybeForeignType(t ref.Type) *Type { + if celType, ok := t.(*Type); ok { + return celType + } + // Inspect the incoming type to determine its traits. The assumption will be that the incoming + // type does not have any field values; however, if the trait mask indicates that field testing + // and indexing are supported, the foreign type is marked as a struct. + traitMask := 0 + for _, trait := range allTraits { + if t.HasTrait(trait) { + traitMask |= trait + } + } + // Treat the value like a struct. If it has no fields, this is harmless to denote the type + // as such since it basically becomes an opaque type by convention. + return NewObjectType(t.TypeName(), traitMask) +} + +func convertProto(src, dst proto.Message) error { + pb, err := proto.Marshal(src) + if err != nil { + return err + } + err = proto.Unmarshal(pb, dst) + return err +} + +func primitiveType(primitive celpb.Type_PrimitiveType) *celpb.Type { + return &celpb.Type{ + TypeKind: &celpb.Type_Primitive{ + Primitive: primitive, + }, + } +} + +var ( + checkedWellKnowns = map[string]*Type{ + // Wrapper types. + "google.protobuf.BoolValue": NewNullableType(BoolType), + "google.protobuf.BytesValue": NewNullableType(BytesType), + "google.protobuf.DoubleValue": NewNullableType(DoubleType), + "google.protobuf.FloatValue": NewNullableType(DoubleType), + "google.protobuf.Int64Value": NewNullableType(IntType), + "google.protobuf.Int32Value": NewNullableType(IntType), + "google.protobuf.UInt64Value": NewNullableType(UintType), + "google.protobuf.UInt32Value": NewNullableType(UintType), + "google.protobuf.StringValue": NewNullableType(StringType), + // Well-known types. + "google.protobuf.Any": AnyType, + "google.protobuf.Duration": DurationType, + "google.protobuf.Timestamp": TimestampType, + // Json types. + "google.protobuf.ListValue": NewListType(DynType), + "google.protobuf.NullValue": NullType, + "google.protobuf.Struct": NewMapType(StringType, DynType), + "google.protobuf.Value": DynType, + } + + emptyParams = []*Type{} + + allTraits = []int{ + traits.AdderType, + traits.ComparerType, + traits.ContainerType, + traits.DividerType, + traits.FieldTesterType, + traits.IndexerType, + traits.IterableType, + traits.IteratorType, + traits.MatcherType, + traits.ModderType, + traits.MultiplierType, + traits.NegatorType, + traits.ReceiverType, + traits.SizerType, + traits.SubtractorType, + } + + structTypeTraitMask = traits.FieldTesterType | traits.IndexerType + + boolType = primitiveType(celpb.Type_BOOL) + bytesType = primitiveType(celpb.Type_BYTES) + doubleType = primitiveType(celpb.Type_DOUBLE) + intType = primitiveType(celpb.Type_INT64) + stringType = primitiveType(celpb.Type_STRING) + uintType = primitiveType(celpb.Type_UINT64) +) diff --git a/vendor/github.com/google/cel-go/common/types/uint.go b/vendor/github.com/google/cel-go/common/types/uint.go new file mode 100644 index 000000000..6d74f30d8 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/uint.go @@ -0,0 +1,256 @@ +// Copyright 2018 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 types + +import ( + "fmt" + "math" + "reflect" + "strconv" + + "github.com/google/cel-go/common/types/ref" + + anypb "google.golang.org/protobuf/types/known/anypb" + structpb "google.golang.org/protobuf/types/known/structpb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" +) + +// Uint type implementation which supports comparison and math operators. +type Uint uint64 + +var ( + uint32WrapperType = reflect.TypeOf(&wrapperspb.UInt32Value{}) + + uint64WrapperType = reflect.TypeOf(&wrapperspb.UInt64Value{}) +) + +// Uint constants +const ( + uintZero = Uint(0) +) + +// Add implements traits.Adder.Add. +func (i Uint) Add(other ref.Val) ref.Val { + otherUint, ok := other.(Uint) + if !ok { + return MaybeNoSuchOverloadErr(other) + } + val, err := addUint64Checked(uint64(i), uint64(otherUint)) + if err != nil { + return WrapErr(err) + } + return Uint(val) +} + +// Compare implements traits.Comparer.Compare. +func (i Uint) Compare(other ref.Val) ref.Val { + switch ov := other.(type) { + case Double: + if math.IsNaN(float64(ov)) { + return NewErr("NaN values cannot be ordered") + } + return compareUintDouble(i, ov) + case Int: + return compareUintInt(i, ov) + case Uint: + return compareUint(i, ov) + default: + return MaybeNoSuchOverloadErr(other) + } +} + +// ConvertToNative implements ref.Val.ConvertToNative. +func (i Uint) ConvertToNative(typeDesc reflect.Type) (any, error) { + switch typeDesc.Kind() { + case reflect.Uint, reflect.Uint32: + v, err := uint64ToUint32Checked(uint64(i)) + if err != nil { + return 0, err + } + return reflect.ValueOf(v).Convert(typeDesc).Interface(), nil + case reflect.Uint8: + v, err := uint64ToUint8Checked(uint64(i)) + if err != nil { + return 0, err + } + return reflect.ValueOf(v).Convert(typeDesc).Interface(), nil + case reflect.Uint16: + v, err := uint64ToUint16Checked(uint64(i)) + if err != nil { + return 0, err + } + return reflect.ValueOf(v).Convert(typeDesc).Interface(), nil + case reflect.Uint64: + return reflect.ValueOf(i).Convert(typeDesc).Interface(), nil + case reflect.Ptr: + switch typeDesc { + case anyValueType: + // Primitives must be wrapped before being set on an Any field. + return anypb.New(wrapperspb.UInt64(uint64(i))) + case jsonValueType: + // JSON can accurately represent 32-bit uints as floating point values. + if i.isJSONSafe() { + return structpb.NewNumberValue(float64(i)), nil + } + // Proto3 to JSON conversion requires string-formatted uint64 values + // since the conversion to floating point would result in truncation. + return structpb.NewStringValue(strconv.FormatUint(uint64(i), 10)), nil + case uint32WrapperType: + // Convert the value to a wrapperspb.UInt32Value, error on overflow. + v, err := uint64ToUint32Checked(uint64(i)) + if err != nil { + return 0, err + } + return wrapperspb.UInt32(v), nil + case uint64WrapperType: + // Convert the value to a wrapperspb.UInt64Value. + return wrapperspb.UInt64(uint64(i)), nil + } + switch typeDesc.Elem().Kind() { + case reflect.Uint32: + v, err := uint64ToUint32Checked(uint64(i)) + if err != nil { + return 0, err + } + p := reflect.New(typeDesc.Elem()) + p.Elem().Set(reflect.ValueOf(v).Convert(typeDesc.Elem())) + return p.Interface(), nil + case reflect.Uint64: + v := uint64(i) + p := reflect.New(typeDesc.Elem()) + p.Elem().Set(reflect.ValueOf(v).Convert(typeDesc.Elem())) + return p.Interface(), nil + } + case reflect.Interface: + iv := i.Value() + if reflect.TypeOf(iv).Implements(typeDesc) { + return iv, nil + } + if reflect.TypeOf(i).Implements(typeDesc) { + return i, nil + } + } + return nil, fmt.Errorf("unsupported type conversion from 'uint' to %v", typeDesc) +} + +// ConvertToType implements ref.Val.ConvertToType. +func (i Uint) ConvertToType(typeVal ref.Type) ref.Val { + switch typeVal { + case IntType: + v, err := uint64ToInt64Checked(uint64(i)) + if err != nil { + return WrapErr(err) + } + return Int(v) + case UintType: + return i + case DoubleType: + return Double(i) + case StringType: + return String(fmt.Sprintf("%d", uint64(i))) + case TypeType: + return UintType + } + return NewErr("type conversion error from '%s' to '%s'", UintType, typeVal) +} + +// Divide implements traits.Divider.Divide. +func (i Uint) Divide(other ref.Val) ref.Val { + otherUint, ok := other.(Uint) + if !ok { + return MaybeNoSuchOverloadErr(other) + } + div, err := divideUint64Checked(uint64(i), uint64(otherUint)) + if err != nil { + return WrapErr(err) + } + return Uint(div) +} + +// Equal implements ref.Val.Equal. +func (i Uint) Equal(other ref.Val) ref.Val { + switch ov := other.(type) { + case Double: + if math.IsNaN(float64(ov)) { + return False + } + return Bool(compareUintDouble(i, ov) == 0) + case Int: + return Bool(compareUintInt(i, ov) == 0) + case Uint: + return Bool(i == ov) + default: + return False + } +} + +// IsZeroValue returns true if the uint is zero. +func (i Uint) IsZeroValue() bool { + return i == 0 +} + +// Modulo implements traits.Modder.Modulo. +func (i Uint) Modulo(other ref.Val) ref.Val { + otherUint, ok := other.(Uint) + if !ok { + return MaybeNoSuchOverloadErr(other) + } + mod, err := moduloUint64Checked(uint64(i), uint64(otherUint)) + if err != nil { + return WrapErr(err) + } + return Uint(mod) +} + +// Multiply implements traits.Multiplier.Multiply. +func (i Uint) Multiply(other ref.Val) ref.Val { + otherUint, ok := other.(Uint) + if !ok { + return MaybeNoSuchOverloadErr(other) + } + val, err := multiplyUint64Checked(uint64(i), uint64(otherUint)) + if err != nil { + return WrapErr(err) + } + return Uint(val) +} + +// Subtract implements traits.Subtractor.Subtract. +func (i Uint) Subtract(subtrahend ref.Val) ref.Val { + subtraUint, ok := subtrahend.(Uint) + if !ok { + return MaybeNoSuchOverloadErr(subtrahend) + } + val, err := subtractUint64Checked(uint64(i), uint64(subtraUint)) + if err != nil { + return WrapErr(err) + } + return Uint(val) +} + +// Type implements ref.Val.Type. +func (i Uint) Type() ref.Type { + return UintType +} + +// Value implements ref.Val.Value. +func (i Uint) Value() any { + return uint64(i) +} + +// isJSONSafe indicates whether the uint is safely representable as a floating point value in JSON. +func (i Uint) isJSONSafe() bool { + return i <= maxIntJSON +} diff --git a/vendor/github.com/google/cel-go/common/types/unknown.go b/vendor/github.com/google/cel-go/common/types/unknown.go new file mode 100644 index 000000000..9dd2b2579 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/unknown.go @@ -0,0 +1,326 @@ +// Copyright 2018 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 types + +import ( + "fmt" + "math" + "reflect" + "sort" + "strings" + "unicode" + + "github.com/google/cel-go/common/types/ref" +) + +var ( + unspecifiedAttribute = &AttributeTrail{qualifierPath: []any{}} +) + +// NewAttributeTrail creates a new simple attribute from a variable name. +func NewAttributeTrail(variable string) *AttributeTrail { + if variable == "" { + return unspecifiedAttribute + } + return &AttributeTrail{variable: variable} +} + +// AttributeTrail specifies a variable with an optional qualifier path. An attribute value is expected to +// correspond to an AbsoluteAttribute, meaning a field selection which starts with a top-level variable. +// +// The qualifer path elements adhere to the AttributeQualifier type constraint. +type AttributeTrail struct { + variable string + qualifierPath []any +} + +// Equal returns whether two attribute values have the same variable name and qualifier paths. +func (a *AttributeTrail) Equal(other *AttributeTrail) bool { + if a.Variable() != other.Variable() || len(a.QualifierPath()) != len(other.QualifierPath()) { + return false + } + for i, q := range a.QualifierPath() { + qual := other.QualifierPath()[i] + if !qualifiersEqual(q, qual) { + return false + } + } + return true +} + +func qualifiersEqual(a, b any) bool { + if a == b { + return true + } + switch numA := a.(type) { + case int64: + numB, ok := b.(uint64) + if !ok { + return false + } + return intUintEqual(numA, numB) + case uint64: + numB, ok := b.(int64) + if !ok { + return false + } + return intUintEqual(numB, numA) + default: + return false + } +} + +func intUintEqual(i int64, u uint64) bool { + if i < 0 || u > math.MaxInt64 { + return false + } + return i == int64(u) +} + +// Variable returns the variable name associated with the attribute. +func (a *AttributeTrail) Variable() string { + return a.variable +} + +// QualifierPath returns the optional set of qualifying fields or indices applied to the variable. +func (a *AttributeTrail) QualifierPath() []any { + return a.qualifierPath +} + +// String returns the string representation of the Attribute. +func (a *AttributeTrail) String() string { + if a.variable == "" { + return "" + } + var str strings.Builder + str.WriteString(a.variable) + for _, q := range a.qualifierPath { + switch q := q.(type) { + case bool, int64: + str.WriteString(fmt.Sprintf("[%v]", q)) + case uint64: + str.WriteString(fmt.Sprintf("[%vu]", q)) + case string: + if isIdentifierCharacter(q) { + str.WriteString(fmt.Sprintf(".%v", q)) + } else { + str.WriteString(fmt.Sprintf("[%q]", q)) + } + } + } + return str.String() +} + +func isIdentifierCharacter(str string) bool { + for _, c := range str { + if unicode.IsLetter(c) || unicode.IsDigit(c) || string(c) == "_" { + continue + } + return false + } + return true +} + +// AttributeQualifier constrains the possible types which may be used to qualify an attribute. +type AttributeQualifier interface { + bool | int64 | uint64 | string +} + +// QualifyAttribute qualifies an attribute using a valid AttributeQualifier type. +func QualifyAttribute[T AttributeQualifier](attr *AttributeTrail, qualifier T) *AttributeTrail { + attr.qualifierPath = append(attr.qualifierPath, qualifier) + return attr +} + +// Unknown type which collects expression ids which caused the current value to become unknown. +type Unknown struct { + attributeTrails map[int64][]*AttributeTrail +} + +// NewUnknown creates a new unknown at a given expression id for an attribute. +// +// If the attribute is nil, the attribute value will be the `unspecifiedAttribute`. +func NewUnknown(id int64, attr *AttributeTrail) *Unknown { + if attr == nil { + attr = unspecifiedAttribute + } + return &Unknown{ + attributeTrails: map[int64][]*AttributeTrail{id: {attr}}, + } +} + +// IDs returns the set of unknown expression ids contained by this value. +// +// Numeric identifiers are guaranteed to be in sorted order. +func (u *Unknown) IDs() []int64 { + ids := make(int64Slice, len(u.attributeTrails)) + i := 0 + for id := range u.attributeTrails { + ids[i] = id + i++ + } + ids.Sort() + return ids +} + +// GetAttributeTrails returns the attribute trails, if present, missing for a given expression id. +func (u *Unknown) GetAttributeTrails(id int64) ([]*AttributeTrail, bool) { + trails, found := u.attributeTrails[id] + return trails, found +} + +// Contains returns true if the input unknown is a subset of the current unknown. +func (u *Unknown) Contains(other *Unknown) bool { + for id, otherTrails := range other.attributeTrails { + trails, found := u.attributeTrails[id] + if !found || len(otherTrails) != len(trails) { + return false + } + for _, ot := range otherTrails { + found := false + for _, t := range trails { + if t.Equal(ot) { + found = true + break + } + } + if !found { + return false + } + } + } + return true +} + +// ConvertToNative implements ref.Val.ConvertToNative. +func (u *Unknown) ConvertToNative(typeDesc reflect.Type) (any, error) { + return u.Value(), nil +} + +// ConvertToType is an identity function since unknown values cannot be modified. +func (u *Unknown) ConvertToType(typeVal ref.Type) ref.Val { + return u +} + +// Equal is an identity function since unknown values cannot be modified. +func (u *Unknown) Equal(other ref.Val) ref.Val { + return u +} + +// String implements the Stringer interface +func (u *Unknown) String() string { + var str strings.Builder + for id, attrs := range u.attributeTrails { + if str.Len() != 0 { + str.WriteString(", ") + } + if len(attrs) == 1 { + str.WriteString(fmt.Sprintf("%v (%d)", attrs[0], id)) + } else { + str.WriteString(fmt.Sprintf("%v (%d)", attrs, id)) + } + } + return str.String() +} + +// Type implements ref.Val.Type. +func (u *Unknown) Type() ref.Type { + return UnknownType +} + +// Value implements ref.Val.Value. +func (u *Unknown) Value() any { + return u +} + +// IsUnknown returns whether the element ref.Val is in instance of *types.Unknown +func IsUnknown(val ref.Val) bool { + switch val.(type) { + case *Unknown: + return true + default: + return false + } +} + +// MaybeMergeUnknowns determines whether an input value and another, possibly nil, unknown will produce +// an unknown result. +// +// If the input `val` is another Unknown, then the result will be the merge of the `val` and the input +// `unk`. If the `val` is not unknown, then the result will depend on whether the input `unk` is nil. +// If both values are non-nil and unknown, then the return value will be a merge of both unknowns. +func MaybeMergeUnknowns(val ref.Val, unk *Unknown) (*Unknown, bool) { + src, isUnk := val.(*Unknown) + if !isUnk { + if unk != nil { + return unk, true + } + return unk, false + } + return MergeUnknowns(src, unk), true +} + +// MergeUnknowns combines two unknown values into a new unknown value. +func MergeUnknowns(unk1, unk2 *Unknown) *Unknown { + if unk1 == nil { + return unk2 + } + if unk2 == nil { + return unk1 + } + out := &Unknown{ + attributeTrails: make(map[int64][]*AttributeTrail, len(unk1.attributeTrails)+len(unk2.attributeTrails)), + } + for id, ats := range unk1.attributeTrails { + out.attributeTrails[id] = ats + } + for id, ats := range unk2.attributeTrails { + existing, found := out.attributeTrails[id] + if !found { + out.attributeTrails[id] = ats + continue + } + + for _, at := range ats { + found := false + for _, et := range existing { + if at.Equal(et) { + found = true + break + } + } + if !found { + existing = append(existing, at) + } + } + out.attributeTrails[id] = existing + } + return out +} + +// int64Slice is an implementation of the sort.Interface +type int64Slice []int64 + +// Len returns the number of elements in the slice. +func (x int64Slice) Len() int { return len(x) } + +// Less indicates whether the value at index i is less than the value at index j. +func (x int64Slice) Less(i, j int) bool { return x[i] < x[j] } + +// Swap swaps the values at indices i and j in place. +func (x int64Slice) Swap(i, j int) { x[i], x[j] = x[j], x[i] } + +// Sort is a convenience method: x.Sort() calls Sort(x). +func (x int64Slice) Sort() { sort.Sort(x) } diff --git a/vendor/github.com/google/cel-go/common/types/util.go b/vendor/github.com/google/cel-go/common/types/util.go new file mode 100644 index 000000000..71662eee3 --- /dev/null +++ b/vendor/github.com/google/cel-go/common/types/util.go @@ -0,0 +1,48 @@ +// Copyright 2018 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 types + +import ( + "github.com/google/cel-go/common/types/ref" +) + +// IsUnknownOrError returns whether the input element ref.Val is an ErrType or UnknownType. +func IsUnknownOrError(val ref.Val) bool { + switch val.(type) { + case *Unknown, *Err: + return true + } + return false +} + +// IsPrimitiveType returns whether the input element ref.Val is a primitive type. +// Note, primitive types do not include well-known types such as Duration and Timestamp. +func IsPrimitiveType(val ref.Val) bool { + switch val.Type() { + case BoolType, BytesType, DoubleType, IntType, StringType, UintType: + return true + } + return false +} + +// Equal returns whether the two ref.Value are heterogeneously equivalent. +func Equal(lhs ref.Val, rhs ref.Val) ref.Val { + lNull := lhs == NullValue + rNull := rhs == NullValue + if lNull || rNull { + return Bool(lNull == rNull) + } + return lhs.Equal(rhs) +} diff --git a/vendor/github.com/google/cel-go/interpreter/BUILD.bazel b/vendor/github.com/google/cel-go/interpreter/BUILD.bazel new file mode 100644 index 000000000..220e23d47 --- /dev/null +++ b/vendor/github.com/google/cel-go/interpreter/BUILD.bazel @@ -0,0 +1,74 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +package( + default_visibility = ["//visibility:public"], + licenses = ["notice"], # Apache 2.0 +) + +go_library( + name = "go_default_library", + srcs = [ + "activation.go", + "attribute_patterns.go", + "attributes.go", + "decorators.go", + "dispatcher.go", + "evalstate.go", + "interpretable.go", + "interpreter.go", + "optimizations.go", + "planner.go", + "prune.go", + "runtimecost.go", + ], + importpath = "github.com/google/cel-go/interpreter", + deps = [ + "//common:go_default_library", + "//common/ast:go_default_library", + "//common/containers:go_default_library", + "//common/functions:go_default_library", + "//common/operators:go_default_library", + "//common/overloads:go_default_library", + "//common/types:go_default_library", + "//common/types/ref:go_default_library", + "//common/types/traits:go_default_library", + "@org_golang_google_genproto_googleapis_api//expr/v1alpha1:go_default_library", + "@org_golang_google_protobuf//proto:go_default_library", + "@org_golang_google_protobuf//types/known/durationpb:go_default_library", + "@org_golang_google_protobuf//types/known/structpb:go_default_library", + "@org_golang_google_protobuf//types/known/timestamppb:go_default_library", + "@org_golang_google_protobuf//types/known/wrapperspb:go_default_library", + ], +) + +go_test( + name = "go_default_test", + srcs = [ + "activation_test.go", + "attribute_patterns_test.go", + "attributes_test.go", + "interpreter_test.go", + "prune_test.go", + "runtimecost_test.go", + ], + embed = [ + ":go_default_library", + ], + deps = [ + "//checker:go_default_library", + "//common/containers:go_default_library", + "//common/debug:go_default_library", + "//common/decls:go_default_library", + "//common/functions:go_default_library", + "//common/operators:go_default_library", + "//common/stdlib:go_default_library", + "//common/types:go_default_library", + "//parser:go_default_library", + "//test:go_default_library", + "//test/proto2pb:go_default_library", + "//test/proto3pb:go_default_library", + "@org_golang_google_genproto_googleapis_api//expr/v1alpha1:go_default_library", + "@org_golang_google_protobuf//proto:go_default_library", + "@org_golang_google_protobuf//types/known/anypb:go_default_library", + ], +) diff --git a/vendor/github.com/google/cel-go/interpreter/activation.go b/vendor/github.com/google/cel-go/interpreter/activation.go new file mode 100644 index 000000000..1577f3590 --- /dev/null +++ b/vendor/github.com/google/cel-go/interpreter/activation.go @@ -0,0 +1,168 @@ +// Copyright 2018 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 interpreter + +import ( + "errors" + "fmt" + + "github.com/google/cel-go/common/types/ref" +) + +// Activation used to resolve identifiers by name and references by id. +// +// An Activation is the primary mechanism by which a caller supplies input into a CEL program. +type Activation interface { + // ResolveName returns a value from the activation by qualified name, or false if the name + // could not be found. + ResolveName(name string) (any, bool) + + // Parent returns the parent of the current activation, may be nil. + // If non-nil, the parent will be searched during resolve calls. + Parent() Activation +} + +// EmptyActivation returns a variable-free activation. +func EmptyActivation() Activation { + return emptyActivation{} +} + +// emptyActivation is a variable-free activation. +type emptyActivation struct{} + +func (emptyActivation) ResolveName(string) (any, bool) { return nil, false } +func (emptyActivation) Parent() Activation { return nil } + +// NewActivation returns an activation based on a map-based binding where the map keys are +// expected to be qualified names used with ResolveName calls. +// +// The input `bindings` may either be of type `Activation` or `map[string]any`. +// +// Lazy bindings may be supplied within the map-based input in either of the following forms: +// - func() any +// - func() ref.Val +// +// The output of the lazy binding will overwrite the variable reference in the internal map. +// +// Values which are not represented as ref.Val types on input may be adapted to a ref.Val using +// the types.Adapter configured in the environment. +func NewActivation(bindings any) (Activation, error) { + if bindings == nil { + return nil, errors.New("bindings must be non-nil") + } + a, isActivation := bindings.(Activation) + if isActivation { + return a, nil + } + m, isMap := bindings.(map[string]any) + if !isMap { + return nil, fmt.Errorf( + "activation input must be an activation or map[string]interface: got %T", + bindings) + } + return &mapActivation{bindings: m}, nil +} + +// mapActivation which implements Activation and maps of named values. +// +// Named bindings may lazily supply values by providing a function which accepts no arguments and +// produces an interface value. +type mapActivation struct { + bindings map[string]any +} + +// Parent implements the Activation interface method. +func (a *mapActivation) Parent() Activation { + return nil +} + +// ResolveName implements the Activation interface method. +func (a *mapActivation) ResolveName(name string) (any, bool) { + obj, found := a.bindings[name] + if !found { + return nil, false + } + fn, isLazy := obj.(func() ref.Val) + if isLazy { + obj = fn() + a.bindings[name] = obj + } + fnRaw, isLazy := obj.(func() any) + if isLazy { + obj = fnRaw() + a.bindings[name] = obj + } + return obj, found +} + +// hierarchicalActivation which implements Activation and contains a parent and +// child activation. +type hierarchicalActivation struct { + parent Activation + child Activation +} + +// Parent implements the Activation interface method. +func (a *hierarchicalActivation) Parent() Activation { + return a.parent +} + +// ResolveName implements the Activation interface method. +func (a *hierarchicalActivation) ResolveName(name string) (any, bool) { + if object, found := a.child.ResolveName(name); found { + return object, found + } + return a.parent.ResolveName(name) +} + +// NewHierarchicalActivation takes two activations and produces a new one which prioritizes +// resolution in the child first and parent(s) second. +func NewHierarchicalActivation(parent Activation, child Activation) Activation { + return &hierarchicalActivation{parent, child} +} + +// NewPartialActivation returns an Activation which contains a list of AttributePattern values +// representing field and index operations that should result in a 'types.Unknown' result. +// +// The `bindings` value may be any value type supported by the interpreter.NewActivation call, +// but is typically either an existing Activation or map[string]any. +func NewPartialActivation(bindings any, + unknowns ...*AttributePattern) (PartialActivation, error) { + a, err := NewActivation(bindings) + if err != nil { + return nil, err + } + return &partActivation{Activation: a, unknowns: unknowns}, nil +} + +// PartialActivation extends the Activation interface with a set of UnknownAttributePatterns. +type PartialActivation interface { + Activation + + // UnknownAttributePaths returns a set of AttributePattern values which match Attribute + // expressions for data accesses whose values are not yet known. + UnknownAttributePatterns() []*AttributePattern +} + +// partActivation is the default implementations of the PartialActivation interface. +type partActivation struct { + Activation + unknowns []*AttributePattern +} + +// UnknownAttributePatterns implements the PartialActivation interface method. +func (a *partActivation) UnknownAttributePatterns() []*AttributePattern { + return a.unknowns +} diff --git a/vendor/github.com/google/cel-go/interpreter/attribute_patterns.go b/vendor/github.com/google/cel-go/interpreter/attribute_patterns.go new file mode 100644 index 000000000..8f19bde7e --- /dev/null +++ b/vendor/github.com/google/cel-go/interpreter/attribute_patterns.go @@ -0,0 +1,397 @@ +// Copyright 2020 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 interpreter + +import ( + "fmt" + + "github.com/google/cel-go/common/containers" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" +) + +// AttributePattern represents a top-level variable with an optional set of qualifier patterns. +// +// When using a CEL expression within a container, e.g. a package or namespace, the variable name +// in the pattern must match the qualified name produced during the variable namespace resolution. +// For example, if variable `c` appears in an expression whose container is `a.b`, the variable +// name supplied to the pattern must be `a.b.c` +// +// The qualifier patterns for attribute matching must be one of the following: +// +// - valid map key type: string, int, uint, bool +// - wildcard (*) +// +// Examples: +// +// 1. ns.myvar["complex-value"] +// 2. ns.myvar["complex-value"][0] +// 3. ns.myvar["complex-value"].*.name +// +// The first example is simple: match an attribute where the variable is 'ns.myvar' with a +// field access on 'complex-value'. The second example expands the match to indicate that only +// a specific index `0` should match. And lastly, the third example matches any indexed access +// that later selects the 'name' field. +type AttributePattern struct { + variable string + qualifierPatterns []*AttributeQualifierPattern +} + +// NewAttributePattern produces a new mutable AttributePattern based on a variable name. +func NewAttributePattern(variable string) *AttributePattern { + return &AttributePattern{ + variable: variable, + qualifierPatterns: []*AttributeQualifierPattern{}, + } +} + +// QualString adds a string qualifier pattern to the AttributePattern. The string may be a valid +// identifier, or string map key including empty string. +func (apat *AttributePattern) QualString(pattern string) *AttributePattern { + apat.qualifierPatterns = append(apat.qualifierPatterns, + &AttributeQualifierPattern{value: pattern}) + return apat +} + +// QualInt adds an int qualifier pattern to the AttributePattern. The index may be either a map or +// list index. +func (apat *AttributePattern) QualInt(pattern int64) *AttributePattern { + apat.qualifierPatterns = append(apat.qualifierPatterns, + &AttributeQualifierPattern{value: pattern}) + return apat +} + +// QualUint adds an uint qualifier pattern for a map index operation to the AttributePattern. +func (apat *AttributePattern) QualUint(pattern uint64) *AttributePattern { + apat.qualifierPatterns = append(apat.qualifierPatterns, + &AttributeQualifierPattern{value: pattern}) + return apat +} + +// QualBool adds a bool qualifier pattern for a map index operation to the AttributePattern. +func (apat *AttributePattern) QualBool(pattern bool) *AttributePattern { + apat.qualifierPatterns = append(apat.qualifierPatterns, + &AttributeQualifierPattern{value: pattern}) + return apat +} + +// Wildcard adds a special sentinel qualifier pattern that will match any single qualifier. +func (apat *AttributePattern) Wildcard() *AttributePattern { + apat.qualifierPatterns = append(apat.qualifierPatterns, + &AttributeQualifierPattern{wildcard: true}) + return apat +} + +// VariableMatches returns true if the fully qualified variable matches the AttributePattern +// fully qualified variable name. +func (apat *AttributePattern) VariableMatches(variable string) bool { + return apat.variable == variable +} + +// QualifierPatterns returns the set of AttributeQualifierPattern values on the AttributePattern. +func (apat *AttributePattern) QualifierPatterns() []*AttributeQualifierPattern { + return apat.qualifierPatterns +} + +// AttributeQualifierPattern holds a wildcard or valued qualifier pattern. +type AttributeQualifierPattern struct { + wildcard bool + value any +} + +// Matches returns true if the qualifier pattern is a wildcard, or the Qualifier implements the +// qualifierValueEquator interface and its IsValueEqualTo returns true for the qualifier pattern. +func (qpat *AttributeQualifierPattern) Matches(q Qualifier) bool { + if qpat.wildcard { + return true + } + qve, ok := q.(qualifierValueEquator) + return ok && qve.QualifierValueEquals(qpat.value) +} + +// qualifierValueEquator defines an interface for determining if an input value, of valid map key +// type, is equal to the value held in the Qualifier. This interface is used by the +// AttributeQualifierPattern to determine pattern matches for non-wildcard qualifier patterns. +// +// Note: Attribute values are also Qualifier values; however, Attributes are resolved before +// qualification happens. This is an implementation detail, but one relevant to why the Attribute +// types do not surface in the list of implementations. +// +// See: partialAttributeFactory.matchesUnknownPatterns for more details on how this interface is +// used. +type qualifierValueEquator interface { + // QualifierValueEquals returns true if the input value is equal to the value held in the + // Qualifier. + QualifierValueEquals(value any) bool +} + +// QualifierValueEquals implementation for boolean qualifiers. +func (q *boolQualifier) QualifierValueEquals(value any) bool { + bval, ok := value.(bool) + return ok && q.value == bval +} + +// QualifierValueEquals implementation for field qualifiers. +func (q *fieldQualifier) QualifierValueEquals(value any) bool { + sval, ok := value.(string) + return ok && q.Name == sval +} + +// QualifierValueEquals implementation for string qualifiers. +func (q *stringQualifier) QualifierValueEquals(value any) bool { + sval, ok := value.(string) + return ok && q.value == sval +} + +// QualifierValueEquals implementation for int qualifiers. +func (q *intQualifier) QualifierValueEquals(value any) bool { + return numericValueEquals(value, q.celValue) +} + +// QualifierValueEquals implementation for uint qualifiers. +func (q *uintQualifier) QualifierValueEquals(value any) bool { + return numericValueEquals(value, q.celValue) +} + +// QualifierValueEquals implementation for double qualifiers. +func (q *doubleQualifier) QualifierValueEquals(value any) bool { + return numericValueEquals(value, q.celValue) +} + +// numericValueEquals uses CEL equality to determine whether two number values are +func numericValueEquals(value any, celValue ref.Val) bool { + val := types.DefaultTypeAdapter.NativeToValue(value) + return celValue.Equal(val) == types.True +} + +// NewPartialAttributeFactory returns an AttributeFactory implementation capable of performing +// AttributePattern matches with PartialActivation inputs. +func NewPartialAttributeFactory(container *containers.Container, adapter types.Adapter, provider types.Provider, opts ...AttrFactoryOption) AttributeFactory { + fac := NewAttributeFactory(container, adapter, provider, opts...) + return &partialAttributeFactory{ + AttributeFactory: fac, + container: container, + adapter: adapter, + provider: provider, + } +} + +type partialAttributeFactory struct { + AttributeFactory + container *containers.Container + adapter types.Adapter + provider types.Provider +} + +// AbsoluteAttribute implementation of the AttributeFactory interface which wraps the +// NamespacedAttribute resolution in an internal attributeMatcher object to dynamically match +// unknown patterns from PartialActivation inputs if given. +func (fac *partialAttributeFactory) AbsoluteAttribute(id int64, names ...string) NamespacedAttribute { + attr := fac.AttributeFactory.AbsoluteAttribute(id, names...) + return &attributeMatcher{fac: fac, NamespacedAttribute: attr} +} + +// MaybeAttribute implementation of the AttributeFactory interface which ensure that the set of +// 'maybe' NamespacedAttribute values are produced using the partialAttributeFactory rather than +// the base AttributeFactory implementation. +func (fac *partialAttributeFactory) MaybeAttribute(id int64, name string) Attribute { + return &maybeAttribute{ + id: id, + attrs: []NamespacedAttribute{ + fac.AbsoluteAttribute(id, fac.container.ResolveCandidateNames(name)...), + }, + adapter: fac.adapter, + provider: fac.provider, + fac: fac, + } +} + +// matchesUnknownPatterns returns true if the variable names and qualifiers for a given +// Attribute value match any of the ActivationPattern objects in the set of unknown activation +// patterns on the given PartialActivation. +// +// For example, in the expression `a.b`, the Attribute is composed of variable `a`, with string +// qualifier `b`. When a PartialActivation is supplied, it indicates that some or all of the data +// provided in the input is unknown by specifying unknown AttributePatterns. An AttributePattern +// that refers to variable `a` with a string qualifier of `c` will not match `a.b`; however, any +// of the following patterns will match Attribute `a.b`: +// +// - `AttributePattern("a")` +// - `AttributePattern("a").Wildcard()` +// - `AttributePattern("a").QualString("b")` +// - `AttributePattern("a").QualString("b").QualInt(0)` +// +// Any AttributePattern which overlaps an Attribute or vice-versa will produce an Unknown result +// for the last pattern matched variable or qualifier in the Attribute. In the first matching +// example, the expression id representing variable `a` would be listed in the Unknown result, +// whereas in the other pattern examples, the qualifier `b` would be returned as the Unknown. +func (fac *partialAttributeFactory) matchesUnknownPatterns( + vars PartialActivation, + attrID int64, + variableNames []string, + qualifiers []Qualifier) (*types.Unknown, error) { + patterns := vars.UnknownAttributePatterns() + candidateIndices := map[int]struct{}{} + for _, variable := range variableNames { + for i, pat := range patterns { + if pat.VariableMatches(variable) { + if len(qualifiers) == 0 { + return types.NewUnknown(attrID, types.NewAttributeTrail(variable)), nil + } + candidateIndices[i] = struct{}{} + } + } + } + // Determine whether to return early if there are no candidate unknown patterns. + if len(candidateIndices) == 0 { + return nil, nil + } + // Resolve the attribute qualifiers into a static set. This prevents more dynamic + // Attribute resolutions than necessary when there are multiple unknown patterns + // that traverse the same Attribute-based qualifier field. + newQuals := make([]Qualifier, len(qualifiers)) + for i, qual := range qualifiers { + attr, isAttr := qual.(Attribute) + if isAttr { + val, err := attr.Resolve(vars) + if err != nil { + return nil, err + } + // If this resolution behavior ever changes, new implementations of the + // qualifierValueEquator may be required to handle proper resolution. + qual, err = fac.NewQualifier(nil, qual.ID(), val, attr.IsOptional()) + if err != nil { + return nil, err + } + } + newQuals[i] = qual + } + // Determine whether any of the unknown patterns match. + for patIdx := range candidateIndices { + pat := patterns[patIdx] + isUnk := true + matchExprID := attrID + qualPats := pat.QualifierPatterns() + for i, qual := range newQuals { + if i >= len(qualPats) { + break + } + matchExprID = qual.ID() + qualPat := qualPats[i] + // Note, the AttributeQualifierPattern relies on the input Qualifier not being an + // Attribute, since there is no way to resolve the Attribute with the information + // provided to the Matches call. + if !qualPat.Matches(qual) { + isUnk = false + break + } + } + if isUnk { + attr := types.NewAttributeTrail(pat.variable) + for i := 0; i < len(qualPats) && i < len(newQuals); i++ { + if qual, ok := newQuals[i].(ConstantQualifier); ok { + switch v := qual.Value().Value().(type) { + case bool: + types.QualifyAttribute[bool](attr, v) + case float64: + types.QualifyAttribute[int64](attr, int64(v)) + case int64: + types.QualifyAttribute[int64](attr, v) + case string: + types.QualifyAttribute[string](attr, v) + case uint64: + types.QualifyAttribute[uint64](attr, v) + default: + types.QualifyAttribute[string](attr, fmt.Sprintf("%v", v)) + } + } else { + types.QualifyAttribute[string](attr, "*") + } + } + return types.NewUnknown(matchExprID, attr), nil + } + } + return nil, nil +} + +// attributeMatcher embeds the NamespacedAttribute interface which allows it to participate in +// AttributePattern matching against Attribute values without having to modify the code paths that +// identify Attributes in expressions. +type attributeMatcher struct { + NamespacedAttribute + qualifiers []Qualifier + fac *partialAttributeFactory +} + +// AddQualifier implements the Attribute interface method. +func (m *attributeMatcher) AddQualifier(qual Qualifier) (Attribute, error) { + // Add the qualifier to the embedded NamespacedAttribute. If the input to the Resolve + // method is not a PartialActivation, or does not match an unknown attribute pattern, the + // Resolve method is directly invoked on the underlying NamespacedAttribute. + _, err := m.NamespacedAttribute.AddQualifier(qual) + if err != nil { + return nil, err + } + // The attributeMatcher overloads TryResolve and will attempt to match unknown patterns against + // the variable name and qualifier set contained within the Attribute. These values are not + // directly inspectable on the top-level NamespacedAttribute interface and so are tracked within + // the attributeMatcher. + m.qualifiers = append(m.qualifiers, qual) + return m, nil +} + +// Resolve is an implementation of the NamespacedAttribute interface method which tests +// for matching unknown attribute patterns and returns types.Unknown if present. Otherwise, +// the standard Resolve logic applies. +func (m *attributeMatcher) Resolve(vars Activation) (any, error) { + id := m.NamespacedAttribute.ID() + // Bug in how partial activation is resolved, should search parents as well. + partial, isPartial := toPartialActivation(vars) + if isPartial { + unk, err := m.fac.matchesUnknownPatterns( + partial, + id, + m.CandidateVariableNames(), + m.qualifiers) + if err != nil { + return nil, err + } + if unk != nil { + return unk, nil + } + } + return m.NamespacedAttribute.Resolve(vars) +} + +// Qualify is an implementation of the Qualifier interface method. +func (m *attributeMatcher) Qualify(vars Activation, obj any) (any, error) { + return attrQualify(m.fac, vars, obj, m) +} + +// QualifyIfPresent is an implementation of the Qualifier interface method. +func (m *attributeMatcher) QualifyIfPresent(vars Activation, obj any, presenceOnly bool) (any, bool, error) { + return attrQualifyIfPresent(m.fac, vars, obj, m, presenceOnly) +} + +func toPartialActivation(vars Activation) (PartialActivation, bool) { + pv, ok := vars.(PartialActivation) + if ok { + return pv, true + } + if vars.Parent() != nil { + return toPartialActivation(vars.Parent()) + } + return nil, false +} diff --git a/vendor/github.com/google/cel-go/interpreter/attributes.go b/vendor/github.com/google/cel-go/interpreter/attributes.go new file mode 100644 index 000000000..b1b3aacc8 --- /dev/null +++ b/vendor/github.com/google/cel-go/interpreter/attributes.go @@ -0,0 +1,1436 @@ +// Copyright 2019 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 interpreter + +import ( + "fmt" + "strings" + + "github.com/google/cel-go/common/containers" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" + "github.com/google/cel-go/common/types/traits" +) + +// AttributeFactory provides methods creating Attribute and Qualifier values. +type AttributeFactory interface { + // AbsoluteAttribute creates an attribute that refers to a top-level variable name. + // + // Checked expressions generate absolute attribute with a single name. + // Parse-only expressions may have more than one possible absolute identifier when the + // expression is created within a container, e.g. package or namespace. + // + // When there is more than one name supplied to the AbsoluteAttribute call, the names + // must be in CEL's namespace resolution order. The name arguments provided here are + // returned in the same order as they were provided by the NamespacedAttribute + // CandidateVariableNames method. + AbsoluteAttribute(id int64, names ...string) NamespacedAttribute + + // ConditionalAttribute creates an attribute with two Attribute branches, where the Attribute + // that is resolved depends on the boolean evaluation of the input 'expr'. + ConditionalAttribute(id int64, expr Interpretable, t, f Attribute) Attribute + + // MaybeAttribute creates an attribute that refers to either a field selection or a namespaced + // variable name. + // + // Only expressions which have not been type-checked may generate oneof attributes. + MaybeAttribute(id int64, name string) Attribute + + // RelativeAttribute creates an attribute whose value is a qualification of a dynamic + // computation rather than a static variable reference. + RelativeAttribute(id int64, operand Interpretable) Attribute + + // NewQualifier creates a qualifier on the target object with a given value. + // + // The 'val' may be an Attribute or any proto-supported map key type: bool, int, string, uint. + // + // The qualifier may consider the object type being qualified, if present. If absent, the + // qualification should be considered dynamic and the qualification should still work, though + // it may be sub-optimal. + NewQualifier(objType *types.Type, qualID int64, val any, opt bool) (Qualifier, error) +} + +// Qualifier marker interface for designating different qualifier values and where they appear +// within field selections and index call expressions (`_[_]`). +type Qualifier interface { + // ID where the qualifier appears within an expression. + ID() int64 + + // IsOptional specifies whether the qualifier is optional. + // Instead of a direct qualification, an optional qualifier will be resolved via QualifyIfPresent + // rather than Qualify. A non-optional qualifier may also be resolved through QualifyIfPresent if + // the object to qualify is itself optional. + IsOptional() bool + + // Qualify performs a qualification, e.g. field selection, on the input object and returns + // the value of the access and whether the value was set. A non-nil value with a false presence + // test result indicates that the value being returned is the default value. + Qualify(vars Activation, obj any) (any, error) + + // QualifyIfPresent qualifies the object if the qualifier is declared or defined on the object. + // The 'presenceOnly' flag indicates that the value is not necessary, just a boolean status as + // to whether the qualifier is present. + QualifyIfPresent(vars Activation, obj any, presenceOnly bool) (any, bool, error) +} + +// ConstantQualifier interface embeds the Qualifier interface and provides an option to inspect the +// qualifier's constant value. +// +// Non-constant qualifiers are of Attribute type. +type ConstantQualifier interface { + Qualifier + + // Value returns the constant value associated with the qualifier. + Value() ref.Val +} + +// Attribute values are a variable or value with an optional set of qualifiers, such as field, key, +// or index accesses. +type Attribute interface { + Qualifier + + // AddQualifier adds a qualifier on the Attribute or error if the qualification is not a valid qualifier type. + AddQualifier(Qualifier) (Attribute, error) + + // Resolve returns the value of the Attribute and whether it was present given an Activation. + // For objects which support safe traversal, the value may be non-nil and the presence flag be false. + // + // If an error is encountered during attribute resolution, it will be returned immediately. + // If the attribute cannot be resolved within the Activation, the result must be: `nil`, `error` + // with the error indicating which variable was missing. + Resolve(Activation) (any, error) +} + +// NamespacedAttribute values are a variable within a namespace, and an optional set of qualifiers +// such as field, key, or index accesses. +type NamespacedAttribute interface { + Attribute + + // CandidateVariableNames returns the possible namespaced variable names for this Attribute in + // the CEL namespace resolution order. + CandidateVariableNames() []string + + // Qualifiers returns the list of qualifiers associated with the Attribute. + Qualifiers() []Qualifier +} + +// AttrFactoryOption specifies a functional option for configuring an attribute factory. +type AttrFactoryOption func(*attrFactory) *attrFactory + +// EnableErrorOnBadPresenceTest error generation when a presence test or optional field selection +// is performed on a primitive type. +func EnableErrorOnBadPresenceTest(value bool) AttrFactoryOption { + return func(fac *attrFactory) *attrFactory { + fac.errorOnBadPresenceTest = value + return fac + } +} + +// NewAttributeFactory returns a default AttributeFactory which is produces Attribute values +// capable of resolving types by simple names and qualify the values using the supported qualifier +// types: bool, int, string, and uint. +func NewAttributeFactory(cont *containers.Container, a types.Adapter, p types.Provider, opts ...AttrFactoryOption) AttributeFactory { + fac := &attrFactory{ + container: cont, + adapter: a, + provider: p, + } + for _, o := range opts { + fac = o(fac) + } + return fac +} + +type attrFactory struct { + container *containers.Container + adapter types.Adapter + provider types.Provider + + errorOnBadPresenceTest bool +} + +// AbsoluteAttribute refers to a variable value and an optional qualifier path. +// +// The namespaceNames represent the names the variable could have based on namespace +// resolution rules. +func (r *attrFactory) AbsoluteAttribute(id int64, names ...string) NamespacedAttribute { + return &absoluteAttribute{ + id: id, + namespaceNames: names, + qualifiers: []Qualifier{}, + adapter: r.adapter, + provider: r.provider, + fac: r, + errorOnBadPresenceTest: r.errorOnBadPresenceTest, + } +} + +// ConditionalAttribute supports the case where an attribute selection may occur on a conditional +// expression, e.g. (cond ? a : b).c +func (r *attrFactory) ConditionalAttribute(id int64, expr Interpretable, t, f Attribute) Attribute { + return &conditionalAttribute{ + id: id, + expr: expr, + truthy: t, + falsy: f, + adapter: r.adapter, + fac: r, + } +} + +// MaybeAttribute collects variants of unchecked AbsoluteAttribute values which could either be +// direct variable accesses or some combination of variable access with qualification. +func (r *attrFactory) MaybeAttribute(id int64, name string) Attribute { + return &maybeAttribute{ + id: id, + attrs: []NamespacedAttribute{ + r.AbsoluteAttribute(id, r.container.ResolveCandidateNames(name)...), + }, + adapter: r.adapter, + provider: r.provider, + fac: r, + } +} + +// RelativeAttribute refers to an expression and an optional qualifier path. +func (r *attrFactory) RelativeAttribute(id int64, operand Interpretable) Attribute { + return &relativeAttribute{ + id: id, + operand: operand, + qualifiers: []Qualifier{}, + adapter: r.adapter, + fac: r, + errorOnBadPresenceTest: r.errorOnBadPresenceTest, + } +} + +// NewQualifier is an implementation of the AttributeFactory interface. +func (r *attrFactory) NewQualifier(objType *types.Type, qualID int64, val any, opt bool) (Qualifier, error) { + // Before creating a new qualifier check to see if this is a protobuf message field access. + // If so, use the precomputed GetFrom qualification method rather than the standard + // stringQualifier. + str, isStr := val.(string) + if isStr && objType != nil && objType.Kind() == types.StructKind { + ft, found := r.provider.FindStructFieldType(objType.TypeName(), str) + if found && ft.IsSet != nil && ft.GetFrom != nil { + return &fieldQualifier{ + id: qualID, + Name: str, + FieldType: ft, + adapter: r.adapter, + optional: opt, + }, nil + } + } + return newQualifier(r.adapter, qualID, val, opt, r.errorOnBadPresenceTest) +} + +type absoluteAttribute struct { + id int64 + // namespaceNames represent the names the variable could have based on declared container + // (package) of the expression. + namespaceNames []string + qualifiers []Qualifier + adapter types.Adapter + provider types.Provider + fac AttributeFactory + + errorOnBadPresenceTest bool +} + +// ID implements the Attribute interface method. +func (a *absoluteAttribute) ID() int64 { + qualCount := len(a.qualifiers) + if qualCount == 0 { + return a.id + } + return a.qualifiers[qualCount-1].ID() +} + +// IsOptional returns trivially false for an attribute as the attribute represents a fully +// qualified variable name. If the attribute is used in an optional manner, then an attrQualifier +// is created and marks the attribute as optional. +func (a *absoluteAttribute) IsOptional() bool { + return false +} + +// AddQualifier implements the Attribute interface method. +func (a *absoluteAttribute) AddQualifier(qual Qualifier) (Attribute, error) { + a.qualifiers = append(a.qualifiers, qual) + return a, nil +} + +// CandidateVariableNames implements the NamespaceAttribute interface method. +func (a *absoluteAttribute) CandidateVariableNames() []string { + return a.namespaceNames +} + +// Qualifiers returns the list of Qualifier instances associated with the namespaced attribute. +func (a *absoluteAttribute) Qualifiers() []Qualifier { + return a.qualifiers +} + +// Qualify is an implementation of the Qualifier interface method. +func (a *absoluteAttribute) Qualify(vars Activation, obj any) (any, error) { + return attrQualify(a.fac, vars, obj, a) +} + +// QualifyIfPresent is an implementation of the Qualifier interface method. +func (a *absoluteAttribute) QualifyIfPresent(vars Activation, obj any, presenceOnly bool) (any, bool, error) { + return attrQualifyIfPresent(a.fac, vars, obj, a, presenceOnly) +} + +// String implements the Stringer interface method. +func (a *absoluteAttribute) String() string { + return fmt.Sprintf("id: %v, names: %v", a.id, a.namespaceNames) +} + +// Resolve returns the resolved Attribute value given the Activation, or error if the Attribute +// variable is not found, or if its Qualifiers cannot be applied successfully. +// +// If the variable name cannot be found as an Activation variable or in the TypeProvider as +// a type, then the result is `nil`, `error` with the error indicating the name of the first +// variable searched as missing. +func (a *absoluteAttribute) Resolve(vars Activation) (any, error) { + for _, nm := range a.namespaceNames { + // If the variable is found, process it. Otherwise, wait until the checks to + // determine whether the type is unknown before returning. + obj, found := vars.ResolveName(nm) + if found { + if celErr, ok := obj.(*types.Err); ok { + return nil, celErr.Unwrap() + } + obj, isOpt, err := applyQualifiers(vars, obj, a.qualifiers) + if err != nil { + return nil, err + } + if isOpt { + val := a.adapter.NativeToValue(obj) + if types.IsUnknown(val) { + return val, nil + } + return types.OptionalOf(val), nil + } + return obj, nil + } + // Attempt to resolve the qualified type name if the name is not a variable identifier. + typ, found := a.provider.FindIdent(nm) + if found { + if len(a.qualifiers) == 0 { + return typ, nil + } + } + } + var attrNames strings.Builder + for i, nm := range a.namespaceNames { + if i != 0 { + attrNames.WriteString(", ") + } + attrNames.WriteString(nm) + } + return nil, missingAttribute(attrNames.String()) +} + +type conditionalAttribute struct { + id int64 + expr Interpretable + truthy Attribute + falsy Attribute + adapter types.Adapter + fac AttributeFactory +} + +// ID is an implementation of the Attribute interface method. +func (a *conditionalAttribute) ID() int64 { + // There's a field access after the conditional. + if a.truthy.ID() == a.falsy.ID() { + return a.truthy.ID() + } + // Otherwise return the conditional id as the consistent id being tracked. + return a.id +} + +// IsOptional returns trivially false for an attribute as the attribute represents a fully +// qualified variable name. If the attribute is used in an optional manner, then an attrQualifier +// is created and marks the attribute as optional. +func (a *conditionalAttribute) IsOptional() bool { + return false +} + +// AddQualifier appends the same qualifier to both sides of the conditional, in effect managing +// the qualification of alternate attributes. +func (a *conditionalAttribute) AddQualifier(qual Qualifier) (Attribute, error) { + _, err := a.truthy.AddQualifier(qual) + if err != nil { + return nil, err + } + _, err = a.falsy.AddQualifier(qual) + if err != nil { + return nil, err + } + return a, nil +} + +// Qualify is an implementation of the Qualifier interface method. +func (a *conditionalAttribute) Qualify(vars Activation, obj any) (any, error) { + return attrQualify(a.fac, vars, obj, a) +} + +// QualifyIfPresent is an implementation of the Qualifier interface method. +func (a *conditionalAttribute) QualifyIfPresent(vars Activation, obj any, presenceOnly bool) (any, bool, error) { + return attrQualifyIfPresent(a.fac, vars, obj, a, presenceOnly) +} + +// Resolve evaluates the condition, and then resolves the truthy or falsy branch accordingly. +func (a *conditionalAttribute) Resolve(vars Activation) (any, error) { + val := a.expr.Eval(vars) + if val == types.True { + return a.truthy.Resolve(vars) + } + if val == types.False { + return a.falsy.Resolve(vars) + } + if types.IsUnknown(val) { + return val, nil + } + return nil, types.MaybeNoSuchOverloadErr(val).(*types.Err) +} + +// String is an implementation of the Stringer interface method. +func (a *conditionalAttribute) String() string { + return fmt.Sprintf("id: %v, truthy attribute: %v, falsy attribute: %v", a.id, a.truthy, a.falsy) +} + +type maybeAttribute struct { + id int64 + attrs []NamespacedAttribute + adapter types.Adapter + provider types.Provider + fac AttributeFactory +} + +// ID is an implementation of the Attribute interface method. +func (a *maybeAttribute) ID() int64 { + return a.attrs[0].ID() +} + +// IsOptional returns trivially false for an attribute as the attribute represents a fully +// qualified variable name. If the attribute is used in an optional manner, then an attrQualifier +// is created and marks the attribute as optional. +func (a *maybeAttribute) IsOptional() bool { + return false +} + +// AddQualifier adds a qualifier to each possible attribute variant, and also creates +// a new namespaced variable from the qualified value. +// +// The algorithm for building the maybe attribute is as follows: +// +// 1. Create a maybe attribute from a simple identifier when it occurs in a parsed-only expression +// +// mb = MaybeAttribute(, "a") +// +// Initializing the maybe attribute creates an absolute attribute internally which includes the +// possible namespaced names of the attribute. In this example, let's assume we are in namespace +// 'ns', then the maybe is either one of the following variable names: +// +// possible variables names -- ns.a, a +// +// 2. Adding a qualifier to the maybe means that the variable name could be a longer qualified +// name, or a field selection on one of the possible variable names produced earlier: +// +// mb.AddQualifier("b") +// +// possible variables names -- ns.a.b, a.b +// possible field selection -- ns.a['b'], a['b'] +// +// If none of the attributes within the maybe resolves a value, the result is an error. +func (a *maybeAttribute) AddQualifier(qual Qualifier) (Attribute, error) { + str := "" + isStr := false + cq, isConst := qual.(ConstantQualifier) + if isConst { + str, isStr = cq.Value().Value().(string) + } + var augmentedNames []string + // First add the qualifier to all existing attributes in the oneof. + for _, attr := range a.attrs { + if isStr && len(attr.Qualifiers()) == 0 { + candidateVars := attr.CandidateVariableNames() + augmentedNames = make([]string, len(candidateVars)) + for i, name := range candidateVars { + augmentedNames[i] = fmt.Sprintf("%s.%s", name, str) + } + } + _, err := attr.AddQualifier(qual) + if err != nil { + return nil, err + } + } + // Next, ensure the most specific variable / type reference is searched first. + if len(augmentedNames) != 0 { + a.attrs = append([]NamespacedAttribute{a.fac.AbsoluteAttribute(qual.ID(), augmentedNames...)}, a.attrs...) + } + return a, nil +} + +// Qualify is an implementation of the Qualifier interface method. +func (a *maybeAttribute) Qualify(vars Activation, obj any) (any, error) { + return attrQualify(a.fac, vars, obj, a) +} + +// QualifyIfPresent is an implementation of the Qualifier interface method. +func (a *maybeAttribute) QualifyIfPresent(vars Activation, obj any, presenceOnly bool) (any, bool, error) { + return attrQualifyIfPresent(a.fac, vars, obj, a, presenceOnly) +} + +// Resolve follows the variable resolution rules to determine whether the attribute is a variable +// or a field selection. +func (a *maybeAttribute) Resolve(vars Activation) (any, error) { + var maybeErr error + for _, attr := range a.attrs { + obj, err := attr.Resolve(vars) + // Return an error if one is encountered. + if err != nil { + resErr, ok := err.(*resolutionError) + if !ok { + return nil, err + } + // If this was not a missing variable error, return it. + if !resErr.isMissingAttribute() { + return nil, err + } + // When the variable is missing in a maybe attribute we defer erroring. + if maybeErr == nil { + maybeErr = resErr + } + // Continue attempting to resolve possible variables. + continue + } + return obj, nil + } + // Else, produce a no such attribute error. + return nil, maybeErr +} + +// String is an implementation of the Stringer interface method. +func (a *maybeAttribute) String() string { + return fmt.Sprintf("id: %v, attributes: %v", a.id, a.attrs) +} + +type relativeAttribute struct { + id int64 + operand Interpretable + qualifiers []Qualifier + adapter types.Adapter + fac AttributeFactory + + errorOnBadPresenceTest bool +} + +// ID is an implementation of the Attribute interface method. +func (a *relativeAttribute) ID() int64 { + qualCount := len(a.qualifiers) + if qualCount == 0 { + return a.id + } + return a.qualifiers[qualCount-1].ID() +} + +// IsOptional returns trivially false for an attribute as the attribute represents a fully +// qualified variable name. If the attribute is used in an optional manner, then an attrQualifier +// is created and marks the attribute as optional. +func (a *relativeAttribute) IsOptional() bool { + return false +} + +// AddQualifier implements the Attribute interface method. +func (a *relativeAttribute) AddQualifier(qual Qualifier) (Attribute, error) { + a.qualifiers = append(a.qualifiers, qual) + return a, nil +} + +// Qualify is an implementation of the Qualifier interface method. +func (a *relativeAttribute) Qualify(vars Activation, obj any) (any, error) { + return attrQualify(a.fac, vars, obj, a) +} + +// QualifyIfPresent is an implementation of the Qualifier interface method. +func (a *relativeAttribute) QualifyIfPresent(vars Activation, obj any, presenceOnly bool) (any, bool, error) { + return attrQualifyIfPresent(a.fac, vars, obj, a, presenceOnly) +} + +// Resolve expression value and qualifier relative to the expression result. +func (a *relativeAttribute) Resolve(vars Activation) (any, error) { + // First, evaluate the operand. + v := a.operand.Eval(vars) + if types.IsError(v) { + return nil, v.(*types.Err) + } + if types.IsUnknown(v) { + return v, nil + } + obj, isOpt, err := applyQualifiers(vars, v, a.qualifiers) + if err != nil { + return nil, err + } + if isOpt { + val := a.adapter.NativeToValue(obj) + if types.IsUnknown(val) { + return val, nil + } + return types.OptionalOf(val), nil + } + return obj, nil +} + +// String is an implementation of the Stringer interface method. +func (a *relativeAttribute) String() string { + return fmt.Sprintf("id: %v, operand: %v", a.id, a.operand) +} + +func newQualifier(adapter types.Adapter, id int64, v any, opt, errorOnBadPresenceTest bool) (Qualifier, error) { + var qual Qualifier + switch val := v.(type) { + case Attribute: + // Note, attributes are initially identified as non-optional since they represent a top-level + // field access; however, when used as a relative qualifier, e.g. a[?b.c], then an attrQualifier + // is created which intercepts the IsOptional check for the attribute in order to return the + // correct result. + return &attrQualifier{ + id: id, + Attribute: val, + optional: opt, + }, nil + case string: + qual = &stringQualifier{ + id: id, + value: val, + celValue: types.String(val), + adapter: adapter, + optional: opt, + errorOnBadPresenceTest: errorOnBadPresenceTest, + } + case int: + qual = &intQualifier{ + id: id, + value: int64(val), + celValue: types.Int(val), + adapter: adapter, + optional: opt, + errorOnBadPresenceTest: errorOnBadPresenceTest, + } + case int32: + qual = &intQualifier{ + id: id, + value: int64(val), + celValue: types.Int(val), + adapter: adapter, + optional: opt, + errorOnBadPresenceTest: errorOnBadPresenceTest, + } + case int64: + qual = &intQualifier{ + id: id, + value: val, + celValue: types.Int(val), + adapter: adapter, + optional: opt, + errorOnBadPresenceTest: errorOnBadPresenceTest, + } + case uint: + qual = &uintQualifier{ + id: id, + value: uint64(val), + celValue: types.Uint(val), + adapter: adapter, + optional: opt, + errorOnBadPresenceTest: errorOnBadPresenceTest, + } + case uint32: + qual = &uintQualifier{ + id: id, + value: uint64(val), + celValue: types.Uint(val), + adapter: adapter, + optional: opt, + errorOnBadPresenceTest: errorOnBadPresenceTest, + } + case uint64: + qual = &uintQualifier{ + id: id, + value: val, + celValue: types.Uint(val), + adapter: adapter, + optional: opt, + errorOnBadPresenceTest: errorOnBadPresenceTest, + } + case bool: + qual = &boolQualifier{ + id: id, + value: val, + celValue: types.Bool(val), + adapter: adapter, + optional: opt, + errorOnBadPresenceTest: errorOnBadPresenceTest, + } + case float32: + qual = &doubleQualifier{ + id: id, + value: float64(val), + celValue: types.Double(val), + adapter: adapter, + optional: opt, + errorOnBadPresenceTest: errorOnBadPresenceTest, + } + case float64: + qual = &doubleQualifier{ + id: id, + value: val, + celValue: types.Double(val), + adapter: adapter, + optional: opt, + errorOnBadPresenceTest: errorOnBadPresenceTest, + } + case types.String: + qual = &stringQualifier{ + id: id, + value: string(val), + celValue: val, + adapter: adapter, + optional: opt, + errorOnBadPresenceTest: errorOnBadPresenceTest, + } + case types.Int: + qual = &intQualifier{ + id: id, + value: int64(val), + celValue: val, + adapter: adapter, + optional: opt, + errorOnBadPresenceTest: errorOnBadPresenceTest, + } + case types.Uint: + qual = &uintQualifier{ + id: id, + value: uint64(val), + celValue: val, + adapter: adapter, + optional: opt, + errorOnBadPresenceTest: errorOnBadPresenceTest, + } + case types.Bool: + qual = &boolQualifier{ + id: id, + value: bool(val), + celValue: val, + adapter: adapter, + optional: opt, + errorOnBadPresenceTest: errorOnBadPresenceTest, + } + case types.Double: + qual = &doubleQualifier{ + id: id, + value: float64(val), + celValue: val, + adapter: adapter, + optional: opt, + errorOnBadPresenceTest: errorOnBadPresenceTest, + } + case *types.Unknown: + qual = &unknownQualifier{id: id, value: val} + default: + if q, ok := v.(Qualifier); ok { + return q, nil + } + return nil, fmt.Errorf("invalid qualifier type: %T", v) + } + return qual, nil +} + +type attrQualifier struct { + id int64 + Attribute + optional bool +} + +// ID implements the Qualifier interface method and returns the qualification instruction id +// rather than the attribute id. +func (q *attrQualifier) ID() int64 { + return q.id +} + +// IsOptional implements the Qualifier interface method. +func (q *attrQualifier) IsOptional() bool { + return q.optional +} + +type stringQualifier struct { + id int64 + value string + celValue ref.Val + adapter types.Adapter + optional bool + errorOnBadPresenceTest bool +} + +// ID is an implementation of the Qualifier interface method. +func (q *stringQualifier) ID() int64 { + return q.id +} + +// IsOptional implements the Qualifier interface method. +func (q *stringQualifier) IsOptional() bool { + return q.optional +} + +// Qualify implements the Qualifier interface method. +func (q *stringQualifier) Qualify(vars Activation, obj any) (any, error) { + val, _, err := q.qualifyInternal(vars, obj, false, false) + return val, err +} + +// QualifyIfPresent is an implementation of the Qualifier interface method. +func (q *stringQualifier) QualifyIfPresent(vars Activation, obj any, presenceOnly bool) (any, bool, error) { + return q.qualifyInternal(vars, obj, true, presenceOnly) +} + +func (q *stringQualifier) qualifyInternal(vars Activation, obj any, presenceTest, presenceOnly bool) (any, bool, error) { + s := q.value + switch o := obj.(type) { + case map[string]any: + obj, isKey := o[s] + if isKey { + return obj, true, nil + } + case map[string]string: + obj, isKey := o[s] + if isKey { + return obj, true, nil + } + case map[string]int: + obj, isKey := o[s] + if isKey { + return obj, true, nil + } + case map[string]int32: + obj, isKey := o[s] + if isKey { + return obj, true, nil + } + case map[string]int64: + obj, isKey := o[s] + if isKey { + return obj, true, nil + } + case map[string]uint: + obj, isKey := o[s] + if isKey { + return obj, true, nil + } + case map[string]uint32: + obj, isKey := o[s] + if isKey { + return obj, true, nil + } + case map[string]uint64: + obj, isKey := o[s] + if isKey { + return obj, true, nil + } + case map[string]float32: + obj, isKey := o[s] + if isKey { + return obj, true, nil + } + case map[string]float64: + obj, isKey := o[s] + if isKey { + return obj, true, nil + } + case map[string]bool: + obj, isKey := o[s] + if isKey { + return obj, true, nil + } + default: + return refQualify(q.adapter, obj, q.celValue, presenceTest, presenceOnly, q.errorOnBadPresenceTest) + } + if presenceTest { + return nil, false, nil + } + return nil, false, missingKey(q.celValue) +} + +// Value implements the ConstantQualifier interface +func (q *stringQualifier) Value() ref.Val { + return q.celValue +} + +type intQualifier struct { + id int64 + value int64 + celValue ref.Val + adapter types.Adapter + optional bool + errorOnBadPresenceTest bool +} + +// ID is an implementation of the Qualifier interface method. +func (q *intQualifier) ID() int64 { + return q.id +} + +// IsOptional implements the Qualifier interface method. +func (q *intQualifier) IsOptional() bool { + return q.optional +} + +// Qualify implements the Qualifier interface method. +func (q *intQualifier) Qualify(vars Activation, obj any) (any, error) { + val, _, err := q.qualifyInternal(vars, obj, false, false) + return val, err +} + +// QualifyIfPresent is an implementation of the Qualifier interface method. +func (q *intQualifier) QualifyIfPresent(vars Activation, obj any, presenceOnly bool) (any, bool, error) { + return q.qualifyInternal(vars, obj, true, presenceOnly) +} + +func (q *intQualifier) qualifyInternal(vars Activation, obj any, presenceTest, presenceOnly bool) (any, bool, error) { + i := q.value + var isMap bool + switch o := obj.(type) { + // The specialized map types supported by an int qualifier are considerably fewer than the set + // of specialized map types supported by string qualifiers since they are less frequently used + // than string-based map keys. Additional specializations may be added in the future if + // desired. + case map[int]any: + isMap = true + obj, isKey := o[int(i)] + if isKey { + return obj, true, nil + } + case map[int32]any: + isMap = true + obj, isKey := o[int32(i)] + if isKey { + return obj, true, nil + } + case map[int64]any: + isMap = true + obj, isKey := o[i] + if isKey { + return obj, true, nil + } + case []any: + isIndex := i >= 0 && i < int64(len(o)) + if isIndex { + return o[i], true, nil + } + case []string: + isIndex := i >= 0 && i < int64(len(o)) + if isIndex { + return o[i], true, nil + } + case []int: + isIndex := i >= 0 && i < int64(len(o)) + if isIndex { + return o[i], true, nil + } + case []int32: + isIndex := i >= 0 && i < int64(len(o)) + if isIndex { + return o[i], true, nil + } + case []int64: + isIndex := i >= 0 && i < int64(len(o)) + if isIndex { + return o[i], true, nil + } + case []uint: + isIndex := i >= 0 && i < int64(len(o)) + if isIndex { + return o[i], true, nil + } + case []uint32: + isIndex := i >= 0 && i < int64(len(o)) + if isIndex { + return o[i], true, nil + } + case []uint64: + isIndex := i >= 0 && i < int64(len(o)) + if isIndex { + return o[i], true, nil + } + case []float32: + isIndex := i >= 0 && i < int64(len(o)) + if isIndex { + return o[i], true, nil + } + case []float64: + isIndex := i >= 0 && i < int64(len(o)) + if isIndex { + return o[i], true, nil + } + case []bool: + isIndex := i >= 0 && i < int64(len(o)) + if isIndex { + return o[i], true, nil + } + default: + return refQualify(q.adapter, obj, q.celValue, presenceTest, presenceOnly, q.errorOnBadPresenceTest) + } + if presenceTest { + return nil, false, nil + } + if isMap { + return nil, false, missingKey(q.celValue) + } + return nil, false, missingIndex(q.celValue) +} + +// Value implements the ConstantQualifier interface +func (q *intQualifier) Value() ref.Val { + return q.celValue +} + +type uintQualifier struct { + id int64 + value uint64 + celValue ref.Val + adapter types.Adapter + optional bool + errorOnBadPresenceTest bool +} + +// ID is an implementation of the Qualifier interface method. +func (q *uintQualifier) ID() int64 { + return q.id +} + +// IsOptional implements the Qualifier interface method. +func (q *uintQualifier) IsOptional() bool { + return q.optional +} + +// Qualify implements the Qualifier interface method. +func (q *uintQualifier) Qualify(vars Activation, obj any) (any, error) { + val, _, err := q.qualifyInternal(vars, obj, false, false) + return val, err +} + +// QualifyIfPresent is an implementation of the Qualifier interface method. +func (q *uintQualifier) QualifyIfPresent(vars Activation, obj any, presenceOnly bool) (any, bool, error) { + return q.qualifyInternal(vars, obj, true, presenceOnly) +} + +func (q *uintQualifier) qualifyInternal(vars Activation, obj any, presenceTest, presenceOnly bool) (any, bool, error) { + u := q.value + switch o := obj.(type) { + // The specialized map types supported by a uint qualifier are considerably fewer than the set + // of specialized map types supported by string qualifiers since they are less frequently used + // than string-based map keys. Additional specializations may be added in the future if + // desired. + case map[uint]any: + obj, isKey := o[uint(u)] + if isKey { + return obj, true, nil + } + case map[uint32]any: + obj, isKey := o[uint32(u)] + if isKey { + return obj, true, nil + } + case map[uint64]any: + obj, isKey := o[u] + if isKey { + return obj, true, nil + } + default: + return refQualify(q.adapter, obj, q.celValue, presenceTest, presenceOnly, q.errorOnBadPresenceTest) + } + if presenceTest { + return nil, false, nil + } + return nil, false, missingKey(q.celValue) +} + +// Value implements the ConstantQualifier interface +func (q *uintQualifier) Value() ref.Val { + return q.celValue +} + +type boolQualifier struct { + id int64 + value bool + celValue ref.Val + adapter types.Adapter + optional bool + errorOnBadPresenceTest bool +} + +// ID is an implementation of the Qualifier interface method. +func (q *boolQualifier) ID() int64 { + return q.id +} + +// IsOptional implements the Qualifier interface method. +func (q *boolQualifier) IsOptional() bool { + return q.optional +} + +// Qualify implements the Qualifier interface method. +func (q *boolQualifier) Qualify(vars Activation, obj any) (any, error) { + val, _, err := q.qualifyInternal(vars, obj, false, false) + return val, err +} + +// QualifyIfPresent is an implementation of the Qualifier interface method. +func (q *boolQualifier) QualifyIfPresent(vars Activation, obj any, presenceOnly bool) (any, bool, error) { + return q.qualifyInternal(vars, obj, true, presenceOnly) +} + +func (q *boolQualifier) qualifyInternal(vars Activation, obj any, presenceTest, presenceOnly bool) (any, bool, error) { + b := q.value + switch o := obj.(type) { + case map[bool]any: + obj, isKey := o[b] + if isKey { + return obj, true, nil + } + default: + return refQualify(q.adapter, obj, q.celValue, presenceTest, presenceOnly, q.errorOnBadPresenceTest) + } + if presenceTest { + return nil, false, nil + } + return nil, false, missingKey(q.celValue) +} + +// Value implements the ConstantQualifier interface +func (q *boolQualifier) Value() ref.Val { + return q.celValue +} + +// fieldQualifier indicates that the qualification is a well-defined field with a known +// field type. When the field type is known this can be used to improve the speed and +// efficiency of field resolution. +type fieldQualifier struct { + id int64 + Name string + FieldType *types.FieldType + adapter types.Adapter + optional bool +} + +// ID is an implementation of the Qualifier interface method. +func (q *fieldQualifier) ID() int64 { + return q.id +} + +// IsOptional implements the Qualifier interface method. +func (q *fieldQualifier) IsOptional() bool { + return q.optional +} + +// Qualify implements the Qualifier interface method. +func (q *fieldQualifier) Qualify(vars Activation, obj any) (any, error) { + if rv, ok := obj.(ref.Val); ok { + obj = rv.Value() + } + val, err := q.FieldType.GetFrom(obj) + if err != nil { + return nil, err + } + return val, nil +} + +// QualifyIfPresent is an implementation of the Qualifier interface method. +func (q *fieldQualifier) QualifyIfPresent(vars Activation, obj any, presenceOnly bool) (any, bool, error) { + if rv, ok := obj.(ref.Val); ok { + obj = rv.Value() + } + if !q.FieldType.IsSet(obj) { + return nil, false, nil + } + if presenceOnly { + return nil, true, nil + } + val, err := q.FieldType.GetFrom(obj) + if err != nil { + return nil, false, err + } + return val, true, nil +} + +// Value implements the ConstantQualifier interface +func (q *fieldQualifier) Value() ref.Val { + return types.String(q.Name) +} + +// doubleQualifier qualifies a CEL object, map, or list using a double value. +// +// This qualifier is used for working with dynamic data like JSON or protobuf.Any where the value +// type may not be known ahead of time and may not conform to the standard types supported as valid +// protobuf map key types. +type doubleQualifier struct { + id int64 + value float64 + celValue ref.Val + adapter types.Adapter + optional bool + errorOnBadPresenceTest bool +} + +// ID is an implementation of the Qualifier interface method. +func (q *doubleQualifier) ID() int64 { + return q.id +} + +// IsOptional implements the Qualifier interface method. +func (q *doubleQualifier) IsOptional() bool { + return q.optional +} + +// Qualify implements the Qualifier interface method. +func (q *doubleQualifier) Qualify(vars Activation, obj any) (any, error) { + val, _, err := q.qualifyInternal(vars, obj, false, false) + return val, err +} + +func (q *doubleQualifier) QualifyIfPresent(vars Activation, obj any, presenceOnly bool) (any, bool, error) { + return q.qualifyInternal(vars, obj, true, presenceOnly) +} + +func (q *doubleQualifier) qualifyInternal(vars Activation, obj any, presenceTest, presenceOnly bool) (any, bool, error) { + return refQualify(q.adapter, obj, q.celValue, presenceTest, presenceOnly, q.errorOnBadPresenceTest) +} + +// Value implements the ConstantQualifier interface +func (q *doubleQualifier) Value() ref.Val { + return q.celValue +} + +// unknownQualifier is a simple qualifier which always returns a preconfigured set of unknown values +// for any value subject to qualification. This is consistent with CEL's unknown handling elsewhere. +type unknownQualifier struct { + id int64 + value *types.Unknown +} + +// ID is an implementation of the Qualifier interface method. +func (q *unknownQualifier) ID() int64 { + return q.id +} + +// IsOptional returns trivially false as an the unknown value is always returned. +func (q *unknownQualifier) IsOptional() bool { + return false +} + +// Qualify returns the unknown value associated with this qualifier. +func (q *unknownQualifier) Qualify(vars Activation, obj any) (any, error) { + return q.value, nil +} + +// QualifyIfPresent is an implementation of the Qualifier interface method. +func (q *unknownQualifier) QualifyIfPresent(vars Activation, obj any, presenceOnly bool) (any, bool, error) { + return q.value, true, nil +} + +// Value implements the ConstantQualifier interface +func (q *unknownQualifier) Value() ref.Val { + return q.value +} + +func applyQualifiers(vars Activation, obj any, qualifiers []Qualifier) (any, bool, error) { + optObj, isOpt := obj.(*types.Optional) + if isOpt { + if !optObj.HasValue() { + return optObj, false, nil + } + obj = optObj.GetValue().Value() + } + + var err error + for _, qual := range qualifiers { + var qualObj any + isOpt = isOpt || qual.IsOptional() + if isOpt { + var present bool + qualObj, present, err = qual.QualifyIfPresent(vars, obj, false) + if err != nil { + return nil, false, err + } + if !present { + // We return optional none here with a presence of 'false' as the layers + // above will attempt to call types.OptionalOf() on a present value if any + // of the qualifiers is optional. + return types.OptionalNone, false, nil + } + } else { + qualObj, err = qual.Qualify(vars, obj) + if err != nil { + return nil, false, err + } + } + obj = qualObj + } + return obj, isOpt, nil +} + +// attrQualify performs a qualification using the result of an attribute evaluation. +func attrQualify(fac AttributeFactory, vars Activation, obj any, qualAttr Attribute) (any, error) { + val, err := qualAttr.Resolve(vars) + if err != nil { + return nil, err + } + qual, err := fac.NewQualifier(nil, qualAttr.ID(), val, qualAttr.IsOptional()) + if err != nil { + return nil, err + } + return qual.Qualify(vars, obj) +} + +// attrQualifyIfPresent conditionally performs the qualification of the result of attribute is present +// on the target object. +func attrQualifyIfPresent(fac AttributeFactory, vars Activation, obj any, qualAttr Attribute, + presenceOnly bool) (any, bool, error) { + val, err := qualAttr.Resolve(vars) + if err != nil { + return nil, false, err + } + qual, err := fac.NewQualifier(nil, qualAttr.ID(), val, qualAttr.IsOptional()) + if err != nil { + return nil, false, err + } + return qual.QualifyIfPresent(vars, obj, presenceOnly) +} + +// refQualify attempts to convert the value to a CEL value and then uses reflection methods to try and +// apply the qualifier with the option to presence test field accesses before retrieving field values. +func refQualify(adapter types.Adapter, obj any, idx ref.Val, presenceTest, presenceOnly, errorOnBadPresenceTest bool) (ref.Val, bool, error) { + celVal := adapter.NativeToValue(obj) + switch v := celVal.(type) { + case *types.Unknown: + return v, true, nil + case *types.Err: + return nil, false, v + case traits.Mapper: + val, found := v.Find(idx) + // If the index is of the wrong type for the map, then it is possible + // for the Find call to produce an error. + if types.IsError(val) { + return nil, false, val.(*types.Err) + } + if found { + return val, true, nil + } + if presenceTest { + return nil, false, nil + } + return nil, false, missingKey(idx) + case traits.Lister: + // If the index argument is not a valid numeric type, then it is possible + // for the index operation to produce an error. + i, err := types.IndexOrError(idx) + if err != nil { + return nil, false, err + } + celIndex := types.Int(i) + if i >= 0 && celIndex < v.Size().(types.Int) { + return v.Get(idx), true, nil + } + if presenceTest { + return nil, false, nil + } + return nil, false, missingIndex(idx) + case traits.Indexer: + if presenceTest { + ft, ok := v.(traits.FieldTester) + if ok { + presence := ft.IsSet(idx) + if types.IsError(presence) { + return nil, false, presence.(*types.Err) + } + // If not found or presence only test, then return. + // Otherwise, if found, obtain the value later on. + if presenceOnly || presence == types.False { + return nil, presence == types.True, nil + } + } + } + val := v.Get(idx) + if types.IsError(val) { + return nil, false, val.(*types.Err) + } + return val, true, nil + default: + if presenceTest && !errorOnBadPresenceTest { + return nil, false, nil + } + return nil, false, missingKey(idx) + } +} + +// resolutionError is a custom error type which encodes the different error states which may +// occur during attribute resolution. +type resolutionError struct { + missingAttribute string + missingIndex ref.Val + missingKey ref.Val +} + +func (e *resolutionError) isMissingAttribute() bool { + return e.missingAttribute != "" +} + +func missingIndex(missing ref.Val) *resolutionError { + return &resolutionError{ + missingIndex: missing, + } +} + +func missingKey(missing ref.Val) *resolutionError { + return &resolutionError{ + missingKey: missing, + } +} + +func missingAttribute(attr string) *resolutionError { + return &resolutionError{ + missingAttribute: attr, + } +} + +// Error implements the error interface method. +func (e *resolutionError) Error() string { + if e.missingKey != nil { + return fmt.Sprintf("no such key: %v", e.missingKey) + } + if e.missingIndex != nil { + return fmt.Sprintf("index out of bounds: %v", e.missingIndex) + } + if e.missingAttribute != "" { + return fmt.Sprintf("no such attribute(s): %s", e.missingAttribute) + } + return "invalid attribute" +} + +// Is implements the errors.Is() method used by more recent versions of Go. +func (e *resolutionError) Is(err error) bool { + return err.Error() == e.Error() +} diff --git a/vendor/github.com/google/cel-go/interpreter/decorators.go b/vendor/github.com/google/cel-go/interpreter/decorators.go new file mode 100644 index 000000000..502db35fc --- /dev/null +++ b/vendor/github.com/google/cel-go/interpreter/decorators.go @@ -0,0 +1,272 @@ +// Copyright 2018 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 interpreter + +import ( + "github.com/google/cel-go/common/overloads" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" + "github.com/google/cel-go/common/types/traits" +) + +// InterpretableDecorator is a functional interface for decorating or replacing +// Interpretable expression nodes at construction time. +type InterpretableDecorator func(Interpretable) (Interpretable, error) + +// decObserveEval records evaluation state into an EvalState object. +func decObserveEval(observer EvalObserver) InterpretableDecorator { + return func(i Interpretable) (Interpretable, error) { + switch inst := i.(type) { + case *evalWatch, *evalWatchAttr, *evalWatchConst, *evalWatchConstructor: + // these instruction are already watching, return straight-away. + return i, nil + case InterpretableAttribute: + return &evalWatchAttr{ + InterpretableAttribute: inst, + observer: observer, + }, nil + case InterpretableConst: + return &evalWatchConst{ + InterpretableConst: inst, + observer: observer, + }, nil + case InterpretableConstructor: + return &evalWatchConstructor{ + constructor: inst, + observer: observer, + }, nil + default: + return &evalWatch{ + Interpretable: i, + observer: observer, + }, nil + } + } +} + +// decInterruptFolds creates an intepretable decorator which marks comprehensions as interruptable +// where the interrupt state is communicated via a hidden variable on the Activation. +func decInterruptFolds() InterpretableDecorator { + return func(i Interpretable) (Interpretable, error) { + fold, ok := i.(*evalFold) + if !ok { + return i, nil + } + fold.interruptable = true + return fold, nil + } +} + +// decDisableShortcircuits ensures that all branches of an expression will be evaluated, no short-circuiting. +func decDisableShortcircuits() InterpretableDecorator { + return func(i Interpretable) (Interpretable, error) { + switch expr := i.(type) { + case *evalOr: + return &evalExhaustiveOr{ + id: expr.id, + terms: expr.terms, + }, nil + case *evalAnd: + return &evalExhaustiveAnd{ + id: expr.id, + terms: expr.terms, + }, nil + case *evalFold: + expr.exhaustive = true + return expr, nil + case InterpretableAttribute: + cond, isCond := expr.Attr().(*conditionalAttribute) + if isCond { + return &evalExhaustiveConditional{ + id: cond.id, + attr: cond, + adapter: expr.Adapter(), + }, nil + } + } + return i, nil + } +} + +// decOptimize optimizes the program plan by looking for common evaluation patterns and +// conditionally precomputing the result. +// - build list and map values with constant elements. +// - convert 'in' operations to set membership tests if possible. +func decOptimize() InterpretableDecorator { + return func(i Interpretable) (Interpretable, error) { + switch inst := i.(type) { + case *evalList: + return maybeBuildListLiteral(i, inst) + case *evalMap: + return maybeBuildMapLiteral(i, inst) + case InterpretableCall: + if inst.OverloadID() == overloads.InList { + return maybeOptimizeSetMembership(i, inst) + } + if overloads.IsTypeConversionFunction(inst.Function()) { + return maybeOptimizeConstUnary(i, inst) + } + } + return i, nil + } +} + +// decRegexOptimizer compiles regex pattern string constants. +func decRegexOptimizer(regexOptimizations ...*RegexOptimization) InterpretableDecorator { + functionMatchMap := make(map[string]*RegexOptimization) + overloadMatchMap := make(map[string]*RegexOptimization) + for _, m := range regexOptimizations { + functionMatchMap[m.Function] = m + if m.OverloadID != "" { + overloadMatchMap[m.OverloadID] = m + } + } + + return func(i Interpretable) (Interpretable, error) { + call, ok := i.(InterpretableCall) + if !ok { + return i, nil + } + + var matcher *RegexOptimization + var found bool + if call.OverloadID() != "" { + matcher, found = overloadMatchMap[call.OverloadID()] + } + if !found { + matcher, found = functionMatchMap[call.Function()] + } + if !found || matcher.RegexIndex >= len(call.Args()) { + return i, nil + } + args := call.Args() + regexArg := args[matcher.RegexIndex] + regexStr, isConst := regexArg.(InterpretableConst) + if !isConst { + return i, nil + } + pattern, ok := regexStr.Value().(types.String) + if !ok { + return i, nil + } + return matcher.Factory(call, string(pattern)) + } +} + +func maybeOptimizeConstUnary(i Interpretable, call InterpretableCall) (Interpretable, error) { + args := call.Args() + if len(args) != 1 { + return i, nil + } + _, isConst := args[0].(InterpretableConst) + if !isConst { + return i, nil + } + val := call.Eval(EmptyActivation()) + if types.IsError(val) { + return nil, val.(*types.Err) + } + return NewConstValue(call.ID(), val), nil +} + +func maybeBuildListLiteral(i Interpretable, l *evalList) (Interpretable, error) { + for _, elem := range l.elems { + _, isConst := elem.(InterpretableConst) + if !isConst { + return i, nil + } + } + return NewConstValue(l.ID(), l.Eval(EmptyActivation())), nil +} + +func maybeBuildMapLiteral(i Interpretable, mp *evalMap) (Interpretable, error) { + for idx, key := range mp.keys { + _, isConst := key.(InterpretableConst) + if !isConst { + return i, nil + } + _, isConst = mp.vals[idx].(InterpretableConst) + if !isConst { + return i, nil + } + } + return NewConstValue(mp.ID(), mp.Eval(EmptyActivation())), nil +} + +// maybeOptimizeSetMembership may convert an 'in' operation against a list to map key membership +// test if the following conditions are true: +// - the list is a constant with homogeneous element types. +// - the elements are all of primitive type. +func maybeOptimizeSetMembership(i Interpretable, inlist InterpretableCall) (Interpretable, error) { + args := inlist.Args() + lhs := args[0] + rhs := args[1] + l, isConst := rhs.(InterpretableConst) + if !isConst { + return i, nil + } + // When the incoming binary call is flagged with as the InList overload, the value will + // always be convertible to a `traits.Lister` type. + list := l.Value().(traits.Lister) + if list.Size() == types.IntZero { + return NewConstValue(inlist.ID(), types.False), nil + } + it := list.Iterator() + valueSet := make(map[ref.Val]ref.Val) + for it.HasNext() == types.True { + elem := it.Next() + if !types.IsPrimitiveType(elem) || elem.Type() == types.BytesType { + // Note, non-primitive type are not yet supported, and []byte isn't hashable. + return i, nil + } + valueSet[elem] = types.True + switch ev := elem.(type) { + case types.Double: + iv := ev.ConvertToType(types.IntType) + // Ensure that only lossless conversions are added to the set + if !types.IsError(iv) && iv.Equal(ev) == types.True { + valueSet[iv] = types.True + } + // Ensure that only lossless conversions are added to the set + uv := ev.ConvertToType(types.UintType) + if !types.IsError(uv) && uv.Equal(ev) == types.True { + valueSet[uv] = types.True + } + case types.Int: + dv := ev.ConvertToType(types.DoubleType) + if !types.IsError(dv) { + valueSet[dv] = types.True + } + uv := ev.ConvertToType(types.UintType) + if !types.IsError(uv) { + valueSet[uv] = types.True + } + case types.Uint: + dv := ev.ConvertToType(types.DoubleType) + if !types.IsError(dv) { + valueSet[dv] = types.True + } + iv := ev.ConvertToType(types.IntType) + if !types.IsError(iv) { + valueSet[iv] = types.True + } + } + } + return &evalSetMembership{ + inst: inlist, + arg: lhs, + valueSet: valueSet, + }, nil +} diff --git a/vendor/github.com/google/cel-go/interpreter/dispatcher.go b/vendor/github.com/google/cel-go/interpreter/dispatcher.go new file mode 100644 index 000000000..8f0bdb7b8 --- /dev/null +++ b/vendor/github.com/google/cel-go/interpreter/dispatcher.go @@ -0,0 +1,100 @@ +// Copyright 2018 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 interpreter + +import ( + "fmt" + + "github.com/google/cel-go/common/functions" +) + +// Dispatcher resolves function calls to their appropriate overload. +type Dispatcher interface { + // Add one or more overloads, returning an error if any Overload has the same Overload#Name. + Add(overloads ...*functions.Overload) error + + // FindOverload returns an Overload definition matching the provided name. + FindOverload(overload string) (*functions.Overload, bool) + + // OverloadIds returns the set of all overload identifiers configured for dispatch. + OverloadIds() []string +} + +// NewDispatcher returns an empty Dispatcher instance. +func NewDispatcher() Dispatcher { + return &defaultDispatcher{ + overloads: make(map[string]*functions.Overload)} +} + +// ExtendDispatcher returns a Dispatcher which inherits the overloads of its parent, and +// provides an isolation layer between built-ins and extension functions which is useful +// for forward compatibility. +func ExtendDispatcher(parent Dispatcher) Dispatcher { + return &defaultDispatcher{ + parent: parent, + overloads: make(map[string]*functions.Overload)} +} + +// overloadMap helper type for indexing overloads by function name. +type overloadMap map[string]*functions.Overload + +// defaultDispatcher struct which contains an overload map. +type defaultDispatcher struct { + parent Dispatcher + overloads overloadMap +} + +// Add implements the Dispatcher.Add interface method. +func (d *defaultDispatcher) Add(overloads ...*functions.Overload) error { + for _, o := range overloads { + // add the overload unless an overload of the same name has already been provided. + if _, found := d.overloads[o.Operator]; found { + return fmt.Errorf("overload already exists '%s'", o.Operator) + } + // index the overload by function name. + d.overloads[o.Operator] = o + } + return nil +} + +// FindOverload implements the Dispatcher.FindOverload interface method. +func (d *defaultDispatcher) FindOverload(overload string) (*functions.Overload, bool) { + o, found := d.overloads[overload] + // Attempt to dispatch to an overload defined in the parent. + if !found && d.parent != nil { + return d.parent.FindOverload(overload) + } + return o, found +} + +// OverloadIds implements the Dispatcher interface method. +func (d *defaultDispatcher) OverloadIds() []string { + i := 0 + overloads := make([]string, len(d.overloads)) + for name := range d.overloads { + overloads[i] = name + i++ + } + if d.parent == nil { + return overloads + } + parentOverloads := d.parent.OverloadIds() + for _, pName := range parentOverloads { + if _, found := d.overloads[pName]; !found { + overloads = append(overloads, pName) + } + } + return overloads +} diff --git a/vendor/github.com/google/cel-go/interpreter/evalstate.go b/vendor/github.com/google/cel-go/interpreter/evalstate.go new file mode 100644 index 000000000..4bdd1fdc7 --- /dev/null +++ b/vendor/github.com/google/cel-go/interpreter/evalstate.go @@ -0,0 +1,79 @@ +// Copyright 2018 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 interpreter + +import ( + "github.com/google/cel-go/common/types/ref" +) + +// EvalState tracks the values associated with expression ids during execution. +type EvalState interface { + // IDs returns the list of ids with recorded values. + IDs() []int64 + + // Value returns the observed value of the given expression id if found, and a nil false + // result if not. + Value(int64) (ref.Val, bool) + + // SetValue sets the observed value of the expression id. + SetValue(int64, ref.Val) + + // Reset clears the previously recorded expression values. + Reset() +} + +// evalState permits the mutation of evaluation state for a given expression id. +type evalState struct { + values map[int64]ref.Val +} + +// NewEvalState returns an EvalState instanced used to observe the intermediate +// evaluations of an expression. +func NewEvalState() EvalState { + return &evalState{ + values: make(map[int64]ref.Val), + } +} + +// IDs implements the EvalState interface method. +func (s *evalState) IDs() []int64 { + var ids []int64 + for k, v := range s.values { + if v != nil { + ids = append(ids, k) + } + } + return ids +} + +// Value is an implementation of the EvalState interface method. +func (s *evalState) Value(exprID int64) (ref.Val, bool) { + val, found := s.values[exprID] + return val, found +} + +// SetValue is an implementation of the EvalState interface method. +func (s *evalState) SetValue(exprID int64, val ref.Val) { + if val == nil { + delete(s.values, exprID) + } else { + s.values[exprID] = val + } +} + +// Reset implements the EvalState interface method. +func (s *evalState) Reset() { + s.values = map[int64]ref.Val{} +} diff --git a/vendor/github.com/google/cel-go/interpreter/interpretable.go b/vendor/github.com/google/cel-go/interpreter/interpretable.go new file mode 100644 index 000000000..ebc432e9d --- /dev/null +++ b/vendor/github.com/google/cel-go/interpreter/interpretable.go @@ -0,0 +1,1407 @@ +// Copyright 2019 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 interpreter + +import ( + "fmt" + "sync" + + "github.com/google/cel-go/common/functions" + "github.com/google/cel-go/common/operators" + "github.com/google/cel-go/common/overloads" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" + "github.com/google/cel-go/common/types/traits" +) + +// Interpretable can accept a given Activation and produce a value along with +// an accompanying EvalState which can be used to inspect whether additional +// data might be necessary to complete the evaluation. +type Interpretable interface { + // ID value corresponding to the expression node. + ID() int64 + + // Eval an Activation to produce an output. + Eval(activation Activation) ref.Val +} + +// InterpretableConst interface for tracking whether the Interpretable is a constant value. +type InterpretableConst interface { + Interpretable + + // Value returns the constant value of the instruction. + Value() ref.Val +} + +// InterpretableAttribute interface for tracking whether the Interpretable is an attribute. +type InterpretableAttribute interface { + Interpretable + + // Attr returns the Attribute value. + Attr() Attribute + + // Adapter returns the type adapter to be used for adapting resolved Attribute values. + Adapter() types.Adapter + + // AddQualifier proxies the Attribute.AddQualifier method. + // + // Note, this method may mutate the current attribute state. If the desire is to clone the + // Attribute, the Attribute should first be copied before adding the qualifier. Attributes + // are not copyable by default, so this is a capable that would need to be added to the + // AttributeFactory or specifically to the underlying Attribute implementation. + AddQualifier(Qualifier) (Attribute, error) + + // Qualify replicates the Attribute.Qualify method to permit extension and interception + // of object qualification. + Qualify(vars Activation, obj any) (any, error) + + // QualifyIfPresent qualifies the object if the qualifier is declared or defined on the object. + // The 'presenceOnly' flag indicates that the value is not necessary, just a boolean status as + // to whether the qualifier is present. + QualifyIfPresent(vars Activation, obj any, presenceOnly bool) (any, bool, error) + + // IsOptional indicates whether the resulting value is an optional type. + IsOptional() bool + + // Resolve returns the value of the Attribute given the current Activation. + Resolve(Activation) (any, error) +} + +// InterpretableCall interface for inspecting Interpretable instructions related to function calls. +type InterpretableCall interface { + Interpretable + + // Function returns the function name as it appears in text or mangled operator name as it + // appears in the operators.go file. + Function() string + + // OverloadID returns the overload id associated with the function specialization. + // Overload ids are stable across language boundaries and can be treated as synonymous with a + // unique function signature. + OverloadID() string + + // Args returns the normalized arguments to the function overload. + // For receiver-style functions, the receiver target is arg 0. + Args() []Interpretable +} + +// InterpretableConstructor interface for inspecting Interpretable instructions that initialize a list, map +// or struct. +type InterpretableConstructor interface { + Interpretable + + // InitVals returns all the list elements, map key and values or struct field values. + InitVals() []Interpretable + + // Type returns the type constructed. + Type() ref.Type +} + +// Core Interpretable implementations used during the program planning phase. + +type evalTestOnly struct { + id int64 + InterpretableAttribute +} + +// ID implements the Interpretable interface method. +func (test *evalTestOnly) ID() int64 { + return test.id +} + +// Eval implements the Interpretable interface method. +func (test *evalTestOnly) Eval(ctx Activation) ref.Val { + val, err := test.Resolve(ctx) + // Return an error if the resolve step fails + if err != nil { + return types.LabelErrNode(test.id, types.WrapErr(err)) + } + if optVal, isOpt := val.(*types.Optional); isOpt { + return types.Bool(optVal.HasValue()) + } + return test.Adapter().NativeToValue(val) +} + +// AddQualifier appends a qualifier that will always and only perform a presence test. +func (test *evalTestOnly) AddQualifier(q Qualifier) (Attribute, error) { + cq, ok := q.(ConstantQualifier) + if !ok { + return nil, fmt.Errorf("test only expressions must have constant qualifiers: %v", q) + } + return test.InterpretableAttribute.AddQualifier(&testOnlyQualifier{ConstantQualifier: cq}) +} + +type testOnlyQualifier struct { + ConstantQualifier +} + +// Qualify determines whether the test-only qualifier is present on the input object. +func (q *testOnlyQualifier) Qualify(vars Activation, obj any) (any, error) { + out, present, err := q.ConstantQualifier.QualifyIfPresent(vars, obj, true) + if err != nil { + return nil, err + } + if unk, isUnk := out.(types.Unknown); isUnk { + return unk, nil + } + if opt, isOpt := out.(types.Optional); isOpt { + return opt.HasValue(), nil + } + return present, nil +} + +// QualifyIfPresent returns whether the target field in the test-only expression is present. +func (q *testOnlyQualifier) QualifyIfPresent(vars Activation, obj any, presenceOnly bool) (any, bool, error) { + // Only ever test for presence. + return q.ConstantQualifier.QualifyIfPresent(vars, obj, true) +} + +// QualifierValueEquals determines whether the test-only constant qualifier equals the input value. +func (q *testOnlyQualifier) QualifierValueEquals(value any) bool { + // The input qualifier will always be of type string + return q.ConstantQualifier.Value().Value() == value +} + +// NewConstValue creates a new constant valued Interpretable. +func NewConstValue(id int64, val ref.Val) InterpretableConst { + return &evalConst{ + id: id, + val: val, + } +} + +type evalConst struct { + id int64 + val ref.Val +} + +// ID implements the Interpretable interface method. +func (cons *evalConst) ID() int64 { + return cons.id +} + +// Eval implements the Interpretable interface method. +func (cons *evalConst) Eval(ctx Activation) ref.Val { + return cons.val +} + +// Value implements the InterpretableConst interface method. +func (cons *evalConst) Value() ref.Val { + return cons.val +} + +type evalOr struct { + id int64 + terms []Interpretable +} + +// ID implements the Interpretable interface method. +func (or *evalOr) ID() int64 { + return or.id +} + +// Eval implements the Interpretable interface method. +func (or *evalOr) Eval(ctx Activation) ref.Val { + var err ref.Val = nil + var unk *types.Unknown + for _, term := range or.terms { + val := term.Eval(ctx) + boolVal, ok := val.(types.Bool) + // short-circuit on true. + if ok && boolVal == types.True { + return types.True + } + if !ok { + isUnk := false + unk, isUnk = types.MaybeMergeUnknowns(val, unk) + if !isUnk && err == nil { + if types.IsError(val) { + err = val + } else { + err = types.MaybeNoSuchOverloadErr(val) + } + err = types.LabelErrNode(or.id, err) + } + } + } + if unk != nil { + return unk + } + if err != nil { + return err + } + return types.False +} + +type evalAnd struct { + id int64 + terms []Interpretable +} + +// ID implements the Interpretable interface method. +func (and *evalAnd) ID() int64 { + return and.id +} + +// Eval implements the Interpretable interface method. +func (and *evalAnd) Eval(ctx Activation) ref.Val { + var err ref.Val = nil + var unk *types.Unknown + for _, term := range and.terms { + val := term.Eval(ctx) + boolVal, ok := val.(types.Bool) + // short-circuit on false. + if ok && boolVal == types.False { + return types.False + } + if !ok { + isUnk := false + unk, isUnk = types.MaybeMergeUnknowns(val, unk) + if !isUnk && err == nil { + if types.IsError(val) { + err = val + } else { + err = types.MaybeNoSuchOverloadErr(val) + } + err = types.LabelErrNode(and.id, err) + } + } + } + if unk != nil { + return unk + } + if err != nil { + return err + } + return types.True +} + +type evalEq struct { + id int64 + lhs Interpretable + rhs Interpretable +} + +// ID implements the Interpretable interface method. +func (eq *evalEq) ID() int64 { + return eq.id +} + +// Eval implements the Interpretable interface method. +func (eq *evalEq) Eval(ctx Activation) ref.Val { + lVal := eq.lhs.Eval(ctx) + rVal := eq.rhs.Eval(ctx) + if types.IsUnknownOrError(lVal) { + return lVal + } + if types.IsUnknownOrError(rVal) { + return rVal + } + return types.Equal(lVal, rVal) +} + +// Function implements the InterpretableCall interface method. +func (*evalEq) Function() string { + return operators.Equals +} + +// OverloadID implements the InterpretableCall interface method. +func (*evalEq) OverloadID() string { + return overloads.Equals +} + +// Args implements the InterpretableCall interface method. +func (eq *evalEq) Args() []Interpretable { + return []Interpretable{eq.lhs, eq.rhs} +} + +type evalNe struct { + id int64 + lhs Interpretable + rhs Interpretable +} + +// ID implements the Interpretable interface method. +func (ne *evalNe) ID() int64 { + return ne.id +} + +// Eval implements the Interpretable interface method. +func (ne *evalNe) Eval(ctx Activation) ref.Val { + lVal := ne.lhs.Eval(ctx) + rVal := ne.rhs.Eval(ctx) + if types.IsUnknownOrError(lVal) { + return lVal + } + if types.IsUnknownOrError(rVal) { + return rVal + } + return types.Bool(types.Equal(lVal, rVal) != types.True) +} + +// Function implements the InterpretableCall interface method. +func (*evalNe) Function() string { + return operators.NotEquals +} + +// OverloadID implements the InterpretableCall interface method. +func (*evalNe) OverloadID() string { + return overloads.NotEquals +} + +// Args implements the InterpretableCall interface method. +func (ne *evalNe) Args() []Interpretable { + return []Interpretable{ne.lhs, ne.rhs} +} + +type evalZeroArity struct { + id int64 + function string + overload string + impl functions.FunctionOp +} + +// ID implements the Interpretable interface method. +func (zero *evalZeroArity) ID() int64 { + return zero.id +} + +// Eval implements the Interpretable interface method. +func (zero *evalZeroArity) Eval(ctx Activation) ref.Val { + return types.LabelErrNode(zero.id, zero.impl()) +} + +// Function implements the InterpretableCall interface method. +func (zero *evalZeroArity) Function() string { + return zero.function +} + +// OverloadID implements the InterpretableCall interface method. +func (zero *evalZeroArity) OverloadID() string { + return zero.overload +} + +// Args returns the argument to the unary function. +func (zero *evalZeroArity) Args() []Interpretable { + return []Interpretable{} +} + +type evalUnary struct { + id int64 + function string + overload string + arg Interpretable + trait int + impl functions.UnaryOp + nonStrict bool +} + +// ID implements the Interpretable interface method. +func (un *evalUnary) ID() int64 { + return un.id +} + +// Eval implements the Interpretable interface method. +func (un *evalUnary) Eval(ctx Activation) ref.Val { + argVal := un.arg.Eval(ctx) + // Early return if the argument to the function is unknown or error. + strict := !un.nonStrict + if strict && types.IsUnknownOrError(argVal) { + return argVal + } + // If the implementation is bound and the argument value has the right traits required to + // invoke it, then call the implementation. + if un.impl != nil && (un.trait == 0 || (!strict && types.IsUnknownOrError(argVal)) || argVal.Type().HasTrait(un.trait)) { + return types.LabelErrNode(un.id, un.impl(argVal)) + } + // Otherwise, if the argument is a ReceiverType attempt to invoke the receiver method on the + // operand (arg0). + if argVal.Type().HasTrait(traits.ReceiverType) { + return types.LabelErrNode(un.id, argVal.(traits.Receiver).Receive(un.function, un.overload, []ref.Val{})) + } + return types.NewErrWithNodeID(un.id, "no such overload: %s", un.function) +} + +// Function implements the InterpretableCall interface method. +func (un *evalUnary) Function() string { + return un.function +} + +// OverloadID implements the InterpretableCall interface method. +func (un *evalUnary) OverloadID() string { + return un.overload +} + +// Args returns the argument to the unary function. +func (un *evalUnary) Args() []Interpretable { + return []Interpretable{un.arg} +} + +type evalBinary struct { + id int64 + function string + overload string + lhs Interpretable + rhs Interpretable + trait int + impl functions.BinaryOp + nonStrict bool +} + +// ID implements the Interpretable interface method. +func (bin *evalBinary) ID() int64 { + return bin.id +} + +// Eval implements the Interpretable interface method. +func (bin *evalBinary) Eval(ctx Activation) ref.Val { + lVal := bin.lhs.Eval(ctx) + rVal := bin.rhs.Eval(ctx) + // Early return if any argument to the function is unknown or error. + strict := !bin.nonStrict + if strict { + if types.IsUnknownOrError(lVal) { + return lVal + } + if types.IsUnknownOrError(rVal) { + return rVal + } + } + // If the implementation is bound and the argument value has the right traits required to + // invoke it, then call the implementation. + if bin.impl != nil && (bin.trait == 0 || (!strict && types.IsUnknownOrError(lVal)) || lVal.Type().HasTrait(bin.trait)) { + return types.LabelErrNode(bin.id, bin.impl(lVal, rVal)) + } + // Otherwise, if the argument is a ReceiverType attempt to invoke the receiver method on the + // operand (arg0). + if lVal.Type().HasTrait(traits.ReceiverType) { + return types.LabelErrNode(bin.id, lVal.(traits.Receiver).Receive(bin.function, bin.overload, []ref.Val{rVal})) + } + return types.NewErrWithNodeID(bin.id, "no such overload: %s", bin.function) +} + +// Function implements the InterpretableCall interface method. +func (bin *evalBinary) Function() string { + return bin.function +} + +// OverloadID implements the InterpretableCall interface method. +func (bin *evalBinary) OverloadID() string { + return bin.overload +} + +// Args returns the argument to the unary function. +func (bin *evalBinary) Args() []Interpretable { + return []Interpretable{bin.lhs, bin.rhs} +} + +type evalVarArgs struct { + id int64 + function string + overload string + args []Interpretable + trait int + impl functions.FunctionOp + nonStrict bool +} + +// NewCall creates a new call Interpretable. +func NewCall(id int64, function, overload string, args []Interpretable, impl functions.FunctionOp) InterpretableCall { + return &evalVarArgs{ + id: id, + function: function, + overload: overload, + args: args, + impl: impl, + } +} + +// ID implements the Interpretable interface method. +func (fn *evalVarArgs) ID() int64 { + return fn.id +} + +// Eval implements the Interpretable interface method. +func (fn *evalVarArgs) Eval(ctx Activation) ref.Val { + argVals := make([]ref.Val, len(fn.args)) + // Early return if any argument to the function is unknown or error. + strict := !fn.nonStrict + for i, arg := range fn.args { + argVals[i] = arg.Eval(ctx) + if strict && types.IsUnknownOrError(argVals[i]) { + return argVals[i] + } + } + // If the implementation is bound and the argument value has the right traits required to + // invoke it, then call the implementation. + arg0 := argVals[0] + if fn.impl != nil && (fn.trait == 0 || (!strict && types.IsUnknownOrError(arg0)) || arg0.Type().HasTrait(fn.trait)) { + return types.LabelErrNode(fn.id, fn.impl(argVals...)) + } + // Otherwise, if the argument is a ReceiverType attempt to invoke the receiver method on the + // operand (arg0). + if arg0.Type().HasTrait(traits.ReceiverType) { + return types.LabelErrNode(fn.id, arg0.(traits.Receiver).Receive(fn.function, fn.overload, argVals[1:])) + } + return types.NewErrWithNodeID(fn.id, "no such overload: %s %d", fn.function, fn.id) +} + +// Function implements the InterpretableCall interface method. +func (fn *evalVarArgs) Function() string { + return fn.function +} + +// OverloadID implements the InterpretableCall interface method. +func (fn *evalVarArgs) OverloadID() string { + return fn.overload +} + +// Args returns the argument to the unary function. +func (fn *evalVarArgs) Args() []Interpretable { + return fn.args +} + +type evalList struct { + id int64 + elems []Interpretable + optionals []bool + hasOptionals bool + adapter types.Adapter +} + +// ID implements the Interpretable interface method. +func (l *evalList) ID() int64 { + return l.id +} + +// Eval implements the Interpretable interface method. +func (l *evalList) Eval(ctx Activation) ref.Val { + elemVals := make([]ref.Val, 0, len(l.elems)) + // If any argument is unknown or error early terminate. + for i, elem := range l.elems { + elemVal := elem.Eval(ctx) + if types.IsUnknownOrError(elemVal) { + return elemVal + } + if l.hasOptionals && l.optionals[i] { + optVal, ok := elemVal.(*types.Optional) + if !ok { + return types.LabelErrNode(l.id, invalidOptionalElementInit(elemVal)) + } + if !optVal.HasValue() { + continue + } + elemVal = optVal.GetValue() + } + elemVals = append(elemVals, elemVal) + } + return l.adapter.NativeToValue(elemVals) +} + +func (l *evalList) InitVals() []Interpretable { + return l.elems +} + +func (l *evalList) Type() ref.Type { + return types.ListType +} + +type evalMap struct { + id int64 + keys []Interpretable + vals []Interpretable + optionals []bool + hasOptionals bool + adapter types.Adapter +} + +// ID implements the Interpretable interface method. +func (m *evalMap) ID() int64 { + return m.id +} + +// Eval implements the Interpretable interface method. +func (m *evalMap) Eval(ctx Activation) ref.Val { + entries := make(map[ref.Val]ref.Val) + // If any argument is unknown or error early terminate. + for i, key := range m.keys { + keyVal := key.Eval(ctx) + if types.IsUnknownOrError(keyVal) { + return keyVal + } + valVal := m.vals[i].Eval(ctx) + if types.IsUnknownOrError(valVal) { + return valVal + } + if m.hasOptionals && m.optionals[i] { + optVal, ok := valVal.(*types.Optional) + if !ok { + return types.LabelErrNode(m.id, invalidOptionalEntryInit(keyVal, valVal)) + } + if !optVal.HasValue() { + delete(entries, keyVal) + continue + } + valVal = optVal.GetValue() + } + entries[keyVal] = valVal + } + return m.adapter.NativeToValue(entries) +} + +func (m *evalMap) InitVals() []Interpretable { + if len(m.keys) != len(m.vals) { + return nil + } + result := make([]Interpretable, len(m.keys)+len(m.vals)) + idx := 0 + for i, k := range m.keys { + v := m.vals[i] + result[idx] = k + idx++ + result[idx] = v + idx++ + } + return result +} + +func (m *evalMap) Type() ref.Type { + return types.MapType +} + +type evalObj struct { + id int64 + typeName string + fields []string + vals []Interpretable + optionals []bool + hasOptionals bool + provider types.Provider +} + +// ID implements the Interpretable interface method. +func (o *evalObj) ID() int64 { + return o.id +} + +// Eval implements the Interpretable interface method. +func (o *evalObj) Eval(ctx Activation) ref.Val { + fieldVals := make(map[string]ref.Val) + // If any argument is unknown or error early terminate. + for i, field := range o.fields { + val := o.vals[i].Eval(ctx) + if types.IsUnknownOrError(val) { + return val + } + if o.hasOptionals && o.optionals[i] { + optVal, ok := val.(*types.Optional) + if !ok { + return types.LabelErrNode(o.id, invalidOptionalEntryInit(field, val)) + } + if !optVal.HasValue() { + delete(fieldVals, field) + continue + } + val = optVal.GetValue() + } + fieldVals[field] = val + } + return types.LabelErrNode(o.id, o.provider.NewValue(o.typeName, fieldVals)) +} + +// InitVals implements the InterpretableConstructor interface method. +func (o *evalObj) InitVals() []Interpretable { + return o.vals +} + +// Type implements the InterpretableConstructor interface method. +func (o *evalObj) Type() ref.Type { + return types.NewObjectType(o.typeName) +} + +type evalFold struct { + id int64 + accuVar string + iterVar string + iterVar2 string + iterRange Interpretable + accu Interpretable + cond Interpretable + step Interpretable + result Interpretable + adapter types.Adapter + + // note an exhaustive fold will ensure that all branches are evaluated + // when using mutable values, these branches will mutate the final result + // rather than make a throw-away computation. + exhaustive bool + interruptable bool +} + +// ID implements the Interpretable interface method. +func (fold *evalFold) ID() int64 { + return fold.id +} + +// Eval implements the Interpretable interface method. +func (fold *evalFold) Eval(ctx Activation) ref.Val { + // Initialize the folder interface + f := newFolder(fold, ctx) + defer releaseFolder(f) + + foldRange := fold.iterRange.Eval(ctx) + if fold.iterVar2 != "" { + var foldable traits.Foldable + switch r := foldRange.(type) { + case traits.Mapper: + foldable = types.ToFoldableMap(r) + case traits.Lister: + foldable = types.ToFoldableList(r) + default: + return types.NewErrWithNodeID(fold.ID(), "unsupported comprehension range type: %T", foldRange) + } + foldable.Fold(f) + return f.evalResult() + } + + if !foldRange.Type().HasTrait(traits.IterableType) { + return types.ValOrErr(foldRange, "got '%T', expected iterable type", foldRange) + } + iterable := foldRange.(traits.Iterable) + return f.foldIterable(iterable) +} + +// Optional Interpretable implementations that specialize, subsume, or extend the core evaluation +// plan via decorators. + +// evalSetMembership is an Interpretable implementation which tests whether an input value +// exists within the set of map keys used to model a set. +type evalSetMembership struct { + inst Interpretable + arg Interpretable + valueSet map[ref.Val]ref.Val +} + +// ID implements the Interpretable interface method. +func (e *evalSetMembership) ID() int64 { + return e.inst.ID() +} + +// Eval implements the Interpretable interface method. +func (e *evalSetMembership) Eval(ctx Activation) ref.Val { + val := e.arg.Eval(ctx) + if types.IsUnknownOrError(val) { + return val + } + if ret, found := e.valueSet[val]; found { + return ret + } + return types.False +} + +// evalWatch is an Interpretable implementation that wraps the execution of a given +// expression so that it may observe the computed value and send it to an observer. +type evalWatch struct { + Interpretable + observer EvalObserver +} + +// Eval implements the Interpretable interface method. +func (e *evalWatch) Eval(ctx Activation) ref.Val { + val := e.Interpretable.Eval(ctx) + e.observer(e.ID(), e.Interpretable, val) + return val +} + +// evalWatchAttr describes a watcher of an InterpretableAttribute Interpretable. +// +// Since the watcher may be selected against at a later stage in program planning, the watcher +// must implement the InterpretableAttribute interface by proxy. +type evalWatchAttr struct { + InterpretableAttribute + observer EvalObserver +} + +// AddQualifier creates a wrapper over the incoming qualifier which observes the qualification +// result. +func (e *evalWatchAttr) AddQualifier(q Qualifier) (Attribute, error) { + switch qual := q.(type) { + // By default, the qualifier is either a constant or an attribute + // There may be some custom cases where the attribute is neither. + case ConstantQualifier: + // Expose a method to test whether the qualifier matches the input pattern. + q = &evalWatchConstQual{ + ConstantQualifier: qual, + observer: e.observer, + adapter: e.Adapter(), + } + case *evalWatchAttr: + // Unwrap the evalWatchAttr since the observation will be applied during Qualify or + // QualifyIfPresent rather than Eval. + q = &evalWatchAttrQual{ + Attribute: qual.InterpretableAttribute, + observer: e.observer, + adapter: e.Adapter(), + } + case Attribute: + // Expose methods which intercept the qualification prior to being applied as a qualifier. + // Using this interface ensures that the qualifier is converted to a constant value one + // time during attribute pattern matching as the method embeds the Attribute interface + // needed to trip the conversion to a constant. + q = &evalWatchAttrQual{ + Attribute: qual, + observer: e.observer, + adapter: e.Adapter(), + } + default: + // This is likely a custom qualifier type. + q = &evalWatchQual{ + Qualifier: qual, + observer: e.observer, + adapter: e.Adapter(), + } + } + _, err := e.InterpretableAttribute.AddQualifier(q) + return e, err +} + +// Eval implements the Interpretable interface method. +func (e *evalWatchAttr) Eval(vars Activation) ref.Val { + val := e.InterpretableAttribute.Eval(vars) + e.observer(e.ID(), e.InterpretableAttribute, val) + return val +} + +// evalWatchConstQual observes the qualification of an object using a constant boolean, int, +// string, or uint. +type evalWatchConstQual struct { + ConstantQualifier + observer EvalObserver + adapter types.Adapter +} + +// Qualify observes the qualification of a object via a constant boolean, int, string, or uint. +func (e *evalWatchConstQual) Qualify(vars Activation, obj any) (any, error) { + out, err := e.ConstantQualifier.Qualify(vars, obj) + var val ref.Val + if err != nil { + val = types.LabelErrNode(e.ID(), types.WrapErr(err)) + } else { + val = e.adapter.NativeToValue(out) + } + e.observer(e.ID(), e.ConstantQualifier, val) + return out, err +} + +// QualifyIfPresent conditionally qualifies the variable and only records a value if one is present. +func (e *evalWatchConstQual) QualifyIfPresent(vars Activation, obj any, presenceOnly bool) (any, bool, error) { + out, present, err := e.ConstantQualifier.QualifyIfPresent(vars, obj, presenceOnly) + var val ref.Val + if err != nil { + val = types.LabelErrNode(e.ID(), types.WrapErr(err)) + } else if out != nil { + val = e.adapter.NativeToValue(out) + } else if presenceOnly { + val = types.Bool(present) + } + if present || presenceOnly { + e.observer(e.ID(), e.ConstantQualifier, val) + } + return out, present, err +} + +// QualifierValueEquals tests whether the incoming value is equal to the qualifying constant. +func (e *evalWatchConstQual) QualifierValueEquals(value any) bool { + qve, ok := e.ConstantQualifier.(qualifierValueEquator) + return ok && qve.QualifierValueEquals(value) +} + +// evalWatchAttrQual observes the qualification of an object by a value computed at runtime. +type evalWatchAttrQual struct { + Attribute + observer EvalObserver + adapter ref.TypeAdapter +} + +// Qualify observes the qualification of a object via a value computed at runtime. +func (e *evalWatchAttrQual) Qualify(vars Activation, obj any) (any, error) { + out, err := e.Attribute.Qualify(vars, obj) + var val ref.Val + if err != nil { + val = types.LabelErrNode(e.ID(), types.WrapErr(err)) + } else { + val = e.adapter.NativeToValue(out) + } + e.observer(e.ID(), e.Attribute, val) + return out, err +} + +// QualifyIfPresent conditionally qualifies the variable and only records a value if one is present. +func (e *evalWatchAttrQual) QualifyIfPresent(vars Activation, obj any, presenceOnly bool) (any, bool, error) { + out, present, err := e.Attribute.QualifyIfPresent(vars, obj, presenceOnly) + var val ref.Val + if err != nil { + val = types.LabelErrNode(e.ID(), types.WrapErr(err)) + } else if out != nil { + val = e.adapter.NativeToValue(out) + } else if presenceOnly { + val = types.Bool(present) + } + if present || presenceOnly { + e.observer(e.ID(), e.Attribute, val) + } + return out, present, err +} + +// evalWatchQual observes the qualification of an object by a value computed at runtime. +type evalWatchQual struct { + Qualifier + observer EvalObserver + adapter types.Adapter +} + +// Qualify observes the qualification of a object via a value computed at runtime. +func (e *evalWatchQual) Qualify(vars Activation, obj any) (any, error) { + out, err := e.Qualifier.Qualify(vars, obj) + var val ref.Val + if err != nil { + val = types.LabelErrNode(e.ID(), types.WrapErr(err)) + } else { + val = e.adapter.NativeToValue(out) + } + e.observer(e.ID(), e.Qualifier, val) + return out, err +} + +// QualifyIfPresent conditionally qualifies the variable and only records a value if one is present. +func (e *evalWatchQual) QualifyIfPresent(vars Activation, obj any, presenceOnly bool) (any, bool, error) { + out, present, err := e.Qualifier.QualifyIfPresent(vars, obj, presenceOnly) + var val ref.Val + if err != nil { + val = types.LabelErrNode(e.ID(), types.WrapErr(err)) + } else if out != nil { + val = e.adapter.NativeToValue(out) + } else if presenceOnly { + val = types.Bool(present) + } + if present || presenceOnly { + e.observer(e.ID(), e.Qualifier, val) + } + return out, present, err +} + +// evalWatchConst describes a watcher of an instConst Interpretable. +type evalWatchConst struct { + InterpretableConst + observer EvalObserver +} + +// Eval implements the Interpretable interface method. +func (e *evalWatchConst) Eval(vars Activation) ref.Val { + val := e.Value() + e.observer(e.ID(), e.InterpretableConst, val) + return val +} + +// evalExhaustiveOr is just like evalOr, but does not short-circuit argument evaluation. +type evalExhaustiveOr struct { + id int64 + terms []Interpretable +} + +// ID implements the Interpretable interface method. +func (or *evalExhaustiveOr) ID() int64 { + return or.id +} + +// Eval implements the Interpretable interface method. +func (or *evalExhaustiveOr) Eval(ctx Activation) ref.Val { + var err ref.Val = nil + var unk *types.Unknown + isTrue := false + for _, term := range or.terms { + val := term.Eval(ctx) + boolVal, ok := val.(types.Bool) + // flag the result as true + if ok && boolVal == types.True { + isTrue = true + } + if !ok && !isTrue { + isUnk := false + unk, isUnk = types.MaybeMergeUnknowns(val, unk) + if !isUnk && err == nil { + if types.IsError(val) { + err = val + } else { + err = types.MaybeNoSuchOverloadErr(val) + } + } + } + } + if isTrue { + return types.True + } + if unk != nil { + return unk + } + if err != nil { + return err + } + return types.False +} + +// evalExhaustiveAnd is just like evalAnd, but does not short-circuit argument evaluation. +type evalExhaustiveAnd struct { + id int64 + terms []Interpretable +} + +// ID implements the Interpretable interface method. +func (and *evalExhaustiveAnd) ID() int64 { + return and.id +} + +// Eval implements the Interpretable interface method. +func (and *evalExhaustiveAnd) Eval(ctx Activation) ref.Val { + var err ref.Val = nil + var unk *types.Unknown + isFalse := false + for _, term := range and.terms { + val := term.Eval(ctx) + boolVal, ok := val.(types.Bool) + // short-circuit on false. + if ok && boolVal == types.False { + isFalse = true + } + if !ok && !isFalse { + isUnk := false + unk, isUnk = types.MaybeMergeUnknowns(val, unk) + if !isUnk && err == nil { + if types.IsError(val) { + err = val + } else { + err = types.MaybeNoSuchOverloadErr(val) + } + } + } + } + if isFalse { + return types.False + } + if unk != nil { + return unk + } + if err != nil { + return err + } + return types.True +} + +// evalExhaustiveConditional is like evalConditional, but does not short-circuit argument +// evaluation. +type evalExhaustiveConditional struct { + id int64 + adapter types.Adapter + attr *conditionalAttribute +} + +// ID implements the Interpretable interface method. +func (cond *evalExhaustiveConditional) ID() int64 { + return cond.id +} + +// Eval implements the Interpretable interface method. +func (cond *evalExhaustiveConditional) Eval(ctx Activation) ref.Val { + cVal := cond.attr.expr.Eval(ctx) + tVal, tErr := cond.attr.truthy.Resolve(ctx) + fVal, fErr := cond.attr.falsy.Resolve(ctx) + cBool, ok := cVal.(types.Bool) + if !ok { + return types.ValOrErr(cVal, "no such overload") + } + if cBool { + if tErr != nil { + return types.LabelErrNode(cond.id, types.WrapErr(tErr)) + } + return cond.adapter.NativeToValue(tVal) + } + if fErr != nil { + return types.LabelErrNode(cond.id, types.WrapErr(fErr)) + } + return cond.adapter.NativeToValue(fVal) +} + +// evalAttr evaluates an Attribute value. +type evalAttr struct { + adapter types.Adapter + attr Attribute + optional bool +} + +var _ InterpretableAttribute = &evalAttr{} + +// ID of the attribute instruction. +func (a *evalAttr) ID() int64 { + return a.attr.ID() +} + +// AddQualifier implements the InterpretableAttribute interface method. +func (a *evalAttr) AddQualifier(qual Qualifier) (Attribute, error) { + attr, err := a.attr.AddQualifier(qual) + a.attr = attr + return attr, err +} + +// Attr implements the InterpretableAttribute interface method. +func (a *evalAttr) Attr() Attribute { + return a.attr +} + +// Adapter implements the InterpretableAttribute interface method. +func (a *evalAttr) Adapter() types.Adapter { + return a.adapter +} + +// Eval implements the Interpretable interface method. +func (a *evalAttr) Eval(ctx Activation) ref.Val { + v, err := a.attr.Resolve(ctx) + if err != nil { + return types.LabelErrNode(a.ID(), types.WrapErr(err)) + } + return a.adapter.NativeToValue(v) +} + +// Qualify proxies to the Attribute's Qualify method. +func (a *evalAttr) Qualify(ctx Activation, obj any) (any, error) { + return a.attr.Qualify(ctx, obj) +} + +// QualifyIfPresent proxies to the Attribute's QualifyIfPresent method. +func (a *evalAttr) QualifyIfPresent(ctx Activation, obj any, presenceOnly bool) (any, bool, error) { + return a.attr.QualifyIfPresent(ctx, obj, presenceOnly) +} + +func (a *evalAttr) IsOptional() bool { + return a.optional +} + +// Resolve proxies to the Attribute's Resolve method. +func (a *evalAttr) Resolve(ctx Activation) (any, error) { + return a.attr.Resolve(ctx) +} + +type evalWatchConstructor struct { + constructor InterpretableConstructor + observer EvalObserver +} + +// InitVals implements the InterpretableConstructor InitVals function. +func (c *evalWatchConstructor) InitVals() []Interpretable { + return c.constructor.InitVals() +} + +// Type implements the InterpretableConstructor Type function. +func (c *evalWatchConstructor) Type() ref.Type { + return c.constructor.Type() +} + +// ID implements the Interpretable ID function. +func (c *evalWatchConstructor) ID() int64 { + return c.constructor.ID() +} + +// Eval implements the Interpretable Eval function. +func (c *evalWatchConstructor) Eval(ctx Activation) ref.Val { + val := c.constructor.Eval(ctx) + c.observer(c.ID(), c.constructor, val) + return val +} + +func invalidOptionalEntryInit(field any, value ref.Val) ref.Val { + return types.NewErr("cannot initialize optional entry '%v' from non-optional value %v", field, value) +} + +func invalidOptionalElementInit(value ref.Val) ref.Val { + return types.NewErr("cannot initialize optional list element from non-optional value %v", value) +} + +// newFolder creates or initializes a pooled folder instance. +func newFolder(eval *evalFold, ctx Activation) *folder { + f := folderPool.Get().(*folder) + f.evalFold = eval + f.Activation = ctx + return f +} + +// releaseFolder resets and releases a pooled folder instance. +func releaseFolder(f *folder) { + f.reset() + folderPool.Put(f) +} + +// folder tracks the state associated with folding a list or map with a comprehension v2 style macro. +// +// The folder embeds an interpreter.Activation and Interpretable evalFold value as well as implements +// the traits.Folder interface methods. +// +// Instances of a folder are intended to be pooled to minimize allocation overhead with this temporary +// bookkeeping object which supports lazy evaluation of the accumulator init expression which is useful +// in preserving evaluation order semantics which might otherwise be disrupted through the use of +// cel.bind or cel.@block. +type folder struct { + *evalFold + Activation + + // fold state objects. + accuVal ref.Val + iterVar1Val any + iterVar2Val any + + // bookkeeping flags to modify Activation and fold behaviors. + initialized bool + mutableValue bool + interrupted bool + computeResult bool +} + +func (f *folder) foldIterable(iterable traits.Iterable) ref.Val { + it := iterable.Iterator() + for it.HasNext() == types.True { + f.iterVar1Val = it.Next() + + cond := f.cond.Eval(f) + condBool, ok := cond.(types.Bool) + if f.interrupted || (!f.exhaustive && ok && condBool != types.True) { + return f.evalResult() + } + + // Update the accumulation value and check for eval interuption. + f.accuVal = f.step.Eval(f) + f.initialized = true + if f.interruptable && checkInterrupt(f.Activation) { + f.interrupted = true + return f.evalResult() + } + } + return f.evalResult() +} + +// FoldEntry will either fold comprehension v1 style macros if iterVar2 is unset, or comprehension v2 style +// macros if both the iterVar and iterVar2 are set to non-empty strings. +func (f *folder) FoldEntry(key, val any) bool { + // Default to referencing both values. + f.iterVar1Val = key + f.iterVar2Val = val + + // Terminate evaluation if evaluation is interrupted or the condition is not true and exhaustive + // eval is not enabled. + cond := f.cond.Eval(f) + condBool, ok := cond.(types.Bool) + if f.interrupted || (!f.exhaustive && ok && condBool != types.True) { + return false + } + + // Update the accumulation value and check for eval interuption. + f.accuVal = f.step.Eval(f) + f.initialized = true + if f.interruptable && checkInterrupt(f.Activation) { + f.interrupted = true + return false + } + return true +} + +// ResolveName overrides the default Activation lookup to perform lazy initialization of the accumulator +// and specialized lookups of iteration values with consideration for whether the final result is being +// computed and the iteration variables should be ignored. +func (f *folder) ResolveName(name string) (any, bool) { + if name == f.accuVar { + if !f.initialized { + f.initialized = true + initVal := f.accu.Eval(f.Activation) + if !f.exhaustive { + if l, isList := initVal.(traits.Lister); isList && l.Size() == types.IntZero { + initVal = types.NewMutableList(f.adapter) + f.mutableValue = true + } + if m, isMap := initVal.(traits.Mapper); isMap && m.Size() == types.IntZero { + initVal = types.NewMutableMap(f.adapter, map[ref.Val]ref.Val{}) + f.mutableValue = true + } + } + f.accuVal = initVal + } + return f.accuVal, true + } + if !f.computeResult { + if name == f.iterVar { + f.iterVar1Val = f.adapter.NativeToValue(f.iterVar1Val) + return f.iterVar1Val, true + } + if name == f.iterVar2 { + f.iterVar2Val = f.adapter.NativeToValue(f.iterVar2Val) + return f.iterVar2Val, true + } + } + return f.Activation.ResolveName(name) +} + +// evalResult computes the final result of the fold after all entries have been folded and accumulated. +func (f *folder) evalResult() ref.Val { + f.computeResult = true + if f.interrupted { + return types.NewErr("operation interrupted") + } + res := f.result.Eval(f) + // Convert a mutable list or map to an immutable one if the comprehension has generated a list or + // map as a result. + if !types.IsUnknownOrError(res) && f.mutableValue { + if _, ok := res.(traits.MutableLister); ok { + res = res.(traits.MutableLister).ToImmutableList() + } + if _, ok := res.(traits.MutableMapper); ok { + res = res.(traits.MutableMapper).ToImmutableMap() + } + } + return res +} + +// reset clears any state associated with folder evaluation. +func (f *folder) reset() { + f.evalFold = nil + f.Activation = nil + f.accuVal = nil + f.iterVar1Val = nil + f.iterVar2Val = nil + + f.initialized = false + f.mutableValue = false + f.interrupted = false + f.computeResult = false +} + +func checkInterrupt(a Activation) bool { + stop, found := a.ResolveName("#interrupted") + return found && stop == true +} + +var ( + // pool of var folders to reduce allocations during folds. + folderPool = &sync.Pool{ + New: func() any { + return &folder{} + }, + } +) diff --git a/vendor/github.com/google/cel-go/interpreter/interpreter.go b/vendor/github.com/google/cel-go/interpreter/interpreter.go new file mode 100644 index 000000000..0aca74d88 --- /dev/null +++ b/vendor/github.com/google/cel-go/interpreter/interpreter.go @@ -0,0 +1,185 @@ +// Copyright 2018 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 interpreter provides functions to evaluate parsed expressions with +// the option to augment the evaluation with inputs and functions supplied at +// evaluation time. +package interpreter + +import ( + "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/containers" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" +) + +// Interpreter generates a new Interpretable from a checked or unchecked expression. +type Interpreter interface { + // NewInterpretable creates an Interpretable from a checked expression and an + // optional list of InterpretableDecorator values. + NewInterpretable(exprAST *ast.AST, decorators ...InterpretableDecorator) (Interpretable, error) +} + +// EvalObserver is a functional interface that accepts an expression id and an observed value. +// The id identifies the expression that was evaluated, the programStep is the Interpretable or Qualifier that +// was evaluated and value is the result of the evaluation. +type EvalObserver func(id int64, programStep any, value ref.Val) + +// Observe constructs a decorator that calls all the provided observers in order after evaluating each Interpretable +// or Qualifier during program evaluation. +func Observe(observers ...EvalObserver) InterpretableDecorator { + if len(observers) == 1 { + return decObserveEval(observers[0]) + } + observeFn := func(id int64, programStep any, val ref.Val) { + for _, observer := range observers { + observer(id, programStep, val) + } + } + return decObserveEval(observeFn) +} + +// EvalCancelledError represents a cancelled program evaluation operation. +type EvalCancelledError struct { + Message string + // Type identifies the cause of the cancellation. + Cause CancellationCause +} + +func (e EvalCancelledError) Error() string { + return e.Message +} + +// CancellationCause enumerates the ways a program evaluation operation can be cancelled. +type CancellationCause int + +const ( + // ContextCancelled indicates that the operation was cancelled in response to a Golang context cancellation. + ContextCancelled CancellationCause = iota + + // CostLimitExceeded indicates that the operation was cancelled in response to the actual cost limit being + // exceeded. + CostLimitExceeded +) + +// TODO: Replace all usages of TrackState with EvalStateObserver + +// TrackState decorates each expression node with an observer which records the value +// associated with the given expression id. EvalState must be provided to the decorator. +// This decorator is not thread-safe, and the EvalState must be reset between Eval() +// calls. +// DEPRECATED: Please use EvalStateObserver instead. It composes gracefully with additional observers. +func TrackState(state EvalState) InterpretableDecorator { + return Observe(EvalStateObserver(state)) +} + +// EvalStateObserver provides an observer which records the value +// associated with the given expression id. EvalState must be provided to the observer. +// This decorator is not thread-safe, and the EvalState must be reset between Eval() +// calls. +func EvalStateObserver(state EvalState) EvalObserver { + return func(id int64, programStep any, val ref.Val) { + state.SetValue(id, val) + } +} + +// ExhaustiveEval replaces operations that short-circuit with versions that evaluate +// expressions and couples this behavior with the TrackState() decorator to provide +// insight into the evaluation state of the entire expression. EvalState must be +// provided to the decorator. This decorator is not thread-safe, and the EvalState +// must be reset between Eval() calls. +func ExhaustiveEval() InterpretableDecorator { + ex := decDisableShortcircuits() + return func(i Interpretable) (Interpretable, error) { + return ex(i) + } +} + +// InterruptableEval annotates comprehension loops with information that indicates they +// should check the `#interrupted` state within a custom Activation. +// +// The custom activation is currently managed higher up in the stack within the 'cel' package +// and should not require any custom support on behalf of callers. +func InterruptableEval() InterpretableDecorator { + return decInterruptFolds() +} + +// Optimize will pre-compute operations such as list and map construction and optimize +// call arguments to set membership tests. The set of optimizations will increase over time. +func Optimize() InterpretableDecorator { + return decOptimize() +} + +// RegexOptimization provides a way to replace an InterpretableCall for a regex function when the +// RegexIndex argument is a string constant. Typically, the Factory would compile the regex pattern at +// RegexIndex and report any errors (at program creation time) and then use the compiled regex for +// all regex function invocations. +type RegexOptimization struct { + // Function is the name of the function to optimize. + Function string + // OverloadID is the ID of the overload to optimize. + OverloadID string + // RegexIndex is the index position of the regex pattern argument. Only calls to the function where this argument is + // a string constant will be delegated to this optimizer. + RegexIndex int + // Factory constructs a replacement InterpretableCall node that optimizes the regex function call. Factory is + // provided with the unoptimized regex call and the string constant at the RegexIndex argument. + // The Factory may compile the regex for use across all invocations of the call, return any errors and + // return an interpreter.NewCall with the desired regex optimized function impl. + Factory func(call InterpretableCall, regexPattern string) (InterpretableCall, error) +} + +// CompileRegexConstants compiles regex pattern string constants at program creation time and reports any regex pattern +// compile errors. +func CompileRegexConstants(regexOptimizations ...*RegexOptimization) InterpretableDecorator { + return decRegexOptimizer(regexOptimizations...) +} + +type exprInterpreter struct { + dispatcher Dispatcher + container *containers.Container + provider types.Provider + adapter types.Adapter + attrFactory AttributeFactory +} + +// NewInterpreter builds an Interpreter from a Dispatcher and TypeProvider which will be used +// throughout the Eval of all Interpretable instances generated from it. +func NewInterpreter(dispatcher Dispatcher, + container *containers.Container, + provider types.Provider, + adapter types.Adapter, + attrFactory AttributeFactory) Interpreter { + return &exprInterpreter{ + dispatcher: dispatcher, + container: container, + provider: provider, + adapter: adapter, + attrFactory: attrFactory} +} + +// NewIntepretable implements the Interpreter interface method. +func (i *exprInterpreter) NewInterpretable( + checked *ast.AST, + decorators ...InterpretableDecorator) (Interpretable, error) { + p := newPlanner( + i.dispatcher, + i.provider, + i.adapter, + i.attrFactory, + i.container, + checked, + decorators...) + return p.Plan(checked.Expr()) +} diff --git a/vendor/github.com/google/cel-go/interpreter/optimizations.go b/vendor/github.com/google/cel-go/interpreter/optimizations.go new file mode 100644 index 000000000..2fc87e693 --- /dev/null +++ b/vendor/github.com/google/cel-go/interpreter/optimizations.go @@ -0,0 +1,46 @@ +// Copyright 2022 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 interpreter + +import ( + "regexp" + + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" +) + +// MatchesRegexOptimization optimizes the 'matches' standard library function by compiling the regex pattern and +// reporting any compilation errors at program creation time, and using the compiled regex pattern for all function +// call invocations. +var MatchesRegexOptimization = &RegexOptimization{ + Function: "matches", + RegexIndex: 1, + Factory: func(call InterpretableCall, regexPattern string) (InterpretableCall, error) { + compiledRegex, err := regexp.Compile(regexPattern) + if err != nil { + return nil, err + } + return NewCall(call.ID(), call.Function(), call.OverloadID(), call.Args(), func(values ...ref.Val) ref.Val { + if len(values) != 2 { + return types.NoSuchOverloadErr() + } + in, ok := values[0].Value().(string) + if !ok { + return types.NoSuchOverloadErr() + } + return types.Bool(compiledRegex.MatchString(in)) + }), nil + }, +} diff --git a/vendor/github.com/google/cel-go/interpreter/planner.go b/vendor/github.com/google/cel-go/interpreter/planner.go new file mode 100644 index 000000000..3d918ce87 --- /dev/null +++ b/vendor/github.com/google/cel-go/interpreter/planner.go @@ -0,0 +1,757 @@ +// Copyright 2018 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 interpreter + +import ( + "fmt" + "strings" + + "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/containers" + "github.com/google/cel-go/common/functions" + "github.com/google/cel-go/common/operators" + "github.com/google/cel-go/common/types" +) + +// interpretablePlanner creates an Interpretable evaluation plan from a proto Expr value. +type interpretablePlanner interface { + // Plan generates an Interpretable value (or error) from the input proto Expr. + Plan(expr ast.Expr) (Interpretable, error) +} + +// newPlanner creates an interpretablePlanner which references a Dispatcher, TypeProvider, +// TypeAdapter, Container, and CheckedExpr value. These pieces of data are used to resolve +// functions, types, and namespaced identifiers at plan time rather than at runtime since +// it only needs to be done once and may be semi-expensive to compute. +func newPlanner(disp Dispatcher, + provider types.Provider, + adapter types.Adapter, + attrFactory AttributeFactory, + cont *containers.Container, + exprAST *ast.AST, + decorators ...InterpretableDecorator) interpretablePlanner { + return &planner{ + disp: disp, + provider: provider, + adapter: adapter, + attrFactory: attrFactory, + container: cont, + refMap: exprAST.ReferenceMap(), + typeMap: exprAST.TypeMap(), + decorators: decorators, + } +} + +// planner is an implementation of the interpretablePlanner interface. +type planner struct { + disp Dispatcher + provider types.Provider + adapter types.Adapter + attrFactory AttributeFactory + container *containers.Container + refMap map[int64]*ast.ReferenceInfo + typeMap map[int64]*types.Type + decorators []InterpretableDecorator +} + +// Plan implements the interpretablePlanner interface. This implementation of the Plan method also +// applies decorators to each Interpretable generated as part of the overall plan. Decorators are +// useful for layering functionality into the evaluation that is not natively understood by CEL, +// such as state-tracking, expression re-write, and possibly efficient thread-safe memoization of +// repeated expressions. +func (p *planner) Plan(expr ast.Expr) (Interpretable, error) { + switch expr.Kind() { + case ast.CallKind: + return p.decorate(p.planCall(expr)) + case ast.IdentKind: + return p.decorate(p.planIdent(expr)) + case ast.LiteralKind: + return p.decorate(p.planConst(expr)) + case ast.SelectKind: + return p.decorate(p.planSelect(expr)) + case ast.ListKind: + return p.decorate(p.planCreateList(expr)) + case ast.MapKind: + return p.decorate(p.planCreateMap(expr)) + case ast.StructKind: + return p.decorate(p.planCreateStruct(expr)) + case ast.ComprehensionKind: + return p.decorate(p.planComprehension(expr)) + } + return nil, fmt.Errorf("unsupported expr: %v", expr) +} + +// decorate applies the InterpretableDecorator functions to the given Interpretable. +// Both the Interpretable and error generated by a Plan step are accepted as arguments +// for convenience. +func (p *planner) decorate(i Interpretable, err error) (Interpretable, error) { + if err != nil { + return nil, err + } + for _, dec := range p.decorators { + i, err = dec(i) + if err != nil { + return nil, err + } + } + return i, nil +} + +// planIdent creates an Interpretable that resolves an identifier from an Activation. +func (p *planner) planIdent(expr ast.Expr) (Interpretable, error) { + // Establish whether the identifier is in the reference map. + if identRef, found := p.refMap[expr.ID()]; found { + return p.planCheckedIdent(expr.ID(), identRef) + } + // Create the possible attribute list for the unresolved reference. + ident := expr.AsIdent() + return &evalAttr{ + adapter: p.adapter, + attr: p.attrFactory.MaybeAttribute(expr.ID(), ident), + }, nil +} + +func (p *planner) planCheckedIdent(id int64, identRef *ast.ReferenceInfo) (Interpretable, error) { + // Plan a constant reference if this is the case for this simple identifier. + if identRef.Value != nil { + return NewConstValue(id, identRef.Value), nil + } + + // Check to see whether the type map indicates this is a type name. All types should be + // registered with the provider. + cType := p.typeMap[id] + if cType.Kind() == types.TypeKind { + cVal, found := p.provider.FindIdent(identRef.Name) + if !found { + return nil, fmt.Errorf("reference to undefined type: %s", identRef.Name) + } + return NewConstValue(id, cVal), nil + } + + // Otherwise, return the attribute for the resolved identifier name. + return &evalAttr{ + adapter: p.adapter, + attr: p.attrFactory.AbsoluteAttribute(id, identRef.Name), + }, nil +} + +// planSelect creates an Interpretable with either: +// +// a) selects a field from a map or proto. +// b) creates a field presence test for a select within a has() macro. +// c) resolves the select expression to a namespaced identifier. +func (p *planner) planSelect(expr ast.Expr) (Interpretable, error) { + // If the Select id appears in the reference map from the CheckedExpr proto then it is either + // a namespaced identifier or enum value. + if identRef, found := p.refMap[expr.ID()]; found { + return p.planCheckedIdent(expr.ID(), identRef) + } + + sel := expr.AsSelect() + // Plan the operand evaluation. + op, err := p.Plan(sel.Operand()) + if err != nil { + return nil, err + } + opType := p.typeMap[sel.Operand().ID()] + + // If the Select was marked TestOnly, this is a presence test. + // + // Note: presence tests are defined for structured (e.g. proto) and dynamic values (map, json) + // as follows: + // - True if the object field has a non-default value, e.g. obj.str != "" + // - True if the dynamic value has the field defined, e.g. key in map + // + // However, presence tests are not defined for qualified identifier names with primitive types. + // If a string named 'a.b.c' is declared in the environment and referenced within `has(a.b.c)`, + // it is not clear whether has should error or follow the convention defined for structured + // values. + + // Establish the attribute reference. + attr, isAttr := op.(InterpretableAttribute) + if !isAttr { + attr, err = p.relativeAttr(op.ID(), op, false) + if err != nil { + return nil, err + } + } + + // Build a qualifier for the attribute. + qual, err := p.attrFactory.NewQualifier(opType, expr.ID(), sel.FieldName(), false) + if err != nil { + return nil, err + } + // Modify the attribute to be test-only. + if sel.IsTestOnly() { + attr = &evalTestOnly{ + id: expr.ID(), + InterpretableAttribute: attr, + } + } + // Append the qualifier on the attribute. + _, err = attr.AddQualifier(qual) + return attr, err +} + +// planCall creates a callable Interpretable while specializing for common functions and invocation +// patterns. Specifically, conditional operators &&, ||, ?:, and (in)equality functions result in +// optimized Interpretable values. +func (p *planner) planCall(expr ast.Expr) (Interpretable, error) { + call := expr.AsCall() + target, fnName, oName := p.resolveFunction(expr) + argCount := len(call.Args()) + var offset int + if target != nil { + argCount++ + offset++ + } + + args := make([]Interpretable, argCount) + if target != nil { + arg, err := p.Plan(target) + if err != nil { + return nil, err + } + args[0] = arg + } + for i, argExpr := range call.Args() { + arg, err := p.Plan(argExpr) + if err != nil { + return nil, err + } + args[i+offset] = arg + } + + // Generate specialized Interpretable operators by function name if possible. + switch fnName { + case operators.LogicalAnd: + return p.planCallLogicalAnd(expr, args) + case operators.LogicalOr: + return p.planCallLogicalOr(expr, args) + case operators.Conditional: + return p.planCallConditional(expr, args) + case operators.Equals: + return p.planCallEqual(expr, args) + case operators.NotEquals: + return p.planCallNotEqual(expr, args) + case operators.Index: + return p.planCallIndex(expr, args, false) + case operators.OptSelect, operators.OptIndex: + return p.planCallIndex(expr, args, true) + } + + // Otherwise, generate Interpretable calls specialized by argument count. + // Try to find the specific function by overload id. + var fnDef *functions.Overload + if oName != "" { + fnDef, _ = p.disp.FindOverload(oName) + } + // If the overload id couldn't resolve the function, try the simple function name. + if fnDef == nil { + fnDef, _ = p.disp.FindOverload(fnName) + } + switch argCount { + case 0: + return p.planCallZero(expr, fnName, oName, fnDef) + case 1: + // If the FunctionOp has been used, then use it as it may exist for the purposes + // of dynamic dispatch within a singleton function implementation. + if fnDef != nil && fnDef.Unary == nil && fnDef.Function != nil { + return p.planCallVarArgs(expr, fnName, oName, fnDef, args) + } + return p.planCallUnary(expr, fnName, oName, fnDef, args) + case 2: + // If the FunctionOp has been used, then use it as it may exist for the purposes + // of dynamic dispatch within a singleton function implementation. + if fnDef != nil && fnDef.Binary == nil && fnDef.Function != nil { + return p.planCallVarArgs(expr, fnName, oName, fnDef, args) + } + return p.planCallBinary(expr, fnName, oName, fnDef, args) + default: + return p.planCallVarArgs(expr, fnName, oName, fnDef, args) + } +} + +// planCallZero generates a zero-arity callable Interpretable. +func (p *planner) planCallZero(expr ast.Expr, + function string, + overload string, + impl *functions.Overload) (Interpretable, error) { + if impl == nil || impl.Function == nil { + return nil, fmt.Errorf("no such overload: %s()", function) + } + return &evalZeroArity{ + id: expr.ID(), + function: function, + overload: overload, + impl: impl.Function, + }, nil +} + +// planCallUnary generates a unary callable Interpretable. +func (p *planner) planCallUnary(expr ast.Expr, + function string, + overload string, + impl *functions.Overload, + args []Interpretable) (Interpretable, error) { + var fn functions.UnaryOp + var trait int + var nonStrict bool + if impl != nil { + if impl.Unary == nil { + return nil, fmt.Errorf("no such overload: %s(arg)", function) + } + fn = impl.Unary + trait = impl.OperandTrait + nonStrict = impl.NonStrict + } + return &evalUnary{ + id: expr.ID(), + function: function, + overload: overload, + arg: args[0], + trait: trait, + impl: fn, + nonStrict: nonStrict, + }, nil +} + +// planCallBinary generates a binary callable Interpretable. +func (p *planner) planCallBinary(expr ast.Expr, + function string, + overload string, + impl *functions.Overload, + args []Interpretable) (Interpretable, error) { + var fn functions.BinaryOp + var trait int + var nonStrict bool + if impl != nil { + if impl.Binary == nil { + return nil, fmt.Errorf("no such overload: %s(lhs, rhs)", function) + } + fn = impl.Binary + trait = impl.OperandTrait + nonStrict = impl.NonStrict + } + return &evalBinary{ + id: expr.ID(), + function: function, + overload: overload, + lhs: args[0], + rhs: args[1], + trait: trait, + impl: fn, + nonStrict: nonStrict, + }, nil +} + +// planCallVarArgs generates a variable argument callable Interpretable. +func (p *planner) planCallVarArgs(expr ast.Expr, + function string, + overload string, + impl *functions.Overload, + args []Interpretable) (Interpretable, error) { + var fn functions.FunctionOp + var trait int + var nonStrict bool + if impl != nil { + if impl.Function == nil { + return nil, fmt.Errorf("no such overload: %s(...)", function) + } + fn = impl.Function + trait = impl.OperandTrait + nonStrict = impl.NonStrict + } + return &evalVarArgs{ + id: expr.ID(), + function: function, + overload: overload, + args: args, + trait: trait, + impl: fn, + nonStrict: nonStrict, + }, nil +} + +// planCallEqual generates an equals (==) Interpretable. +func (p *planner) planCallEqual(expr ast.Expr, args []Interpretable) (Interpretable, error) { + return &evalEq{ + id: expr.ID(), + lhs: args[0], + rhs: args[1], + }, nil +} + +// planCallNotEqual generates a not equals (!=) Interpretable. +func (p *planner) planCallNotEqual(expr ast.Expr, args []Interpretable) (Interpretable, error) { + return &evalNe{ + id: expr.ID(), + lhs: args[0], + rhs: args[1], + }, nil +} + +// planCallLogicalAnd generates a logical and (&&) Interpretable. +func (p *planner) planCallLogicalAnd(expr ast.Expr, args []Interpretable) (Interpretable, error) { + return &evalAnd{ + id: expr.ID(), + terms: args, + }, nil +} + +// planCallLogicalOr generates a logical or (||) Interpretable. +func (p *planner) planCallLogicalOr(expr ast.Expr, args []Interpretable) (Interpretable, error) { + return &evalOr{ + id: expr.ID(), + terms: args, + }, nil +} + +// planCallConditional generates a conditional / ternary (c ? t : f) Interpretable. +func (p *planner) planCallConditional(expr ast.Expr, args []Interpretable) (Interpretable, error) { + cond := args[0] + t := args[1] + var tAttr Attribute + truthyAttr, isTruthyAttr := t.(InterpretableAttribute) + if isTruthyAttr { + tAttr = truthyAttr.Attr() + } else { + tAttr = p.attrFactory.RelativeAttribute(t.ID(), t) + } + + f := args[2] + var fAttr Attribute + falsyAttr, isFalsyAttr := f.(InterpretableAttribute) + if isFalsyAttr { + fAttr = falsyAttr.Attr() + } else { + fAttr = p.attrFactory.RelativeAttribute(f.ID(), f) + } + + return &evalAttr{ + adapter: p.adapter, + attr: p.attrFactory.ConditionalAttribute(expr.ID(), cond, tAttr, fAttr), + }, nil +} + +// planCallIndex either extends an attribute with the argument to the index operation, or creates +// a relative attribute based on the return of a function call or operation. +func (p *planner) planCallIndex(expr ast.Expr, args []Interpretable, optional bool) (Interpretable, error) { + op := args[0] + ind := args[1] + opType := p.typeMap[op.ID()] + + // Establish the attribute reference. + var err error + attr, isAttr := op.(InterpretableAttribute) + if !isAttr { + attr, err = p.relativeAttr(op.ID(), op, false) + if err != nil { + return nil, err + } + } + + // Construct the qualifier type. + var qual Qualifier + switch ind := ind.(type) { + case InterpretableConst: + qual, err = p.attrFactory.NewQualifier(opType, expr.ID(), ind.Value(), optional) + case InterpretableAttribute: + qual, err = p.attrFactory.NewQualifier(opType, expr.ID(), ind, optional) + default: + qual, err = p.relativeAttr(expr.ID(), ind, optional) + } + if err != nil { + return nil, err + } + + // Add the qualifier to the attribute + _, err = attr.AddQualifier(qual) + return attr, err +} + +// planCreateList generates a list construction Interpretable. +func (p *planner) planCreateList(expr ast.Expr) (Interpretable, error) { + list := expr.AsList() + optionalIndices := list.OptionalIndices() + elements := list.Elements() + optionals := make([]bool, len(elements)) + for _, index := range optionalIndices { + if index < 0 || index >= int32(len(elements)) { + return nil, fmt.Errorf("optional index %d out of element bounds [0, %d]", index, len(elements)) + } + optionals[index] = true + } + elems := make([]Interpretable, len(elements)) + for i, elem := range elements { + elemVal, err := p.Plan(elem) + if err != nil { + return nil, err + } + elems[i] = elemVal + } + return &evalList{ + id: expr.ID(), + elems: elems, + optionals: optionals, + hasOptionals: len(optionals) != 0, + adapter: p.adapter, + }, nil +} + +// planCreateStruct generates a map or object construction Interpretable. +func (p *planner) planCreateMap(expr ast.Expr) (Interpretable, error) { + m := expr.AsMap() + entries := m.Entries() + optionals := make([]bool, len(entries)) + keys := make([]Interpretable, len(entries)) + vals := make([]Interpretable, len(entries)) + for i, e := range entries { + entry := e.AsMapEntry() + keyVal, err := p.Plan(entry.Key()) + if err != nil { + return nil, err + } + keys[i] = keyVal + + valVal, err := p.Plan(entry.Value()) + if err != nil { + return nil, err + } + vals[i] = valVal + optionals[i] = entry.IsOptional() + } + return &evalMap{ + id: expr.ID(), + keys: keys, + vals: vals, + optionals: optionals, + hasOptionals: len(optionals) != 0, + adapter: p.adapter, + }, nil +} + +// planCreateObj generates an object construction Interpretable. +func (p *planner) planCreateStruct(expr ast.Expr) (Interpretable, error) { + obj := expr.AsStruct() + typeName, defined := p.resolveTypeName(obj.TypeName()) + if !defined { + return nil, fmt.Errorf("unknown type: %s", obj.TypeName()) + } + objFields := obj.Fields() + optionals := make([]bool, len(objFields)) + fields := make([]string, len(objFields)) + vals := make([]Interpretable, len(objFields)) + for i, f := range objFields { + field := f.AsStructField() + fields[i] = field.Name() + val, err := p.Plan(field.Value()) + if err != nil { + return nil, err + } + vals[i] = val + optionals[i] = field.IsOptional() + } + return &evalObj{ + id: expr.ID(), + typeName: typeName, + fields: fields, + vals: vals, + optionals: optionals, + hasOptionals: len(optionals) != 0, + provider: p.provider, + }, nil +} + +// planComprehension generates an Interpretable fold operation. +func (p *planner) planComprehension(expr ast.Expr) (Interpretable, error) { + fold := expr.AsComprehension() + accu, err := p.Plan(fold.AccuInit()) + if err != nil { + return nil, err + } + iterRange, err := p.Plan(fold.IterRange()) + if err != nil { + return nil, err + } + cond, err := p.Plan(fold.LoopCondition()) + if err != nil { + return nil, err + } + step, err := p.Plan(fold.LoopStep()) + if err != nil { + return nil, err + } + result, err := p.Plan(fold.Result()) + if err != nil { + return nil, err + } + return &evalFold{ + id: expr.ID(), + accuVar: fold.AccuVar(), + accu: accu, + iterVar: fold.IterVar(), + iterVar2: fold.IterVar2(), + iterRange: iterRange, + cond: cond, + step: step, + result: result, + adapter: p.adapter, + }, nil +} + +// planConst generates a constant valued Interpretable. +func (p *planner) planConst(expr ast.Expr) (Interpretable, error) { + return NewConstValue(expr.ID(), expr.AsLiteral()), nil +} + +// resolveTypeName takes a qualified string constructed at parse time, applies the proto +// namespace resolution rules to it in a scan over possible matching types in the TypeProvider. +func (p *planner) resolveTypeName(typeName string) (string, bool) { + for _, qualifiedTypeName := range p.container.ResolveCandidateNames(typeName) { + if _, found := p.provider.FindStructType(qualifiedTypeName); found { + return qualifiedTypeName, true + } + } + return "", false +} + +// resolveFunction determines the call target, function name, and overload name from a given Expr +// value. +// +// The resolveFunction resolves ambiguities where a function may either be a receiver-style +// invocation or a qualified global function name. +// - The target expression may only consist of ident and select expressions. +// - The function is declared in the environment using its fully-qualified name. +// - The fully-qualified function name matches the string serialized target value. +func (p *planner) resolveFunction(expr ast.Expr) (ast.Expr, string, string) { + // Note: similar logic exists within the `checker/checker.go`. If making changes here + // please consider the impact on checker.go and consolidate implementations or mirror code + // as appropriate. + call := expr.AsCall() + var target ast.Expr = nil + if call.IsMemberFunction() { + target = call.Target() + } + fnName := call.FunctionName() + + // Checked expressions always have a reference map entry, and _should_ have the fully qualified + // function name as the fnName value. + oRef, hasOverload := p.refMap[expr.ID()] + if hasOverload { + if len(oRef.OverloadIDs) == 1 { + return target, fnName, oRef.OverloadIDs[0] + } + // Note, this namespaced function name will not appear as a fully qualified name in ASTs + // built and stored before cel-go v0.5.0; however, this functionality did not work at all + // before the v0.5.0 release. + return target, fnName, "" + } + + // Parse-only expressions need to handle the same logic as is normally performed at check time, + // but with potentially much less information. The only reliable source of information about + // which functions are configured is the dispatcher. + if target == nil { + // If the user has a parse-only expression, then it should have been configured as such in + // the interpreter dispatcher as it may have been omitted from the checker environment. + for _, qualifiedName := range p.container.ResolveCandidateNames(fnName) { + _, found := p.disp.FindOverload(qualifiedName) + if found { + return nil, qualifiedName, "" + } + } + // It's possible that the overload was not found, but this situation is accounted for in + // the planCall phase; however, the leading dot used for denoting fully-qualified + // namespaced identifiers must be stripped, as all declarations already use fully-qualified + // names. This stripping behavior is handled automatically by the ResolveCandidateNames + // call. + return target, stripLeadingDot(fnName), "" + } + + // Handle the situation where the function target actually indicates a qualified function name. + qualifiedPrefix, maybeQualified := p.toQualifiedName(target) + if maybeQualified { + maybeQualifiedName := qualifiedPrefix + "." + fnName + for _, qualifiedName := range p.container.ResolveCandidateNames(maybeQualifiedName) { + _, found := p.disp.FindOverload(qualifiedName) + if found { + // Clear the target to ensure the proper arity is used for finding the + // implementation. + return nil, qualifiedName, "" + } + } + } + // In the default case, the function is exactly as it was advertised: a receiver call on with + // an expression-based target with the given simple function name. + return target, fnName, "" +} + +// relativeAttr indicates that the attribute in this case acts as a qualifier and as such needs to +// be observed to ensure that it's evaluation value is properly recorded for state tracking. +func (p *planner) relativeAttr(id int64, eval Interpretable, opt bool) (InterpretableAttribute, error) { + eAttr, ok := eval.(InterpretableAttribute) + if !ok { + eAttr = &evalAttr{ + adapter: p.adapter, + attr: p.attrFactory.RelativeAttribute(id, eval), + optional: opt, + } + } + // This looks like it should either decorate the new evalAttr node, or early return the InterpretableAttribute + decAttr, err := p.decorate(eAttr, nil) + if err != nil { + return nil, err + } + eAttr, ok = decAttr.(InterpretableAttribute) + if !ok { + return nil, fmt.Errorf("invalid attribute decoration: %v(%T)", decAttr, decAttr) + } + return eAttr, nil +} + +// toQualifiedName converts an expression AST into a qualified name if possible, with a boolean +// 'found' value that indicates if the conversion is successful. +func (p *planner) toQualifiedName(operand ast.Expr) (string, bool) { + // If the checker identified the expression as an attribute by the type-checker, then it can't + // possibly be part of qualified name in a namespace. + _, isAttr := p.refMap[operand.ID()] + if isAttr { + return "", false + } + // Since functions cannot be both namespaced and receiver functions, if the operand is not an + // qualified variable name, return the (possibly) qualified name given the expressions. + switch operand.Kind() { + case ast.IdentKind: + id := operand.AsIdent() + return id, true + case ast.SelectKind: + sel := operand.AsSelect() + // Test only expressions are not valid as qualified names. + if sel.IsTestOnly() { + return "", false + } + if qual, found := p.toQualifiedName(sel.Operand()); found { + return qual + "." + sel.FieldName(), true + } + } + return "", false +} + +func stripLeadingDot(name string) string { + if strings.HasPrefix(name, ".") { + return name[1:] + } + return name +} diff --git a/vendor/github.com/google/cel-go/interpreter/prune.go b/vendor/github.com/google/cel-go/interpreter/prune.go new file mode 100644 index 000000000..410d80dc4 --- /dev/null +++ b/vendor/github.com/google/cel-go/interpreter/prune.go @@ -0,0 +1,543 @@ +// Copyright 2018 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 interpreter + +import ( + "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/operators" + "github.com/google/cel-go/common/overloads" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" + "github.com/google/cel-go/common/types/traits" +) + +type astPruner struct { + ast.ExprFactory + expr ast.Expr + macroCalls map[int64]ast.Expr + state EvalState + nextExprID int64 +} + +// TODO Consider having a separate walk of the AST that finds common +// subexpressions. This can be called before or after constant folding to find +// common subexpressions. + +// PruneAst prunes the given AST based on the given EvalState and generates a new AST. +// Given AST is copied on write and a new AST is returned. +// Couple of typical use cases this interface would be: +// +// A) +// 1) Evaluate expr with some unknowns, +// 2) If result is unknown: +// +// a) PruneAst +// b) Goto 1 +// +// Functional call results which are known would be effectively cached across +// iterations. +// +// B) +// 1) Compile the expression (maybe via a service and maybe after checking a +// +// compiled expression does not exists in local cache) +// +// 2) Prepare the environment and the interpreter. Activation might be empty. +// 3) Eval the expression. This might return unknown or error or a concrete +// +// value. +// +// 4) PruneAst +// 4) Maybe cache the expression +// This is effectively constant folding the expression. How the environment is +// prepared in step 2 is flexible. For example, If the caller caches the +// compiled and constant folded expressions, but is not willing to constant +// fold(and thus cache results of) some external calls, then they can prepare +// the overloads accordingly. +func PruneAst(expr ast.Expr, macroCalls map[int64]ast.Expr, state EvalState) *ast.AST { + pruneState := NewEvalState() + for _, id := range state.IDs() { + v, _ := state.Value(id) + pruneState.SetValue(id, v) + } + pruner := &astPruner{ + ExprFactory: ast.NewExprFactory(), + expr: expr, + macroCalls: macroCalls, + state: pruneState, + nextExprID: getMaxID(expr)} + newExpr, _ := pruner.maybePrune(expr) + newInfo := ast.NewSourceInfo(nil) + for id, call := range pruner.macroCalls { + newInfo.SetMacroCall(id, call) + } + return ast.NewAST(newExpr, newInfo) +} + +func (p *astPruner) maybeCreateLiteral(id int64, val ref.Val) (ast.Expr, bool) { + switch v := val.(type) { + case types.Bool, types.Bytes, types.Double, types.Int, types.Null, types.String, types.Uint: + p.state.SetValue(id, val) + return p.NewLiteral(id, val), true + case types.Duration: + p.state.SetValue(id, val) + durationString := v.ConvertToType(types.StringType).(types.String) + return p.NewCall(id, overloads.TypeConvertDuration, p.NewLiteral(p.nextID(), durationString)), true + case types.Timestamp: + timestampString := v.ConvertToType(types.StringType).(types.String) + return p.NewCall(id, overloads.TypeConvertTimestamp, p.NewLiteral(p.nextID(), timestampString)), true + } + + // Attempt to build a list literal. + if list, isList := val.(traits.Lister); isList { + sz := list.Size().(types.Int) + elemExprs := make([]ast.Expr, sz) + for i := types.Int(0); i < sz; i++ { + elem := list.Get(i) + if types.IsUnknownOrError(elem) { + return nil, false + } + elemExpr, ok := p.maybeCreateLiteral(p.nextID(), elem) + if !ok { + return nil, false + } + elemExprs[i] = elemExpr + } + p.state.SetValue(id, val) + return p.NewList(id, elemExprs, []int32{}), true + } + + // Create a map literal if possible. + if mp, isMap := val.(traits.Mapper); isMap { + it := mp.Iterator() + entries := make([]ast.EntryExpr, mp.Size().(types.Int)) + i := 0 + for it.HasNext() != types.False { + key := it.Next() + val := mp.Get(key) + if types.IsUnknownOrError(key) || types.IsUnknownOrError(val) { + return nil, false + } + keyExpr, ok := p.maybeCreateLiteral(p.nextID(), key) + if !ok { + return nil, false + } + valExpr, ok := p.maybeCreateLiteral(p.nextID(), val) + if !ok { + return nil, false + } + entry := p.NewMapEntry(p.nextID(), keyExpr, valExpr, false) + entries[i] = entry + i++ + } + p.state.SetValue(id, val) + return p.NewMap(id, entries), true + } + + // TODO(issues/377) To construct message literals, the type provider will need to support + // the enumeration the fields for a given message. + return nil, false +} + +func (p *astPruner) maybePruneOptional(elem ast.Expr) (ast.Expr, bool) { + elemVal, found := p.value(elem.ID()) + if found && elemVal.Type() == types.OptionalType { + opt := elemVal.(*types.Optional) + if !opt.HasValue() { + return nil, true + } + if newElem, pruned := p.maybeCreateLiteral(elem.ID(), opt.GetValue()); pruned { + return newElem, true + } + } + return elem, false +} + +func (p *astPruner) maybePruneIn(node ast.Expr) (ast.Expr, bool) { + // elem in list + call := node.AsCall() + val, exists := p.maybeValue(call.Args()[1].ID()) + if !exists { + return nil, false + } + if sz, ok := val.(traits.Sizer); ok && sz.Size() == types.IntZero { + return p.maybeCreateLiteral(node.ID(), types.False) + } + return nil, false +} + +func (p *astPruner) maybePruneLogicalNot(node ast.Expr) (ast.Expr, bool) { + call := node.AsCall() + arg := call.Args()[0] + val, exists := p.maybeValue(arg.ID()) + if !exists { + return nil, false + } + if b, ok := val.(types.Bool); ok { + return p.maybeCreateLiteral(node.ID(), !b) + } + return nil, false +} + +func (p *astPruner) maybePruneOr(node ast.Expr) (ast.Expr, bool) { + call := node.AsCall() + // We know result is unknown, so we have at least one unknown arg + // and if one side is a known value, we know we can ignore it. + if v, exists := p.maybeValue(call.Args()[0].ID()); exists { + if v == types.True { + return p.maybeCreateLiteral(node.ID(), types.True) + } + return call.Args()[1], true + } + if v, exists := p.maybeValue(call.Args()[1].ID()); exists { + if v == types.True { + return p.maybeCreateLiteral(node.ID(), types.True) + } + return call.Args()[0], true + } + return nil, false +} + +func (p *astPruner) maybePruneAnd(node ast.Expr) (ast.Expr, bool) { + call := node.AsCall() + // We know result is unknown, so we have at least one unknown arg + // and if one side is a known value, we know we can ignore it. + if v, exists := p.maybeValue(call.Args()[0].ID()); exists { + if v == types.False { + return p.maybeCreateLiteral(node.ID(), types.False) + } + return call.Args()[1], true + } + if v, exists := p.maybeValue(call.Args()[1].ID()); exists { + if v == types.False { + return p.maybeCreateLiteral(node.ID(), types.False) + } + return call.Args()[0], true + } + return nil, false +} + +func (p *astPruner) maybePruneConditional(node ast.Expr) (ast.Expr, bool) { + call := node.AsCall() + cond, exists := p.maybeValue(call.Args()[0].ID()) + if !exists { + return nil, false + } + if cond.Value().(bool) { + return call.Args()[1], true + } + return call.Args()[2], true +} + +func (p *astPruner) maybePruneFunction(node ast.Expr) (ast.Expr, bool) { + if _, exists := p.value(node.ID()); !exists { + return nil, false + } + call := node.AsCall() + if call.FunctionName() == operators.LogicalOr { + return p.maybePruneOr(node) + } + if call.FunctionName() == operators.LogicalAnd { + return p.maybePruneAnd(node) + } + if call.FunctionName() == operators.Conditional { + return p.maybePruneConditional(node) + } + if call.FunctionName() == operators.In { + return p.maybePruneIn(node) + } + if call.FunctionName() == operators.LogicalNot { + return p.maybePruneLogicalNot(node) + } + return nil, false +} + +func (p *astPruner) maybePrune(node ast.Expr) (ast.Expr, bool) { + return p.prune(node) +} + +func (p *astPruner) prune(node ast.Expr) (ast.Expr, bool) { + if node == nil { + return node, false + } + val, valueExists := p.maybeValue(node.ID()) + if valueExists { + if newNode, ok := p.maybeCreateLiteral(node.ID(), val); ok { + delete(p.macroCalls, node.ID()) + return newNode, true + } + } + if macro, found := p.macroCalls[node.ID()]; found { + // Ensure that intermediate values for the comprehension are cleared during pruning + if node.Kind() == ast.ComprehensionKind { + compre := node.AsComprehension() + visit(macro, clearIterVarVisitor(compre.IterVar(), p.state)) + } + // prune the expression in terms of the macro call instead of the expanded form. + if newMacro, pruned := p.prune(macro); pruned { + p.macroCalls[node.ID()] = newMacro + } + } + + // We have either an unknown/error value, or something we don't want to + // transform, or expression was not evaluated. If possible, drill down + // more. + switch node.Kind() { + case ast.SelectKind: + sel := node.AsSelect() + if operand, isPruned := p.maybePrune(sel.Operand()); isPruned { + if sel.IsTestOnly() { + return p.NewPresenceTest(node.ID(), operand, sel.FieldName()), true + } + return p.NewSelect(node.ID(), operand, sel.FieldName()), true + } + case ast.CallKind: + argsPruned := false + call := node.AsCall() + args := call.Args() + newArgs := make([]ast.Expr, len(args)) + for i, a := range args { + newArgs[i] = a + if arg, isPruned := p.maybePrune(a); isPruned { + argsPruned = true + newArgs[i] = arg + } + } + if !call.IsMemberFunction() { + newCall := p.NewCall(node.ID(), call.FunctionName(), newArgs...) + if prunedCall, isPruned := p.maybePruneFunction(newCall); isPruned { + return prunedCall, true + } + return newCall, argsPruned + } + newTarget := call.Target() + targetPruned := false + if prunedTarget, isPruned := p.maybePrune(call.Target()); isPruned { + targetPruned = true + newTarget = prunedTarget + } + newCall := p.NewMemberCall(node.ID(), call.FunctionName(), newTarget, newArgs...) + if prunedCall, isPruned := p.maybePruneFunction(newCall); isPruned { + return prunedCall, true + } + return newCall, targetPruned || argsPruned + case ast.ListKind: + l := node.AsList() + elems := l.Elements() + optIndices := l.OptionalIndices() + optIndexMap := map[int32]bool{} + for _, i := range optIndices { + optIndexMap[i] = true + } + newOptIndexMap := make(map[int32]bool, len(optIndexMap)) + newElems := make([]ast.Expr, 0, len(elems)) + var listPruned bool + prunedIdx := 0 + for i, elem := range elems { + _, isOpt := optIndexMap[int32(i)] + if isOpt { + newElem, pruned := p.maybePruneOptional(elem) + if pruned { + listPruned = true + if newElem != nil { + newElems = append(newElems, newElem) + prunedIdx++ + } + continue + } + newOptIndexMap[int32(prunedIdx)] = true + } + if newElem, prunedElem := p.maybePrune(elem); prunedElem { + newElems = append(newElems, newElem) + listPruned = true + } else { + newElems = append(newElems, elem) + } + prunedIdx++ + } + optIndices = make([]int32, len(newOptIndexMap)) + idx := 0 + for i := range newOptIndexMap { + optIndices[idx] = i + idx++ + } + if listPruned { + return p.NewList(node.ID(), newElems, optIndices), true + } + case ast.MapKind: + var mapPruned bool + m := node.AsMap() + entries := m.Entries() + newEntries := make([]ast.EntryExpr, len(entries)) + for i, entry := range entries { + newEntries[i] = entry + e := entry.AsMapEntry() + newKey, keyPruned := p.maybePrune(e.Key()) + newValue, valuePruned := p.maybePrune(e.Value()) + if !keyPruned && !valuePruned { + continue + } + mapPruned = true + newEntry := p.NewMapEntry(entry.ID(), newKey, newValue, e.IsOptional()) + newEntries[i] = newEntry + } + if mapPruned { + return p.NewMap(node.ID(), newEntries), true + } + case ast.StructKind: + var structPruned bool + obj := node.AsStruct() + fields := obj.Fields() + newFields := make([]ast.EntryExpr, len(fields)) + for i, field := range fields { + newFields[i] = field + f := field.AsStructField() + newValue, prunedValue := p.maybePrune(f.Value()) + if !prunedValue { + continue + } + structPruned = true + newEntry := p.NewStructField(field.ID(), f.Name(), newValue, f.IsOptional()) + newFields[i] = newEntry + } + if structPruned { + return p.NewStruct(node.ID(), obj.TypeName(), newFields), true + } + case ast.ComprehensionKind: + compre := node.AsComprehension() + // Only the range of the comprehension is pruned since the state tracking only records + // the last iteration of the comprehension and not each step in the evaluation which + // means that the any residuals computed in between might be inaccurate. + if newRange, pruned := p.maybePrune(compre.IterRange()); pruned { + return p.NewComprehension( + node.ID(), + newRange, + compre.IterVar(), + compre.AccuVar(), + compre.AccuInit(), + compre.LoopCondition(), + compre.LoopStep(), + compre.Result(), + ), true + } + } + return node, false +} + +func (p *astPruner) value(id int64) (ref.Val, bool) { + val, found := p.state.Value(id) + return val, (found && val != nil) +} + +func (p *astPruner) maybeValue(id int64) (ref.Val, bool) { + val, found := p.value(id) + if !found || types.IsUnknownOrError(val) { + return nil, false + } + return val, true +} + +func (p *astPruner) nextID() int64 { + next := p.nextExprID + p.nextExprID++ + return next +} + +type astVisitor struct { + // visitEntry is called on every expr node, including those within a map/struct entry. + visitExpr func(expr ast.Expr) + // visitEntry is called before entering the key, value of a map/struct entry. + visitEntry func(entry ast.EntryExpr) +} + +func getMaxID(expr ast.Expr) int64 { + maxID := int64(1) + visit(expr, maxIDVisitor(&maxID)) + return maxID +} + +func clearIterVarVisitor(varName string, state EvalState) astVisitor { + return astVisitor{ + visitExpr: func(e ast.Expr) { + if e.Kind() == ast.IdentKind && e.AsIdent() == varName { + state.SetValue(e.ID(), nil) + } + }, + } +} + +func maxIDVisitor(maxID *int64) astVisitor { + return astVisitor{ + visitExpr: func(e ast.Expr) { + if e.ID() >= *maxID { + *maxID = e.ID() + 1 + } + }, + visitEntry: func(e ast.EntryExpr) { + if e.ID() >= *maxID { + *maxID = e.ID() + 1 + } + }, + } +} + +func visit(expr ast.Expr, visitor astVisitor) { + exprs := []ast.Expr{expr} + for len(exprs) != 0 { + e := exprs[0] + if visitor.visitExpr != nil { + visitor.visitExpr(e) + } + exprs = exprs[1:] + switch e.Kind() { + case ast.SelectKind: + exprs = append(exprs, e.AsSelect().Operand()) + case ast.CallKind: + call := e.AsCall() + if call.Target() != nil { + exprs = append(exprs, call.Target()) + } + exprs = append(exprs, call.Args()...) + case ast.ComprehensionKind: + compre := e.AsComprehension() + exprs = append(exprs, + compre.IterRange(), + compre.AccuInit(), + compre.LoopCondition(), + compre.LoopStep(), + compre.Result()) + case ast.ListKind: + list := e.AsList() + exprs = append(exprs, list.Elements()...) + case ast.MapKind: + for _, entry := range e.AsMap().Entries() { + e := entry.AsMapEntry() + if visitor.visitEntry != nil { + visitor.visitEntry(entry) + } + exprs = append(exprs, e.Key()) + exprs = append(exprs, e.Value()) + } + case ast.StructKind: + for _, entry := range e.AsStruct().Fields() { + f := entry.AsStructField() + if visitor.visitEntry != nil { + visitor.visitEntry(entry) + } + exprs = append(exprs, f.Value()) + } + } + } +} diff --git a/vendor/github.com/google/cel-go/interpreter/runtimecost.go b/vendor/github.com/google/cel-go/interpreter/runtimecost.go new file mode 100644 index 000000000..b9b307c15 --- /dev/null +++ b/vendor/github.com/google/cel-go/interpreter/runtimecost.go @@ -0,0 +1,316 @@ +// Copyright 2022 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 interpreter + +import ( + "math" + + "github.com/google/cel-go/common" + "github.com/google/cel-go/common/overloads" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" + "github.com/google/cel-go/common/types/traits" +) + +// WARNING: Any changes to cost calculations in this file require a corresponding change in checker/cost.go + +// ActualCostEstimator provides function call cost estimations at runtime +// CallCost returns an estimated cost for the function overload invocation with the given args, or nil if it has no +// estimate to provide. CEL attempts to provide reasonable estimates for its standard function library, so CallCost +// should typically not need to provide an estimate for CELs standard function. +type ActualCostEstimator interface { + CallCost(function, overloadID string, args []ref.Val, result ref.Val) *uint64 +} + +// CostObserver provides an observer that tracks runtime cost. +func CostObserver(tracker *CostTracker) EvalObserver { + observer := func(id int64, programStep any, val ref.Val) { + switch t := programStep.(type) { + case ConstantQualifier: + // TODO: Push identifiers on to the stack before observing constant qualifiers that apply to them + // and enable the below pop. Once enabled this can case can be collapsed into the Qualifier case. + tracker.cost++ + case InterpretableConst: + // zero cost + case InterpretableAttribute: + switch a := t.Attr().(type) { + case *conditionalAttribute: + // Ternary has no direct cost. All cost is from the conditional and the true/false branch expressions. + tracker.stack.drop(a.falsy.ID(), a.truthy.ID(), a.expr.ID()) + default: + tracker.stack.drop(t.Attr().ID()) + tracker.cost += common.SelectAndIdentCost + } + if !tracker.presenceTestHasCost { + if _, isTestOnly := programStep.(*evalTestOnly); isTestOnly { + tracker.cost -= common.SelectAndIdentCost + } + } + case *evalExhaustiveConditional: + // Ternary has no direct cost. All cost is from the conditional and the true/false branch expressions. + tracker.stack.drop(t.attr.falsy.ID(), t.attr.truthy.ID(), t.attr.expr.ID()) + + // While the field names are identical, the boolean operation eval structs do not share an interface and so + // must be handled individually. + case *evalOr: + for _, term := range t.terms { + tracker.stack.drop(term.ID()) + } + case *evalAnd: + for _, term := range t.terms { + tracker.stack.drop(term.ID()) + } + case *evalExhaustiveOr: + for _, term := range t.terms { + tracker.stack.drop(term.ID()) + } + case *evalExhaustiveAnd: + for _, term := range t.terms { + tracker.stack.drop(term.ID()) + } + case *evalFold: + tracker.stack.drop(t.iterRange.ID()) + case Qualifier: + tracker.cost++ + case InterpretableCall: + if argVals, ok := tracker.stack.dropArgs(t.Args()); ok { + tracker.cost += tracker.costCall(t, argVals, val) + } + case InterpretableConstructor: + tracker.stack.dropArgs(t.InitVals()) + switch t.Type() { + case types.ListType: + tracker.cost += common.ListCreateBaseCost + case types.MapType: + tracker.cost += common.MapCreateBaseCost + default: + tracker.cost += common.StructCreateBaseCost + } + } + tracker.stack.push(val, id) + + if tracker.Limit != nil && tracker.cost > *tracker.Limit { + panic(EvalCancelledError{Cause: CostLimitExceeded, Message: "operation cancelled: actual cost limit exceeded"}) + } + } + return observer +} + +// CostTrackerOption configures the behavior of CostTracker objects. +type CostTrackerOption func(*CostTracker) error + +// CostTrackerLimit sets the runtime limit on the evaluation cost during execution and will terminate the expression +// evaluation if the limit is exceeded. +func CostTrackerLimit(limit uint64) CostTrackerOption { + return func(tracker *CostTracker) error { + tracker.Limit = &limit + return nil + } +} + +// PresenceTestHasCost determines whether presence testing has a cost of one or zero. +// Defaults to presence test has a cost of one. +func PresenceTestHasCost(hasCost bool) CostTrackerOption { + return func(tracker *CostTracker) error { + tracker.presenceTestHasCost = hasCost + return nil + } +} + +// NewCostTracker creates a new CostTracker with a given estimator and a set of functional CostTrackerOption values. +func NewCostTracker(estimator ActualCostEstimator, opts ...CostTrackerOption) (*CostTracker, error) { + tracker := &CostTracker{ + Estimator: estimator, + overloadTrackers: map[string]FunctionTracker{}, + presenceTestHasCost: true, + } + for _, opt := range opts { + err := opt(tracker) + if err != nil { + return nil, err + } + } + return tracker, nil +} + +// OverloadCostTracker binds an overload ID to a runtime FunctionTracker implementation. +// +// OverloadCostTracker instances augment or override ActualCostEstimator decisions, allowing for versioned and/or +// optional cost tracking changes. +func OverloadCostTracker(overloadID string, fnTracker FunctionTracker) CostTrackerOption { + return func(tracker *CostTracker) error { + tracker.overloadTrackers[overloadID] = fnTracker + return nil + } +} + +// FunctionTracker computes the actual cost of evaluating the functions with the given arguments and result. +type FunctionTracker func(args []ref.Val, result ref.Val) *uint64 + +// CostTracker represents the information needed for tracking runtime cost. +type CostTracker struct { + Estimator ActualCostEstimator + overloadTrackers map[string]FunctionTracker + Limit *uint64 + presenceTestHasCost bool + + cost uint64 + stack refValStack +} + +// ActualCost returns the runtime cost +func (c *CostTracker) ActualCost() uint64 { + return c.cost +} + +func (c *CostTracker) costCall(call InterpretableCall, args []ref.Val, result ref.Val) uint64 { + var cost uint64 + if len(c.overloadTrackers) != 0 { + if tracker, found := c.overloadTrackers[call.OverloadID()]; found { + callCost := tracker(args, result) + if callCost != nil { + cost += *callCost + return cost + } + } + } + if c.Estimator != nil { + callCost := c.Estimator.CallCost(call.Function(), call.OverloadID(), args, result) + if callCost != nil { + cost += *callCost + return cost + } + } + // if user didn't specify, the default way of calculating runtime cost would be used. + // if user has their own implementation of ActualCostEstimator, make sure to cover the mapping between overloadId and cost calculation + switch call.OverloadID() { + // O(n) functions + case overloads.StartsWithString, overloads.EndsWithString, overloads.StringToBytes, overloads.BytesToString, overloads.ExtQuoteString, overloads.ExtFormatString: + cost += uint64(math.Ceil(float64(c.actualSize(args[0])) * common.StringTraversalCostFactor)) + case overloads.InList: + // If a list is composed entirely of constant values this is O(1), but we don't account for that here. + // We just assume all list containment checks are O(n). + cost += c.actualSize(args[1]) + // O(min(m, n)) functions + case overloads.LessString, overloads.GreaterString, overloads.LessEqualsString, overloads.GreaterEqualsString, + overloads.LessBytes, overloads.GreaterBytes, overloads.LessEqualsBytes, overloads.GreaterEqualsBytes, + overloads.Equals, overloads.NotEquals: + // When we check the equality of 2 scalar values (e.g. 2 integers, 2 floating-point numbers, 2 booleans etc.), + // the CostTracker.actualSize() function by definition returns 1 for each operand, resulting in an overall cost + // of 1. + lhsSize := c.actualSize(args[0]) + rhsSize := c.actualSize(args[1]) + minSize := lhsSize + if rhsSize < minSize { + minSize = rhsSize + } + cost += uint64(math.Ceil(float64(minSize) * common.StringTraversalCostFactor)) + // O(m+n) functions + case overloads.AddString, overloads.AddBytes: + // In the worst case scenario, we would need to reallocate a new backing store and copy both operands over. + cost += uint64(math.Ceil(float64(c.actualSize(args[0])+c.actualSize(args[1])) * common.StringTraversalCostFactor)) + // O(nm) functions + case overloads.MatchesString: + // https://swtch.com/~rsc/regexp/regexp1.html applies to RE2 implementation supported by CEL + // Add one to string length for purposes of cost calculation to prevent product of string and regex to be 0 + // in case where string is empty but regex is still expensive. + strCost := uint64(math.Ceil((1.0 + float64(c.actualSize(args[0]))) * common.StringTraversalCostFactor)) + // We don't know how many expressions are in the regex, just the string length (a huge + // improvement here would be to somehow get a count the number of expressions in the regex or + // how many states are in the regex state machine and use that to measure regex cost). + // For now, we're making a guess that each expression in a regex is typically at least 4 chars + // in length. + regexCost := uint64(math.Ceil(float64(c.actualSize(args[1])) * common.RegexStringLengthCostFactor)) + cost += strCost * regexCost + case overloads.ContainsString: + strCost := uint64(math.Ceil(float64(c.actualSize(args[0])) * common.StringTraversalCostFactor)) + substrCost := uint64(math.Ceil(float64(c.actualSize(args[1])) * common.StringTraversalCostFactor)) + cost += strCost * substrCost + + default: + // The following operations are assumed to have O(1) complexity. + // - AddList due to the implementation. Index lookup can be O(c) the + // number of concatenated lists, but we don't track that is cost calculations. + // - Conversions, since none perform a traversal of a type of unbound length. + // - Computing the size of strings, byte sequences, lists and maps. + // - Logical operations and all operators on fixed width scalars (comparisons, equality) + // - Any functions that don't have a declared cost either here or in provided ActualCostEstimator. + cost++ + + } + return cost +} + +// actualSize returns the size of value +func (c *CostTracker) actualSize(value ref.Val) uint64 { + if sz, ok := value.(traits.Sizer); ok { + return uint64(sz.Size().(types.Int)) + } + return 1 +} + +type stackVal struct { + Val ref.Val + ID int64 +} + +// refValStack keeps track of values of the stack for cost calculation purposes +type refValStack []stackVal + +func (s *refValStack) push(val ref.Val, id int64) { + value := stackVal{Val: val, ID: id} + *s = append(*s, value) +} + +// TODO: Allowing drop and dropArgs to remove stack items above the IDs they are provided is a workaround. drop and dropArgs +// should find and remove only the stack items matching the provided IDs once all attributes are properly pushed and popped from stack. + +// drop searches the stack for each ID and removes the ID and all stack items above it. +// If none of the IDs are found, the stack is not modified. +// WARNING: It is possible for multiple expressions with the same ID to exist (due to how macros are implemented) so it's +// possible that a dropped ID will remain on the stack. They should be removed when IDs on the stack are popped. +func (s *refValStack) drop(ids ...int64) { + for _, id := range ids { + for idx := len(*s) - 1; idx >= 0; idx-- { + if (*s)[idx].ID == id { + *s = (*s)[:idx] + break + } + } + } +} + +// dropArgs searches the stack for all the args by their IDs, accumulates their associated ref.Vals and drops any +// stack items above any of the arg IDs. If any of the IDs are not found the stack, false is returned. +// Args are assumed to be found in the stack in reverse order, i.e. the last arg is expected to be found highest in +// the stack. +// WARNING: It is possible for multiple expressions with the same ID to exist (due to how macros are implemented) so it's +// possible that a dropped ID will remain on the stack. They should be removed when IDs on the stack are popped. +func (s *refValStack) dropArgs(args []Interpretable) ([]ref.Val, bool) { + result := make([]ref.Val, len(args)) +argloop: + for nIdx := len(args) - 1; nIdx >= 0; nIdx-- { + for idx := len(*s) - 1; idx >= 0; idx-- { + if (*s)[idx].ID == args[nIdx].ID() { + el := (*s)[idx] + *s = (*s)[:idx] + result[nIdx] = el.Val + continue argloop + } + } + return nil, false + } + return result, true +} diff --git a/vendor/github.com/google/cel-go/parser/BUILD.bazel b/vendor/github.com/google/cel-go/parser/BUILD.bazel new file mode 100644 index 000000000..97bc9bd43 --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/BUILD.bazel @@ -0,0 +1,58 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +package( + licenses = ["notice"], # Apache 2.0 +) + +go_library( + name = "go_default_library", + srcs = [ + "errors.go", + "helper.go", + "input.go", + "macro.go", + "options.go", + "parser.go", + "unescape.go", + "unparser.go", + ], + importpath = "github.com/google/cel-go/parser", + visibility = ["//visibility:public"], + deps = [ + "//common:go_default_library", + "//common/ast:go_default_library", + "//common/operators:go_default_library", + "//common/runes:go_default_library", + "//common/types:go_default_library", + "//common/types/ref:go_default_library", + "//parser/gen:go_default_library", + "@com_github_antlr4_go_antlr_v4//:go_default_library", + "@org_golang_google_genproto_googleapis_api//expr/v1alpha1:go_default_library", + "@org_golang_google_protobuf//proto:go_default_library", + "@org_golang_google_protobuf//types/known/structpb:go_default_library", + ], +) + +go_test( + name = "go_default_test", + size = "small", + srcs = [ + "helper_test.go", + "parser_test.go", + "unescape_test.go", + "unparser_test.go", + ], + embed = [ + ":go_default_library", + ], + deps = [ + "//common/ast:go_default_library", + "//common/debug:go_default_library", + "//common/types:go_default_library", + "//parser/gen:go_default_library", + "//test:go_default_library", + "@com_github_antlr4_go_antlr_v4//:go_default_library", + "@org_golang_google_protobuf//proto:go_default_library", + "@org_golang_google_protobuf//testing/protocmp:go_default_library", + ], +) diff --git a/vendor/github.com/google/cel-go/parser/errors.go b/vendor/github.com/google/cel-go/parser/errors.go new file mode 100644 index 000000000..93ae7a3ad --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/errors.go @@ -0,0 +1,43 @@ +// Copyright 2018 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 parser + +import ( + "fmt" + + "github.com/google/cel-go/common" +) + +// parseErrors is a specialization of Errors. +type parseErrors struct { + errs *common.Errors +} + +// errorCount indicates the number of errors reported. +func (e *parseErrors) errorCount() int { + return len(e.errs.GetErrors()) +} + +func (e *parseErrors) internalError(message string) { + e.errs.ReportErrorAtID(0, common.NoLocation, message) +} + +func (e *parseErrors) syntaxError(l common.Location, message string) { + e.errs.ReportErrorAtID(0, l, fmt.Sprintf("Syntax error: %s", message)) +} + +func (e *parseErrors) reportErrorAtID(id int64, l common.Location, message string, args ...any) { + e.errs.ReportErrorAtID(id, l, message, args...) +} diff --git a/vendor/github.com/google/cel-go/parser/gen/BUILD.bazel b/vendor/github.com/google/cel-go/parser/gen/BUILD.bazel new file mode 100644 index 000000000..3efed87b7 --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/gen/BUILD.bazel @@ -0,0 +1,26 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +package( + default_visibility = ["//:__subpackages__"], + licenses = ["notice"], # Apache 2.0 +) + +go_library( + name = "go_default_library", + srcs = [ + "cel_base_listener.go", + "cel_base_visitor.go", + "cel_lexer.go", + "cel_listener.go", + "cel_parser.go", + "cel_visitor.go", + ], + data = [ + "CEL.tokens", + "CELLexer.tokens", + ], + importpath = "github.com/google/cel-go/parser/gen", + deps = [ + "@com_github_antlr4_go_antlr_v4//:go_default_library", + ], +) diff --git a/vendor/github.com/google/cel-go/parser/gen/CEL.g4 b/vendor/github.com/google/cel-go/parser/gen/CEL.g4 new file mode 100644 index 000000000..b011da803 --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/gen/CEL.g4 @@ -0,0 +1,200 @@ +// Copyright 2018 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. + +grammar CEL; + +// Grammar Rules +// ============= + +start + : e=expr EOF + ; + +expr + : e=conditionalOr (op='?' e1=conditionalOr ':' e2=expr)? + ; + +conditionalOr + : e=conditionalAnd (ops+='||' e1+=conditionalAnd)* + ; + +conditionalAnd + : e=relation (ops+='&&' e1+=relation)* + ; + +relation + : calc + | relation op=('<'|'<='|'>='|'>'|'=='|'!='|'in') relation + ; + +calc + : unary + | calc op=('*'|'/'|'%') calc + | calc op=('+'|'-') calc + ; + +unary + : member # MemberExpr + | (ops+='!')+ member # LogicalNot + | (ops+='-')+ member # Negate + ; + +member + : primary # PrimaryExpr + | member op='.' (opt='?')? id=IDENTIFIER # Select + | member op='.' id=IDENTIFIER open='(' args=exprList? ')' # MemberCall + | member op='[' (opt='?')? index=expr ']' # Index + ; + +primary + : leadingDot='.'? id=IDENTIFIER (op='(' args=exprList? ')')? # IdentOrGlobalCall + | '(' e=expr ')' # Nested + | op='[' elems=listInit? ','? ']' # CreateList + | op='{' entries=mapInitializerList? ','? '}' # CreateStruct + | leadingDot='.'? ids+=IDENTIFIER (ops+='.' ids+=IDENTIFIER)* + op='{' entries=fieldInitializerList? ','? '}' # CreateMessage + | literal # ConstantLiteral + ; + +exprList + : e+=expr (',' e+=expr)* + ; + +listInit + : elems+=optExpr (',' elems+=optExpr)* + ; + +fieldInitializerList + : fields+=optField cols+=':' values+=expr (',' fields+=optField cols+=':' values+=expr)* + ; + +optField + : (opt='?')? IDENTIFIER + ; + +mapInitializerList + : keys+=optExpr cols+=':' values+=expr (',' keys+=optExpr cols+=':' values+=expr)* + ; + +optExpr + : (opt='?')? e=expr + ; + +literal + : sign=MINUS? tok=NUM_INT # Int + | tok=NUM_UINT # Uint + | sign=MINUS? tok=NUM_FLOAT # Double + | tok=STRING # String + | tok=BYTES # Bytes + | tok=CEL_TRUE # BoolTrue + | tok=CEL_FALSE # BoolFalse + | tok=NUL # Null + ; + +// Lexer Rules +// =========== + +EQUALS : '=='; +NOT_EQUALS : '!='; +IN: 'in'; +LESS : '<'; +LESS_EQUALS : '<='; +GREATER_EQUALS : '>='; +GREATER : '>'; +LOGICAL_AND : '&&'; +LOGICAL_OR : '||'; + +LBRACKET : '['; +RPRACKET : ']'; +LBRACE : '{'; +RBRACE : '}'; +LPAREN : '('; +RPAREN : ')'; +DOT : '.'; +COMMA : ','; +MINUS : '-'; +EXCLAM : '!'; +QUESTIONMARK : '?'; +COLON : ':'; +PLUS : '+'; +STAR : '*'; +SLASH : '/'; +PERCENT : '%'; +CEL_TRUE : 'true'; +CEL_FALSE : 'false'; +NUL : 'null'; + +fragment BACKSLASH : '\\'; +fragment LETTER : 'A'..'Z' | 'a'..'z' ; +fragment DIGIT : '0'..'9' ; +fragment EXPONENT : ('e' | 'E') ( '+' | '-' )? DIGIT+ ; +fragment HEXDIGIT : ('0'..'9'|'a'..'f'|'A'..'F') ; +fragment RAW : 'r' | 'R'; + +fragment ESC_SEQ + : ESC_CHAR_SEQ + | ESC_BYTE_SEQ + | ESC_UNI_SEQ + | ESC_OCT_SEQ + ; + +fragment ESC_CHAR_SEQ + : BACKSLASH ('a'|'b'|'f'|'n'|'r'|'t'|'v'|'"'|'\''|'\\'|'?'|'`') + ; + +fragment ESC_OCT_SEQ + : BACKSLASH ('0'..'3') ('0'..'7') ('0'..'7') + ; + +fragment ESC_BYTE_SEQ + : BACKSLASH ( 'x' | 'X' ) HEXDIGIT HEXDIGIT + ; + +fragment ESC_UNI_SEQ + : BACKSLASH 'u' HEXDIGIT HEXDIGIT HEXDIGIT HEXDIGIT + | BACKSLASH 'U' HEXDIGIT HEXDIGIT HEXDIGIT HEXDIGIT HEXDIGIT HEXDIGIT HEXDIGIT HEXDIGIT + ; + +WHITESPACE : ( '\t' | ' ' | '\r' | '\n'| '\u000C' )+ -> channel(HIDDEN) ; +COMMENT : '//' (~'\n')* -> channel(HIDDEN) ; + +NUM_FLOAT + : ( DIGIT+ ('.' DIGIT+) EXPONENT? + | DIGIT+ EXPONENT + | '.' DIGIT+ EXPONENT? + ) + ; + +NUM_INT + : ( DIGIT+ | '0x' HEXDIGIT+ ); + +NUM_UINT + : DIGIT+ ( 'u' | 'U' ) + | '0x' HEXDIGIT+ ( 'u' | 'U' ) + ; + +STRING + : '"' (ESC_SEQ | ~('\\'|'"'|'\n'|'\r'))* '"' + | '\'' (ESC_SEQ | ~('\\'|'\''|'\n'|'\r'))* '\'' + | '"""' (ESC_SEQ | ~('\\'))*? '"""' + | '\'\'\'' (ESC_SEQ | ~('\\'))*? '\'\'\'' + | RAW '"' ~('"'|'\n'|'\r')* '"' + | RAW '\'' ~('\''|'\n'|'\r')* '\'' + | RAW '"""' .*? '"""' + | RAW '\'\'\'' .*? '\'\'\'' + ; + +BYTES : ('b' | 'B') STRING; + +IDENTIFIER : (LETTER | '_') ( LETTER | DIGIT | '_')*; diff --git a/vendor/github.com/google/cel-go/parser/gen/CEL.interp b/vendor/github.com/google/cel-go/parser/gen/CEL.interp new file mode 100644 index 000000000..75b8bb3e2 --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/gen/CEL.interp @@ -0,0 +1,99 @@ +token literal names: +null +'==' +'!=' +'in' +'<' +'<=' +'>=' +'>' +'&&' +'||' +'[' +']' +'{' +'}' +'(' +')' +'.' +',' +'-' +'!' +'?' +':' +'+' +'*' +'/' +'%' +'true' +'false' +'null' +null +null +null +null +null +null +null +null + +token symbolic names: +null +EQUALS +NOT_EQUALS +IN +LESS +LESS_EQUALS +GREATER_EQUALS +GREATER +LOGICAL_AND +LOGICAL_OR +LBRACKET +RPRACKET +LBRACE +RBRACE +LPAREN +RPAREN +DOT +COMMA +MINUS +EXCLAM +QUESTIONMARK +COLON +PLUS +STAR +SLASH +PERCENT +CEL_TRUE +CEL_FALSE +NUL +WHITESPACE +COMMENT +NUM_FLOAT +NUM_INT +NUM_UINT +STRING +BYTES +IDENTIFIER + +rule names: +start +expr +conditionalOr +conditionalAnd +relation +calc +unary +member +primary +exprList +listInit +fieldInitializerList +optField +mapInitializerList +optExpr +literal + + +atn: +[4, 1, 36, 251, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 42, 8, 1, 1, 2, 1, 2, 1, 2, 5, 2, 47, 8, 2, 10, 2, 12, 2, 50, 9, 2, 1, 3, 1, 3, 1, 3, 5, 3, 55, 8, 3, 10, 3, 12, 3, 58, 9, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 5, 4, 66, 8, 4, 10, 4, 12, 4, 69, 9, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 80, 8, 5, 10, 5, 12, 5, 83, 9, 5, 1, 6, 1, 6, 4, 6, 87, 8, 6, 11, 6, 12, 6, 88, 1, 6, 1, 6, 4, 6, 93, 8, 6, 11, 6, 12, 6, 94, 1, 6, 3, 6, 98, 8, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 106, 8, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 114, 8, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 120, 8, 7, 1, 7, 1, 7, 1, 7, 5, 7, 125, 8, 7, 10, 7, 12, 7, 128, 9, 7, 1, 8, 3, 8, 131, 8, 8, 1, 8, 1, 8, 1, 8, 3, 8, 136, 8, 8, 1, 8, 3, 8, 139, 8, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 147, 8, 8, 1, 8, 3, 8, 150, 8, 8, 1, 8, 1, 8, 1, 8, 3, 8, 155, 8, 8, 1, 8, 3, 8, 158, 8, 8, 1, 8, 1, 8, 3, 8, 162, 8, 8, 1, 8, 1, 8, 1, 8, 5, 8, 167, 8, 8, 10, 8, 12, 8, 170, 9, 8, 1, 8, 1, 8, 3, 8, 174, 8, 8, 1, 8, 3, 8, 177, 8, 8, 1, 8, 1, 8, 3, 8, 181, 8, 8, 1, 9, 1, 9, 1, 9, 5, 9, 186, 8, 9, 10, 9, 12, 9, 189, 9, 9, 1, 10, 1, 10, 1, 10, 5, 10, 194, 8, 10, 10, 10, 12, 10, 197, 9, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 5, 11, 207, 8, 11, 10, 11, 12, 11, 210, 9, 11, 1, 12, 3, 12, 213, 8, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 5, 13, 225, 8, 13, 10, 13, 12, 13, 228, 9, 13, 1, 14, 3, 14, 231, 8, 14, 1, 14, 1, 14, 1, 15, 3, 15, 236, 8, 15, 1, 15, 1, 15, 1, 15, 3, 15, 241, 8, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 3, 15, 249, 8, 15, 1, 15, 0, 3, 8, 10, 14, 16, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 0, 3, 1, 0, 1, 7, 1, 0, 23, 25, 2, 0, 18, 18, 22, 22, 281, 0, 32, 1, 0, 0, 0, 2, 35, 1, 0, 0, 0, 4, 43, 1, 0, 0, 0, 6, 51, 1, 0, 0, 0, 8, 59, 1, 0, 0, 0, 10, 70, 1, 0, 0, 0, 12, 97, 1, 0, 0, 0, 14, 99, 1, 0, 0, 0, 16, 180, 1, 0, 0, 0, 18, 182, 1, 0, 0, 0, 20, 190, 1, 0, 0, 0, 22, 198, 1, 0, 0, 0, 24, 212, 1, 0, 0, 0, 26, 216, 1, 0, 0, 0, 28, 230, 1, 0, 0, 0, 30, 248, 1, 0, 0, 0, 32, 33, 3, 2, 1, 0, 33, 34, 5, 0, 0, 1, 34, 1, 1, 0, 0, 0, 35, 41, 3, 4, 2, 0, 36, 37, 5, 20, 0, 0, 37, 38, 3, 4, 2, 0, 38, 39, 5, 21, 0, 0, 39, 40, 3, 2, 1, 0, 40, 42, 1, 0, 0, 0, 41, 36, 1, 0, 0, 0, 41, 42, 1, 0, 0, 0, 42, 3, 1, 0, 0, 0, 43, 48, 3, 6, 3, 0, 44, 45, 5, 9, 0, 0, 45, 47, 3, 6, 3, 0, 46, 44, 1, 0, 0, 0, 47, 50, 1, 0, 0, 0, 48, 46, 1, 0, 0, 0, 48, 49, 1, 0, 0, 0, 49, 5, 1, 0, 0, 0, 50, 48, 1, 0, 0, 0, 51, 56, 3, 8, 4, 0, 52, 53, 5, 8, 0, 0, 53, 55, 3, 8, 4, 0, 54, 52, 1, 0, 0, 0, 55, 58, 1, 0, 0, 0, 56, 54, 1, 0, 0, 0, 56, 57, 1, 0, 0, 0, 57, 7, 1, 0, 0, 0, 58, 56, 1, 0, 0, 0, 59, 60, 6, 4, -1, 0, 60, 61, 3, 10, 5, 0, 61, 67, 1, 0, 0, 0, 62, 63, 10, 1, 0, 0, 63, 64, 7, 0, 0, 0, 64, 66, 3, 8, 4, 2, 65, 62, 1, 0, 0, 0, 66, 69, 1, 0, 0, 0, 67, 65, 1, 0, 0, 0, 67, 68, 1, 0, 0, 0, 68, 9, 1, 0, 0, 0, 69, 67, 1, 0, 0, 0, 70, 71, 6, 5, -1, 0, 71, 72, 3, 12, 6, 0, 72, 81, 1, 0, 0, 0, 73, 74, 10, 2, 0, 0, 74, 75, 7, 1, 0, 0, 75, 80, 3, 10, 5, 3, 76, 77, 10, 1, 0, 0, 77, 78, 7, 2, 0, 0, 78, 80, 3, 10, 5, 2, 79, 73, 1, 0, 0, 0, 79, 76, 1, 0, 0, 0, 80, 83, 1, 0, 0, 0, 81, 79, 1, 0, 0, 0, 81, 82, 1, 0, 0, 0, 82, 11, 1, 0, 0, 0, 83, 81, 1, 0, 0, 0, 84, 98, 3, 14, 7, 0, 85, 87, 5, 19, 0, 0, 86, 85, 1, 0, 0, 0, 87, 88, 1, 0, 0, 0, 88, 86, 1, 0, 0, 0, 88, 89, 1, 0, 0, 0, 89, 90, 1, 0, 0, 0, 90, 98, 3, 14, 7, 0, 91, 93, 5, 18, 0, 0, 92, 91, 1, 0, 0, 0, 93, 94, 1, 0, 0, 0, 94, 92, 1, 0, 0, 0, 94, 95, 1, 0, 0, 0, 95, 96, 1, 0, 0, 0, 96, 98, 3, 14, 7, 0, 97, 84, 1, 0, 0, 0, 97, 86, 1, 0, 0, 0, 97, 92, 1, 0, 0, 0, 98, 13, 1, 0, 0, 0, 99, 100, 6, 7, -1, 0, 100, 101, 3, 16, 8, 0, 101, 126, 1, 0, 0, 0, 102, 103, 10, 3, 0, 0, 103, 105, 5, 16, 0, 0, 104, 106, 5, 20, 0, 0, 105, 104, 1, 0, 0, 0, 105, 106, 1, 0, 0, 0, 106, 107, 1, 0, 0, 0, 107, 125, 5, 36, 0, 0, 108, 109, 10, 2, 0, 0, 109, 110, 5, 16, 0, 0, 110, 111, 5, 36, 0, 0, 111, 113, 5, 14, 0, 0, 112, 114, 3, 18, 9, 0, 113, 112, 1, 0, 0, 0, 113, 114, 1, 0, 0, 0, 114, 115, 1, 0, 0, 0, 115, 125, 5, 15, 0, 0, 116, 117, 10, 1, 0, 0, 117, 119, 5, 10, 0, 0, 118, 120, 5, 20, 0, 0, 119, 118, 1, 0, 0, 0, 119, 120, 1, 0, 0, 0, 120, 121, 1, 0, 0, 0, 121, 122, 3, 2, 1, 0, 122, 123, 5, 11, 0, 0, 123, 125, 1, 0, 0, 0, 124, 102, 1, 0, 0, 0, 124, 108, 1, 0, 0, 0, 124, 116, 1, 0, 0, 0, 125, 128, 1, 0, 0, 0, 126, 124, 1, 0, 0, 0, 126, 127, 1, 0, 0, 0, 127, 15, 1, 0, 0, 0, 128, 126, 1, 0, 0, 0, 129, 131, 5, 16, 0, 0, 130, 129, 1, 0, 0, 0, 130, 131, 1, 0, 0, 0, 131, 132, 1, 0, 0, 0, 132, 138, 5, 36, 0, 0, 133, 135, 5, 14, 0, 0, 134, 136, 3, 18, 9, 0, 135, 134, 1, 0, 0, 0, 135, 136, 1, 0, 0, 0, 136, 137, 1, 0, 0, 0, 137, 139, 5, 15, 0, 0, 138, 133, 1, 0, 0, 0, 138, 139, 1, 0, 0, 0, 139, 181, 1, 0, 0, 0, 140, 141, 5, 14, 0, 0, 141, 142, 3, 2, 1, 0, 142, 143, 5, 15, 0, 0, 143, 181, 1, 0, 0, 0, 144, 146, 5, 10, 0, 0, 145, 147, 3, 20, 10, 0, 146, 145, 1, 0, 0, 0, 146, 147, 1, 0, 0, 0, 147, 149, 1, 0, 0, 0, 148, 150, 5, 17, 0, 0, 149, 148, 1, 0, 0, 0, 149, 150, 1, 0, 0, 0, 150, 151, 1, 0, 0, 0, 151, 181, 5, 11, 0, 0, 152, 154, 5, 12, 0, 0, 153, 155, 3, 26, 13, 0, 154, 153, 1, 0, 0, 0, 154, 155, 1, 0, 0, 0, 155, 157, 1, 0, 0, 0, 156, 158, 5, 17, 0, 0, 157, 156, 1, 0, 0, 0, 157, 158, 1, 0, 0, 0, 158, 159, 1, 0, 0, 0, 159, 181, 5, 13, 0, 0, 160, 162, 5, 16, 0, 0, 161, 160, 1, 0, 0, 0, 161, 162, 1, 0, 0, 0, 162, 163, 1, 0, 0, 0, 163, 168, 5, 36, 0, 0, 164, 165, 5, 16, 0, 0, 165, 167, 5, 36, 0, 0, 166, 164, 1, 0, 0, 0, 167, 170, 1, 0, 0, 0, 168, 166, 1, 0, 0, 0, 168, 169, 1, 0, 0, 0, 169, 171, 1, 0, 0, 0, 170, 168, 1, 0, 0, 0, 171, 173, 5, 12, 0, 0, 172, 174, 3, 22, 11, 0, 173, 172, 1, 0, 0, 0, 173, 174, 1, 0, 0, 0, 174, 176, 1, 0, 0, 0, 175, 177, 5, 17, 0, 0, 176, 175, 1, 0, 0, 0, 176, 177, 1, 0, 0, 0, 177, 178, 1, 0, 0, 0, 178, 181, 5, 13, 0, 0, 179, 181, 3, 30, 15, 0, 180, 130, 1, 0, 0, 0, 180, 140, 1, 0, 0, 0, 180, 144, 1, 0, 0, 0, 180, 152, 1, 0, 0, 0, 180, 161, 1, 0, 0, 0, 180, 179, 1, 0, 0, 0, 181, 17, 1, 0, 0, 0, 182, 187, 3, 2, 1, 0, 183, 184, 5, 17, 0, 0, 184, 186, 3, 2, 1, 0, 185, 183, 1, 0, 0, 0, 186, 189, 1, 0, 0, 0, 187, 185, 1, 0, 0, 0, 187, 188, 1, 0, 0, 0, 188, 19, 1, 0, 0, 0, 189, 187, 1, 0, 0, 0, 190, 195, 3, 28, 14, 0, 191, 192, 5, 17, 0, 0, 192, 194, 3, 28, 14, 0, 193, 191, 1, 0, 0, 0, 194, 197, 1, 0, 0, 0, 195, 193, 1, 0, 0, 0, 195, 196, 1, 0, 0, 0, 196, 21, 1, 0, 0, 0, 197, 195, 1, 0, 0, 0, 198, 199, 3, 24, 12, 0, 199, 200, 5, 21, 0, 0, 200, 208, 3, 2, 1, 0, 201, 202, 5, 17, 0, 0, 202, 203, 3, 24, 12, 0, 203, 204, 5, 21, 0, 0, 204, 205, 3, 2, 1, 0, 205, 207, 1, 0, 0, 0, 206, 201, 1, 0, 0, 0, 207, 210, 1, 0, 0, 0, 208, 206, 1, 0, 0, 0, 208, 209, 1, 0, 0, 0, 209, 23, 1, 0, 0, 0, 210, 208, 1, 0, 0, 0, 211, 213, 5, 20, 0, 0, 212, 211, 1, 0, 0, 0, 212, 213, 1, 0, 0, 0, 213, 214, 1, 0, 0, 0, 214, 215, 5, 36, 0, 0, 215, 25, 1, 0, 0, 0, 216, 217, 3, 28, 14, 0, 217, 218, 5, 21, 0, 0, 218, 226, 3, 2, 1, 0, 219, 220, 5, 17, 0, 0, 220, 221, 3, 28, 14, 0, 221, 222, 5, 21, 0, 0, 222, 223, 3, 2, 1, 0, 223, 225, 1, 0, 0, 0, 224, 219, 1, 0, 0, 0, 225, 228, 1, 0, 0, 0, 226, 224, 1, 0, 0, 0, 226, 227, 1, 0, 0, 0, 227, 27, 1, 0, 0, 0, 228, 226, 1, 0, 0, 0, 229, 231, 5, 20, 0, 0, 230, 229, 1, 0, 0, 0, 230, 231, 1, 0, 0, 0, 231, 232, 1, 0, 0, 0, 232, 233, 3, 2, 1, 0, 233, 29, 1, 0, 0, 0, 234, 236, 5, 18, 0, 0, 235, 234, 1, 0, 0, 0, 235, 236, 1, 0, 0, 0, 236, 237, 1, 0, 0, 0, 237, 249, 5, 32, 0, 0, 238, 249, 5, 33, 0, 0, 239, 241, 5, 18, 0, 0, 240, 239, 1, 0, 0, 0, 240, 241, 1, 0, 0, 0, 241, 242, 1, 0, 0, 0, 242, 249, 5, 31, 0, 0, 243, 249, 5, 34, 0, 0, 244, 249, 5, 35, 0, 0, 245, 249, 5, 26, 0, 0, 246, 249, 5, 27, 0, 0, 247, 249, 5, 28, 0, 0, 248, 235, 1, 0, 0, 0, 248, 238, 1, 0, 0, 0, 248, 240, 1, 0, 0, 0, 248, 243, 1, 0, 0, 0, 248, 244, 1, 0, 0, 0, 248, 245, 1, 0, 0, 0, 248, 246, 1, 0, 0, 0, 248, 247, 1, 0, 0, 0, 249, 31, 1, 0, 0, 0, 35, 41, 48, 56, 67, 79, 81, 88, 94, 97, 105, 113, 119, 124, 126, 130, 135, 138, 146, 149, 154, 157, 161, 168, 173, 176, 180, 187, 195, 208, 212, 226, 230, 235, 240, 248] \ No newline at end of file diff --git a/vendor/github.com/google/cel-go/parser/gen/CEL.tokens b/vendor/github.com/google/cel-go/parser/gen/CEL.tokens new file mode 100644 index 000000000..b305bdad3 --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/gen/CEL.tokens @@ -0,0 +1,64 @@ +EQUALS=1 +NOT_EQUALS=2 +IN=3 +LESS=4 +LESS_EQUALS=5 +GREATER_EQUALS=6 +GREATER=7 +LOGICAL_AND=8 +LOGICAL_OR=9 +LBRACKET=10 +RPRACKET=11 +LBRACE=12 +RBRACE=13 +LPAREN=14 +RPAREN=15 +DOT=16 +COMMA=17 +MINUS=18 +EXCLAM=19 +QUESTIONMARK=20 +COLON=21 +PLUS=22 +STAR=23 +SLASH=24 +PERCENT=25 +CEL_TRUE=26 +CEL_FALSE=27 +NUL=28 +WHITESPACE=29 +COMMENT=30 +NUM_FLOAT=31 +NUM_INT=32 +NUM_UINT=33 +STRING=34 +BYTES=35 +IDENTIFIER=36 +'=='=1 +'!='=2 +'in'=3 +'<'=4 +'<='=5 +'>='=6 +'>'=7 +'&&'=8 +'||'=9 +'['=10 +']'=11 +'{'=12 +'}'=13 +'('=14 +')'=15 +'.'=16 +','=17 +'-'=18 +'!'=19 +'?'=20 +':'=21 +'+'=22 +'*'=23 +'/'=24 +'%'=25 +'true'=26 +'false'=27 +'null'=28 diff --git a/vendor/github.com/google/cel-go/parser/gen/CELLexer.interp b/vendor/github.com/google/cel-go/parser/gen/CELLexer.interp new file mode 100644 index 000000000..26e7f471e --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/gen/CELLexer.interp @@ -0,0 +1,136 @@ +token literal names: +null +'==' +'!=' +'in' +'<' +'<=' +'>=' +'>' +'&&' +'||' +'[' +']' +'{' +'}' +'(' +')' +'.' +',' +'-' +'!' +'?' +':' +'+' +'*' +'/' +'%' +'true' +'false' +'null' +null +null +null +null +null +null +null +null + +token symbolic names: +null +EQUALS +NOT_EQUALS +IN +LESS +LESS_EQUALS +GREATER_EQUALS +GREATER +LOGICAL_AND +LOGICAL_OR +LBRACKET +RPRACKET +LBRACE +RBRACE +LPAREN +RPAREN +DOT +COMMA +MINUS +EXCLAM +QUESTIONMARK +COLON +PLUS +STAR +SLASH +PERCENT +CEL_TRUE +CEL_FALSE +NUL +WHITESPACE +COMMENT +NUM_FLOAT +NUM_INT +NUM_UINT +STRING +BYTES +IDENTIFIER + +rule names: +EQUALS +NOT_EQUALS +IN +LESS +LESS_EQUALS +GREATER_EQUALS +GREATER +LOGICAL_AND +LOGICAL_OR +LBRACKET +RPRACKET +LBRACE +RBRACE +LPAREN +RPAREN +DOT +COMMA +MINUS +EXCLAM +QUESTIONMARK +COLON +PLUS +STAR +SLASH +PERCENT +CEL_TRUE +CEL_FALSE +NUL +BACKSLASH +LETTER +DIGIT +EXPONENT +HEXDIGIT +RAW +ESC_SEQ +ESC_CHAR_SEQ +ESC_OCT_SEQ +ESC_BYTE_SEQ +ESC_UNI_SEQ +WHITESPACE +COMMENT +NUM_FLOAT +NUM_INT +NUM_UINT +STRING +BYTES +IDENTIFIER + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[4, 0, 36, 423, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 17, 1, 17, 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 29, 1, 29, 1, 30, 1, 30, 1, 31, 1, 31, 3, 31, 177, 8, 31, 1, 31, 4, 31, 180, 8, 31, 11, 31, 12, 31, 181, 1, 32, 1, 32, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 34, 3, 34, 192, 8, 34, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 3, 38, 225, 8, 38, 1, 39, 4, 39, 228, 8, 39, 11, 39, 12, 39, 229, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 5, 40, 238, 8, 40, 10, 40, 12, 40, 241, 9, 40, 1, 40, 1, 40, 1, 41, 4, 41, 246, 8, 41, 11, 41, 12, 41, 247, 1, 41, 1, 41, 4, 41, 252, 8, 41, 11, 41, 12, 41, 253, 1, 41, 3, 41, 257, 8, 41, 1, 41, 4, 41, 260, 8, 41, 11, 41, 12, 41, 261, 1, 41, 1, 41, 1, 41, 1, 41, 4, 41, 268, 8, 41, 11, 41, 12, 41, 269, 1, 41, 3, 41, 273, 8, 41, 3, 41, 275, 8, 41, 1, 42, 4, 42, 278, 8, 42, 11, 42, 12, 42, 279, 1, 42, 1, 42, 1, 42, 1, 42, 4, 42, 286, 8, 42, 11, 42, 12, 42, 287, 3, 42, 290, 8, 42, 1, 43, 4, 43, 293, 8, 43, 11, 43, 12, 43, 294, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 4, 43, 303, 8, 43, 11, 43, 12, 43, 304, 1, 43, 1, 43, 3, 43, 309, 8, 43, 1, 44, 1, 44, 1, 44, 5, 44, 314, 8, 44, 10, 44, 12, 44, 317, 9, 44, 1, 44, 1, 44, 1, 44, 1, 44, 5, 44, 323, 8, 44, 10, 44, 12, 44, 326, 9, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 5, 44, 335, 8, 44, 10, 44, 12, 44, 338, 9, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 5, 44, 349, 8, 44, 10, 44, 12, 44, 352, 9, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 5, 44, 360, 8, 44, 10, 44, 12, 44, 363, 9, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 5, 44, 370, 8, 44, 10, 44, 12, 44, 373, 9, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 5, 44, 383, 8, 44, 10, 44, 12, 44, 386, 9, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 5, 44, 398, 8, 44, 10, 44, 12, 44, 401, 9, 44, 1, 44, 1, 44, 1, 44, 1, 44, 3, 44, 407, 8, 44, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 3, 46, 414, 8, 46, 1, 46, 1, 46, 1, 46, 5, 46, 419, 8, 46, 10, 46, 12, 46, 422, 9, 46, 4, 336, 350, 384, 399, 0, 47, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 0, 59, 0, 61, 0, 63, 0, 65, 0, 67, 0, 69, 0, 71, 0, 73, 0, 75, 0, 77, 0, 79, 29, 81, 30, 83, 31, 85, 32, 87, 33, 89, 34, 91, 35, 93, 36, 1, 0, 16, 2, 0, 65, 90, 97, 122, 2, 0, 69, 69, 101, 101, 2, 0, 43, 43, 45, 45, 3, 0, 48, 57, 65, 70, 97, 102, 2, 0, 82, 82, 114, 114, 10, 0, 34, 34, 39, 39, 63, 63, 92, 92, 96, 98, 102, 102, 110, 110, 114, 114, 116, 116, 118, 118, 2, 0, 88, 88, 120, 120, 3, 0, 9, 10, 12, 13, 32, 32, 1, 0, 10, 10, 2, 0, 85, 85, 117, 117, 4, 0, 10, 10, 13, 13, 34, 34, 92, 92, 4, 0, 10, 10, 13, 13, 39, 39, 92, 92, 1, 0, 92, 92, 3, 0, 10, 10, 13, 13, 34, 34, 3, 0, 10, 10, 13, 13, 39, 39, 2, 0, 66, 66, 98, 98, 456, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, 81, 1, 0, 0, 0, 0, 83, 1, 0, 0, 0, 0, 85, 1, 0, 0, 0, 0, 87, 1, 0, 0, 0, 0, 89, 1, 0, 0, 0, 0, 91, 1, 0, 0, 0, 0, 93, 1, 0, 0, 0, 1, 95, 1, 0, 0, 0, 3, 98, 1, 0, 0, 0, 5, 101, 1, 0, 0, 0, 7, 104, 1, 0, 0, 0, 9, 106, 1, 0, 0, 0, 11, 109, 1, 0, 0, 0, 13, 112, 1, 0, 0, 0, 15, 114, 1, 0, 0, 0, 17, 117, 1, 0, 0, 0, 19, 120, 1, 0, 0, 0, 21, 122, 1, 0, 0, 0, 23, 124, 1, 0, 0, 0, 25, 126, 1, 0, 0, 0, 27, 128, 1, 0, 0, 0, 29, 130, 1, 0, 0, 0, 31, 132, 1, 0, 0, 0, 33, 134, 1, 0, 0, 0, 35, 136, 1, 0, 0, 0, 37, 138, 1, 0, 0, 0, 39, 140, 1, 0, 0, 0, 41, 142, 1, 0, 0, 0, 43, 144, 1, 0, 0, 0, 45, 146, 1, 0, 0, 0, 47, 148, 1, 0, 0, 0, 49, 150, 1, 0, 0, 0, 51, 152, 1, 0, 0, 0, 53, 157, 1, 0, 0, 0, 55, 163, 1, 0, 0, 0, 57, 168, 1, 0, 0, 0, 59, 170, 1, 0, 0, 0, 61, 172, 1, 0, 0, 0, 63, 174, 1, 0, 0, 0, 65, 183, 1, 0, 0, 0, 67, 185, 1, 0, 0, 0, 69, 191, 1, 0, 0, 0, 71, 193, 1, 0, 0, 0, 73, 196, 1, 0, 0, 0, 75, 201, 1, 0, 0, 0, 77, 224, 1, 0, 0, 0, 79, 227, 1, 0, 0, 0, 81, 233, 1, 0, 0, 0, 83, 274, 1, 0, 0, 0, 85, 289, 1, 0, 0, 0, 87, 308, 1, 0, 0, 0, 89, 406, 1, 0, 0, 0, 91, 408, 1, 0, 0, 0, 93, 413, 1, 0, 0, 0, 95, 96, 5, 61, 0, 0, 96, 97, 5, 61, 0, 0, 97, 2, 1, 0, 0, 0, 98, 99, 5, 33, 0, 0, 99, 100, 5, 61, 0, 0, 100, 4, 1, 0, 0, 0, 101, 102, 5, 105, 0, 0, 102, 103, 5, 110, 0, 0, 103, 6, 1, 0, 0, 0, 104, 105, 5, 60, 0, 0, 105, 8, 1, 0, 0, 0, 106, 107, 5, 60, 0, 0, 107, 108, 5, 61, 0, 0, 108, 10, 1, 0, 0, 0, 109, 110, 5, 62, 0, 0, 110, 111, 5, 61, 0, 0, 111, 12, 1, 0, 0, 0, 112, 113, 5, 62, 0, 0, 113, 14, 1, 0, 0, 0, 114, 115, 5, 38, 0, 0, 115, 116, 5, 38, 0, 0, 116, 16, 1, 0, 0, 0, 117, 118, 5, 124, 0, 0, 118, 119, 5, 124, 0, 0, 119, 18, 1, 0, 0, 0, 120, 121, 5, 91, 0, 0, 121, 20, 1, 0, 0, 0, 122, 123, 5, 93, 0, 0, 123, 22, 1, 0, 0, 0, 124, 125, 5, 123, 0, 0, 125, 24, 1, 0, 0, 0, 126, 127, 5, 125, 0, 0, 127, 26, 1, 0, 0, 0, 128, 129, 5, 40, 0, 0, 129, 28, 1, 0, 0, 0, 130, 131, 5, 41, 0, 0, 131, 30, 1, 0, 0, 0, 132, 133, 5, 46, 0, 0, 133, 32, 1, 0, 0, 0, 134, 135, 5, 44, 0, 0, 135, 34, 1, 0, 0, 0, 136, 137, 5, 45, 0, 0, 137, 36, 1, 0, 0, 0, 138, 139, 5, 33, 0, 0, 139, 38, 1, 0, 0, 0, 140, 141, 5, 63, 0, 0, 141, 40, 1, 0, 0, 0, 142, 143, 5, 58, 0, 0, 143, 42, 1, 0, 0, 0, 144, 145, 5, 43, 0, 0, 145, 44, 1, 0, 0, 0, 146, 147, 5, 42, 0, 0, 147, 46, 1, 0, 0, 0, 148, 149, 5, 47, 0, 0, 149, 48, 1, 0, 0, 0, 150, 151, 5, 37, 0, 0, 151, 50, 1, 0, 0, 0, 152, 153, 5, 116, 0, 0, 153, 154, 5, 114, 0, 0, 154, 155, 5, 117, 0, 0, 155, 156, 5, 101, 0, 0, 156, 52, 1, 0, 0, 0, 157, 158, 5, 102, 0, 0, 158, 159, 5, 97, 0, 0, 159, 160, 5, 108, 0, 0, 160, 161, 5, 115, 0, 0, 161, 162, 5, 101, 0, 0, 162, 54, 1, 0, 0, 0, 163, 164, 5, 110, 0, 0, 164, 165, 5, 117, 0, 0, 165, 166, 5, 108, 0, 0, 166, 167, 5, 108, 0, 0, 167, 56, 1, 0, 0, 0, 168, 169, 5, 92, 0, 0, 169, 58, 1, 0, 0, 0, 170, 171, 7, 0, 0, 0, 171, 60, 1, 0, 0, 0, 172, 173, 2, 48, 57, 0, 173, 62, 1, 0, 0, 0, 174, 176, 7, 1, 0, 0, 175, 177, 7, 2, 0, 0, 176, 175, 1, 0, 0, 0, 176, 177, 1, 0, 0, 0, 177, 179, 1, 0, 0, 0, 178, 180, 3, 61, 30, 0, 179, 178, 1, 0, 0, 0, 180, 181, 1, 0, 0, 0, 181, 179, 1, 0, 0, 0, 181, 182, 1, 0, 0, 0, 182, 64, 1, 0, 0, 0, 183, 184, 7, 3, 0, 0, 184, 66, 1, 0, 0, 0, 185, 186, 7, 4, 0, 0, 186, 68, 1, 0, 0, 0, 187, 192, 3, 71, 35, 0, 188, 192, 3, 75, 37, 0, 189, 192, 3, 77, 38, 0, 190, 192, 3, 73, 36, 0, 191, 187, 1, 0, 0, 0, 191, 188, 1, 0, 0, 0, 191, 189, 1, 0, 0, 0, 191, 190, 1, 0, 0, 0, 192, 70, 1, 0, 0, 0, 193, 194, 3, 57, 28, 0, 194, 195, 7, 5, 0, 0, 195, 72, 1, 0, 0, 0, 196, 197, 3, 57, 28, 0, 197, 198, 2, 48, 51, 0, 198, 199, 2, 48, 55, 0, 199, 200, 2, 48, 55, 0, 200, 74, 1, 0, 0, 0, 201, 202, 3, 57, 28, 0, 202, 203, 7, 6, 0, 0, 203, 204, 3, 65, 32, 0, 204, 205, 3, 65, 32, 0, 205, 76, 1, 0, 0, 0, 206, 207, 3, 57, 28, 0, 207, 208, 5, 117, 0, 0, 208, 209, 3, 65, 32, 0, 209, 210, 3, 65, 32, 0, 210, 211, 3, 65, 32, 0, 211, 212, 3, 65, 32, 0, 212, 225, 1, 0, 0, 0, 213, 214, 3, 57, 28, 0, 214, 215, 5, 85, 0, 0, 215, 216, 3, 65, 32, 0, 216, 217, 3, 65, 32, 0, 217, 218, 3, 65, 32, 0, 218, 219, 3, 65, 32, 0, 219, 220, 3, 65, 32, 0, 220, 221, 3, 65, 32, 0, 221, 222, 3, 65, 32, 0, 222, 223, 3, 65, 32, 0, 223, 225, 1, 0, 0, 0, 224, 206, 1, 0, 0, 0, 224, 213, 1, 0, 0, 0, 225, 78, 1, 0, 0, 0, 226, 228, 7, 7, 0, 0, 227, 226, 1, 0, 0, 0, 228, 229, 1, 0, 0, 0, 229, 227, 1, 0, 0, 0, 229, 230, 1, 0, 0, 0, 230, 231, 1, 0, 0, 0, 231, 232, 6, 39, 0, 0, 232, 80, 1, 0, 0, 0, 233, 234, 5, 47, 0, 0, 234, 235, 5, 47, 0, 0, 235, 239, 1, 0, 0, 0, 236, 238, 8, 8, 0, 0, 237, 236, 1, 0, 0, 0, 238, 241, 1, 0, 0, 0, 239, 237, 1, 0, 0, 0, 239, 240, 1, 0, 0, 0, 240, 242, 1, 0, 0, 0, 241, 239, 1, 0, 0, 0, 242, 243, 6, 40, 0, 0, 243, 82, 1, 0, 0, 0, 244, 246, 3, 61, 30, 0, 245, 244, 1, 0, 0, 0, 246, 247, 1, 0, 0, 0, 247, 245, 1, 0, 0, 0, 247, 248, 1, 0, 0, 0, 248, 249, 1, 0, 0, 0, 249, 251, 5, 46, 0, 0, 250, 252, 3, 61, 30, 0, 251, 250, 1, 0, 0, 0, 252, 253, 1, 0, 0, 0, 253, 251, 1, 0, 0, 0, 253, 254, 1, 0, 0, 0, 254, 256, 1, 0, 0, 0, 255, 257, 3, 63, 31, 0, 256, 255, 1, 0, 0, 0, 256, 257, 1, 0, 0, 0, 257, 275, 1, 0, 0, 0, 258, 260, 3, 61, 30, 0, 259, 258, 1, 0, 0, 0, 260, 261, 1, 0, 0, 0, 261, 259, 1, 0, 0, 0, 261, 262, 1, 0, 0, 0, 262, 263, 1, 0, 0, 0, 263, 264, 3, 63, 31, 0, 264, 275, 1, 0, 0, 0, 265, 267, 5, 46, 0, 0, 266, 268, 3, 61, 30, 0, 267, 266, 1, 0, 0, 0, 268, 269, 1, 0, 0, 0, 269, 267, 1, 0, 0, 0, 269, 270, 1, 0, 0, 0, 270, 272, 1, 0, 0, 0, 271, 273, 3, 63, 31, 0, 272, 271, 1, 0, 0, 0, 272, 273, 1, 0, 0, 0, 273, 275, 1, 0, 0, 0, 274, 245, 1, 0, 0, 0, 274, 259, 1, 0, 0, 0, 274, 265, 1, 0, 0, 0, 275, 84, 1, 0, 0, 0, 276, 278, 3, 61, 30, 0, 277, 276, 1, 0, 0, 0, 278, 279, 1, 0, 0, 0, 279, 277, 1, 0, 0, 0, 279, 280, 1, 0, 0, 0, 280, 290, 1, 0, 0, 0, 281, 282, 5, 48, 0, 0, 282, 283, 5, 120, 0, 0, 283, 285, 1, 0, 0, 0, 284, 286, 3, 65, 32, 0, 285, 284, 1, 0, 0, 0, 286, 287, 1, 0, 0, 0, 287, 285, 1, 0, 0, 0, 287, 288, 1, 0, 0, 0, 288, 290, 1, 0, 0, 0, 289, 277, 1, 0, 0, 0, 289, 281, 1, 0, 0, 0, 290, 86, 1, 0, 0, 0, 291, 293, 3, 61, 30, 0, 292, 291, 1, 0, 0, 0, 293, 294, 1, 0, 0, 0, 294, 292, 1, 0, 0, 0, 294, 295, 1, 0, 0, 0, 295, 296, 1, 0, 0, 0, 296, 297, 7, 9, 0, 0, 297, 309, 1, 0, 0, 0, 298, 299, 5, 48, 0, 0, 299, 300, 5, 120, 0, 0, 300, 302, 1, 0, 0, 0, 301, 303, 3, 65, 32, 0, 302, 301, 1, 0, 0, 0, 303, 304, 1, 0, 0, 0, 304, 302, 1, 0, 0, 0, 304, 305, 1, 0, 0, 0, 305, 306, 1, 0, 0, 0, 306, 307, 7, 9, 0, 0, 307, 309, 1, 0, 0, 0, 308, 292, 1, 0, 0, 0, 308, 298, 1, 0, 0, 0, 309, 88, 1, 0, 0, 0, 310, 315, 5, 34, 0, 0, 311, 314, 3, 69, 34, 0, 312, 314, 8, 10, 0, 0, 313, 311, 1, 0, 0, 0, 313, 312, 1, 0, 0, 0, 314, 317, 1, 0, 0, 0, 315, 313, 1, 0, 0, 0, 315, 316, 1, 0, 0, 0, 316, 318, 1, 0, 0, 0, 317, 315, 1, 0, 0, 0, 318, 407, 5, 34, 0, 0, 319, 324, 5, 39, 0, 0, 320, 323, 3, 69, 34, 0, 321, 323, 8, 11, 0, 0, 322, 320, 1, 0, 0, 0, 322, 321, 1, 0, 0, 0, 323, 326, 1, 0, 0, 0, 324, 322, 1, 0, 0, 0, 324, 325, 1, 0, 0, 0, 325, 327, 1, 0, 0, 0, 326, 324, 1, 0, 0, 0, 327, 407, 5, 39, 0, 0, 328, 329, 5, 34, 0, 0, 329, 330, 5, 34, 0, 0, 330, 331, 5, 34, 0, 0, 331, 336, 1, 0, 0, 0, 332, 335, 3, 69, 34, 0, 333, 335, 8, 12, 0, 0, 334, 332, 1, 0, 0, 0, 334, 333, 1, 0, 0, 0, 335, 338, 1, 0, 0, 0, 336, 337, 1, 0, 0, 0, 336, 334, 1, 0, 0, 0, 337, 339, 1, 0, 0, 0, 338, 336, 1, 0, 0, 0, 339, 340, 5, 34, 0, 0, 340, 341, 5, 34, 0, 0, 341, 407, 5, 34, 0, 0, 342, 343, 5, 39, 0, 0, 343, 344, 5, 39, 0, 0, 344, 345, 5, 39, 0, 0, 345, 350, 1, 0, 0, 0, 346, 349, 3, 69, 34, 0, 347, 349, 8, 12, 0, 0, 348, 346, 1, 0, 0, 0, 348, 347, 1, 0, 0, 0, 349, 352, 1, 0, 0, 0, 350, 351, 1, 0, 0, 0, 350, 348, 1, 0, 0, 0, 351, 353, 1, 0, 0, 0, 352, 350, 1, 0, 0, 0, 353, 354, 5, 39, 0, 0, 354, 355, 5, 39, 0, 0, 355, 407, 5, 39, 0, 0, 356, 357, 3, 67, 33, 0, 357, 361, 5, 34, 0, 0, 358, 360, 8, 13, 0, 0, 359, 358, 1, 0, 0, 0, 360, 363, 1, 0, 0, 0, 361, 359, 1, 0, 0, 0, 361, 362, 1, 0, 0, 0, 362, 364, 1, 0, 0, 0, 363, 361, 1, 0, 0, 0, 364, 365, 5, 34, 0, 0, 365, 407, 1, 0, 0, 0, 366, 367, 3, 67, 33, 0, 367, 371, 5, 39, 0, 0, 368, 370, 8, 14, 0, 0, 369, 368, 1, 0, 0, 0, 370, 373, 1, 0, 0, 0, 371, 369, 1, 0, 0, 0, 371, 372, 1, 0, 0, 0, 372, 374, 1, 0, 0, 0, 373, 371, 1, 0, 0, 0, 374, 375, 5, 39, 0, 0, 375, 407, 1, 0, 0, 0, 376, 377, 3, 67, 33, 0, 377, 378, 5, 34, 0, 0, 378, 379, 5, 34, 0, 0, 379, 380, 5, 34, 0, 0, 380, 384, 1, 0, 0, 0, 381, 383, 9, 0, 0, 0, 382, 381, 1, 0, 0, 0, 383, 386, 1, 0, 0, 0, 384, 385, 1, 0, 0, 0, 384, 382, 1, 0, 0, 0, 385, 387, 1, 0, 0, 0, 386, 384, 1, 0, 0, 0, 387, 388, 5, 34, 0, 0, 388, 389, 5, 34, 0, 0, 389, 390, 5, 34, 0, 0, 390, 407, 1, 0, 0, 0, 391, 392, 3, 67, 33, 0, 392, 393, 5, 39, 0, 0, 393, 394, 5, 39, 0, 0, 394, 395, 5, 39, 0, 0, 395, 399, 1, 0, 0, 0, 396, 398, 9, 0, 0, 0, 397, 396, 1, 0, 0, 0, 398, 401, 1, 0, 0, 0, 399, 400, 1, 0, 0, 0, 399, 397, 1, 0, 0, 0, 400, 402, 1, 0, 0, 0, 401, 399, 1, 0, 0, 0, 402, 403, 5, 39, 0, 0, 403, 404, 5, 39, 0, 0, 404, 405, 5, 39, 0, 0, 405, 407, 1, 0, 0, 0, 406, 310, 1, 0, 0, 0, 406, 319, 1, 0, 0, 0, 406, 328, 1, 0, 0, 0, 406, 342, 1, 0, 0, 0, 406, 356, 1, 0, 0, 0, 406, 366, 1, 0, 0, 0, 406, 376, 1, 0, 0, 0, 406, 391, 1, 0, 0, 0, 407, 90, 1, 0, 0, 0, 408, 409, 7, 15, 0, 0, 409, 410, 3, 89, 44, 0, 410, 92, 1, 0, 0, 0, 411, 414, 3, 59, 29, 0, 412, 414, 5, 95, 0, 0, 413, 411, 1, 0, 0, 0, 413, 412, 1, 0, 0, 0, 414, 420, 1, 0, 0, 0, 415, 419, 3, 59, 29, 0, 416, 419, 3, 61, 30, 0, 417, 419, 5, 95, 0, 0, 418, 415, 1, 0, 0, 0, 418, 416, 1, 0, 0, 0, 418, 417, 1, 0, 0, 0, 419, 422, 1, 0, 0, 0, 420, 418, 1, 0, 0, 0, 420, 421, 1, 0, 0, 0, 421, 94, 1, 0, 0, 0, 422, 420, 1, 0, 0, 0, 36, 0, 176, 181, 191, 224, 229, 239, 247, 253, 256, 261, 269, 272, 274, 279, 287, 289, 294, 304, 308, 313, 315, 322, 324, 334, 336, 348, 350, 361, 371, 384, 399, 406, 413, 418, 420, 1, 0, 1, 0] \ No newline at end of file diff --git a/vendor/github.com/google/cel-go/parser/gen/CELLexer.tokens b/vendor/github.com/google/cel-go/parser/gen/CELLexer.tokens new file mode 100644 index 000000000..b305bdad3 --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/gen/CELLexer.tokens @@ -0,0 +1,64 @@ +EQUALS=1 +NOT_EQUALS=2 +IN=3 +LESS=4 +LESS_EQUALS=5 +GREATER_EQUALS=6 +GREATER=7 +LOGICAL_AND=8 +LOGICAL_OR=9 +LBRACKET=10 +RPRACKET=11 +LBRACE=12 +RBRACE=13 +LPAREN=14 +RPAREN=15 +DOT=16 +COMMA=17 +MINUS=18 +EXCLAM=19 +QUESTIONMARK=20 +COLON=21 +PLUS=22 +STAR=23 +SLASH=24 +PERCENT=25 +CEL_TRUE=26 +CEL_FALSE=27 +NUL=28 +WHITESPACE=29 +COMMENT=30 +NUM_FLOAT=31 +NUM_INT=32 +NUM_UINT=33 +STRING=34 +BYTES=35 +IDENTIFIER=36 +'=='=1 +'!='=2 +'in'=3 +'<'=4 +'<='=5 +'>='=6 +'>'=7 +'&&'=8 +'||'=9 +'['=10 +']'=11 +'{'=12 +'}'=13 +'('=14 +')'=15 +'.'=16 +','=17 +'-'=18 +'!'=19 +'?'=20 +':'=21 +'+'=22 +'*'=23 +'/'=24 +'%'=25 +'true'=26 +'false'=27 +'null'=28 diff --git a/vendor/github.com/google/cel-go/parser/gen/cel_base_listener.go b/vendor/github.com/google/cel-go/parser/gen/cel_base_listener.go new file mode 100644 index 000000000..c49d03867 --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/gen/cel_base_listener.go @@ -0,0 +1,219 @@ +// Code generated from /usr/local/google/home/tswadell/go/src/github.com/google/cel-go/parser/gen/CEL.g4 by ANTLR 4.13.1. DO NOT EDIT. + +package gen // CEL +import "github.com/antlr4-go/antlr/v4" + +// BaseCELListener is a complete listener for a parse tree produced by CELParser. +type BaseCELListener struct{} + +var _ CELListener = &BaseCELListener{} + +// VisitTerminal is called when a terminal node is visited. +func (s *BaseCELListener) VisitTerminal(node antlr.TerminalNode) {} + +// VisitErrorNode is called when an error node is visited. +func (s *BaseCELListener) VisitErrorNode(node antlr.ErrorNode) {} + +// EnterEveryRule is called when any rule is entered. +func (s *BaseCELListener) EnterEveryRule(ctx antlr.ParserRuleContext) {} + +// ExitEveryRule is called when any rule is exited. +func (s *BaseCELListener) ExitEveryRule(ctx antlr.ParserRuleContext) {} + +// EnterStart is called when production start is entered. +func (s *BaseCELListener) EnterStart(ctx *StartContext) {} + +// ExitStart is called when production start is exited. +func (s *BaseCELListener) ExitStart(ctx *StartContext) {} + +// EnterExpr is called when production expr is entered. +func (s *BaseCELListener) EnterExpr(ctx *ExprContext) {} + +// ExitExpr is called when production expr is exited. +func (s *BaseCELListener) ExitExpr(ctx *ExprContext) {} + +// EnterConditionalOr is called when production conditionalOr is entered. +func (s *BaseCELListener) EnterConditionalOr(ctx *ConditionalOrContext) {} + +// ExitConditionalOr is called when production conditionalOr is exited. +func (s *BaseCELListener) ExitConditionalOr(ctx *ConditionalOrContext) {} + +// EnterConditionalAnd is called when production conditionalAnd is entered. +func (s *BaseCELListener) EnterConditionalAnd(ctx *ConditionalAndContext) {} + +// ExitConditionalAnd is called when production conditionalAnd is exited. +func (s *BaseCELListener) ExitConditionalAnd(ctx *ConditionalAndContext) {} + +// EnterRelation is called when production relation is entered. +func (s *BaseCELListener) EnterRelation(ctx *RelationContext) {} + +// ExitRelation is called when production relation is exited. +func (s *BaseCELListener) ExitRelation(ctx *RelationContext) {} + +// EnterCalc is called when production calc is entered. +func (s *BaseCELListener) EnterCalc(ctx *CalcContext) {} + +// ExitCalc is called when production calc is exited. +func (s *BaseCELListener) ExitCalc(ctx *CalcContext) {} + +// EnterMemberExpr is called when production MemberExpr is entered. +func (s *BaseCELListener) EnterMemberExpr(ctx *MemberExprContext) {} + +// ExitMemberExpr is called when production MemberExpr is exited. +func (s *BaseCELListener) ExitMemberExpr(ctx *MemberExprContext) {} + +// EnterLogicalNot is called when production LogicalNot is entered. +func (s *BaseCELListener) EnterLogicalNot(ctx *LogicalNotContext) {} + +// ExitLogicalNot is called when production LogicalNot is exited. +func (s *BaseCELListener) ExitLogicalNot(ctx *LogicalNotContext) {} + +// EnterNegate is called when production Negate is entered. +func (s *BaseCELListener) EnterNegate(ctx *NegateContext) {} + +// ExitNegate is called when production Negate is exited. +func (s *BaseCELListener) ExitNegate(ctx *NegateContext) {} + +// EnterMemberCall is called when production MemberCall is entered. +func (s *BaseCELListener) EnterMemberCall(ctx *MemberCallContext) {} + +// ExitMemberCall is called when production MemberCall is exited. +func (s *BaseCELListener) ExitMemberCall(ctx *MemberCallContext) {} + +// EnterSelect is called when production Select is entered. +func (s *BaseCELListener) EnterSelect(ctx *SelectContext) {} + +// ExitSelect is called when production Select is exited. +func (s *BaseCELListener) ExitSelect(ctx *SelectContext) {} + +// EnterPrimaryExpr is called when production PrimaryExpr is entered. +func (s *BaseCELListener) EnterPrimaryExpr(ctx *PrimaryExprContext) {} + +// ExitPrimaryExpr is called when production PrimaryExpr is exited. +func (s *BaseCELListener) ExitPrimaryExpr(ctx *PrimaryExprContext) {} + +// EnterIndex is called when production Index is entered. +func (s *BaseCELListener) EnterIndex(ctx *IndexContext) {} + +// ExitIndex is called when production Index is exited. +func (s *BaseCELListener) ExitIndex(ctx *IndexContext) {} + +// EnterIdentOrGlobalCall is called when production IdentOrGlobalCall is entered. +func (s *BaseCELListener) EnterIdentOrGlobalCall(ctx *IdentOrGlobalCallContext) {} + +// ExitIdentOrGlobalCall is called when production IdentOrGlobalCall is exited. +func (s *BaseCELListener) ExitIdentOrGlobalCall(ctx *IdentOrGlobalCallContext) {} + +// EnterNested is called when production Nested is entered. +func (s *BaseCELListener) EnterNested(ctx *NestedContext) {} + +// ExitNested is called when production Nested is exited. +func (s *BaseCELListener) ExitNested(ctx *NestedContext) {} + +// EnterCreateList is called when production CreateList is entered. +func (s *BaseCELListener) EnterCreateList(ctx *CreateListContext) {} + +// ExitCreateList is called when production CreateList is exited. +func (s *BaseCELListener) ExitCreateList(ctx *CreateListContext) {} + +// EnterCreateStruct is called when production CreateStruct is entered. +func (s *BaseCELListener) EnterCreateStruct(ctx *CreateStructContext) {} + +// ExitCreateStruct is called when production CreateStruct is exited. +func (s *BaseCELListener) ExitCreateStruct(ctx *CreateStructContext) {} + +// EnterCreateMessage is called when production CreateMessage is entered. +func (s *BaseCELListener) EnterCreateMessage(ctx *CreateMessageContext) {} + +// ExitCreateMessage is called when production CreateMessage is exited. +func (s *BaseCELListener) ExitCreateMessage(ctx *CreateMessageContext) {} + +// EnterConstantLiteral is called when production ConstantLiteral is entered. +func (s *BaseCELListener) EnterConstantLiteral(ctx *ConstantLiteralContext) {} + +// ExitConstantLiteral is called when production ConstantLiteral is exited. +func (s *BaseCELListener) ExitConstantLiteral(ctx *ConstantLiteralContext) {} + +// EnterExprList is called when production exprList is entered. +func (s *BaseCELListener) EnterExprList(ctx *ExprListContext) {} + +// ExitExprList is called when production exprList is exited. +func (s *BaseCELListener) ExitExprList(ctx *ExprListContext) {} + +// EnterListInit is called when production listInit is entered. +func (s *BaseCELListener) EnterListInit(ctx *ListInitContext) {} + +// ExitListInit is called when production listInit is exited. +func (s *BaseCELListener) ExitListInit(ctx *ListInitContext) {} + +// EnterFieldInitializerList is called when production fieldInitializerList is entered. +func (s *BaseCELListener) EnterFieldInitializerList(ctx *FieldInitializerListContext) {} + +// ExitFieldInitializerList is called when production fieldInitializerList is exited. +func (s *BaseCELListener) ExitFieldInitializerList(ctx *FieldInitializerListContext) {} + +// EnterOptField is called when production optField is entered. +func (s *BaseCELListener) EnterOptField(ctx *OptFieldContext) {} + +// ExitOptField is called when production optField is exited. +func (s *BaseCELListener) ExitOptField(ctx *OptFieldContext) {} + +// EnterMapInitializerList is called when production mapInitializerList is entered. +func (s *BaseCELListener) EnterMapInitializerList(ctx *MapInitializerListContext) {} + +// ExitMapInitializerList is called when production mapInitializerList is exited. +func (s *BaseCELListener) ExitMapInitializerList(ctx *MapInitializerListContext) {} + +// EnterOptExpr is called when production optExpr is entered. +func (s *BaseCELListener) EnterOptExpr(ctx *OptExprContext) {} + +// ExitOptExpr is called when production optExpr is exited. +func (s *BaseCELListener) ExitOptExpr(ctx *OptExprContext) {} + +// EnterInt is called when production Int is entered. +func (s *BaseCELListener) EnterInt(ctx *IntContext) {} + +// ExitInt is called when production Int is exited. +func (s *BaseCELListener) ExitInt(ctx *IntContext) {} + +// EnterUint is called when production Uint is entered. +func (s *BaseCELListener) EnterUint(ctx *UintContext) {} + +// ExitUint is called when production Uint is exited. +func (s *BaseCELListener) ExitUint(ctx *UintContext) {} + +// EnterDouble is called when production Double is entered. +func (s *BaseCELListener) EnterDouble(ctx *DoubleContext) {} + +// ExitDouble is called when production Double is exited. +func (s *BaseCELListener) ExitDouble(ctx *DoubleContext) {} + +// EnterString is called when production String is entered. +func (s *BaseCELListener) EnterString(ctx *StringContext) {} + +// ExitString is called when production String is exited. +func (s *BaseCELListener) ExitString(ctx *StringContext) {} + +// EnterBytes is called when production Bytes is entered. +func (s *BaseCELListener) EnterBytes(ctx *BytesContext) {} + +// ExitBytes is called when production Bytes is exited. +func (s *BaseCELListener) ExitBytes(ctx *BytesContext) {} + +// EnterBoolTrue is called when production BoolTrue is entered. +func (s *BaseCELListener) EnterBoolTrue(ctx *BoolTrueContext) {} + +// ExitBoolTrue is called when production BoolTrue is exited. +func (s *BaseCELListener) ExitBoolTrue(ctx *BoolTrueContext) {} + +// EnterBoolFalse is called when production BoolFalse is entered. +func (s *BaseCELListener) EnterBoolFalse(ctx *BoolFalseContext) {} + +// ExitBoolFalse is called when production BoolFalse is exited. +func (s *BaseCELListener) ExitBoolFalse(ctx *BoolFalseContext) {} + +// EnterNull is called when production Null is entered. +func (s *BaseCELListener) EnterNull(ctx *NullContext) {} + +// ExitNull is called when production Null is exited. +func (s *BaseCELListener) ExitNull(ctx *NullContext) {} diff --git a/vendor/github.com/google/cel-go/parser/gen/cel_base_visitor.go b/vendor/github.com/google/cel-go/parser/gen/cel_base_visitor.go new file mode 100644 index 000000000..b2c0783d3 --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/gen/cel_base_visitor.go @@ -0,0 +1,141 @@ +// Code generated from /usr/local/google/home/tswadell/go/src/github.com/google/cel-go/parser/gen/CEL.g4 by ANTLR 4.13.1. DO NOT EDIT. + +package gen // CEL +import "github.com/antlr4-go/antlr/v4" + + +type BaseCELVisitor struct { + *antlr.BaseParseTreeVisitor +} + +func (v *BaseCELVisitor) VisitStart(ctx *StartContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitExpr(ctx *ExprContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitConditionalOr(ctx *ConditionalOrContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitConditionalAnd(ctx *ConditionalAndContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitRelation(ctx *RelationContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitCalc(ctx *CalcContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitMemberExpr(ctx *MemberExprContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitLogicalNot(ctx *LogicalNotContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitNegate(ctx *NegateContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitMemberCall(ctx *MemberCallContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitSelect(ctx *SelectContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitPrimaryExpr(ctx *PrimaryExprContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitIndex(ctx *IndexContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitIdentOrGlobalCall(ctx *IdentOrGlobalCallContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitNested(ctx *NestedContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitCreateList(ctx *CreateListContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitCreateStruct(ctx *CreateStructContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitCreateMessage(ctx *CreateMessageContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitConstantLiteral(ctx *ConstantLiteralContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitExprList(ctx *ExprListContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitListInit(ctx *ListInitContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitFieldInitializerList(ctx *FieldInitializerListContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitOptField(ctx *OptFieldContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitMapInitializerList(ctx *MapInitializerListContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitOptExpr(ctx *OptExprContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitInt(ctx *IntContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitUint(ctx *UintContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitDouble(ctx *DoubleContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitString(ctx *StringContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitBytes(ctx *BytesContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitBoolTrue(ctx *BoolTrueContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitBoolFalse(ctx *BoolFalseContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCELVisitor) VisitNull(ctx *NullContext) interface{} { + return v.VisitChildren(ctx) +} diff --git a/vendor/github.com/google/cel-go/parser/gen/cel_lexer.go b/vendor/github.com/google/cel-go/parser/gen/cel_lexer.go new file mode 100644 index 000000000..e026cc46f --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/gen/cel_lexer.go @@ -0,0 +1,344 @@ +// Code generated from /usr/local/google/home/tswadell/go/src/github.com/google/cel-go/parser/gen/CEL.g4 by ANTLR 4.13.1. DO NOT EDIT. + +package gen +import ( + "fmt" + "sync" + "unicode" + "github.com/antlr4-go/antlr/v4" +) +// Suppress unused import error +var _ = fmt.Printf +var _ = sync.Once{} +var _ = unicode.IsLetter + + +type CELLexer struct { + *antlr.BaseLexer + channelNames []string + modeNames []string + // TODO: EOF string +} + +var CELLexerLexerStaticData struct { + once sync.Once + serializedATN []int32 + ChannelNames []string + ModeNames []string + LiteralNames []string + SymbolicNames []string + RuleNames []string + PredictionContextCache *antlr.PredictionContextCache + atn *antlr.ATN + decisionToDFA []*antlr.DFA +} + +func cellexerLexerInit() { + staticData := &CELLexerLexerStaticData + staticData.ChannelNames = []string{ + "DEFAULT_TOKEN_CHANNEL", "HIDDEN", + } + staticData.ModeNames = []string{ + "DEFAULT_MODE", + } + staticData.LiteralNames = []string{ + "", "'=='", "'!='", "'in'", "'<'", "'<='", "'>='", "'>'", "'&&'", "'||'", + "'['", "']'", "'{'", "'}'", "'('", "')'", "'.'", "','", "'-'", "'!'", + "'?'", "':'", "'+'", "'*'", "'/'", "'%'", "'true'", "'false'", "'null'", + } + staticData.SymbolicNames = []string{ + "", "EQUALS", "NOT_EQUALS", "IN", "LESS", "LESS_EQUALS", "GREATER_EQUALS", + "GREATER", "LOGICAL_AND", "LOGICAL_OR", "LBRACKET", "RPRACKET", "LBRACE", + "RBRACE", "LPAREN", "RPAREN", "DOT", "COMMA", "MINUS", "EXCLAM", "QUESTIONMARK", + "COLON", "PLUS", "STAR", "SLASH", "PERCENT", "CEL_TRUE", "CEL_FALSE", + "NUL", "WHITESPACE", "COMMENT", "NUM_FLOAT", "NUM_INT", "NUM_UINT", + "STRING", "BYTES", "IDENTIFIER", + } + staticData.RuleNames = []string{ + "EQUALS", "NOT_EQUALS", "IN", "LESS", "LESS_EQUALS", "GREATER_EQUALS", + "GREATER", "LOGICAL_AND", "LOGICAL_OR", "LBRACKET", "RPRACKET", "LBRACE", + "RBRACE", "LPAREN", "RPAREN", "DOT", "COMMA", "MINUS", "EXCLAM", "QUESTIONMARK", + "COLON", "PLUS", "STAR", "SLASH", "PERCENT", "CEL_TRUE", "CEL_FALSE", + "NUL", "BACKSLASH", "LETTER", "DIGIT", "EXPONENT", "HEXDIGIT", "RAW", + "ESC_SEQ", "ESC_CHAR_SEQ", "ESC_OCT_SEQ", "ESC_BYTE_SEQ", "ESC_UNI_SEQ", + "WHITESPACE", "COMMENT", "NUM_FLOAT", "NUM_INT", "NUM_UINT", "STRING", + "BYTES", "IDENTIFIER", + } + staticData.PredictionContextCache = antlr.NewPredictionContextCache() + staticData.serializedATN = []int32{ + 4, 0, 36, 423, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, + 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, + 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, + 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, + 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, + 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, + 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, + 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, + 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, + 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, + 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, + 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, 1, 13, + 1, 14, 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 17, 1, 17, 1, 18, 1, 18, 1, + 19, 1, 19, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, 24, + 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, + 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 29, 1, 29, + 1, 30, 1, 30, 1, 31, 1, 31, 3, 31, 177, 8, 31, 1, 31, 4, 31, 180, 8, 31, + 11, 31, 12, 31, 181, 1, 32, 1, 32, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, + 34, 3, 34, 192, 8, 34, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, + 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, + 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, + 1, 38, 1, 38, 1, 38, 3, 38, 225, 8, 38, 1, 39, 4, 39, 228, 8, 39, 11, 39, + 12, 39, 229, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 5, 40, 238, 8, 40, + 10, 40, 12, 40, 241, 9, 40, 1, 40, 1, 40, 1, 41, 4, 41, 246, 8, 41, 11, + 41, 12, 41, 247, 1, 41, 1, 41, 4, 41, 252, 8, 41, 11, 41, 12, 41, 253, + 1, 41, 3, 41, 257, 8, 41, 1, 41, 4, 41, 260, 8, 41, 11, 41, 12, 41, 261, + 1, 41, 1, 41, 1, 41, 1, 41, 4, 41, 268, 8, 41, 11, 41, 12, 41, 269, 1, + 41, 3, 41, 273, 8, 41, 3, 41, 275, 8, 41, 1, 42, 4, 42, 278, 8, 42, 11, + 42, 12, 42, 279, 1, 42, 1, 42, 1, 42, 1, 42, 4, 42, 286, 8, 42, 11, 42, + 12, 42, 287, 3, 42, 290, 8, 42, 1, 43, 4, 43, 293, 8, 43, 11, 43, 12, 43, + 294, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 4, 43, 303, 8, 43, 11, 43, + 12, 43, 304, 1, 43, 1, 43, 3, 43, 309, 8, 43, 1, 44, 1, 44, 1, 44, 5, 44, + 314, 8, 44, 10, 44, 12, 44, 317, 9, 44, 1, 44, 1, 44, 1, 44, 1, 44, 5, + 44, 323, 8, 44, 10, 44, 12, 44, 326, 9, 44, 1, 44, 1, 44, 1, 44, 1, 44, + 1, 44, 1, 44, 1, 44, 5, 44, 335, 8, 44, 10, 44, 12, 44, 338, 9, 44, 1, + 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 5, 44, 349, + 8, 44, 10, 44, 12, 44, 352, 9, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, + 44, 5, 44, 360, 8, 44, 10, 44, 12, 44, 363, 9, 44, 1, 44, 1, 44, 1, 44, + 1, 44, 1, 44, 5, 44, 370, 8, 44, 10, 44, 12, 44, 373, 9, 44, 1, 44, 1, + 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 5, 44, 383, 8, 44, 10, 44, + 12, 44, 386, 9, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, + 44, 1, 44, 1, 44, 5, 44, 398, 8, 44, 10, 44, 12, 44, 401, 9, 44, 1, 44, + 1, 44, 1, 44, 1, 44, 3, 44, 407, 8, 44, 1, 45, 1, 45, 1, 45, 1, 46, 1, + 46, 3, 46, 414, 8, 46, 1, 46, 1, 46, 1, 46, 5, 46, 419, 8, 46, 10, 46, + 12, 46, 422, 9, 46, 4, 336, 350, 384, 399, 0, 47, 1, 1, 3, 2, 5, 3, 7, + 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, + 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, + 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 0, 59, 0, 61, 0, 63, 0, + 65, 0, 67, 0, 69, 0, 71, 0, 73, 0, 75, 0, 77, 0, 79, 29, 81, 30, 83, 31, + 85, 32, 87, 33, 89, 34, 91, 35, 93, 36, 1, 0, 16, 2, 0, 65, 90, 97, 122, + 2, 0, 69, 69, 101, 101, 2, 0, 43, 43, 45, 45, 3, 0, 48, 57, 65, 70, 97, + 102, 2, 0, 82, 82, 114, 114, 10, 0, 34, 34, 39, 39, 63, 63, 92, 92, 96, + 98, 102, 102, 110, 110, 114, 114, 116, 116, 118, 118, 2, 0, 88, 88, 120, + 120, 3, 0, 9, 10, 12, 13, 32, 32, 1, 0, 10, 10, 2, 0, 85, 85, 117, 117, + 4, 0, 10, 10, 13, 13, 34, 34, 92, 92, 4, 0, 10, 10, 13, 13, 39, 39, 92, + 92, 1, 0, 92, 92, 3, 0, 10, 10, 13, 13, 34, 34, 3, 0, 10, 10, 13, 13, 39, + 39, 2, 0, 66, 66, 98, 98, 456, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, + 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, + 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, + 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, + 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, + 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, + 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, + 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, 81, + 1, 0, 0, 0, 0, 83, 1, 0, 0, 0, 0, 85, 1, 0, 0, 0, 0, 87, 1, 0, 0, 0, 0, + 89, 1, 0, 0, 0, 0, 91, 1, 0, 0, 0, 0, 93, 1, 0, 0, 0, 1, 95, 1, 0, 0, 0, + 3, 98, 1, 0, 0, 0, 5, 101, 1, 0, 0, 0, 7, 104, 1, 0, 0, 0, 9, 106, 1, 0, + 0, 0, 11, 109, 1, 0, 0, 0, 13, 112, 1, 0, 0, 0, 15, 114, 1, 0, 0, 0, 17, + 117, 1, 0, 0, 0, 19, 120, 1, 0, 0, 0, 21, 122, 1, 0, 0, 0, 23, 124, 1, + 0, 0, 0, 25, 126, 1, 0, 0, 0, 27, 128, 1, 0, 0, 0, 29, 130, 1, 0, 0, 0, + 31, 132, 1, 0, 0, 0, 33, 134, 1, 0, 0, 0, 35, 136, 1, 0, 0, 0, 37, 138, + 1, 0, 0, 0, 39, 140, 1, 0, 0, 0, 41, 142, 1, 0, 0, 0, 43, 144, 1, 0, 0, + 0, 45, 146, 1, 0, 0, 0, 47, 148, 1, 0, 0, 0, 49, 150, 1, 0, 0, 0, 51, 152, + 1, 0, 0, 0, 53, 157, 1, 0, 0, 0, 55, 163, 1, 0, 0, 0, 57, 168, 1, 0, 0, + 0, 59, 170, 1, 0, 0, 0, 61, 172, 1, 0, 0, 0, 63, 174, 1, 0, 0, 0, 65, 183, + 1, 0, 0, 0, 67, 185, 1, 0, 0, 0, 69, 191, 1, 0, 0, 0, 71, 193, 1, 0, 0, + 0, 73, 196, 1, 0, 0, 0, 75, 201, 1, 0, 0, 0, 77, 224, 1, 0, 0, 0, 79, 227, + 1, 0, 0, 0, 81, 233, 1, 0, 0, 0, 83, 274, 1, 0, 0, 0, 85, 289, 1, 0, 0, + 0, 87, 308, 1, 0, 0, 0, 89, 406, 1, 0, 0, 0, 91, 408, 1, 0, 0, 0, 93, 413, + 1, 0, 0, 0, 95, 96, 5, 61, 0, 0, 96, 97, 5, 61, 0, 0, 97, 2, 1, 0, 0, 0, + 98, 99, 5, 33, 0, 0, 99, 100, 5, 61, 0, 0, 100, 4, 1, 0, 0, 0, 101, 102, + 5, 105, 0, 0, 102, 103, 5, 110, 0, 0, 103, 6, 1, 0, 0, 0, 104, 105, 5, + 60, 0, 0, 105, 8, 1, 0, 0, 0, 106, 107, 5, 60, 0, 0, 107, 108, 5, 61, 0, + 0, 108, 10, 1, 0, 0, 0, 109, 110, 5, 62, 0, 0, 110, 111, 5, 61, 0, 0, 111, + 12, 1, 0, 0, 0, 112, 113, 5, 62, 0, 0, 113, 14, 1, 0, 0, 0, 114, 115, 5, + 38, 0, 0, 115, 116, 5, 38, 0, 0, 116, 16, 1, 0, 0, 0, 117, 118, 5, 124, + 0, 0, 118, 119, 5, 124, 0, 0, 119, 18, 1, 0, 0, 0, 120, 121, 5, 91, 0, + 0, 121, 20, 1, 0, 0, 0, 122, 123, 5, 93, 0, 0, 123, 22, 1, 0, 0, 0, 124, + 125, 5, 123, 0, 0, 125, 24, 1, 0, 0, 0, 126, 127, 5, 125, 0, 0, 127, 26, + 1, 0, 0, 0, 128, 129, 5, 40, 0, 0, 129, 28, 1, 0, 0, 0, 130, 131, 5, 41, + 0, 0, 131, 30, 1, 0, 0, 0, 132, 133, 5, 46, 0, 0, 133, 32, 1, 0, 0, 0, + 134, 135, 5, 44, 0, 0, 135, 34, 1, 0, 0, 0, 136, 137, 5, 45, 0, 0, 137, + 36, 1, 0, 0, 0, 138, 139, 5, 33, 0, 0, 139, 38, 1, 0, 0, 0, 140, 141, 5, + 63, 0, 0, 141, 40, 1, 0, 0, 0, 142, 143, 5, 58, 0, 0, 143, 42, 1, 0, 0, + 0, 144, 145, 5, 43, 0, 0, 145, 44, 1, 0, 0, 0, 146, 147, 5, 42, 0, 0, 147, + 46, 1, 0, 0, 0, 148, 149, 5, 47, 0, 0, 149, 48, 1, 0, 0, 0, 150, 151, 5, + 37, 0, 0, 151, 50, 1, 0, 0, 0, 152, 153, 5, 116, 0, 0, 153, 154, 5, 114, + 0, 0, 154, 155, 5, 117, 0, 0, 155, 156, 5, 101, 0, 0, 156, 52, 1, 0, 0, + 0, 157, 158, 5, 102, 0, 0, 158, 159, 5, 97, 0, 0, 159, 160, 5, 108, 0, + 0, 160, 161, 5, 115, 0, 0, 161, 162, 5, 101, 0, 0, 162, 54, 1, 0, 0, 0, + 163, 164, 5, 110, 0, 0, 164, 165, 5, 117, 0, 0, 165, 166, 5, 108, 0, 0, + 166, 167, 5, 108, 0, 0, 167, 56, 1, 0, 0, 0, 168, 169, 5, 92, 0, 0, 169, + 58, 1, 0, 0, 0, 170, 171, 7, 0, 0, 0, 171, 60, 1, 0, 0, 0, 172, 173, 2, + 48, 57, 0, 173, 62, 1, 0, 0, 0, 174, 176, 7, 1, 0, 0, 175, 177, 7, 2, 0, + 0, 176, 175, 1, 0, 0, 0, 176, 177, 1, 0, 0, 0, 177, 179, 1, 0, 0, 0, 178, + 180, 3, 61, 30, 0, 179, 178, 1, 0, 0, 0, 180, 181, 1, 0, 0, 0, 181, 179, + 1, 0, 0, 0, 181, 182, 1, 0, 0, 0, 182, 64, 1, 0, 0, 0, 183, 184, 7, 3, + 0, 0, 184, 66, 1, 0, 0, 0, 185, 186, 7, 4, 0, 0, 186, 68, 1, 0, 0, 0, 187, + 192, 3, 71, 35, 0, 188, 192, 3, 75, 37, 0, 189, 192, 3, 77, 38, 0, 190, + 192, 3, 73, 36, 0, 191, 187, 1, 0, 0, 0, 191, 188, 1, 0, 0, 0, 191, 189, + 1, 0, 0, 0, 191, 190, 1, 0, 0, 0, 192, 70, 1, 0, 0, 0, 193, 194, 3, 57, + 28, 0, 194, 195, 7, 5, 0, 0, 195, 72, 1, 0, 0, 0, 196, 197, 3, 57, 28, + 0, 197, 198, 2, 48, 51, 0, 198, 199, 2, 48, 55, 0, 199, 200, 2, 48, 55, + 0, 200, 74, 1, 0, 0, 0, 201, 202, 3, 57, 28, 0, 202, 203, 7, 6, 0, 0, 203, + 204, 3, 65, 32, 0, 204, 205, 3, 65, 32, 0, 205, 76, 1, 0, 0, 0, 206, 207, + 3, 57, 28, 0, 207, 208, 5, 117, 0, 0, 208, 209, 3, 65, 32, 0, 209, 210, + 3, 65, 32, 0, 210, 211, 3, 65, 32, 0, 211, 212, 3, 65, 32, 0, 212, 225, + 1, 0, 0, 0, 213, 214, 3, 57, 28, 0, 214, 215, 5, 85, 0, 0, 215, 216, 3, + 65, 32, 0, 216, 217, 3, 65, 32, 0, 217, 218, 3, 65, 32, 0, 218, 219, 3, + 65, 32, 0, 219, 220, 3, 65, 32, 0, 220, 221, 3, 65, 32, 0, 221, 222, 3, + 65, 32, 0, 222, 223, 3, 65, 32, 0, 223, 225, 1, 0, 0, 0, 224, 206, 1, 0, + 0, 0, 224, 213, 1, 0, 0, 0, 225, 78, 1, 0, 0, 0, 226, 228, 7, 7, 0, 0, + 227, 226, 1, 0, 0, 0, 228, 229, 1, 0, 0, 0, 229, 227, 1, 0, 0, 0, 229, + 230, 1, 0, 0, 0, 230, 231, 1, 0, 0, 0, 231, 232, 6, 39, 0, 0, 232, 80, + 1, 0, 0, 0, 233, 234, 5, 47, 0, 0, 234, 235, 5, 47, 0, 0, 235, 239, 1, + 0, 0, 0, 236, 238, 8, 8, 0, 0, 237, 236, 1, 0, 0, 0, 238, 241, 1, 0, 0, + 0, 239, 237, 1, 0, 0, 0, 239, 240, 1, 0, 0, 0, 240, 242, 1, 0, 0, 0, 241, + 239, 1, 0, 0, 0, 242, 243, 6, 40, 0, 0, 243, 82, 1, 0, 0, 0, 244, 246, + 3, 61, 30, 0, 245, 244, 1, 0, 0, 0, 246, 247, 1, 0, 0, 0, 247, 245, 1, + 0, 0, 0, 247, 248, 1, 0, 0, 0, 248, 249, 1, 0, 0, 0, 249, 251, 5, 46, 0, + 0, 250, 252, 3, 61, 30, 0, 251, 250, 1, 0, 0, 0, 252, 253, 1, 0, 0, 0, + 253, 251, 1, 0, 0, 0, 253, 254, 1, 0, 0, 0, 254, 256, 1, 0, 0, 0, 255, + 257, 3, 63, 31, 0, 256, 255, 1, 0, 0, 0, 256, 257, 1, 0, 0, 0, 257, 275, + 1, 0, 0, 0, 258, 260, 3, 61, 30, 0, 259, 258, 1, 0, 0, 0, 260, 261, 1, + 0, 0, 0, 261, 259, 1, 0, 0, 0, 261, 262, 1, 0, 0, 0, 262, 263, 1, 0, 0, + 0, 263, 264, 3, 63, 31, 0, 264, 275, 1, 0, 0, 0, 265, 267, 5, 46, 0, 0, + 266, 268, 3, 61, 30, 0, 267, 266, 1, 0, 0, 0, 268, 269, 1, 0, 0, 0, 269, + 267, 1, 0, 0, 0, 269, 270, 1, 0, 0, 0, 270, 272, 1, 0, 0, 0, 271, 273, + 3, 63, 31, 0, 272, 271, 1, 0, 0, 0, 272, 273, 1, 0, 0, 0, 273, 275, 1, + 0, 0, 0, 274, 245, 1, 0, 0, 0, 274, 259, 1, 0, 0, 0, 274, 265, 1, 0, 0, + 0, 275, 84, 1, 0, 0, 0, 276, 278, 3, 61, 30, 0, 277, 276, 1, 0, 0, 0, 278, + 279, 1, 0, 0, 0, 279, 277, 1, 0, 0, 0, 279, 280, 1, 0, 0, 0, 280, 290, + 1, 0, 0, 0, 281, 282, 5, 48, 0, 0, 282, 283, 5, 120, 0, 0, 283, 285, 1, + 0, 0, 0, 284, 286, 3, 65, 32, 0, 285, 284, 1, 0, 0, 0, 286, 287, 1, 0, + 0, 0, 287, 285, 1, 0, 0, 0, 287, 288, 1, 0, 0, 0, 288, 290, 1, 0, 0, 0, + 289, 277, 1, 0, 0, 0, 289, 281, 1, 0, 0, 0, 290, 86, 1, 0, 0, 0, 291, 293, + 3, 61, 30, 0, 292, 291, 1, 0, 0, 0, 293, 294, 1, 0, 0, 0, 294, 292, 1, + 0, 0, 0, 294, 295, 1, 0, 0, 0, 295, 296, 1, 0, 0, 0, 296, 297, 7, 9, 0, + 0, 297, 309, 1, 0, 0, 0, 298, 299, 5, 48, 0, 0, 299, 300, 5, 120, 0, 0, + 300, 302, 1, 0, 0, 0, 301, 303, 3, 65, 32, 0, 302, 301, 1, 0, 0, 0, 303, + 304, 1, 0, 0, 0, 304, 302, 1, 0, 0, 0, 304, 305, 1, 0, 0, 0, 305, 306, + 1, 0, 0, 0, 306, 307, 7, 9, 0, 0, 307, 309, 1, 0, 0, 0, 308, 292, 1, 0, + 0, 0, 308, 298, 1, 0, 0, 0, 309, 88, 1, 0, 0, 0, 310, 315, 5, 34, 0, 0, + 311, 314, 3, 69, 34, 0, 312, 314, 8, 10, 0, 0, 313, 311, 1, 0, 0, 0, 313, + 312, 1, 0, 0, 0, 314, 317, 1, 0, 0, 0, 315, 313, 1, 0, 0, 0, 315, 316, + 1, 0, 0, 0, 316, 318, 1, 0, 0, 0, 317, 315, 1, 0, 0, 0, 318, 407, 5, 34, + 0, 0, 319, 324, 5, 39, 0, 0, 320, 323, 3, 69, 34, 0, 321, 323, 8, 11, 0, + 0, 322, 320, 1, 0, 0, 0, 322, 321, 1, 0, 0, 0, 323, 326, 1, 0, 0, 0, 324, + 322, 1, 0, 0, 0, 324, 325, 1, 0, 0, 0, 325, 327, 1, 0, 0, 0, 326, 324, + 1, 0, 0, 0, 327, 407, 5, 39, 0, 0, 328, 329, 5, 34, 0, 0, 329, 330, 5, + 34, 0, 0, 330, 331, 5, 34, 0, 0, 331, 336, 1, 0, 0, 0, 332, 335, 3, 69, + 34, 0, 333, 335, 8, 12, 0, 0, 334, 332, 1, 0, 0, 0, 334, 333, 1, 0, 0, + 0, 335, 338, 1, 0, 0, 0, 336, 337, 1, 0, 0, 0, 336, 334, 1, 0, 0, 0, 337, + 339, 1, 0, 0, 0, 338, 336, 1, 0, 0, 0, 339, 340, 5, 34, 0, 0, 340, 341, + 5, 34, 0, 0, 341, 407, 5, 34, 0, 0, 342, 343, 5, 39, 0, 0, 343, 344, 5, + 39, 0, 0, 344, 345, 5, 39, 0, 0, 345, 350, 1, 0, 0, 0, 346, 349, 3, 69, + 34, 0, 347, 349, 8, 12, 0, 0, 348, 346, 1, 0, 0, 0, 348, 347, 1, 0, 0, + 0, 349, 352, 1, 0, 0, 0, 350, 351, 1, 0, 0, 0, 350, 348, 1, 0, 0, 0, 351, + 353, 1, 0, 0, 0, 352, 350, 1, 0, 0, 0, 353, 354, 5, 39, 0, 0, 354, 355, + 5, 39, 0, 0, 355, 407, 5, 39, 0, 0, 356, 357, 3, 67, 33, 0, 357, 361, 5, + 34, 0, 0, 358, 360, 8, 13, 0, 0, 359, 358, 1, 0, 0, 0, 360, 363, 1, 0, + 0, 0, 361, 359, 1, 0, 0, 0, 361, 362, 1, 0, 0, 0, 362, 364, 1, 0, 0, 0, + 363, 361, 1, 0, 0, 0, 364, 365, 5, 34, 0, 0, 365, 407, 1, 0, 0, 0, 366, + 367, 3, 67, 33, 0, 367, 371, 5, 39, 0, 0, 368, 370, 8, 14, 0, 0, 369, 368, + 1, 0, 0, 0, 370, 373, 1, 0, 0, 0, 371, 369, 1, 0, 0, 0, 371, 372, 1, 0, + 0, 0, 372, 374, 1, 0, 0, 0, 373, 371, 1, 0, 0, 0, 374, 375, 5, 39, 0, 0, + 375, 407, 1, 0, 0, 0, 376, 377, 3, 67, 33, 0, 377, 378, 5, 34, 0, 0, 378, + 379, 5, 34, 0, 0, 379, 380, 5, 34, 0, 0, 380, 384, 1, 0, 0, 0, 381, 383, + 9, 0, 0, 0, 382, 381, 1, 0, 0, 0, 383, 386, 1, 0, 0, 0, 384, 385, 1, 0, + 0, 0, 384, 382, 1, 0, 0, 0, 385, 387, 1, 0, 0, 0, 386, 384, 1, 0, 0, 0, + 387, 388, 5, 34, 0, 0, 388, 389, 5, 34, 0, 0, 389, 390, 5, 34, 0, 0, 390, + 407, 1, 0, 0, 0, 391, 392, 3, 67, 33, 0, 392, 393, 5, 39, 0, 0, 393, 394, + 5, 39, 0, 0, 394, 395, 5, 39, 0, 0, 395, 399, 1, 0, 0, 0, 396, 398, 9, + 0, 0, 0, 397, 396, 1, 0, 0, 0, 398, 401, 1, 0, 0, 0, 399, 400, 1, 0, 0, + 0, 399, 397, 1, 0, 0, 0, 400, 402, 1, 0, 0, 0, 401, 399, 1, 0, 0, 0, 402, + 403, 5, 39, 0, 0, 403, 404, 5, 39, 0, 0, 404, 405, 5, 39, 0, 0, 405, 407, + 1, 0, 0, 0, 406, 310, 1, 0, 0, 0, 406, 319, 1, 0, 0, 0, 406, 328, 1, 0, + 0, 0, 406, 342, 1, 0, 0, 0, 406, 356, 1, 0, 0, 0, 406, 366, 1, 0, 0, 0, + 406, 376, 1, 0, 0, 0, 406, 391, 1, 0, 0, 0, 407, 90, 1, 0, 0, 0, 408, 409, + 7, 15, 0, 0, 409, 410, 3, 89, 44, 0, 410, 92, 1, 0, 0, 0, 411, 414, 3, + 59, 29, 0, 412, 414, 5, 95, 0, 0, 413, 411, 1, 0, 0, 0, 413, 412, 1, 0, + 0, 0, 414, 420, 1, 0, 0, 0, 415, 419, 3, 59, 29, 0, 416, 419, 3, 61, 30, + 0, 417, 419, 5, 95, 0, 0, 418, 415, 1, 0, 0, 0, 418, 416, 1, 0, 0, 0, 418, + 417, 1, 0, 0, 0, 419, 422, 1, 0, 0, 0, 420, 418, 1, 0, 0, 0, 420, 421, + 1, 0, 0, 0, 421, 94, 1, 0, 0, 0, 422, 420, 1, 0, 0, 0, 36, 0, 176, 181, + 191, 224, 229, 239, 247, 253, 256, 261, 269, 272, 274, 279, 287, 289, 294, + 304, 308, 313, 315, 322, 324, 334, 336, 348, 350, 361, 371, 384, 399, 406, + 413, 418, 420, 1, 0, 1, 0, +} + deserializer := antlr.NewATNDeserializer(nil) + staticData.atn = deserializer.Deserialize(staticData.serializedATN) + atn := staticData.atn + staticData.decisionToDFA = make([]*antlr.DFA, len(atn.DecisionToState)) + decisionToDFA := staticData.decisionToDFA + for index, state := range atn.DecisionToState { + decisionToDFA[index] = antlr.NewDFA(state, index) + } +} + +// CELLexerInit initializes any static state used to implement CELLexer. By default the +// static state used to implement the lexer is lazily initialized during the first call to +// NewCELLexer(). You can call this function if you wish to initialize the static state ahead +// of time. +func CELLexerInit() { + staticData := &CELLexerLexerStaticData + staticData.once.Do(cellexerLexerInit) +} + +// NewCELLexer produces a new lexer instance for the optional input antlr.CharStream. +func NewCELLexer(input antlr.CharStream) *CELLexer { + CELLexerInit() + l := new(CELLexer) + l.BaseLexer = antlr.NewBaseLexer(input) + staticData := &CELLexerLexerStaticData + l.Interpreter = antlr.NewLexerATNSimulator(l, staticData.atn, staticData.decisionToDFA, staticData.PredictionContextCache) + l.channelNames = staticData.ChannelNames + l.modeNames = staticData.ModeNames + l.RuleNames = staticData.RuleNames + l.LiteralNames = staticData.LiteralNames + l.SymbolicNames = staticData.SymbolicNames + l.GrammarFileName = "CEL.g4" + // TODO: l.EOF = antlr.TokenEOF + + return l +} + +// CELLexer tokens. +const ( + CELLexerEQUALS = 1 + CELLexerNOT_EQUALS = 2 + CELLexerIN = 3 + CELLexerLESS = 4 + CELLexerLESS_EQUALS = 5 + CELLexerGREATER_EQUALS = 6 + CELLexerGREATER = 7 + CELLexerLOGICAL_AND = 8 + CELLexerLOGICAL_OR = 9 + CELLexerLBRACKET = 10 + CELLexerRPRACKET = 11 + CELLexerLBRACE = 12 + CELLexerRBRACE = 13 + CELLexerLPAREN = 14 + CELLexerRPAREN = 15 + CELLexerDOT = 16 + CELLexerCOMMA = 17 + CELLexerMINUS = 18 + CELLexerEXCLAM = 19 + CELLexerQUESTIONMARK = 20 + CELLexerCOLON = 21 + CELLexerPLUS = 22 + CELLexerSTAR = 23 + CELLexerSLASH = 24 + CELLexerPERCENT = 25 + CELLexerCEL_TRUE = 26 + CELLexerCEL_FALSE = 27 + CELLexerNUL = 28 + CELLexerWHITESPACE = 29 + CELLexerCOMMENT = 30 + CELLexerNUM_FLOAT = 31 + CELLexerNUM_INT = 32 + CELLexerNUM_UINT = 33 + CELLexerSTRING = 34 + CELLexerBYTES = 35 + CELLexerIDENTIFIER = 36 +) + diff --git a/vendor/github.com/google/cel-go/parser/gen/cel_listener.go b/vendor/github.com/google/cel-go/parser/gen/cel_listener.go new file mode 100644 index 000000000..22dc99789 --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/gen/cel_listener.go @@ -0,0 +1,208 @@ +// Code generated from /usr/local/google/home/tswadell/go/src/github.com/google/cel-go/parser/gen/CEL.g4 by ANTLR 4.13.1. DO NOT EDIT. + +package gen // CEL +import "github.com/antlr4-go/antlr/v4" + + +// CELListener is a complete listener for a parse tree produced by CELParser. +type CELListener interface { + antlr.ParseTreeListener + + // EnterStart is called when entering the start production. + EnterStart(c *StartContext) + + // EnterExpr is called when entering the expr production. + EnterExpr(c *ExprContext) + + // EnterConditionalOr is called when entering the conditionalOr production. + EnterConditionalOr(c *ConditionalOrContext) + + // EnterConditionalAnd is called when entering the conditionalAnd production. + EnterConditionalAnd(c *ConditionalAndContext) + + // EnterRelation is called when entering the relation production. + EnterRelation(c *RelationContext) + + // EnterCalc is called when entering the calc production. + EnterCalc(c *CalcContext) + + // EnterMemberExpr is called when entering the MemberExpr production. + EnterMemberExpr(c *MemberExprContext) + + // EnterLogicalNot is called when entering the LogicalNot production. + EnterLogicalNot(c *LogicalNotContext) + + // EnterNegate is called when entering the Negate production. + EnterNegate(c *NegateContext) + + // EnterMemberCall is called when entering the MemberCall production. + EnterMemberCall(c *MemberCallContext) + + // EnterSelect is called when entering the Select production. + EnterSelect(c *SelectContext) + + // EnterPrimaryExpr is called when entering the PrimaryExpr production. + EnterPrimaryExpr(c *PrimaryExprContext) + + // EnterIndex is called when entering the Index production. + EnterIndex(c *IndexContext) + + // EnterIdentOrGlobalCall is called when entering the IdentOrGlobalCall production. + EnterIdentOrGlobalCall(c *IdentOrGlobalCallContext) + + // EnterNested is called when entering the Nested production. + EnterNested(c *NestedContext) + + // EnterCreateList is called when entering the CreateList production. + EnterCreateList(c *CreateListContext) + + // EnterCreateStruct is called when entering the CreateStruct production. + EnterCreateStruct(c *CreateStructContext) + + // EnterCreateMessage is called when entering the CreateMessage production. + EnterCreateMessage(c *CreateMessageContext) + + // EnterConstantLiteral is called when entering the ConstantLiteral production. + EnterConstantLiteral(c *ConstantLiteralContext) + + // EnterExprList is called when entering the exprList production. + EnterExprList(c *ExprListContext) + + // EnterListInit is called when entering the listInit production. + EnterListInit(c *ListInitContext) + + // EnterFieldInitializerList is called when entering the fieldInitializerList production. + EnterFieldInitializerList(c *FieldInitializerListContext) + + // EnterOptField is called when entering the optField production. + EnterOptField(c *OptFieldContext) + + // EnterMapInitializerList is called when entering the mapInitializerList production. + EnterMapInitializerList(c *MapInitializerListContext) + + // EnterOptExpr is called when entering the optExpr production. + EnterOptExpr(c *OptExprContext) + + // EnterInt is called when entering the Int production. + EnterInt(c *IntContext) + + // EnterUint is called when entering the Uint production. + EnterUint(c *UintContext) + + // EnterDouble is called when entering the Double production. + EnterDouble(c *DoubleContext) + + // EnterString is called when entering the String production. + EnterString(c *StringContext) + + // EnterBytes is called when entering the Bytes production. + EnterBytes(c *BytesContext) + + // EnterBoolTrue is called when entering the BoolTrue production. + EnterBoolTrue(c *BoolTrueContext) + + // EnterBoolFalse is called when entering the BoolFalse production. + EnterBoolFalse(c *BoolFalseContext) + + // EnterNull is called when entering the Null production. + EnterNull(c *NullContext) + + // ExitStart is called when exiting the start production. + ExitStart(c *StartContext) + + // ExitExpr is called when exiting the expr production. + ExitExpr(c *ExprContext) + + // ExitConditionalOr is called when exiting the conditionalOr production. + ExitConditionalOr(c *ConditionalOrContext) + + // ExitConditionalAnd is called when exiting the conditionalAnd production. + ExitConditionalAnd(c *ConditionalAndContext) + + // ExitRelation is called when exiting the relation production. + ExitRelation(c *RelationContext) + + // ExitCalc is called when exiting the calc production. + ExitCalc(c *CalcContext) + + // ExitMemberExpr is called when exiting the MemberExpr production. + ExitMemberExpr(c *MemberExprContext) + + // ExitLogicalNot is called when exiting the LogicalNot production. + ExitLogicalNot(c *LogicalNotContext) + + // ExitNegate is called when exiting the Negate production. + ExitNegate(c *NegateContext) + + // ExitMemberCall is called when exiting the MemberCall production. + ExitMemberCall(c *MemberCallContext) + + // ExitSelect is called when exiting the Select production. + ExitSelect(c *SelectContext) + + // ExitPrimaryExpr is called when exiting the PrimaryExpr production. + ExitPrimaryExpr(c *PrimaryExprContext) + + // ExitIndex is called when exiting the Index production. + ExitIndex(c *IndexContext) + + // ExitIdentOrGlobalCall is called when exiting the IdentOrGlobalCall production. + ExitIdentOrGlobalCall(c *IdentOrGlobalCallContext) + + // ExitNested is called when exiting the Nested production. + ExitNested(c *NestedContext) + + // ExitCreateList is called when exiting the CreateList production. + ExitCreateList(c *CreateListContext) + + // ExitCreateStruct is called when exiting the CreateStruct production. + ExitCreateStruct(c *CreateStructContext) + + // ExitCreateMessage is called when exiting the CreateMessage production. + ExitCreateMessage(c *CreateMessageContext) + + // ExitConstantLiteral is called when exiting the ConstantLiteral production. + ExitConstantLiteral(c *ConstantLiteralContext) + + // ExitExprList is called when exiting the exprList production. + ExitExprList(c *ExprListContext) + + // ExitListInit is called when exiting the listInit production. + ExitListInit(c *ListInitContext) + + // ExitFieldInitializerList is called when exiting the fieldInitializerList production. + ExitFieldInitializerList(c *FieldInitializerListContext) + + // ExitOptField is called when exiting the optField production. + ExitOptField(c *OptFieldContext) + + // ExitMapInitializerList is called when exiting the mapInitializerList production. + ExitMapInitializerList(c *MapInitializerListContext) + + // ExitOptExpr is called when exiting the optExpr production. + ExitOptExpr(c *OptExprContext) + + // ExitInt is called when exiting the Int production. + ExitInt(c *IntContext) + + // ExitUint is called when exiting the Uint production. + ExitUint(c *UintContext) + + // ExitDouble is called when exiting the Double production. + ExitDouble(c *DoubleContext) + + // ExitString is called when exiting the String production. + ExitString(c *StringContext) + + // ExitBytes is called when exiting the Bytes production. + ExitBytes(c *BytesContext) + + // ExitBoolTrue is called when exiting the BoolTrue production. + ExitBoolTrue(c *BoolTrueContext) + + // ExitBoolFalse is called when exiting the BoolFalse production. + ExitBoolFalse(c *BoolFalseContext) + + // ExitNull is called when exiting the Null production. + ExitNull(c *NullContext) +} diff --git a/vendor/github.com/google/cel-go/parser/gen/cel_parser.go b/vendor/github.com/google/cel-go/parser/gen/cel_parser.go new file mode 100644 index 000000000..35334af61 --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/gen/cel_parser.go @@ -0,0 +1,6274 @@ +// Code generated from /usr/local/google/home/tswadell/go/src/github.com/google/cel-go/parser/gen/CEL.g4 by ANTLR 4.13.1. DO NOT EDIT. + +package gen // CEL +import ( + "fmt" + "strconv" + "sync" + + "github.com/antlr4-go/antlr/v4" +) + +// Suppress unused import errors +var _ = fmt.Printf +var _ = strconv.Itoa +var _ = sync.Once{} + + +type CELParser struct { + *antlr.BaseParser +} + +var CELParserStaticData struct { + once sync.Once + serializedATN []int32 + LiteralNames []string + SymbolicNames []string + RuleNames []string + PredictionContextCache *antlr.PredictionContextCache + atn *antlr.ATN + decisionToDFA []*antlr.DFA +} + +func celParserInit() { + staticData := &CELParserStaticData + staticData.LiteralNames = []string{ + "", "'=='", "'!='", "'in'", "'<'", "'<='", "'>='", "'>'", "'&&'", "'||'", + "'['", "']'", "'{'", "'}'", "'('", "')'", "'.'", "','", "'-'", "'!'", + "'?'", "':'", "'+'", "'*'", "'/'", "'%'", "'true'", "'false'", "'null'", + } + staticData.SymbolicNames = []string{ + "", "EQUALS", "NOT_EQUALS", "IN", "LESS", "LESS_EQUALS", "GREATER_EQUALS", + "GREATER", "LOGICAL_AND", "LOGICAL_OR", "LBRACKET", "RPRACKET", "LBRACE", + "RBRACE", "LPAREN", "RPAREN", "DOT", "COMMA", "MINUS", "EXCLAM", "QUESTIONMARK", + "COLON", "PLUS", "STAR", "SLASH", "PERCENT", "CEL_TRUE", "CEL_FALSE", + "NUL", "WHITESPACE", "COMMENT", "NUM_FLOAT", "NUM_INT", "NUM_UINT", + "STRING", "BYTES", "IDENTIFIER", + } + staticData.RuleNames = []string{ + "start", "expr", "conditionalOr", "conditionalAnd", "relation", "calc", + "unary", "member", "primary", "exprList", "listInit", "fieldInitializerList", + "optField", "mapInitializerList", "optExpr", "literal", + } + staticData.PredictionContextCache = antlr.NewPredictionContextCache() + staticData.serializedATN = []int32{ + 4, 1, 36, 251, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, + 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, + 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, + 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 42, 8, 1, 1, + 2, 1, 2, 1, 2, 5, 2, 47, 8, 2, 10, 2, 12, 2, 50, 9, 2, 1, 3, 1, 3, 1, 3, + 5, 3, 55, 8, 3, 10, 3, 12, 3, 58, 9, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, + 4, 5, 4, 66, 8, 4, 10, 4, 12, 4, 69, 9, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, + 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 80, 8, 5, 10, 5, 12, 5, 83, 9, 5, 1, 6, 1, + 6, 4, 6, 87, 8, 6, 11, 6, 12, 6, 88, 1, 6, 1, 6, 4, 6, 93, 8, 6, 11, 6, + 12, 6, 94, 1, 6, 3, 6, 98, 8, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, + 7, 106, 8, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 114, 8, 7, 1, 7, + 1, 7, 1, 7, 1, 7, 3, 7, 120, 8, 7, 1, 7, 1, 7, 1, 7, 5, 7, 125, 8, 7, 10, + 7, 12, 7, 128, 9, 7, 1, 8, 3, 8, 131, 8, 8, 1, 8, 1, 8, 1, 8, 3, 8, 136, + 8, 8, 1, 8, 3, 8, 139, 8, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, + 147, 8, 8, 1, 8, 3, 8, 150, 8, 8, 1, 8, 1, 8, 1, 8, 3, 8, 155, 8, 8, 1, + 8, 3, 8, 158, 8, 8, 1, 8, 1, 8, 3, 8, 162, 8, 8, 1, 8, 1, 8, 1, 8, 5, 8, + 167, 8, 8, 10, 8, 12, 8, 170, 9, 8, 1, 8, 1, 8, 3, 8, 174, 8, 8, 1, 8, + 3, 8, 177, 8, 8, 1, 8, 1, 8, 3, 8, 181, 8, 8, 1, 9, 1, 9, 1, 9, 5, 9, 186, + 8, 9, 10, 9, 12, 9, 189, 9, 9, 1, 10, 1, 10, 1, 10, 5, 10, 194, 8, 10, + 10, 10, 12, 10, 197, 9, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, + 11, 1, 11, 5, 11, 207, 8, 11, 10, 11, 12, 11, 210, 9, 11, 1, 12, 3, 12, + 213, 8, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, + 13, 1, 13, 5, 13, 225, 8, 13, 10, 13, 12, 13, 228, 9, 13, 1, 14, 3, 14, + 231, 8, 14, 1, 14, 1, 14, 1, 15, 3, 15, 236, 8, 15, 1, 15, 1, 15, 1, 15, + 3, 15, 241, 8, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 3, 15, 249, + 8, 15, 1, 15, 0, 3, 8, 10, 14, 16, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, + 22, 24, 26, 28, 30, 0, 3, 1, 0, 1, 7, 1, 0, 23, 25, 2, 0, 18, 18, 22, 22, + 281, 0, 32, 1, 0, 0, 0, 2, 35, 1, 0, 0, 0, 4, 43, 1, 0, 0, 0, 6, 51, 1, + 0, 0, 0, 8, 59, 1, 0, 0, 0, 10, 70, 1, 0, 0, 0, 12, 97, 1, 0, 0, 0, 14, + 99, 1, 0, 0, 0, 16, 180, 1, 0, 0, 0, 18, 182, 1, 0, 0, 0, 20, 190, 1, 0, + 0, 0, 22, 198, 1, 0, 0, 0, 24, 212, 1, 0, 0, 0, 26, 216, 1, 0, 0, 0, 28, + 230, 1, 0, 0, 0, 30, 248, 1, 0, 0, 0, 32, 33, 3, 2, 1, 0, 33, 34, 5, 0, + 0, 1, 34, 1, 1, 0, 0, 0, 35, 41, 3, 4, 2, 0, 36, 37, 5, 20, 0, 0, 37, 38, + 3, 4, 2, 0, 38, 39, 5, 21, 0, 0, 39, 40, 3, 2, 1, 0, 40, 42, 1, 0, 0, 0, + 41, 36, 1, 0, 0, 0, 41, 42, 1, 0, 0, 0, 42, 3, 1, 0, 0, 0, 43, 48, 3, 6, + 3, 0, 44, 45, 5, 9, 0, 0, 45, 47, 3, 6, 3, 0, 46, 44, 1, 0, 0, 0, 47, 50, + 1, 0, 0, 0, 48, 46, 1, 0, 0, 0, 48, 49, 1, 0, 0, 0, 49, 5, 1, 0, 0, 0, + 50, 48, 1, 0, 0, 0, 51, 56, 3, 8, 4, 0, 52, 53, 5, 8, 0, 0, 53, 55, 3, + 8, 4, 0, 54, 52, 1, 0, 0, 0, 55, 58, 1, 0, 0, 0, 56, 54, 1, 0, 0, 0, 56, + 57, 1, 0, 0, 0, 57, 7, 1, 0, 0, 0, 58, 56, 1, 0, 0, 0, 59, 60, 6, 4, -1, + 0, 60, 61, 3, 10, 5, 0, 61, 67, 1, 0, 0, 0, 62, 63, 10, 1, 0, 0, 63, 64, + 7, 0, 0, 0, 64, 66, 3, 8, 4, 2, 65, 62, 1, 0, 0, 0, 66, 69, 1, 0, 0, 0, + 67, 65, 1, 0, 0, 0, 67, 68, 1, 0, 0, 0, 68, 9, 1, 0, 0, 0, 69, 67, 1, 0, + 0, 0, 70, 71, 6, 5, -1, 0, 71, 72, 3, 12, 6, 0, 72, 81, 1, 0, 0, 0, 73, + 74, 10, 2, 0, 0, 74, 75, 7, 1, 0, 0, 75, 80, 3, 10, 5, 3, 76, 77, 10, 1, + 0, 0, 77, 78, 7, 2, 0, 0, 78, 80, 3, 10, 5, 2, 79, 73, 1, 0, 0, 0, 79, + 76, 1, 0, 0, 0, 80, 83, 1, 0, 0, 0, 81, 79, 1, 0, 0, 0, 81, 82, 1, 0, 0, + 0, 82, 11, 1, 0, 0, 0, 83, 81, 1, 0, 0, 0, 84, 98, 3, 14, 7, 0, 85, 87, + 5, 19, 0, 0, 86, 85, 1, 0, 0, 0, 87, 88, 1, 0, 0, 0, 88, 86, 1, 0, 0, 0, + 88, 89, 1, 0, 0, 0, 89, 90, 1, 0, 0, 0, 90, 98, 3, 14, 7, 0, 91, 93, 5, + 18, 0, 0, 92, 91, 1, 0, 0, 0, 93, 94, 1, 0, 0, 0, 94, 92, 1, 0, 0, 0, 94, + 95, 1, 0, 0, 0, 95, 96, 1, 0, 0, 0, 96, 98, 3, 14, 7, 0, 97, 84, 1, 0, + 0, 0, 97, 86, 1, 0, 0, 0, 97, 92, 1, 0, 0, 0, 98, 13, 1, 0, 0, 0, 99, 100, + 6, 7, -1, 0, 100, 101, 3, 16, 8, 0, 101, 126, 1, 0, 0, 0, 102, 103, 10, + 3, 0, 0, 103, 105, 5, 16, 0, 0, 104, 106, 5, 20, 0, 0, 105, 104, 1, 0, + 0, 0, 105, 106, 1, 0, 0, 0, 106, 107, 1, 0, 0, 0, 107, 125, 5, 36, 0, 0, + 108, 109, 10, 2, 0, 0, 109, 110, 5, 16, 0, 0, 110, 111, 5, 36, 0, 0, 111, + 113, 5, 14, 0, 0, 112, 114, 3, 18, 9, 0, 113, 112, 1, 0, 0, 0, 113, 114, + 1, 0, 0, 0, 114, 115, 1, 0, 0, 0, 115, 125, 5, 15, 0, 0, 116, 117, 10, + 1, 0, 0, 117, 119, 5, 10, 0, 0, 118, 120, 5, 20, 0, 0, 119, 118, 1, 0, + 0, 0, 119, 120, 1, 0, 0, 0, 120, 121, 1, 0, 0, 0, 121, 122, 3, 2, 1, 0, + 122, 123, 5, 11, 0, 0, 123, 125, 1, 0, 0, 0, 124, 102, 1, 0, 0, 0, 124, + 108, 1, 0, 0, 0, 124, 116, 1, 0, 0, 0, 125, 128, 1, 0, 0, 0, 126, 124, + 1, 0, 0, 0, 126, 127, 1, 0, 0, 0, 127, 15, 1, 0, 0, 0, 128, 126, 1, 0, + 0, 0, 129, 131, 5, 16, 0, 0, 130, 129, 1, 0, 0, 0, 130, 131, 1, 0, 0, 0, + 131, 132, 1, 0, 0, 0, 132, 138, 5, 36, 0, 0, 133, 135, 5, 14, 0, 0, 134, + 136, 3, 18, 9, 0, 135, 134, 1, 0, 0, 0, 135, 136, 1, 0, 0, 0, 136, 137, + 1, 0, 0, 0, 137, 139, 5, 15, 0, 0, 138, 133, 1, 0, 0, 0, 138, 139, 1, 0, + 0, 0, 139, 181, 1, 0, 0, 0, 140, 141, 5, 14, 0, 0, 141, 142, 3, 2, 1, 0, + 142, 143, 5, 15, 0, 0, 143, 181, 1, 0, 0, 0, 144, 146, 5, 10, 0, 0, 145, + 147, 3, 20, 10, 0, 146, 145, 1, 0, 0, 0, 146, 147, 1, 0, 0, 0, 147, 149, + 1, 0, 0, 0, 148, 150, 5, 17, 0, 0, 149, 148, 1, 0, 0, 0, 149, 150, 1, 0, + 0, 0, 150, 151, 1, 0, 0, 0, 151, 181, 5, 11, 0, 0, 152, 154, 5, 12, 0, + 0, 153, 155, 3, 26, 13, 0, 154, 153, 1, 0, 0, 0, 154, 155, 1, 0, 0, 0, + 155, 157, 1, 0, 0, 0, 156, 158, 5, 17, 0, 0, 157, 156, 1, 0, 0, 0, 157, + 158, 1, 0, 0, 0, 158, 159, 1, 0, 0, 0, 159, 181, 5, 13, 0, 0, 160, 162, + 5, 16, 0, 0, 161, 160, 1, 0, 0, 0, 161, 162, 1, 0, 0, 0, 162, 163, 1, 0, + 0, 0, 163, 168, 5, 36, 0, 0, 164, 165, 5, 16, 0, 0, 165, 167, 5, 36, 0, + 0, 166, 164, 1, 0, 0, 0, 167, 170, 1, 0, 0, 0, 168, 166, 1, 0, 0, 0, 168, + 169, 1, 0, 0, 0, 169, 171, 1, 0, 0, 0, 170, 168, 1, 0, 0, 0, 171, 173, + 5, 12, 0, 0, 172, 174, 3, 22, 11, 0, 173, 172, 1, 0, 0, 0, 173, 174, 1, + 0, 0, 0, 174, 176, 1, 0, 0, 0, 175, 177, 5, 17, 0, 0, 176, 175, 1, 0, 0, + 0, 176, 177, 1, 0, 0, 0, 177, 178, 1, 0, 0, 0, 178, 181, 5, 13, 0, 0, 179, + 181, 3, 30, 15, 0, 180, 130, 1, 0, 0, 0, 180, 140, 1, 0, 0, 0, 180, 144, + 1, 0, 0, 0, 180, 152, 1, 0, 0, 0, 180, 161, 1, 0, 0, 0, 180, 179, 1, 0, + 0, 0, 181, 17, 1, 0, 0, 0, 182, 187, 3, 2, 1, 0, 183, 184, 5, 17, 0, 0, + 184, 186, 3, 2, 1, 0, 185, 183, 1, 0, 0, 0, 186, 189, 1, 0, 0, 0, 187, + 185, 1, 0, 0, 0, 187, 188, 1, 0, 0, 0, 188, 19, 1, 0, 0, 0, 189, 187, 1, + 0, 0, 0, 190, 195, 3, 28, 14, 0, 191, 192, 5, 17, 0, 0, 192, 194, 3, 28, + 14, 0, 193, 191, 1, 0, 0, 0, 194, 197, 1, 0, 0, 0, 195, 193, 1, 0, 0, 0, + 195, 196, 1, 0, 0, 0, 196, 21, 1, 0, 0, 0, 197, 195, 1, 0, 0, 0, 198, 199, + 3, 24, 12, 0, 199, 200, 5, 21, 0, 0, 200, 208, 3, 2, 1, 0, 201, 202, 5, + 17, 0, 0, 202, 203, 3, 24, 12, 0, 203, 204, 5, 21, 0, 0, 204, 205, 3, 2, + 1, 0, 205, 207, 1, 0, 0, 0, 206, 201, 1, 0, 0, 0, 207, 210, 1, 0, 0, 0, + 208, 206, 1, 0, 0, 0, 208, 209, 1, 0, 0, 0, 209, 23, 1, 0, 0, 0, 210, 208, + 1, 0, 0, 0, 211, 213, 5, 20, 0, 0, 212, 211, 1, 0, 0, 0, 212, 213, 1, 0, + 0, 0, 213, 214, 1, 0, 0, 0, 214, 215, 5, 36, 0, 0, 215, 25, 1, 0, 0, 0, + 216, 217, 3, 28, 14, 0, 217, 218, 5, 21, 0, 0, 218, 226, 3, 2, 1, 0, 219, + 220, 5, 17, 0, 0, 220, 221, 3, 28, 14, 0, 221, 222, 5, 21, 0, 0, 222, 223, + 3, 2, 1, 0, 223, 225, 1, 0, 0, 0, 224, 219, 1, 0, 0, 0, 225, 228, 1, 0, + 0, 0, 226, 224, 1, 0, 0, 0, 226, 227, 1, 0, 0, 0, 227, 27, 1, 0, 0, 0, + 228, 226, 1, 0, 0, 0, 229, 231, 5, 20, 0, 0, 230, 229, 1, 0, 0, 0, 230, + 231, 1, 0, 0, 0, 231, 232, 1, 0, 0, 0, 232, 233, 3, 2, 1, 0, 233, 29, 1, + 0, 0, 0, 234, 236, 5, 18, 0, 0, 235, 234, 1, 0, 0, 0, 235, 236, 1, 0, 0, + 0, 236, 237, 1, 0, 0, 0, 237, 249, 5, 32, 0, 0, 238, 249, 5, 33, 0, 0, + 239, 241, 5, 18, 0, 0, 240, 239, 1, 0, 0, 0, 240, 241, 1, 0, 0, 0, 241, + 242, 1, 0, 0, 0, 242, 249, 5, 31, 0, 0, 243, 249, 5, 34, 0, 0, 244, 249, + 5, 35, 0, 0, 245, 249, 5, 26, 0, 0, 246, 249, 5, 27, 0, 0, 247, 249, 5, + 28, 0, 0, 248, 235, 1, 0, 0, 0, 248, 238, 1, 0, 0, 0, 248, 240, 1, 0, 0, + 0, 248, 243, 1, 0, 0, 0, 248, 244, 1, 0, 0, 0, 248, 245, 1, 0, 0, 0, 248, + 246, 1, 0, 0, 0, 248, 247, 1, 0, 0, 0, 249, 31, 1, 0, 0, 0, 35, 41, 48, + 56, 67, 79, 81, 88, 94, 97, 105, 113, 119, 124, 126, 130, 135, 138, 146, + 149, 154, 157, 161, 168, 173, 176, 180, 187, 195, 208, 212, 226, 230, 235, + 240, 248, +} + deserializer := antlr.NewATNDeserializer(nil) + staticData.atn = deserializer.Deserialize(staticData.serializedATN) + atn := staticData.atn + staticData.decisionToDFA = make([]*antlr.DFA, len(atn.DecisionToState)) + decisionToDFA := staticData.decisionToDFA + for index, state := range atn.DecisionToState { + decisionToDFA[index] = antlr.NewDFA(state, index) + } +} + +// CELParserInit initializes any static state used to implement CELParser. By default the +// static state used to implement the parser is lazily initialized during the first call to +// NewCELParser(). You can call this function if you wish to initialize the static state ahead +// of time. +func CELParserInit() { + staticData := &CELParserStaticData + staticData.once.Do(celParserInit) +} + +// NewCELParser produces a new parser instance for the optional input antlr.TokenStream. +func NewCELParser(input antlr.TokenStream) *CELParser { + CELParserInit() + this := new(CELParser) + this.BaseParser = antlr.NewBaseParser(input) + staticData := &CELParserStaticData + this.Interpreter = antlr.NewParserATNSimulator(this, staticData.atn, staticData.decisionToDFA, staticData.PredictionContextCache) + this.RuleNames = staticData.RuleNames + this.LiteralNames = staticData.LiteralNames + this.SymbolicNames = staticData.SymbolicNames + this.GrammarFileName = "CEL.g4" + + return this +} + + +// CELParser tokens. +const ( + CELParserEOF = antlr.TokenEOF + CELParserEQUALS = 1 + CELParserNOT_EQUALS = 2 + CELParserIN = 3 + CELParserLESS = 4 + CELParserLESS_EQUALS = 5 + CELParserGREATER_EQUALS = 6 + CELParserGREATER = 7 + CELParserLOGICAL_AND = 8 + CELParserLOGICAL_OR = 9 + CELParserLBRACKET = 10 + CELParserRPRACKET = 11 + CELParserLBRACE = 12 + CELParserRBRACE = 13 + CELParserLPAREN = 14 + CELParserRPAREN = 15 + CELParserDOT = 16 + CELParserCOMMA = 17 + CELParserMINUS = 18 + CELParserEXCLAM = 19 + CELParserQUESTIONMARK = 20 + CELParserCOLON = 21 + CELParserPLUS = 22 + CELParserSTAR = 23 + CELParserSLASH = 24 + CELParserPERCENT = 25 + CELParserCEL_TRUE = 26 + CELParserCEL_FALSE = 27 + CELParserNUL = 28 + CELParserWHITESPACE = 29 + CELParserCOMMENT = 30 + CELParserNUM_FLOAT = 31 + CELParserNUM_INT = 32 + CELParserNUM_UINT = 33 + CELParserSTRING = 34 + CELParserBYTES = 35 + CELParserIDENTIFIER = 36 +) + +// CELParser rules. +const ( + CELParserRULE_start = 0 + CELParserRULE_expr = 1 + CELParserRULE_conditionalOr = 2 + CELParserRULE_conditionalAnd = 3 + CELParserRULE_relation = 4 + CELParserRULE_calc = 5 + CELParserRULE_unary = 6 + CELParserRULE_member = 7 + CELParserRULE_primary = 8 + CELParserRULE_exprList = 9 + CELParserRULE_listInit = 10 + CELParserRULE_fieldInitializerList = 11 + CELParserRULE_optField = 12 + CELParserRULE_mapInitializerList = 13 + CELParserRULE_optExpr = 14 + CELParserRULE_literal = 15 +) + +// IStartContext is an interface to support dynamic dispatch. +type IStartContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // GetE returns the e rule contexts. + GetE() IExprContext + + + // SetE sets the e rule contexts. + SetE(IExprContext) + + + // Getter signatures + EOF() antlr.TerminalNode + Expr() IExprContext + + // IsStartContext differentiates from other interfaces. + IsStartContext() +} + +type StartContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser + e IExprContext +} + +func NewEmptyStartContext() *StartContext { + var p = new(StartContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_start + return p +} + +func InitEmptyStartContext(p *StartContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_start +} + +func (*StartContext) IsStartContext() {} + +func NewStartContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *StartContext { + var p = new(StartContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = CELParserRULE_start + + return p +} + +func (s *StartContext) GetParser() antlr.Parser { return s.parser } + +func (s *StartContext) GetE() IExprContext { return s.e } + + +func (s *StartContext) SetE(v IExprContext) { s.e = v } + + +func (s *StartContext) EOF() antlr.TerminalNode { + return s.GetToken(CELParserEOF, 0) +} + +func (s *StartContext) Expr() IExprContext { + var t antlr.RuleContext; + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IExprContext); ok { + t = ctx.(antlr.RuleContext); + break + } + } + + if t == nil { + return nil + } + + return t.(IExprContext) +} + +func (s *StartContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *StartContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *StartContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterStart(s) + } +} + +func (s *StartContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitStart(s) + } +} + +func (s *StartContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitStart(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *CELParser) Start_() (localctx IStartContext) { + localctx = NewStartContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 0, CELParserRULE_start) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(32) + + var _x = p.Expr() + + + localctx.(*StartContext).e = _x + } + { + p.SetState(33) + p.Match(CELParserEOF) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + + +// IExprContext is an interface to support dynamic dispatch. +type IExprContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // GetOp returns the op token. + GetOp() antlr.Token + + + // SetOp sets the op token. + SetOp(antlr.Token) + + + // GetE returns the e rule contexts. + GetE() IConditionalOrContext + + // GetE1 returns the e1 rule contexts. + GetE1() IConditionalOrContext + + // GetE2 returns the e2 rule contexts. + GetE2() IExprContext + + + // SetE sets the e rule contexts. + SetE(IConditionalOrContext) + + // SetE1 sets the e1 rule contexts. + SetE1(IConditionalOrContext) + + // SetE2 sets the e2 rule contexts. + SetE2(IExprContext) + + + // Getter signatures + AllConditionalOr() []IConditionalOrContext + ConditionalOr(i int) IConditionalOrContext + COLON() antlr.TerminalNode + QUESTIONMARK() antlr.TerminalNode + Expr() IExprContext + + // IsExprContext differentiates from other interfaces. + IsExprContext() +} + +type ExprContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser + e IConditionalOrContext + op antlr.Token + e1 IConditionalOrContext + e2 IExprContext +} + +func NewEmptyExprContext() *ExprContext { + var p = new(ExprContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_expr + return p +} + +func InitEmptyExprContext(p *ExprContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_expr +} + +func (*ExprContext) IsExprContext() {} + +func NewExprContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ExprContext { + var p = new(ExprContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = CELParserRULE_expr + + return p +} + +func (s *ExprContext) GetParser() antlr.Parser { return s.parser } + +func (s *ExprContext) GetOp() antlr.Token { return s.op } + + +func (s *ExprContext) SetOp(v antlr.Token) { s.op = v } + + +func (s *ExprContext) GetE() IConditionalOrContext { return s.e } + +func (s *ExprContext) GetE1() IConditionalOrContext { return s.e1 } + +func (s *ExprContext) GetE2() IExprContext { return s.e2 } + + +func (s *ExprContext) SetE(v IConditionalOrContext) { s.e = v } + +func (s *ExprContext) SetE1(v IConditionalOrContext) { s.e1 = v } + +func (s *ExprContext) SetE2(v IExprContext) { s.e2 = v } + + +func (s *ExprContext) AllConditionalOr() []IConditionalOrContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IConditionalOrContext); ok { + len++ + } + } + + tst := make([]IConditionalOrContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IConditionalOrContext); ok { + tst[i] = t.(IConditionalOrContext) + i++ + } + } + + return tst +} + +func (s *ExprContext) ConditionalOr(i int) IConditionalOrContext { + var t antlr.RuleContext; + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IConditionalOrContext); ok { + if j == i { + t = ctx.(antlr.RuleContext); + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IConditionalOrContext) +} + +func (s *ExprContext) COLON() antlr.TerminalNode { + return s.GetToken(CELParserCOLON, 0) +} + +func (s *ExprContext) QUESTIONMARK() antlr.TerminalNode { + return s.GetToken(CELParserQUESTIONMARK, 0) +} + +func (s *ExprContext) Expr() IExprContext { + var t antlr.RuleContext; + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IExprContext); ok { + t = ctx.(antlr.RuleContext); + break + } + } + + if t == nil { + return nil + } + + return t.(IExprContext) +} + +func (s *ExprContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ExprContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *ExprContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterExpr(s) + } +} + +func (s *ExprContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitExpr(s) + } +} + +func (s *ExprContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitExpr(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *CELParser) Expr() (localctx IExprContext) { + localctx = NewExprContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 2, CELParserRULE_expr) + var _la int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(35) + + var _x = p.ConditionalOr() + + + localctx.(*ExprContext).e = _x + } + p.SetState(41) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + if _la == CELParserQUESTIONMARK { + { + p.SetState(36) + + var _m = p.Match(CELParserQUESTIONMARK) + + localctx.(*ExprContext).op = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(37) + + var _x = p.ConditionalOr() + + + localctx.(*ExprContext).e1 = _x + } + { + p.SetState(38) + p.Match(CELParserCOLON) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(39) + + var _x = p.Expr() + + + localctx.(*ExprContext).e2 = _x + } + + } + + + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + + +// IConditionalOrContext is an interface to support dynamic dispatch. +type IConditionalOrContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // GetS9 returns the s9 token. + GetS9() antlr.Token + + + // SetS9 sets the s9 token. + SetS9(antlr.Token) + + + // GetOps returns the ops token list. + GetOps() []antlr.Token + + + // SetOps sets the ops token list. + SetOps([]antlr.Token) + + + // GetE returns the e rule contexts. + GetE() IConditionalAndContext + + // Get_conditionalAnd returns the _conditionalAnd rule contexts. + Get_conditionalAnd() IConditionalAndContext + + + // SetE sets the e rule contexts. + SetE(IConditionalAndContext) + + // Set_conditionalAnd sets the _conditionalAnd rule contexts. + Set_conditionalAnd(IConditionalAndContext) + + + // GetE1 returns the e1 rule context list. + GetE1() []IConditionalAndContext + + + // SetE1 sets the e1 rule context list. + SetE1([]IConditionalAndContext) + + + // Getter signatures + AllConditionalAnd() []IConditionalAndContext + ConditionalAnd(i int) IConditionalAndContext + AllLOGICAL_OR() []antlr.TerminalNode + LOGICAL_OR(i int) antlr.TerminalNode + + // IsConditionalOrContext differentiates from other interfaces. + IsConditionalOrContext() +} + +type ConditionalOrContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser + e IConditionalAndContext + s9 antlr.Token + ops []antlr.Token + _conditionalAnd IConditionalAndContext + e1 []IConditionalAndContext +} + +func NewEmptyConditionalOrContext() *ConditionalOrContext { + var p = new(ConditionalOrContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_conditionalOr + return p +} + +func InitEmptyConditionalOrContext(p *ConditionalOrContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_conditionalOr +} + +func (*ConditionalOrContext) IsConditionalOrContext() {} + +func NewConditionalOrContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ConditionalOrContext { + var p = new(ConditionalOrContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = CELParserRULE_conditionalOr + + return p +} + +func (s *ConditionalOrContext) GetParser() antlr.Parser { return s.parser } + +func (s *ConditionalOrContext) GetS9() antlr.Token { return s.s9 } + + +func (s *ConditionalOrContext) SetS9(v antlr.Token) { s.s9 = v } + + +func (s *ConditionalOrContext) GetOps() []antlr.Token { return s.ops } + + +func (s *ConditionalOrContext) SetOps(v []antlr.Token) { s.ops = v } + + +func (s *ConditionalOrContext) GetE() IConditionalAndContext { return s.e } + +func (s *ConditionalOrContext) Get_conditionalAnd() IConditionalAndContext { return s._conditionalAnd } + + +func (s *ConditionalOrContext) SetE(v IConditionalAndContext) { s.e = v } + +func (s *ConditionalOrContext) Set_conditionalAnd(v IConditionalAndContext) { s._conditionalAnd = v } + + +func (s *ConditionalOrContext) GetE1() []IConditionalAndContext { return s.e1 } + + +func (s *ConditionalOrContext) SetE1(v []IConditionalAndContext) { s.e1 = v } + + +func (s *ConditionalOrContext) AllConditionalAnd() []IConditionalAndContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IConditionalAndContext); ok { + len++ + } + } + + tst := make([]IConditionalAndContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IConditionalAndContext); ok { + tst[i] = t.(IConditionalAndContext) + i++ + } + } + + return tst +} + +func (s *ConditionalOrContext) ConditionalAnd(i int) IConditionalAndContext { + var t antlr.RuleContext; + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IConditionalAndContext); ok { + if j == i { + t = ctx.(antlr.RuleContext); + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IConditionalAndContext) +} + +func (s *ConditionalOrContext) AllLOGICAL_OR() []antlr.TerminalNode { + return s.GetTokens(CELParserLOGICAL_OR) +} + +func (s *ConditionalOrContext) LOGICAL_OR(i int) antlr.TerminalNode { + return s.GetToken(CELParserLOGICAL_OR, i) +} + +func (s *ConditionalOrContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ConditionalOrContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *ConditionalOrContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterConditionalOr(s) + } +} + +func (s *ConditionalOrContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitConditionalOr(s) + } +} + +func (s *ConditionalOrContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitConditionalOr(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *CELParser) ConditionalOr() (localctx IConditionalOrContext) { + localctx = NewConditionalOrContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 4, CELParserRULE_conditionalOr) + var _la int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(43) + + var _x = p.ConditionalAnd() + + + localctx.(*ConditionalOrContext).e = _x + } + p.SetState(48) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + for _la == CELParserLOGICAL_OR { + { + p.SetState(44) + + var _m = p.Match(CELParserLOGICAL_OR) + + localctx.(*ConditionalOrContext).s9 = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + localctx.(*ConditionalOrContext).ops = append(localctx.(*ConditionalOrContext).ops, localctx.(*ConditionalOrContext).s9) + { + p.SetState(45) + + var _x = p.ConditionalAnd() + + + localctx.(*ConditionalOrContext)._conditionalAnd = _x + } + localctx.(*ConditionalOrContext).e1 = append(localctx.(*ConditionalOrContext).e1, localctx.(*ConditionalOrContext)._conditionalAnd) + + + p.SetState(50) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + } + + + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + + +// IConditionalAndContext is an interface to support dynamic dispatch. +type IConditionalAndContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // GetS8 returns the s8 token. + GetS8() antlr.Token + + + // SetS8 sets the s8 token. + SetS8(antlr.Token) + + + // GetOps returns the ops token list. + GetOps() []antlr.Token + + + // SetOps sets the ops token list. + SetOps([]antlr.Token) + + + // GetE returns the e rule contexts. + GetE() IRelationContext + + // Get_relation returns the _relation rule contexts. + Get_relation() IRelationContext + + + // SetE sets the e rule contexts. + SetE(IRelationContext) + + // Set_relation sets the _relation rule contexts. + Set_relation(IRelationContext) + + + // GetE1 returns the e1 rule context list. + GetE1() []IRelationContext + + + // SetE1 sets the e1 rule context list. + SetE1([]IRelationContext) + + + // Getter signatures + AllRelation() []IRelationContext + Relation(i int) IRelationContext + AllLOGICAL_AND() []antlr.TerminalNode + LOGICAL_AND(i int) antlr.TerminalNode + + // IsConditionalAndContext differentiates from other interfaces. + IsConditionalAndContext() +} + +type ConditionalAndContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser + e IRelationContext + s8 antlr.Token + ops []antlr.Token + _relation IRelationContext + e1 []IRelationContext +} + +func NewEmptyConditionalAndContext() *ConditionalAndContext { + var p = new(ConditionalAndContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_conditionalAnd + return p +} + +func InitEmptyConditionalAndContext(p *ConditionalAndContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_conditionalAnd +} + +func (*ConditionalAndContext) IsConditionalAndContext() {} + +func NewConditionalAndContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ConditionalAndContext { + var p = new(ConditionalAndContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = CELParserRULE_conditionalAnd + + return p +} + +func (s *ConditionalAndContext) GetParser() antlr.Parser { return s.parser } + +func (s *ConditionalAndContext) GetS8() antlr.Token { return s.s8 } + + +func (s *ConditionalAndContext) SetS8(v antlr.Token) { s.s8 = v } + + +func (s *ConditionalAndContext) GetOps() []antlr.Token { return s.ops } + + +func (s *ConditionalAndContext) SetOps(v []antlr.Token) { s.ops = v } + + +func (s *ConditionalAndContext) GetE() IRelationContext { return s.e } + +func (s *ConditionalAndContext) Get_relation() IRelationContext { return s._relation } + + +func (s *ConditionalAndContext) SetE(v IRelationContext) { s.e = v } + +func (s *ConditionalAndContext) Set_relation(v IRelationContext) { s._relation = v } + + +func (s *ConditionalAndContext) GetE1() []IRelationContext { return s.e1 } + + +func (s *ConditionalAndContext) SetE1(v []IRelationContext) { s.e1 = v } + + +func (s *ConditionalAndContext) AllRelation() []IRelationContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IRelationContext); ok { + len++ + } + } + + tst := make([]IRelationContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IRelationContext); ok { + tst[i] = t.(IRelationContext) + i++ + } + } + + return tst +} + +func (s *ConditionalAndContext) Relation(i int) IRelationContext { + var t antlr.RuleContext; + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IRelationContext); ok { + if j == i { + t = ctx.(antlr.RuleContext); + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IRelationContext) +} + +func (s *ConditionalAndContext) AllLOGICAL_AND() []antlr.TerminalNode { + return s.GetTokens(CELParserLOGICAL_AND) +} + +func (s *ConditionalAndContext) LOGICAL_AND(i int) antlr.TerminalNode { + return s.GetToken(CELParserLOGICAL_AND, i) +} + +func (s *ConditionalAndContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ConditionalAndContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *ConditionalAndContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterConditionalAnd(s) + } +} + +func (s *ConditionalAndContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitConditionalAnd(s) + } +} + +func (s *ConditionalAndContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitConditionalAnd(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *CELParser) ConditionalAnd() (localctx IConditionalAndContext) { + localctx = NewConditionalAndContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 6, CELParserRULE_conditionalAnd) + var _la int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(51) + + var _x = p.relation(0) + + localctx.(*ConditionalAndContext).e = _x + } + p.SetState(56) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + for _la == CELParserLOGICAL_AND { + { + p.SetState(52) + + var _m = p.Match(CELParserLOGICAL_AND) + + localctx.(*ConditionalAndContext).s8 = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + localctx.(*ConditionalAndContext).ops = append(localctx.(*ConditionalAndContext).ops, localctx.(*ConditionalAndContext).s8) + { + p.SetState(53) + + var _x = p.relation(0) + + localctx.(*ConditionalAndContext)._relation = _x + } + localctx.(*ConditionalAndContext).e1 = append(localctx.(*ConditionalAndContext).e1, localctx.(*ConditionalAndContext)._relation) + + + p.SetState(58) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + } + + + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + + +// IRelationContext is an interface to support dynamic dispatch. +type IRelationContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // GetOp returns the op token. + GetOp() antlr.Token + + + // SetOp sets the op token. + SetOp(antlr.Token) + + + // Getter signatures + Calc() ICalcContext + AllRelation() []IRelationContext + Relation(i int) IRelationContext + LESS() antlr.TerminalNode + LESS_EQUALS() antlr.TerminalNode + GREATER_EQUALS() antlr.TerminalNode + GREATER() antlr.TerminalNode + EQUALS() antlr.TerminalNode + NOT_EQUALS() antlr.TerminalNode + IN() antlr.TerminalNode + + // IsRelationContext differentiates from other interfaces. + IsRelationContext() +} + +type RelationContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser + op antlr.Token +} + +func NewEmptyRelationContext() *RelationContext { + var p = new(RelationContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_relation + return p +} + +func InitEmptyRelationContext(p *RelationContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_relation +} + +func (*RelationContext) IsRelationContext() {} + +func NewRelationContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RelationContext { + var p = new(RelationContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = CELParserRULE_relation + + return p +} + +func (s *RelationContext) GetParser() antlr.Parser { return s.parser } + +func (s *RelationContext) GetOp() antlr.Token { return s.op } + + +func (s *RelationContext) SetOp(v antlr.Token) { s.op = v } + + +func (s *RelationContext) Calc() ICalcContext { + var t antlr.RuleContext; + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ICalcContext); ok { + t = ctx.(antlr.RuleContext); + break + } + } + + if t == nil { + return nil + } + + return t.(ICalcContext) +} + +func (s *RelationContext) AllRelation() []IRelationContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IRelationContext); ok { + len++ + } + } + + tst := make([]IRelationContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IRelationContext); ok { + tst[i] = t.(IRelationContext) + i++ + } + } + + return tst +} + +func (s *RelationContext) Relation(i int) IRelationContext { + var t antlr.RuleContext; + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IRelationContext); ok { + if j == i { + t = ctx.(antlr.RuleContext); + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IRelationContext) +} + +func (s *RelationContext) LESS() antlr.TerminalNode { + return s.GetToken(CELParserLESS, 0) +} + +func (s *RelationContext) LESS_EQUALS() antlr.TerminalNode { + return s.GetToken(CELParserLESS_EQUALS, 0) +} + +func (s *RelationContext) GREATER_EQUALS() antlr.TerminalNode { + return s.GetToken(CELParserGREATER_EQUALS, 0) +} + +func (s *RelationContext) GREATER() antlr.TerminalNode { + return s.GetToken(CELParserGREATER, 0) +} + +func (s *RelationContext) EQUALS() antlr.TerminalNode { + return s.GetToken(CELParserEQUALS, 0) +} + +func (s *RelationContext) NOT_EQUALS() antlr.TerminalNode { + return s.GetToken(CELParserNOT_EQUALS, 0) +} + +func (s *RelationContext) IN() antlr.TerminalNode { + return s.GetToken(CELParserIN, 0) +} + +func (s *RelationContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *RelationContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *RelationContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterRelation(s) + } +} + +func (s *RelationContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitRelation(s) + } +} + +func (s *RelationContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitRelation(s) + + default: + return t.VisitChildren(s) + } +} + + + + + +func (p *CELParser) Relation() (localctx IRelationContext) { + return p.relation(0) +} + +func (p *CELParser) relation(_p int) (localctx IRelationContext) { + var _parentctx antlr.ParserRuleContext = p.GetParserRuleContext() + + _parentState := p.GetState() + localctx = NewRelationContext(p, p.GetParserRuleContext(), _parentState) + var _prevctx IRelationContext = localctx + var _ antlr.ParserRuleContext = _prevctx // TODO: To prevent unused variable warning. + _startState := 8 + p.EnterRecursionRule(localctx, 8, CELParserRULE_relation, _p) + var _la int + + var _alt int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(60) + p.calc(0) + } + + p.GetParserRuleContext().SetStop(p.GetTokenStream().LT(-1)) + p.SetState(67) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 3, p.GetParserRuleContext()) + if p.HasError() { + goto errorExit + } + for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { + if _alt == 1 { + if p.GetParseListeners() != nil { + p.TriggerExitRuleEvent() + } + _prevctx = localctx + localctx = NewRelationContext(p, _parentctx, _parentState) + p.PushNewRecursionContext(localctx, _startState, CELParserRULE_relation) + p.SetState(62) + + if !(p.Precpred(p.GetParserRuleContext(), 1)) { + p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 1)", "")) + goto errorExit + } + { + p.SetState(63) + + var _lt = p.GetTokenStream().LT(1) + + localctx.(*RelationContext).op = _lt + + _la = p.GetTokenStream().LA(1) + + if !(((int64(_la) & ^0x3f) == 0 && ((int64(1) << _la) & 254) != 0)) { + var _ri = p.GetErrorHandler().RecoverInline(p) + + localctx.(*RelationContext).op = _ri + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() + } + } + { + p.SetState(64) + p.relation(2) + } + + + } + p.SetState(69) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 3, p.GetParserRuleContext()) + if p.HasError() { + goto errorExit + } + } + + + + errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.UnrollRecursionContexts(_parentctx) + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + + +// ICalcContext is an interface to support dynamic dispatch. +type ICalcContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // GetOp returns the op token. + GetOp() antlr.Token + + + // SetOp sets the op token. + SetOp(antlr.Token) + + + // Getter signatures + Unary() IUnaryContext + AllCalc() []ICalcContext + Calc(i int) ICalcContext + STAR() antlr.TerminalNode + SLASH() antlr.TerminalNode + PERCENT() antlr.TerminalNode + PLUS() antlr.TerminalNode + MINUS() antlr.TerminalNode + + // IsCalcContext differentiates from other interfaces. + IsCalcContext() +} + +type CalcContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser + op antlr.Token +} + +func NewEmptyCalcContext() *CalcContext { + var p = new(CalcContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_calc + return p +} + +func InitEmptyCalcContext(p *CalcContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_calc +} + +func (*CalcContext) IsCalcContext() {} + +func NewCalcContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CalcContext { + var p = new(CalcContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = CELParserRULE_calc + + return p +} + +func (s *CalcContext) GetParser() antlr.Parser { return s.parser } + +func (s *CalcContext) GetOp() antlr.Token { return s.op } + + +func (s *CalcContext) SetOp(v antlr.Token) { s.op = v } + + +func (s *CalcContext) Unary() IUnaryContext { + var t antlr.RuleContext; + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IUnaryContext); ok { + t = ctx.(antlr.RuleContext); + break + } + } + + if t == nil { + return nil + } + + return t.(IUnaryContext) +} + +func (s *CalcContext) AllCalc() []ICalcContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(ICalcContext); ok { + len++ + } + } + + tst := make([]ICalcContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(ICalcContext); ok { + tst[i] = t.(ICalcContext) + i++ + } + } + + return tst +} + +func (s *CalcContext) Calc(i int) ICalcContext { + var t antlr.RuleContext; + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ICalcContext); ok { + if j == i { + t = ctx.(antlr.RuleContext); + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(ICalcContext) +} + +func (s *CalcContext) STAR() antlr.TerminalNode { + return s.GetToken(CELParserSTAR, 0) +} + +func (s *CalcContext) SLASH() antlr.TerminalNode { + return s.GetToken(CELParserSLASH, 0) +} + +func (s *CalcContext) PERCENT() antlr.TerminalNode { + return s.GetToken(CELParserPERCENT, 0) +} + +func (s *CalcContext) PLUS() antlr.TerminalNode { + return s.GetToken(CELParserPLUS, 0) +} + +func (s *CalcContext) MINUS() antlr.TerminalNode { + return s.GetToken(CELParserMINUS, 0) +} + +func (s *CalcContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *CalcContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *CalcContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterCalc(s) + } +} + +func (s *CalcContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitCalc(s) + } +} + +func (s *CalcContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitCalc(s) + + default: + return t.VisitChildren(s) + } +} + + + + + +func (p *CELParser) Calc() (localctx ICalcContext) { + return p.calc(0) +} + +func (p *CELParser) calc(_p int) (localctx ICalcContext) { + var _parentctx antlr.ParserRuleContext = p.GetParserRuleContext() + + _parentState := p.GetState() + localctx = NewCalcContext(p, p.GetParserRuleContext(), _parentState) + var _prevctx ICalcContext = localctx + var _ antlr.ParserRuleContext = _prevctx // TODO: To prevent unused variable warning. + _startState := 10 + p.EnterRecursionRule(localctx, 10, CELParserRULE_calc, _p) + var _la int + + var _alt int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(71) + p.Unary() + } + + p.GetParserRuleContext().SetStop(p.GetTokenStream().LT(-1)) + p.SetState(81) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 5, p.GetParserRuleContext()) + if p.HasError() { + goto errorExit + } + for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { + if _alt == 1 { + if p.GetParseListeners() != nil { + p.TriggerExitRuleEvent() + } + _prevctx = localctx + p.SetState(79) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 4, p.GetParserRuleContext()) { + case 1: + localctx = NewCalcContext(p, _parentctx, _parentState) + p.PushNewRecursionContext(localctx, _startState, CELParserRULE_calc) + p.SetState(73) + + if !(p.Precpred(p.GetParserRuleContext(), 2)) { + p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 2)", "")) + goto errorExit + } + { + p.SetState(74) + + var _lt = p.GetTokenStream().LT(1) + + localctx.(*CalcContext).op = _lt + + _la = p.GetTokenStream().LA(1) + + if !(((int64(_la) & ^0x3f) == 0 && ((int64(1) << _la) & 58720256) != 0)) { + var _ri = p.GetErrorHandler().RecoverInline(p) + + localctx.(*CalcContext).op = _ri + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() + } + } + { + p.SetState(75) + p.calc(3) + } + + + case 2: + localctx = NewCalcContext(p, _parentctx, _parentState) + p.PushNewRecursionContext(localctx, _startState, CELParserRULE_calc) + p.SetState(76) + + if !(p.Precpred(p.GetParserRuleContext(), 1)) { + p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 1)", "")) + goto errorExit + } + { + p.SetState(77) + + var _lt = p.GetTokenStream().LT(1) + + localctx.(*CalcContext).op = _lt + + _la = p.GetTokenStream().LA(1) + + if !(_la == CELParserMINUS || _la == CELParserPLUS) { + var _ri = p.GetErrorHandler().RecoverInline(p) + + localctx.(*CalcContext).op = _ri + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() + } + } + { + p.SetState(78) + p.calc(2) + } + + case antlr.ATNInvalidAltNumber: + goto errorExit + } + + } + p.SetState(83) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 5, p.GetParserRuleContext()) + if p.HasError() { + goto errorExit + } + } + + + + errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.UnrollRecursionContexts(_parentctx) + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + + +// IUnaryContext is an interface to support dynamic dispatch. +type IUnaryContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + // IsUnaryContext differentiates from other interfaces. + IsUnaryContext() +} + +type UnaryContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyUnaryContext() *UnaryContext { + var p = new(UnaryContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_unary + return p +} + +func InitEmptyUnaryContext(p *UnaryContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_unary +} + +func (*UnaryContext) IsUnaryContext() {} + +func NewUnaryContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *UnaryContext { + var p = new(UnaryContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = CELParserRULE_unary + + return p +} + +func (s *UnaryContext) GetParser() antlr.Parser { return s.parser } + +func (s *UnaryContext) CopyAll(ctx *UnaryContext) { + s.CopyFrom(&ctx.BaseParserRuleContext) +} + +func (s *UnaryContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *UnaryContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + + + +type LogicalNotContext struct { + UnaryContext + s19 antlr.Token + ops []antlr.Token +} + +func NewLogicalNotContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *LogicalNotContext { + var p = new(LogicalNotContext) + + InitEmptyUnaryContext(&p.UnaryContext) + p.parser = parser + p.CopyAll(ctx.(*UnaryContext)) + + return p +} + + +func (s *LogicalNotContext) GetS19() antlr.Token { return s.s19 } + + +func (s *LogicalNotContext) SetS19(v antlr.Token) { s.s19 = v } + + +func (s *LogicalNotContext) GetOps() []antlr.Token { return s.ops } + + +func (s *LogicalNotContext) SetOps(v []antlr.Token) { s.ops = v } + +func (s *LogicalNotContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *LogicalNotContext) Member() IMemberContext { + var t antlr.RuleContext; + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IMemberContext); ok { + t = ctx.(antlr.RuleContext); + break + } + } + + if t == nil { + return nil + } + + return t.(IMemberContext) +} + +func (s *LogicalNotContext) AllEXCLAM() []antlr.TerminalNode { + return s.GetTokens(CELParserEXCLAM) +} + +func (s *LogicalNotContext) EXCLAM(i int) antlr.TerminalNode { + return s.GetToken(CELParserEXCLAM, i) +} + + +func (s *LogicalNotContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterLogicalNot(s) + } +} + +func (s *LogicalNotContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitLogicalNot(s) + } +} + +func (s *LogicalNotContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitLogicalNot(s) + + default: + return t.VisitChildren(s) + } +} + + +type MemberExprContext struct { + UnaryContext +} + +func NewMemberExprContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *MemberExprContext { + var p = new(MemberExprContext) + + InitEmptyUnaryContext(&p.UnaryContext) + p.parser = parser + p.CopyAll(ctx.(*UnaryContext)) + + return p +} + +func (s *MemberExprContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *MemberExprContext) Member() IMemberContext { + var t antlr.RuleContext; + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IMemberContext); ok { + t = ctx.(antlr.RuleContext); + break + } + } + + if t == nil { + return nil + } + + return t.(IMemberContext) +} + + +func (s *MemberExprContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterMemberExpr(s) + } +} + +func (s *MemberExprContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitMemberExpr(s) + } +} + +func (s *MemberExprContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitMemberExpr(s) + + default: + return t.VisitChildren(s) + } +} + + +type NegateContext struct { + UnaryContext + s18 antlr.Token + ops []antlr.Token +} + +func NewNegateContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *NegateContext { + var p = new(NegateContext) + + InitEmptyUnaryContext(&p.UnaryContext) + p.parser = parser + p.CopyAll(ctx.(*UnaryContext)) + + return p +} + + +func (s *NegateContext) GetS18() antlr.Token { return s.s18 } + + +func (s *NegateContext) SetS18(v antlr.Token) { s.s18 = v } + + +func (s *NegateContext) GetOps() []antlr.Token { return s.ops } + + +func (s *NegateContext) SetOps(v []antlr.Token) { s.ops = v } + +func (s *NegateContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *NegateContext) Member() IMemberContext { + var t antlr.RuleContext; + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IMemberContext); ok { + t = ctx.(antlr.RuleContext); + break + } + } + + if t == nil { + return nil + } + + return t.(IMemberContext) +} + +func (s *NegateContext) AllMINUS() []antlr.TerminalNode { + return s.GetTokens(CELParserMINUS) +} + +func (s *NegateContext) MINUS(i int) antlr.TerminalNode { + return s.GetToken(CELParserMINUS, i) +} + + +func (s *NegateContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterNegate(s) + } +} + +func (s *NegateContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitNegate(s) + } +} + +func (s *NegateContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitNegate(s) + + default: + return t.VisitChildren(s) + } +} + + + +func (p *CELParser) Unary() (localctx IUnaryContext) { + localctx = NewUnaryContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 12, CELParserRULE_unary) + var _la int + + var _alt int + + p.SetState(97) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 8, p.GetParserRuleContext()) { + case 1: + localctx = NewMemberExprContext(p, localctx) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(84) + p.member(0) + } + + + case 2: + localctx = NewLogicalNotContext(p, localctx) + p.EnterOuterAlt(localctx, 2) + p.SetState(86) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + for ok := true; ok; ok = _la == CELParserEXCLAM { + { + p.SetState(85) + + var _m = p.Match(CELParserEXCLAM) + + localctx.(*LogicalNotContext).s19 = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + localctx.(*LogicalNotContext).ops = append(localctx.(*LogicalNotContext).ops, localctx.(*LogicalNotContext).s19) + + + p.SetState(88) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + } + { + p.SetState(90) + p.member(0) + } + + + case 3: + localctx = NewNegateContext(p, localctx) + p.EnterOuterAlt(localctx, 3) + p.SetState(92) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _alt = 1 + for ok := true; ok; ok = _alt != 2 && _alt != antlr.ATNInvalidAltNumber { + switch _alt { + case 1: + { + p.SetState(91) + + var _m = p.Match(CELParserMINUS) + + localctx.(*NegateContext).s18 = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + localctx.(*NegateContext).ops = append(localctx.(*NegateContext).ops, localctx.(*NegateContext).s18) + + + + + default: + p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + goto errorExit + } + + p.SetState(94) + p.GetErrorHandler().Sync(p) + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 7, p.GetParserRuleContext()) + if p.HasError() { + goto errorExit + } + } + { + p.SetState(96) + p.member(0) + } + + case antlr.ATNInvalidAltNumber: + goto errorExit + } + + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + + +// IMemberContext is an interface to support dynamic dispatch. +type IMemberContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + // IsMemberContext differentiates from other interfaces. + IsMemberContext() +} + +type MemberContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyMemberContext() *MemberContext { + var p = new(MemberContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_member + return p +} + +func InitEmptyMemberContext(p *MemberContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_member +} + +func (*MemberContext) IsMemberContext() {} + +func NewMemberContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MemberContext { + var p = new(MemberContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = CELParserRULE_member + + return p +} + +func (s *MemberContext) GetParser() antlr.Parser { return s.parser } + +func (s *MemberContext) CopyAll(ctx *MemberContext) { + s.CopyFrom(&ctx.BaseParserRuleContext) +} + +func (s *MemberContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *MemberContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + + + + +type MemberCallContext struct { + MemberContext + op antlr.Token + id antlr.Token + open antlr.Token + args IExprListContext +} + +func NewMemberCallContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *MemberCallContext { + var p = new(MemberCallContext) + + InitEmptyMemberContext(&p.MemberContext) + p.parser = parser + p.CopyAll(ctx.(*MemberContext)) + + return p +} + + +func (s *MemberCallContext) GetOp() antlr.Token { return s.op } + +func (s *MemberCallContext) GetId() antlr.Token { return s.id } + +func (s *MemberCallContext) GetOpen() antlr.Token { return s.open } + + +func (s *MemberCallContext) SetOp(v antlr.Token) { s.op = v } + +func (s *MemberCallContext) SetId(v antlr.Token) { s.id = v } + +func (s *MemberCallContext) SetOpen(v antlr.Token) { s.open = v } + + +func (s *MemberCallContext) GetArgs() IExprListContext { return s.args } + + +func (s *MemberCallContext) SetArgs(v IExprListContext) { s.args = v } + +func (s *MemberCallContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *MemberCallContext) Member() IMemberContext { + var t antlr.RuleContext; + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IMemberContext); ok { + t = ctx.(antlr.RuleContext); + break + } + } + + if t == nil { + return nil + } + + return t.(IMemberContext) +} + +func (s *MemberCallContext) RPAREN() antlr.TerminalNode { + return s.GetToken(CELParserRPAREN, 0) +} + +func (s *MemberCallContext) DOT() antlr.TerminalNode { + return s.GetToken(CELParserDOT, 0) +} + +func (s *MemberCallContext) IDENTIFIER() antlr.TerminalNode { + return s.GetToken(CELParserIDENTIFIER, 0) +} + +func (s *MemberCallContext) LPAREN() antlr.TerminalNode { + return s.GetToken(CELParserLPAREN, 0) +} + +func (s *MemberCallContext) ExprList() IExprListContext { + var t antlr.RuleContext; + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IExprListContext); ok { + t = ctx.(antlr.RuleContext); + break + } + } + + if t == nil { + return nil + } + + return t.(IExprListContext) +} + + +func (s *MemberCallContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterMemberCall(s) + } +} + +func (s *MemberCallContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitMemberCall(s) + } +} + +func (s *MemberCallContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitMemberCall(s) + + default: + return t.VisitChildren(s) + } +} + + +type SelectContext struct { + MemberContext + op antlr.Token + opt antlr.Token + id antlr.Token +} + +func NewSelectContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *SelectContext { + var p = new(SelectContext) + + InitEmptyMemberContext(&p.MemberContext) + p.parser = parser + p.CopyAll(ctx.(*MemberContext)) + + return p +} + + +func (s *SelectContext) GetOp() antlr.Token { return s.op } + +func (s *SelectContext) GetOpt() antlr.Token { return s.opt } + +func (s *SelectContext) GetId() antlr.Token { return s.id } + + +func (s *SelectContext) SetOp(v antlr.Token) { s.op = v } + +func (s *SelectContext) SetOpt(v antlr.Token) { s.opt = v } + +func (s *SelectContext) SetId(v antlr.Token) { s.id = v } + +func (s *SelectContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *SelectContext) Member() IMemberContext { + var t antlr.RuleContext; + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IMemberContext); ok { + t = ctx.(antlr.RuleContext); + break + } + } + + if t == nil { + return nil + } + + return t.(IMemberContext) +} + +func (s *SelectContext) DOT() antlr.TerminalNode { + return s.GetToken(CELParserDOT, 0) +} + +func (s *SelectContext) IDENTIFIER() antlr.TerminalNode { + return s.GetToken(CELParserIDENTIFIER, 0) +} + +func (s *SelectContext) QUESTIONMARK() antlr.TerminalNode { + return s.GetToken(CELParserQUESTIONMARK, 0) +} + + +func (s *SelectContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterSelect(s) + } +} + +func (s *SelectContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitSelect(s) + } +} + +func (s *SelectContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitSelect(s) + + default: + return t.VisitChildren(s) + } +} + + +type PrimaryExprContext struct { + MemberContext +} + +func NewPrimaryExprContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *PrimaryExprContext { + var p = new(PrimaryExprContext) + + InitEmptyMemberContext(&p.MemberContext) + p.parser = parser + p.CopyAll(ctx.(*MemberContext)) + + return p +} + +func (s *PrimaryExprContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *PrimaryExprContext) Primary() IPrimaryContext { + var t antlr.RuleContext; + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IPrimaryContext); ok { + t = ctx.(antlr.RuleContext); + break + } + } + + if t == nil { + return nil + } + + return t.(IPrimaryContext) +} + + +func (s *PrimaryExprContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterPrimaryExpr(s) + } +} + +func (s *PrimaryExprContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitPrimaryExpr(s) + } +} + +func (s *PrimaryExprContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitPrimaryExpr(s) + + default: + return t.VisitChildren(s) + } +} + + +type IndexContext struct { + MemberContext + op antlr.Token + opt antlr.Token + index IExprContext +} + +func NewIndexContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *IndexContext { + var p = new(IndexContext) + + InitEmptyMemberContext(&p.MemberContext) + p.parser = parser + p.CopyAll(ctx.(*MemberContext)) + + return p +} + + +func (s *IndexContext) GetOp() antlr.Token { return s.op } + +func (s *IndexContext) GetOpt() antlr.Token { return s.opt } + + +func (s *IndexContext) SetOp(v antlr.Token) { s.op = v } + +func (s *IndexContext) SetOpt(v antlr.Token) { s.opt = v } + + +func (s *IndexContext) GetIndex() IExprContext { return s.index } + + +func (s *IndexContext) SetIndex(v IExprContext) { s.index = v } + +func (s *IndexContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *IndexContext) Member() IMemberContext { + var t antlr.RuleContext; + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IMemberContext); ok { + t = ctx.(antlr.RuleContext); + break + } + } + + if t == nil { + return nil + } + + return t.(IMemberContext) +} + +func (s *IndexContext) RPRACKET() antlr.TerminalNode { + return s.GetToken(CELParserRPRACKET, 0) +} + +func (s *IndexContext) LBRACKET() antlr.TerminalNode { + return s.GetToken(CELParserLBRACKET, 0) +} + +func (s *IndexContext) Expr() IExprContext { + var t antlr.RuleContext; + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IExprContext); ok { + t = ctx.(antlr.RuleContext); + break + } + } + + if t == nil { + return nil + } + + return t.(IExprContext) +} + +func (s *IndexContext) QUESTIONMARK() antlr.TerminalNode { + return s.GetToken(CELParserQUESTIONMARK, 0) +} + + +func (s *IndexContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterIndex(s) + } +} + +func (s *IndexContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitIndex(s) + } +} + +func (s *IndexContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitIndex(s) + + default: + return t.VisitChildren(s) + } +} + + + +func (p *CELParser) Member() (localctx IMemberContext) { + return p.member(0) +} + +func (p *CELParser) member(_p int) (localctx IMemberContext) { + var _parentctx antlr.ParserRuleContext = p.GetParserRuleContext() + + _parentState := p.GetState() + localctx = NewMemberContext(p, p.GetParserRuleContext(), _parentState) + var _prevctx IMemberContext = localctx + var _ antlr.ParserRuleContext = _prevctx // TODO: To prevent unused variable warning. + _startState := 14 + p.EnterRecursionRule(localctx, 14, CELParserRULE_member, _p) + var _la int + + var _alt int + + p.EnterOuterAlt(localctx, 1) + localctx = NewPrimaryExprContext(p, localctx) + p.SetParserRuleContext(localctx) + _prevctx = localctx + + { + p.SetState(100) + p.Primary() + } + + p.GetParserRuleContext().SetStop(p.GetTokenStream().LT(-1)) + p.SetState(126) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 13, p.GetParserRuleContext()) + if p.HasError() { + goto errorExit + } + for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { + if _alt == 1 { + if p.GetParseListeners() != nil { + p.TriggerExitRuleEvent() + } + _prevctx = localctx + p.SetState(124) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 12, p.GetParserRuleContext()) { + case 1: + localctx = NewSelectContext(p, NewMemberContext(p, _parentctx, _parentState)) + p.PushNewRecursionContext(localctx, _startState, CELParserRULE_member) + p.SetState(102) + + if !(p.Precpred(p.GetParserRuleContext(), 3)) { + p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 3)", "")) + goto errorExit + } + { + p.SetState(103) + + var _m = p.Match(CELParserDOT) + + localctx.(*SelectContext).op = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(105) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + if _la == CELParserQUESTIONMARK { + { + p.SetState(104) + + var _m = p.Match(CELParserQUESTIONMARK) + + localctx.(*SelectContext).opt = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + } + { + p.SetState(107) + + var _m = p.Match(CELParserIDENTIFIER) + + localctx.(*SelectContext).id = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + + case 2: + localctx = NewMemberCallContext(p, NewMemberContext(p, _parentctx, _parentState)) + p.PushNewRecursionContext(localctx, _startState, CELParserRULE_member) + p.SetState(108) + + if !(p.Precpred(p.GetParserRuleContext(), 2)) { + p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 2)", "")) + goto errorExit + } + { + p.SetState(109) + + var _m = p.Match(CELParserDOT) + + localctx.(*MemberCallContext).op = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(110) + + var _m = p.Match(CELParserIDENTIFIER) + + localctx.(*MemberCallContext).id = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(111) + + var _m = p.Match(CELParserLPAREN) + + localctx.(*MemberCallContext).open = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(113) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1) << _la) & 135762105344) != 0) { + { + p.SetState(112) + + var _x = p.ExprList() + + + localctx.(*MemberCallContext).args = _x + } + + } + { + p.SetState(115) + p.Match(CELParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + + case 3: + localctx = NewIndexContext(p, NewMemberContext(p, _parentctx, _parentState)) + p.PushNewRecursionContext(localctx, _startState, CELParserRULE_member) + p.SetState(116) + + if !(p.Precpred(p.GetParserRuleContext(), 1)) { + p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 1)", "")) + goto errorExit + } + { + p.SetState(117) + + var _m = p.Match(CELParserLBRACKET) + + localctx.(*IndexContext).op = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(119) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + if _la == CELParserQUESTIONMARK { + { + p.SetState(118) + + var _m = p.Match(CELParserQUESTIONMARK) + + localctx.(*IndexContext).opt = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + } + { + p.SetState(121) + + var _x = p.Expr() + + + localctx.(*IndexContext).index = _x + } + { + p.SetState(122) + p.Match(CELParserRPRACKET) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case antlr.ATNInvalidAltNumber: + goto errorExit + } + + } + p.SetState(128) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 13, p.GetParserRuleContext()) + if p.HasError() { + goto errorExit + } + } + + + + errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.UnrollRecursionContexts(_parentctx) + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + + +// IPrimaryContext is an interface to support dynamic dispatch. +type IPrimaryContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + // IsPrimaryContext differentiates from other interfaces. + IsPrimaryContext() +} + +type PrimaryContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyPrimaryContext() *PrimaryContext { + var p = new(PrimaryContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_primary + return p +} + +func InitEmptyPrimaryContext(p *PrimaryContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_primary +} + +func (*PrimaryContext) IsPrimaryContext() {} + +func NewPrimaryContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *PrimaryContext { + var p = new(PrimaryContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = CELParserRULE_primary + + return p +} + +func (s *PrimaryContext) GetParser() antlr.Parser { return s.parser } + +func (s *PrimaryContext) CopyAll(ctx *PrimaryContext) { + s.CopyFrom(&ctx.BaseParserRuleContext) +} + +func (s *PrimaryContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *PrimaryContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + + + +type CreateListContext struct { + PrimaryContext + op antlr.Token + elems IListInitContext +} + +func NewCreateListContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *CreateListContext { + var p = new(CreateListContext) + + InitEmptyPrimaryContext(&p.PrimaryContext) + p.parser = parser + p.CopyAll(ctx.(*PrimaryContext)) + + return p +} + + +func (s *CreateListContext) GetOp() antlr.Token { return s.op } + + +func (s *CreateListContext) SetOp(v antlr.Token) { s.op = v } + + +func (s *CreateListContext) GetElems() IListInitContext { return s.elems } + + +func (s *CreateListContext) SetElems(v IListInitContext) { s.elems = v } + +func (s *CreateListContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *CreateListContext) RPRACKET() antlr.TerminalNode { + return s.GetToken(CELParserRPRACKET, 0) +} + +func (s *CreateListContext) LBRACKET() antlr.TerminalNode { + return s.GetToken(CELParserLBRACKET, 0) +} + +func (s *CreateListContext) COMMA() antlr.TerminalNode { + return s.GetToken(CELParserCOMMA, 0) +} + +func (s *CreateListContext) ListInit() IListInitContext { + var t antlr.RuleContext; + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IListInitContext); ok { + t = ctx.(antlr.RuleContext); + break + } + } + + if t == nil { + return nil + } + + return t.(IListInitContext) +} + + +func (s *CreateListContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterCreateList(s) + } +} + +func (s *CreateListContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitCreateList(s) + } +} + +func (s *CreateListContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitCreateList(s) + + default: + return t.VisitChildren(s) + } +} + + +type CreateStructContext struct { + PrimaryContext + op antlr.Token + entries IMapInitializerListContext +} + +func NewCreateStructContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *CreateStructContext { + var p = new(CreateStructContext) + + InitEmptyPrimaryContext(&p.PrimaryContext) + p.parser = parser + p.CopyAll(ctx.(*PrimaryContext)) + + return p +} + + +func (s *CreateStructContext) GetOp() antlr.Token { return s.op } + + +func (s *CreateStructContext) SetOp(v antlr.Token) { s.op = v } + + +func (s *CreateStructContext) GetEntries() IMapInitializerListContext { return s.entries } + + +func (s *CreateStructContext) SetEntries(v IMapInitializerListContext) { s.entries = v } + +func (s *CreateStructContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *CreateStructContext) RBRACE() antlr.TerminalNode { + return s.GetToken(CELParserRBRACE, 0) +} + +func (s *CreateStructContext) LBRACE() antlr.TerminalNode { + return s.GetToken(CELParserLBRACE, 0) +} + +func (s *CreateStructContext) COMMA() antlr.TerminalNode { + return s.GetToken(CELParserCOMMA, 0) +} + +func (s *CreateStructContext) MapInitializerList() IMapInitializerListContext { + var t antlr.RuleContext; + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IMapInitializerListContext); ok { + t = ctx.(antlr.RuleContext); + break + } + } + + if t == nil { + return nil + } + + return t.(IMapInitializerListContext) +} + + +func (s *CreateStructContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterCreateStruct(s) + } +} + +func (s *CreateStructContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitCreateStruct(s) + } +} + +func (s *CreateStructContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitCreateStruct(s) + + default: + return t.VisitChildren(s) + } +} + + +type ConstantLiteralContext struct { + PrimaryContext +} + +func NewConstantLiteralContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConstantLiteralContext { + var p = new(ConstantLiteralContext) + + InitEmptyPrimaryContext(&p.PrimaryContext) + p.parser = parser + p.CopyAll(ctx.(*PrimaryContext)) + + return p +} + +func (s *ConstantLiteralContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ConstantLiteralContext) Literal() ILiteralContext { + var t antlr.RuleContext; + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ILiteralContext); ok { + t = ctx.(antlr.RuleContext); + break + } + } + + if t == nil { + return nil + } + + return t.(ILiteralContext) +} + + +func (s *ConstantLiteralContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterConstantLiteral(s) + } +} + +func (s *ConstantLiteralContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitConstantLiteral(s) + } +} + +func (s *ConstantLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitConstantLiteral(s) + + default: + return t.VisitChildren(s) + } +} + + +type NestedContext struct { + PrimaryContext + e IExprContext +} + +func NewNestedContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *NestedContext { + var p = new(NestedContext) + + InitEmptyPrimaryContext(&p.PrimaryContext) + p.parser = parser + p.CopyAll(ctx.(*PrimaryContext)) + + return p +} + + +func (s *NestedContext) GetE() IExprContext { return s.e } + + +func (s *NestedContext) SetE(v IExprContext) { s.e = v } + +func (s *NestedContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *NestedContext) LPAREN() antlr.TerminalNode { + return s.GetToken(CELParserLPAREN, 0) +} + +func (s *NestedContext) RPAREN() antlr.TerminalNode { + return s.GetToken(CELParserRPAREN, 0) +} + +func (s *NestedContext) Expr() IExprContext { + var t antlr.RuleContext; + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IExprContext); ok { + t = ctx.(antlr.RuleContext); + break + } + } + + if t == nil { + return nil + } + + return t.(IExprContext) +} + + +func (s *NestedContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterNested(s) + } +} + +func (s *NestedContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitNested(s) + } +} + +func (s *NestedContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitNested(s) + + default: + return t.VisitChildren(s) + } +} + + +type CreateMessageContext struct { + PrimaryContext + leadingDot antlr.Token + _IDENTIFIER antlr.Token + ids []antlr.Token + s16 antlr.Token + ops []antlr.Token + op antlr.Token + entries IFieldInitializerListContext +} + +func NewCreateMessageContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *CreateMessageContext { + var p = new(CreateMessageContext) + + InitEmptyPrimaryContext(&p.PrimaryContext) + p.parser = parser + p.CopyAll(ctx.(*PrimaryContext)) + + return p +} + + +func (s *CreateMessageContext) GetLeadingDot() antlr.Token { return s.leadingDot } + +func (s *CreateMessageContext) Get_IDENTIFIER() antlr.Token { return s._IDENTIFIER } + +func (s *CreateMessageContext) GetS16() antlr.Token { return s.s16 } + +func (s *CreateMessageContext) GetOp() antlr.Token { return s.op } + + +func (s *CreateMessageContext) SetLeadingDot(v antlr.Token) { s.leadingDot = v } + +func (s *CreateMessageContext) Set_IDENTIFIER(v antlr.Token) { s._IDENTIFIER = v } + +func (s *CreateMessageContext) SetS16(v antlr.Token) { s.s16 = v } + +func (s *CreateMessageContext) SetOp(v antlr.Token) { s.op = v } + + +func (s *CreateMessageContext) GetIds() []antlr.Token { return s.ids } + +func (s *CreateMessageContext) GetOps() []antlr.Token { return s.ops } + + +func (s *CreateMessageContext) SetIds(v []antlr.Token) { s.ids = v } + +func (s *CreateMessageContext) SetOps(v []antlr.Token) { s.ops = v } + + +func (s *CreateMessageContext) GetEntries() IFieldInitializerListContext { return s.entries } + + +func (s *CreateMessageContext) SetEntries(v IFieldInitializerListContext) { s.entries = v } + +func (s *CreateMessageContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *CreateMessageContext) RBRACE() antlr.TerminalNode { + return s.GetToken(CELParserRBRACE, 0) +} + +func (s *CreateMessageContext) AllIDENTIFIER() []antlr.TerminalNode { + return s.GetTokens(CELParserIDENTIFIER) +} + +func (s *CreateMessageContext) IDENTIFIER(i int) antlr.TerminalNode { + return s.GetToken(CELParserIDENTIFIER, i) +} + +func (s *CreateMessageContext) LBRACE() antlr.TerminalNode { + return s.GetToken(CELParserLBRACE, 0) +} + +func (s *CreateMessageContext) COMMA() antlr.TerminalNode { + return s.GetToken(CELParserCOMMA, 0) +} + +func (s *CreateMessageContext) AllDOT() []antlr.TerminalNode { + return s.GetTokens(CELParserDOT) +} + +func (s *CreateMessageContext) DOT(i int) antlr.TerminalNode { + return s.GetToken(CELParserDOT, i) +} + +func (s *CreateMessageContext) FieldInitializerList() IFieldInitializerListContext { + var t antlr.RuleContext; + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IFieldInitializerListContext); ok { + t = ctx.(antlr.RuleContext); + break + } + } + + if t == nil { + return nil + } + + return t.(IFieldInitializerListContext) +} + + +func (s *CreateMessageContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterCreateMessage(s) + } +} + +func (s *CreateMessageContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitCreateMessage(s) + } +} + +func (s *CreateMessageContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitCreateMessage(s) + + default: + return t.VisitChildren(s) + } +} + + +type IdentOrGlobalCallContext struct { + PrimaryContext + leadingDot antlr.Token + id antlr.Token + op antlr.Token + args IExprListContext +} + +func NewIdentOrGlobalCallContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *IdentOrGlobalCallContext { + var p = new(IdentOrGlobalCallContext) + + InitEmptyPrimaryContext(&p.PrimaryContext) + p.parser = parser + p.CopyAll(ctx.(*PrimaryContext)) + + return p +} + + +func (s *IdentOrGlobalCallContext) GetLeadingDot() antlr.Token { return s.leadingDot } + +func (s *IdentOrGlobalCallContext) GetId() antlr.Token { return s.id } + +func (s *IdentOrGlobalCallContext) GetOp() antlr.Token { return s.op } + + +func (s *IdentOrGlobalCallContext) SetLeadingDot(v antlr.Token) { s.leadingDot = v } + +func (s *IdentOrGlobalCallContext) SetId(v antlr.Token) { s.id = v } + +func (s *IdentOrGlobalCallContext) SetOp(v antlr.Token) { s.op = v } + + +func (s *IdentOrGlobalCallContext) GetArgs() IExprListContext { return s.args } + + +func (s *IdentOrGlobalCallContext) SetArgs(v IExprListContext) { s.args = v } + +func (s *IdentOrGlobalCallContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *IdentOrGlobalCallContext) IDENTIFIER() antlr.TerminalNode { + return s.GetToken(CELParserIDENTIFIER, 0) +} + +func (s *IdentOrGlobalCallContext) RPAREN() antlr.TerminalNode { + return s.GetToken(CELParserRPAREN, 0) +} + +func (s *IdentOrGlobalCallContext) DOT() antlr.TerminalNode { + return s.GetToken(CELParserDOT, 0) +} + +func (s *IdentOrGlobalCallContext) LPAREN() antlr.TerminalNode { + return s.GetToken(CELParserLPAREN, 0) +} + +func (s *IdentOrGlobalCallContext) ExprList() IExprListContext { + var t antlr.RuleContext; + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IExprListContext); ok { + t = ctx.(antlr.RuleContext); + break + } + } + + if t == nil { + return nil + } + + return t.(IExprListContext) +} + + +func (s *IdentOrGlobalCallContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterIdentOrGlobalCall(s) + } +} + +func (s *IdentOrGlobalCallContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitIdentOrGlobalCall(s) + } +} + +func (s *IdentOrGlobalCallContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitIdentOrGlobalCall(s) + + default: + return t.VisitChildren(s) + } +} + + + +func (p *CELParser) Primary() (localctx IPrimaryContext) { + localctx = NewPrimaryContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 16, CELParserRULE_primary) + var _la int + + p.SetState(180) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 25, p.GetParserRuleContext()) { + case 1: + localctx = NewIdentOrGlobalCallContext(p, localctx) + p.EnterOuterAlt(localctx, 1) + p.SetState(130) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + if _la == CELParserDOT { + { + p.SetState(129) + + var _m = p.Match(CELParserDOT) + + localctx.(*IdentOrGlobalCallContext).leadingDot = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + } + { + p.SetState(132) + + var _m = p.Match(CELParserIDENTIFIER) + + localctx.(*IdentOrGlobalCallContext).id = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(138) + p.GetErrorHandler().Sync(p) + + + if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 16, p.GetParserRuleContext()) == 1 { + { + p.SetState(133) + + var _m = p.Match(CELParserLPAREN) + + localctx.(*IdentOrGlobalCallContext).op = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(135) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1) << _la) & 135762105344) != 0) { + { + p.SetState(134) + + var _x = p.ExprList() + + + localctx.(*IdentOrGlobalCallContext).args = _x + } + + } + { + p.SetState(137) + p.Match(CELParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + } else if p.HasError() { // JIM + goto errorExit + } + + + case 2: + localctx = NewNestedContext(p, localctx) + p.EnterOuterAlt(localctx, 2) + { + p.SetState(140) + p.Match(CELParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(141) + + var _x = p.Expr() + + + localctx.(*NestedContext).e = _x + } + { + p.SetState(142) + p.Match(CELParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + + case 3: + localctx = NewCreateListContext(p, localctx) + p.EnterOuterAlt(localctx, 3) + { + p.SetState(144) + + var _m = p.Match(CELParserLBRACKET) + + localctx.(*CreateListContext).op = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(146) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1) << _la) & 135763153920) != 0) { + { + p.SetState(145) + + var _x = p.ListInit() + + + localctx.(*CreateListContext).elems = _x + } + + } + p.SetState(149) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + if _la == CELParserCOMMA { + { + p.SetState(148) + p.Match(CELParserCOMMA) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + } + { + p.SetState(151) + p.Match(CELParserRPRACKET) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + + case 4: + localctx = NewCreateStructContext(p, localctx) + p.EnterOuterAlt(localctx, 4) + { + p.SetState(152) + + var _m = p.Match(CELParserLBRACE) + + localctx.(*CreateStructContext).op = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(154) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1) << _la) & 135763153920) != 0) { + { + p.SetState(153) + + var _x = p.MapInitializerList() + + + localctx.(*CreateStructContext).entries = _x + } + + } + p.SetState(157) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + if _la == CELParserCOMMA { + { + p.SetState(156) + p.Match(CELParserCOMMA) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + } + { + p.SetState(159) + p.Match(CELParserRBRACE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + + case 5: + localctx = NewCreateMessageContext(p, localctx) + p.EnterOuterAlt(localctx, 5) + p.SetState(161) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + if _la == CELParserDOT { + { + p.SetState(160) + + var _m = p.Match(CELParserDOT) + + localctx.(*CreateMessageContext).leadingDot = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + } + { + p.SetState(163) + + var _m = p.Match(CELParserIDENTIFIER) + + localctx.(*CreateMessageContext)._IDENTIFIER = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + localctx.(*CreateMessageContext).ids = append(localctx.(*CreateMessageContext).ids, localctx.(*CreateMessageContext)._IDENTIFIER) + p.SetState(168) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + for _la == CELParserDOT { + { + p.SetState(164) + + var _m = p.Match(CELParserDOT) + + localctx.(*CreateMessageContext).s16 = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + localctx.(*CreateMessageContext).ops = append(localctx.(*CreateMessageContext).ops, localctx.(*CreateMessageContext).s16) + { + p.SetState(165) + + var _m = p.Match(CELParserIDENTIFIER) + + localctx.(*CreateMessageContext)._IDENTIFIER = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + localctx.(*CreateMessageContext).ids = append(localctx.(*CreateMessageContext).ids, localctx.(*CreateMessageContext)._IDENTIFIER) + + + p.SetState(170) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + } + { + p.SetState(171) + + var _m = p.Match(CELParserLBRACE) + + localctx.(*CreateMessageContext).op = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(173) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + if _la == CELParserQUESTIONMARK || _la == CELParserIDENTIFIER { + { + p.SetState(172) + + var _x = p.FieldInitializerList() + + + localctx.(*CreateMessageContext).entries = _x + } + + } + p.SetState(176) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + if _la == CELParserCOMMA { + { + p.SetState(175) + p.Match(CELParserCOMMA) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + } + { + p.SetState(178) + p.Match(CELParserRBRACE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + + case 6: + localctx = NewConstantLiteralContext(p, localctx) + p.EnterOuterAlt(localctx, 6) + { + p.SetState(179) + p.Literal() + } + + case antlr.ATNInvalidAltNumber: + goto errorExit + } + + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + + +// IExprListContext is an interface to support dynamic dispatch. +type IExprListContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // Get_expr returns the _expr rule contexts. + Get_expr() IExprContext + + + // Set_expr sets the _expr rule contexts. + Set_expr(IExprContext) + + + // GetE returns the e rule context list. + GetE() []IExprContext + + + // SetE sets the e rule context list. + SetE([]IExprContext) + + + // Getter signatures + AllExpr() []IExprContext + Expr(i int) IExprContext + AllCOMMA() []antlr.TerminalNode + COMMA(i int) antlr.TerminalNode + + // IsExprListContext differentiates from other interfaces. + IsExprListContext() +} + +type ExprListContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser + _expr IExprContext + e []IExprContext +} + +func NewEmptyExprListContext() *ExprListContext { + var p = new(ExprListContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_exprList + return p +} + +func InitEmptyExprListContext(p *ExprListContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_exprList +} + +func (*ExprListContext) IsExprListContext() {} + +func NewExprListContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ExprListContext { + var p = new(ExprListContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = CELParserRULE_exprList + + return p +} + +func (s *ExprListContext) GetParser() antlr.Parser { return s.parser } + +func (s *ExprListContext) Get_expr() IExprContext { return s._expr } + + +func (s *ExprListContext) Set_expr(v IExprContext) { s._expr = v } + + +func (s *ExprListContext) GetE() []IExprContext { return s.e } + + +func (s *ExprListContext) SetE(v []IExprContext) { s.e = v } + + +func (s *ExprListContext) AllExpr() []IExprContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IExprContext); ok { + len++ + } + } + + tst := make([]IExprContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IExprContext); ok { + tst[i] = t.(IExprContext) + i++ + } + } + + return tst +} + +func (s *ExprListContext) Expr(i int) IExprContext { + var t antlr.RuleContext; + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IExprContext); ok { + if j == i { + t = ctx.(antlr.RuleContext); + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IExprContext) +} + +func (s *ExprListContext) AllCOMMA() []antlr.TerminalNode { + return s.GetTokens(CELParserCOMMA) +} + +func (s *ExprListContext) COMMA(i int) antlr.TerminalNode { + return s.GetToken(CELParserCOMMA, i) +} + +func (s *ExprListContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ExprListContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *ExprListContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterExprList(s) + } +} + +func (s *ExprListContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitExprList(s) + } +} + +func (s *ExprListContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitExprList(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *CELParser) ExprList() (localctx IExprListContext) { + localctx = NewExprListContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 18, CELParserRULE_exprList) + var _la int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(182) + + var _x = p.Expr() + + + localctx.(*ExprListContext)._expr = _x + } + localctx.(*ExprListContext).e = append(localctx.(*ExprListContext).e, localctx.(*ExprListContext)._expr) + p.SetState(187) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + for _la == CELParserCOMMA { + { + p.SetState(183) + p.Match(CELParserCOMMA) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(184) + + var _x = p.Expr() + + + localctx.(*ExprListContext)._expr = _x + } + localctx.(*ExprListContext).e = append(localctx.(*ExprListContext).e, localctx.(*ExprListContext)._expr) + + + p.SetState(189) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + } + + + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + + +// IListInitContext is an interface to support dynamic dispatch. +type IListInitContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // Get_optExpr returns the _optExpr rule contexts. + Get_optExpr() IOptExprContext + + + // Set_optExpr sets the _optExpr rule contexts. + Set_optExpr(IOptExprContext) + + + // GetElems returns the elems rule context list. + GetElems() []IOptExprContext + + + // SetElems sets the elems rule context list. + SetElems([]IOptExprContext) + + + // Getter signatures + AllOptExpr() []IOptExprContext + OptExpr(i int) IOptExprContext + AllCOMMA() []antlr.TerminalNode + COMMA(i int) antlr.TerminalNode + + // IsListInitContext differentiates from other interfaces. + IsListInitContext() +} + +type ListInitContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser + _optExpr IOptExprContext + elems []IOptExprContext +} + +func NewEmptyListInitContext() *ListInitContext { + var p = new(ListInitContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_listInit + return p +} + +func InitEmptyListInitContext(p *ListInitContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_listInit +} + +func (*ListInitContext) IsListInitContext() {} + +func NewListInitContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ListInitContext { + var p = new(ListInitContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = CELParserRULE_listInit + + return p +} + +func (s *ListInitContext) GetParser() antlr.Parser { return s.parser } + +func (s *ListInitContext) Get_optExpr() IOptExprContext { return s._optExpr } + + +func (s *ListInitContext) Set_optExpr(v IOptExprContext) { s._optExpr = v } + + +func (s *ListInitContext) GetElems() []IOptExprContext { return s.elems } + + +func (s *ListInitContext) SetElems(v []IOptExprContext) { s.elems = v } + + +func (s *ListInitContext) AllOptExpr() []IOptExprContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IOptExprContext); ok { + len++ + } + } + + tst := make([]IOptExprContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IOptExprContext); ok { + tst[i] = t.(IOptExprContext) + i++ + } + } + + return tst +} + +func (s *ListInitContext) OptExpr(i int) IOptExprContext { + var t antlr.RuleContext; + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOptExprContext); ok { + if j == i { + t = ctx.(antlr.RuleContext); + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IOptExprContext) +} + +func (s *ListInitContext) AllCOMMA() []antlr.TerminalNode { + return s.GetTokens(CELParserCOMMA) +} + +func (s *ListInitContext) COMMA(i int) antlr.TerminalNode { + return s.GetToken(CELParserCOMMA, i) +} + +func (s *ListInitContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ListInitContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *ListInitContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterListInit(s) + } +} + +func (s *ListInitContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitListInit(s) + } +} + +func (s *ListInitContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitListInit(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *CELParser) ListInit() (localctx IListInitContext) { + localctx = NewListInitContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 20, CELParserRULE_listInit) + var _alt int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(190) + + var _x = p.OptExpr() + + + localctx.(*ListInitContext)._optExpr = _x + } + localctx.(*ListInitContext).elems = append(localctx.(*ListInitContext).elems, localctx.(*ListInitContext)._optExpr) + p.SetState(195) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 27, p.GetParserRuleContext()) + if p.HasError() { + goto errorExit + } + for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { + if _alt == 1 { + { + p.SetState(191) + p.Match(CELParserCOMMA) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(192) + + var _x = p.OptExpr() + + + localctx.(*ListInitContext)._optExpr = _x + } + localctx.(*ListInitContext).elems = append(localctx.(*ListInitContext).elems, localctx.(*ListInitContext)._optExpr) + + + } + p.SetState(197) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 27, p.GetParserRuleContext()) + if p.HasError() { + goto errorExit + } + } + + + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + + +// IFieldInitializerListContext is an interface to support dynamic dispatch. +type IFieldInitializerListContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // GetS21 returns the s21 token. + GetS21() antlr.Token + + + // SetS21 sets the s21 token. + SetS21(antlr.Token) + + + // GetCols returns the cols token list. + GetCols() []antlr.Token + + + // SetCols sets the cols token list. + SetCols([]antlr.Token) + + + // Get_optField returns the _optField rule contexts. + Get_optField() IOptFieldContext + + // Get_expr returns the _expr rule contexts. + Get_expr() IExprContext + + + // Set_optField sets the _optField rule contexts. + Set_optField(IOptFieldContext) + + // Set_expr sets the _expr rule contexts. + Set_expr(IExprContext) + + + // GetFields returns the fields rule context list. + GetFields() []IOptFieldContext + + // GetValues returns the values rule context list. + GetValues() []IExprContext + + + // SetFields sets the fields rule context list. + SetFields([]IOptFieldContext) + + // SetValues sets the values rule context list. + SetValues([]IExprContext) + + + // Getter signatures + AllOptField() []IOptFieldContext + OptField(i int) IOptFieldContext + AllCOLON() []antlr.TerminalNode + COLON(i int) antlr.TerminalNode + AllExpr() []IExprContext + Expr(i int) IExprContext + AllCOMMA() []antlr.TerminalNode + COMMA(i int) antlr.TerminalNode + + // IsFieldInitializerListContext differentiates from other interfaces. + IsFieldInitializerListContext() +} + +type FieldInitializerListContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser + _optField IOptFieldContext + fields []IOptFieldContext + s21 antlr.Token + cols []antlr.Token + _expr IExprContext + values []IExprContext +} + +func NewEmptyFieldInitializerListContext() *FieldInitializerListContext { + var p = new(FieldInitializerListContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_fieldInitializerList + return p +} + +func InitEmptyFieldInitializerListContext(p *FieldInitializerListContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_fieldInitializerList +} + +func (*FieldInitializerListContext) IsFieldInitializerListContext() {} + +func NewFieldInitializerListContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FieldInitializerListContext { + var p = new(FieldInitializerListContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = CELParserRULE_fieldInitializerList + + return p +} + +func (s *FieldInitializerListContext) GetParser() antlr.Parser { return s.parser } + +func (s *FieldInitializerListContext) GetS21() antlr.Token { return s.s21 } + + +func (s *FieldInitializerListContext) SetS21(v antlr.Token) { s.s21 = v } + + +func (s *FieldInitializerListContext) GetCols() []antlr.Token { return s.cols } + + +func (s *FieldInitializerListContext) SetCols(v []antlr.Token) { s.cols = v } + + +func (s *FieldInitializerListContext) Get_optField() IOptFieldContext { return s._optField } + +func (s *FieldInitializerListContext) Get_expr() IExprContext { return s._expr } + + +func (s *FieldInitializerListContext) Set_optField(v IOptFieldContext) { s._optField = v } + +func (s *FieldInitializerListContext) Set_expr(v IExprContext) { s._expr = v } + + +func (s *FieldInitializerListContext) GetFields() []IOptFieldContext { return s.fields } + +func (s *FieldInitializerListContext) GetValues() []IExprContext { return s.values } + + +func (s *FieldInitializerListContext) SetFields(v []IOptFieldContext) { s.fields = v } + +func (s *FieldInitializerListContext) SetValues(v []IExprContext) { s.values = v } + + +func (s *FieldInitializerListContext) AllOptField() []IOptFieldContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IOptFieldContext); ok { + len++ + } + } + + tst := make([]IOptFieldContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IOptFieldContext); ok { + tst[i] = t.(IOptFieldContext) + i++ + } + } + + return tst +} + +func (s *FieldInitializerListContext) OptField(i int) IOptFieldContext { + var t antlr.RuleContext; + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOptFieldContext); ok { + if j == i { + t = ctx.(antlr.RuleContext); + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IOptFieldContext) +} + +func (s *FieldInitializerListContext) AllCOLON() []antlr.TerminalNode { + return s.GetTokens(CELParserCOLON) +} + +func (s *FieldInitializerListContext) COLON(i int) antlr.TerminalNode { + return s.GetToken(CELParserCOLON, i) +} + +func (s *FieldInitializerListContext) AllExpr() []IExprContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IExprContext); ok { + len++ + } + } + + tst := make([]IExprContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IExprContext); ok { + tst[i] = t.(IExprContext) + i++ + } + } + + return tst +} + +func (s *FieldInitializerListContext) Expr(i int) IExprContext { + var t antlr.RuleContext; + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IExprContext); ok { + if j == i { + t = ctx.(antlr.RuleContext); + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IExprContext) +} + +func (s *FieldInitializerListContext) AllCOMMA() []antlr.TerminalNode { + return s.GetTokens(CELParserCOMMA) +} + +func (s *FieldInitializerListContext) COMMA(i int) antlr.TerminalNode { + return s.GetToken(CELParserCOMMA, i) +} + +func (s *FieldInitializerListContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *FieldInitializerListContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *FieldInitializerListContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterFieldInitializerList(s) + } +} + +func (s *FieldInitializerListContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitFieldInitializerList(s) + } +} + +func (s *FieldInitializerListContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitFieldInitializerList(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *CELParser) FieldInitializerList() (localctx IFieldInitializerListContext) { + localctx = NewFieldInitializerListContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 22, CELParserRULE_fieldInitializerList) + var _alt int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(198) + + var _x = p.OptField() + + + localctx.(*FieldInitializerListContext)._optField = _x + } + localctx.(*FieldInitializerListContext).fields = append(localctx.(*FieldInitializerListContext).fields, localctx.(*FieldInitializerListContext)._optField) + { + p.SetState(199) + + var _m = p.Match(CELParserCOLON) + + localctx.(*FieldInitializerListContext).s21 = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + localctx.(*FieldInitializerListContext).cols = append(localctx.(*FieldInitializerListContext).cols, localctx.(*FieldInitializerListContext).s21) + { + p.SetState(200) + + var _x = p.Expr() + + + localctx.(*FieldInitializerListContext)._expr = _x + } + localctx.(*FieldInitializerListContext).values = append(localctx.(*FieldInitializerListContext).values, localctx.(*FieldInitializerListContext)._expr) + p.SetState(208) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 28, p.GetParserRuleContext()) + if p.HasError() { + goto errorExit + } + for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { + if _alt == 1 { + { + p.SetState(201) + p.Match(CELParserCOMMA) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(202) + + var _x = p.OptField() + + + localctx.(*FieldInitializerListContext)._optField = _x + } + localctx.(*FieldInitializerListContext).fields = append(localctx.(*FieldInitializerListContext).fields, localctx.(*FieldInitializerListContext)._optField) + { + p.SetState(203) + + var _m = p.Match(CELParserCOLON) + + localctx.(*FieldInitializerListContext).s21 = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + localctx.(*FieldInitializerListContext).cols = append(localctx.(*FieldInitializerListContext).cols, localctx.(*FieldInitializerListContext).s21) + { + p.SetState(204) + + var _x = p.Expr() + + + localctx.(*FieldInitializerListContext)._expr = _x + } + localctx.(*FieldInitializerListContext).values = append(localctx.(*FieldInitializerListContext).values, localctx.(*FieldInitializerListContext)._expr) + + + } + p.SetState(210) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 28, p.GetParserRuleContext()) + if p.HasError() { + goto errorExit + } + } + + + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + + +// IOptFieldContext is an interface to support dynamic dispatch. +type IOptFieldContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // GetOpt returns the opt token. + GetOpt() antlr.Token + + + // SetOpt sets the opt token. + SetOpt(antlr.Token) + + + // Getter signatures + IDENTIFIER() antlr.TerminalNode + QUESTIONMARK() antlr.TerminalNode + + // IsOptFieldContext differentiates from other interfaces. + IsOptFieldContext() +} + +type OptFieldContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser + opt antlr.Token +} + +func NewEmptyOptFieldContext() *OptFieldContext { + var p = new(OptFieldContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_optField + return p +} + +func InitEmptyOptFieldContext(p *OptFieldContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_optField +} + +func (*OptFieldContext) IsOptFieldContext() {} + +func NewOptFieldContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *OptFieldContext { + var p = new(OptFieldContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = CELParserRULE_optField + + return p +} + +func (s *OptFieldContext) GetParser() antlr.Parser { return s.parser } + +func (s *OptFieldContext) GetOpt() antlr.Token { return s.opt } + + +func (s *OptFieldContext) SetOpt(v antlr.Token) { s.opt = v } + + +func (s *OptFieldContext) IDENTIFIER() antlr.TerminalNode { + return s.GetToken(CELParserIDENTIFIER, 0) +} + +func (s *OptFieldContext) QUESTIONMARK() antlr.TerminalNode { + return s.GetToken(CELParserQUESTIONMARK, 0) +} + +func (s *OptFieldContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *OptFieldContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *OptFieldContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterOptField(s) + } +} + +func (s *OptFieldContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitOptField(s) + } +} + +func (s *OptFieldContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitOptField(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *CELParser) OptField() (localctx IOptFieldContext) { + localctx = NewOptFieldContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 24, CELParserRULE_optField) + var _la int + + p.EnterOuterAlt(localctx, 1) + p.SetState(212) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + if _la == CELParserQUESTIONMARK { + { + p.SetState(211) + + var _m = p.Match(CELParserQUESTIONMARK) + + localctx.(*OptFieldContext).opt = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + } + { + p.SetState(214) + p.Match(CELParserIDENTIFIER) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + + +// IMapInitializerListContext is an interface to support dynamic dispatch. +type IMapInitializerListContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // GetS21 returns the s21 token. + GetS21() antlr.Token + + + // SetS21 sets the s21 token. + SetS21(antlr.Token) + + + // GetCols returns the cols token list. + GetCols() []antlr.Token + + + // SetCols sets the cols token list. + SetCols([]antlr.Token) + + + // Get_optExpr returns the _optExpr rule contexts. + Get_optExpr() IOptExprContext + + // Get_expr returns the _expr rule contexts. + Get_expr() IExprContext + + + // Set_optExpr sets the _optExpr rule contexts. + Set_optExpr(IOptExprContext) + + // Set_expr sets the _expr rule contexts. + Set_expr(IExprContext) + + + // GetKeys returns the keys rule context list. + GetKeys() []IOptExprContext + + // GetValues returns the values rule context list. + GetValues() []IExprContext + + + // SetKeys sets the keys rule context list. + SetKeys([]IOptExprContext) + + // SetValues sets the values rule context list. + SetValues([]IExprContext) + + + // Getter signatures + AllOptExpr() []IOptExprContext + OptExpr(i int) IOptExprContext + AllCOLON() []antlr.TerminalNode + COLON(i int) antlr.TerminalNode + AllExpr() []IExprContext + Expr(i int) IExprContext + AllCOMMA() []antlr.TerminalNode + COMMA(i int) antlr.TerminalNode + + // IsMapInitializerListContext differentiates from other interfaces. + IsMapInitializerListContext() +} + +type MapInitializerListContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser + _optExpr IOptExprContext + keys []IOptExprContext + s21 antlr.Token + cols []antlr.Token + _expr IExprContext + values []IExprContext +} + +func NewEmptyMapInitializerListContext() *MapInitializerListContext { + var p = new(MapInitializerListContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_mapInitializerList + return p +} + +func InitEmptyMapInitializerListContext(p *MapInitializerListContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_mapInitializerList +} + +func (*MapInitializerListContext) IsMapInitializerListContext() {} + +func NewMapInitializerListContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MapInitializerListContext { + var p = new(MapInitializerListContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = CELParserRULE_mapInitializerList + + return p +} + +func (s *MapInitializerListContext) GetParser() antlr.Parser { return s.parser } + +func (s *MapInitializerListContext) GetS21() antlr.Token { return s.s21 } + + +func (s *MapInitializerListContext) SetS21(v antlr.Token) { s.s21 = v } + + +func (s *MapInitializerListContext) GetCols() []antlr.Token { return s.cols } + + +func (s *MapInitializerListContext) SetCols(v []antlr.Token) { s.cols = v } + + +func (s *MapInitializerListContext) Get_optExpr() IOptExprContext { return s._optExpr } + +func (s *MapInitializerListContext) Get_expr() IExprContext { return s._expr } + + +func (s *MapInitializerListContext) Set_optExpr(v IOptExprContext) { s._optExpr = v } + +func (s *MapInitializerListContext) Set_expr(v IExprContext) { s._expr = v } + + +func (s *MapInitializerListContext) GetKeys() []IOptExprContext { return s.keys } + +func (s *MapInitializerListContext) GetValues() []IExprContext { return s.values } + + +func (s *MapInitializerListContext) SetKeys(v []IOptExprContext) { s.keys = v } + +func (s *MapInitializerListContext) SetValues(v []IExprContext) { s.values = v } + + +func (s *MapInitializerListContext) AllOptExpr() []IOptExprContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IOptExprContext); ok { + len++ + } + } + + tst := make([]IOptExprContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IOptExprContext); ok { + tst[i] = t.(IOptExprContext) + i++ + } + } + + return tst +} + +func (s *MapInitializerListContext) OptExpr(i int) IOptExprContext { + var t antlr.RuleContext; + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOptExprContext); ok { + if j == i { + t = ctx.(antlr.RuleContext); + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IOptExprContext) +} + +func (s *MapInitializerListContext) AllCOLON() []antlr.TerminalNode { + return s.GetTokens(CELParserCOLON) +} + +func (s *MapInitializerListContext) COLON(i int) antlr.TerminalNode { + return s.GetToken(CELParserCOLON, i) +} + +func (s *MapInitializerListContext) AllExpr() []IExprContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IExprContext); ok { + len++ + } + } + + tst := make([]IExprContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IExprContext); ok { + tst[i] = t.(IExprContext) + i++ + } + } + + return tst +} + +func (s *MapInitializerListContext) Expr(i int) IExprContext { + var t antlr.RuleContext; + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IExprContext); ok { + if j == i { + t = ctx.(antlr.RuleContext); + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IExprContext) +} + +func (s *MapInitializerListContext) AllCOMMA() []antlr.TerminalNode { + return s.GetTokens(CELParserCOMMA) +} + +func (s *MapInitializerListContext) COMMA(i int) antlr.TerminalNode { + return s.GetToken(CELParserCOMMA, i) +} + +func (s *MapInitializerListContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *MapInitializerListContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *MapInitializerListContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterMapInitializerList(s) + } +} + +func (s *MapInitializerListContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitMapInitializerList(s) + } +} + +func (s *MapInitializerListContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitMapInitializerList(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *CELParser) MapInitializerList() (localctx IMapInitializerListContext) { + localctx = NewMapInitializerListContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 26, CELParserRULE_mapInitializerList) + var _alt int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(216) + + var _x = p.OptExpr() + + + localctx.(*MapInitializerListContext)._optExpr = _x + } + localctx.(*MapInitializerListContext).keys = append(localctx.(*MapInitializerListContext).keys, localctx.(*MapInitializerListContext)._optExpr) + { + p.SetState(217) + + var _m = p.Match(CELParserCOLON) + + localctx.(*MapInitializerListContext).s21 = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + localctx.(*MapInitializerListContext).cols = append(localctx.(*MapInitializerListContext).cols, localctx.(*MapInitializerListContext).s21) + { + p.SetState(218) + + var _x = p.Expr() + + + localctx.(*MapInitializerListContext)._expr = _x + } + localctx.(*MapInitializerListContext).values = append(localctx.(*MapInitializerListContext).values, localctx.(*MapInitializerListContext)._expr) + p.SetState(226) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 30, p.GetParserRuleContext()) + if p.HasError() { + goto errorExit + } + for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { + if _alt == 1 { + { + p.SetState(219) + p.Match(CELParserCOMMA) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(220) + + var _x = p.OptExpr() + + + localctx.(*MapInitializerListContext)._optExpr = _x + } + localctx.(*MapInitializerListContext).keys = append(localctx.(*MapInitializerListContext).keys, localctx.(*MapInitializerListContext)._optExpr) + { + p.SetState(221) + + var _m = p.Match(CELParserCOLON) + + localctx.(*MapInitializerListContext).s21 = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + localctx.(*MapInitializerListContext).cols = append(localctx.(*MapInitializerListContext).cols, localctx.(*MapInitializerListContext).s21) + { + p.SetState(222) + + var _x = p.Expr() + + + localctx.(*MapInitializerListContext)._expr = _x + } + localctx.(*MapInitializerListContext).values = append(localctx.(*MapInitializerListContext).values, localctx.(*MapInitializerListContext)._expr) + + + } + p.SetState(228) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 30, p.GetParserRuleContext()) + if p.HasError() { + goto errorExit + } + } + + + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + + +// IOptExprContext is an interface to support dynamic dispatch. +type IOptExprContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // GetOpt returns the opt token. + GetOpt() antlr.Token + + + // SetOpt sets the opt token. + SetOpt(antlr.Token) + + + // GetE returns the e rule contexts. + GetE() IExprContext + + + // SetE sets the e rule contexts. + SetE(IExprContext) + + + // Getter signatures + Expr() IExprContext + QUESTIONMARK() antlr.TerminalNode + + // IsOptExprContext differentiates from other interfaces. + IsOptExprContext() +} + +type OptExprContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser + opt antlr.Token + e IExprContext +} + +func NewEmptyOptExprContext() *OptExprContext { + var p = new(OptExprContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_optExpr + return p +} + +func InitEmptyOptExprContext(p *OptExprContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_optExpr +} + +func (*OptExprContext) IsOptExprContext() {} + +func NewOptExprContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *OptExprContext { + var p = new(OptExprContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = CELParserRULE_optExpr + + return p +} + +func (s *OptExprContext) GetParser() antlr.Parser { return s.parser } + +func (s *OptExprContext) GetOpt() antlr.Token { return s.opt } + + +func (s *OptExprContext) SetOpt(v antlr.Token) { s.opt = v } + + +func (s *OptExprContext) GetE() IExprContext { return s.e } + + +func (s *OptExprContext) SetE(v IExprContext) { s.e = v } + + +func (s *OptExprContext) Expr() IExprContext { + var t antlr.RuleContext; + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IExprContext); ok { + t = ctx.(antlr.RuleContext); + break + } + } + + if t == nil { + return nil + } + + return t.(IExprContext) +} + +func (s *OptExprContext) QUESTIONMARK() antlr.TerminalNode { + return s.GetToken(CELParserQUESTIONMARK, 0) +} + +func (s *OptExprContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *OptExprContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *OptExprContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterOptExpr(s) + } +} + +func (s *OptExprContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitOptExpr(s) + } +} + +func (s *OptExprContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitOptExpr(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *CELParser) OptExpr() (localctx IOptExprContext) { + localctx = NewOptExprContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 28, CELParserRULE_optExpr) + var _la int + + p.EnterOuterAlt(localctx, 1) + p.SetState(230) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + if _la == CELParserQUESTIONMARK { + { + p.SetState(229) + + var _m = p.Match(CELParserQUESTIONMARK) + + localctx.(*OptExprContext).opt = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + } + { + p.SetState(232) + + var _x = p.Expr() + + + localctx.(*OptExprContext).e = _x + } + + + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + + +// ILiteralContext is an interface to support dynamic dispatch. +type ILiteralContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + // IsLiteralContext differentiates from other interfaces. + IsLiteralContext() +} + +type LiteralContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyLiteralContext() *LiteralContext { + var p = new(LiteralContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_literal + return p +} + +func InitEmptyLiteralContext(p *LiteralContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = CELParserRULE_literal +} + +func (*LiteralContext) IsLiteralContext() {} + +func NewLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LiteralContext { + var p = new(LiteralContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = CELParserRULE_literal + + return p +} + +func (s *LiteralContext) GetParser() antlr.Parser { return s.parser } + +func (s *LiteralContext) CopyAll(ctx *LiteralContext) { + s.CopyFrom(&ctx.BaseParserRuleContext) +} + +func (s *LiteralContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *LiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + + + +type BytesContext struct { + LiteralContext + tok antlr.Token +} + +func NewBytesContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BytesContext { + var p = new(BytesContext) + + InitEmptyLiteralContext(&p.LiteralContext) + p.parser = parser + p.CopyAll(ctx.(*LiteralContext)) + + return p +} + + +func (s *BytesContext) GetTok() antlr.Token { return s.tok } + + +func (s *BytesContext) SetTok(v antlr.Token) { s.tok = v } + +func (s *BytesContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BytesContext) BYTES() antlr.TerminalNode { + return s.GetToken(CELParserBYTES, 0) +} + + +func (s *BytesContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterBytes(s) + } +} + +func (s *BytesContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitBytes(s) + } +} + +func (s *BytesContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitBytes(s) + + default: + return t.VisitChildren(s) + } +} + + +type UintContext struct { + LiteralContext + tok antlr.Token +} + +func NewUintContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *UintContext { + var p = new(UintContext) + + InitEmptyLiteralContext(&p.LiteralContext) + p.parser = parser + p.CopyAll(ctx.(*LiteralContext)) + + return p +} + + +func (s *UintContext) GetTok() antlr.Token { return s.tok } + + +func (s *UintContext) SetTok(v antlr.Token) { s.tok = v } + +func (s *UintContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *UintContext) NUM_UINT() antlr.TerminalNode { + return s.GetToken(CELParserNUM_UINT, 0) +} + + +func (s *UintContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterUint(s) + } +} + +func (s *UintContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitUint(s) + } +} + +func (s *UintContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitUint(s) + + default: + return t.VisitChildren(s) + } +} + + +type NullContext struct { + LiteralContext + tok antlr.Token +} + +func NewNullContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *NullContext { + var p = new(NullContext) + + InitEmptyLiteralContext(&p.LiteralContext) + p.parser = parser + p.CopyAll(ctx.(*LiteralContext)) + + return p +} + + +func (s *NullContext) GetTok() antlr.Token { return s.tok } + + +func (s *NullContext) SetTok(v antlr.Token) { s.tok = v } + +func (s *NullContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *NullContext) NUL() antlr.TerminalNode { + return s.GetToken(CELParserNUL, 0) +} + + +func (s *NullContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterNull(s) + } +} + +func (s *NullContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitNull(s) + } +} + +func (s *NullContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitNull(s) + + default: + return t.VisitChildren(s) + } +} + + +type BoolFalseContext struct { + LiteralContext + tok antlr.Token +} + +func NewBoolFalseContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BoolFalseContext { + var p = new(BoolFalseContext) + + InitEmptyLiteralContext(&p.LiteralContext) + p.parser = parser + p.CopyAll(ctx.(*LiteralContext)) + + return p +} + + +func (s *BoolFalseContext) GetTok() antlr.Token { return s.tok } + + +func (s *BoolFalseContext) SetTok(v antlr.Token) { s.tok = v } + +func (s *BoolFalseContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BoolFalseContext) CEL_FALSE() antlr.TerminalNode { + return s.GetToken(CELParserCEL_FALSE, 0) +} + + +func (s *BoolFalseContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterBoolFalse(s) + } +} + +func (s *BoolFalseContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitBoolFalse(s) + } +} + +func (s *BoolFalseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitBoolFalse(s) + + default: + return t.VisitChildren(s) + } +} + + +type StringContext struct { + LiteralContext + tok antlr.Token +} + +func NewStringContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *StringContext { + var p = new(StringContext) + + InitEmptyLiteralContext(&p.LiteralContext) + p.parser = parser + p.CopyAll(ctx.(*LiteralContext)) + + return p +} + + +func (s *StringContext) GetTok() antlr.Token { return s.tok } + + +func (s *StringContext) SetTok(v antlr.Token) { s.tok = v } + +func (s *StringContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *StringContext) STRING() antlr.TerminalNode { + return s.GetToken(CELParserSTRING, 0) +} + + +func (s *StringContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterString(s) + } +} + +func (s *StringContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitString(s) + } +} + +func (s *StringContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitString(s) + + default: + return t.VisitChildren(s) + } +} + + +type DoubleContext struct { + LiteralContext + sign antlr.Token + tok antlr.Token +} + +func NewDoubleContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DoubleContext { + var p = new(DoubleContext) + + InitEmptyLiteralContext(&p.LiteralContext) + p.parser = parser + p.CopyAll(ctx.(*LiteralContext)) + + return p +} + + +func (s *DoubleContext) GetSign() antlr.Token { return s.sign } + +func (s *DoubleContext) GetTok() antlr.Token { return s.tok } + + +func (s *DoubleContext) SetSign(v antlr.Token) { s.sign = v } + +func (s *DoubleContext) SetTok(v antlr.Token) { s.tok = v } + +func (s *DoubleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DoubleContext) NUM_FLOAT() antlr.TerminalNode { + return s.GetToken(CELParserNUM_FLOAT, 0) +} + +func (s *DoubleContext) MINUS() antlr.TerminalNode { + return s.GetToken(CELParserMINUS, 0) +} + + +func (s *DoubleContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterDouble(s) + } +} + +func (s *DoubleContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitDouble(s) + } +} + +func (s *DoubleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitDouble(s) + + default: + return t.VisitChildren(s) + } +} + + +type BoolTrueContext struct { + LiteralContext + tok antlr.Token +} + +func NewBoolTrueContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BoolTrueContext { + var p = new(BoolTrueContext) + + InitEmptyLiteralContext(&p.LiteralContext) + p.parser = parser + p.CopyAll(ctx.(*LiteralContext)) + + return p +} + + +func (s *BoolTrueContext) GetTok() antlr.Token { return s.tok } + + +func (s *BoolTrueContext) SetTok(v antlr.Token) { s.tok = v } + +func (s *BoolTrueContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BoolTrueContext) CEL_TRUE() antlr.TerminalNode { + return s.GetToken(CELParserCEL_TRUE, 0) +} + + +func (s *BoolTrueContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterBoolTrue(s) + } +} + +func (s *BoolTrueContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitBoolTrue(s) + } +} + +func (s *BoolTrueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitBoolTrue(s) + + default: + return t.VisitChildren(s) + } +} + + +type IntContext struct { + LiteralContext + sign antlr.Token + tok antlr.Token +} + +func NewIntContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *IntContext { + var p = new(IntContext) + + InitEmptyLiteralContext(&p.LiteralContext) + p.parser = parser + p.CopyAll(ctx.(*LiteralContext)) + + return p +} + + +func (s *IntContext) GetSign() antlr.Token { return s.sign } + +func (s *IntContext) GetTok() antlr.Token { return s.tok } + + +func (s *IntContext) SetSign(v antlr.Token) { s.sign = v } + +func (s *IntContext) SetTok(v antlr.Token) { s.tok = v } + +func (s *IntContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *IntContext) NUM_INT() antlr.TerminalNode { + return s.GetToken(CELParserNUM_INT, 0) +} + +func (s *IntContext) MINUS() antlr.TerminalNode { + return s.GetToken(CELParserMINUS, 0) +} + + +func (s *IntContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.EnterInt(s) + } +} + +func (s *IntContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CELListener); ok { + listenerT.ExitInt(s) + } +} + +func (s *IntContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CELVisitor: + return t.VisitInt(s) + + default: + return t.VisitChildren(s) + } +} + + + +func (p *CELParser) Literal() (localctx ILiteralContext) { + localctx = NewLiteralContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 30, CELParserRULE_literal) + var _la int + + p.SetState(248) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 34, p.GetParserRuleContext()) { + case 1: + localctx = NewIntContext(p, localctx) + p.EnterOuterAlt(localctx, 1) + p.SetState(235) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + if _la == CELParserMINUS { + { + p.SetState(234) + + var _m = p.Match(CELParserMINUS) + + localctx.(*IntContext).sign = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + } + { + p.SetState(237) + + var _m = p.Match(CELParserNUM_INT) + + localctx.(*IntContext).tok = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + + case 2: + localctx = NewUintContext(p, localctx) + p.EnterOuterAlt(localctx, 2) + { + p.SetState(238) + + var _m = p.Match(CELParserNUM_UINT) + + localctx.(*UintContext).tok = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + + case 3: + localctx = NewDoubleContext(p, localctx) + p.EnterOuterAlt(localctx, 3) + p.SetState(240) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + + if _la == CELParserMINUS { + { + p.SetState(239) + + var _m = p.Match(CELParserMINUS) + + localctx.(*DoubleContext).sign = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + } + { + p.SetState(242) + + var _m = p.Match(CELParserNUM_FLOAT) + + localctx.(*DoubleContext).tok = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + + case 4: + localctx = NewStringContext(p, localctx) + p.EnterOuterAlt(localctx, 4) + { + p.SetState(243) + + var _m = p.Match(CELParserSTRING) + + localctx.(*StringContext).tok = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + + case 5: + localctx = NewBytesContext(p, localctx) + p.EnterOuterAlt(localctx, 5) + { + p.SetState(244) + + var _m = p.Match(CELParserBYTES) + + localctx.(*BytesContext).tok = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + + case 6: + localctx = NewBoolTrueContext(p, localctx) + p.EnterOuterAlt(localctx, 6) + { + p.SetState(245) + + var _m = p.Match(CELParserCEL_TRUE) + + localctx.(*BoolTrueContext).tok = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + + case 7: + localctx = NewBoolFalseContext(p, localctx) + p.EnterOuterAlt(localctx, 7) + { + p.SetState(246) + + var _m = p.Match(CELParserCEL_FALSE) + + localctx.(*BoolFalseContext).tok = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + + case 8: + localctx = NewNullContext(p, localctx) + p.EnterOuterAlt(localctx, 8) + { + p.SetState(247) + + var _m = p.Match(CELParserNUL) + + localctx.(*NullContext).tok = _m + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case antlr.ATNInvalidAltNumber: + goto errorExit + } + + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + + +func (p *CELParser) Sempred(localctx antlr.RuleContext, ruleIndex, predIndex int) bool { + switch ruleIndex { + case 4: + var t *RelationContext = nil + if localctx != nil { t = localctx.(*RelationContext) } + return p.Relation_Sempred(t, predIndex) + + case 5: + var t *CalcContext = nil + if localctx != nil { t = localctx.(*CalcContext) } + return p.Calc_Sempred(t, predIndex) + + case 7: + var t *MemberContext = nil + if localctx != nil { t = localctx.(*MemberContext) } + return p.Member_Sempred(t, predIndex) + + + default: + panic("No predicate with index: " + fmt.Sprint(ruleIndex)) + } +} + +func (p *CELParser) Relation_Sempred(localctx antlr.RuleContext, predIndex int) bool { + switch predIndex { + case 0: + return p.Precpred(p.GetParserRuleContext(), 1) + + default: + panic("No predicate with index: " + fmt.Sprint(predIndex)) + } +} + +func (p *CELParser) Calc_Sempred(localctx antlr.RuleContext, predIndex int) bool { + switch predIndex { + case 1: + return p.Precpred(p.GetParserRuleContext(), 2) + + case 2: + return p.Precpred(p.GetParserRuleContext(), 1) + + default: + panic("No predicate with index: " + fmt.Sprint(predIndex)) + } +} + +func (p *CELParser) Member_Sempred(localctx antlr.RuleContext, predIndex int) bool { + switch predIndex { + case 3: + return p.Precpred(p.GetParserRuleContext(), 3) + + case 4: + return p.Precpred(p.GetParserRuleContext(), 2) + + case 5: + return p.Precpred(p.GetParserRuleContext(), 1) + + default: + panic("No predicate with index: " + fmt.Sprint(predIndex)) + } +} + diff --git a/vendor/github.com/google/cel-go/parser/gen/cel_visitor.go b/vendor/github.com/google/cel-go/parser/gen/cel_visitor.go new file mode 100644 index 000000000..d2fbd563a --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/gen/cel_visitor.go @@ -0,0 +1,110 @@ +// Code generated from /usr/local/google/home/tswadell/go/src/github.com/google/cel-go/parser/gen/CEL.g4 by ANTLR 4.13.1. DO NOT EDIT. + +package gen // CEL +import "github.com/antlr4-go/antlr/v4" + + +// A complete Visitor for a parse tree produced by CELParser. +type CELVisitor interface { + antlr.ParseTreeVisitor + + // Visit a parse tree produced by CELParser#start. + VisitStart(ctx *StartContext) interface{} + + // Visit a parse tree produced by CELParser#expr. + VisitExpr(ctx *ExprContext) interface{} + + // Visit a parse tree produced by CELParser#conditionalOr. + VisitConditionalOr(ctx *ConditionalOrContext) interface{} + + // Visit a parse tree produced by CELParser#conditionalAnd. + VisitConditionalAnd(ctx *ConditionalAndContext) interface{} + + // Visit a parse tree produced by CELParser#relation. + VisitRelation(ctx *RelationContext) interface{} + + // Visit a parse tree produced by CELParser#calc. + VisitCalc(ctx *CalcContext) interface{} + + // Visit a parse tree produced by CELParser#MemberExpr. + VisitMemberExpr(ctx *MemberExprContext) interface{} + + // Visit a parse tree produced by CELParser#LogicalNot. + VisitLogicalNot(ctx *LogicalNotContext) interface{} + + // Visit a parse tree produced by CELParser#Negate. + VisitNegate(ctx *NegateContext) interface{} + + // Visit a parse tree produced by CELParser#MemberCall. + VisitMemberCall(ctx *MemberCallContext) interface{} + + // Visit a parse tree produced by CELParser#Select. + VisitSelect(ctx *SelectContext) interface{} + + // Visit a parse tree produced by CELParser#PrimaryExpr. + VisitPrimaryExpr(ctx *PrimaryExprContext) interface{} + + // Visit a parse tree produced by CELParser#Index. + VisitIndex(ctx *IndexContext) interface{} + + // Visit a parse tree produced by CELParser#IdentOrGlobalCall. + VisitIdentOrGlobalCall(ctx *IdentOrGlobalCallContext) interface{} + + // Visit a parse tree produced by CELParser#Nested. + VisitNested(ctx *NestedContext) interface{} + + // Visit a parse tree produced by CELParser#CreateList. + VisitCreateList(ctx *CreateListContext) interface{} + + // Visit a parse tree produced by CELParser#CreateStruct. + VisitCreateStruct(ctx *CreateStructContext) interface{} + + // Visit a parse tree produced by CELParser#CreateMessage. + VisitCreateMessage(ctx *CreateMessageContext) interface{} + + // Visit a parse tree produced by CELParser#ConstantLiteral. + VisitConstantLiteral(ctx *ConstantLiteralContext) interface{} + + // Visit a parse tree produced by CELParser#exprList. + VisitExprList(ctx *ExprListContext) interface{} + + // Visit a parse tree produced by CELParser#listInit. + VisitListInit(ctx *ListInitContext) interface{} + + // Visit a parse tree produced by CELParser#fieldInitializerList. + VisitFieldInitializerList(ctx *FieldInitializerListContext) interface{} + + // Visit a parse tree produced by CELParser#optField. + VisitOptField(ctx *OptFieldContext) interface{} + + // Visit a parse tree produced by CELParser#mapInitializerList. + VisitMapInitializerList(ctx *MapInitializerListContext) interface{} + + // Visit a parse tree produced by CELParser#optExpr. + VisitOptExpr(ctx *OptExprContext) interface{} + + // Visit a parse tree produced by CELParser#Int. + VisitInt(ctx *IntContext) interface{} + + // Visit a parse tree produced by CELParser#Uint. + VisitUint(ctx *UintContext) interface{} + + // Visit a parse tree produced by CELParser#Double. + VisitDouble(ctx *DoubleContext) interface{} + + // Visit a parse tree produced by CELParser#String. + VisitString(ctx *StringContext) interface{} + + // Visit a parse tree produced by CELParser#Bytes. + VisitBytes(ctx *BytesContext) interface{} + + // Visit a parse tree produced by CELParser#BoolTrue. + VisitBoolTrue(ctx *BoolTrueContext) interface{} + + // Visit a parse tree produced by CELParser#BoolFalse. + VisitBoolFalse(ctx *BoolFalseContext) interface{} + + // Visit a parse tree produced by CELParser#Null. + VisitNull(ctx *NullContext) interface{} + +} \ No newline at end of file diff --git a/vendor/github.com/google/cel-go/parser/gen/doc.go b/vendor/github.com/google/cel-go/parser/gen/doc.go new file mode 100644 index 000000000..57edd4434 --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/gen/doc.go @@ -0,0 +1,16 @@ +// Copyright 2021 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 gen contains all of the ANTLR-generated sources used by the cel-go parser. +package gen diff --git a/vendor/github.com/google/cel-go/parser/gen/generate.sh b/vendor/github.com/google/cel-go/parser/gen/generate.sh new file mode 100644 index 000000000..27a9559f7 --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/gen/generate.sh @@ -0,0 +1,35 @@ +#!/bin/bash -eu +# +# Copyright 2018 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. + +# To regenerate the CEL lexer/parser statically do the following: +# 1. Download the latest anltr tool from https://www.antlr.org/download.html +# 2. Copy the downloaded jar to the gen directory. It will have a name +# like antlr--complete.jar. +# 3. Modify the script below to refer to the current ANTLR version. +# 4. Execute the generation script from the gen directory. +# 5. Delete the jar and commit the regenerated sources. + +#!/bin/sh + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +# Generate AntLR artifacts. +java -Xmx500M -cp ${DIR}/antlr-4.13.1-complete.jar org.antlr.v4.Tool \ + -Dlanguage=Go \ + -package gen \ + -o ${DIR} \ + -visitor ${DIR}/CEL.g4 + diff --git a/vendor/github.com/google/cel-go/parser/helper.go b/vendor/github.com/google/cel-go/parser/helper.go new file mode 100644 index 000000000..9f09ead0e --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/helper.go @@ -0,0 +1,510 @@ +// Copyright 2018 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 parser + +import ( + "sync" + + antlr "github.com/antlr4-go/antlr/v4" + + "github.com/google/cel-go/common" + "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" +) + +type parserHelper struct { + exprFactory ast.ExprFactory + source common.Source + sourceInfo *ast.SourceInfo + nextID int64 +} + +func newParserHelper(source common.Source, fac ast.ExprFactory) *parserHelper { + return &parserHelper{ + exprFactory: fac, + source: source, + sourceInfo: ast.NewSourceInfo(source), + nextID: 1, + } +} + +func (p *parserHelper) getSourceInfo() *ast.SourceInfo { + return p.sourceInfo +} + +func (p *parserHelper) newLiteral(ctx any, value ref.Val) ast.Expr { + return p.exprFactory.NewLiteral(p.newID(ctx), value) +} + +func (p *parserHelper) newLiteralBool(ctx any, value bool) ast.Expr { + return p.newLiteral(ctx, types.Bool(value)) +} + +func (p *parserHelper) newLiteralString(ctx any, value string) ast.Expr { + return p.newLiteral(ctx, types.String(value)) +} + +func (p *parserHelper) newLiteralBytes(ctx any, value []byte) ast.Expr { + return p.newLiteral(ctx, types.Bytes(value)) +} + +func (p *parserHelper) newLiteralInt(ctx any, value int64) ast.Expr { + return p.newLiteral(ctx, types.Int(value)) +} + +func (p *parserHelper) newLiteralUint(ctx any, value uint64) ast.Expr { + return p.newLiteral(ctx, types.Uint(value)) +} + +func (p *parserHelper) newLiteralDouble(ctx any, value float64) ast.Expr { + return p.newLiteral(ctx, types.Double(value)) +} + +func (p *parserHelper) newIdent(ctx any, name string) ast.Expr { + return p.exprFactory.NewIdent(p.newID(ctx), name) +} + +func (p *parserHelper) newSelect(ctx any, operand ast.Expr, field string) ast.Expr { + return p.exprFactory.NewSelect(p.newID(ctx), operand, field) +} + +func (p *parserHelper) newPresenceTest(ctx any, operand ast.Expr, field string) ast.Expr { + return p.exprFactory.NewPresenceTest(p.newID(ctx), operand, field) +} + +func (p *parserHelper) newGlobalCall(ctx any, function string, args ...ast.Expr) ast.Expr { + return p.exprFactory.NewCall(p.newID(ctx), function, args...) +} + +func (p *parserHelper) newReceiverCall(ctx any, function string, target ast.Expr, args ...ast.Expr) ast.Expr { + return p.exprFactory.NewMemberCall(p.newID(ctx), function, target, args...) +} + +func (p *parserHelper) newList(ctx any, elements []ast.Expr, optionals ...int32) ast.Expr { + return p.exprFactory.NewList(p.newID(ctx), elements, optionals) +} + +func (p *parserHelper) newMap(ctx any, entries ...ast.EntryExpr) ast.Expr { + return p.exprFactory.NewMap(p.newID(ctx), entries) +} + +func (p *parserHelper) newMapEntry(entryID int64, key ast.Expr, value ast.Expr, optional bool) ast.EntryExpr { + return p.exprFactory.NewMapEntry(entryID, key, value, optional) +} + +func (p *parserHelper) newObject(ctx any, typeName string, fields ...ast.EntryExpr) ast.Expr { + return p.exprFactory.NewStruct(p.newID(ctx), typeName, fields) +} + +func (p *parserHelper) newObjectField(fieldID int64, field string, value ast.Expr, optional bool) ast.EntryExpr { + return p.exprFactory.NewStructField(fieldID, field, value, optional) +} + +func (p *parserHelper) newComprehension(ctx any, + iterRange ast.Expr, + iterVar, + accuVar string, + accuInit ast.Expr, + condition ast.Expr, + step ast.Expr, + result ast.Expr) ast.Expr { + return p.exprFactory.NewComprehension( + p.newID(ctx), iterRange, iterVar, accuVar, accuInit, condition, step, result) +} + +func (p *parserHelper) newComprehensionTwoVar(ctx any, + iterRange ast.Expr, + iterVar, iterVar2, + accuVar string, + accuInit ast.Expr, + condition ast.Expr, + step ast.Expr, + result ast.Expr) ast.Expr { + return p.exprFactory.NewComprehensionTwoVar( + p.newID(ctx), iterRange, iterVar, iterVar2, accuVar, accuInit, condition, step, result) +} + +func (p *parserHelper) newID(ctx any) int64 { + if id, isID := ctx.(int64); isID { + return id + } + return p.id(ctx) +} + +func (p *parserHelper) newExpr(ctx any) ast.Expr { + return p.exprFactory.NewUnspecifiedExpr(p.newID(ctx)) +} + +func (p *parserHelper) id(ctx any) int64 { + var offset ast.OffsetRange + switch c := ctx.(type) { + case antlr.ParserRuleContext: + start := c.GetStart() + offset.Start = p.sourceInfo.ComputeOffset(int32(start.GetLine()), int32(start.GetColumn())) + offset.Stop = offset.Start + int32(len(c.GetText())) + case antlr.Token: + offset.Start = p.sourceInfo.ComputeOffset(int32(c.GetLine()), int32(c.GetColumn())) + offset.Stop = offset.Start + int32(len(c.GetText())) + case common.Location: + offset.Start = p.sourceInfo.ComputeOffset(int32(c.Line()), int32(c.Column())) + offset.Stop = offset.Start + case ast.OffsetRange: + offset = c + default: + // This should only happen if the ctx is nil + return -1 + } + id := p.nextID + p.sourceInfo.SetOffsetRange(id, offset) + p.nextID++ + return id +} + +func (p *parserHelper) deleteID(id int64) { + p.sourceInfo.ClearOffsetRange(id) + if id == p.nextID-1 { + p.nextID-- + } +} + +func (p *parserHelper) getLocation(id int64) common.Location { + return p.sourceInfo.GetStartLocation(id) +} + +func (p *parserHelper) getLocationByOffset(offset int32) common.Location { + return p.getSourceInfo().GetLocationByOffset(offset) +} + +// buildMacroCallArg iterates the expression and returns a new expression +// where all macros have been replaced by their IDs in MacroCalls +func (p *parserHelper) buildMacroCallArg(expr ast.Expr) ast.Expr { + if _, found := p.sourceInfo.GetMacroCall(expr.ID()); found { + return p.exprFactory.NewUnspecifiedExpr(expr.ID()) + } + + switch expr.Kind() { + case ast.CallKind: + // Iterate the AST from `expr` recursively looking for macros. Because we are at most + // starting from the top level macro, this recursion is bounded by the size of the AST. This + // means that the depth check on the AST during parsing will catch recursion overflows + // before we get to here. + call := expr.AsCall() + macroArgs := make([]ast.Expr, len(call.Args())) + for index, arg := range call.Args() { + macroArgs[index] = p.buildMacroCallArg(arg) + } + if !call.IsMemberFunction() { + return p.exprFactory.NewCall(expr.ID(), call.FunctionName(), macroArgs...) + } + macroTarget := p.buildMacroCallArg(call.Target()) + return p.exprFactory.NewMemberCall(expr.ID(), call.FunctionName(), macroTarget, macroArgs...) + case ast.ListKind: + list := expr.AsList() + macroListArgs := make([]ast.Expr, list.Size()) + for i, elem := range list.Elements() { + macroListArgs[i] = p.buildMacroCallArg(elem) + } + return p.exprFactory.NewList(expr.ID(), macroListArgs, list.OptionalIndices()) + } + return expr +} + +// addMacroCall adds the macro the the MacroCalls map in source info. If a macro has args/subargs/target +// that are macros, their ID will be stored instead for later self-lookups. +func (p *parserHelper) addMacroCall(exprID int64, function string, target ast.Expr, args ...ast.Expr) { + macroArgs := make([]ast.Expr, len(args)) + for index, arg := range args { + macroArgs[index] = p.buildMacroCallArg(arg) + } + if target == nil { + p.sourceInfo.SetMacroCall(exprID, p.exprFactory.NewCall(0, function, macroArgs...)) + return + } + macroTarget := target + if _, found := p.sourceInfo.GetMacroCall(target.ID()); found { + macroTarget = p.exprFactory.NewUnspecifiedExpr(target.ID()) + } else { + macroTarget = p.buildMacroCallArg(target) + } + p.sourceInfo.SetMacroCall(exprID, p.exprFactory.NewMemberCall(0, function, macroTarget, macroArgs...)) +} + +// logicManager compacts logical trees into a more efficient structure which is semantically +// equivalent with how the logic graph is constructed by the ANTLR parser. +// +// The purpose of the logicManager is to ensure a compact serialization format for the logical &&, || +// operators which have a tendency to create long DAGs which are skewed in one direction. Since the +// operators are commutative re-ordering the terms *must not* affect the evaluation result. +// +// The logic manager will either render the terms to N-chained && / || operators as a single logical +// call with N-terms, or will rebalance the tree. Rebalancing the terms is a safe, if somewhat +// controversial choice as it alters the traditional order of execution assumptions present in most +// expressions. +type logicManager struct { + exprFactory ast.ExprFactory + function string + terms []ast.Expr + ops []int64 + variadicASTs bool +} + +// newVariadicLogicManager creates a logic manager instance bound to a specific function and its first term. +func newVariadicLogicManager(fac ast.ExprFactory, function string, term ast.Expr) *logicManager { + return &logicManager{ + exprFactory: fac, + function: function, + terms: []ast.Expr{term}, + ops: []int64{}, + variadicASTs: true, + } +} + +// newBalancingLogicManager creates a logic manager instance bound to a specific function and its first term. +func newBalancingLogicManager(fac ast.ExprFactory, function string, term ast.Expr) *logicManager { + return &logicManager{ + exprFactory: fac, + function: function, + terms: []ast.Expr{term}, + ops: []int64{}, + variadicASTs: false, + } +} + +// addTerm adds an operation identifier and term to the set of terms to be balanced. +func (l *logicManager) addTerm(op int64, term ast.Expr) { + l.terms = append(l.terms, term) + l.ops = append(l.ops, op) +} + +// toExpr renders the logic graph into an Expr value, either balancing a tree of logical +// operations or creating a variadic representation of the logical operator. +func (l *logicManager) toExpr() ast.Expr { + if len(l.terms) == 1 { + return l.terms[0] + } + if l.variadicASTs { + return l.exprFactory.NewCall(l.ops[0], l.function, l.terms...) + } + return l.balancedTree(0, len(l.ops)-1) +} + +// balancedTree recursively balances the terms provided to a commutative operator. +func (l *logicManager) balancedTree(lo, hi int) ast.Expr { + mid := (lo + hi + 1) / 2 + + var left ast.Expr + if mid == lo { + left = l.terms[mid] + } else { + left = l.balancedTree(lo, mid-1) + } + + var right ast.Expr + if mid == hi { + right = l.terms[mid+1] + } else { + right = l.balancedTree(mid+1, hi) + } + return l.exprFactory.NewCall(l.ops[mid], l.function, left, right) +} + +type exprHelper struct { + *parserHelper + id int64 +} + +func (e *exprHelper) nextMacroID() int64 { + return e.parserHelper.id(e.parserHelper.getLocation(e.id)) +} + +// Copy implements the ExprHelper interface method by producing a copy of the input Expr value +// with a fresh set of numeric identifiers the Expr and all its descendants. +func (e *exprHelper) Copy(expr ast.Expr) ast.Expr { + offsetRange, _ := e.parserHelper.sourceInfo.GetOffsetRange(expr.ID()) + copyID := e.parserHelper.newID(offsetRange) + switch expr.Kind() { + case ast.LiteralKind: + return e.exprFactory.NewLiteral(copyID, expr.AsLiteral()) + case ast.IdentKind: + return e.exprFactory.NewIdent(copyID, expr.AsIdent()) + case ast.SelectKind: + sel := expr.AsSelect() + op := e.Copy(sel.Operand()) + if sel.IsTestOnly() { + return e.exprFactory.NewPresenceTest(copyID, op, sel.FieldName()) + } + return e.exprFactory.NewSelect(copyID, op, sel.FieldName()) + case ast.CallKind: + call := expr.AsCall() + args := call.Args() + argsCopy := make([]ast.Expr, len(args)) + for i, arg := range args { + argsCopy[i] = e.Copy(arg) + } + if !call.IsMemberFunction() { + return e.exprFactory.NewCall(copyID, call.FunctionName(), argsCopy...) + } + return e.exprFactory.NewMemberCall(copyID, call.FunctionName(), e.Copy(call.Target()), argsCopy...) + case ast.ListKind: + list := expr.AsList() + elems := list.Elements() + elemsCopy := make([]ast.Expr, len(elems)) + for i, elem := range elems { + elemsCopy[i] = e.Copy(elem) + } + return e.exprFactory.NewList(copyID, elemsCopy, list.OptionalIndices()) + case ast.MapKind: + m := expr.AsMap() + entries := m.Entries() + entriesCopy := make([]ast.EntryExpr, len(entries)) + for i, en := range entries { + entry := en.AsMapEntry() + entryID := e.nextMacroID() + entriesCopy[i] = e.exprFactory.NewMapEntry(entryID, + e.Copy(entry.Key()), e.Copy(entry.Value()), entry.IsOptional()) + } + return e.exprFactory.NewMap(copyID, entriesCopy) + case ast.StructKind: + s := expr.AsStruct() + fields := s.Fields() + fieldsCopy := make([]ast.EntryExpr, len(fields)) + for i, f := range fields { + field := f.AsStructField() + fieldID := e.nextMacroID() + fieldsCopy[i] = e.exprFactory.NewStructField(fieldID, + field.Name(), e.Copy(field.Value()), field.IsOptional()) + } + return e.exprFactory.NewStruct(copyID, s.TypeName(), fieldsCopy) + case ast.ComprehensionKind: + compre := expr.AsComprehension() + iterRange := e.Copy(compre.IterRange()) + accuInit := e.Copy(compre.AccuInit()) + cond := e.Copy(compre.LoopCondition()) + step := e.Copy(compre.LoopStep()) + result := e.Copy(compre.Result()) + // All comprehensions can be represented by the two-variable comprehension since the + // differentiation between one and two-variable is whether the iterVar2 value is non-empty. + return e.exprFactory.NewComprehensionTwoVar(copyID, + iterRange, compre.IterVar(), compre.IterVar2(), compre.AccuVar(), accuInit, cond, step, result) + } + return e.exprFactory.NewUnspecifiedExpr(copyID) +} + +// NewLiteral implements the ExprHelper interface method. +func (e *exprHelper) NewLiteral(value ref.Val) ast.Expr { + return e.exprFactory.NewLiteral(e.nextMacroID(), value) +} + +// NewList implements the ExprHelper interface method. +func (e *exprHelper) NewList(elems ...ast.Expr) ast.Expr { + return e.exprFactory.NewList(e.nextMacroID(), elems, []int32{}) +} + +// NewMap implements the ExprHelper interface method. +func (e *exprHelper) NewMap(entries ...ast.EntryExpr) ast.Expr { + return e.exprFactory.NewMap(e.nextMacroID(), entries) +} + +// NewMapEntry implements the ExprHelper interface method. +func (e *exprHelper) NewMapEntry(key ast.Expr, val ast.Expr, optional bool) ast.EntryExpr { + return e.exprFactory.NewMapEntry(e.nextMacroID(), key, val, optional) +} + +// NewStruct implements the ExprHelper interface method. +func (e *exprHelper) NewStruct(typeName string, fieldInits ...ast.EntryExpr) ast.Expr { + return e.exprFactory.NewStruct(e.nextMacroID(), typeName, fieldInits) +} + +// NewStructField implements the ExprHelper interface method. +func (e *exprHelper) NewStructField(field string, init ast.Expr, optional bool) ast.EntryExpr { + return e.exprFactory.NewStructField(e.nextMacroID(), field, init, optional) +} + +// NewComprehension implements the ExprHelper interface method. +func (e *exprHelper) NewComprehension( + iterRange ast.Expr, + iterVar string, + accuVar string, + accuInit ast.Expr, + condition ast.Expr, + step ast.Expr, + result ast.Expr) ast.Expr { + return e.exprFactory.NewComprehension( + e.nextMacroID(), iterRange, iterVar, accuVar, accuInit, condition, step, result) +} + +// NewComprehensionTwoVar implements the ExprHelper interface method. +func (e *exprHelper) NewComprehensionTwoVar( + iterRange ast.Expr, + iterVar, + iterVar2, + accuVar string, + accuInit, + condition, + step, + result ast.Expr) ast.Expr { + return e.exprFactory.NewComprehensionTwoVar( + e.nextMacroID(), iterRange, iterVar, iterVar2, accuVar, accuInit, condition, step, result) +} + +// NewIdent implements the ExprHelper interface method. +func (e *exprHelper) NewIdent(name string) ast.Expr { + return e.exprFactory.NewIdent(e.nextMacroID(), name) +} + +// NewAccuIdent implements the ExprHelper interface method. +func (e *exprHelper) NewAccuIdent() ast.Expr { + return e.exprFactory.NewAccuIdent(e.nextMacroID()) +} + +// NewGlobalCall implements the ExprHelper interface method. +func (e *exprHelper) NewCall(function string, args ...ast.Expr) ast.Expr { + return e.exprFactory.NewCall(e.nextMacroID(), function, args...) +} + +// NewMemberCall implements the ExprHelper interface method. +func (e *exprHelper) NewMemberCall(function string, target ast.Expr, args ...ast.Expr) ast.Expr { + return e.exprFactory.NewMemberCall(e.nextMacroID(), function, target, args...) +} + +// NewPresenceTest implements the ExprHelper interface method. +func (e *exprHelper) NewPresenceTest(operand ast.Expr, field string) ast.Expr { + return e.exprFactory.NewPresenceTest(e.nextMacroID(), operand, field) +} + +// NewSelect implements the ExprHelper interface method. +func (e *exprHelper) NewSelect(operand ast.Expr, field string) ast.Expr { + return e.exprFactory.NewSelect(e.nextMacroID(), operand, field) +} + +// OffsetLocation implements the ExprHelper interface method. +func (e *exprHelper) OffsetLocation(exprID int64) common.Location { + return e.parserHelper.sourceInfo.GetStartLocation(exprID) +} + +// NewError associates an error message with a given expression id, populating the source offset location of the error if possible. +func (e *exprHelper) NewError(exprID int64, message string) *common.Error { + return common.NewError(exprID, message, e.OffsetLocation(exprID)) +} + +var ( + // Thread-safe pool of ExprHelper values to minimize alloc overhead of ExprHelper creations. + exprHelperPool = &sync.Pool{ + New: func() any { + return &exprHelper{} + }, + } +) diff --git a/vendor/github.com/google/cel-go/parser/input.go b/vendor/github.com/google/cel-go/parser/input.go new file mode 100644 index 000000000..44792455d --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/input.go @@ -0,0 +1,129 @@ +// Copyright 2021 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 parser + +import ( + antlr "github.com/antlr4-go/antlr/v4" + + "github.com/google/cel-go/common/runes" +) + +type charStream struct { + buf runes.Buffer + pos int + src string +} + +// Consume implements (antlr.CharStream).Consume. +func (c *charStream) Consume() { + if c.pos >= c.buf.Len() { + panic("cannot consume EOF") + } + c.pos++ +} + +// LA implements (antlr.CharStream).LA. +func (c *charStream) LA(offset int) int { + if offset == 0 { + return 0 + } + if offset < 0 { + offset++ + } + pos := c.pos + offset - 1 + if pos < 0 || pos >= c.buf.Len() { + return antlr.TokenEOF + } + return int(c.buf.Get(pos)) +} + +// LT mimics (*antlr.InputStream).LT. +func (c *charStream) LT(offset int) int { + return c.LA(offset) +} + +// Mark implements (antlr.CharStream).Mark. +func (c *charStream) Mark() int { + return -1 +} + +// Release implements (antlr.CharStream).Release. +func (c *charStream) Release(marker int) {} + +// Index implements (antlr.CharStream).Index. +func (c *charStream) Index() int { + return c.pos +} + +// Seek implements (antlr.CharStream).Seek. +func (c *charStream) Seek(index int) { + if index <= c.pos { + c.pos = index + return + } + if index < c.buf.Len() { + c.pos = index + } else { + c.pos = c.buf.Len() + } +} + +// Size implements (antlr.CharStream).Size. +func (c *charStream) Size() int { + return c.buf.Len() +} + +// GetSourceName implements (antlr.CharStream).GetSourceName. +func (c *charStream) GetSourceName() string { + return c.src +} + +// GetText implements (antlr.CharStream).GetText. +func (c *charStream) GetText(start, stop int) string { + if stop >= c.buf.Len() { + stop = c.buf.Len() - 1 + } + if start >= c.buf.Len() { + return "" + } + return c.buf.Slice(start, stop+1) +} + +// GetTextFromTokens implements (antlr.CharStream).GetTextFromTokens. +func (c *charStream) GetTextFromTokens(start, stop antlr.Token) string { + if start != nil && stop != nil { + return c.GetText(start.GetTokenIndex(), stop.GetTokenIndex()) + } + return "" +} + +// GetTextFromInterval implements (antlr.CharStream).GetTextFromInterval. +func (c *charStream) GetTextFromInterval(i antlr.Interval) string { + return c.GetText(i.Start, i.Stop) +} + +// String mimics (*antlr.InputStream).String. +func (c *charStream) String() string { + return c.buf.Slice(0, c.buf.Len()) +} + +var _ antlr.CharStream = &charStream{} + +func newCharStream(buf runes.Buffer, desc string) antlr.CharStream { + return &charStream{ + buf: buf, + src: desc, + } +} diff --git a/vendor/github.com/google/cel-go/parser/macro.go b/vendor/github.com/google/cel-go/parser/macro.go new file mode 100644 index 000000000..dc47b4203 --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/macro.go @@ -0,0 +1,428 @@ +// Copyright 2018 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 parser + +import ( + "fmt" + + "github.com/google/cel-go/common" + "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/operators" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/common/types/ref" +) + +// NewGlobalMacro creates a Macro for a global function with the specified arg count. +func NewGlobalMacro(function string, argCount int, expander MacroExpander) Macro { + return ¯o{ + function: function, + argCount: argCount, + expander: expander} +} + +// NewReceiverMacro creates a Macro for a receiver function matching the specified arg count. +func NewReceiverMacro(function string, argCount int, expander MacroExpander) Macro { + return ¯o{ + function: function, + argCount: argCount, + expander: expander, + receiverStyle: true} +} + +// NewGlobalVarArgMacro creates a Macro for a global function with a variable arg count. +func NewGlobalVarArgMacro(function string, expander MacroExpander) Macro { + return ¯o{ + function: function, + expander: expander, + varArgStyle: true} +} + +// NewReceiverVarArgMacro creates a Macro for a receiver function matching a variable arg count. +func NewReceiverVarArgMacro(function string, expander MacroExpander) Macro { + return ¯o{ + function: function, + expander: expander, + receiverStyle: true, + varArgStyle: true} +} + +// Macro interface for describing the function signature to match and the MacroExpander to apply. +// +// Note: when a Macro should apply to multiple overloads (based on arg count) of a given function, +// a Macro should be created per arg-count. +type Macro interface { + // Function name to match. + Function() string + + // ArgCount for the function call. + // + // When the macro is a var-arg style macro, the return value will be zero, but the MacroKey + // will contain a `*` where the arg count would have been. + ArgCount() int + + // IsReceiverStyle returns true if the macro matches a receiver style call. + IsReceiverStyle() bool + + // MacroKey returns the macro signatures accepted by this macro. + // + // Format: `::`. + // + // When the macros is a var-arg style macro, the `arg-count` value is represented as a `*`. + MacroKey() string + + // Expander returns the MacroExpander to apply when the macro key matches the parsed call + // signature. + Expander() MacroExpander +} + +// Macro type which declares the function name and arg count expected for the +// macro, as well as a macro expansion function. +type macro struct { + function string + receiverStyle bool + varArgStyle bool + argCount int + expander MacroExpander +} + +// Function returns the macro's function name (i.e. the function whose syntax it mimics). +func (m *macro) Function() string { + return m.function +} + +// ArgCount returns the number of arguments the macro expects. +func (m *macro) ArgCount() int { + return m.argCount +} + +// IsReceiverStyle returns whether the macro is receiver style. +func (m *macro) IsReceiverStyle() bool { + return m.receiverStyle +} + +// Expander implements the Macro interface method. +func (m *macro) Expander() MacroExpander { + return m.expander +} + +// MacroKey implements the Macro interface method. +func (m *macro) MacroKey() string { + if m.varArgStyle { + return makeVarArgMacroKey(m.function, m.receiverStyle) + } + return makeMacroKey(m.function, m.argCount, m.receiverStyle) +} + +func makeMacroKey(name string, args int, receiverStyle bool) string { + return fmt.Sprintf("%s:%d:%v", name, args, receiverStyle) +} + +func makeVarArgMacroKey(name string, receiverStyle bool) string { + return fmt.Sprintf("%s:*:%v", name, receiverStyle) +} + +// MacroExpander converts a call and its associated arguments into a new CEL abstract syntax tree. +// +// If the MacroExpander determines within the implementation that an expansion is not needed it may return +// a nil Expr value to indicate a non-match. However, if an expansion is to be performed, but the arguments +// are not well-formed, the result of the expansion will be an error. +// +// The MacroExpander accepts as arguments a MacroExprHelper as well as the arguments used in the function call +// and produces as output an Expr ast node. +// +// Note: when the Macro.IsReceiverStyle() method returns true, the target argument will be nil. +type MacroExpander func(eh ExprHelper, target ast.Expr, args []ast.Expr) (ast.Expr, *common.Error) + +// ExprHelper assists with the creation of Expr values in a manner which is consistent +// the internal semantics and id generation behaviors of the parser and checker libraries. +type ExprHelper interface { + // Copy the input expression with a brand new set of identifiers. + Copy(ast.Expr) ast.Expr + + // Literal creates an Expr value for a scalar literal value. + NewLiteral(value ref.Val) ast.Expr + + // NewList creates a list literal instruction with an optional set of elements. + NewList(elems ...ast.Expr) ast.Expr + + // NewMap creates a CreateStruct instruction for a map where the map is comprised of the + // optional set of key, value entries. + NewMap(entries ...ast.EntryExpr) ast.Expr + + // NewMapEntry creates a Map Entry for the key, value pair. + NewMapEntry(key ast.Expr, val ast.Expr, optional bool) ast.EntryExpr + + // NewStruct creates a struct literal expression with an optional set of field initializers. + NewStruct(typeName string, fieldInits ...ast.EntryExpr) ast.Expr + + // NewStructField creates a new struct field initializer from the field name and value. + NewStructField(field string, init ast.Expr, optional bool) ast.EntryExpr + + // NewComprehension creates a new one-variable comprehension instruction. + // + // - iterRange represents the expression that resolves to a list or map where the elements or + // keys (respectively) will be iterated over. + // - iterVar is the variable name for the list element value, or the map key, depending on the + // range type. + // - accuVar is the accumulation variable name, typically parser.AccumulatorName. + // - accuInit is the initial expression whose value will be set for the accuVar prior to + // folding. + // - condition is the expression to test to determine whether to continue folding. + // - step is the expression to evaluation at the conclusion of a single fold iteration. + // - result is the computation to evaluate at the conclusion of the fold. + // + // The accuVar should not shadow variable names that you would like to reference within the + // environment in the step and condition expressions. Presently, the name __result__ is commonly + // used by built-in macros but this may change in the future. + NewComprehension(iterRange ast.Expr, + iterVar, + accuVar string, + accuInit, + condition, + step, + result ast.Expr) ast.Expr + + // NewComprehensionTwoVar creates a new two-variable comprehension instruction. + // + // - iterRange represents the expression that resolves to a list or map where the elements or + // keys (respectively) will be iterated over. + // - iterVar is the iteration variable assigned to the list index or the map key. + // - iterVar2 is the iteration variable assigned to the list element value or the map key value. + // - accuVar is the accumulation variable name, typically parser.AccumulatorName. + // - accuInit is the initial expression whose value will be set for the accuVar prior to + // folding. + // - condition is the expression to test to determine whether to continue folding. + // - step is the expression to evaluation at the conclusion of a single fold iteration. + // - result is the computation to evaluate at the conclusion of the fold. + // + // The accuVar should not shadow variable names that you would like to reference within the + // environment in the step and condition expressions. Presently, the name __result__ is commonly + // used by built-in macros but this may change in the future. + NewComprehensionTwoVar(iterRange ast.Expr, + iterVar, + iterVar2, + accuVar string, + accuInit, + condition, + step, + result ast.Expr) ast.Expr + + // NewIdent creates an identifier Expr value. + NewIdent(name string) ast.Expr + + // NewAccuIdent returns an accumulator identifier for use with comprehension results. + NewAccuIdent() ast.Expr + + // NewCall creates a function call Expr value for a global (free) function. + NewCall(function string, args ...ast.Expr) ast.Expr + + // NewMemberCall creates a function call Expr value for a receiver-style function. + NewMemberCall(function string, target ast.Expr, args ...ast.Expr) ast.Expr + + // NewPresenceTest creates a Select TestOnly Expr value for modelling has() semantics. + NewPresenceTest(operand ast.Expr, field string) ast.Expr + + // NewSelect create a field traversal Expr value. + NewSelect(operand ast.Expr, field string) ast.Expr + + // OffsetLocation returns the Location of the expression identifier. + OffsetLocation(exprID int64) common.Location + + // NewError associates an error message with a given expression id. + NewError(exprID int64, message string) *common.Error +} + +var ( + // HasMacro expands "has(m.f)" which tests the presence of a field, avoiding the need to + // specify the field as a string. + HasMacro = NewGlobalMacro(operators.Has, 1, MakeHas) + + // AllMacro expands "range.all(var, predicate)" into a comprehension which ensures that all + // elements in the range satisfy the predicate. + AllMacro = NewReceiverMacro(operators.All, 2, MakeAll) + + // ExistsMacro expands "range.exists(var, predicate)" into a comprehension which ensures that + // some element in the range satisfies the predicate. + ExistsMacro = NewReceiverMacro(operators.Exists, 2, MakeExists) + + // ExistsOneMacro expands "range.exists_one(var, predicate)", which is true if for exactly one + // element in range the predicate holds. + ExistsOneMacro = NewReceiverMacro(operators.ExistsOne, 2, MakeExistsOne) + + // MapMacro expands "range.map(var, function)" into a comprehension which applies the function + // to each element in the range to produce a new list. + MapMacro = NewReceiverMacro(operators.Map, 2, MakeMap) + + // MapFilterMacro expands "range.map(var, predicate, function)" into a comprehension which + // first filters the elements in the range by the predicate, then applies the transform function + // to produce a new list. + MapFilterMacro = NewReceiverMacro(operators.Map, 3, MakeMap) + + // FilterMacro expands "range.filter(var, predicate)" into a comprehension which filters + // elements in the range, producing a new list from the elements that satisfy the predicate. + FilterMacro = NewReceiverMacro(operators.Filter, 2, MakeFilter) + + // AllMacros includes the list of all spec-supported macros. + AllMacros = []Macro{ + HasMacro, + AllMacro, + ExistsMacro, + ExistsOneMacro, + MapMacro, + MapFilterMacro, + FilterMacro, + } + + // NoMacros list. + NoMacros = []Macro{} +) + +// AccumulatorName is the traditional variable name assigned to the fold accumulator variable. +const AccumulatorName = "__result__" + +type quantifierKind int + +const ( + quantifierAll quantifierKind = iota + quantifierExists + quantifierExistsOne +) + +// MakeAll expands the input call arguments into a comprehension that returns true if all of the +// elements in the range match the predicate expressions: +// .all(, ) +func MakeAll(eh ExprHelper, target ast.Expr, args []ast.Expr) (ast.Expr, *common.Error) { + return makeQuantifier(quantifierAll, eh, target, args) +} + +// MakeExists expands the input call arguments into a comprehension that returns true if any of the +// elements in the range match the predicate expressions: +// .exists(, ) +func MakeExists(eh ExprHelper, target ast.Expr, args []ast.Expr) (ast.Expr, *common.Error) { + return makeQuantifier(quantifierExists, eh, target, args) +} + +// MakeExistsOne expands the input call arguments into a comprehension that returns true if exactly +// one of the elements in the range match the predicate expressions: +// .exists_one(, ) +func MakeExistsOne(eh ExprHelper, target ast.Expr, args []ast.Expr) (ast.Expr, *common.Error) { + return makeQuantifier(quantifierExistsOne, eh, target, args) +} + +// MakeMap expands the input call arguments into a comprehension that transforms each element in the +// input to produce an output list. +// +// There are two call patterns supported by map: +// +// .map(, ) +// .map(, , ) +// +// In the second form only iterVar values which return true when provided to the predicate expression +// are transformed. +func MakeMap(eh ExprHelper, target ast.Expr, args []ast.Expr) (ast.Expr, *common.Error) { + v, found := extractIdent(args[0]) + if !found { + return nil, eh.NewError(args[0].ID(), "argument is not an identifier") + } + + var fn ast.Expr + var filter ast.Expr + + if len(args) == 3 { + filter = args[1] + fn = args[2] + } else { + filter = nil + fn = args[1] + } + + init := eh.NewList() + condition := eh.NewLiteral(types.True) + step := eh.NewCall(operators.Add, eh.NewAccuIdent(), eh.NewList(fn)) + + if filter != nil { + step = eh.NewCall(operators.Conditional, filter, step, eh.NewAccuIdent()) + } + return eh.NewComprehension(target, v, AccumulatorName, init, condition, step, eh.NewAccuIdent()), nil +} + +// MakeFilter expands the input call arguments into a comprehension which produces a list which contains +// only elements which match the provided predicate expression: +// .filter(, ) +func MakeFilter(eh ExprHelper, target ast.Expr, args []ast.Expr) (ast.Expr, *common.Error) { + v, found := extractIdent(args[0]) + if !found { + return nil, eh.NewError(args[0].ID(), "argument is not an identifier") + } + + filter := args[1] + init := eh.NewList() + condition := eh.NewLiteral(types.True) + step := eh.NewCall(operators.Add, eh.NewAccuIdent(), eh.NewList(args[0])) + step = eh.NewCall(operators.Conditional, filter, step, eh.NewAccuIdent()) + return eh.NewComprehension(target, v, AccumulatorName, init, condition, step, eh.NewAccuIdent()), nil +} + +// MakeHas expands the input call arguments into a presence test, e.g. has(.field) +func MakeHas(eh ExprHelper, target ast.Expr, args []ast.Expr) (ast.Expr, *common.Error) { + if args[0].Kind() == ast.SelectKind { + s := args[0].AsSelect() + return eh.NewPresenceTest(s.Operand(), s.FieldName()), nil + } + return nil, eh.NewError(args[0].ID(), "invalid argument to has() macro") +} + +func makeQuantifier(kind quantifierKind, eh ExprHelper, target ast.Expr, args []ast.Expr) (ast.Expr, *common.Error) { + v, found := extractIdent(args[0]) + if !found { + return nil, eh.NewError(args[0].ID(), "argument must be a simple name") + } + + var init ast.Expr + var condition ast.Expr + var step ast.Expr + var result ast.Expr + switch kind { + case quantifierAll: + init = eh.NewLiteral(types.True) + condition = eh.NewCall(operators.NotStrictlyFalse, eh.NewAccuIdent()) + step = eh.NewCall(operators.LogicalAnd, eh.NewAccuIdent(), args[1]) + result = eh.NewAccuIdent() + case quantifierExists: + init = eh.NewLiteral(types.False) + condition = eh.NewCall( + operators.NotStrictlyFalse, + eh.NewCall(operators.LogicalNot, eh.NewAccuIdent())) + step = eh.NewCall(operators.LogicalOr, eh.NewAccuIdent(), args[1]) + result = eh.NewAccuIdent() + case quantifierExistsOne: + init = eh.NewLiteral(types.Int(0)) + condition = eh.NewLiteral(types.True) + step = eh.NewCall(operators.Conditional, args[1], + eh.NewCall(operators.Add, eh.NewAccuIdent(), eh.NewLiteral(types.Int(1))), eh.NewAccuIdent()) + result = eh.NewCall(operators.Equals, eh.NewAccuIdent(), eh.NewLiteral(types.Int(1))) + default: + return nil, eh.NewError(args[0].ID(), fmt.Sprintf("unrecognized quantifier '%v'", kind)) + } + return eh.NewComprehension(target, v, AccumulatorName, init, condition, step, result), nil +} + +func extractIdent(e ast.Expr) (string, bool) { + switch e.Kind() { + case ast.IdentKind: + return e.AsIdent(), true + } + return "", false +} diff --git a/vendor/github.com/google/cel-go/parser/options.go b/vendor/github.com/google/cel-go/parser/options.go new file mode 100644 index 000000000..61fc3adec --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/options.go @@ -0,0 +1,140 @@ +// Copyright 2021 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 parser + +import "fmt" + +type options struct { + maxRecursionDepth int + errorReportingLimit int + errorRecoveryTokenLookaheadLimit int + errorRecoveryLimit int + expressionSizeCodePointLimit int + macros map[string]Macro + populateMacroCalls bool + enableOptionalSyntax bool + enableVariadicOperatorASTs bool +} + +// Option configures the behavior of the parser. +type Option func(*options) error + +// MaxRecursionDepth limits the maximum depth the parser will attempt to parse the expression before giving up. +func MaxRecursionDepth(limit int) Option { + return func(opts *options) error { + if limit < -1 { + return fmt.Errorf("max recursion depth must be greater than or equal to -1: %d", limit) + } + opts.maxRecursionDepth = limit + return nil + } +} + +// ErrorRecoveryLookaheadTokenLimit limits the number of lexer tokens that may be considered during error recovery. +// +// Error recovery often involves looking ahead in the input to determine if there's a point at which parsing may +// successfully resume. In some pathological cases, the parser can look through quite a large set of input which +// in turn generates a lot of back-tracking and performance degredation. +// +// The limit must be >= 1, and is recommended to be less than the default of 256. +func ErrorRecoveryLookaheadTokenLimit(limit int) Option { + return func(opts *options) error { + if limit < 1 { + return fmt.Errorf("error recovery lookahead token limit must be at least 1: %d", limit) + } + opts.errorRecoveryTokenLookaheadLimit = limit + return nil + } +} + +// ErrorRecoveryLimit limits the number of attempts the parser will perform to recover from an error. +func ErrorRecoveryLimit(limit int) Option { + return func(opts *options) error { + if limit < -1 { + return fmt.Errorf("error recovery limit must be greater than or equal to -1: %d", limit) + } + opts.errorRecoveryLimit = limit + return nil + } +} + +// ErrorReportingLimit limits the number of syntax error reports before terminating parsing. +// +// The limit must be at least 1. If unset, the limit will be 100. +func ErrorReportingLimit(limit int) Option { + return func(opts *options) error { + if limit < 1 { + return fmt.Errorf("error reporting limit must be at least 1: %d", limit) + } + opts.errorReportingLimit = limit + return nil + } +} + +// ExpressionSizeCodePointLimit is an option which limits the maximum code point count of an +// expression. +func ExpressionSizeCodePointLimit(expressionSizeCodePointLimit int) Option { + return func(opts *options) error { + if expressionSizeCodePointLimit < -1 { + return fmt.Errorf("expression size code point limit must be greater than or equal to -1: %d", expressionSizeCodePointLimit) + } + opts.expressionSizeCodePointLimit = expressionSizeCodePointLimit + return nil + } +} + +// Macros adds the given macros to the parser. +func Macros(macros ...Macro) Option { + return func(opts *options) error { + for _, m := range macros { + if m != nil { + if opts.macros == nil { + opts.macros = make(map[string]Macro) + } + opts.macros[m.MacroKey()] = m + } + } + return nil + } +} + +// PopulateMacroCalls ensures that the original call signatures replaced by expanded macros +// are preserved in the `SourceInfo` of parse result. +func PopulateMacroCalls(populateMacroCalls bool) Option { + return func(opts *options) error { + opts.populateMacroCalls = populateMacroCalls + return nil + } +} + +// EnableOptionalSyntax enables syntax for optional field and index selection. +func EnableOptionalSyntax(optionalSyntax bool) Option { + return func(opts *options) error { + opts.enableOptionalSyntax = optionalSyntax + return nil + } +} + +// EnableVariadicOperatorASTs enables a compact representation of chained like-kind commutative +// operators. e.g. `a || b || c || d` -> `call(op='||', args=[a, b, c, d])` +// +// The benefit of enabling variadic operators ASTs is a more compact representation deeply nested +// logic graphs. +func EnableVariadicOperatorASTs(varArgASTs bool) Option { + return func(opts *options) error { + opts.enableVariadicOperatorASTs = varArgASTs + return nil + } +} diff --git a/vendor/github.com/google/cel-go/parser/parser.go b/vendor/github.com/google/cel-go/parser/parser.go new file mode 100644 index 000000000..5cbb17672 --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/parser.go @@ -0,0 +1,1012 @@ +// Copyright 2018 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 parser declares an expression parser with support for macro +// expansion. +package parser + +import ( + "fmt" + "regexp" + "strconv" + "strings" + + antlr "github.com/antlr4-go/antlr/v4" + + "github.com/google/cel-go/common" + "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/operators" + "github.com/google/cel-go/common/runes" + "github.com/google/cel-go/common/types" + "github.com/google/cel-go/parser/gen" +) + +// Parser encapsulates the context necessary to perform parsing for different expressions. +type Parser struct { + options +} + +// NewParser builds and returns a new Parser using the provided options. +func NewParser(opts ...Option) (*Parser, error) { + p := &Parser{} + for _, opt := range opts { + if err := opt(&p.options); err != nil { + return nil, err + } + } + if p.errorReportingLimit == 0 { + p.errorReportingLimit = 100 + } + if p.maxRecursionDepth == 0 { + p.maxRecursionDepth = 250 + } + if p.maxRecursionDepth == -1 { + p.maxRecursionDepth = int((^uint(0)) >> 1) + } + if p.errorRecoveryTokenLookaheadLimit == 0 { + p.errorRecoveryTokenLookaheadLimit = 256 + } + if p.errorRecoveryLimit == 0 { + p.errorRecoveryLimit = 30 + } + if p.errorRecoveryLimit == -1 { + p.errorRecoveryLimit = int((^uint(0)) >> 1) + } + if p.expressionSizeCodePointLimit == 0 { + p.expressionSizeCodePointLimit = 100_000 + } + if p.expressionSizeCodePointLimit == -1 { + p.expressionSizeCodePointLimit = int((^uint(0)) >> 1) + } + // Bool is false by default, so populateMacroCalls will be false by default + return p, nil +} + +// mustNewParser does the work of NewParser and panics if an error occurs. +// +// This function is only intended for internal use and is for backwards compatibility in Parse and +// ParseWithMacros, where we know the options will result in an error. +func mustNewParser(opts ...Option) *Parser { + p, err := NewParser(opts...) + if err != nil { + panic(err) + } + return p +} + +// Parse parses the expression represented by source and returns the result. +func (p *Parser) Parse(source common.Source) (*ast.AST, *common.Errors) { + errs := common.NewErrors(source) + fac := ast.NewExprFactory() + impl := parser{ + errors: &parseErrors{errs}, + exprFactory: fac, + helper: newParserHelper(source, fac), + macros: p.macros, + maxRecursionDepth: p.maxRecursionDepth, + errorReportingLimit: p.errorReportingLimit, + errorRecoveryLimit: p.errorRecoveryLimit, + errorRecoveryLookaheadTokenLimit: p.errorRecoveryTokenLookaheadLimit, + populateMacroCalls: p.populateMacroCalls, + enableOptionalSyntax: p.enableOptionalSyntax, + enableVariadicOperatorASTs: p.enableVariadicOperatorASTs, + } + buf, ok := source.(runes.Buffer) + if !ok { + buf = runes.NewBuffer(source.Content()) + } + var out ast.Expr + if buf.Len() > p.expressionSizeCodePointLimit { + out = impl.reportError(common.NoLocation, + "expression code point size exceeds limit: size: %d, limit %d", + buf.Len(), p.expressionSizeCodePointLimit) + } else { + out = impl.parse(buf, source.Description()) + } + return ast.NewAST(out, impl.helper.getSourceInfo()), errs +} + +// reservedIds are not legal to use as variables. We exclude them post-parse, as they *are* valid +// field names for protos, and it would complicate the grammar to distinguish the cases. +var reservedIds = map[string]struct{}{ + "as": {}, + "break": {}, + "const": {}, + "continue": {}, + "else": {}, + "false": {}, + "for": {}, + "function": {}, + "if": {}, + "import": {}, + "in": {}, + "let": {}, + "loop": {}, + "package": {}, + "namespace": {}, + "null": {}, + "return": {}, + "true": {}, + "var": {}, + "void": {}, + "while": {}, +} + +// Parse converts a source input a parsed expression. +// This function calls ParseWithMacros with AllMacros. +// +// Deprecated: Use NewParser().Parse() instead. +func Parse(source common.Source) (*ast.AST, *common.Errors) { + return mustNewParser(Macros(AllMacros...)).Parse(source) +} + +type recursionError struct { + message string +} + +// Error implements error. +func (re *recursionError) Error() string { + return re.message +} + +var _ error = &recursionError{} + +type recursionListener struct { + maxDepth int + ruleTypeDepth map[int]*int +} + +func (rl *recursionListener) VisitTerminal(node antlr.TerminalNode) {} + +func (rl *recursionListener) VisitErrorNode(node antlr.ErrorNode) {} + +func (rl *recursionListener) EnterEveryRule(ctx antlr.ParserRuleContext) { + if ctx == nil { + return + } + ruleIndex := ctx.GetRuleIndex() + depth, found := rl.ruleTypeDepth[ruleIndex] + if !found { + var counter = 1 + rl.ruleTypeDepth[ruleIndex] = &counter + depth = &counter + } else { + *depth++ + } + if *depth > rl.maxDepth { + panic(&recursionError{ + message: fmt.Sprintf("expression recursion limit exceeded: %d", rl.maxDepth), + }) + } +} + +func (rl *recursionListener) ExitEveryRule(ctx antlr.ParserRuleContext) { + if ctx == nil { + return + } + ruleIndex := ctx.GetRuleIndex() + if depth, found := rl.ruleTypeDepth[ruleIndex]; found && *depth > 0 { + *depth-- + } +} + +var _ antlr.ParseTreeListener = &recursionListener{} + +type tooManyErrors struct { + errorReportingLimit int +} + +func (t *tooManyErrors) Error() string { + return fmt.Sprintf("More than %d syntax errors", t.errorReportingLimit) +} + +var _ error = &tooManyErrors{} + +type recoveryLimitError struct { + message string +} + +// Error implements error. +func (rl *recoveryLimitError) Error() string { + return rl.message +} + +type lookaheadLimitError struct { + message string +} + +func (ll *lookaheadLimitError) Error() string { + return ll.message +} + +var _ error = &recoveryLimitError{} + +type recoveryLimitErrorStrategy struct { + *antlr.DefaultErrorStrategy + errorRecoveryLimit int + errorRecoveryTokenLookaheadLimit int + recoveryAttempts int +} + +type lookaheadConsumer struct { + antlr.Parser + errorRecoveryTokenLookaheadLimit int + lookaheadAttempts int +} + +func (lc *lookaheadConsumer) Consume() antlr.Token { + if lc.lookaheadAttempts >= lc.errorRecoveryTokenLookaheadLimit { + panic(&lookaheadLimitError{ + message: fmt.Sprintf("error recovery token lookahead limit exceeded: %d", lc.errorRecoveryTokenLookaheadLimit), + }) + } + lc.lookaheadAttempts++ + return lc.Parser.Consume() +} + +func (rl *recoveryLimitErrorStrategy) Recover(recognizer antlr.Parser, e antlr.RecognitionException) { + rl.checkAttempts(recognizer) + lc := &lookaheadConsumer{Parser: recognizer, errorRecoveryTokenLookaheadLimit: rl.errorRecoveryTokenLookaheadLimit} + rl.DefaultErrorStrategy.Recover(lc, e) +} + +func (rl *recoveryLimitErrorStrategy) RecoverInline(recognizer antlr.Parser) antlr.Token { + rl.checkAttempts(recognizer) + lc := &lookaheadConsumer{Parser: recognizer, errorRecoveryTokenLookaheadLimit: rl.errorRecoveryTokenLookaheadLimit} + return rl.DefaultErrorStrategy.RecoverInline(lc) +} + +func (rl *recoveryLimitErrorStrategy) checkAttempts(recognizer antlr.Parser) { + if rl.recoveryAttempts == rl.errorRecoveryLimit { + rl.recoveryAttempts++ + msg := fmt.Sprintf("error recovery attempt limit exceeded: %d", rl.errorRecoveryLimit) + recognizer.NotifyErrorListeners(msg, nil, nil) + panic(&recoveryLimitError{ + message: msg, + }) + } + rl.recoveryAttempts++ +} + +var _ antlr.ErrorStrategy = &recoveryLimitErrorStrategy{} + +type parser struct { + gen.BaseCELVisitor + errors *parseErrors + exprFactory ast.ExprFactory + helper *parserHelper + macros map[string]Macro + recursionDepth int + errorReports int + maxRecursionDepth int + errorReportingLimit int + errorRecoveryLimit int + errorRecoveryLookaheadTokenLimit int + populateMacroCalls bool + enableOptionalSyntax bool + enableVariadicOperatorASTs bool +} + +var _ gen.CELVisitor = (*parser)(nil) + +func (p *parser) parse(expr runes.Buffer, desc string) ast.Expr { + lexer := gen.NewCELLexer(newCharStream(expr, desc)) + lexer.RemoveErrorListeners() + lexer.AddErrorListener(p) + + prsr := gen.NewCELParser(antlr.NewCommonTokenStream(lexer, 0)) + prsr.RemoveErrorListeners() + + prsrListener := &recursionListener{ + maxDepth: p.maxRecursionDepth, + ruleTypeDepth: map[int]*int{}, + } + + prsr.AddErrorListener(p) + prsr.AddParseListener(prsrListener) + + prsr.SetErrorHandler(&recoveryLimitErrorStrategy{ + DefaultErrorStrategy: antlr.NewDefaultErrorStrategy(), + errorRecoveryLimit: p.errorRecoveryLimit, + errorRecoveryTokenLookaheadLimit: p.errorRecoveryLookaheadTokenLimit, + }) + + defer func() { + if val := recover(); val != nil { + switch err := val.(type) { + case *lookaheadLimitError: + p.errors.internalError(err.Error()) + case *recursionError: + p.errors.internalError(err.Error()) + case *tooManyErrors: + // do nothing + case *recoveryLimitError: + // do nothing, listeners already notified and error reported. + default: + panic(val) + } + } + }() + + return p.Visit(prsr.Start_()).(ast.Expr) +} + +// Visitor implementations. +func (p *parser) Visit(tree antlr.ParseTree) any { + t := unnest(tree) + switch tree := t.(type) { + case *gen.StartContext: + return p.VisitStart(tree) + case *gen.ExprContext: + p.checkAndIncrementRecursionDepth() + out := p.VisitExpr(tree) + p.decrementRecursionDepth() + return out + case *gen.ConditionalAndContext: + return p.VisitConditionalAnd(tree) + case *gen.ConditionalOrContext: + return p.VisitConditionalOr(tree) + case *gen.RelationContext: + p.checkAndIncrementRecursionDepth() + out := p.VisitRelation(tree) + p.decrementRecursionDepth() + return out + case *gen.CalcContext: + p.checkAndIncrementRecursionDepth() + out := p.VisitCalc(tree) + p.decrementRecursionDepth() + return out + case *gen.LogicalNotContext: + return p.VisitLogicalNot(tree) + case *gen.IdentOrGlobalCallContext: + return p.VisitIdentOrGlobalCall(tree) + case *gen.SelectContext: + p.checkAndIncrementRecursionDepth() + out := p.VisitSelect(tree) + p.decrementRecursionDepth() + return out + case *gen.MemberCallContext: + p.checkAndIncrementRecursionDepth() + out := p.VisitMemberCall(tree) + p.decrementRecursionDepth() + return out + case *gen.MapInitializerListContext: + return p.VisitMapInitializerList(tree) + case *gen.NegateContext: + return p.VisitNegate(tree) + case *gen.IndexContext: + p.checkAndIncrementRecursionDepth() + out := p.VisitIndex(tree) + p.decrementRecursionDepth() + return out + case *gen.UnaryContext: + return p.VisitUnary(tree) + case *gen.CreateListContext: + return p.VisitCreateList(tree) + case *gen.CreateMessageContext: + return p.VisitCreateMessage(tree) + case *gen.CreateStructContext: + return p.VisitCreateStruct(tree) + case *gen.IntContext: + return p.VisitInt(tree) + case *gen.UintContext: + return p.VisitUint(tree) + case *gen.DoubleContext: + return p.VisitDouble(tree) + case *gen.StringContext: + return p.VisitString(tree) + case *gen.BytesContext: + return p.VisitBytes(tree) + case *gen.BoolFalseContext: + return p.VisitBoolFalse(tree) + case *gen.BoolTrueContext: + return p.VisitBoolTrue(tree) + case *gen.NullContext: + return p.VisitNull(tree) + } + + // Report at least one error if the parser reaches an unknown parse element. + // Typically, this happens if the parser has already encountered a syntax error elsewhere. + if p.errors.errorCount() == 0 { + txt := "<>" + if t != nil { + txt = fmt.Sprintf("<<%T>>", t) + } + return p.reportError(common.NoLocation, "unknown parse element encountered: %s", txt) + } + return p.helper.newExpr(common.NoLocation) + +} + +// Visit a parse tree produced by CELParser#start. +func (p *parser) VisitStart(ctx *gen.StartContext) any { + return p.Visit(ctx.Expr()) +} + +// Visit a parse tree produced by CELParser#expr. +func (p *parser) VisitExpr(ctx *gen.ExprContext) any { + result := p.Visit(ctx.GetE()).(ast.Expr) + if ctx.GetOp() == nil { + return result + } + opID := p.helper.id(ctx.GetOp()) + ifTrue := p.Visit(ctx.GetE1()).(ast.Expr) + ifFalse := p.Visit(ctx.GetE2()).(ast.Expr) + return p.globalCallOrMacro(opID, operators.Conditional, result, ifTrue, ifFalse) +} + +// Visit a parse tree produced by CELParser#conditionalOr. +func (p *parser) VisitConditionalOr(ctx *gen.ConditionalOrContext) any { + result := p.Visit(ctx.GetE()).(ast.Expr) + l := p.newLogicManager(operators.LogicalOr, result) + rest := ctx.GetE1() + for i, op := range ctx.GetOps() { + if i >= len(rest) { + return p.reportError(ctx, "unexpected character, wanted '||'") + } + next := p.Visit(rest[i]).(ast.Expr) + opID := p.helper.id(op) + l.addTerm(opID, next) + } + return l.toExpr() +} + +// Visit a parse tree produced by CELParser#conditionalAnd. +func (p *parser) VisitConditionalAnd(ctx *gen.ConditionalAndContext) any { + result := p.Visit(ctx.GetE()).(ast.Expr) + l := p.newLogicManager(operators.LogicalAnd, result) + rest := ctx.GetE1() + for i, op := range ctx.GetOps() { + if i >= len(rest) { + return p.reportError(ctx, "unexpected character, wanted '&&'") + } + next := p.Visit(rest[i]).(ast.Expr) + opID := p.helper.id(op) + l.addTerm(opID, next) + } + return l.toExpr() +} + +// Visit a parse tree produced by CELParser#relation. +func (p *parser) VisitRelation(ctx *gen.RelationContext) any { + opText := "" + if ctx.GetOp() != nil { + opText = ctx.GetOp().GetText() + } + if op, found := operators.Find(opText); found { + lhs := p.Visit(ctx.Relation(0)).(ast.Expr) + opID := p.helper.id(ctx.GetOp()) + rhs := p.Visit(ctx.Relation(1)).(ast.Expr) + return p.globalCallOrMacro(opID, op, lhs, rhs) + } + return p.reportError(ctx, "operator not found") +} + +// Visit a parse tree produced by CELParser#calc. +func (p *parser) VisitCalc(ctx *gen.CalcContext) any { + opText := "" + if ctx.GetOp() != nil { + opText = ctx.GetOp().GetText() + } + if op, found := operators.Find(opText); found { + lhs := p.Visit(ctx.Calc(0)).(ast.Expr) + opID := p.helper.id(ctx.GetOp()) + rhs := p.Visit(ctx.Calc(1)).(ast.Expr) + return p.globalCallOrMacro(opID, op, lhs, rhs) + } + return p.reportError(ctx, "operator not found") +} + +func (p *parser) VisitUnary(ctx *gen.UnaryContext) any { + return p.helper.newLiteralString(ctx, "<>") +} + +// Visit a parse tree produced by CELParser#LogicalNot. +func (p *parser) VisitLogicalNot(ctx *gen.LogicalNotContext) any { + if len(ctx.GetOps())%2 == 0 { + return p.Visit(ctx.Member()) + } + opID := p.helper.id(ctx.GetOps()[0]) + target := p.Visit(ctx.Member()).(ast.Expr) + return p.globalCallOrMacro(opID, operators.LogicalNot, target) +} + +func (p *parser) VisitNegate(ctx *gen.NegateContext) any { + if len(ctx.GetOps())%2 == 0 { + return p.Visit(ctx.Member()) + } + opID := p.helper.id(ctx.GetOps()[0]) + target := p.Visit(ctx.Member()).(ast.Expr) + return p.globalCallOrMacro(opID, operators.Negate, target) +} + +// VisitSelect visits a parse tree produced by CELParser#Select. +func (p *parser) VisitSelect(ctx *gen.SelectContext) any { + operand := p.Visit(ctx.Member()).(ast.Expr) + // Handle the error case where no valid identifier is specified. + if ctx.GetId() == nil || ctx.GetOp() == nil { + return p.helper.newExpr(ctx) + } + id := ctx.GetId().GetText() + if ctx.GetOpt() != nil { + if !p.enableOptionalSyntax { + return p.reportError(ctx.GetOp(), "unsupported syntax '.?'") + } + return p.helper.newGlobalCall( + ctx.GetOp(), + operators.OptSelect, + operand, + p.helper.newLiteralString(ctx.GetId(), id)) + } + return p.helper.newSelect(ctx.GetOp(), operand, id) +} + +// VisitMemberCall visits a parse tree produced by CELParser#MemberCall. +func (p *parser) VisitMemberCall(ctx *gen.MemberCallContext) any { + operand := p.Visit(ctx.Member()).(ast.Expr) + // Handle the error case where no valid identifier is specified. + if ctx.GetId() == nil { + return p.helper.newExpr(ctx) + } + id := ctx.GetId().GetText() + opID := p.helper.id(ctx.GetOpen()) + return p.receiverCallOrMacro(opID, id, operand, p.visitExprList(ctx.GetArgs())...) +} + +// Visit a parse tree produced by CELParser#Index. +func (p *parser) VisitIndex(ctx *gen.IndexContext) any { + target := p.Visit(ctx.Member()).(ast.Expr) + // Handle the error case where no valid identifier is specified. + if ctx.GetOp() == nil { + return p.helper.newExpr(ctx) + } + opID := p.helper.id(ctx.GetOp()) + index := p.Visit(ctx.GetIndex()).(ast.Expr) + operator := operators.Index + if ctx.GetOpt() != nil { + if !p.enableOptionalSyntax { + return p.reportError(ctx.GetOp(), "unsupported syntax '[?'") + } + operator = operators.OptIndex + } + return p.globalCallOrMacro(opID, operator, target, index) +} + +// Visit a parse tree produced by CELParser#CreateMessage. +func (p *parser) VisitCreateMessage(ctx *gen.CreateMessageContext) any { + messageName := "" + for _, id := range ctx.GetIds() { + if len(messageName) != 0 { + messageName += "." + } + messageName += id.GetText() + } + if ctx.GetLeadingDot() != nil { + messageName = "." + messageName + } + objID := p.helper.id(ctx.GetOp()) + entries := p.VisitIFieldInitializerList(ctx.GetEntries()).([]ast.EntryExpr) + return p.helper.newObject(objID, messageName, entries...) +} + +// Visit a parse tree of field initializers. +func (p *parser) VisitIFieldInitializerList(ctx gen.IFieldInitializerListContext) any { + if ctx == nil || ctx.GetFields() == nil { + // This is the result of a syntax error handled elswhere, return empty. + return []ast.EntryExpr{} + } + + result := make([]ast.EntryExpr, len(ctx.GetFields())) + cols := ctx.GetCols() + vals := ctx.GetValues() + for i, f := range ctx.GetFields() { + if i >= len(cols) || i >= len(vals) { + // This is the result of a syntax error detected elsewhere. + return []ast.EntryExpr{} + } + initID := p.helper.id(cols[i]) + optField := f.(*gen.OptFieldContext) + optional := optField.GetOpt() != nil + if !p.enableOptionalSyntax && optional { + p.reportError(optField, "unsupported syntax '?'") + continue + } + // The field may be empty due to a prior error. + id := optField.IDENTIFIER() + if id == nil { + return []ast.EntryExpr{} + } + fieldName := id.GetText() + value := p.Visit(vals[i]).(ast.Expr) + field := p.helper.newObjectField(initID, fieldName, value, optional) + result[i] = field + } + return result +} + +// Visit a parse tree produced by CELParser#IdentOrGlobalCall. +func (p *parser) VisitIdentOrGlobalCall(ctx *gen.IdentOrGlobalCallContext) any { + identName := "" + if ctx.GetLeadingDot() != nil { + identName = "." + } + // Handle the error case where no valid identifier is specified. + if ctx.GetId() == nil { + return p.helper.newExpr(ctx) + } + // Handle reserved identifiers. + id := ctx.GetId().GetText() + if _, ok := reservedIds[id]; ok { + return p.reportError(ctx, "reserved identifier: %s", id) + } + identName += id + if ctx.GetOp() != nil { + opID := p.helper.id(ctx.GetOp()) + return p.globalCallOrMacro(opID, identName, p.visitExprList(ctx.GetArgs())...) + } + return p.helper.newIdent(ctx.GetId(), identName) +} + +// Visit a parse tree produced by CELParser#CreateList. +func (p *parser) VisitCreateList(ctx *gen.CreateListContext) any { + listID := p.helper.id(ctx.GetOp()) + elems, optionals := p.visitListInit(ctx.GetElems()) + return p.helper.newList(listID, elems, optionals...) +} + +// Visit a parse tree produced by CELParser#CreateStruct. +func (p *parser) VisitCreateStruct(ctx *gen.CreateStructContext) any { + structID := p.helper.id(ctx.GetOp()) + entries := []ast.EntryExpr{} + if ctx.GetEntries() != nil { + entries = p.Visit(ctx.GetEntries()).([]ast.EntryExpr) + } + return p.helper.newMap(structID, entries...) +} + +// Visit a parse tree produced by CELParser#mapInitializerList. +func (p *parser) VisitMapInitializerList(ctx *gen.MapInitializerListContext) any { + if ctx == nil || ctx.GetKeys() == nil { + // This is the result of a syntax error handled elswhere, return empty. + return []ast.EntryExpr{} + } + + result := make([]ast.EntryExpr, len(ctx.GetCols())) + keys := ctx.GetKeys() + vals := ctx.GetValues() + for i, col := range ctx.GetCols() { + colID := p.helper.id(col) + if i >= len(keys) || i >= len(vals) { + // This is the result of a syntax error detected elsewhere. + return []ast.EntryExpr{} + } + optKey := keys[i] + optional := optKey.GetOpt() != nil + if !p.enableOptionalSyntax && optional { + p.reportError(optKey, "unsupported syntax '?'") + continue + } + key := p.Visit(optKey.GetE()).(ast.Expr) + value := p.Visit(vals[i]).(ast.Expr) + entry := p.helper.newMapEntry(colID, key, value, optional) + result[i] = entry + } + return result +} + +// Visit a parse tree produced by CELParser#Int. +func (p *parser) VisitInt(ctx *gen.IntContext) any { + text := ctx.GetTok().GetText() + base := 10 + if strings.HasPrefix(text, "0x") { + base = 16 + text = text[2:] + } + if ctx.GetSign() != nil { + text = ctx.GetSign().GetText() + text + } + i, err := strconv.ParseInt(text, base, 64) + if err != nil { + return p.reportError(ctx, "invalid int literal") + } + return p.helper.newLiteralInt(ctx, i) +} + +// Visit a parse tree produced by CELParser#Uint. +func (p *parser) VisitUint(ctx *gen.UintContext) any { + text := ctx.GetTok().GetText() + // trim the 'u' designator included in the uint literal. + text = text[:len(text)-1] + base := 10 + if strings.HasPrefix(text, "0x") { + base = 16 + text = text[2:] + } + i, err := strconv.ParseUint(text, base, 64) + if err != nil { + return p.reportError(ctx, "invalid uint literal") + } + return p.helper.newLiteralUint(ctx, i) +} + +// Visit a parse tree produced by CELParser#Double. +func (p *parser) VisitDouble(ctx *gen.DoubleContext) any { + txt := ctx.GetTok().GetText() + if ctx.GetSign() != nil { + txt = ctx.GetSign().GetText() + txt + } + f, err := strconv.ParseFloat(txt, 64) + if err != nil { + return p.reportError(ctx, "invalid double literal") + } + return p.helper.newLiteralDouble(ctx, f) + +} + +// Visit a parse tree produced by CELParser#String. +func (p *parser) VisitString(ctx *gen.StringContext) any { + s := p.unquote(ctx, ctx.GetText(), false) + return p.helper.newLiteralString(ctx, s) +} + +// Visit a parse tree produced by CELParser#Bytes. +func (p *parser) VisitBytes(ctx *gen.BytesContext) any { + b := []byte(p.unquote(ctx, ctx.GetTok().GetText()[1:], true)) + return p.helper.newLiteralBytes(ctx, b) +} + +// Visit a parse tree produced by CELParser#BoolTrue. +func (p *parser) VisitBoolTrue(ctx *gen.BoolTrueContext) any { + return p.helper.newLiteralBool(ctx, true) +} + +// Visit a parse tree produced by CELParser#BoolFalse. +func (p *parser) VisitBoolFalse(ctx *gen.BoolFalseContext) any { + return p.helper.newLiteralBool(ctx, false) +} + +// Visit a parse tree produced by CELParser#Null. +func (p *parser) VisitNull(ctx *gen.NullContext) any { + return p.helper.exprFactory.NewLiteral(p.helper.newID(ctx), types.NullValue) +} + +func (p *parser) visitExprList(ctx gen.IExprListContext) []ast.Expr { + if ctx == nil { + return []ast.Expr{} + } + return p.visitSlice(ctx.GetE()) +} + +func (p *parser) visitListInit(ctx gen.IListInitContext) ([]ast.Expr, []int32) { + if ctx == nil { + return []ast.Expr{}, []int32{} + } + elements := ctx.GetElems() + result := make([]ast.Expr, len(elements)) + optionals := []int32{} + for i, e := range elements { + ex := p.Visit(e.GetE()).(ast.Expr) + if ex == nil { + return []ast.Expr{}, []int32{} + } + result[i] = ex + if e.GetOpt() != nil { + if !p.enableOptionalSyntax { + p.reportError(e.GetOpt(), "unsupported syntax '?'") + continue + } + optionals = append(optionals, int32(i)) + } + } + return result, optionals +} + +func (p *parser) visitSlice(expressions []gen.IExprContext) []ast.Expr { + if expressions == nil { + return []ast.Expr{} + } + result := make([]ast.Expr, len(expressions)) + for i, e := range expressions { + ex := p.Visit(e).(ast.Expr) + result[i] = ex + } + return result +} + +func (p *parser) unquote(ctx any, value string, isBytes bool) string { + text, err := unescape(value, isBytes) + if err != nil { + p.reportError(ctx, "%s", err.Error()) + return value + } + return text +} + +func (p *parser) newLogicManager(function string, term ast.Expr) *logicManager { + if p.enableVariadicOperatorASTs { + return newVariadicLogicManager(p.exprFactory, function, term) + } + return newBalancingLogicManager(p.exprFactory, function, term) +} + +func (p *parser) reportError(ctx any, format string, args ...any) ast.Expr { + var location common.Location + err := p.helper.newExpr(ctx) + switch c := ctx.(type) { + case common.Location: + location = c + case antlr.Token, antlr.ParserRuleContext: + location = p.helper.getLocation(err.ID()) + } + // Provide arguments to the report error. + p.errors.reportErrorAtID(err.ID(), location, format, args...) + return err +} + +// ANTLR Parse listener implementations +func (p *parser) SyntaxError(recognizer antlr.Recognizer, offendingSymbol any, line, column int, msg string, e antlr.RecognitionException) { + offset := p.helper.sourceInfo.ComputeOffset(int32(line), int32(column)) + l := p.helper.getLocationByOffset(offset) + // Hack to keep existing error messages consistent with previous versions of CEL when a reserved word + // is used as an identifier. This behavior needs to be overhauled to provide consistent, normalized error + // messages out of ANTLR to prevent future breaking changes related to error message content. + if strings.Contains(msg, "no viable alternative") { + msg = reservedIdentifier.ReplaceAllString(msg, mismatchedReservedIdentifier) + } + // Ensure that no more than 100 syntax errors are reported as this will halt attempts to recover from a + // seriously broken expression. + if p.errorReports < p.errorReportingLimit { + p.errorReports++ + p.errors.syntaxError(l, msg) + } else { + tme := &tooManyErrors{errorReportingLimit: p.errorReportingLimit} + p.errors.syntaxError(l, tme.Error()) + panic(tme) + } +} + +func (p *parser) ReportAmbiguity(recognizer antlr.Parser, dfa *antlr.DFA, startIndex, stopIndex int, exact bool, ambigAlts *antlr.BitSet, configs *antlr.ATNConfigSet) { + // Intentional +} + +func (p *parser) ReportAttemptingFullContext(recognizer antlr.Parser, dfa *antlr.DFA, startIndex, stopIndex int, conflictingAlts *antlr.BitSet, configs *antlr.ATNConfigSet) { + // Intentional +} + +func (p *parser) ReportContextSensitivity(recognizer antlr.Parser, dfa *antlr.DFA, startIndex, stopIndex, prediction int, configs *antlr.ATNConfigSet) { + // Intentional +} + +func (p *parser) globalCallOrMacro(exprID int64, function string, args ...ast.Expr) ast.Expr { + if expr, found := p.expandMacro(exprID, function, nil, args...); found { + return expr + } + return p.helper.newGlobalCall(exprID, function, args...) +} + +func (p *parser) receiverCallOrMacro(exprID int64, function string, target ast.Expr, args ...ast.Expr) ast.Expr { + if expr, found := p.expandMacro(exprID, function, target, args...); found { + return expr + } + return p.helper.newReceiverCall(exprID, function, target, args...) +} + +func (p *parser) expandMacro(exprID int64, function string, target ast.Expr, args ...ast.Expr) (ast.Expr, bool) { + macro, found := p.macros[makeMacroKey(function, len(args), target != nil)] + if !found { + macro, found = p.macros[makeVarArgMacroKey(function, target != nil)] + if !found { + return nil, false + } + } + eh := exprHelperPool.Get().(*exprHelper) + defer exprHelperPool.Put(eh) + eh.parserHelper = p.helper + eh.id = exprID + expr, err := macro.Expander()(eh, target, args) + // An error indicates that the macro was matched, but the arguments were not well-formed. + if err != nil { + loc := err.Location + if loc == nil { + loc = p.helper.getLocation(exprID) + } + p.helper.deleteID(exprID) + return p.reportError(loc, err.Message), true + } + // A nil value from the macro indicates that the macro implementation decided that + // an expansion should not be performed. + if expr == nil { + return nil, false + } + if p.populateMacroCalls { + p.helper.addMacroCall(expr.ID(), function, target, args...) + } + p.helper.deleteID(exprID) + return expr, true +} + +func (p *parser) checkAndIncrementRecursionDepth() { + p.recursionDepth++ + if p.recursionDepth > p.maxRecursionDepth { + panic(&recursionError{message: "max recursion depth exceeded"}) + } +} + +func (p *parser) decrementRecursionDepth() { + p.recursionDepth-- +} + +// unnest traverses down the left-hand side of the parse graph until it encounters the first compound +// parse node or the first leaf in the parse graph. +func unnest(tree antlr.ParseTree) antlr.ParseTree { + for tree != nil { + switch t := tree.(type) { + case *gen.ExprContext: + // conditionalOr op='?' conditionalOr : expr + if t.GetOp() != nil { + return t + } + // conditionalOr + tree = t.GetE() + case *gen.ConditionalOrContext: + // conditionalAnd (ops=|| conditionalAnd)* + if t.GetOps() != nil && len(t.GetOps()) > 0 { + return t + } + // conditionalAnd + tree = t.GetE() + case *gen.ConditionalAndContext: + // relation (ops=&& relation)* + if t.GetOps() != nil && len(t.GetOps()) > 0 { + return t + } + // relation + tree = t.GetE() + case *gen.RelationContext: + // relation op relation + if t.GetOp() != nil { + return t + } + // calc + tree = t.Calc() + case *gen.CalcContext: + // calc op calc + if t.GetOp() != nil { + return t + } + // unary + tree = t.Unary() + case *gen.MemberExprContext: + // member expands to one of: primary, select, index, or create message + tree = t.Member() + case *gen.PrimaryExprContext: + // primary expands to one of identifier, nested, create list, create struct, literal + tree = t.Primary() + case *gen.NestedContext: + // contains a nested 'expr' + tree = t.GetE() + case *gen.ConstantLiteralContext: + // expands to a primitive literal + tree = t.Literal() + default: + return t + } + } + return tree +} + +var ( + reservedIdentifier = regexp.MustCompile("no viable alternative at input '.(true|false|null)'") + mismatchedReservedIdentifier = "mismatched input '$1' expecting IDENTIFIER" +) diff --git a/vendor/github.com/google/cel-go/parser/unescape.go b/vendor/github.com/google/cel-go/parser/unescape.go new file mode 100644 index 000000000..27c57a9f3 --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/unescape.go @@ -0,0 +1,237 @@ +// Copyright 2018 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 parser + +import ( + "fmt" + "strings" + "unicode/utf8" +) + +// Unescape takes a quoted string, unquotes, and unescapes it. +// +// This function performs escaping compatible with GoogleSQL. +func unescape(value string, isBytes bool) (string, error) { + // All strings normalize newlines to the \n representation. + value = newlineNormalizer.Replace(value) + n := len(value) + + // Nothing to unescape / decode. + if n < 2 { + return value, fmt.Errorf("unable to unescape string") + } + + // Raw string preceded by the 'r|R' prefix. + isRawLiteral := false + if value[0] == 'r' || value[0] == 'R' { + value = value[1:] + n = len(value) + isRawLiteral = true + } + + // Quoted string of some form, must have same first and last char. + if value[0] != value[n-1] || (value[0] != '"' && value[0] != '\'') { + return value, fmt.Errorf("unable to unescape string") + } + + // Normalize the multi-line CEL string representation to a standard + // Go quoted string. + if n >= 6 { + if strings.HasPrefix(value, "'''") { + if !strings.HasSuffix(value, "'''") { + return value, fmt.Errorf("unable to unescape string") + } + value = "\"" + value[3:n-3] + "\"" + } else if strings.HasPrefix(value, `"""`) { + if !strings.HasSuffix(value, `"""`) { + return value, fmt.Errorf("unable to unescape string") + } + value = "\"" + value[3:n-3] + "\"" + } + n = len(value) + } + value = value[1 : n-1] + // If there is nothing to escape, then return. + if isRawLiteral || !strings.ContainsRune(value, '\\') { + return value, nil + } + + // Otherwise the string contains escape characters. + // The following logic is adapted from `strconv/quote.go` + var runeTmp [utf8.UTFMax]byte + buf := make([]byte, 0, 3*n/2) + for len(value) > 0 { + c, encode, rest, err := unescapeChar(value, isBytes) + if err != nil { + return "", err + } + value = rest + if c < utf8.RuneSelf || !encode { + buf = append(buf, byte(c)) + } else { + n := utf8.EncodeRune(runeTmp[:], c) + buf = append(buf, runeTmp[:n]...) + } + } + return string(buf), nil +} + +// unescapeChar takes a string input and returns the following info: +// +// value - the escaped unicode rune at the front of the string. +// encode - the value should be unicode-encoded +// tail - the remainder of the input string. +// err - error value, if the character could not be unescaped. +// +// When encode is true the return value may still fit within a single byte, +// but unicode encoding is attempted which is more expensive than when the +// value is known to self-represent as a single byte. +// +// If isBytes is set, unescape as a bytes literal so octal and hex escapes +// represent byte values, not unicode code points. +func unescapeChar(s string, isBytes bool) (value rune, encode bool, tail string, err error) { + // 1. Character is not an escape sequence. + switch c := s[0]; { + case c >= utf8.RuneSelf: + r, size := utf8.DecodeRuneInString(s) + return r, true, s[size:], nil + case c != '\\': + return rune(s[0]), false, s[1:], nil + } + + // 2. Last character is the start of an escape sequence. + if len(s) <= 1 { + err = fmt.Errorf("unable to unescape string, found '\\' as last character") + return + } + + c := s[1] + s = s[2:] + // 3. Common escape sequences shared with Google SQL + switch c { + case 'a': + value = '\a' + case 'b': + value = '\b' + case 'f': + value = '\f' + case 'n': + value = '\n' + case 'r': + value = '\r' + case 't': + value = '\t' + case 'v': + value = '\v' + case '\\': + value = '\\' + case '\'': + value = '\'' + case '"': + value = '"' + case '`': + value = '`' + case '?': + value = '?' + + // 4. Unicode escape sequences, reproduced from `strconv/quote.go` + case 'x', 'X', 'u', 'U': + n := 0 + encode = true + switch c { + case 'x', 'X': + n = 2 + encode = !isBytes + case 'u': + n = 4 + if isBytes { + err = fmt.Errorf("unable to unescape string") + return + } + case 'U': + n = 8 + if isBytes { + err = fmt.Errorf("unable to unescape string") + return + } + } + var v rune + if len(s) < n { + err = fmt.Errorf("unable to unescape string") + return + } + for j := 0; j < n; j++ { + x, ok := unhex(s[j]) + if !ok { + err = fmt.Errorf("unable to unescape string") + return + } + v = v<<4 | x + } + s = s[n:] + if !isBytes && v > utf8.MaxRune { + err = fmt.Errorf("unable to unescape string") + return + } + value = v + + // 5. Octal escape sequences, must be three digits \[0-3][0-7][0-7] + case '0', '1', '2', '3': + if len(s) < 2 { + err = fmt.Errorf("unable to unescape octal sequence in string") + return + } + v := rune(c - '0') + for j := 0; j < 2; j++ { + x := s[j] + if x < '0' || x > '7' { + err = fmt.Errorf("unable to unescape octal sequence in string") + return + } + v = v*8 + rune(x-'0') + } + if !isBytes && v > utf8.MaxRune { + err = fmt.Errorf("unable to unescape string") + return + } + value = v + s = s[2:] + encode = !isBytes + + // Unknown escape sequence. + default: + err = fmt.Errorf("unable to unescape string") + } + + tail = s + return +} + +func unhex(b byte) (rune, bool) { + c := rune(b) + switch { + case '0' <= c && c <= '9': + return c - '0', true + case 'a' <= c && c <= 'f': + return c - 'a' + 10, true + case 'A' <= c && c <= 'F': + return c - 'A' + 10, true + } + return 0, false +} + +var ( + newlineNormalizer = strings.NewReplacer("\r\n", "\n", "\r", "\n") +) diff --git a/vendor/github.com/google/cel-go/parser/unparser.go b/vendor/github.com/google/cel-go/parser/unparser.go new file mode 100644 index 000000000..91cf72944 --- /dev/null +++ b/vendor/github.com/google/cel-go/parser/unparser.go @@ -0,0 +1,629 @@ +// Copyright 2019 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 parser + +import ( + "errors" + "fmt" + "strconv" + "strings" + + "github.com/google/cel-go/common/ast" + "github.com/google/cel-go/common/operators" + "github.com/google/cel-go/common/types" +) + +// Unparse takes an input expression and source position information and generates a human-readable +// expression. +// +// Note, unparsing an AST will often generate the same expression as was originally parsed, but some +// formatting may be lost in translation, notably: +// +// - All quoted literals are doubled quoted. +// - Byte literals are represented as octal escapes (same as Google SQL). +// - Floating point values are converted to the small number of digits needed to represent the value. +// - Spacing around punctuation marks may be lost. +// - Parentheses will only be applied when they affect operator precedence. +// +// This function optionally takes in one or more UnparserOption to alter the unparsing behavior, such as +// performing word wrapping on expressions. +func Unparse(expr ast.Expr, info *ast.SourceInfo, opts ...UnparserOption) (string, error) { + unparserOpts := &unparserOption{ + wrapOnColumn: defaultWrapOnColumn, + wrapAfterColumnLimit: defaultWrapAfterColumnLimit, + operatorsToWrapOn: defaultOperatorsToWrapOn, + } + + var err error + for _, opt := range opts { + unparserOpts, err = opt(unparserOpts) + if err != nil { + return "", err + } + } + + un := &unparser{ + info: info, + options: unparserOpts, + } + err = un.visit(expr) + if err != nil { + return "", err + } + return un.str.String(), nil +} + +// unparser visits an expression to reconstruct a human-readable string from an AST. +type unparser struct { + str strings.Builder + info *ast.SourceInfo + options *unparserOption + lastWrappedIndex int +} + +func (un *unparser) visit(expr ast.Expr) error { + if expr == nil { + return errors.New("unsupported expression") + } + visited, err := un.visitMaybeMacroCall(expr) + if visited || err != nil { + return err + } + switch expr.Kind() { + case ast.CallKind: + return un.visitCall(expr) + case ast.LiteralKind: + return un.visitConst(expr) + case ast.IdentKind: + return un.visitIdent(expr) + case ast.ListKind: + return un.visitList(expr) + case ast.MapKind: + return un.visitStructMap(expr) + case ast.SelectKind: + return un.visitSelect(expr) + case ast.StructKind: + return un.visitStructMsg(expr) + default: + return fmt.Errorf("unsupported expression: %v", expr) + } +} + +func (un *unparser) visitCall(expr ast.Expr) error { + c := expr.AsCall() + fun := c.FunctionName() + switch fun { + // ternary operator + case operators.Conditional: + return un.visitCallConditional(expr) + // optional select operator + case operators.OptSelect: + return un.visitOptSelect(expr) + // index operator + case operators.Index: + return un.visitCallIndex(expr) + // optional index operator + case operators.OptIndex: + return un.visitCallOptIndex(expr) + // unary operators + case operators.LogicalNot, operators.Negate: + return un.visitCallUnary(expr) + // binary operators + case operators.Add, + operators.Divide, + operators.Equals, + operators.Greater, + operators.GreaterEquals, + operators.In, + operators.Less, + operators.LessEquals, + operators.LogicalAnd, + operators.LogicalOr, + operators.Modulo, + operators.Multiply, + operators.NotEquals, + operators.OldIn, + operators.Subtract: + return un.visitCallBinary(expr) + // standard function calls. + default: + return un.visitCallFunc(expr) + } +} + +func (un *unparser) visitCallBinary(expr ast.Expr) error { + c := expr.AsCall() + fun := c.FunctionName() + args := c.Args() + lhs := args[0] + // add parens if the current operator is lower precedence than the lhs expr operator. + lhsParen := isComplexOperatorWithRespectTo(fun, lhs) + rhs := args[1] + // add parens if the current operator is lower precedence than the rhs expr operator, + // or the same precedence and the operator is left recursive. + rhsParen := isComplexOperatorWithRespectTo(fun, rhs) + if !rhsParen && isLeftRecursive(fun) { + rhsParen = isSamePrecedence(fun, rhs) + } + err := un.visitMaybeNested(lhs, lhsParen) + if err != nil { + return err + } + unmangled, found := operators.FindReverseBinaryOperator(fun) + if !found { + return fmt.Errorf("cannot unmangle operator: %s", fun) + } + + un.writeOperatorWithWrapping(fun, unmangled) + return un.visitMaybeNested(rhs, rhsParen) +} + +func (un *unparser) visitCallConditional(expr ast.Expr) error { + c := expr.AsCall() + args := c.Args() + // add parens if operand is a conditional itself. + nested := isSamePrecedence(operators.Conditional, args[0]) || + isComplexOperator(args[0]) + err := un.visitMaybeNested(args[0], nested) + if err != nil { + return err + } + un.writeOperatorWithWrapping(operators.Conditional, "?") + + // add parens if operand is a conditional itself. + nested = isSamePrecedence(operators.Conditional, args[1]) || + isComplexOperator(args[1]) + err = un.visitMaybeNested(args[1], nested) + if err != nil { + return err + } + + un.str.WriteString(" : ") + // add parens if operand is a conditional itself. + nested = isSamePrecedence(operators.Conditional, args[2]) || + isComplexOperator(args[2]) + + return un.visitMaybeNested(args[2], nested) +} + +func (un *unparser) visitCallFunc(expr ast.Expr) error { + c := expr.AsCall() + fun := c.FunctionName() + args := c.Args() + if c.IsMemberFunction() { + nested := isBinaryOrTernaryOperator(c.Target()) + err := un.visitMaybeNested(c.Target(), nested) + if err != nil { + return err + } + un.str.WriteString(".") + } + un.str.WriteString(fun) + un.str.WriteString("(") + for i, arg := range args { + err := un.visit(arg) + if err != nil { + return err + } + if i < len(args)-1 { + un.str.WriteString(", ") + } + } + un.str.WriteString(")") + return nil +} + +func (un *unparser) visitCallIndex(expr ast.Expr) error { + return un.visitCallIndexInternal(expr, "[") +} + +func (un *unparser) visitCallOptIndex(expr ast.Expr) error { + return un.visitCallIndexInternal(expr, "[?") +} + +func (un *unparser) visitCallIndexInternal(expr ast.Expr, op string) error { + c := expr.AsCall() + args := c.Args() + nested := isBinaryOrTernaryOperator(args[0]) + err := un.visitMaybeNested(args[0], nested) + if err != nil { + return err + } + un.str.WriteString(op) + err = un.visit(args[1]) + if err != nil { + return err + } + un.str.WriteString("]") + return nil +} + +func (un *unparser) visitCallUnary(expr ast.Expr) error { + c := expr.AsCall() + fun := c.FunctionName() + args := c.Args() + unmangled, found := operators.FindReverse(fun) + if !found { + return fmt.Errorf("cannot unmangle operator: %s", fun) + } + un.str.WriteString(unmangled) + nested := isComplexOperator(args[0]) + return un.visitMaybeNested(args[0], nested) +} + +func (un *unparser) visitConst(expr ast.Expr) error { + val := expr.AsLiteral() + switch val := val.(type) { + case types.Bool: + un.str.WriteString(strconv.FormatBool(bool(val))) + case types.Bytes: + // bytes constants are surrounded with b"" + un.str.WriteString(`b"`) + un.str.WriteString(bytesToOctets([]byte(val))) + un.str.WriteString(`"`) + case types.Double: + // represent the float using the minimum required digits + d := strconv.FormatFloat(float64(val), 'g', -1, 64) + un.str.WriteString(d) + if !strings.Contains(d, ".") { + un.str.WriteString(".0") + } + case types.Int: + i := strconv.FormatInt(int64(val), 10) + un.str.WriteString(i) + case types.Null: + un.str.WriteString("null") + case types.String: + // strings will be double quoted with quotes escaped. + un.str.WriteString(strconv.Quote(string(val))) + case types.Uint: + // uint literals have a 'u' suffix. + ui := strconv.FormatUint(uint64(val), 10) + un.str.WriteString(ui) + un.str.WriteString("u") + default: + return fmt.Errorf("unsupported constant: %v", expr) + } + return nil +} + +func (un *unparser) visitIdent(expr ast.Expr) error { + un.str.WriteString(expr.AsIdent()) + return nil +} + +func (un *unparser) visitList(expr ast.Expr) error { + l := expr.AsList() + elems := l.Elements() + optIndices := make(map[int]bool, len(elems)) + for _, idx := range l.OptionalIndices() { + optIndices[int(idx)] = true + } + un.str.WriteString("[") + for i, elem := range elems { + if optIndices[i] { + un.str.WriteString("?") + } + err := un.visit(elem) + if err != nil { + return err + } + if i < len(elems)-1 { + un.str.WriteString(", ") + } + } + un.str.WriteString("]") + return nil +} + +func (un *unparser) visitOptSelect(expr ast.Expr) error { + c := expr.AsCall() + args := c.Args() + operand := args[0] + field := args[1].AsLiteral().(types.String) + return un.visitSelectInternal(operand, false, ".?", string(field)) +} + +func (un *unparser) visitSelect(expr ast.Expr) error { + sel := expr.AsSelect() + return un.visitSelectInternal(sel.Operand(), sel.IsTestOnly(), ".", sel.FieldName()) +} + +func (un *unparser) visitSelectInternal(operand ast.Expr, testOnly bool, op string, field string) error { + // handle the case when the select expression was generated by the has() macro. + if testOnly { + un.str.WriteString("has(") + } + nested := !testOnly && isBinaryOrTernaryOperator(operand) + err := un.visitMaybeNested(operand, nested) + if err != nil { + return err + } + un.str.WriteString(op) + un.str.WriteString(field) + if testOnly { + un.str.WriteString(")") + } + return nil +} + +func (un *unparser) visitStructMsg(expr ast.Expr) error { + m := expr.AsStruct() + fields := m.Fields() + un.str.WriteString(m.TypeName()) + un.str.WriteString("{") + for i, f := range fields { + field := f.AsStructField() + f := field.Name() + if field.IsOptional() { + un.str.WriteString("?") + } + un.str.WriteString(f) + un.str.WriteString(": ") + v := field.Value() + err := un.visit(v) + if err != nil { + return err + } + if i < len(fields)-1 { + un.str.WriteString(", ") + } + } + un.str.WriteString("}") + return nil +} + +func (un *unparser) visitStructMap(expr ast.Expr) error { + m := expr.AsMap() + entries := m.Entries() + un.str.WriteString("{") + for i, e := range entries { + entry := e.AsMapEntry() + k := entry.Key() + if entry.IsOptional() { + un.str.WriteString("?") + } + err := un.visit(k) + if err != nil { + return err + } + un.str.WriteString(": ") + v := entry.Value() + err = un.visit(v) + if err != nil { + return err + } + if i < len(entries)-1 { + un.str.WriteString(", ") + } + } + un.str.WriteString("}") + return nil +} + +func (un *unparser) visitMaybeMacroCall(expr ast.Expr) (bool, error) { + call, found := un.info.GetMacroCall(expr.ID()) + if !found { + return false, nil + } + return true, un.visit(call) +} + +func (un *unparser) visitMaybeNested(expr ast.Expr, nested bool) error { + if nested { + un.str.WriteString("(") + } + err := un.visit(expr) + if err != nil { + return err + } + if nested { + un.str.WriteString(")") + } + return nil +} + +// isLeftRecursive indicates whether the parser resolves the call in a left-recursive manner as +// this can have an effect of how parentheses affect the order of operations in the AST. +func isLeftRecursive(op string) bool { + return op != operators.LogicalAnd && op != operators.LogicalOr +} + +// isSamePrecedence indicates whether the precedence of the input operator is the same as the +// precedence of the (possible) operation represented in the input Expr. +// +// If the expr is not a Call, the result is false. +func isSamePrecedence(op string, expr ast.Expr) bool { + if expr.Kind() != ast.CallKind { + return false + } + c := expr.AsCall() + other := c.FunctionName() + return operators.Precedence(op) == operators.Precedence(other) +} + +// isLowerPrecedence indicates whether the precedence of the input operator is lower precedence +// than the (possible) operation represented in the input Expr. +// +// If the expr is not a Call, the result is false. +func isLowerPrecedence(op string, expr ast.Expr) bool { + c := expr.AsCall() + other := c.FunctionName() + return operators.Precedence(op) < operators.Precedence(other) +} + +// Indicates whether the expr is a complex operator, i.e., a call expression +// with 2 or more arguments. +func isComplexOperator(expr ast.Expr) bool { + if expr.Kind() == ast.CallKind && len(expr.AsCall().Args()) >= 2 { + return true + } + return false +} + +// Indicates whether it is a complex operation compared to another. +// expr is *not* considered complex if it is not a call expression or has +// less than two arguments, or if it has a higher precedence than op. +func isComplexOperatorWithRespectTo(op string, expr ast.Expr) bool { + if expr.Kind() != ast.CallKind || len(expr.AsCall().Args()) < 2 { + return false + } + return isLowerPrecedence(op, expr) +} + +// Indicate whether this is a binary or ternary operator. +func isBinaryOrTernaryOperator(expr ast.Expr) bool { + if expr.Kind() != ast.CallKind || len(expr.AsCall().Args()) < 2 { + return false + } + _, isBinaryOp := operators.FindReverseBinaryOperator(expr.AsCall().FunctionName()) + return isBinaryOp || isSamePrecedence(operators.Conditional, expr) +} + +// bytesToOctets converts byte sequences to a string using a three digit octal encoded value +// per byte. +func bytesToOctets(byteVal []byte) string { + var b strings.Builder + for _, c := range byteVal { + fmt.Fprintf(&b, "\\%03o", c) + } + return b.String() +} + +// writeOperatorWithWrapping outputs the operator and inserts a newline for operators configured +// in the unparser options. +func (un *unparser) writeOperatorWithWrapping(fun string, unmangled string) bool { + _, wrapOperatorExists := un.options.operatorsToWrapOn[fun] + lineLength := un.str.Len() - un.lastWrappedIndex + len(fun) + + if wrapOperatorExists && lineLength >= un.options.wrapOnColumn { + un.lastWrappedIndex = un.str.Len() + // wrapAfterColumnLimit flag dictates whether the newline is placed + // before or after the operator + if un.options.wrapAfterColumnLimit { + // Input: a && b + // Output: a &&\nb + un.str.WriteString(" ") + un.str.WriteString(unmangled) + un.str.WriteString("\n") + } else { + // Input: a && b + // Output: a\n&& b + un.str.WriteString("\n") + un.str.WriteString(unmangled) + un.str.WriteString(" ") + } + return true + } + un.str.WriteString(" ") + un.str.WriteString(unmangled) + un.str.WriteString(" ") + return false +} + +// Defined defaults for the unparser options +var ( + defaultWrapOnColumn = 80 + defaultWrapAfterColumnLimit = true + defaultOperatorsToWrapOn = map[string]bool{ + operators.LogicalAnd: true, + operators.LogicalOr: true, + } +) + +// UnparserOption is a functional option for configuring the output formatting +// of the Unparse function. +type UnparserOption func(*unparserOption) (*unparserOption, error) + +// Internal representation of the UnparserOption type +type unparserOption struct { + wrapOnColumn int + operatorsToWrapOn map[string]bool + wrapAfterColumnLimit bool +} + +// WrapOnColumn wraps the output expression when its string length exceeds a specified limit +// for operators set by WrapOnOperators function or by default, "&&" and "||" will be wrapped. +// +// Example usage: +// +// Unparse(expr, sourceInfo, WrapOnColumn(40), WrapOnOperators(Operators.LogicalAnd)) +// +// This will insert a newline immediately after the logical AND operator for the below example input: +// +// Input: +// 'my-principal-group' in request.auth.claims && request.auth.claims.iat > now - duration('5m') +// +// Output: +// 'my-principal-group' in request.auth.claims && +// request.auth.claims.iat > now - duration('5m') +func WrapOnColumn(col int) UnparserOption { + return func(opt *unparserOption) (*unparserOption, error) { + if col < 1 { + return nil, fmt.Errorf("Invalid unparser option. Wrap column value must be greater than or equal to 1. Got %v instead", col) + } + opt.wrapOnColumn = col + return opt, nil + } +} + +// WrapOnOperators specifies which operators to perform word wrapping on an output expression when its string length +// exceeds the column limit set by WrapOnColumn function. +// +// Word wrapping is supported on non-unary symbolic operators. Refer to operators.go for the full list +// +// This will replace any previously supplied operators instead of merging them. +func WrapOnOperators(symbols ...string) UnparserOption { + return func(opt *unparserOption) (*unparserOption, error) { + opt.operatorsToWrapOn = make(map[string]bool) + for _, symbol := range symbols { + _, found := operators.FindReverse(symbol) + if !found { + return nil, fmt.Errorf("Invalid unparser option. Unsupported operator: %s", symbol) + } + arity := operators.Arity(symbol) + if arity < 2 { + return nil, fmt.Errorf("Invalid unparser option. Unary operators are unsupported: %s", symbol) + } + + opt.operatorsToWrapOn[symbol] = true + } + + return opt, nil + } +} + +// WrapAfterColumnLimit dictates whether to insert a newline before or after the specified operator +// when word wrapping is performed. +// +// Example usage: +// +// Unparse(expr, sourceInfo, WrapOnColumn(40), WrapOnOperators(Operators.LogicalAnd), WrapAfterColumnLimit(false)) +// +// This will insert a newline immediately before the logical AND operator for the below example input, ensuring +// that the length of a line never exceeds the specified column limit: +// +// Input: +// 'my-principal-group' in request.auth.claims && request.auth.claims.iat > now - duration('5m') +// +// Output: +// 'my-principal-group' in request.auth.claims +// && request.auth.claims.iat > now - duration('5m') +func WrapAfterColumnLimit(wrapAfter bool) UnparserOption { + return func(opt *unparserOption) (*unparserOption, error) { + opt.wrapAfterColumnLimit = wrapAfter + return opt, nil + } +} diff --git a/vendor/github.com/google/pprof/AUTHORS b/vendor/github.com/google/pprof/AUTHORS new file mode 100644 index 000000000..fd736cb1c --- /dev/null +++ b/vendor/github.com/google/pprof/AUTHORS @@ -0,0 +1,7 @@ +# This is the official list of pprof authors for copyright purposes. +# This file is distinct from the CONTRIBUTORS files. +# See the latter for an explanation. +# Names should be added to this file as: +# Name or Organization +# The email address is not required for organizations. +Google Inc. \ No newline at end of file diff --git a/vendor/github.com/google/pprof/CONTRIBUTORS b/vendor/github.com/google/pprof/CONTRIBUTORS new file mode 100644 index 000000000..8c8c37d2c --- /dev/null +++ b/vendor/github.com/google/pprof/CONTRIBUTORS @@ -0,0 +1,16 @@ +# People who have agreed to one of the CLAs and can contribute patches. +# The AUTHORS file lists the copyright holders; this file +# lists people. For example, Google employees are listed here +# but not in AUTHORS, because Google holds the copyright. +# +# https://developers.google.com/open-source/cla/individual +# https://developers.google.com/open-source/cla/corporate +# +# Names should be added to this file as: +# Name +Raul Silvera +Tipp Moseley +Hyoun Kyu Cho +Martin Spier +Taco de Wolff +Andrew Hunter diff --git a/vendor/github.com/google/pprof/LICENSE b/vendor/github.com/google/pprof/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/google/pprof/LICENSE @@ -0,0 +1,202 @@ + + 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 [yyyy] [name of copyright owner] + + 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/google/pprof/profile/encode.go b/vendor/github.com/google/pprof/profile/encode.go new file mode 100644 index 000000000..8ce9d3cf3 --- /dev/null +++ b/vendor/github.com/google/pprof/profile/encode.go @@ -0,0 +1,596 @@ +// Copyright 2014 Google Inc. All Rights Reserved. +// +// 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 profile + +import ( + "errors" + "sort" + "strings" +) + +func (p *Profile) decoder() []decoder { + return profileDecoder +} + +// preEncode populates the unexported fields to be used by encode +// (with suffix X) from the corresponding exported fields. The +// exported fields are cleared up to facilitate testing. +func (p *Profile) preEncode() { + strings := make(map[string]int) + addString(strings, "") + + for _, st := range p.SampleType { + st.typeX = addString(strings, st.Type) + st.unitX = addString(strings, st.Unit) + } + + for _, s := range p.Sample { + s.labelX = nil + var keys []string + for k := range s.Label { + keys = append(keys, k) + } + sort.Strings(keys) + for _, k := range keys { + vs := s.Label[k] + for _, v := range vs { + s.labelX = append(s.labelX, + label{ + keyX: addString(strings, k), + strX: addString(strings, v), + }, + ) + } + } + var numKeys []string + for k := range s.NumLabel { + numKeys = append(numKeys, k) + } + sort.Strings(numKeys) + for _, k := range numKeys { + keyX := addString(strings, k) + vs := s.NumLabel[k] + units := s.NumUnit[k] + for i, v := range vs { + var unitX int64 + if len(units) != 0 { + unitX = addString(strings, units[i]) + } + s.labelX = append(s.labelX, + label{ + keyX: keyX, + numX: v, + unitX: unitX, + }, + ) + } + } + s.locationIDX = make([]uint64, len(s.Location)) + for i, loc := range s.Location { + s.locationIDX[i] = loc.ID + } + } + + for _, m := range p.Mapping { + m.fileX = addString(strings, m.File) + m.buildIDX = addString(strings, m.BuildID) + } + + for _, l := range p.Location { + for i, ln := range l.Line { + if ln.Function != nil { + l.Line[i].functionIDX = ln.Function.ID + } else { + l.Line[i].functionIDX = 0 + } + } + if l.Mapping != nil { + l.mappingIDX = l.Mapping.ID + } else { + l.mappingIDX = 0 + } + } + for _, f := range p.Function { + f.nameX = addString(strings, f.Name) + f.systemNameX = addString(strings, f.SystemName) + f.filenameX = addString(strings, f.Filename) + } + + p.dropFramesX = addString(strings, p.DropFrames) + p.keepFramesX = addString(strings, p.KeepFrames) + + if pt := p.PeriodType; pt != nil { + pt.typeX = addString(strings, pt.Type) + pt.unitX = addString(strings, pt.Unit) + } + + p.commentX = nil + for _, c := range p.Comments { + p.commentX = append(p.commentX, addString(strings, c)) + } + + p.defaultSampleTypeX = addString(strings, p.DefaultSampleType) + p.docURLX = addString(strings, p.DocURL) + + p.stringTable = make([]string, len(strings)) + for s, i := range strings { + p.stringTable[i] = s + } +} + +func (p *Profile) encode(b *buffer) { + for _, x := range p.SampleType { + encodeMessage(b, 1, x) + } + for _, x := range p.Sample { + encodeMessage(b, 2, x) + } + for _, x := range p.Mapping { + encodeMessage(b, 3, x) + } + for _, x := range p.Location { + encodeMessage(b, 4, x) + } + for _, x := range p.Function { + encodeMessage(b, 5, x) + } + encodeStrings(b, 6, p.stringTable) + encodeInt64Opt(b, 7, p.dropFramesX) + encodeInt64Opt(b, 8, p.keepFramesX) + encodeInt64Opt(b, 9, p.TimeNanos) + encodeInt64Opt(b, 10, p.DurationNanos) + if pt := p.PeriodType; pt != nil && (pt.typeX != 0 || pt.unitX != 0) { + encodeMessage(b, 11, p.PeriodType) + } + encodeInt64Opt(b, 12, p.Period) + encodeInt64s(b, 13, p.commentX) + encodeInt64(b, 14, p.defaultSampleTypeX) + encodeInt64Opt(b, 15, p.docURLX) +} + +var profileDecoder = []decoder{ + nil, // 0 + // repeated ValueType sample_type = 1 + func(b *buffer, m message) error { + x := new(ValueType) + pp := m.(*Profile) + pp.SampleType = append(pp.SampleType, x) + return decodeMessage(b, x) + }, + // repeated Sample sample = 2 + func(b *buffer, m message) error { + x := new(Sample) + pp := m.(*Profile) + pp.Sample = append(pp.Sample, x) + return decodeMessage(b, x) + }, + // repeated Mapping mapping = 3 + func(b *buffer, m message) error { + x := new(Mapping) + pp := m.(*Profile) + pp.Mapping = append(pp.Mapping, x) + return decodeMessage(b, x) + }, + // repeated Location location = 4 + func(b *buffer, m message) error { + x := new(Location) + x.Line = b.tmpLines[:0] // Use shared space temporarily + pp := m.(*Profile) + pp.Location = append(pp.Location, x) + err := decodeMessage(b, x) + b.tmpLines = x.Line[:0] + // Copy to shrink size and detach from shared space. + x.Line = append([]Line(nil), x.Line...) + return err + }, + // repeated Function function = 5 + func(b *buffer, m message) error { + x := new(Function) + pp := m.(*Profile) + pp.Function = append(pp.Function, x) + return decodeMessage(b, x) + }, + // repeated string string_table = 6 + func(b *buffer, m message) error { + err := decodeStrings(b, &m.(*Profile).stringTable) + if err != nil { + return err + } + if m.(*Profile).stringTable[0] != "" { + return errors.New("string_table[0] must be ''") + } + return nil + }, + // int64 drop_frames = 7 + func(b *buffer, m message) error { return decodeInt64(b, &m.(*Profile).dropFramesX) }, + // int64 keep_frames = 8 + func(b *buffer, m message) error { return decodeInt64(b, &m.(*Profile).keepFramesX) }, + // int64 time_nanos = 9 + func(b *buffer, m message) error { + if m.(*Profile).TimeNanos != 0 { + return errConcatProfile + } + return decodeInt64(b, &m.(*Profile).TimeNanos) + }, + // int64 duration_nanos = 10 + func(b *buffer, m message) error { return decodeInt64(b, &m.(*Profile).DurationNanos) }, + // ValueType period_type = 11 + func(b *buffer, m message) error { + x := new(ValueType) + pp := m.(*Profile) + pp.PeriodType = x + return decodeMessage(b, x) + }, + // int64 period = 12 + func(b *buffer, m message) error { return decodeInt64(b, &m.(*Profile).Period) }, + // repeated int64 comment = 13 + func(b *buffer, m message) error { return decodeInt64s(b, &m.(*Profile).commentX) }, + // int64 defaultSampleType = 14 + func(b *buffer, m message) error { return decodeInt64(b, &m.(*Profile).defaultSampleTypeX) }, + // string doc_link = 15; + func(b *buffer, m message) error { return decodeInt64(b, &m.(*Profile).docURLX) }, +} + +// postDecode takes the unexported fields populated by decode (with +// suffix X) and populates the corresponding exported fields. +// The unexported fields are cleared up to facilitate testing. +func (p *Profile) postDecode() error { + var err error + mappings := make(map[uint64]*Mapping, len(p.Mapping)) + mappingIds := make([]*Mapping, len(p.Mapping)+1) + for _, m := range p.Mapping { + m.File, err = getString(p.stringTable, &m.fileX, err) + m.BuildID, err = getString(p.stringTable, &m.buildIDX, err) + if m.ID < uint64(len(mappingIds)) { + mappingIds[m.ID] = m + } else { + mappings[m.ID] = m + } + + // If this a main linux kernel mapping with a relocation symbol suffix + // ("[kernel.kallsyms]_text"), extract said suffix. + // It is fairly hacky to handle at this level, but the alternatives appear even worse. + const prefix = "[kernel.kallsyms]" + if strings.HasPrefix(m.File, prefix) { + m.KernelRelocationSymbol = m.File[len(prefix):] + } + } + + functions := make(map[uint64]*Function, len(p.Function)) + functionIds := make([]*Function, len(p.Function)+1) + for _, f := range p.Function { + f.Name, err = getString(p.stringTable, &f.nameX, err) + f.SystemName, err = getString(p.stringTable, &f.systemNameX, err) + f.Filename, err = getString(p.stringTable, &f.filenameX, err) + if f.ID < uint64(len(functionIds)) { + functionIds[f.ID] = f + } else { + functions[f.ID] = f + } + } + + locations := make(map[uint64]*Location, len(p.Location)) + locationIds := make([]*Location, len(p.Location)+1) + for _, l := range p.Location { + if id := l.mappingIDX; id < uint64(len(mappingIds)) { + l.Mapping = mappingIds[id] + } else { + l.Mapping = mappings[id] + } + l.mappingIDX = 0 + for i, ln := range l.Line { + if id := ln.functionIDX; id != 0 { + l.Line[i].functionIDX = 0 + if id < uint64(len(functionIds)) { + l.Line[i].Function = functionIds[id] + } else { + l.Line[i].Function = functions[id] + } + } + } + if l.ID < uint64(len(locationIds)) { + locationIds[l.ID] = l + } else { + locations[l.ID] = l + } + } + + for _, st := range p.SampleType { + st.Type, err = getString(p.stringTable, &st.typeX, err) + st.Unit, err = getString(p.stringTable, &st.unitX, err) + } + + // Pre-allocate space for all locations. + numLocations := 0 + for _, s := range p.Sample { + numLocations += len(s.locationIDX) + } + locBuffer := make([]*Location, numLocations) + + for _, s := range p.Sample { + if len(s.labelX) > 0 { + labels := make(map[string][]string, len(s.labelX)) + numLabels := make(map[string][]int64, len(s.labelX)) + numUnits := make(map[string][]string, len(s.labelX)) + for _, l := range s.labelX { + var key, value string + key, err = getString(p.stringTable, &l.keyX, err) + if l.strX != 0 { + value, err = getString(p.stringTable, &l.strX, err) + labels[key] = append(labels[key], value) + } else if l.numX != 0 || l.unitX != 0 { + numValues := numLabels[key] + units := numUnits[key] + if l.unitX != 0 { + var unit string + unit, err = getString(p.stringTable, &l.unitX, err) + units = padStringArray(units, len(numValues)) + numUnits[key] = append(units, unit) + } + numLabels[key] = append(numLabels[key], l.numX) + } + } + if len(labels) > 0 { + s.Label = labels + } + if len(numLabels) > 0 { + s.NumLabel = numLabels + for key, units := range numUnits { + if len(units) > 0 { + numUnits[key] = padStringArray(units, len(numLabels[key])) + } + } + s.NumUnit = numUnits + } + } + + s.Location = locBuffer[:len(s.locationIDX)] + locBuffer = locBuffer[len(s.locationIDX):] + for i, lid := range s.locationIDX { + if lid < uint64(len(locationIds)) { + s.Location[i] = locationIds[lid] + } else { + s.Location[i] = locations[lid] + } + } + s.locationIDX = nil + } + + p.DropFrames, err = getString(p.stringTable, &p.dropFramesX, err) + p.KeepFrames, err = getString(p.stringTable, &p.keepFramesX, err) + + if pt := p.PeriodType; pt == nil { + p.PeriodType = &ValueType{} + } + + if pt := p.PeriodType; pt != nil { + pt.Type, err = getString(p.stringTable, &pt.typeX, err) + pt.Unit, err = getString(p.stringTable, &pt.unitX, err) + } + + for _, i := range p.commentX { + var c string + c, err = getString(p.stringTable, &i, err) + p.Comments = append(p.Comments, c) + } + + p.commentX = nil + p.DefaultSampleType, err = getString(p.stringTable, &p.defaultSampleTypeX, err) + p.DocURL, err = getString(p.stringTable, &p.docURLX, err) + p.stringTable = nil + return err +} + +// padStringArray pads arr with enough empty strings to make arr +// length l when arr's length is less than l. +func padStringArray(arr []string, l int) []string { + if l <= len(arr) { + return arr + } + return append(arr, make([]string, l-len(arr))...) +} + +func (p *ValueType) decoder() []decoder { + return valueTypeDecoder +} + +func (p *ValueType) encode(b *buffer) { + encodeInt64Opt(b, 1, p.typeX) + encodeInt64Opt(b, 2, p.unitX) +} + +var valueTypeDecoder = []decoder{ + nil, // 0 + // optional int64 type = 1 + func(b *buffer, m message) error { return decodeInt64(b, &m.(*ValueType).typeX) }, + // optional int64 unit = 2 + func(b *buffer, m message) error { return decodeInt64(b, &m.(*ValueType).unitX) }, +} + +func (p *Sample) decoder() []decoder { + return sampleDecoder +} + +func (p *Sample) encode(b *buffer) { + encodeUint64s(b, 1, p.locationIDX) + encodeInt64s(b, 2, p.Value) + for _, x := range p.labelX { + encodeMessage(b, 3, x) + } +} + +var sampleDecoder = []decoder{ + nil, // 0 + // repeated uint64 location = 1 + func(b *buffer, m message) error { return decodeUint64s(b, &m.(*Sample).locationIDX) }, + // repeated int64 value = 2 + func(b *buffer, m message) error { return decodeInt64s(b, &m.(*Sample).Value) }, + // repeated Label label = 3 + func(b *buffer, m message) error { + s := m.(*Sample) + n := len(s.labelX) + s.labelX = append(s.labelX, label{}) + return decodeMessage(b, &s.labelX[n]) + }, +} + +func (p label) decoder() []decoder { + return labelDecoder +} + +func (p label) encode(b *buffer) { + encodeInt64Opt(b, 1, p.keyX) + encodeInt64Opt(b, 2, p.strX) + encodeInt64Opt(b, 3, p.numX) + encodeInt64Opt(b, 4, p.unitX) +} + +var labelDecoder = []decoder{ + nil, // 0 + // optional int64 key = 1 + func(b *buffer, m message) error { return decodeInt64(b, &m.(*label).keyX) }, + // optional int64 str = 2 + func(b *buffer, m message) error { return decodeInt64(b, &m.(*label).strX) }, + // optional int64 num = 3 + func(b *buffer, m message) error { return decodeInt64(b, &m.(*label).numX) }, + // optional int64 num = 4 + func(b *buffer, m message) error { return decodeInt64(b, &m.(*label).unitX) }, +} + +func (p *Mapping) decoder() []decoder { + return mappingDecoder +} + +func (p *Mapping) encode(b *buffer) { + encodeUint64Opt(b, 1, p.ID) + encodeUint64Opt(b, 2, p.Start) + encodeUint64Opt(b, 3, p.Limit) + encodeUint64Opt(b, 4, p.Offset) + encodeInt64Opt(b, 5, p.fileX) + encodeInt64Opt(b, 6, p.buildIDX) + encodeBoolOpt(b, 7, p.HasFunctions) + encodeBoolOpt(b, 8, p.HasFilenames) + encodeBoolOpt(b, 9, p.HasLineNumbers) + encodeBoolOpt(b, 10, p.HasInlineFrames) +} + +var mappingDecoder = []decoder{ + nil, // 0 + func(b *buffer, m message) error { return decodeUint64(b, &m.(*Mapping).ID) }, // optional uint64 id = 1 + func(b *buffer, m message) error { return decodeUint64(b, &m.(*Mapping).Start) }, // optional uint64 memory_offset = 2 + func(b *buffer, m message) error { return decodeUint64(b, &m.(*Mapping).Limit) }, // optional uint64 memory_limit = 3 + func(b *buffer, m message) error { return decodeUint64(b, &m.(*Mapping).Offset) }, // optional uint64 file_offset = 4 + func(b *buffer, m message) error { return decodeInt64(b, &m.(*Mapping).fileX) }, // optional int64 filename = 5 + func(b *buffer, m message) error { return decodeInt64(b, &m.(*Mapping).buildIDX) }, // optional int64 build_id = 6 + func(b *buffer, m message) error { return decodeBool(b, &m.(*Mapping).HasFunctions) }, // optional bool has_functions = 7 + func(b *buffer, m message) error { return decodeBool(b, &m.(*Mapping).HasFilenames) }, // optional bool has_filenames = 8 + func(b *buffer, m message) error { return decodeBool(b, &m.(*Mapping).HasLineNumbers) }, // optional bool has_line_numbers = 9 + func(b *buffer, m message) error { return decodeBool(b, &m.(*Mapping).HasInlineFrames) }, // optional bool has_inline_frames = 10 +} + +func (p *Location) decoder() []decoder { + return locationDecoder +} + +func (p *Location) encode(b *buffer) { + encodeUint64Opt(b, 1, p.ID) + encodeUint64Opt(b, 2, p.mappingIDX) + encodeUint64Opt(b, 3, p.Address) + for i := range p.Line { + encodeMessage(b, 4, &p.Line[i]) + } + encodeBoolOpt(b, 5, p.IsFolded) +} + +var locationDecoder = []decoder{ + nil, // 0 + func(b *buffer, m message) error { return decodeUint64(b, &m.(*Location).ID) }, // optional uint64 id = 1; + func(b *buffer, m message) error { return decodeUint64(b, &m.(*Location).mappingIDX) }, // optional uint64 mapping_id = 2; + func(b *buffer, m message) error { return decodeUint64(b, &m.(*Location).Address) }, // optional uint64 address = 3; + func(b *buffer, m message) error { // repeated Line line = 4 + pp := m.(*Location) + n := len(pp.Line) + pp.Line = append(pp.Line, Line{}) + return decodeMessage(b, &pp.Line[n]) + }, + func(b *buffer, m message) error { return decodeBool(b, &m.(*Location).IsFolded) }, // optional bool is_folded = 5; +} + +func (p *Line) decoder() []decoder { + return lineDecoder +} + +func (p *Line) encode(b *buffer) { + encodeUint64Opt(b, 1, p.functionIDX) + encodeInt64Opt(b, 2, p.Line) + encodeInt64Opt(b, 3, p.Column) +} + +var lineDecoder = []decoder{ + nil, // 0 + // optional uint64 function_id = 1 + func(b *buffer, m message) error { return decodeUint64(b, &m.(*Line).functionIDX) }, + // optional int64 line = 2 + func(b *buffer, m message) error { return decodeInt64(b, &m.(*Line).Line) }, + // optional int64 column = 3 + func(b *buffer, m message) error { return decodeInt64(b, &m.(*Line).Column) }, +} + +func (p *Function) decoder() []decoder { + return functionDecoder +} + +func (p *Function) encode(b *buffer) { + encodeUint64Opt(b, 1, p.ID) + encodeInt64Opt(b, 2, p.nameX) + encodeInt64Opt(b, 3, p.systemNameX) + encodeInt64Opt(b, 4, p.filenameX) + encodeInt64Opt(b, 5, p.StartLine) +} + +var functionDecoder = []decoder{ + nil, // 0 + // optional uint64 id = 1 + func(b *buffer, m message) error { return decodeUint64(b, &m.(*Function).ID) }, + // optional int64 function_name = 2 + func(b *buffer, m message) error { return decodeInt64(b, &m.(*Function).nameX) }, + // optional int64 function_system_name = 3 + func(b *buffer, m message) error { return decodeInt64(b, &m.(*Function).systemNameX) }, + // repeated int64 filename = 4 + func(b *buffer, m message) error { return decodeInt64(b, &m.(*Function).filenameX) }, + // optional int64 start_line = 5 + func(b *buffer, m message) error { return decodeInt64(b, &m.(*Function).StartLine) }, +} + +func addString(strings map[string]int, s string) int64 { + i, ok := strings[s] + if !ok { + i = len(strings) + strings[s] = i + } + return int64(i) +} + +func getString(strings []string, strng *int64, err error) (string, error) { + if err != nil { + return "", err + } + s := int(*strng) + if s < 0 || s >= len(strings) { + return "", errMalformed + } + *strng = 0 + return strings[s], nil +} diff --git a/vendor/github.com/google/pprof/profile/filter.go b/vendor/github.com/google/pprof/profile/filter.go new file mode 100644 index 000000000..c794b9390 --- /dev/null +++ b/vendor/github.com/google/pprof/profile/filter.go @@ -0,0 +1,274 @@ +// Copyright 2014 Google Inc. All Rights Reserved. +// +// 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 profile + +// Implements methods to filter samples from profiles. + +import "regexp" + +// FilterSamplesByName filters the samples in a profile and only keeps +// samples where at least one frame matches focus but none match ignore. +// Returns true is the corresponding regexp matched at least one sample. +func (p *Profile) FilterSamplesByName(focus, ignore, hide, show *regexp.Regexp) (fm, im, hm, hnm bool) { + if focus == nil && ignore == nil && hide == nil && show == nil { + fm = true // Missing focus implies a match + return + } + focusOrIgnore := make(map[uint64]bool) + hidden := make(map[uint64]bool) + for _, l := range p.Location { + if ignore != nil && l.matchesName(ignore) { + im = true + focusOrIgnore[l.ID] = false + } else if focus == nil || l.matchesName(focus) { + fm = true + focusOrIgnore[l.ID] = true + } + + if hide != nil && l.matchesName(hide) { + hm = true + l.Line = l.unmatchedLines(hide) + if len(l.Line) == 0 { + hidden[l.ID] = true + } + } + if show != nil { + l.Line = l.matchedLines(show) + if len(l.Line) == 0 { + hidden[l.ID] = true + } else { + hnm = true + } + } + } + + s := make([]*Sample, 0, len(p.Sample)) + for _, sample := range p.Sample { + if focusedAndNotIgnored(sample.Location, focusOrIgnore) { + if len(hidden) > 0 { + var locs []*Location + for _, loc := range sample.Location { + if !hidden[loc.ID] { + locs = append(locs, loc) + } + } + if len(locs) == 0 { + // Remove sample with no locations (by not adding it to s). + continue + } + sample.Location = locs + } + s = append(s, sample) + } + } + p.Sample = s + + return +} + +// ShowFrom drops all stack frames above the highest matching frame and returns +// whether a match was found. If showFrom is nil it returns false and does not +// modify the profile. +// +// Example: consider a sample with frames [A, B, C, B], where A is the root. +// ShowFrom(nil) returns false and has frames [A, B, C, B]. +// ShowFrom(A) returns true and has frames [A, B, C, B]. +// ShowFrom(B) returns true and has frames [B, C, B]. +// ShowFrom(C) returns true and has frames [C, B]. +// ShowFrom(D) returns false and drops the sample because no frames remain. +func (p *Profile) ShowFrom(showFrom *regexp.Regexp) (matched bool) { + if showFrom == nil { + return false + } + // showFromLocs stores location IDs that matched ShowFrom. + showFromLocs := make(map[uint64]bool) + // Apply to locations. + for _, loc := range p.Location { + if filterShowFromLocation(loc, showFrom) { + showFromLocs[loc.ID] = true + matched = true + } + } + // For all samples, strip locations after the highest matching one. + s := make([]*Sample, 0, len(p.Sample)) + for _, sample := range p.Sample { + for i := len(sample.Location) - 1; i >= 0; i-- { + if showFromLocs[sample.Location[i].ID] { + sample.Location = sample.Location[:i+1] + s = append(s, sample) + break + } + } + } + p.Sample = s + return matched +} + +// filterShowFromLocation tests a showFrom regex against a location, removes +// lines after the last match and returns whether a match was found. If the +// mapping is matched, then all lines are kept. +func filterShowFromLocation(loc *Location, showFrom *regexp.Regexp) bool { + if m := loc.Mapping; m != nil && showFrom.MatchString(m.File) { + return true + } + if i := loc.lastMatchedLineIndex(showFrom); i >= 0 { + loc.Line = loc.Line[:i+1] + return true + } + return false +} + +// lastMatchedLineIndex returns the index of the last line that matches a regex, +// or -1 if no match is found. +func (loc *Location) lastMatchedLineIndex(re *regexp.Regexp) int { + for i := len(loc.Line) - 1; i >= 0; i-- { + if fn := loc.Line[i].Function; fn != nil { + if re.MatchString(fn.Name) || re.MatchString(fn.Filename) { + return i + } + } + } + return -1 +} + +// FilterTagsByName filters the tags in a profile and only keeps +// tags that match show and not hide. +func (p *Profile) FilterTagsByName(show, hide *regexp.Regexp) (sm, hm bool) { + matchRemove := func(name string) bool { + matchShow := show == nil || show.MatchString(name) + matchHide := hide != nil && hide.MatchString(name) + + if matchShow { + sm = true + } + if matchHide { + hm = true + } + return !matchShow || matchHide + } + for _, s := range p.Sample { + for lab := range s.Label { + if matchRemove(lab) { + delete(s.Label, lab) + } + } + for lab := range s.NumLabel { + if matchRemove(lab) { + delete(s.NumLabel, lab) + } + } + } + return +} + +// matchesName returns whether the location matches the regular +// expression. It checks any available function names, file names, and +// mapping object filename. +func (loc *Location) matchesName(re *regexp.Regexp) bool { + for _, ln := range loc.Line { + if fn := ln.Function; fn != nil { + if re.MatchString(fn.Name) || re.MatchString(fn.Filename) { + return true + } + } + } + if m := loc.Mapping; m != nil && re.MatchString(m.File) { + return true + } + return false +} + +// unmatchedLines returns the lines in the location that do not match +// the regular expression. +func (loc *Location) unmatchedLines(re *regexp.Regexp) []Line { + if m := loc.Mapping; m != nil && re.MatchString(m.File) { + return nil + } + var lines []Line + for _, ln := range loc.Line { + if fn := ln.Function; fn != nil { + if re.MatchString(fn.Name) || re.MatchString(fn.Filename) { + continue + } + } + lines = append(lines, ln) + } + return lines +} + +// matchedLines returns the lines in the location that match +// the regular expression. +func (loc *Location) matchedLines(re *regexp.Regexp) []Line { + if m := loc.Mapping; m != nil && re.MatchString(m.File) { + return loc.Line + } + var lines []Line + for _, ln := range loc.Line { + if fn := ln.Function; fn != nil { + if !re.MatchString(fn.Name) && !re.MatchString(fn.Filename) { + continue + } + } + lines = append(lines, ln) + } + return lines +} + +// focusedAndNotIgnored looks up a slice of ids against a map of +// focused/ignored locations. The map only contains locations that are +// explicitly focused or ignored. Returns whether there is at least +// one focused location but no ignored locations. +func focusedAndNotIgnored(locs []*Location, m map[uint64]bool) bool { + var f bool + for _, loc := range locs { + if focus, focusOrIgnore := m[loc.ID]; focusOrIgnore { + if focus { + // Found focused location. Must keep searching in case there + // is an ignored one as well. + f = true + } else { + // Found ignored location. Can return false right away. + return false + } + } + } + return f +} + +// TagMatch selects tags for filtering +type TagMatch func(s *Sample) bool + +// FilterSamplesByTag removes all samples from the profile, except +// those that match focus and do not match the ignore regular +// expression. +func (p *Profile) FilterSamplesByTag(focus, ignore TagMatch) (fm, im bool) { + samples := make([]*Sample, 0, len(p.Sample)) + for _, s := range p.Sample { + focused, ignored := true, false + if focus != nil { + focused = focus(s) + } + if ignore != nil { + ignored = ignore(s) + } + fm = fm || focused + im = im || ignored + if focused && !ignored { + samples = append(samples, s) + } + } + p.Sample = samples + return +} diff --git a/vendor/github.com/google/pprof/profile/index.go b/vendor/github.com/google/pprof/profile/index.go new file mode 100644 index 000000000..bef1d6046 --- /dev/null +++ b/vendor/github.com/google/pprof/profile/index.go @@ -0,0 +1,64 @@ +// Copyright 2016 Google Inc. All Rights Reserved. +// +// 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 profile + +import ( + "fmt" + "strconv" + "strings" +) + +// SampleIndexByName returns the appropriate index for a value of sample index. +// If numeric, it returns the number, otherwise it looks up the text in the +// profile sample types. +func (p *Profile) SampleIndexByName(sampleIndex string) (int, error) { + if sampleIndex == "" { + if dst := p.DefaultSampleType; dst != "" { + for i, t := range sampleTypes(p) { + if t == dst { + return i, nil + } + } + } + // By default select the last sample value + return len(p.SampleType) - 1, nil + } + if i, err := strconv.Atoi(sampleIndex); err == nil { + if i < 0 || i >= len(p.SampleType) { + return 0, fmt.Errorf("sample_index %s is outside the range [0..%d]", sampleIndex, len(p.SampleType)-1) + } + return i, nil + } + + // Remove the inuse_ prefix to support legacy pprof options + // "inuse_space" and "inuse_objects" for profiles containing types + // "space" and "objects". + noInuse := strings.TrimPrefix(sampleIndex, "inuse_") + for i, t := range p.SampleType { + if t.Type == sampleIndex || t.Type == noInuse { + return i, nil + } + } + + return 0, fmt.Errorf("sample_index %q must be one of: %v", sampleIndex, sampleTypes(p)) +} + +func sampleTypes(p *Profile) []string { + types := make([]string, len(p.SampleType)) + for i, t := range p.SampleType { + types[i] = t.Type + } + return types +} diff --git a/vendor/github.com/google/pprof/profile/legacy_java_profile.go b/vendor/github.com/google/pprof/profile/legacy_java_profile.go new file mode 100644 index 000000000..4580bab18 --- /dev/null +++ b/vendor/github.com/google/pprof/profile/legacy_java_profile.go @@ -0,0 +1,315 @@ +// Copyright 2014 Google Inc. All Rights Reserved. +// +// 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. + +// This file implements parsers to convert java legacy profiles into +// the profile.proto format. + +package profile + +import ( + "bytes" + "fmt" + "io" + "path/filepath" + "regexp" + "strconv" + "strings" +) + +var ( + attributeRx = regexp.MustCompile(`([\w ]+)=([\w ]+)`) + javaSampleRx = regexp.MustCompile(` *(\d+) +(\d+) +@ +([ x0-9a-f]*)`) + javaLocationRx = regexp.MustCompile(`^\s*0x([[:xdigit:]]+)\s+(.*)\s*$`) + javaLocationFileLineRx = regexp.MustCompile(`^(.*)\s+\((.+):(-?[[:digit:]]+)\)$`) + javaLocationPathRx = regexp.MustCompile(`^(.*)\s+\((.*)\)$`) +) + +// javaCPUProfile returns a new Profile from profilez data. +// b is the profile bytes after the header, period is the profiling +// period, and parse is a function to parse 8-byte chunks from the +// profile in its native endianness. +func javaCPUProfile(b []byte, period int64, parse func(b []byte) (uint64, []byte)) (*Profile, error) { + p := &Profile{ + Period: period * 1000, + PeriodType: &ValueType{Type: "cpu", Unit: "nanoseconds"}, + SampleType: []*ValueType{{Type: "samples", Unit: "count"}, {Type: "cpu", Unit: "nanoseconds"}}, + } + var err error + var locs map[uint64]*Location + if b, locs, err = parseCPUSamples(b, parse, false, p); err != nil { + return nil, err + } + + if err = parseJavaLocations(b, locs, p); err != nil { + return nil, err + } + + // Strip out addresses for better merge. + if err = p.Aggregate(true, true, true, true, false, false); err != nil { + return nil, err + } + + return p, nil +} + +// parseJavaProfile returns a new profile from heapz or contentionz +// data. b is the profile bytes after the header. +func parseJavaProfile(b []byte) (*Profile, error) { + h := bytes.SplitAfterN(b, []byte("\n"), 2) + if len(h) < 2 { + return nil, errUnrecognized + } + + p := &Profile{ + PeriodType: &ValueType{}, + } + header := string(bytes.TrimSpace(h[0])) + + var err error + var pType string + switch header { + case "--- heapz 1 ---": + pType = "heap" + case "--- contentionz 1 ---": + pType = "contention" + default: + return nil, errUnrecognized + } + + if b, err = parseJavaHeader(pType, h[1], p); err != nil { + return nil, err + } + var locs map[uint64]*Location + if b, locs, err = parseJavaSamples(pType, b, p); err != nil { + return nil, err + } + if err = parseJavaLocations(b, locs, p); err != nil { + return nil, err + } + + // Strip out addresses for better merge. + if err = p.Aggregate(true, true, true, true, false, false); err != nil { + return nil, err + } + + return p, nil +} + +// parseJavaHeader parses the attribute section on a java profile and +// populates a profile. Returns the remainder of the buffer after all +// attributes. +func parseJavaHeader(pType string, b []byte, p *Profile) ([]byte, error) { + nextNewLine := bytes.IndexByte(b, byte('\n')) + for nextNewLine != -1 { + line := string(bytes.TrimSpace(b[0:nextNewLine])) + if line != "" { + h := attributeRx.FindStringSubmatch(line) + if h == nil { + // Not a valid attribute, exit. + return b, nil + } + + attribute, value := strings.TrimSpace(h[1]), strings.TrimSpace(h[2]) + var err error + switch pType + "/" + attribute { + case "heap/format", "cpu/format", "contention/format": + if value != "java" { + return nil, errUnrecognized + } + case "heap/resolution": + p.SampleType = []*ValueType{ + {Type: "inuse_objects", Unit: "count"}, + {Type: "inuse_space", Unit: value}, + } + case "contention/resolution": + p.SampleType = []*ValueType{ + {Type: "contentions", Unit: "count"}, + {Type: "delay", Unit: value}, + } + case "contention/sampling period": + p.PeriodType = &ValueType{ + Type: "contentions", Unit: "count", + } + if p.Period, err = strconv.ParseInt(value, 0, 64); err != nil { + return nil, fmt.Errorf("failed to parse attribute %s: %v", line, err) + } + case "contention/ms since reset": + millis, err := strconv.ParseInt(value, 0, 64) + if err != nil { + return nil, fmt.Errorf("failed to parse attribute %s: %v", line, err) + } + p.DurationNanos = millis * 1000 * 1000 + default: + return nil, errUnrecognized + } + } + // Grab next line. + b = b[nextNewLine+1:] + nextNewLine = bytes.IndexByte(b, byte('\n')) + } + return b, nil +} + +// parseJavaSamples parses the samples from a java profile and +// populates the Samples in a profile. Returns the remainder of the +// buffer after the samples. +func parseJavaSamples(pType string, b []byte, p *Profile) ([]byte, map[uint64]*Location, error) { + nextNewLine := bytes.IndexByte(b, byte('\n')) + locs := make(map[uint64]*Location) + for nextNewLine != -1 { + line := string(bytes.TrimSpace(b[0:nextNewLine])) + if line != "" { + sample := javaSampleRx.FindStringSubmatch(line) + if sample == nil { + // Not a valid sample, exit. + return b, locs, nil + } + + // Java profiles have data/fields inverted compared to other + // profile types. + var err error + value1, value2, value3 := sample[2], sample[1], sample[3] + addrs, err := parseHexAddresses(value3) + if err != nil { + return nil, nil, fmt.Errorf("malformed sample: %s: %v", line, err) + } + + var sloc []*Location + for _, addr := range addrs { + loc := locs[addr] + if locs[addr] == nil { + loc = &Location{ + Address: addr, + } + p.Location = append(p.Location, loc) + locs[addr] = loc + } + sloc = append(sloc, loc) + } + s := &Sample{ + Value: make([]int64, 2), + Location: sloc, + } + + if s.Value[0], err = strconv.ParseInt(value1, 0, 64); err != nil { + return nil, nil, fmt.Errorf("parsing sample %s: %v", line, err) + } + if s.Value[1], err = strconv.ParseInt(value2, 0, 64); err != nil { + return nil, nil, fmt.Errorf("parsing sample %s: %v", line, err) + } + + switch pType { + case "heap": + const javaHeapzSamplingRate = 524288 // 512K + if s.Value[0] == 0 { + return nil, nil, fmt.Errorf("parsing sample %s: second value must be non-zero", line) + } + s.NumLabel = map[string][]int64{"bytes": {s.Value[1] / s.Value[0]}} + s.Value[0], s.Value[1] = scaleHeapSample(s.Value[0], s.Value[1], javaHeapzSamplingRate) + case "contention": + if period := p.Period; period != 0 { + s.Value[0] = s.Value[0] * p.Period + s.Value[1] = s.Value[1] * p.Period + } + } + p.Sample = append(p.Sample, s) + } + // Grab next line. + b = b[nextNewLine+1:] + nextNewLine = bytes.IndexByte(b, byte('\n')) + } + return b, locs, nil +} + +// parseJavaLocations parses the location information in a java +// profile and populates the Locations in a profile. It uses the +// location addresses from the profile as both the ID of each +// location. +func parseJavaLocations(b []byte, locs map[uint64]*Location, p *Profile) error { + r := bytes.NewBuffer(b) + fns := make(map[string]*Function) + for { + line, err := r.ReadString('\n') + if err != nil { + if err != io.EOF { + return err + } + if line == "" { + break + } + } + + if line = strings.TrimSpace(line); line == "" { + continue + } + + jloc := javaLocationRx.FindStringSubmatch(line) + if len(jloc) != 3 { + continue + } + addr, err := strconv.ParseUint(jloc[1], 16, 64) + if err != nil { + return fmt.Errorf("parsing sample %s: %v", line, err) + } + loc := locs[addr] + if loc == nil { + // Unused/unseen + continue + } + var lineFunc, lineFile string + var lineNo int64 + + if fileLine := javaLocationFileLineRx.FindStringSubmatch(jloc[2]); len(fileLine) == 4 { + // Found a line of the form: "function (file:line)" + lineFunc, lineFile = fileLine[1], fileLine[2] + if n, err := strconv.ParseInt(fileLine[3], 10, 64); err == nil && n > 0 { + lineNo = n + } + } else if filePath := javaLocationPathRx.FindStringSubmatch(jloc[2]); len(filePath) == 3 { + // If there's not a file:line, it's a shared library path. + // The path isn't interesting, so just give the .so. + lineFunc, lineFile = filePath[1], filepath.Base(filePath[2]) + } else if strings.Contains(jloc[2], "generated stub/JIT") { + lineFunc = "STUB" + } else { + // Treat whole line as the function name. This is used by the + // java agent for internal states such as "GC" or "VM". + lineFunc = jloc[2] + } + fn := fns[lineFunc] + + if fn == nil { + fn = &Function{ + Name: lineFunc, + SystemName: lineFunc, + Filename: lineFile, + } + fns[lineFunc] = fn + p.Function = append(p.Function, fn) + } + loc.Line = []Line{ + { + Function: fn, + Line: lineNo, + }, + } + loc.Address = 0 + } + + p.remapLocationIDs() + p.remapFunctionIDs() + p.remapMappingIDs() + + return nil +} diff --git a/vendor/github.com/google/pprof/profile/legacy_profile.go b/vendor/github.com/google/pprof/profile/legacy_profile.go new file mode 100644 index 000000000..8d07fd6c2 --- /dev/null +++ b/vendor/github.com/google/pprof/profile/legacy_profile.go @@ -0,0 +1,1228 @@ +// Copyright 2014 Google Inc. All Rights Reserved. +// +// 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. + +// This file implements parsers to convert legacy profiles into the +// profile.proto format. + +package profile + +import ( + "bufio" + "bytes" + "fmt" + "io" + "math" + "regexp" + "strconv" + "strings" +) + +var ( + countStartRE = regexp.MustCompile(`\A(\S+) profile: total \d+\z`) + countRE = regexp.MustCompile(`\A(\d+) @(( 0x[0-9a-f]+)+)\z`) + + heapHeaderRE = regexp.MustCompile(`heap profile: *(\d+): *(\d+) *\[ *(\d+): *(\d+) *\] *@ *(heap[_a-z0-9]*)/?(\d*)`) + heapSampleRE = regexp.MustCompile(`(-?\d+): *(-?\d+) *\[ *(\d+): *(\d+) *] @([ x0-9a-f]*)`) + + contentionSampleRE = regexp.MustCompile(`(\d+) *(\d+) @([ x0-9a-f]*)`) + + hexNumberRE = regexp.MustCompile(`0x[0-9a-f]+`) + + growthHeaderRE = regexp.MustCompile(`heap profile: *(\d+): *(\d+) *\[ *(\d+): *(\d+) *\] @ growthz?`) + + fragmentationHeaderRE = regexp.MustCompile(`heap profile: *(\d+): *(\d+) *\[ *(\d+): *(\d+) *\] @ fragmentationz?`) + + threadzStartRE = regexp.MustCompile(`--- threadz \d+ ---`) + threadStartRE = regexp.MustCompile(`--- Thread ([[:xdigit:]]+) \(name: (.*)/(\d+)\) stack: ---`) + + // Regular expressions to parse process mappings. Support the format used by Linux /proc/.../maps and other tools. + // Recommended format: + // Start End object file name offset(optional) linker build id + // 0x40000-0x80000 /path/to/binary (@FF00) abc123456 + spaceDigits = `\s+[[:digit:]]+` + hexPair = `\s+[[:xdigit:]]+:[[:xdigit:]]+` + oSpace = `\s*` + // Capturing expressions. + cHex = `(?:0x)?([[:xdigit:]]+)` + cHexRange = `\s*` + cHex + `[\s-]?` + oSpace + cHex + `:?` + cSpaceString = `(?:\s+(\S+))?` + cSpaceHex = `(?:\s+([[:xdigit:]]+))?` + cSpaceAtOffset = `(?:\s+\(@([[:xdigit:]]+)\))?` + cPerm = `(?:\s+([-rwxp]+))?` + + procMapsRE = regexp.MustCompile(`^` + cHexRange + cPerm + cSpaceHex + hexPair + spaceDigits + cSpaceString) + briefMapsRE = regexp.MustCompile(`^` + cHexRange + cPerm + cSpaceString + cSpaceAtOffset + cSpaceHex) + + // Regular expression to parse log data, of the form: + // ... file:line] msg... + logInfoRE = regexp.MustCompile(`^[^\[\]]+:[0-9]+]\s`) +) + +func isSpaceOrComment(line string) bool { + trimmed := strings.TrimSpace(line) + return len(trimmed) == 0 || trimmed[0] == '#' +} + +// parseGoCount parses a Go count profile (e.g., threadcreate or +// goroutine) and returns a new Profile. +func parseGoCount(b []byte) (*Profile, error) { + s := bufio.NewScanner(bytes.NewBuffer(b)) + // Skip comments at the beginning of the file. + for s.Scan() && isSpaceOrComment(s.Text()) { + } + if err := s.Err(); err != nil { + return nil, err + } + m := countStartRE.FindStringSubmatch(s.Text()) + if m == nil { + return nil, errUnrecognized + } + profileType := m[1] + p := &Profile{ + PeriodType: &ValueType{Type: profileType, Unit: "count"}, + Period: 1, + SampleType: []*ValueType{{Type: profileType, Unit: "count"}}, + } + locations := make(map[uint64]*Location) + for s.Scan() { + line := s.Text() + if isSpaceOrComment(line) { + continue + } + if strings.HasPrefix(line, "---") { + break + } + m := countRE.FindStringSubmatch(line) + if m == nil { + return nil, errMalformed + } + n, err := strconv.ParseInt(m[1], 0, 64) + if err != nil { + return nil, errMalformed + } + fields := strings.Fields(m[2]) + locs := make([]*Location, 0, len(fields)) + for _, stk := range fields { + addr, err := strconv.ParseUint(stk, 0, 64) + if err != nil { + return nil, errMalformed + } + // Adjust all frames by -1 to land on top of the call instruction. + addr-- + loc := locations[addr] + if loc == nil { + loc = &Location{ + Address: addr, + } + locations[addr] = loc + p.Location = append(p.Location, loc) + } + locs = append(locs, loc) + } + p.Sample = append(p.Sample, &Sample{ + Location: locs, + Value: []int64{n}, + }) + } + if err := s.Err(); err != nil { + return nil, err + } + + if err := parseAdditionalSections(s, p); err != nil { + return nil, err + } + return p, nil +} + +// remapLocationIDs ensures there is a location for each address +// referenced by a sample, and remaps the samples to point to the new +// location ids. +func (p *Profile) remapLocationIDs() { + seen := make(map[*Location]bool, len(p.Location)) + var locs []*Location + + for _, s := range p.Sample { + for _, l := range s.Location { + if seen[l] { + continue + } + l.ID = uint64(len(locs) + 1) + locs = append(locs, l) + seen[l] = true + } + } + p.Location = locs +} + +func (p *Profile) remapFunctionIDs() { + seen := make(map[*Function]bool, len(p.Function)) + var fns []*Function + + for _, l := range p.Location { + for _, ln := range l.Line { + fn := ln.Function + if fn == nil || seen[fn] { + continue + } + fn.ID = uint64(len(fns) + 1) + fns = append(fns, fn) + seen[fn] = true + } + } + p.Function = fns +} + +// remapMappingIDs matches location addresses with existing mappings +// and updates them appropriately. This is O(N*M), if this ever shows +// up as a bottleneck, evaluate sorting the mappings and doing a +// binary search, which would make it O(N*log(M)). +func (p *Profile) remapMappingIDs() { + // Some profile handlers will incorrectly set regions for the main + // executable if its section is remapped. Fix them through heuristics. + + if len(p.Mapping) > 0 { + // Remove the initial mapping if named '/anon_hugepage' and has a + // consecutive adjacent mapping. + if m := p.Mapping[0]; strings.HasPrefix(m.File, "/anon_hugepage") { + if len(p.Mapping) > 1 && m.Limit == p.Mapping[1].Start { + p.Mapping = p.Mapping[1:] + } + } + } + + // Subtract the offset from the start of the main mapping if it + // ends up at a recognizable start address. + if len(p.Mapping) > 0 { + const expectedStart = 0x400000 + if m := p.Mapping[0]; m.Start-m.Offset == expectedStart { + m.Start = expectedStart + m.Offset = 0 + } + } + + // Associate each location with an address to the corresponding + // mapping. Create fake mapping if a suitable one isn't found. + var fake *Mapping +nextLocation: + for _, l := range p.Location { + a := l.Address + if l.Mapping != nil || a == 0 { + continue + } + for _, m := range p.Mapping { + if m.Start <= a && a < m.Limit { + l.Mapping = m + continue nextLocation + } + } + // Work around legacy handlers failing to encode the first + // part of mappings split into adjacent ranges. + for _, m := range p.Mapping { + if m.Offset != 0 && m.Start-m.Offset <= a && a < m.Start { + m.Start -= m.Offset + m.Offset = 0 + l.Mapping = m + continue nextLocation + } + } + // If there is still no mapping, create a fake one. + // This is important for the Go legacy handler, which produced + // no mappings. + if fake == nil { + fake = &Mapping{ + ID: 1, + Limit: ^uint64(0), + } + p.Mapping = append(p.Mapping, fake) + } + l.Mapping = fake + } + + // Reset all mapping IDs. + for i, m := range p.Mapping { + m.ID = uint64(i + 1) + } +} + +var cpuInts = []func([]byte) (uint64, []byte){ + get32l, + get32b, + get64l, + get64b, +} + +func get32l(b []byte) (uint64, []byte) { + if len(b) < 4 { + return 0, nil + } + return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24, b[4:] +} + +func get32b(b []byte) (uint64, []byte) { + if len(b) < 4 { + return 0, nil + } + return uint64(b[3]) | uint64(b[2])<<8 | uint64(b[1])<<16 | uint64(b[0])<<24, b[4:] +} + +func get64l(b []byte) (uint64, []byte) { + if len(b) < 8 { + return 0, nil + } + return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56, b[8:] +} + +func get64b(b []byte) (uint64, []byte) { + if len(b) < 8 { + return 0, nil + } + return uint64(b[7]) | uint64(b[6])<<8 | uint64(b[5])<<16 | uint64(b[4])<<24 | uint64(b[3])<<32 | uint64(b[2])<<40 | uint64(b[1])<<48 | uint64(b[0])<<56, b[8:] +} + +// parseCPU parses a profilez legacy profile and returns a newly +// populated Profile. +// +// The general format for profilez samples is a sequence of words in +// binary format. The first words are a header with the following data: +// +// 1st word -- 0 +// 2nd word -- 3 +// 3rd word -- 0 if a c++ application, 1 if a java application. +// 4th word -- Sampling period (in microseconds). +// 5th word -- Padding. +func parseCPU(b []byte) (*Profile, error) { + var parse func([]byte) (uint64, []byte) + var n1, n2, n3, n4, n5 uint64 + for _, parse = range cpuInts { + var tmp []byte + n1, tmp = parse(b) + n2, tmp = parse(tmp) + n3, tmp = parse(tmp) + n4, tmp = parse(tmp) + n5, tmp = parse(tmp) + + if tmp != nil && n1 == 0 && n2 == 3 && n3 == 0 && n4 > 0 && n5 == 0 { + b = tmp + return cpuProfile(b, int64(n4), parse) + } + if tmp != nil && n1 == 0 && n2 == 3 && n3 == 1 && n4 > 0 && n5 == 0 { + b = tmp + return javaCPUProfile(b, int64(n4), parse) + } + } + return nil, errUnrecognized +} + +// cpuProfile returns a new Profile from C++ profilez data. +// b is the profile bytes after the header, period is the profiling +// period, and parse is a function to parse 8-byte chunks from the +// profile in its native endianness. +func cpuProfile(b []byte, period int64, parse func(b []byte) (uint64, []byte)) (*Profile, error) { + p := &Profile{ + Period: period * 1000, + PeriodType: &ValueType{Type: "cpu", Unit: "nanoseconds"}, + SampleType: []*ValueType{ + {Type: "samples", Unit: "count"}, + {Type: "cpu", Unit: "nanoseconds"}, + }, + } + var err error + if b, _, err = parseCPUSamples(b, parse, true, p); err != nil { + return nil, err + } + + // If *most* samples have the same second-to-the-bottom frame, it + // strongly suggests that it is an uninteresting artifact of + // measurement -- a stack frame pushed by the signal handler. The + // bottom frame is always correct as it is picked up from the signal + // structure, not the stack. Check if this is the case and if so, + // remove. + + // Remove up to two frames. + maxiter := 2 + // Allow one different sample for this many samples with the same + // second-to-last frame. + similarSamples := 32 + margin := len(p.Sample) / similarSamples + + for iter := 0; iter < maxiter; iter++ { + addr1 := make(map[uint64]int) + for _, s := range p.Sample { + if len(s.Location) > 1 { + a := s.Location[1].Address + addr1[a] = addr1[a] + 1 + } + } + + for id1, count := range addr1 { + if count >= len(p.Sample)-margin { + // Found uninteresting frame, strip it out from all samples + for _, s := range p.Sample { + if len(s.Location) > 1 && s.Location[1].Address == id1 { + s.Location = append(s.Location[:1], s.Location[2:]...) + } + } + break + } + } + } + + if err := p.ParseMemoryMap(bytes.NewBuffer(b)); err != nil { + return nil, err + } + + cleanupDuplicateLocations(p) + return p, nil +} + +func cleanupDuplicateLocations(p *Profile) { + // The profile handler may duplicate the leaf frame, because it gets + // its address both from stack unwinding and from the signal + // context. Detect this and delete the duplicate, which has been + // adjusted by -1. The leaf address should not be adjusted as it is + // not a call. + for _, s := range p.Sample { + if len(s.Location) > 1 && s.Location[0].Address == s.Location[1].Address+1 { + s.Location = append(s.Location[:1], s.Location[2:]...) + } + } +} + +// parseCPUSamples parses a collection of profilez samples from a +// profile. +// +// profilez samples are a repeated sequence of stack frames of the +// form: +// +// 1st word -- The number of times this stack was encountered. +// 2nd word -- The size of the stack (StackSize). +// 3rd word -- The first address on the stack. +// ... +// StackSize + 2 -- The last address on the stack +// +// The last stack trace is of the form: +// +// 1st word -- 0 +// 2nd word -- 1 +// 3rd word -- 0 +// +// Addresses from stack traces may point to the next instruction after +// each call. Optionally adjust by -1 to land somewhere on the actual +// call (except for the leaf, which is not a call). +func parseCPUSamples(b []byte, parse func(b []byte) (uint64, []byte), adjust bool, p *Profile) ([]byte, map[uint64]*Location, error) { + locs := make(map[uint64]*Location) + for len(b) > 0 { + var count, nstk uint64 + count, b = parse(b) + nstk, b = parse(b) + if b == nil || nstk > uint64(len(b)/4) { + return nil, nil, errUnrecognized + } + var sloc []*Location + addrs := make([]uint64, nstk) + for i := 0; i < int(nstk); i++ { + addrs[i], b = parse(b) + } + + if count == 0 && nstk == 1 && addrs[0] == 0 { + // End of data marker + break + } + for i, addr := range addrs { + if adjust && i > 0 { + addr-- + } + loc := locs[addr] + if loc == nil { + loc = &Location{ + Address: addr, + } + locs[addr] = loc + p.Location = append(p.Location, loc) + } + sloc = append(sloc, loc) + } + p.Sample = append(p.Sample, + &Sample{ + Value: []int64{int64(count), int64(count) * p.Period}, + Location: sloc, + }) + } + // Reached the end without finding the EOD marker. + return b, locs, nil +} + +// parseHeap parses a heapz legacy or a growthz profile and +// returns a newly populated Profile. +func parseHeap(b []byte) (p *Profile, err error) { + s := bufio.NewScanner(bytes.NewBuffer(b)) + if !s.Scan() { + if err := s.Err(); err != nil { + return nil, err + } + return nil, errUnrecognized + } + p = &Profile{} + + sampling := "" + hasAlloc := false + + line := s.Text() + p.PeriodType = &ValueType{Type: "space", Unit: "bytes"} + if header := heapHeaderRE.FindStringSubmatch(line); header != nil { + sampling, p.Period, hasAlloc, err = parseHeapHeader(line) + if err != nil { + return nil, err + } + } else if header = growthHeaderRE.FindStringSubmatch(line); header != nil { + p.Period = 1 + } else if header = fragmentationHeaderRE.FindStringSubmatch(line); header != nil { + p.Period = 1 + } else { + return nil, errUnrecognized + } + + if hasAlloc { + // Put alloc before inuse so that default pprof selection + // will prefer inuse_space. + p.SampleType = []*ValueType{ + {Type: "alloc_objects", Unit: "count"}, + {Type: "alloc_space", Unit: "bytes"}, + {Type: "inuse_objects", Unit: "count"}, + {Type: "inuse_space", Unit: "bytes"}, + } + } else { + p.SampleType = []*ValueType{ + {Type: "objects", Unit: "count"}, + {Type: "space", Unit: "bytes"}, + } + } + + locs := make(map[uint64]*Location) + for s.Scan() { + line := strings.TrimSpace(s.Text()) + + if isSpaceOrComment(line) { + continue + } + + if isMemoryMapSentinel(line) { + break + } + + value, blocksize, addrs, err := parseHeapSample(line, p.Period, sampling, hasAlloc) + if err != nil { + return nil, err + } + + var sloc []*Location + for _, addr := range addrs { + // Addresses from stack traces point to the next instruction after + // each call. Adjust by -1 to land somewhere on the actual call. + addr-- + loc := locs[addr] + if locs[addr] == nil { + loc = &Location{ + Address: addr, + } + p.Location = append(p.Location, loc) + locs[addr] = loc + } + sloc = append(sloc, loc) + } + + p.Sample = append(p.Sample, &Sample{ + Value: value, + Location: sloc, + NumLabel: map[string][]int64{"bytes": {blocksize}}, + }) + } + if err := s.Err(); err != nil { + return nil, err + } + if err := parseAdditionalSections(s, p); err != nil { + return nil, err + } + return p, nil +} + +func parseHeapHeader(line string) (sampling string, period int64, hasAlloc bool, err error) { + header := heapHeaderRE.FindStringSubmatch(line) + if header == nil { + return "", 0, false, errUnrecognized + } + + if len(header[6]) > 0 { + if period, err = strconv.ParseInt(header[6], 10, 64); err != nil { + return "", 0, false, errUnrecognized + } + } + + if (header[3] != header[1] && header[3] != "0") || (header[4] != header[2] && header[4] != "0") { + hasAlloc = true + } + + switch header[5] { + case "heapz_v2", "heap_v2": + return "v2", period, hasAlloc, nil + case "heapprofile": + return "", 1, hasAlloc, nil + case "heap": + return "v2", period / 2, hasAlloc, nil + default: + return "", 0, false, errUnrecognized + } +} + +// parseHeapSample parses a single row from a heap profile into a new Sample. +func parseHeapSample(line string, rate int64, sampling string, includeAlloc bool) (value []int64, blocksize int64, addrs []uint64, err error) { + sampleData := heapSampleRE.FindStringSubmatch(line) + if len(sampleData) != 6 { + return nil, 0, nil, fmt.Errorf("unexpected number of sample values: got %d, want 6", len(sampleData)) + } + + // This is a local-scoped helper function to avoid needing to pass + // around rate, sampling and many return parameters. + addValues := func(countString, sizeString string, label string) error { + count, err := strconv.ParseInt(countString, 10, 64) + if err != nil { + return fmt.Errorf("malformed sample: %s: %v", line, err) + } + size, err := strconv.ParseInt(sizeString, 10, 64) + if err != nil { + return fmt.Errorf("malformed sample: %s: %v", line, err) + } + if count == 0 && size != 0 { + return fmt.Errorf("%s count was 0 but %s bytes was %d", label, label, size) + } + if count != 0 { + blocksize = size / count + if sampling == "v2" { + count, size = scaleHeapSample(count, size, rate) + } + } + value = append(value, count, size) + return nil + } + + if includeAlloc { + if err := addValues(sampleData[3], sampleData[4], "allocation"); err != nil { + return nil, 0, nil, err + } + } + + if err := addValues(sampleData[1], sampleData[2], "inuse"); err != nil { + return nil, 0, nil, err + } + + addrs, err = parseHexAddresses(sampleData[5]) + if err != nil { + return nil, 0, nil, fmt.Errorf("malformed sample: %s: %v", line, err) + } + + return value, blocksize, addrs, nil +} + +// parseHexAddresses extracts hex numbers from a string, attempts to convert +// each to an unsigned 64-bit number and returns the resulting numbers as a +// slice, or an error if the string contains hex numbers which are too large to +// handle (which means a malformed profile). +func parseHexAddresses(s string) ([]uint64, error) { + hexStrings := hexNumberRE.FindAllString(s, -1) + var addrs []uint64 + for _, s := range hexStrings { + if addr, err := strconv.ParseUint(s, 0, 64); err == nil { + addrs = append(addrs, addr) + } else { + return nil, fmt.Errorf("failed to parse as hex 64-bit number: %s", s) + } + } + return addrs, nil +} + +// scaleHeapSample adjusts the data from a heapz Sample to +// account for its probability of appearing in the collected +// data. heapz profiles are a sampling of the memory allocations +// requests in a program. We estimate the unsampled value by dividing +// each collected sample by its probability of appearing in the +// profile. heapz v2 profiles rely on a poisson process to determine +// which samples to collect, based on the desired average collection +// rate R. The probability of a sample of size S to appear in that +// profile is 1-exp(-S/R). +func scaleHeapSample(count, size, rate int64) (int64, int64) { + if count == 0 || size == 0 { + return 0, 0 + } + + if rate <= 1 { + // if rate==1 all samples were collected so no adjustment is needed. + // if rate<1 treat as unknown and skip scaling. + return count, size + } + + avgSize := float64(size) / float64(count) + scale := 1 / (1 - math.Exp(-avgSize/float64(rate))) + + return int64(float64(count) * scale), int64(float64(size) * scale) +} + +// parseContention parses a mutex or contention profile. There are 2 cases: +// "--- contentionz " for legacy C++ profiles (and backwards compatibility) +// "--- mutex:" or "--- contention:" for profiles generated by the Go runtime. +func parseContention(b []byte) (*Profile, error) { + s := bufio.NewScanner(bytes.NewBuffer(b)) + if !s.Scan() { + if err := s.Err(); err != nil { + return nil, err + } + return nil, errUnrecognized + } + + switch l := s.Text(); { + case strings.HasPrefix(l, "--- contentionz "): + case strings.HasPrefix(l, "--- mutex:"): + case strings.HasPrefix(l, "--- contention:"): + default: + return nil, errUnrecognized + } + + p := &Profile{ + PeriodType: &ValueType{Type: "contentions", Unit: "count"}, + Period: 1, + SampleType: []*ValueType{ + {Type: "contentions", Unit: "count"}, + {Type: "delay", Unit: "nanoseconds"}, + }, + } + + var cpuHz int64 + // Parse text of the form "attribute = value" before the samples. + const delimiter = "=" + for s.Scan() { + line := s.Text() + if line = strings.TrimSpace(line); isSpaceOrComment(line) { + continue + } + if strings.HasPrefix(line, "---") { + break + } + attr := strings.SplitN(line, delimiter, 2) + if len(attr) != 2 { + break + } + key, val := strings.TrimSpace(attr[0]), strings.TrimSpace(attr[1]) + var err error + switch key { + case "cycles/second": + if cpuHz, err = strconv.ParseInt(val, 0, 64); err != nil { + return nil, errUnrecognized + } + case "sampling period": + if p.Period, err = strconv.ParseInt(val, 0, 64); err != nil { + return nil, errUnrecognized + } + case "ms since reset": + ms, err := strconv.ParseInt(val, 0, 64) + if err != nil { + return nil, errUnrecognized + } + p.DurationNanos = ms * 1000 * 1000 + case "format": + // CPP contentionz profiles don't have format. + return nil, errUnrecognized + case "resolution": + // CPP contentionz profiles don't have resolution. + return nil, errUnrecognized + case "discarded samples": + default: + return nil, errUnrecognized + } + } + if err := s.Err(); err != nil { + return nil, err + } + + locs := make(map[uint64]*Location) + for { + line := strings.TrimSpace(s.Text()) + if strings.HasPrefix(line, "---") { + break + } + if !isSpaceOrComment(line) { + value, addrs, err := parseContentionSample(line, p.Period, cpuHz) + if err != nil { + return nil, err + } + var sloc []*Location + for _, addr := range addrs { + // Addresses from stack traces point to the next instruction after + // each call. Adjust by -1 to land somewhere on the actual call. + addr-- + loc := locs[addr] + if locs[addr] == nil { + loc = &Location{ + Address: addr, + } + p.Location = append(p.Location, loc) + locs[addr] = loc + } + sloc = append(sloc, loc) + } + p.Sample = append(p.Sample, &Sample{ + Value: value, + Location: sloc, + }) + } + if !s.Scan() { + break + } + } + if err := s.Err(); err != nil { + return nil, err + } + + if err := parseAdditionalSections(s, p); err != nil { + return nil, err + } + + return p, nil +} + +// parseContentionSample parses a single row from a contention profile +// into a new Sample. +func parseContentionSample(line string, period, cpuHz int64) (value []int64, addrs []uint64, err error) { + sampleData := contentionSampleRE.FindStringSubmatch(line) + if sampleData == nil { + return nil, nil, errUnrecognized + } + + v1, err := strconv.ParseInt(sampleData[1], 10, 64) + if err != nil { + return nil, nil, fmt.Errorf("malformed sample: %s: %v", line, err) + } + v2, err := strconv.ParseInt(sampleData[2], 10, 64) + if err != nil { + return nil, nil, fmt.Errorf("malformed sample: %s: %v", line, err) + } + + // Unsample values if period and cpuHz are available. + // - Delays are scaled to cycles and then to nanoseconds. + // - Contentions are scaled to cycles. + if period > 0 { + if cpuHz > 0 { + cpuGHz := float64(cpuHz) / 1e9 + v1 = int64(float64(v1) * float64(period) / cpuGHz) + } + v2 = v2 * period + } + + value = []int64{v2, v1} + addrs, err = parseHexAddresses(sampleData[3]) + if err != nil { + return nil, nil, fmt.Errorf("malformed sample: %s: %v", line, err) + } + + return value, addrs, nil +} + +// parseThread parses a Threadz profile and returns a new Profile. +func parseThread(b []byte) (*Profile, error) { + s := bufio.NewScanner(bytes.NewBuffer(b)) + // Skip past comments and empty lines seeking a real header. + for s.Scan() && isSpaceOrComment(s.Text()) { + } + + line := s.Text() + if m := threadzStartRE.FindStringSubmatch(line); m != nil { + // Advance over initial comments until first stack trace. + for s.Scan() { + if line = s.Text(); isMemoryMapSentinel(line) || strings.HasPrefix(line, "-") { + break + } + } + } else if t := threadStartRE.FindStringSubmatch(line); len(t) != 4 { + return nil, errUnrecognized + } + + p := &Profile{ + SampleType: []*ValueType{{Type: "thread", Unit: "count"}}, + PeriodType: &ValueType{Type: "thread", Unit: "count"}, + Period: 1, + } + + locs := make(map[uint64]*Location) + // Recognize each thread and populate profile samples. + for !isMemoryMapSentinel(line) { + if strings.HasPrefix(line, "---- no stack trace for") { + break + } + if t := threadStartRE.FindStringSubmatch(line); len(t) != 4 { + return nil, errUnrecognized + } + + var addrs []uint64 + var err error + line, addrs, err = parseThreadSample(s) + if err != nil { + return nil, err + } + if len(addrs) == 0 { + // We got a --same as previous threads--. Bump counters. + if len(p.Sample) > 0 { + s := p.Sample[len(p.Sample)-1] + s.Value[0]++ + } + continue + } + + var sloc []*Location + for i, addr := range addrs { + // Addresses from stack traces point to the next instruction after + // each call. Adjust by -1 to land somewhere on the actual call + // (except for the leaf, which is not a call). + if i > 0 { + addr-- + } + loc := locs[addr] + if locs[addr] == nil { + loc = &Location{ + Address: addr, + } + p.Location = append(p.Location, loc) + locs[addr] = loc + } + sloc = append(sloc, loc) + } + + p.Sample = append(p.Sample, &Sample{ + Value: []int64{1}, + Location: sloc, + }) + } + + if err := parseAdditionalSections(s, p); err != nil { + return nil, err + } + + cleanupDuplicateLocations(p) + return p, nil +} + +// parseThreadSample parses a symbolized or unsymbolized stack trace. +// Returns the first line after the traceback, the sample (or nil if +// it hits a 'same-as-previous' marker) and an error. +func parseThreadSample(s *bufio.Scanner) (nextl string, addrs []uint64, err error) { + var line string + sameAsPrevious := false + for s.Scan() { + line = strings.TrimSpace(s.Text()) + if line == "" { + continue + } + + if strings.HasPrefix(line, "---") { + break + } + if strings.Contains(line, "same as previous thread") { + sameAsPrevious = true + continue + } + + curAddrs, err := parseHexAddresses(line) + if err != nil { + return "", nil, fmt.Errorf("malformed sample: %s: %v", line, err) + } + addrs = append(addrs, curAddrs...) + } + if err := s.Err(); err != nil { + return "", nil, err + } + if sameAsPrevious { + return line, nil, nil + } + return line, addrs, nil +} + +// parseAdditionalSections parses any additional sections in the +// profile, ignoring any unrecognized sections. +func parseAdditionalSections(s *bufio.Scanner, p *Profile) error { + for !isMemoryMapSentinel(s.Text()) && s.Scan() { + } + if err := s.Err(); err != nil { + return err + } + return p.ParseMemoryMapFromScanner(s) +} + +// ParseProcMaps parses a memory map in the format of /proc/self/maps. +// ParseMemoryMap should be called after setting on a profile to +// associate locations to the corresponding mapping based on their +// address. +func ParseProcMaps(rd io.Reader) ([]*Mapping, error) { + s := bufio.NewScanner(rd) + return parseProcMapsFromScanner(s) +} + +func parseProcMapsFromScanner(s *bufio.Scanner) ([]*Mapping, error) { + var mapping []*Mapping + + var attrs []string + const delimiter = "=" + r := strings.NewReplacer() + for s.Scan() { + line := r.Replace(removeLoggingInfo(s.Text())) + m, err := parseMappingEntry(line) + if err != nil { + if err == errUnrecognized { + // Recognize assignments of the form: attr=value, and replace + // $attr with value on subsequent mappings. + if attr := strings.SplitN(line, delimiter, 2); len(attr) == 2 { + attrs = append(attrs, "$"+strings.TrimSpace(attr[0]), strings.TrimSpace(attr[1])) + r = strings.NewReplacer(attrs...) + } + // Ignore any unrecognized entries + continue + } + return nil, err + } + if m == nil { + continue + } + mapping = append(mapping, m) + } + if err := s.Err(); err != nil { + return nil, err + } + return mapping, nil +} + +// removeLoggingInfo detects and removes log prefix entries generated +// by the glog package. If no logging prefix is detected, the string +// is returned unmodified. +func removeLoggingInfo(line string) string { + if match := logInfoRE.FindStringIndex(line); match != nil { + return line[match[1]:] + } + return line +} + +// ParseMemoryMap parses a memory map in the format of +// /proc/self/maps, and overrides the mappings in the current profile. +// It renumbers the samples and locations in the profile correspondingly. +func (p *Profile) ParseMemoryMap(rd io.Reader) error { + return p.ParseMemoryMapFromScanner(bufio.NewScanner(rd)) +} + +// ParseMemoryMapFromScanner parses a memory map in the format of +// /proc/self/maps or a variety of legacy format, and overrides the +// mappings in the current profile. It renumbers the samples and +// locations in the profile correspondingly. +func (p *Profile) ParseMemoryMapFromScanner(s *bufio.Scanner) error { + mapping, err := parseProcMapsFromScanner(s) + if err != nil { + return err + } + p.Mapping = append(p.Mapping, mapping...) + p.massageMappings() + p.remapLocationIDs() + p.remapFunctionIDs() + p.remapMappingIDs() + return nil +} + +func parseMappingEntry(l string) (*Mapping, error) { + var start, end, perm, file, offset, buildID string + if me := procMapsRE.FindStringSubmatch(l); len(me) == 6 { + start, end, perm, offset, file = me[1], me[2], me[3], me[4], me[5] + } else if me := briefMapsRE.FindStringSubmatch(l); len(me) == 7 { + start, end, perm, file, offset, buildID = me[1], me[2], me[3], me[4], me[5], me[6] + } else { + return nil, errUnrecognized + } + + var err error + mapping := &Mapping{ + File: file, + BuildID: buildID, + } + if perm != "" && !strings.Contains(perm, "x") { + // Skip non-executable entries. + return nil, nil + } + if mapping.Start, err = strconv.ParseUint(start, 16, 64); err != nil { + return nil, errUnrecognized + } + if mapping.Limit, err = strconv.ParseUint(end, 16, 64); err != nil { + return nil, errUnrecognized + } + if offset != "" { + if mapping.Offset, err = strconv.ParseUint(offset, 16, 64); err != nil { + return nil, errUnrecognized + } + } + return mapping, nil +} + +var memoryMapSentinels = []string{ + "--- Memory map: ---", + "MAPPED_LIBRARIES:", +} + +// isMemoryMapSentinel returns true if the string contains one of the +// known sentinels for memory map information. +func isMemoryMapSentinel(line string) bool { + for _, s := range memoryMapSentinels { + if strings.Contains(line, s) { + return true + } + } + return false +} + +func (p *Profile) addLegacyFrameInfo() { + switch { + case isProfileType(p, heapzSampleTypes): + p.DropFrames, p.KeepFrames = allocRxStr, allocSkipRxStr + case isProfileType(p, contentionzSampleTypes): + p.DropFrames, p.KeepFrames = lockRxStr, "" + default: + p.DropFrames, p.KeepFrames = cpuProfilerRxStr, "" + } +} + +var heapzSampleTypes = [][]string{ + {"allocations", "size"}, // early Go pprof profiles + {"objects", "space"}, + {"inuse_objects", "inuse_space"}, + {"alloc_objects", "alloc_space"}, + {"alloc_objects", "alloc_space", "inuse_objects", "inuse_space"}, // Go pprof legacy profiles +} +var contentionzSampleTypes = [][]string{ + {"contentions", "delay"}, +} + +func isProfileType(p *Profile, types [][]string) bool { + st := p.SampleType +nextType: + for _, t := range types { + if len(st) != len(t) { + continue + } + + for i := range st { + if st[i].Type != t[i] { + continue nextType + } + } + return true + } + return false +} + +var allocRxStr = strings.Join([]string{ + // POSIX entry points. + `calloc`, + `cfree`, + `malloc`, + `free`, + `memalign`, + `do_memalign`, + `(__)?posix_memalign`, + `pvalloc`, + `valloc`, + `realloc`, + + // TC malloc. + `tcmalloc::.*`, + `tc_calloc`, + `tc_cfree`, + `tc_malloc`, + `tc_free`, + `tc_memalign`, + `tc_posix_memalign`, + `tc_pvalloc`, + `tc_valloc`, + `tc_realloc`, + `tc_new`, + `tc_delete`, + `tc_newarray`, + `tc_deletearray`, + `tc_new_nothrow`, + `tc_newarray_nothrow`, + + // Memory-allocation routines on OS X. + `malloc_zone_malloc`, + `malloc_zone_calloc`, + `malloc_zone_valloc`, + `malloc_zone_realloc`, + `malloc_zone_memalign`, + `malloc_zone_free`, + + // Go runtime + `runtime\..*`, + + // Other misc. memory allocation routines + `BaseArena::.*`, + `(::)?do_malloc_no_errno`, + `(::)?do_malloc_pages`, + `(::)?do_malloc`, + `DoSampledAllocation`, + `MallocedMemBlock::MallocedMemBlock`, + `_M_allocate`, + `__builtin_(vec_)?delete`, + `__builtin_(vec_)?new`, + `__gnu_cxx::new_allocator::allocate`, + `__libc_malloc`, + `__malloc_alloc_template::allocate`, + `allocate`, + `cpp_alloc`, + `operator new(\[\])?`, + `simple_alloc::allocate`, +}, `|`) + +var allocSkipRxStr = strings.Join([]string{ + // Preserve Go runtime frames that appear in the middle/bottom of + // the stack. + `runtime\.panic`, + `runtime\.reflectcall`, + `runtime\.call[0-9]*`, +}, `|`) + +var cpuProfilerRxStr = strings.Join([]string{ + `ProfileData::Add`, + `ProfileData::prof_handler`, + `CpuProfiler::prof_handler`, + `__pthread_sighandler`, + `__restore`, +}, `|`) + +var lockRxStr = strings.Join([]string{ + `RecordLockProfileData`, + `(base::)?RecordLockProfileData.*`, + `(base::)?SubmitMutexProfileData.*`, + `(base::)?SubmitSpinLockProfileData.*`, + `(base::Mutex::)?AwaitCommon.*`, + `(base::Mutex::)?Unlock.*`, + `(base::Mutex::)?UnlockSlow.*`, + `(base::Mutex::)?ReaderUnlock.*`, + `(base::MutexLock::)?~MutexLock.*`, + `(Mutex::)?AwaitCommon.*`, + `(Mutex::)?Unlock.*`, + `(Mutex::)?UnlockSlow.*`, + `(Mutex::)?ReaderUnlock.*`, + `(MutexLock::)?~MutexLock.*`, + `(SpinLock::)?Unlock.*`, + `(SpinLock::)?SlowUnlock.*`, + `(SpinLockHolder::)?~SpinLockHolder.*`, +}, `|`) diff --git a/vendor/github.com/google/pprof/profile/merge.go b/vendor/github.com/google/pprof/profile/merge.go new file mode 100644 index 000000000..ba4d74640 --- /dev/null +++ b/vendor/github.com/google/pprof/profile/merge.go @@ -0,0 +1,674 @@ +// Copyright 2014 Google Inc. All Rights Reserved. +// +// 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 profile + +import ( + "encoding/binary" + "fmt" + "sort" + "strconv" + "strings" +) + +// Compact performs garbage collection on a profile to remove any +// unreferenced fields. This is useful to reduce the size of a profile +// after samples or locations have been removed. +func (p *Profile) Compact() *Profile { + p, _ = Merge([]*Profile{p}) + return p +} + +// Merge merges all the profiles in profs into a single Profile. +// Returns a new profile independent of the input profiles. The merged +// profile is compacted to eliminate unused samples, locations, +// functions and mappings. Profiles must have identical profile sample +// and period types or the merge will fail. profile.Period of the +// resulting profile will be the maximum of all profiles, and +// profile.TimeNanos will be the earliest nonzero one. Merges are +// associative with the caveat of the first profile having some +// specialization in how headers are combined. There may be other +// subtleties now or in the future regarding associativity. +func Merge(srcs []*Profile) (*Profile, error) { + if len(srcs) == 0 { + return nil, fmt.Errorf("no profiles to merge") + } + p, err := combineHeaders(srcs) + if err != nil { + return nil, err + } + + pm := &profileMerger{ + p: p, + samples: make(map[sampleKey]*Sample, len(srcs[0].Sample)), + locations: make(map[locationKey]*Location, len(srcs[0].Location)), + functions: make(map[functionKey]*Function, len(srcs[0].Function)), + mappings: make(map[mappingKey]*Mapping, len(srcs[0].Mapping)), + } + + for _, src := range srcs { + // Clear the profile-specific hash tables + pm.locationsByID = makeLocationIDMap(len(src.Location)) + pm.functionsByID = make(map[uint64]*Function, len(src.Function)) + pm.mappingsByID = make(map[uint64]mapInfo, len(src.Mapping)) + + if len(pm.mappings) == 0 && len(src.Mapping) > 0 { + // The Mapping list has the property that the first mapping + // represents the main binary. Take the first Mapping we see, + // otherwise the operations below will add mappings in an + // arbitrary order. + pm.mapMapping(src.Mapping[0]) + } + + for _, s := range src.Sample { + if !isZeroSample(s) { + pm.mapSample(s) + } + } + } + + for _, s := range p.Sample { + if isZeroSample(s) { + // If there are any zero samples, re-merge the profile to GC + // them. + return Merge([]*Profile{p}) + } + } + + return p, nil +} + +// Normalize normalizes the source profile by multiplying each value in profile by the +// ratio of the sum of the base profile's values of that sample type to the sum of the +// source profile's value of that sample type. +func (p *Profile) Normalize(pb *Profile) error { + + if err := p.compatible(pb); err != nil { + return err + } + + baseVals := make([]int64, len(p.SampleType)) + for _, s := range pb.Sample { + for i, v := range s.Value { + baseVals[i] += v + } + } + + srcVals := make([]int64, len(p.SampleType)) + for _, s := range p.Sample { + for i, v := range s.Value { + srcVals[i] += v + } + } + + normScale := make([]float64, len(baseVals)) + for i := range baseVals { + if srcVals[i] == 0 { + normScale[i] = 0.0 + } else { + normScale[i] = float64(baseVals[i]) / float64(srcVals[i]) + } + } + p.ScaleN(normScale) + return nil +} + +func isZeroSample(s *Sample) bool { + for _, v := range s.Value { + if v != 0 { + return false + } + } + return true +} + +type profileMerger struct { + p *Profile + + // Memoization tables within a profile. + locationsByID locationIDMap + functionsByID map[uint64]*Function + mappingsByID map[uint64]mapInfo + + // Memoization tables for profile entities. + samples map[sampleKey]*Sample + locations map[locationKey]*Location + functions map[functionKey]*Function + mappings map[mappingKey]*Mapping +} + +type mapInfo struct { + m *Mapping + offset int64 +} + +func (pm *profileMerger) mapSample(src *Sample) *Sample { + // Check memoization table + k := pm.sampleKey(src) + if ss, ok := pm.samples[k]; ok { + for i, v := range src.Value { + ss.Value[i] += v + } + return ss + } + + // Make new sample. + s := &Sample{ + Location: make([]*Location, len(src.Location)), + Value: make([]int64, len(src.Value)), + Label: make(map[string][]string, len(src.Label)), + NumLabel: make(map[string][]int64, len(src.NumLabel)), + NumUnit: make(map[string][]string, len(src.NumLabel)), + } + for i, l := range src.Location { + s.Location[i] = pm.mapLocation(l) + } + for k, v := range src.Label { + vv := make([]string, len(v)) + copy(vv, v) + s.Label[k] = vv + } + for k, v := range src.NumLabel { + u := src.NumUnit[k] + vv := make([]int64, len(v)) + uu := make([]string, len(u)) + copy(vv, v) + copy(uu, u) + s.NumLabel[k] = vv + s.NumUnit[k] = uu + } + copy(s.Value, src.Value) + pm.samples[k] = s + pm.p.Sample = append(pm.p.Sample, s) + return s +} + +func (pm *profileMerger) sampleKey(sample *Sample) sampleKey { + // Accumulate contents into a string. + var buf strings.Builder + buf.Grow(64) // Heuristic to avoid extra allocs + + // encode a number + putNumber := func(v uint64) { + var num [binary.MaxVarintLen64]byte + n := binary.PutUvarint(num[:], v) + buf.Write(num[:n]) + } + + // encode a string prefixed with its length. + putDelimitedString := func(s string) { + putNumber(uint64(len(s))) + buf.WriteString(s) + } + + for _, l := range sample.Location { + // Get the location in the merged profile, which may have a different ID. + if loc := pm.mapLocation(l); loc != nil { + putNumber(loc.ID) + } + } + putNumber(0) // Delimiter + + for _, l := range sortedKeys1(sample.Label) { + putDelimitedString(l) + values := sample.Label[l] + putNumber(uint64(len(values))) + for _, v := range values { + putDelimitedString(v) + } + } + + for _, l := range sortedKeys2(sample.NumLabel) { + putDelimitedString(l) + values := sample.NumLabel[l] + putNumber(uint64(len(values))) + for _, v := range values { + putNumber(uint64(v)) + } + units := sample.NumUnit[l] + putNumber(uint64(len(units))) + for _, v := range units { + putDelimitedString(v) + } + } + + return sampleKey(buf.String()) +} + +type sampleKey string + +// sortedKeys1 returns the sorted keys found in a string->[]string map. +// +// Note: this is currently non-generic since github pprof runs golint, +// which does not support generics. When that issue is fixed, it can +// be merged with sortedKeys2 and made into a generic function. +func sortedKeys1(m map[string][]string) []string { + if len(m) == 0 { + return nil + } + keys := make([]string, 0, len(m)) + for k := range m { + keys = append(keys, k) + } + sort.Strings(keys) + return keys +} + +// sortedKeys2 returns the sorted keys found in a string->[]int64 map. +// +// Note: this is currently non-generic since github pprof runs golint, +// which does not support generics. When that issue is fixed, it can +// be merged with sortedKeys1 and made into a generic function. +func sortedKeys2(m map[string][]int64) []string { + if len(m) == 0 { + return nil + } + keys := make([]string, 0, len(m)) + for k := range m { + keys = append(keys, k) + } + sort.Strings(keys) + return keys +} + +func (pm *profileMerger) mapLocation(src *Location) *Location { + if src == nil { + return nil + } + + if l := pm.locationsByID.get(src.ID); l != nil { + return l + } + + mi := pm.mapMapping(src.Mapping) + l := &Location{ + ID: uint64(len(pm.p.Location) + 1), + Mapping: mi.m, + Address: uint64(int64(src.Address) + mi.offset), + Line: make([]Line, len(src.Line)), + IsFolded: src.IsFolded, + } + for i, ln := range src.Line { + l.Line[i] = pm.mapLine(ln) + } + // Check memoization table. Must be done on the remapped location to + // account for the remapped mapping ID. + k := l.key() + if ll, ok := pm.locations[k]; ok { + pm.locationsByID.set(src.ID, ll) + return ll + } + pm.locationsByID.set(src.ID, l) + pm.locations[k] = l + pm.p.Location = append(pm.p.Location, l) + return l +} + +// key generates locationKey to be used as a key for maps. +func (l *Location) key() locationKey { + key := locationKey{ + addr: l.Address, + isFolded: l.IsFolded, + } + if l.Mapping != nil { + // Normalizes address to handle address space randomization. + key.addr -= l.Mapping.Start + key.mappingID = l.Mapping.ID + } + lines := make([]string, len(l.Line)*3) + for i, line := range l.Line { + if line.Function != nil { + lines[i*2] = strconv.FormatUint(line.Function.ID, 16) + } + lines[i*2+1] = strconv.FormatInt(line.Line, 16) + lines[i*2+2] = strconv.FormatInt(line.Column, 16) + } + key.lines = strings.Join(lines, "|") + return key +} + +type locationKey struct { + addr, mappingID uint64 + lines string + isFolded bool +} + +func (pm *profileMerger) mapMapping(src *Mapping) mapInfo { + if src == nil { + return mapInfo{} + } + + if mi, ok := pm.mappingsByID[src.ID]; ok { + return mi + } + + // Check memoization tables. + mk := src.key() + if m, ok := pm.mappings[mk]; ok { + mi := mapInfo{m, int64(m.Start) - int64(src.Start)} + pm.mappingsByID[src.ID] = mi + return mi + } + m := &Mapping{ + ID: uint64(len(pm.p.Mapping) + 1), + Start: src.Start, + Limit: src.Limit, + Offset: src.Offset, + File: src.File, + KernelRelocationSymbol: src.KernelRelocationSymbol, + BuildID: src.BuildID, + HasFunctions: src.HasFunctions, + HasFilenames: src.HasFilenames, + HasLineNumbers: src.HasLineNumbers, + HasInlineFrames: src.HasInlineFrames, + } + pm.p.Mapping = append(pm.p.Mapping, m) + + // Update memoization tables. + pm.mappings[mk] = m + mi := mapInfo{m, 0} + pm.mappingsByID[src.ID] = mi + return mi +} + +// key generates encoded strings of Mapping to be used as a key for +// maps. +func (m *Mapping) key() mappingKey { + // Normalize addresses to handle address space randomization. + // Round up to next 4K boundary to avoid minor discrepancies. + const mapsizeRounding = 0x1000 + + size := m.Limit - m.Start + size = size + mapsizeRounding - 1 + size = size - (size % mapsizeRounding) + key := mappingKey{ + size: size, + offset: m.Offset, + } + + switch { + case m.BuildID != "": + key.buildIDOrFile = m.BuildID + case m.File != "": + key.buildIDOrFile = m.File + default: + // A mapping containing neither build ID nor file name is a fake mapping. A + // key with empty buildIDOrFile is used for fake mappings so that they are + // treated as the same mapping during merging. + } + return key +} + +type mappingKey struct { + size, offset uint64 + buildIDOrFile string +} + +func (pm *profileMerger) mapLine(src Line) Line { + ln := Line{ + Function: pm.mapFunction(src.Function), + Line: src.Line, + Column: src.Column, + } + return ln +} + +func (pm *profileMerger) mapFunction(src *Function) *Function { + if src == nil { + return nil + } + if f, ok := pm.functionsByID[src.ID]; ok { + return f + } + k := src.key() + if f, ok := pm.functions[k]; ok { + pm.functionsByID[src.ID] = f + return f + } + f := &Function{ + ID: uint64(len(pm.p.Function) + 1), + Name: src.Name, + SystemName: src.SystemName, + Filename: src.Filename, + StartLine: src.StartLine, + } + pm.functions[k] = f + pm.functionsByID[src.ID] = f + pm.p.Function = append(pm.p.Function, f) + return f +} + +// key generates a struct to be used as a key for maps. +func (f *Function) key() functionKey { + return functionKey{ + f.StartLine, + f.Name, + f.SystemName, + f.Filename, + } +} + +type functionKey struct { + startLine int64 + name, systemName, fileName string +} + +// combineHeaders checks that all profiles can be merged and returns +// their combined profile. +func combineHeaders(srcs []*Profile) (*Profile, error) { + for _, s := range srcs[1:] { + if err := srcs[0].compatible(s); err != nil { + return nil, err + } + } + + var timeNanos, durationNanos, period int64 + var comments []string + seenComments := map[string]bool{} + var docURL string + var defaultSampleType string + for _, s := range srcs { + if timeNanos == 0 || s.TimeNanos < timeNanos { + timeNanos = s.TimeNanos + } + durationNanos += s.DurationNanos + if period == 0 || period < s.Period { + period = s.Period + } + for _, c := range s.Comments { + if seen := seenComments[c]; !seen { + comments = append(comments, c) + seenComments[c] = true + } + } + if defaultSampleType == "" { + defaultSampleType = s.DefaultSampleType + } + if docURL == "" { + docURL = s.DocURL + } + } + + p := &Profile{ + SampleType: make([]*ValueType, len(srcs[0].SampleType)), + + DropFrames: srcs[0].DropFrames, + KeepFrames: srcs[0].KeepFrames, + + TimeNanos: timeNanos, + DurationNanos: durationNanos, + PeriodType: srcs[0].PeriodType, + Period: period, + + Comments: comments, + DefaultSampleType: defaultSampleType, + DocURL: docURL, + } + copy(p.SampleType, srcs[0].SampleType) + return p, nil +} + +// compatible determines if two profiles can be compared/merged. +// returns nil if the profiles are compatible; otherwise an error with +// details on the incompatibility. +func (p *Profile) compatible(pb *Profile) error { + if !equalValueType(p.PeriodType, pb.PeriodType) { + return fmt.Errorf("incompatible period types %v and %v", p.PeriodType, pb.PeriodType) + } + + if len(p.SampleType) != len(pb.SampleType) { + return fmt.Errorf("incompatible sample types %v and %v", p.SampleType, pb.SampleType) + } + + for i := range p.SampleType { + if !equalValueType(p.SampleType[i], pb.SampleType[i]) { + return fmt.Errorf("incompatible sample types %v and %v", p.SampleType, pb.SampleType) + } + } + return nil +} + +// equalValueType returns true if the two value types are semantically +// equal. It ignores the internal fields used during encode/decode. +func equalValueType(st1, st2 *ValueType) bool { + return st1.Type == st2.Type && st1.Unit == st2.Unit +} + +// locationIDMap is like a map[uint64]*Location, but provides efficiency for +// ids that are densely numbered, which is often the case. +type locationIDMap struct { + dense []*Location // indexed by id for id < len(dense) + sparse map[uint64]*Location // indexed by id for id >= len(dense) +} + +func makeLocationIDMap(n int) locationIDMap { + return locationIDMap{ + dense: make([]*Location, n), + sparse: map[uint64]*Location{}, + } +} + +func (lm locationIDMap) get(id uint64) *Location { + if id < uint64(len(lm.dense)) { + return lm.dense[int(id)] + } + return lm.sparse[id] +} + +func (lm locationIDMap) set(id uint64, loc *Location) { + if id < uint64(len(lm.dense)) { + lm.dense[id] = loc + return + } + lm.sparse[id] = loc +} + +// CompatibilizeSampleTypes makes profiles compatible to be compared/merged. It +// keeps sample types that appear in all profiles only and drops/reorders the +// sample types as necessary. +// +// In the case of sample types order is not the same for given profiles the +// order is derived from the first profile. +// +// Profiles are modified in-place. +// +// It returns an error if the sample type's intersection is empty. +func CompatibilizeSampleTypes(ps []*Profile) error { + sTypes := commonSampleTypes(ps) + if len(sTypes) == 0 { + return fmt.Errorf("profiles have empty common sample type list") + } + for _, p := range ps { + if err := compatibilizeSampleTypes(p, sTypes); err != nil { + return err + } + } + return nil +} + +// commonSampleTypes returns sample types that appear in all profiles in the +// order how they ordered in the first profile. +func commonSampleTypes(ps []*Profile) []string { + if len(ps) == 0 { + return nil + } + sTypes := map[string]int{} + for _, p := range ps { + for _, st := range p.SampleType { + sTypes[st.Type]++ + } + } + var res []string + for _, st := range ps[0].SampleType { + if sTypes[st.Type] == len(ps) { + res = append(res, st.Type) + } + } + return res +} + +// compatibilizeSampleTypes drops sample types that are not present in sTypes +// list and reorder them if needed. +// +// It sets DefaultSampleType to sType[0] if it is not in sType list. +// +// It assumes that all sample types from the sTypes list are present in the +// given profile otherwise it returns an error. +func compatibilizeSampleTypes(p *Profile, sTypes []string) error { + if len(sTypes) == 0 { + return fmt.Errorf("sample type list is empty") + } + defaultSampleType := sTypes[0] + reMap, needToModify := make([]int, len(sTypes)), false + for i, st := range sTypes { + if st == p.DefaultSampleType { + defaultSampleType = p.DefaultSampleType + } + idx := searchValueType(p.SampleType, st) + if idx < 0 { + return fmt.Errorf("%q sample type is not found in profile", st) + } + reMap[i] = idx + if idx != i { + needToModify = true + } + } + if !needToModify && len(sTypes) == len(p.SampleType) { + return nil + } + p.DefaultSampleType = defaultSampleType + oldSampleTypes := p.SampleType + p.SampleType = make([]*ValueType, len(sTypes)) + for i, idx := range reMap { + p.SampleType[i] = oldSampleTypes[idx] + } + values := make([]int64, len(sTypes)) + for _, s := range p.Sample { + for i, idx := range reMap { + values[i] = s.Value[idx] + } + s.Value = s.Value[:len(values)] + copy(s.Value, values) + } + return nil +} + +func searchValueType(vts []*ValueType, s string) int { + for i, vt := range vts { + if vt.Type == s { + return i + } + } + return -1 +} diff --git a/vendor/github.com/google/pprof/profile/profile.go b/vendor/github.com/google/pprof/profile/profile.go new file mode 100644 index 000000000..f47a24390 --- /dev/null +++ b/vendor/github.com/google/pprof/profile/profile.go @@ -0,0 +1,869 @@ +// Copyright 2014 Google Inc. All Rights Reserved. +// +// 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 profile provides a representation of profile.proto and +// methods to encode/decode profiles in this format. +package profile + +import ( + "bytes" + "compress/gzip" + "fmt" + "io" + "math" + "path/filepath" + "regexp" + "sort" + "strings" + "sync" + "time" +) + +// Profile is an in-memory representation of profile.proto. +type Profile struct { + SampleType []*ValueType + DefaultSampleType string + Sample []*Sample + Mapping []*Mapping + Location []*Location + Function []*Function + Comments []string + DocURL string + + DropFrames string + KeepFrames string + + TimeNanos int64 + DurationNanos int64 + PeriodType *ValueType + Period int64 + + // The following fields are modified during encoding and copying, + // so are protected by a Mutex. + encodeMu sync.Mutex + + commentX []int64 + docURLX int64 + dropFramesX int64 + keepFramesX int64 + stringTable []string + defaultSampleTypeX int64 +} + +// ValueType corresponds to Profile.ValueType +type ValueType struct { + Type string // cpu, wall, inuse_space, etc + Unit string // seconds, nanoseconds, bytes, etc + + typeX int64 + unitX int64 +} + +// Sample corresponds to Profile.Sample +type Sample struct { + Location []*Location + Value []int64 + // Label is a per-label-key map to values for string labels. + // + // In general, having multiple values for the given label key is strongly + // discouraged - see docs for the sample label field in profile.proto. The + // main reason this unlikely state is tracked here is to make the + // decoding->encoding roundtrip not lossy. But we expect that the value + // slices present in this map are always of length 1. + Label map[string][]string + // NumLabel is a per-label-key map to values for numeric labels. See a note + // above on handling multiple values for a label. + NumLabel map[string][]int64 + // NumUnit is a per-label-key map to the unit names of corresponding numeric + // label values. The unit info may be missing even if the label is in + // NumLabel, see the docs in profile.proto for details. When the value is + // slice is present and not nil, its length must be equal to the length of + // the corresponding value slice in NumLabel. + NumUnit map[string][]string + + locationIDX []uint64 + labelX []label +} + +// label corresponds to Profile.Label +type label struct { + keyX int64 + // Exactly one of the two following values must be set + strX int64 + numX int64 // Integer value for this label + // can be set if numX has value + unitX int64 +} + +// Mapping corresponds to Profile.Mapping +type Mapping struct { + ID uint64 + Start uint64 + Limit uint64 + Offset uint64 + File string + BuildID string + HasFunctions bool + HasFilenames bool + HasLineNumbers bool + HasInlineFrames bool + + fileX int64 + buildIDX int64 + + // Name of the kernel relocation symbol ("_text" or "_stext"), extracted from File. + // For linux kernel mappings generated by some tools, correct symbolization depends + // on knowing which of the two possible relocation symbols was used for `Start`. + // This is given to us as a suffix in `File` (e.g. "[kernel.kallsyms]_stext"). + // + // Note, this public field is not persisted in the proto. For the purposes of + // copying / merging / hashing profiles, it is considered subsumed by `File`. + KernelRelocationSymbol string +} + +// Location corresponds to Profile.Location +type Location struct { + ID uint64 + Mapping *Mapping + Address uint64 + Line []Line + IsFolded bool + + mappingIDX uint64 +} + +// Line corresponds to Profile.Line +type Line struct { + Function *Function + Line int64 + Column int64 + + functionIDX uint64 +} + +// Function corresponds to Profile.Function +type Function struct { + ID uint64 + Name string + SystemName string + Filename string + StartLine int64 + + nameX int64 + systemNameX int64 + filenameX int64 +} + +// Parse parses a profile and checks for its validity. The input +// may be a gzip-compressed encoded protobuf or one of many legacy +// profile formats which may be unsupported in the future. +func Parse(r io.Reader) (*Profile, error) { + data, err := io.ReadAll(r) + if err != nil { + return nil, err + } + return ParseData(data) +} + +// ParseData parses a profile from a buffer and checks for its +// validity. +func ParseData(data []byte) (*Profile, error) { + var p *Profile + var err error + if len(data) >= 2 && data[0] == 0x1f && data[1] == 0x8b { + gz, err := gzip.NewReader(bytes.NewBuffer(data)) + if err == nil { + data, err = io.ReadAll(gz) + } + if err != nil { + return nil, fmt.Errorf("decompressing profile: %v", err) + } + } + if p, err = ParseUncompressed(data); err != nil && err != errNoData && err != errConcatProfile { + p, err = parseLegacy(data) + } + + if err != nil { + return nil, fmt.Errorf("parsing profile: %v", err) + } + + if err := p.CheckValid(); err != nil { + return nil, fmt.Errorf("malformed profile: %v", err) + } + return p, nil +} + +var errUnrecognized = fmt.Errorf("unrecognized profile format") +var errMalformed = fmt.Errorf("malformed profile format") +var errNoData = fmt.Errorf("empty input file") +var errConcatProfile = fmt.Errorf("concatenated profiles detected") + +func parseLegacy(data []byte) (*Profile, error) { + parsers := []func([]byte) (*Profile, error){ + parseCPU, + parseHeap, + parseGoCount, // goroutine, threadcreate + parseThread, + parseContention, + parseJavaProfile, + } + + for _, parser := range parsers { + p, err := parser(data) + if err == nil { + p.addLegacyFrameInfo() + return p, nil + } + if err != errUnrecognized { + return nil, err + } + } + return nil, errUnrecognized +} + +// ParseUncompressed parses an uncompressed protobuf into a profile. +func ParseUncompressed(data []byte) (*Profile, error) { + if len(data) == 0 { + return nil, errNoData + } + p := &Profile{} + if err := unmarshal(data, p); err != nil { + return nil, err + } + + if err := p.postDecode(); err != nil { + return nil, err + } + + return p, nil +} + +var libRx = regexp.MustCompile(`([.]so$|[.]so[._][0-9]+)`) + +// massageMappings applies heuristic-based changes to the profile +// mappings to account for quirks of some environments. +func (p *Profile) massageMappings() { + // Merge adjacent regions with matching names, checking that the offsets match + if len(p.Mapping) > 1 { + mappings := []*Mapping{p.Mapping[0]} + for _, m := range p.Mapping[1:] { + lm := mappings[len(mappings)-1] + if adjacent(lm, m) { + lm.Limit = m.Limit + if m.File != "" { + lm.File = m.File + } + if m.BuildID != "" { + lm.BuildID = m.BuildID + } + p.updateLocationMapping(m, lm) + continue + } + mappings = append(mappings, m) + } + p.Mapping = mappings + } + + // Use heuristics to identify main binary and move it to the top of the list of mappings + for i, m := range p.Mapping { + file := strings.TrimSpace(strings.Replace(m.File, "(deleted)", "", -1)) + if len(file) == 0 { + continue + } + if len(libRx.FindStringSubmatch(file)) > 0 { + continue + } + if file[0] == '[' { + continue + } + // Swap what we guess is main to position 0. + p.Mapping[0], p.Mapping[i] = p.Mapping[i], p.Mapping[0] + break + } + + // Keep the mapping IDs neatly sorted + for i, m := range p.Mapping { + m.ID = uint64(i + 1) + } +} + +// adjacent returns whether two mapping entries represent the same +// mapping that has been split into two. Check that their addresses are adjacent, +// and if the offsets match, if they are available. +func adjacent(m1, m2 *Mapping) bool { + if m1.File != "" && m2.File != "" { + if m1.File != m2.File { + return false + } + } + if m1.BuildID != "" && m2.BuildID != "" { + if m1.BuildID != m2.BuildID { + return false + } + } + if m1.Limit != m2.Start { + return false + } + if m1.Offset != 0 && m2.Offset != 0 { + offset := m1.Offset + (m1.Limit - m1.Start) + if offset != m2.Offset { + return false + } + } + return true +} + +func (p *Profile) updateLocationMapping(from, to *Mapping) { + for _, l := range p.Location { + if l.Mapping == from { + l.Mapping = to + } + } +} + +func serialize(p *Profile) []byte { + p.encodeMu.Lock() + p.preEncode() + b := marshal(p) + p.encodeMu.Unlock() + return b +} + +// Write writes the profile as a gzip-compressed marshaled protobuf. +func (p *Profile) Write(w io.Writer) error { + zw := gzip.NewWriter(w) + defer zw.Close() + _, err := zw.Write(serialize(p)) + return err +} + +// WriteUncompressed writes the profile as a marshaled protobuf. +func (p *Profile) WriteUncompressed(w io.Writer) error { + _, err := w.Write(serialize(p)) + return err +} + +// CheckValid tests whether the profile is valid. Checks include, but are +// not limited to: +// - len(Profile.Sample[n].value) == len(Profile.value_unit) +// - Sample.id has a corresponding Profile.Location +func (p *Profile) CheckValid() error { + // Check that sample values are consistent + sampleLen := len(p.SampleType) + if sampleLen == 0 && len(p.Sample) != 0 { + return fmt.Errorf("missing sample type information") + } + for _, s := range p.Sample { + if s == nil { + return fmt.Errorf("profile has nil sample") + } + if len(s.Value) != sampleLen { + return fmt.Errorf("mismatch: sample has %d values vs. %d types", len(s.Value), len(p.SampleType)) + } + for _, l := range s.Location { + if l == nil { + return fmt.Errorf("sample has nil location") + } + } + } + + // Check that all mappings/locations/functions are in the tables + // Check that there are no duplicate ids + mappings := make(map[uint64]*Mapping, len(p.Mapping)) + for _, m := range p.Mapping { + if m == nil { + return fmt.Errorf("profile has nil mapping") + } + if m.ID == 0 { + return fmt.Errorf("found mapping with reserved ID=0") + } + if mappings[m.ID] != nil { + return fmt.Errorf("multiple mappings with same id: %d", m.ID) + } + mappings[m.ID] = m + } + functions := make(map[uint64]*Function, len(p.Function)) + for _, f := range p.Function { + if f == nil { + return fmt.Errorf("profile has nil function") + } + if f.ID == 0 { + return fmt.Errorf("found function with reserved ID=0") + } + if functions[f.ID] != nil { + return fmt.Errorf("multiple functions with same id: %d", f.ID) + } + functions[f.ID] = f + } + locations := make(map[uint64]*Location, len(p.Location)) + for _, l := range p.Location { + if l == nil { + return fmt.Errorf("profile has nil location") + } + if l.ID == 0 { + return fmt.Errorf("found location with reserved id=0") + } + if locations[l.ID] != nil { + return fmt.Errorf("multiple locations with same id: %d", l.ID) + } + locations[l.ID] = l + if m := l.Mapping; m != nil { + if m.ID == 0 || mappings[m.ID] != m { + return fmt.Errorf("inconsistent mapping %p: %d", m, m.ID) + } + } + for _, ln := range l.Line { + f := ln.Function + if f == nil { + return fmt.Errorf("location id: %d has a line with nil function", l.ID) + } + if f.ID == 0 || functions[f.ID] != f { + return fmt.Errorf("inconsistent function %p: %d", f, f.ID) + } + } + } + return nil +} + +// Aggregate merges the locations in the profile into equivalence +// classes preserving the request attributes. It also updates the +// samples to point to the merged locations. +func (p *Profile) Aggregate(inlineFrame, function, filename, linenumber, columnnumber, address bool) error { + for _, m := range p.Mapping { + m.HasInlineFrames = m.HasInlineFrames && inlineFrame + m.HasFunctions = m.HasFunctions && function + m.HasFilenames = m.HasFilenames && filename + m.HasLineNumbers = m.HasLineNumbers && linenumber + } + + // Aggregate functions + if !function || !filename { + for _, f := range p.Function { + if !function { + f.Name = "" + f.SystemName = "" + } + if !filename { + f.Filename = "" + } + } + } + + // Aggregate locations + if !inlineFrame || !address || !linenumber || !columnnumber { + for _, l := range p.Location { + if !inlineFrame && len(l.Line) > 1 { + l.Line = l.Line[len(l.Line)-1:] + } + if !linenumber { + for i := range l.Line { + l.Line[i].Line = 0 + l.Line[i].Column = 0 + } + } + if !columnnumber { + for i := range l.Line { + l.Line[i].Column = 0 + } + } + if !address { + l.Address = 0 + } + } + } + + return p.CheckValid() +} + +// NumLabelUnits returns a map of numeric label keys to the units +// associated with those keys and a map of those keys to any units +// that were encountered but not used. +// Unit for a given key is the first encountered unit for that key. If multiple +// units are encountered for values paired with a particular key, then the first +// unit encountered is used and all other units are returned in sorted order +// in map of ignored units. +// If no units are encountered for a particular key, the unit is then inferred +// based on the key. +func (p *Profile) NumLabelUnits() (map[string]string, map[string][]string) { + numLabelUnits := map[string]string{} + ignoredUnits := map[string]map[string]bool{} + encounteredKeys := map[string]bool{} + + // Determine units based on numeric tags for each sample. + for _, s := range p.Sample { + for k := range s.NumLabel { + encounteredKeys[k] = true + for _, unit := range s.NumUnit[k] { + if unit == "" { + continue + } + if wantUnit, ok := numLabelUnits[k]; !ok { + numLabelUnits[k] = unit + } else if wantUnit != unit { + if v, ok := ignoredUnits[k]; ok { + v[unit] = true + } else { + ignoredUnits[k] = map[string]bool{unit: true} + } + } + } + } + } + // Infer units for keys without any units associated with + // numeric tag values. + for key := range encounteredKeys { + unit := numLabelUnits[key] + if unit == "" { + switch key { + case "alignment", "request": + numLabelUnits[key] = "bytes" + default: + numLabelUnits[key] = key + } + } + } + + // Copy ignored units into more readable format + unitsIgnored := make(map[string][]string, len(ignoredUnits)) + for key, values := range ignoredUnits { + units := make([]string, len(values)) + i := 0 + for unit := range values { + units[i] = unit + i++ + } + sort.Strings(units) + unitsIgnored[key] = units + } + + return numLabelUnits, unitsIgnored +} + +// String dumps a text representation of a profile. Intended mainly +// for debugging purposes. +func (p *Profile) String() string { + ss := make([]string, 0, len(p.Comments)+len(p.Sample)+len(p.Mapping)+len(p.Location)) + for _, c := range p.Comments { + ss = append(ss, "Comment: "+c) + } + if url := p.DocURL; url != "" { + ss = append(ss, fmt.Sprintf("Doc: %s", url)) + } + if pt := p.PeriodType; pt != nil { + ss = append(ss, fmt.Sprintf("PeriodType: %s %s", pt.Type, pt.Unit)) + } + ss = append(ss, fmt.Sprintf("Period: %d", p.Period)) + if p.TimeNanos != 0 { + ss = append(ss, fmt.Sprintf("Time: %v", time.Unix(0, p.TimeNanos))) + } + if p.DurationNanos != 0 { + ss = append(ss, fmt.Sprintf("Duration: %.4v", time.Duration(p.DurationNanos))) + } + + ss = append(ss, "Samples:") + var sh1 string + for _, s := range p.SampleType { + dflt := "" + if s.Type == p.DefaultSampleType { + dflt = "[dflt]" + } + sh1 = sh1 + fmt.Sprintf("%s/%s%s ", s.Type, s.Unit, dflt) + } + ss = append(ss, strings.TrimSpace(sh1)) + for _, s := range p.Sample { + ss = append(ss, s.string()) + } + + ss = append(ss, "Locations") + for _, l := range p.Location { + ss = append(ss, l.string()) + } + + ss = append(ss, "Mappings") + for _, m := range p.Mapping { + ss = append(ss, m.string()) + } + + return strings.Join(ss, "\n") + "\n" +} + +// string dumps a text representation of a mapping. Intended mainly +// for debugging purposes. +func (m *Mapping) string() string { + bits := "" + if m.HasFunctions { + bits = bits + "[FN]" + } + if m.HasFilenames { + bits = bits + "[FL]" + } + if m.HasLineNumbers { + bits = bits + "[LN]" + } + if m.HasInlineFrames { + bits = bits + "[IN]" + } + return fmt.Sprintf("%d: %#x/%#x/%#x %s %s %s", + m.ID, + m.Start, m.Limit, m.Offset, + m.File, + m.BuildID, + bits) +} + +// string dumps a text representation of a location. Intended mainly +// for debugging purposes. +func (l *Location) string() string { + ss := []string{} + locStr := fmt.Sprintf("%6d: %#x ", l.ID, l.Address) + if m := l.Mapping; m != nil { + locStr = locStr + fmt.Sprintf("M=%d ", m.ID) + } + if l.IsFolded { + locStr = locStr + "[F] " + } + if len(l.Line) == 0 { + ss = append(ss, locStr) + } + for li := range l.Line { + lnStr := "??" + if fn := l.Line[li].Function; fn != nil { + lnStr = fmt.Sprintf("%s %s:%d:%d s=%d", + fn.Name, + fn.Filename, + l.Line[li].Line, + l.Line[li].Column, + fn.StartLine) + if fn.Name != fn.SystemName { + lnStr = lnStr + "(" + fn.SystemName + ")" + } + } + ss = append(ss, locStr+lnStr) + // Do not print location details past the first line + locStr = " " + } + return strings.Join(ss, "\n") +} + +// string dumps a text representation of a sample. Intended mainly +// for debugging purposes. +func (s *Sample) string() string { + ss := []string{} + var sv string + for _, v := range s.Value { + sv = fmt.Sprintf("%s %10d", sv, v) + } + sv = sv + ": " + for _, l := range s.Location { + sv = sv + fmt.Sprintf("%d ", l.ID) + } + ss = append(ss, sv) + const labelHeader = " " + if len(s.Label) > 0 { + ss = append(ss, labelHeader+labelsToString(s.Label)) + } + if len(s.NumLabel) > 0 { + ss = append(ss, labelHeader+numLabelsToString(s.NumLabel, s.NumUnit)) + } + return strings.Join(ss, "\n") +} + +// labelsToString returns a string representation of a +// map representing labels. +func labelsToString(labels map[string][]string) string { + ls := []string{} + for k, v := range labels { + ls = append(ls, fmt.Sprintf("%s:%v", k, v)) + } + sort.Strings(ls) + return strings.Join(ls, " ") +} + +// numLabelsToString returns a string representation of a map +// representing numeric labels. +func numLabelsToString(numLabels map[string][]int64, numUnits map[string][]string) string { + ls := []string{} + for k, v := range numLabels { + units := numUnits[k] + var labelString string + if len(units) == len(v) { + values := make([]string, len(v)) + for i, vv := range v { + values[i] = fmt.Sprintf("%d %s", vv, units[i]) + } + labelString = fmt.Sprintf("%s:%v", k, values) + } else { + labelString = fmt.Sprintf("%s:%v", k, v) + } + ls = append(ls, labelString) + } + sort.Strings(ls) + return strings.Join(ls, " ") +} + +// SetLabel sets the specified key to the specified value for all samples in the +// profile. +func (p *Profile) SetLabel(key string, value []string) { + for _, sample := range p.Sample { + if sample.Label == nil { + sample.Label = map[string][]string{key: value} + } else { + sample.Label[key] = value + } + } +} + +// RemoveLabel removes all labels associated with the specified key for all +// samples in the profile. +func (p *Profile) RemoveLabel(key string) { + for _, sample := range p.Sample { + delete(sample.Label, key) + } +} + +// HasLabel returns true if a sample has a label with indicated key and value. +func (s *Sample) HasLabel(key, value string) bool { + for _, v := range s.Label[key] { + if v == value { + return true + } + } + return false +} + +// SetNumLabel sets the specified key to the specified value for all samples in the +// profile. "unit" is a slice that describes the units that each corresponding member +// of "values" is measured in (e.g. bytes or seconds). If there is no relevant +// unit for a given value, that member of "unit" should be the empty string. +// "unit" must either have the same length as "value", or be nil. +func (p *Profile) SetNumLabel(key string, value []int64, unit []string) { + for _, sample := range p.Sample { + if sample.NumLabel == nil { + sample.NumLabel = map[string][]int64{key: value} + } else { + sample.NumLabel[key] = value + } + if sample.NumUnit == nil { + sample.NumUnit = map[string][]string{key: unit} + } else { + sample.NumUnit[key] = unit + } + } +} + +// RemoveNumLabel removes all numerical labels associated with the specified key for all +// samples in the profile. +func (p *Profile) RemoveNumLabel(key string) { + for _, sample := range p.Sample { + delete(sample.NumLabel, key) + delete(sample.NumUnit, key) + } +} + +// DiffBaseSample returns true if a sample belongs to the diff base and false +// otherwise. +func (s *Sample) DiffBaseSample() bool { + return s.HasLabel("pprof::base", "true") +} + +// Scale multiplies all sample values in a profile by a constant and keeps +// only samples that have at least one non-zero value. +func (p *Profile) Scale(ratio float64) { + if ratio == 1 { + return + } + ratios := make([]float64, len(p.SampleType)) + for i := range p.SampleType { + ratios[i] = ratio + } + p.ScaleN(ratios) +} + +// ScaleN multiplies each sample values in a sample by a different amount +// and keeps only samples that have at least one non-zero value. +func (p *Profile) ScaleN(ratios []float64) error { + if len(p.SampleType) != len(ratios) { + return fmt.Errorf("mismatched scale ratios, got %d, want %d", len(ratios), len(p.SampleType)) + } + allOnes := true + for _, r := range ratios { + if r != 1 { + allOnes = false + break + } + } + if allOnes { + return nil + } + fillIdx := 0 + for _, s := range p.Sample { + keepSample := false + for i, v := range s.Value { + if ratios[i] != 1 { + val := int64(math.Round(float64(v) * ratios[i])) + s.Value[i] = val + keepSample = keepSample || val != 0 + } + } + if keepSample { + p.Sample[fillIdx] = s + fillIdx++ + } + } + p.Sample = p.Sample[:fillIdx] + return nil +} + +// HasFunctions determines if all locations in this profile have +// symbolized function information. +func (p *Profile) HasFunctions() bool { + for _, l := range p.Location { + if l.Mapping != nil && !l.Mapping.HasFunctions { + return false + } + } + return true +} + +// HasFileLines determines if all locations in this profile have +// symbolized file and line number information. +func (p *Profile) HasFileLines() bool { + for _, l := range p.Location { + if l.Mapping != nil && (!l.Mapping.HasFilenames || !l.Mapping.HasLineNumbers) { + return false + } + } + return true +} + +// Unsymbolizable returns true if a mapping points to a binary for which +// locations can't be symbolized in principle, at least now. Examples are +// "[vdso]", "[vsyscall]" and some others, see the code. +func (m *Mapping) Unsymbolizable() bool { + name := filepath.Base(m.File) + return strings.HasPrefix(name, "[") || strings.HasPrefix(name, "linux-vdso") || strings.HasPrefix(m.File, "/dev/dri/") || m.File == "//anon" +} + +// Copy makes a fully independent copy of a profile. +func (p *Profile) Copy() *Profile { + pp := &Profile{} + if err := unmarshal(serialize(p), pp); err != nil { + panic(err) + } + if err := pp.postDecode(); err != nil { + panic(err) + } + + return pp +} diff --git a/vendor/github.com/google/pprof/profile/proto.go b/vendor/github.com/google/pprof/profile/proto.go new file mode 100644 index 000000000..a15696ba1 --- /dev/null +++ b/vendor/github.com/google/pprof/profile/proto.go @@ -0,0 +1,367 @@ +// Copyright 2014 Google Inc. All Rights Reserved. +// +// 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. + +// This file is a simple protocol buffer encoder and decoder. +// The format is described at +// https://developers.google.com/protocol-buffers/docs/encoding +// +// A protocol message must implement the message interface: +// decoder() []decoder +// encode(*buffer) +// +// The decode method returns a slice indexed by field number that gives the +// function to decode that field. +// The encode method encodes its receiver into the given buffer. +// +// The two methods are simple enough to be implemented by hand rather than +// by using a protocol compiler. +// +// See profile.go for examples of messages implementing this interface. +// +// There is no support for groups, message sets, or "has" bits. + +package profile + +import ( + "errors" + "fmt" +) + +type buffer struct { + field int // field tag + typ int // proto wire type code for field + u64 uint64 + data []byte + tmp [16]byte + tmpLines []Line // temporary storage used while decoding "repeated Line". +} + +type decoder func(*buffer, message) error + +type message interface { + decoder() []decoder + encode(*buffer) +} + +func marshal(m message) []byte { + var b buffer + m.encode(&b) + return b.data +} + +func encodeVarint(b *buffer, x uint64) { + for x >= 128 { + b.data = append(b.data, byte(x)|0x80) + x >>= 7 + } + b.data = append(b.data, byte(x)) +} + +func encodeLength(b *buffer, tag int, len int) { + encodeVarint(b, uint64(tag)<<3|2) + encodeVarint(b, uint64(len)) +} + +func encodeUint64(b *buffer, tag int, x uint64) { + // append varint to b.data + encodeVarint(b, uint64(tag)<<3) + encodeVarint(b, x) +} + +func encodeUint64s(b *buffer, tag int, x []uint64) { + if len(x) > 2 { + // Use packed encoding + n1 := len(b.data) + for _, u := range x { + encodeVarint(b, u) + } + n2 := len(b.data) + encodeLength(b, tag, n2-n1) + n3 := len(b.data) + copy(b.tmp[:], b.data[n2:n3]) + copy(b.data[n1+(n3-n2):], b.data[n1:n2]) + copy(b.data[n1:], b.tmp[:n3-n2]) + return + } + for _, u := range x { + encodeUint64(b, tag, u) + } +} + +func encodeUint64Opt(b *buffer, tag int, x uint64) { + if x == 0 { + return + } + encodeUint64(b, tag, x) +} + +func encodeInt64(b *buffer, tag int, x int64) { + u := uint64(x) + encodeUint64(b, tag, u) +} + +func encodeInt64s(b *buffer, tag int, x []int64) { + if len(x) > 2 { + // Use packed encoding + n1 := len(b.data) + for _, u := range x { + encodeVarint(b, uint64(u)) + } + n2 := len(b.data) + encodeLength(b, tag, n2-n1) + n3 := len(b.data) + copy(b.tmp[:], b.data[n2:n3]) + copy(b.data[n1+(n3-n2):], b.data[n1:n2]) + copy(b.data[n1:], b.tmp[:n3-n2]) + return + } + for _, u := range x { + encodeInt64(b, tag, u) + } +} + +func encodeInt64Opt(b *buffer, tag int, x int64) { + if x == 0 { + return + } + encodeInt64(b, tag, x) +} + +func encodeString(b *buffer, tag int, x string) { + encodeLength(b, tag, len(x)) + b.data = append(b.data, x...) +} + +func encodeStrings(b *buffer, tag int, x []string) { + for _, s := range x { + encodeString(b, tag, s) + } +} + +func encodeBool(b *buffer, tag int, x bool) { + if x { + encodeUint64(b, tag, 1) + } else { + encodeUint64(b, tag, 0) + } +} + +func encodeBoolOpt(b *buffer, tag int, x bool) { + if x { + encodeBool(b, tag, x) + } +} + +func encodeMessage(b *buffer, tag int, m message) { + n1 := len(b.data) + m.encode(b) + n2 := len(b.data) + encodeLength(b, tag, n2-n1) + n3 := len(b.data) + copy(b.tmp[:], b.data[n2:n3]) + copy(b.data[n1+(n3-n2):], b.data[n1:n2]) + copy(b.data[n1:], b.tmp[:n3-n2]) +} + +func unmarshal(data []byte, m message) (err error) { + b := buffer{data: data, typ: 2} + return decodeMessage(&b, m) +} + +func le64(p []byte) uint64 { + return uint64(p[0]) | uint64(p[1])<<8 | uint64(p[2])<<16 | uint64(p[3])<<24 | uint64(p[4])<<32 | uint64(p[5])<<40 | uint64(p[6])<<48 | uint64(p[7])<<56 +} + +func le32(p []byte) uint32 { + return uint32(p[0]) | uint32(p[1])<<8 | uint32(p[2])<<16 | uint32(p[3])<<24 +} + +func decodeVarint(data []byte) (uint64, []byte, error) { + var u uint64 + for i := 0; ; i++ { + if i >= 10 || i >= len(data) { + return 0, nil, errors.New("bad varint") + } + u |= uint64(data[i]&0x7F) << uint(7*i) + if data[i]&0x80 == 0 { + return u, data[i+1:], nil + } + } +} + +func decodeField(b *buffer, data []byte) ([]byte, error) { + x, data, err := decodeVarint(data) + if err != nil { + return nil, err + } + b.field = int(x >> 3) + b.typ = int(x & 7) + b.data = nil + b.u64 = 0 + switch b.typ { + case 0: + b.u64, data, err = decodeVarint(data) + if err != nil { + return nil, err + } + case 1: + if len(data) < 8 { + return nil, errors.New("not enough data") + } + b.u64 = le64(data[:8]) + data = data[8:] + case 2: + var n uint64 + n, data, err = decodeVarint(data) + if err != nil { + return nil, err + } + if n > uint64(len(data)) { + return nil, errors.New("too much data") + } + b.data = data[:n] + data = data[n:] + case 5: + if len(data) < 4 { + return nil, errors.New("not enough data") + } + b.u64 = uint64(le32(data[:4])) + data = data[4:] + default: + return nil, fmt.Errorf("unknown wire type: %d", b.typ) + } + + return data, nil +} + +func checkType(b *buffer, typ int) error { + if b.typ != typ { + return errors.New("type mismatch") + } + return nil +} + +func decodeMessage(b *buffer, m message) error { + if err := checkType(b, 2); err != nil { + return err + } + dec := m.decoder() + data := b.data + for len(data) > 0 { + // pull varint field# + type + var err error + data, err = decodeField(b, data) + if err != nil { + return err + } + if b.field >= len(dec) || dec[b.field] == nil { + continue + } + if err := dec[b.field](b, m); err != nil { + return err + } + } + return nil +} + +func decodeInt64(b *buffer, x *int64) error { + if err := checkType(b, 0); err != nil { + return err + } + *x = int64(b.u64) + return nil +} + +func decodeInt64s(b *buffer, x *[]int64) error { + if b.typ == 2 { + // Packed encoding + data := b.data + for len(data) > 0 { + var u uint64 + var err error + + if u, data, err = decodeVarint(data); err != nil { + return err + } + *x = append(*x, int64(u)) + } + return nil + } + var i int64 + if err := decodeInt64(b, &i); err != nil { + return err + } + *x = append(*x, i) + return nil +} + +func decodeUint64(b *buffer, x *uint64) error { + if err := checkType(b, 0); err != nil { + return err + } + *x = b.u64 + return nil +} + +func decodeUint64s(b *buffer, x *[]uint64) error { + if b.typ == 2 { + data := b.data + // Packed encoding + for len(data) > 0 { + var u uint64 + var err error + + if u, data, err = decodeVarint(data); err != nil { + return err + } + *x = append(*x, u) + } + return nil + } + var u uint64 + if err := decodeUint64(b, &u); err != nil { + return err + } + *x = append(*x, u) + return nil +} + +func decodeString(b *buffer, x *string) error { + if err := checkType(b, 2); err != nil { + return err + } + *x = string(b.data) + return nil +} + +func decodeStrings(b *buffer, x *[]string) error { + var s string + if err := decodeString(b, &s); err != nil { + return err + } + *x = append(*x, s) + return nil +} + +func decodeBool(b *buffer, x *bool) error { + if err := checkType(b, 0); err != nil { + return err + } + if int64(b.u64) == 0 { + *x = false + } else { + *x = true + } + return nil +} diff --git a/vendor/github.com/google/pprof/profile/prune.go b/vendor/github.com/google/pprof/profile/prune.go new file mode 100644 index 000000000..b2f9fd546 --- /dev/null +++ b/vendor/github.com/google/pprof/profile/prune.go @@ -0,0 +1,194 @@ +// Copyright 2014 Google Inc. All Rights Reserved. +// +// 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. + +// Implements methods to remove frames from profiles. + +package profile + +import ( + "fmt" + "regexp" + "strings" +) + +var ( + reservedNames = []string{"(anonymous namespace)", "operator()"} + bracketRx = func() *regexp.Regexp { + var quotedNames []string + for _, name := range append(reservedNames, "(") { + quotedNames = append(quotedNames, regexp.QuoteMeta(name)) + } + return regexp.MustCompile(strings.Join(quotedNames, "|")) + }() +) + +// simplifyFunc does some primitive simplification of function names. +func simplifyFunc(f string) string { + // Account for leading '.' on the PPC ELF v1 ABI. + funcName := strings.TrimPrefix(f, ".") + // Account for unsimplified names -- try to remove the argument list by trimming + // starting from the first '(', but skipping reserved names that have '('. + for _, ind := range bracketRx.FindAllStringSubmatchIndex(funcName, -1) { + foundReserved := false + for _, res := range reservedNames { + if funcName[ind[0]:ind[1]] == res { + foundReserved = true + break + } + } + if !foundReserved { + funcName = funcName[:ind[0]] + break + } + } + return funcName +} + +// Prune removes all nodes beneath a node matching dropRx, and not +// matching keepRx. If the root node of a Sample matches, the sample +// will have an empty stack. +func (p *Profile) Prune(dropRx, keepRx *regexp.Regexp) { + prune := make(map[uint64]bool) + pruneBeneath := make(map[uint64]bool) + + // simplifyFunc can be expensive, so cache results. + // Note that the same function name can be encountered many times due + // different lines and addresses in the same function. + pruneCache := map[string]bool{} // Map from function to whether or not to prune + pruneFromHere := func(s string) bool { + if r, ok := pruneCache[s]; ok { + return r + } + funcName := simplifyFunc(s) + if dropRx.MatchString(funcName) { + if keepRx == nil || !keepRx.MatchString(funcName) { + pruneCache[s] = true + return true + } + } + pruneCache[s] = false + return false + } + + for _, loc := range p.Location { + var i int + for i = len(loc.Line) - 1; i >= 0; i-- { + if fn := loc.Line[i].Function; fn != nil && fn.Name != "" { + if pruneFromHere(fn.Name) { + break + } + } + } + + if i >= 0 { + // Found matching entry to prune. + pruneBeneath[loc.ID] = true + + // Remove the matching location. + if i == len(loc.Line)-1 { + // Matched the top entry: prune the whole location. + prune[loc.ID] = true + } else { + loc.Line = loc.Line[i+1:] + } + } + } + + // Prune locs from each Sample + for _, sample := range p.Sample { + // Scan from the root to the leaves to find the prune location. + // Do not prune frames before the first user frame, to avoid + // pruning everything. + foundUser := false + for i := len(sample.Location) - 1; i >= 0; i-- { + id := sample.Location[i].ID + if !prune[id] && !pruneBeneath[id] { + foundUser = true + continue + } + if !foundUser { + continue + } + if prune[id] { + sample.Location = sample.Location[i+1:] + break + } + if pruneBeneath[id] { + sample.Location = sample.Location[i:] + break + } + } + } +} + +// RemoveUninteresting prunes and elides profiles using built-in +// tables of uninteresting function names. +func (p *Profile) RemoveUninteresting() error { + var keep, drop *regexp.Regexp + var err error + + if p.DropFrames != "" { + if drop, err = regexp.Compile("^(" + p.DropFrames + ")$"); err != nil { + return fmt.Errorf("failed to compile regexp %s: %v", p.DropFrames, err) + } + if p.KeepFrames != "" { + if keep, err = regexp.Compile("^(" + p.KeepFrames + ")$"); err != nil { + return fmt.Errorf("failed to compile regexp %s: %v", p.KeepFrames, err) + } + } + p.Prune(drop, keep) + } + return nil +} + +// PruneFrom removes all nodes beneath the lowest node matching dropRx, not including itself. +// +// Please see the example below to understand this method as well as +// the difference from Prune method. +// +// A sample contains Location of [A,B,C,B,D] where D is the top frame and there's no inline. +// +// PruneFrom(A) returns [A,B,C,B,D] because there's no node beneath A. +// Prune(A, nil) returns [B,C,B,D] by removing A itself. +// +// PruneFrom(B) returns [B,C,B,D] by removing all nodes beneath the first B when scanning from the bottom. +// Prune(B, nil) returns [D] because a matching node is found by scanning from the root. +func (p *Profile) PruneFrom(dropRx *regexp.Regexp) { + pruneBeneath := make(map[uint64]bool) + + for _, loc := range p.Location { + for i := 0; i < len(loc.Line); i++ { + if fn := loc.Line[i].Function; fn != nil && fn.Name != "" { + funcName := simplifyFunc(fn.Name) + if dropRx.MatchString(funcName) { + // Found matching entry to prune. + pruneBeneath[loc.ID] = true + loc.Line = loc.Line[i:] + break + } + } + } + } + + // Prune locs from each Sample + for _, sample := range p.Sample { + // Scan from the bottom leaf to the root to find the prune location. + for i, loc := range sample.Location { + if pruneBeneath[loc.ID] { + sample.Location = sample.Location[i:] + break + } + } + } +} diff --git a/vendor/github.com/inconshreveable/mousetrap/LICENSE b/vendor/github.com/inconshreveable/mousetrap/LICENSE new file mode 100644 index 000000000..5f920e973 --- /dev/null +++ b/vendor/github.com/inconshreveable/mousetrap/LICENSE @@ -0,0 +1,201 @@ + 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 2022 Alan Shreve (@inconshreveable) + + 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/inconshreveable/mousetrap/README.md b/vendor/github.com/inconshreveable/mousetrap/README.md new file mode 100644 index 000000000..7a950d177 --- /dev/null +++ b/vendor/github.com/inconshreveable/mousetrap/README.md @@ -0,0 +1,23 @@ +# mousetrap + +mousetrap is a tiny library that answers a single question. + +On a Windows machine, was the process invoked by someone double clicking on +the executable file while browsing in explorer? + +### Motivation + +Windows developers unfamiliar with command line tools will often "double-click" +the executable for a tool. Because most CLI tools print the help and then exit +when invoked without arguments, this is often very frustrating for those users. + +mousetrap provides a way to detect these invocations so that you can provide +more helpful behavior and instructions on how to run the CLI tool. To see what +this looks like, both from an organizational and a technical perspective, see +https://inconshreveable.com/09-09-2014/sweat-the-small-stuff/ + +### The interface + +The library exposes a single interface: + + func StartedByExplorer() (bool) diff --git a/vendor/github.com/inconshreveable/mousetrap/trap_others.go b/vendor/github.com/inconshreveable/mousetrap/trap_others.go new file mode 100644 index 000000000..06a91f086 --- /dev/null +++ b/vendor/github.com/inconshreveable/mousetrap/trap_others.go @@ -0,0 +1,16 @@ +//go:build !windows +// +build !windows + +package mousetrap + +// StartedByExplorer returns true if the program was invoked by the user +// double-clicking on the executable from explorer.exe +// +// It is conservative and returns false if any of the internal calls fail. +// It does not guarantee that the program was run from a terminal. It only can tell you +// whether it was launched from explorer.exe +// +// On non-Windows platforms, it always returns false. +func StartedByExplorer() bool { + return false +} diff --git a/vendor/github.com/inconshreveable/mousetrap/trap_windows.go b/vendor/github.com/inconshreveable/mousetrap/trap_windows.go new file mode 100644 index 000000000..0c5688021 --- /dev/null +++ b/vendor/github.com/inconshreveable/mousetrap/trap_windows.go @@ -0,0 +1,42 @@ +package mousetrap + +import ( + "syscall" + "unsafe" +) + +func getProcessEntry(pid int) (*syscall.ProcessEntry32, error) { + snapshot, err := syscall.CreateToolhelp32Snapshot(syscall.TH32CS_SNAPPROCESS, 0) + if err != nil { + return nil, err + } + defer syscall.CloseHandle(snapshot) + var procEntry syscall.ProcessEntry32 + procEntry.Size = uint32(unsafe.Sizeof(procEntry)) + if err = syscall.Process32First(snapshot, &procEntry); err != nil { + return nil, err + } + for { + if procEntry.ProcessID == uint32(pid) { + return &procEntry, nil + } + err = syscall.Process32Next(snapshot, &procEntry) + if err != nil { + return nil, err + } + } +} + +// StartedByExplorer returns true if the program was invoked by the user double-clicking +// on the executable from explorer.exe +// +// It is conservative and returns false if any of the internal calls fail. +// It does not guarantee that the program was run from a terminal. It only can tell you +// whether it was launched from explorer.exe +func StartedByExplorer() bool { + pe, err := getProcessEntry(syscall.Getppid()) + if err != nil { + return false + } + return "explorer.exe" == syscall.UTF16ToString(pe.ExeFile[:]) +} diff --git a/vendor/github.com/onsi/ginkgo/v2/.gitignore b/vendor/github.com/onsi/ginkgo/v2/.gitignore new file mode 100644 index 000000000..18793c248 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/.gitignore @@ -0,0 +1,7 @@ +.DS_Store +TODO +tmp/**/* +*.coverprofile +.vscode +.idea/ +*.log \ No newline at end of file diff --git a/vendor/github.com/onsi/ginkgo/v2/CHANGELOG.md b/vendor/github.com/onsi/ginkgo/v2/CHANGELOG.md new file mode 100644 index 000000000..3011efb57 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/CHANGELOG.md @@ -0,0 +1,1075 @@ +## 2.21.0 + + + ### Features + - add support for GINKGO_TIME_FORMAT [a69eb39] + - add GINKGO_NO_COLOR to disable colors via environment variables [bcab9c8] + + ### Fixes + - increase threshold in timeline matcher [e548367] + - Fix the document by replacing `SpecsThatWillBeRun` with `SpecsThatWillRun` + [c2c4d3c] + + ### Maintenance + - bump various dependencies [7e65a00] + +## 2.20.2 + +Require Go 1.22+ + +### Maintenance +- bump go to v1.22 [a671816] + +## 2.20.1 + +### Fixes +- make BeSpecEvent duration matcher more forgiving [d6f9640] + +## 2.20.0 + +### Features +- Add buildvcs flag [be5ab95] + +### Maintenance +- Add update-deps to makefile [d303d14] +- bump all dependencies [7a50221] + +## 2.19.1 + +### Fixes +- update supported platforms for race conditions [63c8c30] +- [build] Allow custom name for binaries. [ff41e27] + +### Maintenance +- bump gomega [76f4e0c] +- Bump rexml from 3.2.6 to 3.2.8 in /docs (#1417) [b69c00d] +- Bump golang.org/x/sys from 0.20.0 to 0.21.0 (#1425) [f097741] + +## 2.19.0 + +### Features + +[Label Sets](https://onsi.github.io/ginkgo/#label-sets) allow for more expressive and flexible label filtering. + +## 2.18.0 + +### Features +- Add --slience-skips and --force-newlines [f010b65] +- fail when no tests were run and --fail-on-empty was set [d80eebe] + +### Fixes +- Fix table entry context edge case [42013d6] + +### Maintenance +- Bump golang.org/x/tools from 0.20.0 to 0.21.0 (#1406) [fcf1fd7] +- Bump github.com/onsi/gomega from 1.33.0 to 1.33.1 (#1399) [8bb14fd] +- Bump golang.org/x/net from 0.24.0 to 0.25.0 (#1407) [04bfad7] + +## 2.17.3 + +### Fixes +`ginkgo watch` now ignores hidden files [bde6e00] + +## 2.17.2 + +### Fixes +- fix: close files [32259c8] +- fix github output log level for skipped specs [780e7a3] + +### Maintenance +- Bump github.com/google/pprof [d91fe4e] +- Bump github.com/go-task/slim-sprig to v3 [8cb662e] +- Bump golang.org/x/net in /integration/_fixtures/version_mismatch_fixture (#1391) [3134422] +- Bump github-pages from 230 to 231 in /docs (#1384) [eca81b4] +- Bump golang.org/x/tools from 0.19.0 to 0.20.0 (#1383) [760def8] +- Bump golang.org/x/net from 0.23.0 to 0.24.0 (#1381) [4ce33f4] +- Fix test for gomega version bump [f2fcd97] +- Bump github.com/onsi/gomega from 1.30.0 to 1.33.0 (#1390) [fd622d2] +- Bump golang.org/x/tools from 0.17.0 to 0.19.0 (#1368) [5474a26] +- Bump github-pages from 229 to 230 in /docs (#1359) [e6d1170] +- Bump google.golang.org/protobuf from 1.28.0 to 1.33.0 (#1374) [7f447b2] +- Bump golang.org/x/net from 0.20.0 to 0.23.0 (#1380) [f15239a] + +## 2.17.1 + +### Fixes +- If the user sets --seed=0, make sure all parallel nodes get the same seed [af0330d] + +## 2.17.0 + +### Features + +- add `--github-output` for nicer output in github actions [e8a2056] + +### Maintenance + +- fix typo in core_dsl.go [977bc6f] +- Fix typo in docs [e297e7b] + +## 2.16.0 + +### Features +- add SpecContext to reporting nodes + +### Fixes +- merge coverages instead of combining them (#1329) (#1340) [23f0cc5] +- core_dsl: disable Getwd() with environment variable (#1357) [cd418b7] + +### Maintenance +- docs/index.md: Typo [2cebe8d] +- fix docs [06de431] +- chore: test with Go 1.22 (#1352) [898cba9] +- Bump golang.org/x/tools from 0.16.1 to 0.17.0 (#1336) [17ae120] +- Bump golang.org/x/sys from 0.15.0 to 0.16.0 (#1327) [5a179ed] +- Bump github.com/go-logr/logr from 1.3.0 to 1.4.1 (#1321) [a1e6b69] +- Bump github-pages and jekyll-feed in /docs (#1351) [d52951d] +- Fix docs for handling failures in goroutines (#1339) [4471b2e] + +## 2.15.0 + +### Features + +- JUnit reports now interpret Label(owner:X) and set owner to X. [8f3bd70] +- include cancellation reason when cancelling spec context [96e915c] + +### Fixes + +- emit output of failed go tool cover invocation so users can try to debug things for themselves [c245d09] +- fix outline when using nodot in ginkgo v2 [dca77c8] +- Document areas where GinkgoT() behaves differently from testing.T [dbaf18f] +- bugfix(docs): use Unsetenv instead of Clearenv (#1337) [6f67a14] + +### Maintenance + +- Bump to go 1.20 [4fcd0b3] + +## 2.14.0 + +### Features +You can now use `GinkgoTB()` when you need an instance of `testing.TB` to pass to a library. + +Prior to this release table testing only supported generating individual `It`s for each test entry. `DescribeTableSubtree` extends table testing support to entire testing subtrees - under the hood `DescrieTableSubtree` generates a new container for each entry and invokes your function to fill our the container. See the [docs](https://onsi.github.io/ginkgo/#generating-subtree-tables) to learn more. + +- Introduce DescribeTableSubtree [65ec56d] +- add GinkgoTB() to docs [4a2c832] +- Add GinkgoTB() function (#1333) [92b6744] + +### Fixes +- Fix typo in internal/suite.go (#1332) [beb9507] +- Fix typo in docs/index.md (#1319) [4ac3a13] +- allow wasm to compile with ginkgo present (#1311) [b2e5bc5] + +### Maintenance +- Bump golang.org/x/tools from 0.16.0 to 0.16.1 (#1316) [465a8ec] +- Bump actions/setup-go from 4 to 5 (#1313) [eab0e40] +- Bump github/codeql-action from 2 to 3 (#1317) [fbf9724] +- Bump golang.org/x/crypto (#1318) [3ee80ee] +- Bump golang.org/x/tools from 0.14.0 to 0.16.0 (#1306) [123e1d5] +- Bump github.com/onsi/gomega from 1.29.0 to 1.30.0 (#1297) [558f6e0] +- Bump golang.org/x/net from 0.17.0 to 0.19.0 (#1307) [84ff7f3] + +## 2.13.2 + +### Fixes +- Fix file handler leak (#1309) [e2e81c8] +- Avoid allocations with `(*regexp.Regexp).MatchString` (#1302) [3b2a2a7] + +## 2.13.1 + +### Fixes +- # 1296 fix(precompiled test guite): exec bit check omitted on Windows (#1301) [26eea01] + +### Maintenance +- Bump github.com/go-logr/logr from 1.2.4 to 1.3.0 (#1291) [7161a9d] +- Bump golang.org/x/sys from 0.13.0 to 0.14.0 (#1295) [7fc7b10] +- Bump golang.org/x/tools from 0.12.0 to 0.14.0 (#1282) [74bbd65] +- Bump github.com/onsi/gomega from 1.27.10 to 1.29.0 (#1290) [9373633] +- Bump golang.org/x/net in /integration/_fixtures/version_mismatch_fixture (#1286) [6e3cf65] + +## 2.13.0 + +### Features + +Add PreviewSpect() to enable programmatic preview access to the suite report (fixes #1225) + +## 2.12.1 + +### Fixes +- Print logr prefix if it exists (#1275) [90d4846] + +### Maintenance +- Bump actions/checkout from 3 to 4 (#1271) [555f543] +- Bump golang.org/x/sys from 0.11.0 to 0.12.0 (#1270) [d867b7d] + +## 2.12.0 + +### Features + +- feat: allow MustPassRepeatedly decorator to be set at suite level (#1266) [05de518] + +### Fixes + +- fix-errors-in-readme (#1244) [27c2f5d] + +### Maintenance + +Various chores/dependency bumps. + +## 2.11.0 + +In prior versions of Ginkgo specs the CLI filter flags (e.g. `--focus`, `--label-filter`) would _override_ any programmatic focus. This behavior has proved surprising and confusing in at least the following ways: + +- users cannot combine programmatic filters and CLI filters to more efficiently select subsets of tests +- CLI filters can override programmatic focus on CI systems resulting in an exit code of 0 despite the presence of (incorrectly!) committed focused specs. + +Going forward Ginkgo will AND all programmatic and CLI filters. Moreover, the presence of any programmatic focused tests will always result in a non-zero exit code. + +This change is technically a change in Ginkgo's external contract and may require some users to make changes to successfully adopt. Specifically: it's possible some users were intentionally using CLI filters to override programmatic focus. If this is you please open an issue so we can explore solutions to the underlying problem you are trying to solve. + +### Fixes +- Programmatic focus is no longer overwrriten by CLI filters [d6bba86] + +### Maintenance +- Bump github.com/onsi/gomega from 1.27.7 to 1.27.8 (#1218) [4a70a38] +- Bump golang.org/x/sys from 0.8.0 to 0.9.0 (#1219) [97eda4d] + +## 2.10.0 + +### Features +- feat(ginkgo/generators): add --tags flag (#1216) [a782a77] + adds a new --tags flag to ginkgo generate + +### Fixes +- Fix broken link of MIGRATING_TO_V2.md (#1217) [548d78e] + +### Maintenance +- Bump golang.org/x/tools from 0.9.1 to 0.9.3 (#1215) [2b76a5e] + +## 2.9.7 + +### Fixes +- fix race when multiple defercleanups are called in goroutines [07fc3a0] + +## 2.9.6 + +### Fixes +- fix: create parent directory before report files (#1212) [0ac65de] + +### Maintenance +- Bump github.com/onsi/gomega from 1.27.6 to 1.27.7 (#1202) [3e39231] + +## 2.9.5 + +### Fixes +- ensure the correct deterministic sort order is produced when ordered specs are generated by a helper function [7fa0b6b] + +### Maintenance +- fix generators link (#1200) [9f9d8b9] +- Bump golang.org/x/tools from 0.8.0 to 0.9.1 (#1196) [150e3f2] +- fix spelling err in docs (#1199) [0013b1a] +- Bump golang.org/x/sys from 0.7.0 to 0.8.0 (#1193) [9e9e3e5] + +## 2.9.4 + +### Fixes +- fix hang with ginkgo -p (#1192) [15d4bdc] - this addresses a _long_ standing issue related to Ginkgo hanging when a child process spawned by the test does not exit. + +- fix: fail fast may cause Serial spec or cleanup Node interrupted (#1178) [8dea88b] - prior to this there was a small gap in which specs on other processes might start even if one process has tried to abort the suite. + + +### Maintenance +- Document run order when multiple setup nodes are at the same nesting level [903be81] + +## 2.9.3 + +### Features +- Add RenderTimeline to GinkgoT() [c0c77b6] + +### Fixes +- update Measure deprecation message. fixes #1176 [227c662] +- add newlines to GinkgoLogr (#1170) (#1171) [0de0e7c] + +### Maintenance +- Bump commonmarker from 0.23.8 to 0.23.9 in /docs (#1183) [8b925ab] +- Bump nokogiri from 1.14.1 to 1.14.3 in /docs (#1184) [e3795a4] +- Bump golang.org/x/tools from 0.7.0 to 0.8.0 (#1182) [b453793] +- Bump actions/setup-go from 3 to 4 (#1164) [73ed75b] +- Bump github.com/onsi/gomega from 1.27.4 to 1.27.6 (#1173) [0a2bc64] +- Bump github.com/go-logr/logr from 1.2.3 to 1.2.4 (#1174) [f41c557] +- Bump golang.org/x/sys from 0.6.0 to 0.7.0 (#1179) [8e423e5] + +## 2.9.2 + +### Maintenance +- Bump github.com/go-task/slim-sprig (#1167) [3fcc5bf] +- Bump github.com/onsi/gomega from 1.27.3 to 1.27.4 (#1163) [6143ffe] + +## 2.9.1 + +### Fixes +This release fixes a longstanding issue where `ginkgo -coverpkg=./...` would not work. This is now resolved and fixes [#1161](https://github.com/onsi/ginkgo/issues/1161) and [#995](https://github.com/onsi/ginkgo/issues/995) +- Support -coverpkg=./... [26ca1b5] +- document coverpkg a bit more clearly [fc44c3b] + +### Maintenance +- bump various dependencies +- Improve Documentation and fix typo (#1158) [93de676] + +## 2.9.0 + +### Features +- AttachProgressReporter is an experimental feature that allows users to provide arbitrary information when a ProgressReport is requested [28801fe] + +- GinkgoT() has been expanded to include several Ginkgo-specific methods [2bd5a3b] + + The intent is to enable the development of third-party libraries that integrate deeply with Ginkgo using `GinkgoT()` to access Ginkgo's functionality. + +## 2.8.4 + +### Features +- Add OmitSuiteSetupNodes to JunitReportConfig (#1147) [979fbc2] +- Add a reference to ginkgolinter in docs.index.md (#1143) [8432589] + +### Fixes +- rename tools hack to see if it fixes things for downstream users [a8bb39a] + +### Maintenance +- Bump golang.org/x/text (#1144) [41b2a8a] +- Bump github.com/onsi/gomega from 1.27.0 to 1.27.1 (#1142) [7c4f583] + +## 2.8.3 + +Released to fix security issue in golang.org/x/net dependency + +### Maintenance + +- Bump golang.org/x/net from 0.6.0 to 0.7.0 (#1141) [fc1a02e] +- remove tools.go hack from documentation [0718693] + +## 2.8.2 + +Ginkgo now includes a `tools.go` file in the root directory of the `ginkgo` package. This should allow modules that simply `go get github.com/onsi/ginkgo/v2` to also pull in the CLI dependencies. This obviates the need for consumers of Ginkgo to have their own `tools.go` file and makes it simpler to ensure that the version of the `ginkgo` CLI being used matches the version of the library. You can simply run `go run github.com/onsi/ginkgo/v2/ginkgo` to run the version of the cli associated with your package go.mod. + +### Maintenance + +- Bump github.com/onsi/gomega from 1.26.0 to 1.27.0 (#1139) [5767b0a] +- Fix minor typos (#1138) [e1e9723] +- Fix link in V2 Migration Guide (#1137) [a588f60] + +## 2.8.1 + +### Fixes +- lock around default report output to avoid triggering the race detector when calling By from goroutines [2d5075a] +- don't run ReportEntries through sprintf [febbe38] + +### Maintenance +- Bump golang.org/x/tools from 0.5.0 to 0.6.0 (#1135) [11a4860] +- test: update matrix for Go 1.20 (#1130) [4890a62] +- Bump golang.org/x/sys from 0.4.0 to 0.5.0 (#1133) [a774638] +- Bump github.com/onsi/gomega from 1.25.0 to 1.26.0 (#1120) [3f233bd] +- Bump github-pages from 227 to 228 in /docs (#1131) [f9b8649] +- Bump activesupport from 6.0.6 to 6.0.6.1 in /docs (#1127) [6f8c042] +- Update index.md with instructions on how to upgrade Ginkgo [833a75e] + +## 2.8.0 + +### Features + +- Introduce GinkgoHelper() to track and exclude helper functions from potential CodeLocations [e19f556] + +Modeled after `testing.T.Helper()`. Now, rather than write code like: + +```go +func helper(model Model) { + Expect(model).WithOffset(1).To(BeValid()) + Expect(model.SerialNumber).WithOffset(1).To(MatchRegexp(/[a-f0-9]*/)) +} +``` + +you can stop tracking offsets (which makes nesting composing helpers nearly impossible) and simply write: + +```go +func helper(model Model) { + GinkgoHelper() + Expect(model).To(BeValid()) + Expect(model.SerialNumber).To(MatchRegexp(/[a-f0-9]*/)) +} +``` + +- Introduce GinkgoLabelFilter() and Label().MatchesLabelFilter() to make it possible to programmatically match filters (fixes #1119) [2f6597c] + +You can now write code like this: + +```go +BeforeSuite(func() { + if Label("slow").MatchesLabelFilter(GinkgoLabelFilter()) { + // do slow setup + } + + if Label("fast").MatchesLabelFilter(GinkgoLabelFilter()) { + // do fast setup + } +}) +``` + +to programmatically check whether a given set of labels will match the configured `--label-filter`. + +### Maintenance + +- Bump webrick from 1.7.0 to 1.8.1 in /docs (#1125) [ea4966e] +- cdeql: add ruby language (#1124) [9dd275b] +- dependabot: add bundler package-ecosystem for docs (#1123) [14e7bdd] + +## 2.7.1 + +### Fixes +- Bring back SuiteConfig.EmitSpecProgress to avoid compilation issue for consumers that set it manually [d2a1cb0] + +### Maintenance +- Bump github.com/onsi/gomega from 1.24.2 to 1.25.0 (#1118) [cafece6] +- Bump golang.org/x/tools from 0.4.0 to 0.5.0 (#1111) [eda66c2] +- Bump golang.org/x/sys from 0.3.0 to 0.4.0 (#1112) [ac5ccaa] +- Bump github.com/onsi/gomega from 1.24.1 to 1.24.2 (#1097) [eee6480] + +## 2.7.0 + +### Features +- Introduce ContinueOnFailure for Ordered containers [e0123ca] - Ordered containers that are also decorated with ContinueOnFailure will not stop running specs after the first spec fails. +- Support for bootstrap commands to use custom data for templates (#1110) [7a2b242] +- Support for labels and pending decorator in ginkgo outline output (#1113) [e6e3b98] +- Color aliases for custom color support (#1101) [49fab7a] + +### Fixes +- correctly ensure deterministic spec order, even if specs are generated by iterating over a map [89dda20] +- Fix a bug where timedout specs were not correctly treated as failures when determining whether or not to run AfterAlls in an Ordered container. +- Ensure go test coverprofile outputs to the expected location (#1105) [b0bd77b] + +## 2.6.1 + +### Features +- Override formatter colors from envvars - this is a new feature but an alternative approach involving config files might be taken in the future (#1095) [60240d1] + +### Fixes +- GinkgoRecover now supports ignoring panics that match a specific, hidden, interface [301f3e2] + +### Maintenance +- Bump github.com/onsi/gomega from 1.24.0 to 1.24.1 (#1077) [3643823] +- Bump golang.org/x/tools from 0.2.0 to 0.4.0 (#1090) [f9f856e] +- Bump nokogiri from 1.13.9 to 1.13.10 in /docs (#1091) [0d7087e] + +## 2.6.0 + +### Features +- `ReportBeforeSuite` provides access to the suite report before the suite begins. +- Add junit config option for omitting leafnodetype (#1088) [956e6d2] +- Add support to customize junit report config to omit spec labels (#1087) [de44005] + +### Fixes +- Fix stack trace pruning so that it has a chance of working on windows [2165648] + +## 2.5.1 + +### Fixes +- skipped tests only show as 'S' when running with -v [3ab38ae] +- Fix typo in docs/index.md (#1082) [55fc58d] +- Fix typo in docs/index.md (#1081) [8a14f1f] +- Fix link notation in docs/index.md (#1080) [2669612] +- Fix typo in `--progress` deprecation message (#1076) [b4b7edc] + +### Maintenance +- chore: Included githubactions in the dependabot config (#976) [baea341] +- Bump golang.org/x/sys from 0.1.0 to 0.2.0 (#1075) [9646297] + +## 2.5.0 + +### Ginkgo output now includes a timeline-view of the spec + +This commit changes Ginkgo's default output. Spec details are now +presented as a **timeline** that includes events that occur during the spec +lifecycle interleaved with any GinkgoWriter content. This makes is much easier +to understand the flow of a spec and where a given failure occurs. + +The --progress, --slow-spec-threshold, --always-emit-ginkgo-writer flags +and the SuppressProgressReporting decorator have all been deprecated. Instead +the existing -v and -vv flags better capture the level of verbosity to display. However, +a new --show-node-events flag is added to include node `> Enter` and `< Exit` events +in the spec timeline. + +In addition, JUnit reports now include the timeline (rendered with -vv) and custom JUnit +reports can be configured and generated using +`GenerateJUnitReportWithConfig(report types.Report, dst string, config JunitReportConfig)` + +Code should continue to work unchanged with this version of Ginkgo - however if you have tooling that +was relying on the specific output format of Ginkgo you _may_ run into issues. Ginkgo's console output is not guaranteed to be stable for tooling and automation purposes. You should, instead, use Ginkgo's JSON format +to build tooling on top of as it has stronger guarantees to be stable from version to version. + +### Features +- Provide details about which timeout expired [0f2fa27] + +### Fixes +- Add Support Policy to docs [c70867a] + +### Maintenance +- Bump github.com/onsi/gomega from 1.22.1 to 1.23.0 (#1070) [bb3b4e2] + +## 2.4.0 + +### Features + +- DeferCleanup supports functions with multiple-return values [5e33c75] +- Add GinkgoLogr (#1067) [bf78c28] +- Introduction of 'MustPassRepeatedly' decorator (#1051) [047c02f] + +### Fixes +- correcting some typos (#1064) [1403d3c] +- fix flaky internal_integration interrupt specs [2105ba3] +- Correct busted link in README [be6b5b9] + +### Maintenance +- Bump actions/checkout from 2 to 3 (#1062) [8a2f483] +- Bump golang.org/x/tools from 0.1.12 to 0.2.0 (#1065) [529c4e8] +- Bump github/codeql-action from 1 to 2 (#1061) [da09146] +- Bump actions/setup-go from 2 to 3 (#1060) [918040d] +- Bump github.com/onsi/gomega from 1.22.0 to 1.22.1 (#1053) [2098e4d] +- Bump nokogiri from 1.13.8 to 1.13.9 in /docs (#1066) [1d74122] +- Add GHA to dependabot config [4442772] + +## 2.3.1 + +## Fixes +Several users were invoking `ginkgo` by installing the latest version of the cli via `go install github.com/onsi/ginkgo/v2/ginkgo@latest`. When 2.3.0 was released this resulted in an influx of issues as CI systems failed due to a change in the internal contract between the Ginkgo CLI and the Ginkgo library. Ginkgo only supports running the same version of the library as the cli (which is why both are packaged in the same repository). + +With this patch release, the ginkgo CLI can now identify a version mismatch and emit a helpful error message. + +- Ginkgo cli can identify version mismatches and emit a helpful error message [bc4ae2f] +- further emphasize that a version match is required when running Ginkgo on CI and/or locally [2691dd8] + +### Maintenance +- bump gomega to v1.22.0 [822a937] + +## 2.3.0 + +### Interruptible Nodes and Timeouts + +Ginkgo now supports per-node and per-spec timeouts on interruptible nodes. Check out the [documentation for all the details](https://onsi.github.io/ginkgo/#spec-timeouts-and-interruptible-nodes) but the gist is you can now write specs like this: + +```go +It("is interruptible", func(ctx SpecContext) { // or context.Context instead of SpecContext, both are valid. + // do things until `ctx.Done()` is closed, for example: + req, err := http.NewRequestWithContext(ctx, "POST", "/build-widgets", nil) + Expect(err).NotTo(HaveOccured()) + _, err := http.DefaultClient.Do(req) + Expect(err).NotTo(HaveOccured()) + + Eventually(client.WidgetCount).WithContext(ctx).Should(Equal(17)) +}, NodeTimeout(time.Second*20), GracePeriod(5*time.Second)) +``` + +and have Ginkgo ensure that the node completes before the timeout elapses. If it does elapse, or if an external interrupt is received (e.g. `^C`) then Ginkgo will cancel the context and wait for the Grace Period for the node to exit before proceeding with any cleanup nodes associated with the spec. The `ctx` provided by Ginkgo can also be passed down to Gomega's `Eventually` to have all assertions within the node governed by a single deadline. + +### Features + +- Ginkgo now records any additional failures that occur during the cleanup of a failed spec. In prior versions this information was quietly discarded, but the introduction of a more rigorous approach to timeouts and interruptions allows Ginkgo to better track subsequent failures. +- `SpecContext` also provides a mechanism for third-party libraries to provide additional information when a Progress Report is generated. Gomega uses this to provide the current state of an `Eventually().WithContext()` assertion when a Progress Report is requested. +- DescribeTable now exits with an error if it is not passed any Entries [a4c9865] + +## Fixes +- fixes crashes on newer Ruby 3 installations by upgrading github-pages gem dependency [92c88d5] +- Make the outline command able to use the DSL import [1be2427] + +## Maintenance +- chore(docs): delete no meaning d [57c373c] +- chore(docs): Fix hyperlinks [30526d5] +- chore(docs): fix code blocks without language settings [cf611c4] +- fix intra-doc link [b541bcb] + +## 2.2.0 + +### Generate real-time Progress Reports [f91377c] + +Ginkgo can now generate Progress Reports to point users at the current running line of code (including a preview of the actual source code) and a best guess at the most relevant subroutines. + +These Progress Reports allow users to debug stuck or slow tests without exiting the Ginkgo process. A Progress Report can be generated at any time by sending Ginkgo a `SIGINFO` (`^T` on MacOS/BSD) or `SIGUSR1`. + +In addition, the user can specify `--poll-progress-after` and `--poll-progress-interval` to have Ginkgo start periodically emitting progress reports if a given node takes too long. These can be overriden/set on a per-node basis with the `PollProgressAfter` and `PollProgressInterval` decorators. + +Progress Reports are emitted to stdout, and also stored in the machine-redable report formats that Ginkgo supports. + +Ginkgo also uses this progress reporting infrastructure under the hood when handling timeouts and interrupts. This yields much more focused, useful, and informative stack traces than previously. + +### Features +- `BeforeSuite`, `AfterSuite`, `SynchronizedBeforeSuite`, `SynchronizedAfterSuite`, and `ReportAfterSuite` now support (the relevant subset of) decorators. These can be passed in _after_ the callback functions that are usually passed into these nodes. + + As a result the **signature of these methods has changed** and now includes a trailing `args ...interface{}`. For most users simply using the DSL, this change is transparent. However if you were assigning one of these functions to a custom variable (or passing it around) then your code may need to change to reflect the new signature. + +### Maintenance +- Modernize the invocation of Ginkgo in github actions [0ffde58] +- Update reocmmended CI settings in docs [896bbb9] +- Speed up unnecessarily slow integration test [6d3a90e] + +## 2.1.6 + +### Fixes +- Add `SuppressProgressReporting` decorator to turn off --progress announcements for a given node [dfef62a] +- chore: remove duplicate word in comments [7373214] + +## 2.1.5 + +### Fixes +- drop -mod=mod instructions; fixes #1026 [6ad7138] +- Ensure `CurrentSpecReport` and `AddReportEntry` are thread-safe [817c09b] +- remove stale importmap gcflags flag test [3cd8b93] +- Always emit spec summary [5cf23e2] - even when only one spec has failed +- Fix ReportAfterSuite usage in docs [b1864ad] +- fixed typo (#997) [219cc00] +- TrimRight is not designed to trim Suffix [71ebb74] +- refactor: replace strings.Replace with strings.ReplaceAll (#978) [143d208] +- fix syntax in examples (#975) [b69554f] + +### Maintenance +- Bump github.com/onsi/gomega from 1.20.0 to 1.20.1 (#1027) [e5dfce4] +- Bump tzinfo from 1.2.9 to 1.2.10 in /docs (#1006) [7ae91c4] +- Bump github.com/onsi/gomega from 1.19.0 to 1.20.0 (#1005) [e87a85a] +- test: add new Go 1.19 to test matrix (#1014) [bbefe12] +- Bump golang.org/x/tools from 0.1.11 to 0.1.12 (#1012) [9327906] +- Bump golang.org/x/tools from 0.1.10 to 0.1.11 (#993) [f44af96] +- Bump nokogiri from 1.13.3 to 1.13.6 in /docs (#981) [ef336aa] + +## 2.1.4 + +### Fixes +- Numerous documentation typos +- Prepend `when` when using `When` (this behavior was in 1.x but unintentionally lost during the 2.0 rewrite) [efce903] +- improve error message when a parallel process fails to report back [a7bd1fe] +- guard against concurrent map writes in DeprecationTracker [0976569] +- Invoke reporting nodes during dry-run (fixes #956 and #935) [aae4480] +- Fix ginkgo import circle [f779385] + +## 2.1.3 + +See [https://onsi.github.io/ginkgo/MIGRATING_TO_V2](https://onsi.github.io/ginkgo/MIGRATING_TO_V2) for details on V2. + +### Fixes +- Calling By in a container node now emits a useful error. [ff12cee] + +## 2.1.2 + +### Fixes + +- Track location of focused specs correctly in `ginkgo unfocus` [a612ff1] +- Profiling suites with focused specs no longer generates an erroneous failure message [8fbfa02] +- Several documentation typos fixed. Big thanks to everyone who helped catch them and report/fix them! + +## 2.1.1 + +See [https://onsi.github.io/ginkgo/MIGRATING_TO_V2](https://onsi.github.io/ginkgo/MIGRATING_TO_V2) for details on V2. + +### Fixes +- Suites that only import the new dsl packages are now correctly identified as Ginkgo suites [ec17e17] + +## 2.1.0 + +See [https://onsi.github.io/ginkgo/MIGRATING_TO_V2](https://onsi.github.io/ginkgo/MIGRATING_TO_V2) for details on V2. + +2.1.0 is a minor release with a few tweaks: + +- Introduce new DSL packages to enable users to pick-and-choose which portions of the DSL to dot-import. [90868e2] More details [here](https://onsi.github.io/ginkgo/#alternatives-to-dot-importing-ginkgo). +- Add error check for invalid/nil parameters to DescribeTable [6f8577e] +- Myriad docs typos fixed (thanks everyone!) [718542a, ecb7098, 146654c, a8f9913, 6bdffde, 03dcd7e] + +## 2.0.0 + +See [https://onsi.github.io/ginkgo/MIGRATING_TO_V2](https://onsi.github.io/ginkgo/MIGRATING_TO_V2) + +## 1.16.5 + +Ginkgo 2.0 now has a Release Candidate. 1.16.5 advertises the existence of the RC. +1.16.5 deprecates GinkgoParallelNode in favor of GinkgoParallelProcess + +You can silence the RC advertisement by setting an `ACK_GINKGO_RC=true` environment variable or creating a file in your home directory called `.ack-ginkgo-rc` + +## 1.16.4 + +### Fixes +1.16.4 retracts 1.16.3. There are no code changes. The 1.16.3 tag was associated with the wrong commit and an attempt to change it after-the-fact has proven problematic. 1.16.4 retracts 1.16.3 in Ginkgo's go.mod and creates a new, correctly tagged, release. + +## 1.16.3 + +### Features +- Measure is now deprecated and emits a deprecation warning. + +## 1.16.2 + +### Fixes +- Deprecations can be suppressed by setting an `ACK_GINKGO_DEPRECATIONS=` environment variable. + +## 1.16.1 + +### Fixes +- Suppress --stream deprecation warning on windows (#793) + +## 1.16.0 + +### Features +- Advertise Ginkgo 2.0. Introduce deprecations. [9ef1913] + - Update README.md to advertise that Ginkgo 2.0 is coming. + - Backport the 2.0 DeprecationTracker and start alerting users + about upcoming deprecations. + +- Add slim-sprig template functions to bootstrap/generate (#775) [9162b86] + +- Fix accidental reference to 1488 (#784) [9fb7fe4] + +## 1.15.2 + +### Fixes +- ignore blank `-focus` and `-skip` flags (#780) [e90a4a0] + +## 1.15.1 + +### Fixes +- reporters/junit: Use `system-out` element instead of `passed` (#769) [9eda305] + +## 1.15.0 + +### Features +- Adds 'outline' command to print the outline of specs/containers in a file (#754) [071c369] [6803cc3] [935b538] [06744e8] [0c40583] +- Add support for using template to generate tests (#752) [efb9e69] +- Add a Chinese Doc #755 (#756) [5207632] +- cli: allow multiple -focus and -skip flags (#736) [9a782fb] + +### Fixes +- Add _internal to filename of tests created with internal flag (#751) [43c12da] + +## 1.14.2 + +### Fixes +- correct handling windows backslash in import path (#721) [97f3d51] +- Add additional methods to GinkgoT() to improve compatibility with the testing.TB interface [b5fe44d] + +## 1.14.1 + +### Fixes +- Discard exported method declaration when running ginkgo bootstrap (#558) [f4b0240] + +## 1.14.0 + +### Features +- Defer running top-level container nodes until RunSpecs is called [d44dedf] +- [Document Ginkgo lifecycle](http://onsi.github.io/ginkgo/#understanding-ginkgos-lifecycle) +- Add `extensions/globals` package (#692) [3295c8f] - this can be helpful in contexts where you are test-driving your test-generation code (see [#692](https://github.com/onsi/ginkgo/pull/692)) +- Print Skip reason in JUnit reporter if one was provided [820dfab] + +## 1.13.0 + +### Features +- Add a version of table.Entry that allows dumping the entry parameters. (#689) [21eaef2] + +### Fixes +- Ensure integration tests pass in an environment sans GOPATH [606fba2] +- Add books package (#568) [fc0e44e] +- doc(readme): installation via "tools package" (#677) [83bb20e] +- Solve the undefined: unix.Dup2 compile error on mips64le (#680) [0624f75] +- Import package without dot (#687) [6321024] +- Fix integration tests to stop require GOPATH (#686) [a912ec5] + +## 1.12.3 + +### Fixes +- Print correct code location of failing table test (#666) [c6d7afb] + +## 1.12.2 + +### Fixes +- Update dependencies [ea4a036] + +## 1.12.1 + +### Fixes +- Make unfocus ("blur") much faster (#674) [8b18061] +- Fix typo (#673) [7fdcbe8] +- Test against 1.14 and remove 1.12 [d5c2ad6] +- Test if a coverprofile content is empty before checking its latest character (#670) [14d9fa2] +- replace tail package with maintained one. this fixes go get errors (#667) [4ba33d4] +- improve ginkgo performance - makes progress on #644 [a14f98e] +- fix convert integration tests [1f8ba69] +- fix typo successful -> successful (#663) [1ea49cf] +- Fix invalid link (#658) [b886136] +- convert utility : Include comments from source (#657) [1077c6d] +- Explain what BDD means [d79e7fb] +- skip race detector test on unsupported platform (#642) [f8ab89d] +- Use Dup2 from golang.org/x/sys/unix instead of syscallDup (#638) [5d53c55] +- Fix missing newline in combined coverage file (#641) [6a07ea2] +- check if a spec is run before returning SpecSummary (#645) [8850000] + +## 1.12.0 + +### Features +- Add module definition (#630) [78916ab] + +## 1.11.0 + +### Features +- Add syscall for riscv64 architecture [f66e896] +- teamcity reporter: output location of test failure as well as test definition (#626) [9869142] +- teamcity reporter: output newline after every service message (#625) [3cfa02d] +- Add support for go module when running `generate` command (#578) [9c89e3f] + +## 1.10.3 + +### Fixes +- Set go_import_path in travis.yml to allow internal packages in forks (#607) [3b721db] +- Add integration test [d90e0dc] +- Fix coverage files combining [e5dde8c] +- A new CLI option: -ginkgo.reportFile (#601) [034fd25] + +## 1.10.2 + +### Fixes +- speed up table entry generateIt() (#609) [5049dc5] +- Fix. Write errors to stderr instead of stdout (#610) [7bb3091] + +## 1.10.1 + +### Fixes +- stack backtrace: fix skipping (#600) [2a4c0bd] + +## 1.10.0 + +### Fixes +- stack backtrace: fix alignment and skipping [66915d6] +- fix typo in documentation [8f97b93] + +## 1.9.0 + +### Features +- Option to print output into report, when tests have passed [0545415] + +### Fixes +- Fixed typos in comments [0ecbc58] +- gofmt code [a7f8bfb] +- Simplify code [7454d00] +- Simplify concatenation, incrementation and function assignment [4825557] +- Avoid unnecessary conversions [9d9403c] +- JUnit: include more detailed information about panic [19cca4b] +- Print help to stdout when the user asks for help [4cb7441] + + +## 1.8.0 + +### New Features +- allow config of the vet flag for `go test` (#562) [3cd45fa] +- Support projects using go modules [d56ee76] + +### Fixes and Minor Improvements +- chore(godoc): fixes typos in Measurement funcs [dbaca8e] +- Optimize focus to avoid allocations [f493786] +- Ensure generated test file names are underscored [505cc35] + +## 1.7.0 + +### New Features +- Add JustAfterEach (#484) [0d4f080] + +### Fixes +- Correctly round suite time in junit reporter [2445fc1] +- Avoid using -i argument to go test for Golang 1.10+ [46bbc26] + +## 1.6.0 + +### New Features +- add --debug flag to emit node output to files (#499) [39febac] + +### Fixes +- fix: for `go vet` to pass [69338ec] +- docs: fix for contributing instructions [7004cb1] +- consolidate and streamline contribution docs (#494) [d848015] +- Make generated Junit file compatible with "Maven Surefire" (#488) [e51bee6] +- all: gofmt [000d317] +- Increase eventually timeout to 30s [c73579c] +- Clarify asynchronous test behavior [294d8f4] +- Travis badge should only show master [26d2143] + +## 1.5.0 5/10/2018 + +### New Features +- Supports go v1.10 (#443, #446, #451) [e873237, 468e89e, e37dbfe, a37f4c0, c0b857d, bca5260, 4177ca8] +- Add a When() synonym for Context() (#386) [747514b, 7484dad, 7354a07, dd826c8] +- Re-add noisySkippings flag [652e15c] +- Allow coverage to be displayed for focused specs (#367) [11459a8] +- Handle -outputdir flag (#364) [228e3a8] +- Handle -coverprofile flag (#355) [43392d5] + +### Fixes +- When using custom reporters register the custom reporters *before* the default reporter. This allows users to see the output of any print statements in their customer reporters. (#365) [8382b23] +- When running a test and calculating the coverage using the `-coverprofile` and `-outputdir` flags, Ginkgo fails with an error if the directory does not exist. This is due to an [issue in go 1.10](https://github.com/golang/go/issues/24588) (#446) [b36a6e0] +- `unfocus` command ignores vendor folder (#459) [e5e551c, c556e43, a3b6351, 9a820dd] +- Ignore packages whose tests are all ignored by go (#456) [7430ca7, 6d8be98] +- Increase the threshold when checking time measurements (#455) [2f714bf, 68f622c] +- Fix race condition in coverage tests (#423) [a5a8ff7, ab9c08b] +- Add an extra new line after reporting spec run completion for test2json [874520d] +- added name name field to junit reported testsuite [ae61c63] +- Do not set the run time of a spec when the dryRun flag is used (#438) [457e2d9, ba8e856] +- Process FWhen and FSpecify when unfocusing (#434) [9008c7b, ee65bd, df87dfe] +- Synchronies the access to the state of specs to avoid race conditions (#430) [7d481bc, ae6829d] +- Added Duration on GinkgoTestDescription (#383) [5f49dad, 528417e, 0747408, 329d7ed] +- Fix Ginkgo stack trace on failure for Specify (#415) [b977ede, 65ca40e, 6c46eb8] +- Update README with Go 1.6+, Golang -> Go (#409) [17f6b97, bc14b66, 20d1598] +- Use fmt.Errorf instead of errors.New(fmt.Sprintf (#401) [a299f56, 44e2eaa] +- Imports in generated code should follow conventions (#398) [0bec0b0, e8536d8] +- Prevent data race error when Recording a benchmark value from multiple go routines (#390) [c0c4881, 7a241e9] +- Replace GOPATH in Environment [4b883f0] + + +## 1.4.0 7/16/2017 + +- `ginkgo` now provides a hint if you accidentally forget to run `ginkgo bootstrap` to generate a `*_suite_test.go` file that actually invokes the Ginkgo test runner. [#345](https://github.com/onsi/ginkgo/pull/345) +- thanks to improvements in `go test -c` `ginkgo` no longer needs to fix Go's compilation output to ensure compilation errors are expressed relative to the CWD. [#357] +- `ginkgo watch -watchRegExp=...` allows you to specify a custom regular expression to watch. Only files matching the regular expression are watched for changes (the default is `\.go$`) [#356] +- `ginkgo` now always emits compilation output. Previously, only failed compilation output was printed out. [#277] +- `ginkgo -requireSuite` now fails the test run if there are `*_test.go` files but `go test` fails to detect any tests. Typically this means you forgot to run `ginkgo bootstrap` to generate a suite file. [#344] +- `ginkgo -timeout=DURATION` allows you to adjust the timeout for the entire test suite (default is 24 hours) [#248] + +## 1.3.0 3/28/2017 + +Improvements: + +- Significantly improved parallel test distribution. Now instead of pre-sharding test cases across workers (which can result in idle workers and poor test performance) Ginkgo uses a shared queue to keep all workers busy until all tests are complete. This improves test-time performance and consistency. +- `Skip(message)` can be used to skip the current test. +- Added `extensions/table` - a Ginkgo DSL for [Table Driven Tests](http://onsi.github.io/ginkgo/#table-driven-tests) +- Add `GinkgoRandomSeed()` - shorthand for `config.GinkgoConfig.RandomSeed` +- Support for retrying flaky tests with `--flakeAttempts` +- `ginkgo ./...` now recurses as you'd expect +- Added `Specify` a synonym for `It` +- Support colorise on Windows +- Broader support for various go compilation flags in the `ginkgo` CLI + +Bug Fixes: + +- Ginkgo tests now fail when you `panic(nil)` (#167) + +## 1.2.0 5/31/2015 + +Improvements + +- `ginkgo -coverpkg` calls down to `go test -coverpkg` (#160) +- `ginkgo -afterSuiteHook COMMAND` invokes the passed-in `COMMAND` after a test suite completes (#152) +- Relaxed requirement for Go 1.4+. `ginkgo` now works with Go v1.3+ (#166) + +## 1.2.0-beta + +Ginkgo now requires Go 1.4+ + +Improvements: + +- Call reporters in reverse order when announcing spec completion -- allows custom reporters to emit output before the default reporter does. +- Improved focus behavior. Now, this: + + ```golang + FDescribe("Some describe", func() { + It("A", func() {}) + + FIt("B", func() {}) + }) + ``` + + will run `B` but *not* `A`. This tends to be a common usage pattern when in the thick of writing and debugging tests. +- When `SIGINT` is received, Ginkgo will emit the contents of the `GinkgoWriter` before running the `AfterSuite`. Useful for debugging stuck tests. +- When `--progress` is set, Ginkgo will write test progress (in particular, Ginkgo will say when it is about to run a BeforeEach, AfterEach, It, etc...) to the `GinkgoWriter`. This is useful for debugging stuck tests and tests that generate many logs. +- Improved output when an error occurs in a setup or teardown block. +- When `--dryRun` is set, Ginkgo will walk the spec tree and emit to its reporter *without* actually running anything. Best paired with `-v` to understand which specs will run in which order. +- Add `By` to help document long `It`s. `By` simply writes to the `GinkgoWriter`. +- Add support for precompiled tests: + - `ginkgo build ` will now compile the package, producing a file named `package.test` + - The compiled `package.test` file can be run directly. This runs the tests in series. + - To run precompiled tests in parallel, you can run: `ginkgo -p package.test` +- Support `bootstrap`ping and `generate`ing [Agouti](http://agouti.org) specs. +- `ginkgo generate` and `ginkgo bootstrap` now honor the package name already defined in a given directory +- The `ginkgo` CLI ignores `SIGQUIT`. Prevents its stack dump from interlacing with the underlying test suite's stack dump. +- The `ginkgo` CLI now compiles tests into a temporary directory instead of the package directory. This necessitates upgrading to Go v1.4+. +- `ginkgo -notify` now works on Linux + +Bug Fixes: + +- If --skipPackages is used and all packages are skipped, Ginkgo should exit 0. +- Fix tempfile leak when running in parallel +- Fix incorrect failure message when a panic occurs during a parallel test run +- Fixed an issue where a pending test within a focused context (or a focused test within a pending context) would skip all other tests. +- Be more consistent about handling SIGTERM as well as SIGINT +- When interrupted while concurrently compiling test suites in the background, Ginkgo now cleans up the compiled artifacts. +- Fixed a long standing bug where `ginkgo -p` would hang if a process spawned by one of the Ginkgo parallel nodes does not exit. (Hooray!) + +## 1.1.0 (8/2/2014) + +No changes, just dropping the beta. + +## 1.1.0-beta (7/22/2014) +New Features: + +- `ginkgo watch` now monitors packages *and their dependencies* for changes. The depth of the dependency tree can be modified with the `-depth` flag. +- Test suites with a programmatic focus (`FIt`, `FDescribe`, etc...) exit with non-zero status code, even when they pass. This allows CI systems to detect accidental commits of focused test suites. +- `ginkgo -p` runs the testsuite in parallel with an auto-detected number of nodes. +- `ginkgo -tags=TAG_LIST` passes a list of tags down to the `go build` command. +- `ginkgo --failFast` aborts the test suite after the first failure. +- `ginkgo generate file_1 file_2` can take multiple file arguments. +- Ginkgo now summarizes any spec failures that occurred at the end of the test run. +- `ginkgo --randomizeSuites` will run tests *suites* in random order using the generated/passed-in seed. + +Improvements: + +- `ginkgo -skipPackage` now takes a comma-separated list of strings. If the *relative path* to a package matches one of the entries in the comma-separated list, that package is skipped. +- `ginkgo --untilItFails` no longer recompiles between attempts. +- Ginkgo now panics when a runnable node (`It`, `BeforeEach`, `JustBeforeEach`, `AfterEach`, `Measure`) is nested within another runnable node. This is always a mistake. Any test suites that panic because of this change should be fixed. + +Bug Fixes: + +- `ginkgo boostrap` and `ginkgo generate` no longer fail when dealing with `hyphen-separated-packages`. +- parallel specs are now better distributed across nodes - fixed a crashing bug where (for example) distributing 11 tests across 7 nodes would panic + +## 1.0.0 (5/24/2014) +New Features: + +- Add `GinkgoParallelNode()` - shorthand for `config.GinkgoConfig.ParallelNode` + +Improvements: + +- When compilation fails, the compilation output is rewritten to present a correct *relative* path. Allows ⌘-clicking in iTerm open the file in your text editor. +- `--untilItFails` and `ginkgo watch` now generate new random seeds between test runs, unless a particular random seed is specified. + +Bug Fixes: + +- `-cover` now generates a correctly combined coverprofile when running with in parallel with multiple `-node`s. +- Print out the contents of the `GinkgoWriter` when `BeforeSuite` or `AfterSuite` fail. +- Fix all remaining race conditions in Ginkgo's test suite. + +## 1.0.0-beta (4/14/2014) +Breaking changes: + +- `thirdparty/gomocktestreporter` is gone. Use `GinkgoT()` instead +- Modified the Reporter interface +- `watch` is now a subcommand, not a flag. + +DSL changes: + +- `BeforeSuite` and `AfterSuite` for setting up and tearing down test suites. +- `AfterSuite` is triggered on interrupt (`^C`) as well as exit. +- `SynchronizedBeforeSuite` and `SynchronizedAfterSuite` for setting up and tearing down singleton resources across parallel nodes. + +CLI changes: + +- `watch` is now a subcommand, not a flag +- `--nodot` flag can be passed to `ginkgo generate` and `ginkgo bootstrap` to avoid dot imports. This explicitly imports all exported identifiers in Ginkgo and Gomega. Refreshing this list can be done by running `ginkgo nodot` +- Additional arguments can be passed to specs. Pass them after the `--` separator +- `--skipPackage` flag takes a regexp and ignores any packages with package names passing said regexp. +- `--trace` flag prints out full stack traces when errors occur, not just the line at which the error occurs. + +Misc: + +- Start using semantic versioning +- Start maintaining changelog + +Major refactor: + +- Pull out Ginkgo's internal to `internal` +- Rename `example` everywhere to `spec` +- Much more! diff --git a/vendor/github.com/onsi/ginkgo/v2/CONTRIBUTING.md b/vendor/github.com/onsi/ginkgo/v2/CONTRIBUTING.md new file mode 100644 index 000000000..80de566a5 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/CONTRIBUTING.md @@ -0,0 +1,15 @@ +# Contributing to Ginkgo + +Your contributions to Ginkgo are essential for its long-term maintenance and improvement. + +- Please **open an issue first** - describe what problem you are trying to solve and give the community a forum for input and feedback ahead of investing time in writing code! +- Ensure adequate test coverage: + - When adding to the Ginkgo library, add unit and/or integration tests (under the `integration` folder). + - When adding to the Ginkgo CLI, note that there are very few unit tests. Please add an integration test. +- Run `make` or: + - Install ginkgo locally via `go install ./...` + - Make sure all the tests succeed via `ginkgo -r -p` + - Vet your changes via `go vet ./...` +- Update the documentation. Ginkgo uses `godoc` comments and documentation in `docs/index.md`. You can run `bundle && bundle exec jekyll serve` in the `docs` directory to preview your changes. + +Thanks for supporting Ginkgo! diff --git a/vendor/github.com/onsi/ginkgo/v2/LICENSE b/vendor/github.com/onsi/ginkgo/v2/LICENSE new file mode 100644 index 000000000..9415ee72c --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2013-2014 Onsi Fakhouri + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/onsi/ginkgo/v2/Makefile b/vendor/github.com/onsi/ginkgo/v2/Makefile new file mode 100644 index 000000000..06dff97cd --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/Makefile @@ -0,0 +1,16 @@ +# default task since it's first +.PHONY: all +all: vet test + +.PHONY: test +test: + go run github.com/onsi/ginkgo/v2/ginkgo -r -p -randomize-all -keep-going + +.PHONY: vet +vet: + go vet ./... + +.PHONY: update-deps +update-deps: + go get -u ./... + go mod tidy \ No newline at end of file diff --git a/vendor/github.com/onsi/ginkgo/v2/OWNERS b/vendor/github.com/onsi/ginkgo/v2/OWNERS new file mode 100644 index 000000000..2d1f6c71e --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/OWNERS @@ -0,0 +1,4 @@ +reviewers: +approvers: + - bertinatto + - stbenjam diff --git a/vendor/github.com/onsi/ginkgo/v2/README.md b/vendor/github.com/onsi/ginkgo/v2/README.md new file mode 100644 index 000000000..cb23ffdf6 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/README.md @@ -0,0 +1,115 @@ +![Ginkgo](https://onsi.github.io/ginkgo/images/ginkgo.png) + +[![test](https://github.com/onsi/ginkgo/workflows/test/badge.svg?branch=master)](https://github.com/onsi/ginkgo/actions?query=workflow%3Atest+branch%3Amaster) | [Ginkgo Docs](https://onsi.github.io/ginkgo/) + +--- + +# Ginkgo + +Ginkgo is a mature testing framework for Go designed to help you write expressive specs. Ginkgo builds on top of Go's `testing` foundation and is complemented by the [Gomega](https://github.com/onsi/gomega) matcher library. Together, Ginkgo and Gomega let you express the intent behind your specs clearly: + +```go +import ( + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + ... +) + +var _ = Describe("Checking books out of the library", Label("library"), func() { + var library *libraries.Library + var book *books.Book + var valjean *users.User + BeforeEach(func() { + library = libraries.NewClient() + book = &books.Book{ + Title: "Les Miserables", + Author: "Victor Hugo", + } + valjean = users.NewUser("Jean Valjean") + }) + + When("the library has the book in question", func() { + BeforeEach(func(ctx SpecContext) { + Expect(library.Store(ctx, book)).To(Succeed()) + }) + + Context("and the book is available", func() { + It("lends it to the reader", func(ctx SpecContext) { + Expect(valjean.Checkout(ctx, library, "Les Miserables")).To(Succeed()) + Expect(valjean.Books()).To(ContainElement(book)) + Expect(library.UserWithBook(ctx, book)).To(Equal(valjean)) + }, SpecTimeout(time.Second * 5)) + }) + + Context("but the book has already been checked out", func() { + var javert *users.User + BeforeEach(func(ctx SpecContext) { + javert = users.NewUser("Javert") + Expect(javert.Checkout(ctx, library, "Les Miserables")).To(Succeed()) + }) + + It("tells the user", func(ctx SpecContext) { + err := valjean.Checkout(ctx, library, "Les Miserables") + Expect(err).To(MatchError("Les Miserables is currently checked out")) + }, SpecTimeout(time.Second * 5)) + + It("lets the user place a hold and get notified later", func(ctx SpecContext) { + Expect(valjean.Hold(ctx, library, "Les Miserables")).To(Succeed()) + Expect(valjean.Holds(ctx)).To(ContainElement(book)) + + By("when Javert returns the book") + Expect(javert.Return(ctx, library, book)).To(Succeed()) + + By("it eventually informs Valjean") + notification := "Les Miserables is ready for pick up" + Eventually(ctx, valjean.Notifications).Should(ContainElement(notification)) + + Expect(valjean.Checkout(ctx, library, "Les Miserables")).To(Succeed()) + Expect(valjean.Books(ctx)).To(ContainElement(book)) + Expect(valjean.Holds(ctx)).To(BeEmpty()) + }, SpecTimeout(time.Second * 10)) + }) + }) + + When("the library does not have the book in question", func() { + It("tells the reader the book is unavailable", func(ctx SpecContext) { + err := valjean.Checkout(ctx, library, "Les Miserables") + Expect(err).To(MatchError("Les Miserables is not in the library catalog")) + }, SpecTimeout(time.Second * 5)) + }) +}) +``` + +Jump to the [docs](https://onsi.github.io/ginkgo/) to learn more. It's easy to [bootstrap](https://onsi.github.io/ginkgo/#bootstrapping-a-suite) and start writing your [first specs](https://onsi.github.io/ginkgo/#adding-specs-to-a-suite). + +If you have a question, comment, bug report, feature request, etc. please open a [GitHub issue](https://github.com/onsi/ginkgo/issues/new), or visit the [Ginkgo Slack channel](https://app.slack.com/client/T029RQSE6/CQQ50BBNW). + +## Capabilities + +Whether writing basic unit specs, complex integration specs, or even performance specs - Ginkgo gives you an expressive Domain-Specific Language (DSL) that will be familiar to users coming from frameworks such as [Quick](https://github.com/Quick/Quick), [RSpec](https://rspec.info), [Jasmine](https://jasmine.github.io), and [Busted](https://lunarmodules.github.io/busted/). This style of testing is sometimes referred to as "Behavior-Driven Development" (BDD) though Ginkgo's utility extends beyond acceptance-level testing. + +With Ginkgo's DSL you can use nestable [`Describe`, `Context` and `When` container nodes](https://onsi.github.io/ginkgo/#organizing-specs-with-container-nodes) to help you organize your specs. [`BeforeEach` and `AfterEach` setup nodes](https://onsi.github.io/ginkgo/#extracting-common-setup-beforeeach) for setup and cleanup. [`It` and `Specify` subject nodes](https://onsi.github.io/ginkgo/#spec-subjects-it) that hold your assertions. [`BeforeSuite` and `AfterSuite` nodes](https://onsi.github.io/ginkgo/#suite-setup-and-cleanup-beforesuite-and-aftersuite) to prep for and cleanup after a suite... and [much more!](https://onsi.github.io/ginkgo/#writing-specs). + +At runtime, Ginkgo can run your specs in reproducibly [random order](https://onsi.github.io/ginkgo/#spec-randomization) and has sophisticated support for [spec parallelization](https://onsi.github.io/ginkgo/#spec-parallelization). In fact, running specs in parallel is as easy as + +```bash +ginkgo -p +``` + +By following [established patterns for writing parallel specs](https://onsi.github.io/ginkgo/#patterns-for-parallel-integration-specs) you can build even large, complex integration suites that parallelize cleanly and run performantly. And you don't have to worry about your spec suite hanging or leaving a mess behind - Ginkgo provides a per-node `context.Context` and the capability to interrupt the spec after a set period of time - and then clean up. + +As your suites grow Ginkgo helps you keep your specs organized with [labels](https://onsi.github.io/ginkgo/#spec-labels) and lets you easily run [subsets of specs](https://onsi.github.io/ginkgo/#filtering-specs), either [programmatically](https://onsi.github.io/ginkgo/#focused-specs) or on the [command line](https://onsi.github.io/ginkgo/#combining-filters). And Ginkgo's reporting infrastructure generates machine-readable output in a [variety of formats](https://onsi.github.io/ginkgo/#generating-machine-readable-reports) _and_ allows you to build your own [custom reporting infrastructure](https://onsi.github.io/ginkgo/#generating-reports-programmatically). + +Ginkgo ships with `ginkgo`, a [command line tool](https://onsi.github.io/ginkgo/#ginkgo-cli-overview) with support for generating, running, filtering, and profiling Ginkgo suites. You can even have Ginkgo automatically run your specs when it detects a change with `ginkgo watch`, enabling rapid feedback loops during test-driven development. + +And that's just Ginkgo! [Gomega](https://onsi.github.io/gomega/) brings a rich, mature, family of [assertions and matchers](https://onsi.github.io/gomega/#provided-matchers) to your suites. With Gomega you can easily mix [synchronous and asynchronous assertions](https://onsi.github.io/ginkgo/#patterns-for-asynchronous-testing) in your specs. You can even build your own set of expressive domain-specific matchers quickly and easily by composing Gomega's [existing building blocks](https://onsi.github.io/ginkgo/#building-custom-matchers). + +Happy Testing! + +## License + +Ginkgo is MIT-Licensed + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) diff --git a/vendor/github.com/onsi/ginkgo/v2/RELEASING.md b/vendor/github.com/onsi/ginkgo/v2/RELEASING.md new file mode 100644 index 000000000..363815d7c --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/RELEASING.md @@ -0,0 +1,23 @@ +A Ginkgo release is a tagged git sha and a GitHub release. To cut a release: + +1. Ensure CHANGELOG.md is up to date. + - Use + ```bash + LAST_VERSION=$(git tag --sort=version:refname | tail -n1) + CHANGES=$(git log --pretty=format:'- %s [%h]' HEAD...$LAST_VERSION) + echo -e "## NEXT\n\n$CHANGES\n\n### Features\n\n### Fixes\n\n### Maintenance\n\n$(cat CHANGELOG.md)" > CHANGELOG.md + ``` + to update the changelog + - Categorize the changes into + - Breaking Changes (requires a major version) + - New Features (minor version) + - Fixes (fix version) + - Maintenance (which in general should not be mentioned in `CHANGELOG.md` as they have no user impact) +1. Update `VERSION` in `types/version.go` +1. Commit, push, and release: + ``` + git commit -m "vM.m.p" + git push + gh release create "vM.m.p" + git fetch --tags origin master + ``` \ No newline at end of file diff --git a/vendor/github.com/onsi/ginkgo/v2/config/deprecated.go b/vendor/github.com/onsi/ginkgo/v2/config/deprecated.go new file mode 100644 index 000000000..a61021d08 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/config/deprecated.go @@ -0,0 +1,69 @@ +package config + +// GinkgoConfigType has been deprecated and its equivalent now lives in +// the types package. You can no longer access Ginkgo configuration from the config +// package. Instead use the DSL's GinkgoConfiguration() function to get copies of the +// current configuration +// +// GinkgoConfigType is still here so custom V1 reporters do not result in a compilation error +// It will be removed in a future minor release of Ginkgo +type GinkgoConfigType = DeprecatedGinkgoConfigType +type DeprecatedGinkgoConfigType struct { + RandomSeed int64 + RandomizeAllSpecs bool + RegexScansFilePath bool + FocusStrings []string + SkipStrings []string + SkipMeasurements bool + FailOnPending bool + FailFast bool + FlakeAttempts int + EmitSpecProgress bool + DryRun bool + DebugParallel bool + + ParallelNode int + ParallelTotal int + SyncHost string + StreamHost string +} + +// DefaultReporterConfigType has been deprecated and its equivalent now lives in +// the types package. You can no longer access Ginkgo configuration from the config +// package. Instead use the DSL's GinkgoConfiguration() function to get copies of the +// current configuration +// +// DefaultReporterConfigType is still here so custom V1 reporters do not result in a compilation error +// It will be removed in a future minor release of Ginkgo +type DefaultReporterConfigType = DeprecatedDefaultReporterConfigType +type DeprecatedDefaultReporterConfigType struct { + NoColor bool + SlowSpecThreshold float64 + NoisyPendings bool + NoisySkippings bool + Succinct bool + Verbose bool + FullTrace bool + ReportPassed bool + ReportFile string +} + +// Sadly there is no way to gracefully deprecate access to these global config variables. +// Users who need access to Ginkgo's configuration should use the DSL's GinkgoConfiguration() method +// These new unwieldy type names exist to give users a hint when they try to compile and the compilation fails +type GinkgoConfigIsNoLongerAccessibleFromTheConfigPackageUseTheDSLsGinkgoConfigurationFunctionInstead struct{} + +// Sadly there is no way to gracefully deprecate access to these global config variables. +// Users who need access to Ginkgo's configuration should use the DSL's GinkgoConfiguration() method +// These new unwieldy type names exist to give users a hint when they try to compile and the compilation fails +var GinkgoConfig = GinkgoConfigIsNoLongerAccessibleFromTheConfigPackageUseTheDSLsGinkgoConfigurationFunctionInstead{} + +// Sadly there is no way to gracefully deprecate access to these global config variables. +// Users who need access to Ginkgo's configuration should use the DSL's GinkgoConfiguration() method +// These new unwieldy type names exist to give users a hint when they try to compile and the compilation fails +type DefaultReporterConfigIsNoLongerAccessibleFromTheConfigPackageUseTheDSLsGinkgoConfigurationFunctionInstead struct{} + +// Sadly there is no way to gracefully deprecate access to these global config variables. +// Users who need access to Ginkgo's configuration should use the DSL's GinkgoConfiguration() method +// These new unwieldy type names exist to give users a hint when they try to compile and the compilation fails +var DefaultReporterConfig = DefaultReporterConfigIsNoLongerAccessibleFromTheConfigPackageUseTheDSLsGinkgoConfigurationFunctionInstead{} diff --git a/vendor/github.com/onsi/ginkgo/v2/core_dsl.go b/vendor/github.com/onsi/ginkgo/v2/core_dsl.go new file mode 100644 index 000000000..a3e8237e9 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/core_dsl.go @@ -0,0 +1,847 @@ +/* +Ginkgo is a testing framework for Go designed to help you write expressive tests. +https://github.com/onsi/ginkgo +MIT-Licensed + +The godoc documentation outlines Ginkgo's API. Since Ginkgo is a Domain-Specific Language it is important to +build a mental model for Ginkgo - the narrative documentation at https://onsi.github.io/ginkgo/ is designed to help you do that. +You should start there - even a brief skim will be helpful. At minimum you should skim through the https://onsi.github.io/ginkgo/#getting-started chapter. + +Ginkgo's is best paired with the Gomega matcher library: https://github.com/onsi/gomega + +You can run Ginkgo specs with go test - however we recommend using the ginkgo cli. It enables functionality +that go test does not (especially running suites in parallel). You can learn more at https://onsi.github.io/ginkgo/#ginkgo-cli-overview +or by running 'ginkgo help'. +*/ +package ginkgo + +import ( + "fmt" + "io" + "os" + "path/filepath" + "strings" + + "github.com/go-logr/logr" + "github.com/onsi/ginkgo/v2/formatter" + "github.com/onsi/ginkgo/v2/internal" + "github.com/onsi/ginkgo/v2/internal/global" + "github.com/onsi/ginkgo/v2/internal/interrupt_handler" + "github.com/onsi/ginkgo/v2/internal/parallel_support" + "github.com/onsi/ginkgo/v2/reporters" + "github.com/onsi/ginkgo/v2/types" +) + +const GINKGO_VERSION = types.VERSION + +var flagSet types.GinkgoFlagSet +var deprecationTracker = types.NewDeprecationTracker() +var suiteConfig = types.NewDefaultSuiteConfig() +var reporterConfig = types.NewDefaultReporterConfig() +var suiteDidRun = false +var outputInterceptor internal.OutputInterceptor +var client parallel_support.Client + +func init() { + var err error + flagSet, err = types.BuildTestSuiteFlagSet(&suiteConfig, &reporterConfig) + exitIfErr(err) + writer := internal.NewWriter(os.Stdout) + GinkgoWriter = writer + GinkgoLogr = internal.GinkgoLogrFunc(writer) +} + +func exitIfErr(err error) { + if err != nil { + if outputInterceptor != nil { + outputInterceptor.Shutdown() + } + if client != nil { + client.Close() + } + fmt.Fprintln(formatter.ColorableStdErr, err.Error()) + os.Exit(1) + } +} + +func exitIfErrors(errors []error) { + if len(errors) > 0 { + if outputInterceptor != nil { + outputInterceptor.Shutdown() + } + if client != nil { + client.Close() + } + for _, err := range errors { + fmt.Fprintln(formatter.ColorableStdErr, err.Error()) + } + os.Exit(1) + } +} + +// The interface implemented by GinkgoWriter +type GinkgoWriterInterface interface { + io.Writer + + Print(a ...interface{}) + Printf(format string, a ...interface{}) + Println(a ...interface{}) + + TeeTo(writer io.Writer) + ClearTeeWriters() +} + +/* +SpecContext is the context object passed into nodes that are subject to a timeout or need to be notified of an interrupt. It implements the standard context.Context interface but also contains additional helpers to provide an extensibility point for Ginkgo. (As an example, Gomega's Eventually can use the methods defined on SpecContext to provide deeper integration with Ginkgo). + +You can do anything with SpecContext that you do with a typical context.Context including wrapping it with any of the context.With* methods. + +Ginkgo will cancel the SpecContext when a node is interrupted (e.g. by the user sending an interrupt signal) or when a node has exceeded its allowed run-time. Note, however, that even in cases where a node has a deadline, SpecContext will not return a deadline via .Deadline(). This is because Ginkgo does not use a WithDeadline() context to model node deadlines as Ginkgo needs control over the precise timing of the context cancellation to ensure it can provide an accurate progress report at the moment of cancellation. +*/ +type SpecContext = internal.SpecContext + +/* +GinkgoWriter implements a GinkgoWriterInterface and io.Writer + +When running in verbose mode (ginkgo -v) any writes to GinkgoWriter will be immediately printed +to stdout. Otherwise, GinkgoWriter will buffer any writes produced during the current test and flush them to screen +only if the current test fails. + +GinkgoWriter also provides convenience Print, Printf and Println methods and allows you to tee to a custom writer via GinkgoWriter.TeeTo(writer). +Writes to GinkgoWriter are immediately sent to any registered TeeTo() writers. You can unregister all TeeTo() Writers with GinkgoWriter.ClearTeeWriters() + +You can learn more at https://onsi.github.io/ginkgo/#logging-output +*/ +var GinkgoWriter GinkgoWriterInterface + +/* +GinkgoLogr is a logr.Logger that writes to GinkgoWriter +*/ +var GinkgoLogr logr.Logger + +// The interface by which Ginkgo receives *testing.T +type GinkgoTestingT interface { + Fail() +} + +/* +GinkgoConfiguration returns the configuration of the current suite. + +The first return value is the SuiteConfig which controls aspects of how the suite runs, +the second return value is the ReporterConfig which controls aspects of how Ginkgo's default +reporter emits output. + +Mutating the returned configurations has no effect. To reconfigure Ginkgo programmatically you need +to pass in your mutated copies into RunSpecs(). + +You can learn more at https://onsi.github.io/ginkgo/#overriding-ginkgos-command-line-configuration-in-the-suite +*/ +func GinkgoConfiguration() (types.SuiteConfig, types.ReporterConfig) { + return suiteConfig, reporterConfig +} + +/* +GinkgoRandomSeed returns the seed used to randomize spec execution order. It is +useful for seeding your own pseudorandom number generators to ensure +consistent executions from run to run, where your tests contain variability (for +example, when selecting random spec data). + +You can learn more at https://onsi.github.io/ginkgo/#spec-randomization +*/ +func GinkgoRandomSeed() int64 { + return suiteConfig.RandomSeed +} + +/* +GinkgoParallelProcess returns the parallel process number for the current ginkgo process +The process number is 1-indexed. You can use GinkgoParallelProcess() to shard access to shared +resources across your suites. You can learn more about patterns for sharding at https://onsi.github.io/ginkgo/#patterns-for-parallel-integration-specs + +For more on how specs are parallelized in Ginkgo, see http://onsi.github.io/ginkgo/#spec-parallelization +*/ +func GinkgoParallelProcess() int { + return suiteConfig.ParallelProcess +} + +/* +GinkgoHelper marks the function it's called in as a test helper. When a failure occurs inside a helper function, Ginkgo will skip the helper when analyzing the stack trace to identify where the failure occurred. + +This is an alternative, simpler, mechanism to passing in a skip offset when calling Fail or using Gomega. +*/ +func GinkgoHelper() { + types.MarkAsHelper(1) +} + +/* +GinkgoLabelFilter() returns the label filter configured for this suite via `--label-filter`. + +You can use this to manually check if a set of labels would satisfy the filter via: + + if (Label("cat", "dog").MatchesLabelFilter(GinkgoLabelFilter())) { + //... + } +*/ +func GinkgoLabelFilter() string { + suiteConfig, _ := GinkgoConfiguration() + return suiteConfig.LabelFilter +} + +/* +PauseOutputInterception() pauses Ginkgo's output interception. This is only relevant +when running in parallel and output to stdout/stderr is being intercepted. You generally +don't need to call this function - however there are cases when Ginkgo's output interception +mechanisms can interfere with external processes launched by the test process. + +In particular, if an external process is launched that has cmd.Stdout/cmd.Stderr set to os.Stdout/os.Stderr +then Ginkgo's output interceptor will hang. To circumvent this, set cmd.Stdout/cmd.Stderr to GinkgoWriter. +If, for some reason, you aren't able to do that, you can PauseOutputInterception() before starting the process +then ResumeOutputInterception() after starting it. + +Note that PauseOutputInterception() does not cause stdout writes to print to the console - +this simply stops intercepting and storing stdout writes to an internal buffer. +*/ +func PauseOutputInterception() { + if outputInterceptor == nil { + return + } + outputInterceptor.PauseIntercepting() +} + +// ResumeOutputInterception() - see docs for PauseOutputInterception() +func ResumeOutputInterception() { + if outputInterceptor == nil { + return + } + outputInterceptor.ResumeIntercepting() +} + +/* +RunSpecs is the entry point for the Ginkgo spec runner. + +You must call this within a Golang testing TestX(t *testing.T) function. +If you bootstrapped your suite with "ginkgo bootstrap" this is already +done for you. + +Ginkgo is typically configured via command-line flags. This configuration +can be overridden, however, and passed into RunSpecs as optional arguments: + + func TestMySuite(t *testing.T) { + RegisterFailHandler(gomega.Fail) + // fetch the current config + suiteConfig, reporterConfig := GinkgoConfiguration() + // adjust it + suiteConfig.SkipStrings = []string{"NEVER-RUN"} + reporterConfig.FullTrace = true + // pass it in to RunSpecs + RunSpecs(t, "My Suite", suiteConfig, reporterConfig) + } + +Note that some configuration changes can lead to undefined behavior. For example, +you should not change ParallelProcess or ParallelTotal as the Ginkgo CLI is responsible +for setting these and orchestrating parallel specs across the parallel processes. See http://onsi.github.io/ginkgo/#spec-parallelization +for more on how specs are parallelized in Ginkgo. + +You can also pass suite-level Label() decorators to RunSpecs. The passed-in labels will apply to all specs in the suite. +*/ +func RunSpecs(t GinkgoTestingT, description string, args ...interface{}) bool { + if suiteDidRun { + exitIfErr(types.GinkgoErrors.RerunningSuite()) + } + suiteDidRun = true + err := global.PushClone() + if err != nil { + exitIfErr(err) + } + defer global.PopClone() + + suiteLabels := extractSuiteConfiguration(args) + + var reporter reporters.Reporter + if suiteConfig.ParallelTotal == 1 { + reporter = reporters.NewDefaultReporter(reporterConfig, formatter.ColorableStdOut) + outputInterceptor = internal.NoopOutputInterceptor{} + client = nil + } else { + reporter = reporters.NoopReporter{} + switch strings.ToLower(suiteConfig.OutputInterceptorMode) { + case "swap": + outputInterceptor = internal.NewOSGlobalReassigningOutputInterceptor() + case "none": + outputInterceptor = internal.NoopOutputInterceptor{} + default: + outputInterceptor = internal.NewOutputInterceptor() + } + client = parallel_support.NewClient(suiteConfig.ParallelHost) + if !client.Connect() { + client = nil + exitIfErr(types.GinkgoErrors.UnreachableParallelHost(suiteConfig.ParallelHost)) + } + defer client.Close() + } + + writer := GinkgoWriter.(*internal.Writer) + if reporterConfig.Verbosity().GTE(types.VerbosityLevelVerbose) && suiteConfig.ParallelTotal == 1 { + writer.SetMode(internal.WriterModeStreamAndBuffer) + } else { + writer.SetMode(internal.WriterModeBufferOnly) + } + + if reporterConfig.WillGenerateReport() { + registerReportAfterSuiteNodeForAutogeneratedReports(reporterConfig) + } + + err = global.Suite.BuildTree() + exitIfErr(err) + suitePath, err := getwd() + exitIfErr(err) + suitePath, err = filepath.Abs(suitePath) + exitIfErr(err) + + passed, hasFocusedTests := global.Suite.Run(description, suiteLabels, suitePath, global.Failer, reporter, writer, outputInterceptor, interrupt_handler.NewInterruptHandler(client), client, internal.RegisterForProgressSignal, suiteConfig) + outputInterceptor.Shutdown() + + flagSet.ValidateDeprecations(deprecationTracker) + if deprecationTracker.DidTrackDeprecations() { + fmt.Fprintln(formatter.ColorableStdErr, deprecationTracker.DeprecationsReport()) + } + + if !passed { + t.Fail() + } + + if passed && hasFocusedTests && strings.TrimSpace(os.Getenv("GINKGO_EDITOR_INTEGRATION")) == "" { + fmt.Println("PASS | FOCUSED") + os.Exit(types.GINKGO_FOCUS_EXIT_CODE) + } + return passed +} + +func extractSuiteConfiguration(args []interface{}) Labels { + suiteLabels := Labels{} + configErrors := []error{} + for _, arg := range args { + switch arg := arg.(type) { + case types.SuiteConfig: + suiteConfig = arg + case types.ReporterConfig: + reporterConfig = arg + case Labels: + suiteLabels = append(suiteLabels, arg...) + default: + configErrors = append(configErrors, types.GinkgoErrors.UnknownTypePassedToRunSpecs(arg)) + } + } + exitIfErrors(configErrors) + + configErrors = types.VetConfig(flagSet, suiteConfig, reporterConfig) + if len(configErrors) > 0 { + fmt.Fprintf(formatter.ColorableStdErr, formatter.F("{{red}}Ginkgo detected configuration issues:{{/}}\n")) + for _, err := range configErrors { + fmt.Fprintf(formatter.ColorableStdErr, err.Error()) + } + os.Exit(1) + } + + return suiteLabels +} + +func getwd() (string, error) { + if !strings.EqualFold(os.Getenv("GINKGO_PRESERVE_CACHE"), "true") { + // Getwd calls os.Getenv("PWD"), which breaks test caching if the cache + // is shared between two different directories with the same test code. + return os.Getwd() + } + return "", nil +} + +/* +PreviewSpecs walks the testing tree and produces a report without actually invoking the specs. +See http://onsi.github.io/ginkgo/#previewing-specs for more information. +*/ +func PreviewSpecs(description string, args ...any) Report { + err := global.PushClone() + if err != nil { + exitIfErr(err) + } + defer global.PopClone() + + suiteLabels := extractSuiteConfiguration(args) + priorDryRun, priorParallelTotal, priorParallelProcess := suiteConfig.DryRun, suiteConfig.ParallelTotal, suiteConfig.ParallelProcess + suiteConfig.DryRun, suiteConfig.ParallelTotal, suiteConfig.ParallelProcess = true, 1, 1 + defer func() { + suiteConfig.DryRun, suiteConfig.ParallelTotal, suiteConfig.ParallelProcess = priorDryRun, priorParallelTotal, priorParallelProcess + }() + reporter := reporters.NoopReporter{} + outputInterceptor = internal.NoopOutputInterceptor{} + client = nil + writer := GinkgoWriter.(*internal.Writer) + + err = global.Suite.BuildTree() + exitIfErr(err) + suitePath, err := getwd() + exitIfErr(err) + suitePath, err = filepath.Abs(suitePath) + exitIfErr(err) + + global.Suite.Run(description, suiteLabels, suitePath, global.Failer, reporter, writer, outputInterceptor, interrupt_handler.NewInterruptHandler(client), client, internal.RegisterForProgressSignal, suiteConfig) + + return global.Suite.GetPreviewReport() +} + +/* +Skip instructs Ginkgo to skip the current spec + +You can call Skip in any Setup or Subject node closure. + +For more on how to filter specs in Ginkgo see https://onsi.github.io/ginkgo/#filtering-specs +*/ +func Skip(message string, callerSkip ...int) { + skip := 0 + if len(callerSkip) > 0 { + skip = callerSkip[0] + } + cl := types.NewCodeLocationWithStackTrace(skip + 1) + global.Failer.Skip(message, cl) + panic(types.GinkgoErrors.UncaughtGinkgoPanic(cl)) +} + +/* +Fail notifies Ginkgo that the current spec has failed. (Gomega will call Fail for you automatically when an assertion fails.) + +Under the hood, Fail panics to end execution of the current spec. Ginkgo will catch this panic and proceed with +the subsequent spec. If you call Fail, or make an assertion, within a goroutine launched by your spec you must +add defer GinkgoRecover() to the goroutine to catch the panic emitted by Fail. + +You can call Fail in any Setup or Subject node closure. + +You can learn more about how Ginkgo manages failures here: https://onsi.github.io/ginkgo/#mental-model-how-ginkgo-handles-failure +*/ +func Fail(message string, callerSkip ...int) { + skip := 0 + if len(callerSkip) > 0 { + skip = callerSkip[0] + } + + cl := types.NewCodeLocationWithStackTrace(skip + 1) + global.Failer.Fail(message, cl) + panic(types.GinkgoErrors.UncaughtGinkgoPanic(cl)) +} + +/* +AbortSuite instructs Ginkgo to fail the current spec and skip all subsequent specs, thereby aborting the suite. + +You can call AbortSuite in any Setup or Subject node closure. + +You can learn more about how Ginkgo handles suite interruptions here: https://onsi.github.io/ginkgo/#interrupting-aborting-and-timing-out-suites +*/ +func AbortSuite(message string, callerSkip ...int) { + skip := 0 + if len(callerSkip) > 0 { + skip = callerSkip[0] + } + + cl := types.NewCodeLocationWithStackTrace(skip + 1) + global.Failer.AbortSuite(message, cl) + panic(types.GinkgoErrors.UncaughtGinkgoPanic(cl)) +} + +/* +ignorablePanic is used by Gomega to signal to GinkgoRecover that Goemga is handling +the error associated with this panic. It i used when Eventually/Consistently are passed a func(g Gomega) and the resulting function launches a goroutines that makes a failed assertion. That failed assertion is registered by Gomega and then panics. Ordinarily the panic is captured by Gomega. In the case of a goroutine Gomega can't capture the panic - so we piggy back on GinkgoRecover so users have a single defer GinkgoRecover() pattern to follow. To do that we need to tell Ginkgo to ignore this panic and not register it as a panic on the global Failer. +*/ +type ignorablePanic interface{ GinkgoRecoverShouldIgnoreThisPanic() } + +/* +GinkgoRecover should be deferred at the top of any spawned goroutine that (may) call `Fail` +Since Gomega assertions call fail, you should throw a `defer GinkgoRecover()` at the top of any goroutine that +calls out to Gomega + +Here's why: Ginkgo's `Fail` method records the failure and then panics to prevent +further assertions from running. This panic must be recovered. Normally, Ginkgo recovers the panic for you, +however if a panic originates on a goroutine *launched* from one of your specs there's no +way for Ginkgo to rescue the panic. To do this, you must remember to `defer GinkgoRecover()` at the top of such a goroutine. + +You can learn more about how Ginkgo manages failures here: https://onsi.github.io/ginkgo/#mental-model-how-ginkgo-handles-failure +*/ +func GinkgoRecover() { + e := recover() + if e != nil { + if _, ok := e.(ignorablePanic); ok { + return + } + global.Failer.Panic(types.NewCodeLocationWithStackTrace(1), e) + } +} + +// pushNode is used by the various test construction DSL methods to push nodes onto the suite +// it handles returned errors, emits a detailed error message to help the user learn what they may have done wrong, then exits +func pushNode(node internal.Node, errors []error) bool { + exitIfErrors(errors) + exitIfErr(global.Suite.PushNode(node)) + return true +} + +/* +Describe nodes are Container nodes that allow you to organize your specs. A Describe node's closure can contain any number of +Setup nodes (e.g. BeforeEach, AfterEach, JustBeforeEach), and Subject nodes (i.e. It). + +Context and When nodes are aliases for Describe - use whichever gives your suite a better narrative flow. It is idomatic +to Describe the behavior of an object or function and, within that Describe, outline a number of Contexts and Whens. + +You can learn more at https://onsi.github.io/ginkgo/#organizing-specs-with-container-nodes +In addition, container nodes can be decorated with a variety of decorators. You can learn more here: https://onsi.github.io/ginkgo/#decorator-reference +*/ +func Describe(text string, args ...interface{}) bool { + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeContainer, text, args...)) +} + +/* +FDescribe focuses specs within the Describe block. +*/ +func FDescribe(text string, args ...interface{}) bool { + args = append(args, internal.Focus) + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeContainer, text, args...)) +} + +/* +PDescribe marks specs within the Describe block as pending. +*/ +func PDescribe(text string, args ...interface{}) bool { + args = append(args, internal.Pending) + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeContainer, text, args...)) +} + +/* +XDescribe marks specs within the Describe block as pending. + +XDescribe is an alias for PDescribe +*/ +var XDescribe = PDescribe + +/* Context is an alias for Describe - it generates the exact same kind of Container node */ +var Context, FContext, PContext, XContext = Describe, FDescribe, PDescribe, XDescribe + +/* When is an alias for Describe - it generates the exact same kind of Container node */ +func When(text string, args ...interface{}) bool { + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeContainer, "when "+text, args...)) +} + +/* When is an alias for Describe - it generates the exact same kind of Container node */ +func FWhen(text string, args ...interface{}) bool { + args = append(args, internal.Focus) + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeContainer, "when "+text, args...)) +} + +/* When is an alias for Describe - it generates the exact same kind of Container node */ +func PWhen(text string, args ...interface{}) bool { + args = append(args, internal.Pending) + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeContainer, "when "+text, args...)) +} + +var XWhen = PWhen + +/* +It nodes are Subject nodes that contain your spec code and assertions. + +Each It node corresponds to an individual Ginkgo spec. You cannot nest any other Ginkgo nodes within an It node's closure. + +You can pass It nodes bare functions (func() {}) or functions that receive a SpecContext or context.Context: func(ctx SpecContext) {} and func (ctx context.Context) {}. If the function takes a context then the It is deemed interruptible and Ginkgo will cancel the context in the event of a timeout (configured via the SpecTimeout() or NodeTimeout() decorators) or of an interrupt signal. + +You can learn more at https://onsi.github.io/ginkgo/#spec-subjects-it +In addition, subject nodes can be decorated with a variety of decorators. You can learn more here: https://onsi.github.io/ginkgo/#decorator-reference +*/ +func It(text string, args ...interface{}) bool { + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeIt, text, args...)) +} + +/* +FIt allows you to focus an individual It. +*/ +func FIt(text string, args ...interface{}) bool { + args = append(args, internal.Focus) + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeIt, text, args...)) +} + +/* +PIt allows you to mark an individual It as pending. +*/ +func PIt(text string, args ...interface{}) bool { + args = append(args, internal.Pending) + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeIt, text, args...)) +} + +/* +XIt allows you to mark an individual It as pending. + +XIt is an alias for PIt +*/ +var XIt = PIt + +/* +Specify is an alias for It - it can allow for more natural wording in some context. +*/ +var Specify, FSpecify, PSpecify, XSpecify = It, FIt, PIt, XIt + +/* +By allows you to better document complex Specs. + +Generally you should try to keep your Its short and to the point. This is not always possible, however, +especially in the context of integration tests that capture complex or lengthy workflows. + +By allows you to document such flows. By may be called within a Setup or Subject node (It, BeforeEach, etc...) +and will simply log the passed in text to the GinkgoWriter. If By is handed a function it will immediately run the function. + +By will also generate and attach a ReportEntry to the spec. This will ensure that By annotations appear in Ginkgo's machine-readable reports. + +Note that By does not generate a new Ginkgo node - rather it is simply syntactic sugar around GinkgoWriter and AddReportEntry +You can learn more about By here: https://onsi.github.io/ginkgo/#documenting-complex-specs-by +*/ +func By(text string, callback ...func()) { + exitIfErr(global.Suite.By(text, callback...)) +} + +/* +BeforeSuite nodes are suite-level Setup nodes that run just once before any specs are run. +When running in parallel, each parallel process will call BeforeSuite. + +You may only register *one* BeforeSuite handler per test suite. You typically do so in your bootstrap file at the top level. + +BeforeSuite can take a func() body, or an interruptible func(SpecContext)/func(context.Context) body. + +You cannot nest any other Ginkgo nodes within a BeforeSuite node's closure. +You can learn more here: https://onsi.github.io/ginkgo/#suite-setup-and-cleanup-beforesuite-and-aftersuite +*/ +func BeforeSuite(body interface{}, args ...interface{}) bool { + combinedArgs := []interface{}{body} + combinedArgs = append(combinedArgs, args...) + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeBeforeSuite, "", combinedArgs...)) +} + +/* +AfterSuite nodes are suite-level Setup nodes run after all specs have finished - regardless of whether specs have passed or failed. +AfterSuite node closures always run, even if Ginkgo receives an interrupt signal (^C), in order to ensure cleanup occurs. + +When running in parallel, each parallel process will call AfterSuite. + +You may only register *one* AfterSuite handler per test suite. You typically do so in your bootstrap file at the top level. + +AfterSuite can take a func() body, or an interruptible func(SpecContext)/func(context.Context) body. + +You cannot nest any other Ginkgo nodes within an AfterSuite node's closure. +You can learn more here: https://onsi.github.io/ginkgo/#suite-setup-and-cleanup-beforesuite-and-aftersuite +*/ +func AfterSuite(body interface{}, args ...interface{}) bool { + combinedArgs := []interface{}{body} + combinedArgs = append(combinedArgs, args...) + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeAfterSuite, "", combinedArgs...)) +} + +/* +SynchronizedBeforeSuite nodes allow you to perform some of the suite setup just once - on parallel process #1 - and then pass information +from that setup to the rest of the suite setup on all processes. This is useful for performing expensive or singleton setup once, then passing +information from that setup to all parallel processes. + +SynchronizedBeforeSuite accomplishes this by taking *two* function arguments and passing data between them. +The first function is only run on parallel process #1. The second is run on all processes, but *only* after the first function completes successfully. The functions have the following signatures: + +The first function (which only runs on process #1) can have any of the following the signatures: + + func() + func(ctx context.Context) + func(ctx SpecContext) + func() []byte + func(ctx context.Context) []byte + func(ctx SpecContext) []byte + +The byte array returned by the first function (if present) is then passed to the second function, which can have any of the following signature: + + func() + func(ctx context.Context) + func(ctx SpecContext) + func(data []byte) + func(ctx context.Context, data []byte) + func(ctx SpecContext, data []byte) + +If either function receives a context.Context/SpecContext it is considered interruptible. + +You cannot nest any other Ginkgo nodes within an SynchronizedBeforeSuite node's closure. +You can learn more, and see some examples, here: https://onsi.github.io/ginkgo/#parallel-suite-setup-and-cleanup-synchronizedbeforesuite-and-synchronizedaftersuite +*/ +func SynchronizedBeforeSuite(process1Body interface{}, allProcessBody interface{}, args ...interface{}) bool { + combinedArgs := []interface{}{process1Body, allProcessBody} + combinedArgs = append(combinedArgs, args...) + + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeSynchronizedBeforeSuite, "", combinedArgs...)) +} + +/* +SynchronizedAfterSuite nodes complement the SynchronizedBeforeSuite nodes in solving the problem of splitting clean up into a piece that runs on all processes +and a piece that must only run once - on process #1. + +SynchronizedAfterSuite accomplishes this by taking *two* function arguments. The first runs on all processes. The second runs only on parallel process #1 +and *only* after all other processes have finished and exited. This ensures that process #1, and any resources it is managing, remain alive until +all other processes are finished. These two functions can be bare functions (func()) or interruptible (func(context.Context)/func(SpecContext)) + +Note that you can also use DeferCleanup() in SynchronizedBeforeSuite to accomplish similar results. + +You cannot nest any other Ginkgo nodes within an SynchronizedAfterSuite node's closure. +You can learn more, and see some examples, here: https://onsi.github.io/ginkgo/#parallel-suite-setup-and-cleanup-synchronizedbeforesuite-and-synchronizedaftersuite +*/ +func SynchronizedAfterSuite(allProcessBody interface{}, process1Body interface{}, args ...interface{}) bool { + combinedArgs := []interface{}{allProcessBody, process1Body} + combinedArgs = append(combinedArgs, args...) + + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeSynchronizedAfterSuite, "", combinedArgs...)) +} + +/* +BeforeEach nodes are Setup nodes whose closures run before It node closures. When multiple BeforeEach nodes +are defined in nested Container nodes the outermost BeforeEach node closures are run first. + +BeforeEach can take a func() body, or an interruptible func(SpecContext)/func(context.Context) body. + +You cannot nest any other Ginkgo nodes within a BeforeEach node's closure. +You can learn more here: https://onsi.github.io/ginkgo/#extracting-common-setup-beforeeach +*/ +func BeforeEach(args ...interface{}) bool { + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeBeforeEach, "", args...)) +} + +/* +JustBeforeEach nodes are similar to BeforeEach nodes, however they are guaranteed to run *after* all BeforeEach node closures - just before the It node closure. +This can allow you to separate configuration from creation of resources for a spec. + +JustBeforeEach can take a func() body, or an interruptible func(SpecContext)/func(context.Context) body. + +You cannot nest any other Ginkgo nodes within a JustBeforeEach node's closure. +You can learn more and see some examples here: https://onsi.github.io/ginkgo/#separating-creation-and-configuration-justbeforeeach +*/ +func JustBeforeEach(args ...interface{}) bool { + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeJustBeforeEach, "", args...)) +} + +/* +AfterEach nodes are Setup nodes whose closures run after It node closures. When multiple AfterEach nodes +are defined in nested Container nodes the innermost AfterEach node closures are run first. + +Note that you can also use DeferCleanup() in other Setup or Subject nodes to accomplish similar results. + +AfterEach can take a func() body, or an interruptible func(SpecContext)/func(context.Context) body. + +You cannot nest any other Ginkgo nodes within an AfterEach node's closure. +You can learn more here: https://onsi.github.io/ginkgo/#spec-cleanup-aftereach-and-defercleanup +*/ +func AfterEach(args ...interface{}) bool { + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeAfterEach, "", args...)) +} + +/* +JustAfterEach nodes are similar to AfterEach nodes, however they are guaranteed to run *before* all AfterEach node closures - just after the It node closure. This can allow you to separate diagnostics collection from teardown for a spec. + +JustAfterEach can take a func() body, or an interruptible func(SpecContext)/func(context.Context) body. + +You cannot nest any other Ginkgo nodes within a JustAfterEach node's closure. +You can learn more and see some examples here: https://onsi.github.io/ginkgo/#separating-diagnostics-collection-and-teardown-justaftereach +*/ +func JustAfterEach(args ...interface{}) bool { + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeJustAfterEach, "", args...)) +} + +/* +BeforeAll nodes are Setup nodes that can occur inside Ordered containers. They run just once before any specs in the Ordered container run. + +Multiple BeforeAll nodes can be defined in a given Ordered container however they cannot be nested inside any other container. + +BeforeAll can take a func() body, or an interruptible func(SpecContext)/func(context.Context) body. + +You cannot nest any other Ginkgo nodes within a BeforeAll node's closure. +You can learn more about Ordered Containers at: https://onsi.github.io/ginkgo/#ordered-containers +And you can learn more about BeforeAll at: https://onsi.github.io/ginkgo/#setup-in-ordered-containers-beforeall-and-afterall +*/ +func BeforeAll(args ...interface{}) bool { + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeBeforeAll, "", args...)) +} + +/* +AfterAll nodes are Setup nodes that can occur inside Ordered containers. They run just once after all specs in the Ordered container have run. + +Multiple AfterAll nodes can be defined in a given Ordered container however they cannot be nested inside any other container. + +Note that you can also use DeferCleanup() in a BeforeAll node to accomplish similar behavior. + +AfterAll can take a func() body, or an interruptible func(SpecContext)/func(context.Context) body. + +You cannot nest any other Ginkgo nodes within an AfterAll node's closure. +You can learn more about Ordered Containers at: https://onsi.github.io/ginkgo/#ordered-containers +And you can learn more about AfterAll at: https://onsi.github.io/ginkgo/#setup-in-ordered-containers-beforeall-and-afterall +*/ +func AfterAll(args ...interface{}) bool { + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeAfterAll, "", args...)) +} + +/* +DeferCleanup can be called within any Setup or Subject node to register a cleanup callback that Ginkgo will call at the appropriate time to cleanup after the spec. + +DeferCleanup can be passed: +1. A function that takes no arguments and returns no values. +2. A function that returns multiple values. `DeferCleanup` will ignore all these return values except for the last one. If this last return value is a non-nil error `DeferCleanup` will fail the spec). +3. A function that takes a context.Context or SpecContext (and optionally returns multiple values). The resulting cleanup node is deemed interruptible and the passed-in context will be cancelled in the event of a timeout or interrupt. +4. A function that takes arguments (and optionally returns multiple values) followed by a list of arguments to pass to the function. +5. A function that takes SpecContext and a list of arguments (and optionally returns multiple values) followed by a list of arguments to pass to the function. + +For example: + + BeforeEach(func() { + DeferCleanup(os.Setenv, "FOO", os.GetEnv("FOO")) + os.Setenv("FOO", "BAR") + }) + +will register a cleanup handler that will set the environment variable "FOO" to its current value (obtained by os.GetEnv("FOO")) after the spec runs and then sets the environment variable "FOO" to "BAR" for the current spec. + +Similarly: + + BeforeEach(func() { + DeferCleanup(func(ctx SpecContext, path) { + req, err := http.NewRequestWithContext(ctx, "POST", path, nil) + Expect(err).NotTo(HaveOccured()) + _, err := http.DefaultClient.Do(req) + Expect(err).NotTo(HaveOccured()) + }, "example.com/cleanup", NodeTimeout(time.Second*3)) + }) + +will register a cleanup handler that will have three seconds to successfully complete a request to the specified path. Note that we do not specify a context in the list of arguments passed to DeferCleanup - only in the signature of the function we pass in. Ginkgo will detect the requested context and supply a SpecContext when it invokes the cleanup node. If you want to pass in your own context in addition to the Ginkgo-provided SpecContext you must specify the SpecContext as the first argument (e.g. func(ctx SpecContext, otherCtx context.Context)). + +When DeferCleanup is called in BeforeEach, JustBeforeEach, It, AfterEach, or JustAfterEach the registered callback will be invoked when the spec completes (i.e. it will behave like an AfterEach node) +When DeferCleanup is called in BeforeAll or AfterAll the registered callback will be invoked when the ordered container completes (i.e. it will behave like an AfterAll node) +When DeferCleanup is called in BeforeSuite, SynchronizedBeforeSuite, AfterSuite, or SynchronizedAfterSuite the registered callback will be invoked when the suite completes (i.e. it will behave like an AfterSuite node) + +Note that DeferCleanup does not represent a node but rather dynamically generates the appropriate type of cleanup node based on the context in which it is called. As such you must call DeferCleanup within a Setup or Subject node, and not within a Container node. +You can learn more about DeferCleanup here: https://onsi.github.io/ginkgo/#cleaning-up-our-cleanup-code-defercleanup +*/ +func DeferCleanup(args ...interface{}) { + fail := func(message string, cl types.CodeLocation) { + global.Failer.Fail(message, cl) + } + pushNode(internal.NewCleanupNode(deprecationTracker, fail, args...)) +} + +/* +AttachProgressReporter allows you to register a function that will be called whenever Ginkgo generates a Progress Report. The contents returned by the function will be included in the report. + +**This is an experimental feature and the public-facing interface may change in a future minor version of Ginkgo** + +Progress Reports are generated: +- whenever the user explicitly requests one (via `SIGINFO` or `SIGUSR1`) +- on nodes decorated with PollProgressAfter +- on suites run with --poll-progress-after +- whenever a test times out + +Ginkgo uses Progress Reports to convey the current state of the test suite, including any running goroutines. By attaching a progress reporter you are able to supplement these reports with additional information. + +# AttachProgressReporter returns a function that can be called to detach the progress reporter + +You can learn more about AttachProgressReporter here: https://onsi.github.io/ginkgo/#attaching-additional-information-to-progress-reports +*/ +func AttachProgressReporter(reporter func() string) func() { + return global.Suite.AttachProgressReporter(reporter) +} diff --git a/vendor/github.com/onsi/ginkgo/v2/core_dsl_patch.go b/vendor/github.com/onsi/ginkgo/v2/core_dsl_patch.go new file mode 100644 index 000000000..bf60ceb52 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/core_dsl_patch.go @@ -0,0 +1,33 @@ +package ginkgo + +import ( + "io" + + "github.com/onsi/ginkgo/v2/internal" + "github.com/onsi/ginkgo/v2/internal/global" + "github.com/onsi/ginkgo/v2/types" +) + +func AppendSpecText(test *internal.Spec, text string) { + test.AppendText(text) +} + +func GetSuite() *internal.Suite { + return global.Suite +} + +func GetFailer() *internal.Failer { + return global.Failer +} + +func NewWriter(w io.Writer) *internal.Writer { + return internal.NewWriter(w) +} + +func GetWriter() *internal.Writer { + return GinkgoWriter.(*internal.Writer) +} + +func SetReporterConfig(r types.ReporterConfig) { + reporterConfig = r +} diff --git a/vendor/github.com/onsi/ginkgo/v2/decorator_dsl.go b/vendor/github.com/onsi/ginkgo/v2/decorator_dsl.go new file mode 100644 index 000000000..c65af4ce1 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/decorator_dsl.go @@ -0,0 +1,143 @@ +package ginkgo + +import ( + "github.com/onsi/ginkgo/v2/internal" +) + +/* +Offset(uint) is a decorator that allows you to change the stack-frame offset used when computing the line number of the node in question. + +You can learn more here: https://onsi.github.io/ginkgo/#the-offset-decorator +You can learn more about decorators here: https://onsi.github.io/ginkgo/#decorator-reference +*/ +type Offset = internal.Offset + +/* +FlakeAttempts(uint N) is a decorator that allows you to mark individual specs or spec containers as flaky. Ginkgo will run them up to `N` times until they pass. + +You can learn more here: https://onsi.github.io/ginkgo/#the-flakeattempts-decorator +You can learn more about decorators here: https://onsi.github.io/ginkgo/#decorator-reference +*/ +type FlakeAttempts = internal.FlakeAttempts + +/* +MustPassRepeatedly(uint N) is a decorator that allows you to repeat the execution of individual specs or spec containers. Ginkgo will run them up to `N` times until they fail. + +You can learn more here: https://onsi.github.io/ginkgo/#the-mustpassrepeatedly-decorator +You can learn more about decorators here: https://onsi.github.io/ginkgo/#decorator-reference +*/ +type MustPassRepeatedly = internal.MustPassRepeatedly + +/* +Focus is a decorator that allows you to mark a spec or container as focused. Identical to FIt and FDescribe. + +You can learn more here: https://onsi.github.io/ginkgo/#filtering-specs +You can learn more about decorators here: https://onsi.github.io/ginkgo/#decorator-reference +*/ +const Focus = internal.Focus + +/* +Pending is a decorator that allows you to mark a spec or container as pending. Identical to PIt and PDescribe. + +You can learn more here: https://onsi.github.io/ginkgo/#filtering-specs +You can learn more about decorators here: https://onsi.github.io/ginkgo/#decorator-reference +*/ +const Pending = internal.Pending + +/* +Serial is a decorator that allows you to mark a spec or container as serial. These specs will never run in parallel with other specs. +Specs in ordered containers cannot be marked as serial - mark the ordered container instead. + +You can learn more here: https://onsi.github.io/ginkgo/#serial-specs +You can learn more about decorators here: https://onsi.github.io/ginkgo/#decorator-reference +*/ +const Serial = internal.Serial + +/* +Ordered is a decorator that allows you to mark a container as ordered. Specs in the container will always run in the order they appear. +They will never be randomized and they will never run in parallel with one another, though they may run in parallel with other specs. + +You can learn more here: https://onsi.github.io/ginkgo/#ordered-containers +You can learn more about decorators here: https://onsi.github.io/ginkgo/#decorator-reference +*/ +const Ordered = internal.Ordered + +/* +ContinueOnFailure is a decorator that allows you to mark an Ordered container to continue running specs even if failures occur. Ordinarily an ordered container will stop running specs after the first failure occurs. Note that if a BeforeAll or a BeforeEach/JustBeforeEach annotated with OncePerOrdered fails then no specs will run as the precondition for the Ordered container will consider to be failed. + +ContinueOnFailure only applies to the outermost Ordered container. Attempting to place ContinueOnFailure in a nested container will result in an error. + +You can learn more here: https://onsi.github.io/ginkgo/#ordered-containers +You can learn more about decorators here: https://onsi.github.io/ginkgo/#decorator-reference +*/ +const ContinueOnFailure = internal.ContinueOnFailure + +/* +OncePerOrdered is a decorator that allows you to mark outer BeforeEach, AfterEach, JustBeforeEach, and JustAfterEach setup nodes to run once +per ordered context. Normally these setup nodes run around each individual spec, with OncePerOrdered they will run once around the set of specs in an ordered container. +The behavior for non-Ordered containers/specs is unchanged. + +You can learn more here: https://onsi.github.io/ginkgo/#setup-around-ordered-containers-the-onceperordered-decorator +You can learn more about decorators here: https://onsi.github.io/ginkgo/#decorator-reference +*/ +const OncePerOrdered = internal.OncePerOrdered + +/* +Label decorates specs with Labels. Multiple labels can be passed to Label and these can be arbitrary strings but must not include the following characters: "&|!,()/". +Labels can be applied to container and subject nodes, but not setup nodes. You can provide multiple Labels to a given node and a spec's labels is the union of all labels in its node hierarchy. + +You can learn more here: https://onsi.github.io/ginkgo/#spec-labels +You can learn more about decorators here: https://onsi.github.io/ginkgo/#decorator-reference +*/ +func Label(labels ...string) Labels { + return Labels(labels) +} + +/* +Labels are the type for spec Label decorators. Use Label(...) to construct Labels. +You can learn more here: https://onsi.github.io/ginkgo/#spec-labels +*/ +type Labels = internal.Labels + +/* +PollProgressAfter allows you to override the configured value for --poll-progress-after for a particular node. + +Ginkgo will start emitting node progress if the node is still running after a duration of PollProgressAfter. This allows you to get quicker feedback about the state of a long-running spec. +*/ +type PollProgressAfter = internal.PollProgressAfter + +/* +PollProgressInterval allows you to override the configured value for --poll-progress-interval for a particular node. + +Once a node has been running for longer than PollProgressAfter Ginkgo will emit node progress periodically at an interval of PollProgresInterval. +*/ +type PollProgressInterval = internal.PollProgressInterval + +/* +NodeTimeout allows you to specify a timeout for an indivdiual node. The node cannot be a container and must be interruptible (i.e. it must be passed a function that accepts a SpecContext or context.Context). + +If the node does not exit within the specified NodeTimeout its context will be cancelled. The node wil then have a period of time controlled by the GracePeriod decorator (or global --grace-period command-line argument) to exit. If the node does not exit within GracePeriod Ginkgo will leak the node and proceed to any clean-up nodes associated with the current spec. +*/ +type NodeTimeout = internal.NodeTimeout + +/* +SpecTimeout allows you to specify a timeout for an indivdiual spec. SpecTimeout can only decorate interruptible It nodes. + +All nodes associated with the It node will need to complete before the SpecTimeout has elapsed. Individual nodes (e.g. BeforeEach) may be decorated with different NodeTimeouts - but these can only serve to provide a more stringent deadline for the node in question; they cannot extend the deadline past the SpecTimeout. + +If the spec does not complete within the specified SpecTimeout the currently running node will have its context cancelled. The node wil then have a period of time controlled by that node's GracePeriod decorator (or global --grace-period command-line argument) to exit. If the node does not exit within GracePeriod Ginkgo will leak the node and proceed to any clean-up nodes associated with the current spec. +*/ +type SpecTimeout = internal.SpecTimeout + +/* +GracePeriod denotes the period of time Ginkgo will wait for an interruptible node to exit once an interruption (whether due to a timeout or a user-invoked signal) has occurred. If both the global --grace-period cli flag and a GracePeriod decorator are specified the value in the decorator will take precedence. + +Nodes that do not finish within a GracePeriod will be leaked and Ginkgo will proceed to run subsequent nodes. In the event of a timeout, such leaks will be reported to the user. +*/ +type GracePeriod = internal.GracePeriod + +/* +SuppressProgressReporting is a decorator that allows you to disable progress reporting of a particular node. This is useful if `ginkgo -v -progress` is generating too much noise; particularly +if you have a `ReportAfterEach` node that is running for every skipped spec and is generating lots of progress reports. +*/ +const SuppressProgressReporting = internal.SuppressProgressReporting diff --git a/vendor/github.com/onsi/ginkgo/v2/deprecated_dsl.go b/vendor/github.com/onsi/ginkgo/v2/deprecated_dsl.go new file mode 100644 index 000000000..f912bbec6 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/deprecated_dsl.go @@ -0,0 +1,135 @@ +package ginkgo + +import ( + "time" + + "github.com/onsi/ginkgo/v2/internal" + "github.com/onsi/ginkgo/v2/internal/global" + "github.com/onsi/ginkgo/v2/reporters" + "github.com/onsi/ginkgo/v2/types" +) + +/* +Deprecated: Done Channel for asynchronous testing + +The Done channel pattern is no longer supported in Ginkgo 2.0. +See here for better patterns for asynchronous testing: https://onsi.github.io/ginkgo/#patterns-for-asynchronous-testing + +For a migration guide see: https://onsi.github.io/ginkgo/MIGRATING_TO_V2#removed-async-testing +*/ +type Done = internal.Done + +/* +Deprecated: Custom Ginkgo test reporters are deprecated in Ginkgo 2.0. + +Use Ginkgo's reporting nodes instead and 2.0 reporting infrastructure instead. You can learn more here: https://onsi.github.io/ginkgo/#reporting-infrastructure +For a migration guide see: https://onsi.github.io/ginkgo/MIGRATING_TO_V2#removed-custom-reporters +*/ +type Reporter = reporters.DeprecatedReporter + +/* +Deprecated: Custom Reporters have been removed in Ginkgo 2.0. RunSpecsWithDefaultAndCustomReporters will simply call RunSpecs() + +Use Ginkgo's reporting nodes instead and 2.0 reporting infrastructure instead. You can learn more here: https://onsi.github.io/ginkgo/#reporting-infrastructure +For a migration guide see: https://onsi.github.io/ginkgo/MIGRATING_TO_V2#removed-custom-reporters +*/ +func RunSpecsWithDefaultAndCustomReporters(t GinkgoTestingT, description string, _ []Reporter) bool { + deprecationTracker.TrackDeprecation(types.Deprecations.CustomReporter()) + return RunSpecs(t, description) +} + +/* +Deprecated: Custom Reporters have been removed in Ginkgo 2.0. RunSpecsWithCustomReporters will simply call RunSpecs() + +Use Ginkgo's reporting nodes instead and 2.0 reporting infrastructure instead. You can learn more here: https://onsi.github.io/ginkgo/#reporting-infrastructure +For a migration guide see: https://onsi.github.io/ginkgo/MIGRATING_TO_V2#removed-custom-reporters +*/ +func RunSpecsWithCustomReporters(t GinkgoTestingT, description string, _ []Reporter) bool { + deprecationTracker.TrackDeprecation(types.Deprecations.CustomReporter()) + return RunSpecs(t, description) +} + +/* +Deprecated: GinkgoTestDescription has been replaced with SpecReport. + +Use CurrentSpecReport() instead. +You can learn more here: https://onsi.github.io/ginkgo/#getting-a-report-for-the-current-spec +The SpecReport type is documented here: https://pkg.go.dev/github.com/onsi/ginkgo/v2/types#SpecReport +*/ +type DeprecatedGinkgoTestDescription struct { + FullTestText string + ComponentTexts []string + TestText string + + FileName string + LineNumber int + + Failed bool + Duration time.Duration +} +type GinkgoTestDescription = DeprecatedGinkgoTestDescription + +/* +Deprecated: CurrentGinkgoTestDescription has been replaced with CurrentSpecReport. + +Use CurrentSpecReport() instead. +You can learn more here: https://onsi.github.io/ginkgo/#getting-a-report-for-the-current-spec +The SpecReport type is documented here: https://pkg.go.dev/github.com/onsi/ginkgo/v2/types#SpecReport +*/ +func CurrentGinkgoTestDescription() DeprecatedGinkgoTestDescription { + deprecationTracker.TrackDeprecation( + types.Deprecations.CurrentGinkgoTestDescription(), + types.NewCodeLocation(1), + ) + report := global.Suite.CurrentSpecReport() + if report.State == types.SpecStateInvalid { + return GinkgoTestDescription{} + } + componentTexts := []string{} + componentTexts = append(componentTexts, report.ContainerHierarchyTexts...) + componentTexts = append(componentTexts, report.LeafNodeText) + + return DeprecatedGinkgoTestDescription{ + ComponentTexts: componentTexts, + FullTestText: report.FullText(), + TestText: report.LeafNodeText, + FileName: report.LeafNodeLocation.FileName, + LineNumber: report.LeafNodeLocation.LineNumber, + Failed: report.State.Is(types.SpecStateFailureStates), + Duration: report.RunTime, + } +} + +/* +Deprecated: GinkgoParallelNode() has been renamed to GinkgoParallelProcess() +*/ +func GinkgoParallelNode() int { + deprecationTracker.TrackDeprecation( + types.Deprecations.ParallelNode(), + types.NewCodeLocation(1), + ) + return GinkgoParallelProcess() +} + +/* +Deprecated: Benchmarker has been removed from Ginkgo 2.0 + +Use Gomega's gmeasure package instead. +You can learn more here: https://onsi.github.io/ginkgo/#benchmarking-code +*/ +type Benchmarker interface { + Time(name string, body func(), info ...interface{}) (elapsedTime time.Duration) + RecordValue(name string, value float64, info ...interface{}) + RecordValueWithPrecision(name string, value float64, units string, precision int, info ...interface{}) +} + +/* +Deprecated: Measure() has been removed from Ginkgo 2.0 + +Use Gomega's gmeasure package instead. +You can learn more here: https://onsi.github.io/ginkgo/#benchmarking-code +*/ +func Measure(_ ...interface{}) bool { + deprecationTracker.TrackDeprecation(types.Deprecations.Measure(), types.NewCodeLocation(1)) + return true +} diff --git a/vendor/github.com/onsi/ginkgo/v2/formatter/colorable_others.go b/vendor/github.com/onsi/ginkgo/v2/formatter/colorable_others.go new file mode 100644 index 000000000..778bfd7c7 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/formatter/colorable_others.go @@ -0,0 +1,41 @@ +// +build !windows + +/* +These packages are used for colorize on Windows and contributed by mattn.jp@gmail.com + + * go-colorable: + * go-isatty: + +The MIT License (MIT) + +Copyright (c) 2016 Yasuhiro Matsumoto + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +package formatter + +import ( + "io" + "os" +) + +func newColorable(file *os.File) io.Writer { + return file +} diff --git a/vendor/github.com/onsi/ginkgo/v2/formatter/colorable_windows.go b/vendor/github.com/onsi/ginkgo/v2/formatter/colorable_windows.go new file mode 100644 index 000000000..dd1d143cc --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/formatter/colorable_windows.go @@ -0,0 +1,809 @@ +/* +These packages are used for colorize on Windows and contributed by mattn.jp@gmail.com + + * go-colorable: + * go-isatty: + +The MIT License (MIT) + +Copyright (c) 2016 Yasuhiro Matsumoto + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +package formatter + +import ( + "bytes" + "fmt" + "io" + "math" + "os" + "strconv" + "strings" + "syscall" + "unsafe" +) + +var ( + kernel32 = syscall.NewLazyDLL("kernel32.dll") + procGetConsoleScreenBufferInfo = kernel32.NewProc("GetConsoleScreenBufferInfo") + procSetConsoleTextAttribute = kernel32.NewProc("SetConsoleTextAttribute") + procSetConsoleCursorPosition = kernel32.NewProc("SetConsoleCursorPosition") + procFillConsoleOutputCharacter = kernel32.NewProc("FillConsoleOutputCharacterW") + procFillConsoleOutputAttribute = kernel32.NewProc("FillConsoleOutputAttribute") + procGetConsoleMode = kernel32.NewProc("GetConsoleMode") +) + +func isTerminal(fd uintptr) bool { + var st uint32 + r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, fd, uintptr(unsafe.Pointer(&st)), 0) + return r != 0 && e == 0 +} + +const ( + foregroundBlue = 0x1 + foregroundGreen = 0x2 + foregroundRed = 0x4 + foregroundIntensity = 0x8 + foregroundMask = (foregroundRed | foregroundBlue | foregroundGreen | foregroundIntensity) + backgroundBlue = 0x10 + backgroundGreen = 0x20 + backgroundRed = 0x40 + backgroundIntensity = 0x80 + backgroundMask = (backgroundRed | backgroundBlue | backgroundGreen | backgroundIntensity) +) + +type wchar uint16 +type short int16 +type dword uint32 +type word uint16 + +type coord struct { + x short + y short +} + +type smallRect struct { + left short + top short + right short + bottom short +} + +type consoleScreenBufferInfo struct { + size coord + cursorPosition coord + attributes word + window smallRect + maximumWindowSize coord +} + +type writer struct { + out io.Writer + handle syscall.Handle + lastbuf bytes.Buffer + oldattr word +} + +func newColorable(file *os.File) io.Writer { + if file == nil { + panic("nil passed instead of *os.File to NewColorable()") + } + + if isTerminal(file.Fd()) { + var csbi consoleScreenBufferInfo + handle := syscall.Handle(file.Fd()) + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + return &writer{out: file, handle: handle, oldattr: csbi.attributes} + } else { + return file + } +} + +var color256 = map[int]int{ + 0: 0x000000, + 1: 0x800000, + 2: 0x008000, + 3: 0x808000, + 4: 0x000080, + 5: 0x800080, + 6: 0x008080, + 7: 0xc0c0c0, + 8: 0x808080, + 9: 0xff0000, + 10: 0x00ff00, + 11: 0xffff00, + 12: 0x0000ff, + 13: 0xff00ff, + 14: 0x00ffff, + 15: 0xffffff, + 16: 0x000000, + 17: 0x00005f, + 18: 0x000087, + 19: 0x0000af, + 20: 0x0000d7, + 21: 0x0000ff, + 22: 0x005f00, + 23: 0x005f5f, + 24: 0x005f87, + 25: 0x005faf, + 26: 0x005fd7, + 27: 0x005fff, + 28: 0x008700, + 29: 0x00875f, + 30: 0x008787, + 31: 0x0087af, + 32: 0x0087d7, + 33: 0x0087ff, + 34: 0x00af00, + 35: 0x00af5f, + 36: 0x00af87, + 37: 0x00afaf, + 38: 0x00afd7, + 39: 0x00afff, + 40: 0x00d700, + 41: 0x00d75f, + 42: 0x00d787, + 43: 0x00d7af, + 44: 0x00d7d7, + 45: 0x00d7ff, + 46: 0x00ff00, + 47: 0x00ff5f, + 48: 0x00ff87, + 49: 0x00ffaf, + 50: 0x00ffd7, + 51: 0x00ffff, + 52: 0x5f0000, + 53: 0x5f005f, + 54: 0x5f0087, + 55: 0x5f00af, + 56: 0x5f00d7, + 57: 0x5f00ff, + 58: 0x5f5f00, + 59: 0x5f5f5f, + 60: 0x5f5f87, + 61: 0x5f5faf, + 62: 0x5f5fd7, + 63: 0x5f5fff, + 64: 0x5f8700, + 65: 0x5f875f, + 66: 0x5f8787, + 67: 0x5f87af, + 68: 0x5f87d7, + 69: 0x5f87ff, + 70: 0x5faf00, + 71: 0x5faf5f, + 72: 0x5faf87, + 73: 0x5fafaf, + 74: 0x5fafd7, + 75: 0x5fafff, + 76: 0x5fd700, + 77: 0x5fd75f, + 78: 0x5fd787, + 79: 0x5fd7af, + 80: 0x5fd7d7, + 81: 0x5fd7ff, + 82: 0x5fff00, + 83: 0x5fff5f, + 84: 0x5fff87, + 85: 0x5fffaf, + 86: 0x5fffd7, + 87: 0x5fffff, + 88: 0x870000, + 89: 0x87005f, + 90: 0x870087, + 91: 0x8700af, + 92: 0x8700d7, + 93: 0x8700ff, + 94: 0x875f00, + 95: 0x875f5f, + 96: 0x875f87, + 97: 0x875faf, + 98: 0x875fd7, + 99: 0x875fff, + 100: 0x878700, + 101: 0x87875f, + 102: 0x878787, + 103: 0x8787af, + 104: 0x8787d7, + 105: 0x8787ff, + 106: 0x87af00, + 107: 0x87af5f, + 108: 0x87af87, + 109: 0x87afaf, + 110: 0x87afd7, + 111: 0x87afff, + 112: 0x87d700, + 113: 0x87d75f, + 114: 0x87d787, + 115: 0x87d7af, + 116: 0x87d7d7, + 117: 0x87d7ff, + 118: 0x87ff00, + 119: 0x87ff5f, + 120: 0x87ff87, + 121: 0x87ffaf, + 122: 0x87ffd7, + 123: 0x87ffff, + 124: 0xaf0000, + 125: 0xaf005f, + 126: 0xaf0087, + 127: 0xaf00af, + 128: 0xaf00d7, + 129: 0xaf00ff, + 130: 0xaf5f00, + 131: 0xaf5f5f, + 132: 0xaf5f87, + 133: 0xaf5faf, + 134: 0xaf5fd7, + 135: 0xaf5fff, + 136: 0xaf8700, + 137: 0xaf875f, + 138: 0xaf8787, + 139: 0xaf87af, + 140: 0xaf87d7, + 141: 0xaf87ff, + 142: 0xafaf00, + 143: 0xafaf5f, + 144: 0xafaf87, + 145: 0xafafaf, + 146: 0xafafd7, + 147: 0xafafff, + 148: 0xafd700, + 149: 0xafd75f, + 150: 0xafd787, + 151: 0xafd7af, + 152: 0xafd7d7, + 153: 0xafd7ff, + 154: 0xafff00, + 155: 0xafff5f, + 156: 0xafff87, + 157: 0xafffaf, + 158: 0xafffd7, + 159: 0xafffff, + 160: 0xd70000, + 161: 0xd7005f, + 162: 0xd70087, + 163: 0xd700af, + 164: 0xd700d7, + 165: 0xd700ff, + 166: 0xd75f00, + 167: 0xd75f5f, + 168: 0xd75f87, + 169: 0xd75faf, + 170: 0xd75fd7, + 171: 0xd75fff, + 172: 0xd78700, + 173: 0xd7875f, + 174: 0xd78787, + 175: 0xd787af, + 176: 0xd787d7, + 177: 0xd787ff, + 178: 0xd7af00, + 179: 0xd7af5f, + 180: 0xd7af87, + 181: 0xd7afaf, + 182: 0xd7afd7, + 183: 0xd7afff, + 184: 0xd7d700, + 185: 0xd7d75f, + 186: 0xd7d787, + 187: 0xd7d7af, + 188: 0xd7d7d7, + 189: 0xd7d7ff, + 190: 0xd7ff00, + 191: 0xd7ff5f, + 192: 0xd7ff87, + 193: 0xd7ffaf, + 194: 0xd7ffd7, + 195: 0xd7ffff, + 196: 0xff0000, + 197: 0xff005f, + 198: 0xff0087, + 199: 0xff00af, + 200: 0xff00d7, + 201: 0xff00ff, + 202: 0xff5f00, + 203: 0xff5f5f, + 204: 0xff5f87, + 205: 0xff5faf, + 206: 0xff5fd7, + 207: 0xff5fff, + 208: 0xff8700, + 209: 0xff875f, + 210: 0xff8787, + 211: 0xff87af, + 212: 0xff87d7, + 213: 0xff87ff, + 214: 0xffaf00, + 215: 0xffaf5f, + 216: 0xffaf87, + 217: 0xffafaf, + 218: 0xffafd7, + 219: 0xffafff, + 220: 0xffd700, + 221: 0xffd75f, + 222: 0xffd787, + 223: 0xffd7af, + 224: 0xffd7d7, + 225: 0xffd7ff, + 226: 0xffff00, + 227: 0xffff5f, + 228: 0xffff87, + 229: 0xffffaf, + 230: 0xffffd7, + 231: 0xffffff, + 232: 0x080808, + 233: 0x121212, + 234: 0x1c1c1c, + 235: 0x262626, + 236: 0x303030, + 237: 0x3a3a3a, + 238: 0x444444, + 239: 0x4e4e4e, + 240: 0x585858, + 241: 0x626262, + 242: 0x6c6c6c, + 243: 0x767676, + 244: 0x808080, + 245: 0x8a8a8a, + 246: 0x949494, + 247: 0x9e9e9e, + 248: 0xa8a8a8, + 249: 0xb2b2b2, + 250: 0xbcbcbc, + 251: 0xc6c6c6, + 252: 0xd0d0d0, + 253: 0xdadada, + 254: 0xe4e4e4, + 255: 0xeeeeee, +} + +func (w *writer) Write(data []byte) (n int, err error) { + var csbi consoleScreenBufferInfo + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + + er := bytes.NewBuffer(data) +loop: + for { + r1, _, err := procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + if r1 == 0 { + break loop + } + + c1, _, err := er.ReadRune() + if err != nil { + break loop + } + if c1 != 0x1b { + fmt.Fprint(w.out, string(c1)) + continue + } + c2, _, err := er.ReadRune() + if err != nil { + w.lastbuf.WriteRune(c1) + break loop + } + if c2 != 0x5b { + w.lastbuf.WriteRune(c1) + w.lastbuf.WriteRune(c2) + continue + } + + var buf bytes.Buffer + var m rune + for { + c, _, err := er.ReadRune() + if err != nil { + w.lastbuf.WriteRune(c1) + w.lastbuf.WriteRune(c2) + w.lastbuf.Write(buf.Bytes()) + break loop + } + if ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || c == '@' { + m = c + break + } + buf.Write([]byte(string(c))) + } + + var csbi consoleScreenBufferInfo + switch m { + case 'A': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.y -= short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'B': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.y += short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'C': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x -= short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'D': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + if n, err = strconv.Atoi(buf.String()); err == nil { + var csbi consoleScreenBufferInfo + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x += short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + } + case 'E': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x = 0 + csbi.cursorPosition.y += short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'F': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x = 0 + csbi.cursorPosition.y -= short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'G': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x = short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'H': + token := strings.Split(buf.String(), ";") + if len(token) != 2 { + continue + } + n1, err := strconv.Atoi(token[0]) + if err != nil { + continue + } + n2, err := strconv.Atoi(token[1]) + if err != nil { + continue + } + csbi.cursorPosition.x = short(n2) + csbi.cursorPosition.x = short(n1) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'J': + n, err := strconv.Atoi(buf.String()) + if err != nil { + continue + } + var cursor coord + switch n { + case 0: + cursor = coord{x: csbi.cursorPosition.x, y: csbi.cursorPosition.y} + case 1: + cursor = coord{x: csbi.window.left, y: csbi.window.top} + case 2: + cursor = coord{x: csbi.window.left, y: csbi.window.top} + } + var count, written dword + count = dword(csbi.size.x - csbi.cursorPosition.x + (csbi.size.y-csbi.cursorPosition.y)*csbi.size.x) + procFillConsoleOutputCharacter.Call(uintptr(w.handle), uintptr(' '), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + procFillConsoleOutputAttribute.Call(uintptr(w.handle), uintptr(csbi.attributes), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + case 'K': + n, err := strconv.Atoi(buf.String()) + if err != nil { + continue + } + var cursor coord + switch n { + case 0: + cursor = coord{x: csbi.cursorPosition.x, y: csbi.cursorPosition.y} + case 1: + cursor = coord{x: csbi.window.left, y: csbi.window.top + csbi.cursorPosition.y} + case 2: + cursor = coord{x: csbi.window.left, y: csbi.window.top + csbi.cursorPosition.y} + } + var count, written dword + count = dword(csbi.size.x - csbi.cursorPosition.x) + procFillConsoleOutputCharacter.Call(uintptr(w.handle), uintptr(' '), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + procFillConsoleOutputAttribute.Call(uintptr(w.handle), uintptr(csbi.attributes), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + case 'm': + attr := csbi.attributes + cs := buf.String() + if cs == "" { + procSetConsoleTextAttribute.Call(uintptr(w.handle), uintptr(w.oldattr)) + continue + } + token := strings.Split(cs, ";") + for i := 0; i < len(token); i += 1 { + ns := token[i] + if n, err = strconv.Atoi(ns); err == nil { + switch { + case n == 0 || n == 100: + attr = w.oldattr + case 1 <= n && n <= 5: + attr |= foregroundIntensity + case n == 7: + attr = ((attr & foregroundMask) << 4) | ((attr & backgroundMask) >> 4) + case 22 == n || n == 25 || n == 25: + attr |= foregroundIntensity + case n == 27: + attr = ((attr & foregroundMask) << 4) | ((attr & backgroundMask) >> 4) + case 30 <= n && n <= 37: + attr = (attr & backgroundMask) + if (n-30)&1 != 0 { + attr |= foregroundRed + } + if (n-30)&2 != 0 { + attr |= foregroundGreen + } + if (n-30)&4 != 0 { + attr |= foregroundBlue + } + case n == 38: // set foreground color. + if i < len(token)-2 && (token[i+1] == "5" || token[i+1] == "05") { + if n256, err := strconv.Atoi(token[i+2]); err == nil { + if n256foreAttr == nil { + n256setup() + } + attr &= backgroundMask + attr |= n256foreAttr[n256] + i += 2 + } + } else { + attr = attr & (w.oldattr & backgroundMask) + } + case n == 39: // reset foreground color. + attr &= backgroundMask + attr |= w.oldattr & foregroundMask + case 40 <= n && n <= 47: + attr = (attr & foregroundMask) + if (n-40)&1 != 0 { + attr |= backgroundRed + } + if (n-40)&2 != 0 { + attr |= backgroundGreen + } + if (n-40)&4 != 0 { + attr |= backgroundBlue + } + case n == 48: // set background color. + if i < len(token)-2 && token[i+1] == "5" { + if n256, err := strconv.Atoi(token[i+2]); err == nil { + if n256backAttr == nil { + n256setup() + } + attr &= foregroundMask + attr |= n256backAttr[n256] + i += 2 + } + } else { + attr = attr & (w.oldattr & foregroundMask) + } + case n == 49: // reset foreground color. + attr &= foregroundMask + attr |= w.oldattr & backgroundMask + case 90 <= n && n <= 97: + attr = (attr & backgroundMask) + attr |= foregroundIntensity + if (n-90)&1 != 0 { + attr |= foregroundRed + } + if (n-90)&2 != 0 { + attr |= foregroundGreen + } + if (n-90)&4 != 0 { + attr |= foregroundBlue + } + case 100 <= n && n <= 107: + attr = (attr & foregroundMask) + attr |= backgroundIntensity + if (n-100)&1 != 0 { + attr |= backgroundRed + } + if (n-100)&2 != 0 { + attr |= backgroundGreen + } + if (n-100)&4 != 0 { + attr |= backgroundBlue + } + } + procSetConsoleTextAttribute.Call(uintptr(w.handle), uintptr(attr)) + } + } + } + } + return len(data) - w.lastbuf.Len(), nil +} + +type consoleColor struct { + rgb int + red bool + green bool + blue bool + intensity bool +} + +func (c consoleColor) foregroundAttr() (attr word) { + if c.red { + attr |= foregroundRed + } + if c.green { + attr |= foregroundGreen + } + if c.blue { + attr |= foregroundBlue + } + if c.intensity { + attr |= foregroundIntensity + } + return +} + +func (c consoleColor) backgroundAttr() (attr word) { + if c.red { + attr |= backgroundRed + } + if c.green { + attr |= backgroundGreen + } + if c.blue { + attr |= backgroundBlue + } + if c.intensity { + attr |= backgroundIntensity + } + return +} + +var color16 = []consoleColor{ + consoleColor{0x000000, false, false, false, false}, + consoleColor{0x000080, false, false, true, false}, + consoleColor{0x008000, false, true, false, false}, + consoleColor{0x008080, false, true, true, false}, + consoleColor{0x800000, true, false, false, false}, + consoleColor{0x800080, true, false, true, false}, + consoleColor{0x808000, true, true, false, false}, + consoleColor{0xc0c0c0, true, true, true, false}, + consoleColor{0x808080, false, false, false, true}, + consoleColor{0x0000ff, false, false, true, true}, + consoleColor{0x00ff00, false, true, false, true}, + consoleColor{0x00ffff, false, true, true, true}, + consoleColor{0xff0000, true, false, false, true}, + consoleColor{0xff00ff, true, false, true, true}, + consoleColor{0xffff00, true, true, false, true}, + consoleColor{0xffffff, true, true, true, true}, +} + +type hsv struct { + h, s, v float32 +} + +func (a hsv) dist(b hsv) float32 { + dh := a.h - b.h + switch { + case dh > 0.5: + dh = 1 - dh + case dh < -0.5: + dh = -1 - dh + } + ds := a.s - b.s + dv := a.v - b.v + return float32(math.Sqrt(float64(dh*dh + ds*ds + dv*dv))) +} + +func toHSV(rgb int) hsv { + r, g, b := float32((rgb&0xFF0000)>>16)/256.0, + float32((rgb&0x00FF00)>>8)/256.0, + float32(rgb&0x0000FF)/256.0 + min, max := minmax3f(r, g, b) + h := max - min + if h > 0 { + if max == r { + h = (g - b) / h + if h < 0 { + h += 6 + } + } else if max == g { + h = 2 + (b-r)/h + } else { + h = 4 + (r-g)/h + } + } + h /= 6.0 + s := max - min + if max != 0 { + s /= max + } + v := max + return hsv{h: h, s: s, v: v} +} + +type hsvTable []hsv + +func toHSVTable(rgbTable []consoleColor) hsvTable { + t := make(hsvTable, len(rgbTable)) + for i, c := range rgbTable { + t[i] = toHSV(c.rgb) + } + return t +} + +func (t hsvTable) find(rgb int) consoleColor { + hsv := toHSV(rgb) + n := 7 + l := float32(5.0) + for i, p := range t { + d := hsv.dist(p) + if d < l { + l, n = d, i + } + } + return color16[n] +} + +func minmax3f(a, b, c float32) (min, max float32) { + if a < b { + if b < c { + return a, c + } else if a < c { + return a, b + } else { + return c, b + } + } else { + if a < c { + return b, c + } else if b < c { + return b, a + } else { + return c, a + } + } +} + +var n256foreAttr []word +var n256backAttr []word + +func n256setup() { + n256foreAttr = make([]word, 256) + n256backAttr = make([]word, 256) + t := toHSVTable(color16) + for i, rgb := range color256 { + c := t.find(rgb) + n256foreAttr[i] = c.foregroundAttr() + n256backAttr[i] = c.backgroundAttr() + } +} diff --git a/vendor/github.com/onsi/ginkgo/v2/formatter/formatter.go b/vendor/github.com/onsi/ginkgo/v2/formatter/formatter.go new file mode 100644 index 000000000..4d5749114 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/formatter/formatter.go @@ -0,0 +1,234 @@ +package formatter + +import ( + "fmt" + "os" + "regexp" + "strconv" + "strings" +) + +// ColorableStdOut and ColorableStdErr enable color output support on Windows +var ColorableStdOut = newColorable(os.Stdout) +var ColorableStdErr = newColorable(os.Stderr) + +const COLS = 80 + +type ColorMode uint8 + +const ( + ColorModeNone ColorMode = iota + ColorModeTerminal + ColorModePassthrough +) + +var SingletonFormatter = New(ColorModeTerminal) + +func F(format string, args ...interface{}) string { + return SingletonFormatter.F(format, args...) +} + +func Fi(indentation uint, format string, args ...interface{}) string { + return SingletonFormatter.Fi(indentation, format, args...) +} + +func Fiw(indentation uint, maxWidth uint, format string, args ...interface{}) string { + return SingletonFormatter.Fiw(indentation, maxWidth, format, args...) +} + +type Formatter struct { + ColorMode ColorMode + colors map[string]string + styleRe *regexp.Regexp + preserveColorStylingTags bool +} + +func NewWithNoColorBool(noColor bool) Formatter { + if noColor { + return New(ColorModeNone) + } + return New(ColorModeTerminal) +} + +func New(colorMode ColorMode) Formatter { + colorAliases := map[string]int{ + "black": 0, + "red": 1, + "green": 2, + "yellow": 3, + "blue": 4, + "magenta": 5, + "cyan": 6, + "white": 7, + } + for colorAlias, n := range colorAliases { + colorAliases[fmt.Sprintf("bright-%s", colorAlias)] = n + 8 + } + + getColor := func(color, defaultEscapeCode string) string { + color = strings.ToUpper(strings.ReplaceAll(color, "-", "_")) + envVar := fmt.Sprintf("GINKGO_CLI_COLOR_%s", color) + envVarColor := os.Getenv(envVar) + if envVarColor == "" { + return defaultEscapeCode + } + if colorCode, ok := colorAliases[envVarColor]; ok { + return fmt.Sprintf("\x1b[38;5;%dm", colorCode) + } + colorCode, err := strconv.Atoi(envVarColor) + if err != nil || colorCode < 0 || colorCode > 255 { + return defaultEscapeCode + } + return fmt.Sprintf("\x1b[38;5;%dm", colorCode) + } + + if _, noColor := os.LookupEnv("GINKGO_NO_COLOR"); noColor { + colorMode = ColorModeNone + } + + f := Formatter{ + ColorMode: colorMode, + colors: map[string]string{ + "/": "\x1b[0m", + "bold": "\x1b[1m", + "underline": "\x1b[4m", + + "red": getColor("red", "\x1b[38;5;9m"), + "orange": getColor("orange", "\x1b[38;5;214m"), + "coral": getColor("coral", "\x1b[38;5;204m"), + "magenta": getColor("magenta", "\x1b[38;5;13m"), + "green": getColor("green", "\x1b[38;5;10m"), + "dark-green": getColor("dark-green", "\x1b[38;5;28m"), + "yellow": getColor("yellow", "\x1b[38;5;11m"), + "light-yellow": getColor("light-yellow", "\x1b[38;5;228m"), + "cyan": getColor("cyan", "\x1b[38;5;14m"), + "gray": getColor("gray", "\x1b[38;5;243m"), + "light-gray": getColor("light-gray", "\x1b[38;5;246m"), + "blue": getColor("blue", "\x1b[38;5;12m"), + }, + } + colors := []string{} + for color := range f.colors { + colors = append(colors, color) + } + f.styleRe = regexp.MustCompile("{{(" + strings.Join(colors, "|") + ")}}") + return f +} + +func (f Formatter) F(format string, args ...interface{}) string { + return f.Fi(0, format, args...) +} + +func (f Formatter) Fi(indentation uint, format string, args ...interface{}) string { + return f.Fiw(indentation, 0, format, args...) +} + +func (f Formatter) Fiw(indentation uint, maxWidth uint, format string, args ...interface{}) string { + out := f.style(format) + if len(args) > 0 { + out = fmt.Sprintf(out, args...) + } + + if indentation == 0 && maxWidth == 0 { + return out + } + + lines := strings.Split(out, "\n") + + if maxWidth != 0 { + outLines := []string{} + + maxWidth = maxWidth - indentation*2 + for _, line := range lines { + if f.length(line) <= maxWidth { + outLines = append(outLines, line) + continue + } + words := strings.Split(line, " ") + outWords := []string{words[0]} + length := uint(f.length(words[0])) + for _, word := range words[1:] { + wordLength := f.length(word) + if length+wordLength+1 <= maxWidth { + length += wordLength + 1 + outWords = append(outWords, word) + continue + } + outLines = append(outLines, strings.Join(outWords, " ")) + outWords = []string{word} + length = wordLength + } + if len(outWords) > 0 { + outLines = append(outLines, strings.Join(outWords, " ")) + } + } + + lines = outLines + } + + if indentation == 0 { + return strings.Join(lines, "\n") + } + + padding := strings.Repeat(" ", int(indentation)) + for i := range lines { + if lines[i] != "" { + lines[i] = padding + lines[i] + } + } + + return strings.Join(lines, "\n") +} + +func (f Formatter) length(styled string) uint { + n := uint(0) + inStyle := false + for _, b := range styled { + if inStyle { + if b == 'm' { + inStyle = false + } + continue + } + if b == '\x1b' { + inStyle = true + continue + } + n += 1 + } + return n +} + +func (f Formatter) CycleJoin(elements []string, joiner string, cycle []string) string { + if len(elements) == 0 { + return "" + } + n := len(cycle) + out := "" + for i, text := range elements { + out += cycle[i%n] + text + if i < len(elements)-1 { + out += joiner + } + } + out += "{{/}}" + return f.style(out) +} + +func (f Formatter) style(s string) string { + switch f.ColorMode { + case ColorModeNone: + return f.styleRe.ReplaceAllString(s, "") + case ColorModePassthrough: + return s + case ColorModeTerminal: + return f.styleRe.ReplaceAllStringFunc(s, func(match string) string { + if out, ok := f.colors[strings.Trim(match, "{}")]; ok { + return out + } + return match + }) + } + + return "" +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/build/build_command.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/build/build_command.go new file mode 100644 index 000000000..fd1726084 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/build/build_command.go @@ -0,0 +1,76 @@ +package build + +import ( + "fmt" + "os" + "path" + + "github.com/onsi/ginkgo/v2/ginkgo/command" + "github.com/onsi/ginkgo/v2/ginkgo/internal" + "github.com/onsi/ginkgo/v2/types" +) + +func BuildBuildCommand() command.Command { + var cliConfig = types.NewDefaultCLIConfig() + var goFlagsConfig = types.NewDefaultGoFlagsConfig() + + flags, err := types.BuildBuildCommandFlagSet(&cliConfig, &goFlagsConfig) + if err != nil { + panic(err) + } + + return command.Command{ + Name: "build", + Flags: flags, + Usage: "ginkgo build ", + ShortDoc: "Build the passed in (or the package in the current directory if left blank).", + DocLink: "precompiling-suites", + Command: func(args []string, _ []string) { + var errors []error + cliConfig, goFlagsConfig, errors = types.VetAndInitializeCLIAndGoConfig(cliConfig, goFlagsConfig) + command.AbortIfErrors("Ginkgo detected configuration issues:", errors) + + buildSpecs(args, cliConfig, goFlagsConfig) + }, + } +} + +func buildSpecs(args []string, cliConfig types.CLIConfig, goFlagsConfig types.GoFlagsConfig) { + suites := internal.FindSuites(args, cliConfig, false).WithoutState(internal.TestSuiteStateSkippedByFilter) + if len(suites) == 0 { + command.AbortWith("Found no test suites") + } + + internal.VerifyCLIAndFrameworkVersion(suites) + + opc := internal.NewOrderedParallelCompiler(cliConfig.ComputedNumCompilers()) + opc.StartCompiling(suites, goFlagsConfig) + + for { + suiteIdx, suite := opc.Next() + if suiteIdx >= len(suites) { + break + } + suites[suiteIdx] = suite + if suite.State.Is(internal.TestSuiteStateFailedToCompile) { + fmt.Println(suite.CompilationError.Error()) + } else { + if len(goFlagsConfig.O) == 0 { + goFlagsConfig.O = path.Join(suite.Path, suite.PackageName+".test") + } else { + stat, err := os.Stat(goFlagsConfig.O) + if err != nil { + panic(err) + } + if stat.IsDir() { + goFlagsConfig.O += "/" + suite.PackageName + ".test" + } + } + fmt.Printf("Compiled %s\n", goFlagsConfig.O) + } + } + + if suites.CountWithState(internal.TestSuiteStateFailedToCompile) > 0 { + command.AbortWith("Failed to compile all tests") + } +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/command/abort.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/command/abort.go new file mode 100644 index 000000000..2efd28608 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/command/abort.go @@ -0,0 +1,61 @@ +package command + +import "fmt" + +type AbortDetails struct { + ExitCode int + Error error + EmitUsage bool +} + +func Abort(details AbortDetails) { + panic(details) +} + +func AbortGracefullyWith(format string, args ...interface{}) { + Abort(AbortDetails{ + ExitCode: 0, + Error: fmt.Errorf(format, args...), + EmitUsage: false, + }) +} + +func AbortWith(format string, args ...interface{}) { + Abort(AbortDetails{ + ExitCode: 1, + Error: fmt.Errorf(format, args...), + EmitUsage: false, + }) +} + +func AbortWithUsage(format string, args ...interface{}) { + Abort(AbortDetails{ + ExitCode: 1, + Error: fmt.Errorf(format, args...), + EmitUsage: true, + }) +} + +func AbortIfError(preamble string, err error) { + if err != nil { + Abort(AbortDetails{ + ExitCode: 1, + Error: fmt.Errorf("%s\n%s", preamble, err.Error()), + EmitUsage: false, + }) + } +} + +func AbortIfErrors(preamble string, errors []error) { + if len(errors) > 0 { + out := "" + for _, err := range errors { + out += err.Error() + } + Abort(AbortDetails{ + ExitCode: 1, + Error: fmt.Errorf("%s\n%s", preamble, out), + EmitUsage: false, + }) + } +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/command/command.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/command/command.go new file mode 100644 index 000000000..12e0e5659 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/command/command.go @@ -0,0 +1,50 @@ +package command + +import ( + "fmt" + "io" + "strings" + + "github.com/onsi/ginkgo/v2/formatter" + "github.com/onsi/ginkgo/v2/types" +) + +type Command struct { + Name string + Flags types.GinkgoFlagSet + Usage string + ShortDoc string + Documentation string + DocLink string + Command func(args []string, additionalArgs []string) +} + +func (c Command) Run(args []string, additionalArgs []string) { + args, err := c.Flags.Parse(args) + if err != nil { + AbortWithUsage(err.Error()) + } + + c.Command(args, additionalArgs) +} + +func (c Command) EmitUsage(writer io.Writer) { + fmt.Fprintln(writer, formatter.F("{{bold}}"+c.Usage+"{{/}}")) + fmt.Fprintln(writer, formatter.F("{{gray}}%s{{/}}", strings.Repeat("-", len(c.Usage)))) + if c.ShortDoc != "" { + fmt.Fprintln(writer, formatter.Fiw(0, formatter.COLS, c.ShortDoc)) + fmt.Fprintln(writer, "") + } + if c.Documentation != "" { + fmt.Fprintln(writer, formatter.Fiw(0, formatter.COLS, c.Documentation)) + fmt.Fprintln(writer, "") + } + if c.DocLink != "" { + fmt.Fprintln(writer, formatter.Fi(0, "{{bold}}Learn more at:{{/}} {{cyan}}{{underline}}http://onsi.github.io/ginkgo/#%s{{/}}", c.DocLink)) + fmt.Fprintln(writer, "") + } + flagUsage := c.Flags.Usage() + if flagUsage != "" { + fmt.Fprintf(writer, formatter.F(flagUsage)) + } +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/command/program.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/command/program.go new file mode 100644 index 000000000..88dd8d6b0 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/command/program.go @@ -0,0 +1,182 @@ +package command + +import ( + "fmt" + "io" + "os" + "strings" + + "github.com/onsi/ginkgo/v2/formatter" + "github.com/onsi/ginkgo/v2/types" +) + +type Program struct { + Name string + Heading string + Commands []Command + DefaultCommand Command + DeprecatedCommands []DeprecatedCommand + + //For testing - leave as nil in production + OutWriter io.Writer + ErrWriter io.Writer + Exiter func(code int) +} + +type DeprecatedCommand struct { + Name string + Deprecation types.Deprecation +} + +func (p Program) RunAndExit(osArgs []string) { + var command Command + deprecationTracker := types.NewDeprecationTracker() + if p.Exiter == nil { + p.Exiter = os.Exit + } + if p.OutWriter == nil { + p.OutWriter = formatter.ColorableStdOut + } + if p.ErrWriter == nil { + p.ErrWriter = formatter.ColorableStdErr + } + + defer func() { + exitCode := 0 + + if r := recover(); r != nil { + details, ok := r.(AbortDetails) + if !ok { + panic(r) + } + + if details.Error != nil { + fmt.Fprintln(p.ErrWriter, formatter.F("{{red}}{{bold}}%s %s{{/}} {{red}}failed{{/}}", p.Name, command.Name)) + fmt.Fprintln(p.ErrWriter, formatter.Fi(1, details.Error.Error())) + } + if details.EmitUsage { + if details.Error != nil { + fmt.Fprintln(p.ErrWriter, "") + } + command.EmitUsage(p.ErrWriter) + } + exitCode = details.ExitCode + } + + command.Flags.ValidateDeprecations(deprecationTracker) + if deprecationTracker.DidTrackDeprecations() { + fmt.Fprintln(p.ErrWriter, deprecationTracker.DeprecationsReport()) + } + p.Exiter(exitCode) + return + }() + + args, additionalArgs := []string{}, []string{} + + foundDelimiter := false + for _, arg := range osArgs[1:] { + if !foundDelimiter { + if arg == "--" { + foundDelimiter = true + continue + } + } + + if foundDelimiter { + additionalArgs = append(additionalArgs, arg) + } else { + args = append(args, arg) + } + } + + command = p.DefaultCommand + if len(args) > 0 { + p.handleHelpRequestsAndExit(p.OutWriter, args) + if command.Name == args[0] { + args = args[1:] + } else { + for _, deprecatedCommand := range p.DeprecatedCommands { + if deprecatedCommand.Name == args[0] { + deprecationTracker.TrackDeprecation(deprecatedCommand.Deprecation) + return + } + } + for _, tryCommand := range p.Commands { + if tryCommand.Name == args[0] { + command, args = tryCommand, args[1:] + break + } + } + } + } + + command.Run(args, additionalArgs) +} + +func (p Program) handleHelpRequestsAndExit(writer io.Writer, args []string) { + if len(args) == 0 { + return + } + + matchesHelpFlag := func(args ...string) bool { + for _, arg := range args { + if arg == "--help" || arg == "-help" || arg == "-h" || arg == "--h" { + return true + } + } + return false + } + if len(args) == 1 { + if args[0] == "help" || matchesHelpFlag(args[0]) { + p.EmitUsage(writer) + Abort(AbortDetails{}) + } + } else { + var name string + if args[0] == "help" || matchesHelpFlag(args[0]) { + name = args[1] + } else if matchesHelpFlag(args[1:]...) { + name = args[0] + } else { + return + } + + if p.DefaultCommand.Name == name || p.Name == name { + p.DefaultCommand.EmitUsage(writer) + Abort(AbortDetails{}) + } + for _, command := range p.Commands { + if command.Name == name { + command.EmitUsage(writer) + Abort(AbortDetails{}) + } + } + + fmt.Fprintln(writer, formatter.F("{{red}}Unknown Command: {{bold}}%s{{/}}", name)) + fmt.Fprintln(writer, "") + p.EmitUsage(writer) + Abort(AbortDetails{ExitCode: 1}) + } + return +} + +func (p Program) EmitUsage(writer io.Writer) { + fmt.Fprintln(writer, formatter.F(p.Heading)) + fmt.Fprintln(writer, formatter.F("{{gray}}%s{{/}}", strings.Repeat("-", len(p.Heading)))) + fmt.Fprintln(writer, formatter.F("For usage information for a command, run {{bold}}%s help COMMAND{{/}}.", p.Name)) + fmt.Fprintln(writer, formatter.F("For usage information for the default command, run {{bold}}%s help %s{{/}} or {{bold}}%s help %s{{/}}.", p.Name, p.Name, p.Name, p.DefaultCommand.Name)) + fmt.Fprintln(writer, "") + fmt.Fprintln(writer, formatter.F("The following commands are available:")) + + fmt.Fprintln(writer, formatter.Fi(1, "{{bold}}%s{{/}} or %s {{bold}}%s{{/}} - {{gray}}%s{{/}}", p.Name, p.Name, p.DefaultCommand.Name, p.DefaultCommand.Usage)) + if p.DefaultCommand.ShortDoc != "" { + fmt.Fprintln(writer, formatter.Fi(2, p.DefaultCommand.ShortDoc)) + } + + for _, command := range p.Commands { + fmt.Fprintln(writer, formatter.Fi(1, "{{bold}}%s{{/}} - {{gray}}%s{{/}}", command.Name, command.Usage)) + if command.ShortDoc != "" { + fmt.Fprintln(writer, formatter.Fi(2, command.ShortDoc)) + } + } +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/boostrap_templates.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/boostrap_templates.go new file mode 100644 index 000000000..a367a1fc9 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/boostrap_templates.go @@ -0,0 +1,48 @@ +package generators + +var bootstrapText = `package {{.Package}} + +import ( + "testing" + + {{.GinkgoImport}} + {{.GomegaImport}} +) + +func Test{{.FormattedName}}(t *testing.T) { + {{.GomegaPackage}}RegisterFailHandler({{.GinkgoPackage}}Fail) + {{.GinkgoPackage}}RunSpecs(t, "{{.FormattedName}} Suite") +} +` + +var agoutiBootstrapText = `package {{.Package}} + +import ( + "testing" + + {{.GinkgoImport}} + {{.GomegaImport}} + "github.com/sclevine/agouti" +) + +func Test{{.FormattedName}}(t *testing.T) { + {{.GomegaPackage}}RegisterFailHandler({{.GinkgoPackage}}Fail) + {{.GinkgoPackage}}RunSpecs(t, "{{.FormattedName}} Suite") +} + +var agoutiDriver *agouti.WebDriver + +var _ = {{.GinkgoPackage}}BeforeSuite(func() { + // Choose a WebDriver: + + agoutiDriver = agouti.PhantomJS() + // agoutiDriver = agouti.Selenium() + // agoutiDriver = agouti.ChromeDriver() + + {{.GomegaPackage}}Expect(agoutiDriver.Start()).To({{.GomegaPackage}}Succeed()) +}) + +var _ = {{.GinkgoPackage}}AfterSuite(func() { + {{.GomegaPackage}}Expect(agoutiDriver.Stop()).To({{.GomegaPackage}}Succeed()) +}) +` diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/bootstrap_command.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/bootstrap_command.go new file mode 100644 index 000000000..b2dc59be6 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/bootstrap_command.go @@ -0,0 +1,133 @@ +package generators + +import ( + "bytes" + "encoding/json" + "fmt" + "os" + "text/template" + + sprig "github.com/go-task/slim-sprig/v3" + "github.com/onsi/ginkgo/v2/ginkgo/command" + "github.com/onsi/ginkgo/v2/ginkgo/internal" + "github.com/onsi/ginkgo/v2/types" +) + +func BuildBootstrapCommand() command.Command { + conf := GeneratorsConfig{} + flags, err := types.NewGinkgoFlagSet( + types.GinkgoFlags{ + {Name: "agouti", KeyPath: "Agouti", + Usage: "If set, bootstrap will generate a bootstrap file for writing Agouti tests"}, + {Name: "nodot", KeyPath: "NoDot", + Usage: "If set, bootstrap will generate a bootstrap test file that does not dot-import ginkgo and gomega"}, + {Name: "internal", KeyPath: "Internal", + Usage: "If set, bootstrap will generate a bootstrap test file that uses the regular package name (i.e. `package X`, not `package X_test`)"}, + {Name: "template", KeyPath: "CustomTemplate", + UsageArgument: "template-file", + Usage: "If specified, generate will use the contents of the file passed as the bootstrap template"}, + {Name: "template-data", KeyPath: "CustomTemplateData", + UsageArgument: "template-data-file", + Usage: "If specified, generate will use the contents of the file passed as data to be rendered in the bootstrap template"}, + }, + &conf, + types.GinkgoFlagSections{}, + ) + + if err != nil { + panic(err) + } + + return command.Command{ + Name: "bootstrap", + Usage: "ginkgo bootstrap", + ShortDoc: "Bootstrap a test suite for the current package", + Documentation: `Tests written in Ginkgo and Gomega require a small amount of boilerplate to hook into Go's testing infrastructure. + +{{bold}}ginkgo bootstrap{{/}} generates this boilerplate for you in a file named X_suite_test.go where X is the name of the package under test.`, + DocLink: "generators", + Flags: flags, + Command: func(_ []string, _ []string) { + generateBootstrap(conf) + }, + } +} + +type bootstrapData struct { + Package string + FormattedName string + + GinkgoImport string + GomegaImport string + GinkgoPackage string + GomegaPackage string + CustomData map[string]any +} + +func generateBootstrap(conf GeneratorsConfig) { + packageName, bootstrapFilePrefix, formattedName := getPackageAndFormattedName() + + data := bootstrapData{ + Package: determinePackageName(packageName, conf.Internal), + FormattedName: formattedName, + + GinkgoImport: `. "github.com/onsi/ginkgo/v2"`, + GomegaImport: `. "github.com/onsi/gomega"`, + GinkgoPackage: "", + GomegaPackage: "", + } + + if conf.NoDot { + data.GinkgoImport = `"github.com/onsi/ginkgo/v2"` + data.GomegaImport = `"github.com/onsi/gomega"` + data.GinkgoPackage = `ginkgo.` + data.GomegaPackage = `gomega.` + } + + targetFile := fmt.Sprintf("%s_suite_test.go", bootstrapFilePrefix) + if internal.FileExists(targetFile) { + command.AbortWith("{{bold}}%s{{/}} already exists", targetFile) + } else { + fmt.Printf("Generating ginkgo test suite bootstrap for %s in:\n\t%s\n", packageName, targetFile) + } + + f, err := os.Create(targetFile) + command.AbortIfError("Failed to create file:", err) + defer f.Close() + + var templateText string + if conf.CustomTemplate != "" { + tpl, err := os.ReadFile(conf.CustomTemplate) + command.AbortIfError("Failed to read custom bootstrap file:", err) + templateText = string(tpl) + if conf.CustomTemplateData != "" { + var tplCustomDataMap map[string]any + tplCustomData, err := os.ReadFile(conf.CustomTemplateData) + command.AbortIfError("Failed to read custom boostrap data file:", err) + if !json.Valid([]byte(tplCustomData)) { + command.AbortWith("Invalid JSON object in custom data file.") + } + //create map from the custom template data + json.Unmarshal(tplCustomData, &tplCustomDataMap) + data.CustomData = tplCustomDataMap + } + } else if conf.Agouti { + templateText = agoutiBootstrapText + } else { + templateText = bootstrapText + } + + //Setting the option to explicitly fail if template is rendered trying to access missing key + bootstrapTemplate, err := template.New("bootstrap").Funcs(sprig.TxtFuncMap()).Option("missingkey=error").Parse(templateText) + command.AbortIfError("Failed to parse bootstrap template:", err) + + buf := &bytes.Buffer{} + //Being explicit about failing sooner during template rendering + //when accessing custom data rather than during the go fmt command + err = bootstrapTemplate.Execute(buf, data) + command.AbortIfError("Failed to render bootstrap template:", err) + + buf.WriteTo(f) + + internal.GoFmt(targetFile) +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_command.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_command.go new file mode 100644 index 000000000..cf3b7cb6d --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_command.go @@ -0,0 +1,265 @@ +package generators + +import ( + "bytes" + "encoding/json" + "fmt" + "os" + "path/filepath" + "strconv" + "strings" + "text/template" + + sprig "github.com/go-task/slim-sprig/v3" + "github.com/onsi/ginkgo/v2/ginkgo/command" + "github.com/onsi/ginkgo/v2/ginkgo/internal" + "github.com/onsi/ginkgo/v2/types" +) + +func BuildGenerateCommand() command.Command { + conf := GeneratorsConfig{} + flags, err := types.NewGinkgoFlagSet( + types.GinkgoFlags{ + {Name: "agouti", KeyPath: "Agouti", + Usage: "If set, generate will create a test file for writing Agouti tests"}, + {Name: "nodot", KeyPath: "NoDot", + Usage: "If set, generate will create a test file that does not dot-import ginkgo and gomega"}, + {Name: "internal", KeyPath: "Internal", + Usage: "If set, generate will create a test file that uses the regular package name (i.e. `package X`, not `package X_test`)"}, + {Name: "template", KeyPath: "CustomTemplate", + UsageArgument: "template-file", + Usage: "If specified, generate will use the contents of the file passed as the test file template"}, + {Name: "template-data", KeyPath: "CustomTemplateData", + UsageArgument: "template-data-file", + Usage: "If specified, generate will use the contents of the file passed as data to be rendered in the test file template"}, + {Name: "tags", KeyPath: "Tags", + UsageArgument: "build-tags", + Usage: "If specified, generate will create a test file that uses the given build tags (i.e. `--tags e2e,!unit` will add `//go:build e2e,!unit`)"}, + }, + &conf, + types.GinkgoFlagSections{}, + ) + + if err != nil { + panic(err) + } + + return command.Command{ + Name: "generate", + Usage: "ginkgo generate ", + ShortDoc: "Generate a test file named _test.go", + Documentation: `If the optional argument is omitted, a file named after the package in the current directory will be created. + +You can pass multiple to generate multiple files simultaneously. The resulting files are named _test.go. + +You can also pass a of the form "file.go" and generate will emit "file_test.go".`, + DocLink: "generators", + Flags: flags, + Command: func(args []string, _ []string) { + generateTestFiles(conf, args) + }, + } +} + +type specData struct { + BuildTags string + Package string + Subject string + PackageImportPath string + ImportPackage bool + + GinkgoImport string + GomegaImport string + GinkgoPackage string + GomegaPackage string + CustomData map[string]any +} + +func generateTestFiles(conf GeneratorsConfig, args []string) { + subjects := args + if len(subjects) == 0 { + subjects = []string{""} + } + for _, subject := range subjects { + generateTestFileForSubject(subject, conf) + } +} + +func generateTestFileForSubject(subject string, conf GeneratorsConfig) { + packageName, specFilePrefix, formattedName := getPackageAndFormattedName() + if subject != "" { + specFilePrefix = formatSubject(subject) + formattedName = prettifyName(specFilePrefix) + } + + if conf.Internal { + specFilePrefix = specFilePrefix + "_internal" + } + + data := specData{ + BuildTags: getBuildTags(conf.Tags), + Package: determinePackageName(packageName, conf.Internal), + Subject: formattedName, + PackageImportPath: getPackageImportPath(), + ImportPackage: !conf.Internal, + + GinkgoImport: `. "github.com/onsi/ginkgo/v2"`, + GomegaImport: `. "github.com/onsi/gomega"`, + GinkgoPackage: "", + GomegaPackage: "", + } + + if conf.NoDot { + data.GinkgoImport = `"github.com/onsi/ginkgo/v2"` + data.GomegaImport = `"github.com/onsi/gomega"` + data.GinkgoPackage = `ginkgo.` + data.GomegaPackage = `gomega.` + } + + targetFile := fmt.Sprintf("%s_test.go", specFilePrefix) + if internal.FileExists(targetFile) { + command.AbortWith("{{bold}}%s{{/}} already exists", targetFile) + } else { + fmt.Printf("Generating ginkgo test for %s in:\n %s\n", data.Subject, targetFile) + } + + f, err := os.Create(targetFile) + command.AbortIfError("Failed to create test file:", err) + defer f.Close() + + var templateText string + if conf.CustomTemplate != "" { + tpl, err := os.ReadFile(conf.CustomTemplate) + command.AbortIfError("Failed to read custom template file:", err) + templateText = string(tpl) + if conf.CustomTemplateData != "" { + var tplCustomDataMap map[string]any + tplCustomData, err := os.ReadFile(conf.CustomTemplateData) + command.AbortIfError("Failed to read custom template data file:", err) + if !json.Valid([]byte(tplCustomData)) { + command.AbortWith("Invalid JSON object in custom data file.") + } + //create map from the custom template data + json.Unmarshal(tplCustomData, &tplCustomDataMap) + data.CustomData = tplCustomDataMap + } + } else if conf.Agouti { + templateText = agoutiSpecText + } else { + templateText = specText + } + + //Setting the option to explicitly fail if template is rendered trying to access missing key + specTemplate, err := template.New("spec").Funcs(sprig.TxtFuncMap()).Option("missingkey=error").Parse(templateText) + command.AbortIfError("Failed to read parse test template:", err) + + //Being explicit about failing sooner during template rendering + //when accessing custom data rather than during the go fmt command + err = specTemplate.Execute(f, data) + command.AbortIfError("Failed to render bootstrap template:", err) + internal.GoFmt(targetFile) +} + +func formatSubject(name string) string { + name = strings.ReplaceAll(name, "-", "_") + name = strings.ReplaceAll(name, " ", "_") + name = strings.Split(name, ".go")[0] + name = strings.Split(name, "_test")[0] + return name +} + +// moduleName returns module name from go.mod from given module root directory +func moduleName(modRoot string) string { + modFile, err := os.Open(filepath.Join(modRoot, "go.mod")) + if err != nil { + return "" + } + defer modFile.Close() + + mod := make([]byte, 128) + _, err = modFile.Read(mod) + if err != nil { + return "" + } + + slashSlash := []byte("//") + moduleStr := []byte("module") + + for len(mod) > 0 { + line := mod + mod = nil + if i := bytes.IndexByte(line, '\n'); i >= 0 { + line, mod = line[:i], line[i+1:] + } + if i := bytes.Index(line, slashSlash); i >= 0 { + line = line[:i] + } + line = bytes.TrimSpace(line) + if !bytes.HasPrefix(line, moduleStr) { + continue + } + line = line[len(moduleStr):] + n := len(line) + line = bytes.TrimSpace(line) + if len(line) == n || len(line) == 0 { + continue + } + + if line[0] == '"' || line[0] == '`' { + p, err := strconv.Unquote(string(line)) + if err != nil { + return "" // malformed quoted string or multiline module path + } + return p + } + + return string(line) + } + + return "" // missing module path +} + +func findModuleRoot(dir string) (root string) { + dir = filepath.Clean(dir) + + // Look for enclosing go.mod. + for { + if fi, err := os.Stat(filepath.Join(dir, "go.mod")); err == nil && !fi.IsDir() { + return dir + } + d := filepath.Dir(dir) + if d == dir { + break + } + dir = d + } + return "" +} + +func getPackageImportPath() string { + workingDir, err := os.Getwd() + if err != nil { + panic(err.Error()) + } + + sep := string(filepath.Separator) + + // Try go.mod file first + modRoot := findModuleRoot(workingDir) + if modRoot != "" { + modName := moduleName(modRoot) + if modName != "" { + cd := strings.ReplaceAll(workingDir, modRoot, "") + cd = strings.ReplaceAll(cd, sep, "/") + return modName + cd + } + } + + // Fallback to GOPATH structure + paths := strings.Split(workingDir, sep+"src"+sep) + if len(paths) == 1 { + fmt.Printf("\nCouldn't identify package import path.\n\n\tginkgo generate\n\nMust be run within a package directory under $GOPATH/src/...\nYou're going to have to change UNKNOWN_PACKAGE_PATH in the generated file...\n\n") + return "UNKNOWN_PACKAGE_PATH" + } + return filepath.ToSlash(paths[len(paths)-1]) +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_templates.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_templates.go new file mode 100644 index 000000000..4dab07d03 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generate_templates.go @@ -0,0 +1,43 @@ +package generators + +var specText = `{{.BuildTags}} +package {{.Package}} + +import ( + {{.GinkgoImport}} + {{.GomegaImport}} + + {{if .ImportPackage}}"{{.PackageImportPath}}"{{end}} +) + +var _ = {{.GinkgoPackage}}Describe("{{.Subject}}", func() { + +}) +` + +var agoutiSpecText = `{{.BuildTags}} +package {{.Package}} + +import ( + {{.GinkgoImport}} + {{.GomegaImport}} + "github.com/sclevine/agouti" + . "github.com/sclevine/agouti/matchers" + + {{if .ImportPackage}}"{{.PackageImportPath}}"{{end}} +) + +var _ = {{.GinkgoPackage}}Describe("{{.Subject}}", func() { + var page *agouti.Page + + {{.GinkgoPackage}}BeforeEach(func() { + var err error + page, err = agoutiDriver.NewPage() + {{.GomegaPackage}}Expect(err).NotTo({{.GomegaPackage}}HaveOccurred()) + }) + + {{.GinkgoPackage}}AfterEach(func() { + {{.GomegaPackage}}Expect(page.Destroy()).To({{.GomegaPackage}}Succeed()) + }) +}) +` diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generators_common.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generators_common.go new file mode 100644 index 000000000..28c7aa6f4 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/generators/generators_common.go @@ -0,0 +1,76 @@ +package generators + +import ( + "fmt" + "go/build" + "os" + "path/filepath" + "strconv" + "strings" + + "github.com/onsi/ginkgo/v2/ginkgo/command" +) + +type GeneratorsConfig struct { + Agouti, NoDot, Internal bool + CustomTemplate string + CustomTemplateData string + Tags string +} + +func getPackageAndFormattedName() (string, string, string) { + path, err := os.Getwd() + command.AbortIfError("Could not get current working directory:", err) + + dirName := strings.ReplaceAll(filepath.Base(path), "-", "_") + dirName = strings.ReplaceAll(dirName, " ", "_") + + pkg, err := build.ImportDir(path, 0) + packageName := pkg.Name + if err != nil { + packageName = ensureLegalPackageName(dirName) + } + + formattedName := prettifyName(filepath.Base(path)) + return packageName, dirName, formattedName +} + +func ensureLegalPackageName(name string) string { + if name == "_" { + return "underscore" + } + if len(name) == 0 { + return "empty" + } + n, isDigitErr := strconv.Atoi(string(name[0])) + if isDigitErr == nil { + return []string{"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"}[n] + name[1:] + } + return name +} + +func prettifyName(name string) string { + name = strings.ReplaceAll(name, "-", " ") + name = strings.ReplaceAll(name, "_", " ") + name = strings.Title(name) + name = strings.ReplaceAll(name, " ", "") + return name +} + +func determinePackageName(name string, internal bool) string { + if internal { + return name + } + + return name + "_test" +} + +// getBuildTags returns the resultant string to be added. +// If the input string is not empty, then returns a `//go:build {}` string, +// otherwise returns an empty string. +func getBuildTags(tags string) string { + if tags != "" { + return fmt.Sprintf("//go:build %s\n", tags) + } + return "" +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/compile.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/compile.go new file mode 100644 index 000000000..48827cc5e --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/compile.go @@ -0,0 +1,173 @@ +package internal + +import ( + "fmt" + "os" + "os/exec" + "path/filepath" + "strings" + "sync" + + "github.com/onsi/ginkgo/v2/types" +) + +func CompileSuite(suite TestSuite, goFlagsConfig types.GoFlagsConfig) TestSuite { + if suite.PathToCompiledTest != "" { + return suite + } + + suite.CompilationError = nil + + path, err := filepath.Abs(filepath.Join(suite.Path, suite.PackageName+".test")) + if err != nil { + suite.State = TestSuiteStateFailedToCompile + suite.CompilationError = fmt.Errorf("Failed to compute compilation target path:\n%s", err.Error()) + return suite + } + + if len(goFlagsConfig.O) > 0 { + userDefinedPath, err := filepath.Abs(goFlagsConfig.O) + if err != nil { + suite.State = TestSuiteStateFailedToCompile + suite.CompilationError = fmt.Errorf("Failed to compute compilation target path %s:\n%s", goFlagsConfig.O, err.Error()) + return suite + } + path = userDefinedPath + } + + goFlagsConfig.O = path + + ginkgoInvocationPath, _ := os.Getwd() + ginkgoInvocationPath, _ = filepath.Abs(ginkgoInvocationPath) + packagePath := suite.AbsPath() + pathToInvocationPath, err := filepath.Rel(packagePath, ginkgoInvocationPath) + if err != nil { + suite.State = TestSuiteStateFailedToCompile + suite.CompilationError = fmt.Errorf("Failed to get relative path from package to the current working directory:\n%s", err.Error()) + return suite + } + args, err := types.GenerateGoTestCompileArgs(goFlagsConfig, "./", pathToInvocationPath) + if err != nil { + suite.State = TestSuiteStateFailedToCompile + suite.CompilationError = fmt.Errorf("Failed to generate go test compile flags:\n%s", err.Error()) + return suite + } + + cmd := exec.Command("go", args...) + cmd.Dir = suite.Path + output, err := cmd.CombinedOutput() + if err != nil { + if len(output) > 0 { + suite.State = TestSuiteStateFailedToCompile + suite.CompilationError = fmt.Errorf("Failed to compile %s:\n\n%s", suite.PackageName, output) + } else { + suite.State = TestSuiteStateFailedToCompile + suite.CompilationError = fmt.Errorf("Failed to compile %s\n%s", suite.PackageName, err.Error()) + } + return suite + } + + if strings.Contains(string(output), "[no test files]") { + suite.State = TestSuiteStateSkippedDueToEmptyCompilation + return suite + } + + if len(output) > 0 { + fmt.Println(string(output)) + } + + if !FileExists(path) { + suite.State = TestSuiteStateFailedToCompile + suite.CompilationError = fmt.Errorf("Failed to compile %s:\nOutput file %s could not be found", suite.PackageName, path) + return suite + } + + suite.State = TestSuiteStateCompiled + suite.PathToCompiledTest = path + return suite +} + +func Cleanup(goFlagsConfig types.GoFlagsConfig, suites ...TestSuite) { + if goFlagsConfig.BinaryMustBePreserved() { + return + } + for _, suite := range suites { + if !suite.Precompiled { + os.Remove(suite.PathToCompiledTest) + } + } +} + +type parallelSuiteBundle struct { + suite TestSuite + compiled chan TestSuite +} + +type OrderedParallelCompiler struct { + mutex *sync.Mutex + stopped bool + numCompilers int + + idx int + numSuites int + completionChannels []chan TestSuite +} + +func NewOrderedParallelCompiler(numCompilers int) *OrderedParallelCompiler { + return &OrderedParallelCompiler{ + mutex: &sync.Mutex{}, + numCompilers: numCompilers, + } +} + +func (opc *OrderedParallelCompiler) StartCompiling(suites TestSuites, goFlagsConfig types.GoFlagsConfig) { + opc.stopped = false + opc.idx = 0 + opc.numSuites = len(suites) + opc.completionChannels = make([]chan TestSuite, opc.numSuites) + + toCompile := make(chan parallelSuiteBundle, opc.numCompilers) + for compiler := 0; compiler < opc.numCompilers; compiler++ { + go func() { + for bundle := range toCompile { + c, suite := bundle.compiled, bundle.suite + opc.mutex.Lock() + stopped := opc.stopped + opc.mutex.Unlock() + if !stopped { + suite = CompileSuite(suite, goFlagsConfig) + } + c <- suite + } + }() + } + + for idx, suite := range suites { + opc.completionChannels[idx] = make(chan TestSuite, 1) + toCompile <- parallelSuiteBundle{suite, opc.completionChannels[idx]} + if idx == 0 { //compile first suite serially + suite = <-opc.completionChannels[0] + opc.completionChannels[0] <- suite + } + } + + close(toCompile) +} + +func (opc *OrderedParallelCompiler) Next() (int, TestSuite) { + if opc.idx >= opc.numSuites { + return opc.numSuites, TestSuite{} + } + + idx := opc.idx + suite := <-opc.completionChannels[idx] + opc.idx = opc.idx + 1 + + return idx, suite +} + +func (opc *OrderedParallelCompiler) StopAndDrain() { + opc.mutex.Lock() + opc.stopped = true + opc.mutex.Unlock() +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/gocovmerge.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/gocovmerge.go new file mode 100644 index 000000000..3c5079ff4 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/gocovmerge.go @@ -0,0 +1,129 @@ +// Copyright (c) 2015, Wade Simmons +// All rights reserved. + +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: + +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. + +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Package gocovmerge takes the results from multiple `go test -coverprofile` +// runs and merges them into one profile + +// this file was originally taken from the gocovmerge project +// see also: https://go.shabbyrobe.org/gocovmerge +package internal + +import ( + "fmt" + "io" + "sort" + + "golang.org/x/tools/cover" +) + +func AddCoverProfile(profiles []*cover.Profile, p *cover.Profile) []*cover.Profile { + i := sort.Search(len(profiles), func(i int) bool { return profiles[i].FileName >= p.FileName }) + if i < len(profiles) && profiles[i].FileName == p.FileName { + MergeCoverProfiles(profiles[i], p) + } else { + profiles = append(profiles, nil) + copy(profiles[i+1:], profiles[i:]) + profiles[i] = p + } + return profiles +} + +func DumpCoverProfiles(profiles []*cover.Profile, out io.Writer) error { + if len(profiles) == 0 { + return nil + } + if _, err := fmt.Fprintf(out, "mode: %s\n", profiles[0].Mode); err != nil { + return err + } + for _, p := range profiles { + for _, b := range p.Blocks { + if _, err := fmt.Fprintf(out, "%s:%d.%d,%d.%d %d %d\n", p.FileName, b.StartLine, b.StartCol, b.EndLine, b.EndCol, b.NumStmt, b.Count); err != nil { + return err + } + } + } + return nil +} + +func MergeCoverProfiles(into *cover.Profile, merge *cover.Profile) error { + if into.Mode != merge.Mode { + return fmt.Errorf("cannot merge profiles with different modes") + } + // Since the blocks are sorted, we can keep track of where the last block + // was inserted and only look at the blocks after that as targets for merge + startIndex := 0 + for _, b := range merge.Blocks { + var err error + startIndex, err = mergeProfileBlock(into, b, startIndex) + if err != nil { + return err + } + } + return nil +} + +func mergeProfileBlock(p *cover.Profile, pb cover.ProfileBlock, startIndex int) (int, error) { + sortFunc := func(i int) bool { + pi := p.Blocks[i+startIndex] + return pi.StartLine >= pb.StartLine && (pi.StartLine != pb.StartLine || pi.StartCol >= pb.StartCol) + } + + i := 0 + if sortFunc(i) != true { + i = sort.Search(len(p.Blocks)-startIndex, sortFunc) + } + + i += startIndex + if i < len(p.Blocks) && p.Blocks[i].StartLine == pb.StartLine && p.Blocks[i].StartCol == pb.StartCol { + if p.Blocks[i].EndLine != pb.EndLine || p.Blocks[i].EndCol != pb.EndCol { + return i, fmt.Errorf("gocovmerge: overlapping merge %v %v %v", p.FileName, p.Blocks[i], pb) + } + switch p.Mode { + case "set": + p.Blocks[i].Count |= pb.Count + case "count", "atomic": + p.Blocks[i].Count += pb.Count + default: + return i, fmt.Errorf("gocovmerge: unsupported covermode '%s'", p.Mode) + } + + } else { + if i > 0 { + pa := p.Blocks[i-1] + if pa.EndLine >= pb.EndLine && (pa.EndLine != pb.EndLine || pa.EndCol > pb.EndCol) { + return i, fmt.Errorf("gocovmerge: overlap before %v %v %v", p.FileName, pa, pb) + } + } + if i < len(p.Blocks)-1 { + pa := p.Blocks[i+1] + if pa.StartLine <= pb.StartLine && (pa.StartLine != pb.StartLine || pa.StartCol < pb.StartCol) { + return i, fmt.Errorf("gocovmerge: overlap after %v %v %v", p.FileName, pa, pb) + } + } + p.Blocks = append(p.Blocks, cover.ProfileBlock{}) + copy(p.Blocks[i+1:], p.Blocks[i:]) + p.Blocks[i] = pb + } + + return i + 1, nil +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/profiles_and_reports.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/profiles_and_reports.go new file mode 100644 index 000000000..8e16d2bb0 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/profiles_and_reports.go @@ -0,0 +1,227 @@ +package internal + +import ( + "fmt" + "os" + "os/exec" + "path/filepath" + "regexp" + "strconv" + + "github.com/google/pprof/profile" + "github.com/onsi/ginkgo/v2/reporters" + "github.com/onsi/ginkgo/v2/types" + "golang.org/x/tools/cover" +) + +func AbsPathForGeneratedAsset(assetName string, suite TestSuite, cliConfig types.CLIConfig, process int) string { + suffix := "" + if process != 0 { + suffix = fmt.Sprintf(".%d", process) + } + if cliConfig.OutputDir == "" { + return filepath.Join(suite.AbsPath(), assetName+suffix) + } + outputDir, _ := filepath.Abs(cliConfig.OutputDir) + return filepath.Join(outputDir, suite.NamespacedName()+"_"+assetName+suffix) +} + +func FinalizeProfilesAndReportsForSuites(suites TestSuites, cliConfig types.CLIConfig, suiteConfig types.SuiteConfig, reporterConfig types.ReporterConfig, goFlagsConfig types.GoFlagsConfig) ([]string, error) { + messages := []string{} + suitesWithProfiles := suites.WithState(TestSuiteStatePassed, TestSuiteStateFailed) //anything else won't have actually run and generated a profile + + // merge cover profiles if need be + if goFlagsConfig.Cover && !cliConfig.KeepSeparateCoverprofiles { + coverProfiles := []string{} + for _, suite := range suitesWithProfiles { + if !suite.HasProgrammaticFocus { + coverProfiles = append(coverProfiles, AbsPathForGeneratedAsset(goFlagsConfig.CoverProfile, suite, cliConfig, 0)) + } + } + + if len(coverProfiles) > 0 { + dst := goFlagsConfig.CoverProfile + if cliConfig.OutputDir != "" { + dst = filepath.Join(cliConfig.OutputDir, goFlagsConfig.CoverProfile) + } + err := MergeAndCleanupCoverProfiles(coverProfiles, dst) + if err != nil { + return messages, err + } + coverage, err := GetCoverageFromCoverProfile(dst) + if err != nil { + return messages, err + } + if coverage == 0 { + messages = append(messages, "composite coverage: [no statements]") + } else if suitesWithProfiles.AnyHaveProgrammaticFocus() { + messages = append(messages, fmt.Sprintf("composite coverage: %.1f%% of statements however some suites did not contribute because they included programatically focused specs", coverage)) + } else { + messages = append(messages, fmt.Sprintf("composite coverage: %.1f%% of statements", coverage)) + } + } else { + messages = append(messages, "no composite coverage computed: all suites included programatically focused specs") + } + } + + // copy binaries if need be + for _, suite := range suitesWithProfiles { + if goFlagsConfig.BinaryMustBePreserved() && cliConfig.OutputDir != "" { + src := suite.PathToCompiledTest + dst := filepath.Join(cliConfig.OutputDir, suite.NamespacedName()+".test") + if suite.Precompiled { + if err := CopyFile(src, dst); err != nil { + return messages, err + } + } else { + if err := os.Rename(src, dst); err != nil { + return messages, err + } + } + } + } + + type reportFormat struct { + ReportName string + GenerateFunc func(types.Report, string) error + MergeFunc func([]string, string) ([]string, error) + } + reportFormats := []reportFormat{} + if reporterConfig.JSONReport != "" { + reportFormats = append(reportFormats, reportFormat{ReportName: reporterConfig.JSONReport, GenerateFunc: reporters.GenerateJSONReport, MergeFunc: reporters.MergeAndCleanupJSONReports}) + } + if reporterConfig.JUnitReport != "" { + reportFormats = append(reportFormats, reportFormat{ReportName: reporterConfig.JUnitReport, GenerateFunc: reporters.GenerateJUnitReport, MergeFunc: reporters.MergeAndCleanupJUnitReports}) + } + if reporterConfig.TeamcityReport != "" { + reportFormats = append(reportFormats, reportFormat{ReportName: reporterConfig.TeamcityReport, GenerateFunc: reporters.GenerateTeamcityReport, MergeFunc: reporters.MergeAndCleanupTeamcityReports}) + } + + // Generate reports for suites that failed to run + reportableSuites := suites.ThatAreGinkgoSuites() + for _, suite := range reportableSuites.WithState(TestSuiteStateFailedToCompile, TestSuiteStateFailedDueToTimeout, TestSuiteStateSkippedDueToPriorFailures, TestSuiteStateSkippedDueToEmptyCompilation) { + report := types.Report{ + SuitePath: suite.AbsPath(), + SuiteConfig: suiteConfig, + SuiteSucceeded: false, + } + switch suite.State { + case TestSuiteStateFailedToCompile: + report.SpecialSuiteFailureReasons = append(report.SpecialSuiteFailureReasons, suite.CompilationError.Error()) + case TestSuiteStateFailedDueToTimeout: + report.SpecialSuiteFailureReasons = append(report.SpecialSuiteFailureReasons, TIMEOUT_ELAPSED_FAILURE_REASON) + case TestSuiteStateSkippedDueToPriorFailures: + report.SpecialSuiteFailureReasons = append(report.SpecialSuiteFailureReasons, PRIOR_FAILURES_FAILURE_REASON) + case TestSuiteStateSkippedDueToEmptyCompilation: + report.SpecialSuiteFailureReasons = append(report.SpecialSuiteFailureReasons, EMPTY_SKIP_FAILURE_REASON) + report.SuiteSucceeded = true + } + + for _, format := range reportFormats { + format.GenerateFunc(report, AbsPathForGeneratedAsset(format.ReportName, suite, cliConfig, 0)) + } + } + + // Merge reports unless we've been asked to keep them separate + if !cliConfig.KeepSeparateReports { + for _, format := range reportFormats { + reports := []string{} + for _, suite := range reportableSuites { + reports = append(reports, AbsPathForGeneratedAsset(format.ReportName, suite, cliConfig, 0)) + } + dst := format.ReportName + if cliConfig.OutputDir != "" { + dst = filepath.Join(cliConfig.OutputDir, format.ReportName) + } + mergeMessages, err := format.MergeFunc(reports, dst) + messages = append(messages, mergeMessages...) + if err != nil { + return messages, err + } + } + } + + return messages, nil +} + +// loads each profile, merges them, deletes them, stores them in destination +func MergeAndCleanupCoverProfiles(profiles []string, destination string) error { + var merged []*cover.Profile + for _, file := range profiles { + parsedProfiles, err := cover.ParseProfiles(file) + if err != nil { + return err + } + os.Remove(file) + for _, p := range parsedProfiles { + merged = AddCoverProfile(merged, p) + } + } + dst, err := os.OpenFile(destination, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0666) + if err != nil { + return err + } + defer dst.Close() + err = DumpCoverProfiles(merged, dst) + if err != nil { + return err + } + return nil +} + +func GetCoverageFromCoverProfile(profile string) (float64, error) { + cmd := exec.Command("go", "tool", "cover", "-func", profile) + output, err := cmd.CombinedOutput() + if err != nil { + return 0, fmt.Errorf("Could not process Coverprofile %s: %s - %s", profile, err.Error(), string(output)) + } + re := regexp.MustCompile(`total:\s*\(statements\)\s*(\d*\.\d*)\%`) + matches := re.FindStringSubmatch(string(output)) + if matches == nil { + return 0, fmt.Errorf("Could not parse Coverprofile to compute coverage percentage") + } + coverageString := matches[1] + coverage, err := strconv.ParseFloat(coverageString, 64) + if err != nil { + return 0, fmt.Errorf("Could not parse Coverprofile to compute coverage percentage: %s", err.Error()) + } + + return coverage, nil +} + +func MergeProfiles(profilePaths []string, destination string) error { + profiles := []*profile.Profile{} + for _, profilePath := range profilePaths { + proFile, err := os.Open(profilePath) + if err != nil { + return fmt.Errorf("Could not open profile: %s\n%s", profilePath, err.Error()) + } + prof, err := profile.Parse(proFile) + _ = proFile.Close() + if err != nil { + return fmt.Errorf("Could not parse profile: %s\n%s", profilePath, err.Error()) + } + profiles = append(profiles, prof) + os.Remove(profilePath) + } + + mergedProfile, err := profile.Merge(profiles) + if err != nil { + return fmt.Errorf("Could not merge profiles:\n%s", err.Error()) + } + + outFile, err := os.Create(destination) + if err != nil { + return fmt.Errorf("Could not create merged profile %s:\n%s", destination, err.Error()) + } + err = mergedProfile.Write(outFile) + if err != nil { + return fmt.Errorf("Could not write merged profile %s:\n%s", destination, err.Error()) + } + err = outFile.Close() + if err != nil { + return fmt.Errorf("Could not close merged profile %s:\n%s", destination, err.Error()) + } + + return nil +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/run.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/run.go new file mode 100644 index 000000000..41052ea19 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/run.go @@ -0,0 +1,355 @@ +package internal + +import ( + "bytes" + "fmt" + "io" + "os" + "os/exec" + "path/filepath" + "regexp" + "strings" + "syscall" + "time" + + "github.com/onsi/ginkgo/v2/formatter" + "github.com/onsi/ginkgo/v2/ginkgo/command" + "github.com/onsi/ginkgo/v2/internal/parallel_support" + "github.com/onsi/ginkgo/v2/reporters" + "github.com/onsi/ginkgo/v2/types" +) + +func RunCompiledSuite(suite TestSuite, ginkgoConfig types.SuiteConfig, reporterConfig types.ReporterConfig, cliConfig types.CLIConfig, goFlagsConfig types.GoFlagsConfig, additionalArgs []string) TestSuite { + suite.State = TestSuiteStateFailed + suite.HasProgrammaticFocus = false + + if suite.PathToCompiledTest == "" { + return suite + } + + if suite.IsGinkgo && cliConfig.ComputedProcs() > 1 { + suite = runParallel(suite, ginkgoConfig, reporterConfig, cliConfig, goFlagsConfig, additionalArgs) + } else if suite.IsGinkgo { + suite = runSerial(suite, ginkgoConfig, reporterConfig, cliConfig, goFlagsConfig, additionalArgs) + } else { + suite = runGoTest(suite, cliConfig, goFlagsConfig) + } + runAfterRunHook(cliConfig.AfterRunHook, reporterConfig.NoColor, suite) + return suite +} + +func buildAndStartCommand(suite TestSuite, args []string, pipeToStdout bool) (*exec.Cmd, *bytes.Buffer) { + buf := &bytes.Buffer{} + cmd := exec.Command(suite.PathToCompiledTest, args...) + cmd.Dir = suite.Path + if pipeToStdout { + cmd.Stderr = io.MultiWriter(os.Stdout, buf) + cmd.Stdout = os.Stdout + } else { + cmd.Stderr = buf + cmd.Stdout = buf + } + err := cmd.Start() + command.AbortIfError("Failed to start test suite", err) + + return cmd, buf +} + +func checkForNoTestsWarning(buf *bytes.Buffer) bool { + if strings.Contains(buf.String(), "warning: no tests to run") { + fmt.Fprintf(os.Stderr, `Found no test suites, did you forget to run "ginkgo bootstrap"?`) + return true + } + return false +} + +func runGoTest(suite TestSuite, cliConfig types.CLIConfig, goFlagsConfig types.GoFlagsConfig) TestSuite { + // As we run the go test from the suite directory, make sure the cover profile is absolute + // and placed into the expected output directory when one is configured. + if goFlagsConfig.Cover && !filepath.IsAbs(goFlagsConfig.CoverProfile) { + goFlagsConfig.CoverProfile = AbsPathForGeneratedAsset(goFlagsConfig.CoverProfile, suite, cliConfig, 0) + } + + args, err := types.GenerateGoTestRunArgs(goFlagsConfig) + command.AbortIfError("Failed to generate test run arguments", err) + cmd, buf := buildAndStartCommand(suite, args, true) + + cmd.Wait() + + exitStatus := cmd.ProcessState.Sys().(syscall.WaitStatus).ExitStatus() + passed := (exitStatus == 0) || (exitStatus == types.GINKGO_FOCUS_EXIT_CODE) + passed = !(checkForNoTestsWarning(buf) && cliConfig.RequireSuite) && passed + if passed { + suite.State = TestSuiteStatePassed + } else { + suite.State = TestSuiteStateFailed + } + + return suite +} + +func runSerial(suite TestSuite, ginkgoConfig types.SuiteConfig, reporterConfig types.ReporterConfig, cliConfig types.CLIConfig, goFlagsConfig types.GoFlagsConfig, additionalArgs []string) TestSuite { + if goFlagsConfig.Cover { + goFlagsConfig.CoverProfile = AbsPathForGeneratedAsset(goFlagsConfig.CoverProfile, suite, cliConfig, 0) + } + if goFlagsConfig.BlockProfile != "" { + goFlagsConfig.BlockProfile = AbsPathForGeneratedAsset(goFlagsConfig.BlockProfile, suite, cliConfig, 0) + } + if goFlagsConfig.CPUProfile != "" { + goFlagsConfig.CPUProfile = AbsPathForGeneratedAsset(goFlagsConfig.CPUProfile, suite, cliConfig, 0) + } + if goFlagsConfig.MemProfile != "" { + goFlagsConfig.MemProfile = AbsPathForGeneratedAsset(goFlagsConfig.MemProfile, suite, cliConfig, 0) + } + if goFlagsConfig.MutexProfile != "" { + goFlagsConfig.MutexProfile = AbsPathForGeneratedAsset(goFlagsConfig.MutexProfile, suite, cliConfig, 0) + } + if reporterConfig.JSONReport != "" { + reporterConfig.JSONReport = AbsPathForGeneratedAsset(reporterConfig.JSONReport, suite, cliConfig, 0) + } + if reporterConfig.JUnitReport != "" { + reporterConfig.JUnitReport = AbsPathForGeneratedAsset(reporterConfig.JUnitReport, suite, cliConfig, 0) + } + if reporterConfig.TeamcityReport != "" { + reporterConfig.TeamcityReport = AbsPathForGeneratedAsset(reporterConfig.TeamcityReport, suite, cliConfig, 0) + } + + args, err := types.GenerateGinkgoTestRunArgs(ginkgoConfig, reporterConfig, goFlagsConfig) + command.AbortIfError("Failed to generate test run arguments", err) + args = append([]string{"--test.timeout=0"}, args...) + args = append(args, additionalArgs...) + + cmd, buf := buildAndStartCommand(suite, args, true) + + cmd.Wait() + + exitStatus := cmd.ProcessState.Sys().(syscall.WaitStatus).ExitStatus() + suite.HasProgrammaticFocus = (exitStatus == types.GINKGO_FOCUS_EXIT_CODE) + passed := (exitStatus == 0) || (exitStatus == types.GINKGO_FOCUS_EXIT_CODE) + passed = !(checkForNoTestsWarning(buf) && cliConfig.RequireSuite) && passed + if passed { + suite.State = TestSuiteStatePassed + } else { + suite.State = TestSuiteStateFailed + } + + if suite.HasProgrammaticFocus { + if goFlagsConfig.Cover { + fmt.Fprintln(os.Stdout, "coverage: no coverfile was generated because specs are programmatically focused") + } + if goFlagsConfig.BlockProfile != "" { + fmt.Fprintln(os.Stdout, "no block profile was generated because specs are programmatically focused") + } + if goFlagsConfig.CPUProfile != "" { + fmt.Fprintln(os.Stdout, "no cpu profile was generated because specs are programmatically focused") + } + if goFlagsConfig.MemProfile != "" { + fmt.Fprintln(os.Stdout, "no mem profile was generated because specs are programmatically focused") + } + if goFlagsConfig.MutexProfile != "" { + fmt.Fprintln(os.Stdout, "no mutex profile was generated because specs are programmatically focused") + } + } + + return suite +} + +func runParallel(suite TestSuite, ginkgoConfig types.SuiteConfig, reporterConfig types.ReporterConfig, cliConfig types.CLIConfig, goFlagsConfig types.GoFlagsConfig, additionalArgs []string) TestSuite { + type procResult struct { + passed bool + hasProgrammaticFocus bool + } + + numProcs := cliConfig.ComputedProcs() + procOutput := make([]*bytes.Buffer, numProcs) + coverProfiles := []string{} + + blockProfiles := []string{} + cpuProfiles := []string{} + memProfiles := []string{} + mutexProfiles := []string{} + + procResults := make(chan procResult) + + server, err := parallel_support.NewServer(numProcs, reporters.NewDefaultReporter(reporterConfig, formatter.ColorableStdOut)) + command.AbortIfError("Failed to start parallel spec server", err) + server.Start() + defer server.Close() + + if reporterConfig.JSONReport != "" { + reporterConfig.JSONReport = AbsPathForGeneratedAsset(reporterConfig.JSONReport, suite, cliConfig, 0) + } + if reporterConfig.JUnitReport != "" { + reporterConfig.JUnitReport = AbsPathForGeneratedAsset(reporterConfig.JUnitReport, suite, cliConfig, 0) + } + if reporterConfig.TeamcityReport != "" { + reporterConfig.TeamcityReport = AbsPathForGeneratedAsset(reporterConfig.TeamcityReport, suite, cliConfig, 0) + } + + for proc := 1; proc <= numProcs; proc++ { + procGinkgoConfig := ginkgoConfig + procGinkgoConfig.ParallelProcess, procGinkgoConfig.ParallelTotal, procGinkgoConfig.ParallelHost = proc, numProcs, server.Address() + + procGoFlagsConfig := goFlagsConfig + if goFlagsConfig.Cover { + procGoFlagsConfig.CoverProfile = AbsPathForGeneratedAsset(goFlagsConfig.CoverProfile, suite, cliConfig, proc) + coverProfiles = append(coverProfiles, procGoFlagsConfig.CoverProfile) + } + if goFlagsConfig.BlockProfile != "" { + procGoFlagsConfig.BlockProfile = AbsPathForGeneratedAsset(goFlagsConfig.BlockProfile, suite, cliConfig, proc) + blockProfiles = append(blockProfiles, procGoFlagsConfig.BlockProfile) + } + if goFlagsConfig.CPUProfile != "" { + procGoFlagsConfig.CPUProfile = AbsPathForGeneratedAsset(goFlagsConfig.CPUProfile, suite, cliConfig, proc) + cpuProfiles = append(cpuProfiles, procGoFlagsConfig.CPUProfile) + } + if goFlagsConfig.MemProfile != "" { + procGoFlagsConfig.MemProfile = AbsPathForGeneratedAsset(goFlagsConfig.MemProfile, suite, cliConfig, proc) + memProfiles = append(memProfiles, procGoFlagsConfig.MemProfile) + } + if goFlagsConfig.MutexProfile != "" { + procGoFlagsConfig.MutexProfile = AbsPathForGeneratedAsset(goFlagsConfig.MutexProfile, suite, cliConfig, proc) + mutexProfiles = append(mutexProfiles, procGoFlagsConfig.MutexProfile) + } + + args, err := types.GenerateGinkgoTestRunArgs(procGinkgoConfig, reporterConfig, procGoFlagsConfig) + command.AbortIfError("Failed to generate test run arguments", err) + args = append([]string{"--test.timeout=0"}, args...) + args = append(args, additionalArgs...) + + cmd, buf := buildAndStartCommand(suite, args, false) + procOutput[proc-1] = buf + server.RegisterAlive(proc, func() bool { return cmd.ProcessState == nil || !cmd.ProcessState.Exited() }) + + go func() { + cmd.Wait() + exitStatus := cmd.ProcessState.Sys().(syscall.WaitStatus).ExitStatus() + procResults <- procResult{ + passed: (exitStatus == 0) || (exitStatus == types.GINKGO_FOCUS_EXIT_CODE), + hasProgrammaticFocus: exitStatus == types.GINKGO_FOCUS_EXIT_CODE, + } + }() + } + + passed := true + for proc := 1; proc <= cliConfig.ComputedProcs(); proc++ { + result := <-procResults + passed = passed && result.passed + suite.HasProgrammaticFocus = suite.HasProgrammaticFocus || result.hasProgrammaticFocus + } + if passed { + suite.State = TestSuiteStatePassed + } else { + suite.State = TestSuiteStateFailed + } + + select { + case <-server.GetSuiteDone(): + fmt.Println("") + case <-time.After(time.Second): + //one of the nodes never finished reporting to the server. Something must have gone wrong. + fmt.Fprint(formatter.ColorableStdErr, formatter.F("\n{{bold}}{{red}}Ginkgo timed out waiting for all parallel procs to report back{{/}}\n")) + fmt.Fprint(formatter.ColorableStdErr, formatter.F("{{gray}}Test suite:{{/}} %s (%s)\n\n", suite.PackageName, suite.Path)) + fmt.Fprint(formatter.ColorableStdErr, formatter.Fiw(0, formatter.COLS, "This occurs if a parallel process exits before it reports its results to the Ginkgo CLI. The CLI will now print out all the stdout/stderr output it's collected from the running processes. However you may not see anything useful in these logs because the individual test processes usually intercept output to stdout/stderr in order to capture it in the spec reports.\n\nYou may want to try rerunning your test suite with {{light-gray}}--output-interceptor-mode=none{{/}} to see additional output here and debug your suite.\n")) + fmt.Fprintln(formatter.ColorableStdErr, " ") + for proc := 1; proc <= cliConfig.ComputedProcs(); proc++ { + fmt.Fprintf(formatter.ColorableStdErr, formatter.F("{{bold}}Output from proc %d:{{/}}\n", proc)) + fmt.Fprintln(os.Stderr, formatter.Fi(1, "%s", procOutput[proc-1].String())) + } + fmt.Fprintf(os.Stderr, "** End **") + } + + for proc := 1; proc <= cliConfig.ComputedProcs(); proc++ { + output := procOutput[proc-1].String() + if proc == 1 && checkForNoTestsWarning(procOutput[0]) && cliConfig.RequireSuite { + suite.State = TestSuiteStateFailed + } + if strings.Contains(output, "deprecated Ginkgo functionality") { + fmt.Fprintln(os.Stderr, output) + } + } + + if len(coverProfiles) > 0 { + if suite.HasProgrammaticFocus { + fmt.Fprintln(os.Stdout, "coverage: no coverfile was generated because specs are programmatically focused") + } else { + coverProfile := AbsPathForGeneratedAsset(goFlagsConfig.CoverProfile, suite, cliConfig, 0) + err := MergeAndCleanupCoverProfiles(coverProfiles, coverProfile) + command.AbortIfError("Failed to combine cover profiles", err) + + coverage, err := GetCoverageFromCoverProfile(coverProfile) + command.AbortIfError("Failed to compute coverage", err) + if coverage == 0 { + fmt.Fprintln(os.Stdout, "coverage: [no statements]") + } else { + fmt.Fprintf(os.Stdout, "coverage: %.1f%% of statements\n", coverage) + } + } + } + if len(blockProfiles) > 0 { + if suite.HasProgrammaticFocus { + fmt.Fprintln(os.Stdout, "no block profile was generated because specs are programmatically focused") + } else { + blockProfile := AbsPathForGeneratedAsset(goFlagsConfig.BlockProfile, suite, cliConfig, 0) + err := MergeProfiles(blockProfiles, blockProfile) + command.AbortIfError("Failed to combine blockprofiles", err) + } + } + if len(cpuProfiles) > 0 { + if suite.HasProgrammaticFocus { + fmt.Fprintln(os.Stdout, "no cpu profile was generated because specs are programmatically focused") + } else { + cpuProfile := AbsPathForGeneratedAsset(goFlagsConfig.CPUProfile, suite, cliConfig, 0) + err := MergeProfiles(cpuProfiles, cpuProfile) + command.AbortIfError("Failed to combine cpuprofiles", err) + } + } + if len(memProfiles) > 0 { + if suite.HasProgrammaticFocus { + fmt.Fprintln(os.Stdout, "no mem profile was generated because specs are programmatically focused") + } else { + memProfile := AbsPathForGeneratedAsset(goFlagsConfig.MemProfile, suite, cliConfig, 0) + err := MergeProfiles(memProfiles, memProfile) + command.AbortIfError("Failed to combine memprofiles", err) + } + } + if len(mutexProfiles) > 0 { + if suite.HasProgrammaticFocus { + fmt.Fprintln(os.Stdout, "no mutex profile was generated because specs are programmatically focused") + } else { + mutexProfile := AbsPathForGeneratedAsset(goFlagsConfig.MutexProfile, suite, cliConfig, 0) + err := MergeProfiles(mutexProfiles, mutexProfile) + command.AbortIfError("Failed to combine mutexprofiles", err) + } + } + + return suite +} + +func runAfterRunHook(command string, noColor bool, suite TestSuite) { + if command == "" { + return + } + f := formatter.NewWithNoColorBool(noColor) + + // Allow for string replacement to pass input to the command + passed := "[FAIL]" + if suite.State.Is(TestSuiteStatePassed) { + passed = "[PASS]" + } + command = strings.ReplaceAll(command, "(ginkgo-suite-passed)", passed) + command = strings.ReplaceAll(command, "(ginkgo-suite-name)", suite.PackageName) + + // Must break command into parts + splitArgs := regexp.MustCompile(`'.+'|".+"|\S+`) + parts := splitArgs.FindAllString(command, -1) + + output, err := exec.Command(parts[0], parts[1:]...).CombinedOutput() + if err != nil { + fmt.Fprintln(formatter.ColorableStdOut, f.Fi(0, "{{red}}{{bold}}After-run-hook failed:{{/}}")) + fmt.Fprintln(formatter.ColorableStdOut, f.Fi(1, "{{red}}%s{{/}}", output)) + } else { + fmt.Fprintln(formatter.ColorableStdOut, f.Fi(0, "{{green}}{{bold}}After-run-hook succeeded:{{/}}")) + fmt.Fprintln(formatter.ColorableStdOut, f.Fi(1, "{{green}}%s{{/}}", output)) + } +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/test_suite.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/test_suite.go new file mode 100644 index 000000000..df99875be --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/test_suite.go @@ -0,0 +1,284 @@ +package internal + +import ( + "errors" + "math/rand" + "os" + "path" + "path/filepath" + "regexp" + "runtime" + "strings" + + "github.com/onsi/ginkgo/v2/types" +) + +const TIMEOUT_ELAPSED_FAILURE_REASON = "Suite did not run because the timeout elapsed" +const PRIOR_FAILURES_FAILURE_REASON = "Suite did not run because prior suites failed and --keep-going is not set" +const EMPTY_SKIP_FAILURE_REASON = "Suite did not run go test reported that no test files were found" + +type TestSuiteState uint + +const ( + TestSuiteStateInvalid TestSuiteState = iota + + TestSuiteStateUncompiled + TestSuiteStateCompiled + + TestSuiteStatePassed + + TestSuiteStateSkippedDueToEmptyCompilation + TestSuiteStateSkippedByFilter + TestSuiteStateSkippedDueToPriorFailures + + TestSuiteStateFailed + TestSuiteStateFailedDueToTimeout + TestSuiteStateFailedToCompile +) + +var TestSuiteStateFailureStates = []TestSuiteState{TestSuiteStateFailed, TestSuiteStateFailedDueToTimeout, TestSuiteStateFailedToCompile} + +func (state TestSuiteState) Is(states ...TestSuiteState) bool { + for _, suiteState := range states { + if suiteState == state { + return true + } + } + + return false +} + +type TestSuite struct { + Path string + PackageName string + IsGinkgo bool + + Precompiled bool + PathToCompiledTest string + CompilationError error + + HasProgrammaticFocus bool + State TestSuiteState +} + +func (ts TestSuite) AbsPath() string { + path, _ := filepath.Abs(ts.Path) + return path +} + +func (ts TestSuite) NamespacedName() string { + name := relPath(ts.Path) + name = strings.TrimLeft(name, "."+string(filepath.Separator)) + name = strings.ReplaceAll(name, string(filepath.Separator), "_") + name = strings.ReplaceAll(name, " ", "_") + if name == "" { + return ts.PackageName + } + return name +} + +type TestSuites []TestSuite + +func (ts TestSuites) AnyHaveProgrammaticFocus() bool { + for _, suite := range ts { + if suite.HasProgrammaticFocus { + return true + } + } + + return false +} + +func (ts TestSuites) ThatAreGinkgoSuites() TestSuites { + out := TestSuites{} + for _, suite := range ts { + if suite.IsGinkgo { + out = append(out, suite) + } + } + return out +} + +func (ts TestSuites) CountWithState(states ...TestSuiteState) int { + n := 0 + for _, suite := range ts { + if suite.State.Is(states...) { + n += 1 + } + } + + return n +} + +func (ts TestSuites) WithState(states ...TestSuiteState) TestSuites { + out := TestSuites{} + for _, suite := range ts { + if suite.State.Is(states...) { + out = append(out, suite) + } + } + + return out +} + +func (ts TestSuites) WithoutState(states ...TestSuiteState) TestSuites { + out := TestSuites{} + for _, suite := range ts { + if !suite.State.Is(states...) { + out = append(out, suite) + } + } + + return out +} + +func (ts TestSuites) ShuffledCopy(seed int64) TestSuites { + out := make(TestSuites, len(ts)) + permutation := rand.New(rand.NewSource(seed)).Perm(len(ts)) + for i, j := range permutation { + out[i] = ts[j] + } + return out +} + +func FindSuites(args []string, cliConfig types.CLIConfig, allowPrecompiled bool) TestSuites { + suites := TestSuites{} + + if len(args) > 0 { + for _, arg := range args { + if allowPrecompiled { + suite, err := precompiledTestSuite(arg) + if err == nil { + suites = append(suites, suite) + continue + } + } + recurseForSuite := cliConfig.Recurse + if strings.HasSuffix(arg, "/...") && arg != "/..." { + arg = arg[:len(arg)-4] + recurseForSuite = true + } + suites = append(suites, suitesInDir(arg, recurseForSuite)...) + } + } else { + suites = suitesInDir(".", cliConfig.Recurse) + } + + if cliConfig.SkipPackage != "" { + skipFilters := strings.Split(cliConfig.SkipPackage, ",") + for idx := range suites { + for _, skipFilter := range skipFilters { + if strings.Contains(suites[idx].Path, skipFilter) { + suites[idx].State = TestSuiteStateSkippedByFilter + break + } + } + } + } + + return suites +} + +func precompiledTestSuite(path string) (TestSuite, error) { + info, err := os.Stat(path) + if err != nil { + return TestSuite{}, err + } + + if info.IsDir() { + return TestSuite{}, errors.New("this is a directory, not a file") + } + + if filepath.Ext(path) != ".test" && filepath.Ext(path) != ".exe" { + return TestSuite{}, errors.New("this is not a .test binary") + } + + if filepath.Ext(path) == ".test" && runtime.GOOS != "windows" && info.Mode()&0111 == 0 { + return TestSuite{}, errors.New("this is not executable") + } + + dir := relPath(filepath.Dir(path)) + packageName := strings.TrimSuffix(filepath.Base(path), ".exe") + packageName = strings.TrimSuffix(packageName, ".test") + + path, err = filepath.Abs(path) + if err != nil { + return TestSuite{}, err + } + + return TestSuite{ + Path: dir, + PackageName: packageName, + IsGinkgo: true, + Precompiled: true, + PathToCompiledTest: path, + State: TestSuiteStateCompiled, + }, nil +} + +func suitesInDir(dir string, recurse bool) TestSuites { + suites := TestSuites{} + + if path.Base(dir) == "vendor" { + return suites + } + + files, _ := os.ReadDir(dir) + re := regexp.MustCompile(`^[^._].*_test\.go$`) + for _, file := range files { + if !file.IsDir() && re.MatchString(file.Name()) { + suite := TestSuite{ + Path: relPath(dir), + PackageName: packageNameForSuite(dir), + IsGinkgo: filesHaveGinkgoSuite(dir, files), + State: TestSuiteStateUncompiled, + } + suites = append(suites, suite) + break + } + } + + if recurse { + re = regexp.MustCompile(`^[._]`) + for _, file := range files { + if file.IsDir() && !re.MatchString(file.Name()) { + suites = append(suites, suitesInDir(dir+"/"+file.Name(), recurse)...) + } + } + } + + return suites +} + +func relPath(dir string) string { + dir, _ = filepath.Abs(dir) + cwd, _ := os.Getwd() + dir, _ = filepath.Rel(cwd, filepath.Clean(dir)) + + if string(dir[0]) != "." { + dir = "." + string(filepath.Separator) + dir + } + + return dir +} + +func packageNameForSuite(dir string) string { + path, _ := filepath.Abs(dir) + return filepath.Base(path) +} + +func filesHaveGinkgoSuite(dir string, files []os.DirEntry) bool { + reTestFile := regexp.MustCompile(`_test\.go$`) + reGinkgo := regexp.MustCompile(`package ginkgo|\/ginkgo"|\/ginkgo\/v2"|\/ginkgo\/v2/dsl/`) + + for _, file := range files { + if !file.IsDir() && reTestFile.MatchString(file.Name()) { + contents, _ := os.ReadFile(dir + "/" + file.Name()) + if reGinkgo.Match(contents) { + return true + } + } + } + + return false +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/utils.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/utils.go new file mode 100644 index 000000000..bd9ca7d51 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/utils.go @@ -0,0 +1,86 @@ +package internal + +import ( + "fmt" + "io" + "os" + "os/exec" + + "github.com/onsi/ginkgo/v2/formatter" + "github.com/onsi/ginkgo/v2/ginkgo/command" +) + +func FileExists(path string) bool { + _, err := os.Stat(path) + return err == nil +} + +func CopyFile(src string, dest string) error { + srcFile, err := os.Open(src) + if err != nil { + return err + } + + srcStat, err := srcFile.Stat() + if err != nil { + return err + } + + if _, err := os.Stat(dest); err == nil { + os.Remove(dest) + } + + destFile, err := os.OpenFile(dest, os.O_WRONLY|os.O_CREATE, srcStat.Mode()) + if err != nil { + return err + } + + _, err = io.Copy(destFile, srcFile) + if err != nil { + return err + } + + if err := srcFile.Close(); err != nil { + return err + } + return destFile.Close() +} + +func GoFmt(path string) { + out, err := exec.Command("go", "fmt", path).CombinedOutput() + if err != nil { + command.AbortIfError(fmt.Sprintf("Could not fmt:\n%s\n", string(out)), err) + } +} + +func PluralizedWord(singular, plural string, count int) string { + if count == 1 { + return singular + } + return plural +} + +func FailedSuitesReport(suites TestSuites, f formatter.Formatter) string { + out := "" + out += "There were failures detected in the following suites:\n" + + maxPackageNameLength := 0 + for _, suite := range suites.WithState(TestSuiteStateFailureStates...) { + if len(suite.PackageName) > maxPackageNameLength { + maxPackageNameLength = len(suite.PackageName) + } + } + + packageNameFormatter := fmt.Sprintf("%%%ds", maxPackageNameLength) + for _, suite := range suites { + switch suite.State { + case TestSuiteStateFailed: + out += f.Fi(1, "{{red}}"+packageNameFormatter+" {{gray}}%s{{/}}\n", suite.PackageName, suite.Path) + case TestSuiteStateFailedToCompile: + out += f.Fi(1, "{{red}}"+packageNameFormatter+" {{gray}}%s {{magenta}}[Compilation failure]{{/}}\n", suite.PackageName, suite.Path) + case TestSuiteStateFailedDueToTimeout: + out += f.Fi(1, "{{red}}"+packageNameFormatter+" {{gray}}%s {{orange}}[%s]{{/}}\n", suite.PackageName, suite.Path, TIMEOUT_ELAPSED_FAILURE_REASON) + } + } + return out +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/verify_version.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/verify_version.go new file mode 100644 index 000000000..9da1bab3d --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/verify_version.go @@ -0,0 +1,54 @@ +package internal + +import ( + "fmt" + "os/exec" + "regexp" + "strings" + + "github.com/onsi/ginkgo/v2/formatter" + "github.com/onsi/ginkgo/v2/types" +) + +var versiorRe = regexp.MustCompile(`v(\d+\.\d+\.\d+)`) + +func VerifyCLIAndFrameworkVersion(suites TestSuites) { + cliVersion := types.VERSION + mismatches := map[string][]string{} + + for _, suite := range suites { + cmd := exec.Command("go", "list", "-m", "github.com/onsi/ginkgo/v2") + cmd.Dir = suite.Path + output, err := cmd.CombinedOutput() + if err != nil { + continue + } + components := strings.Split(string(output), " ") + if len(components) != 2 { + continue + } + matches := versiorRe.FindStringSubmatch(components[1]) + if matches == nil || len(matches) != 2 { + continue + } + libraryVersion := matches[1] + if cliVersion != libraryVersion { + mismatches[libraryVersion] = append(mismatches[libraryVersion], suite.PackageName) + } + } + + if len(mismatches) == 0 { + return + } + + fmt.Println(formatter.F("{{red}}{{bold}}Ginkgo detected a version mismatch between the Ginkgo CLI and the version of Ginkgo imported by your packages:{{/}}")) + + fmt.Println(formatter.Fi(1, "Ginkgo CLI Version:")) + fmt.Println(formatter.Fi(2, "{{bold}}%s{{/}}", cliVersion)) + fmt.Println(formatter.Fi(1, "Mismatched package versions found:")) + for version, packages := range mismatches { + fmt.Println(formatter.Fi(2, "{{bold}}%s{{/}} used by %s", version, strings.Join(packages, ", "))) + } + fmt.Println("") + fmt.Println(formatter.Fiw(1, formatter.COLS, "{{gray}}Ginkgo will continue to attempt to run but you may see errors (including flag parsing errors) and should either update your go.mod or your version of the Ginkgo CLI to match.\n\nTo install the matching version of the CLI run\n {{bold}}go install github.com/onsi/ginkgo/v2/ginkgo{{/}}{{gray}}\nfrom a path that contains a go.mod file. Alternatively you can use\n {{bold}}go run github.com/onsi/ginkgo/v2/ginkgo{{/}}{{gray}}\nfrom a path that contains a go.mod file to invoke the matching version of the Ginkgo CLI.\n\nIf you are attempting to test multiple packages that each have a different version of the Ginkgo library with a single Ginkgo CLI that is currently unsupported.\n{{/}}")) +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/labels/labels_command.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/labels/labels_command.go new file mode 100644 index 000000000..6c61f09d1 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/labels/labels_command.go @@ -0,0 +1,123 @@ +package labels + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "sort" + "strconv" + "strings" + + "github.com/onsi/ginkgo/v2/ginkgo/command" + "github.com/onsi/ginkgo/v2/ginkgo/internal" + "github.com/onsi/ginkgo/v2/types" + "golang.org/x/tools/go/ast/inspector" +) + +func BuildLabelsCommand() command.Command { + var cliConfig = types.NewDefaultCLIConfig() + + flags, err := types.BuildLabelsCommandFlagSet(&cliConfig) + if err != nil { + panic(err) + } + + return command.Command{ + Name: "labels", + Usage: "ginkgo labels ", + Flags: flags, + ShortDoc: "List labels detected in the passed-in packages (or the package in the current directory if left blank).", + DocLink: "spec-labels", + Command: func(args []string, _ []string) { + ListLabels(args, cliConfig) + }, + } +} + +func ListLabels(args []string, cliConfig types.CLIConfig) { + suites := internal.FindSuites(args, cliConfig, false).WithoutState(internal.TestSuiteStateSkippedByFilter) + if len(suites) == 0 { + command.AbortWith("Found no test suites") + } + for _, suite := range suites { + labels := fetchLabelsFromPackage(suite.Path) + if len(labels) == 0 { + fmt.Printf("%s: No labels found\n", suite.PackageName) + } else { + fmt.Printf("%s: [%s]\n", suite.PackageName, strings.Join(labels, ", ")) + } + } +} + +func fetchLabelsFromPackage(packagePath string) []string { + fset := token.NewFileSet() + parsedPackages, err := parser.ParseDir(fset, packagePath, nil, 0) + command.AbortIfError("Failed to parse package source:", err) + + files := []*ast.File{} + hasTestPackage := false + for key, pkg := range parsedPackages { + if strings.HasSuffix(key, "_test") { + hasTestPackage = true + for _, file := range pkg.Files { + files = append(files, file) + } + } + } + if !hasTestPackage { + for _, pkg := range parsedPackages { + for _, file := range pkg.Files { + files = append(files, file) + } + } + } + + seen := map[string]bool{} + labels := []string{} + ispr := inspector.New(files) + ispr.Preorder([]ast.Node{&ast.CallExpr{}}, func(n ast.Node) { + potentialLabels := fetchLabels(n.(*ast.CallExpr)) + for _, label := range potentialLabels { + if !seen[label] { + seen[label] = true + labels = append(labels, strconv.Quote(label)) + } + } + }) + + sort.Strings(labels) + return labels +} + +func fetchLabels(callExpr *ast.CallExpr) []string { + out := []string{} + switch expr := callExpr.Fun.(type) { + case *ast.Ident: + if expr.Name != "Label" { + return out + } + case *ast.SelectorExpr: + if expr.Sel.Name != "Label" { + return out + } + default: + return out + } + for _, arg := range callExpr.Args { + switch expr := arg.(type) { + case *ast.BasicLit: + if expr.Kind == token.STRING { + unquoted, err := strconv.Unquote(expr.Value) + if err != nil { + unquoted = expr.Value + } + validated, err := types.ValidateAndCleanupLabel(unquoted, types.CodeLocation{}) + if err == nil { + out = append(out, validated) + } + } + } + } + return out +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/main.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/main.go new file mode 100644 index 000000000..e9abb27d8 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/main.go @@ -0,0 +1,58 @@ +package main + +import ( + "fmt" + "os" + + "github.com/onsi/ginkgo/v2/ginkgo/build" + "github.com/onsi/ginkgo/v2/ginkgo/command" + "github.com/onsi/ginkgo/v2/ginkgo/generators" + "github.com/onsi/ginkgo/v2/ginkgo/labels" + "github.com/onsi/ginkgo/v2/ginkgo/outline" + "github.com/onsi/ginkgo/v2/ginkgo/run" + "github.com/onsi/ginkgo/v2/ginkgo/unfocus" + "github.com/onsi/ginkgo/v2/ginkgo/watch" + "github.com/onsi/ginkgo/v2/types" +) + +var program command.Program + +func GenerateCommands() []command.Command { + return []command.Command{ + watch.BuildWatchCommand(), + build.BuildBuildCommand(), + generators.BuildBootstrapCommand(), + generators.BuildGenerateCommand(), + labels.BuildLabelsCommand(), + outline.BuildOutlineCommand(), + unfocus.BuildUnfocusCommand(), + BuildVersionCommand(), + } +} + +func main() { + program = command.Program{ + Name: "ginkgo", + Heading: fmt.Sprintf("Ginkgo Version %s", types.VERSION), + Commands: GenerateCommands(), + DefaultCommand: run.BuildRunCommand(), + DeprecatedCommands: []command.DeprecatedCommand{ + {Name: "convert", Deprecation: types.Deprecations.Convert()}, + {Name: "blur", Deprecation: types.Deprecations.Blur()}, + {Name: "nodot", Deprecation: types.Deprecations.Nodot()}, + }, + } + + program.RunAndExit(os.Args) +} + +func BuildVersionCommand() command.Command { + return command.Command{ + Name: "version", + Usage: "ginkgo version", + ShortDoc: "Print Ginkgo's version", + Command: func(_ []string, _ []string) { + fmt.Printf("Ginkgo Version %s\n", types.VERSION) + }, + } +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/ginkgo.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/ginkgo.go new file mode 100644 index 000000000..5d8d00bb1 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/ginkgo.go @@ -0,0 +1,301 @@ +package outline + +import ( + "go/ast" + "go/token" + "strconv" + + "github.com/onsi/ginkgo/v2/types" +) + +const ( + // undefinedTextAlt is used if the spec/container text cannot be derived + undefinedTextAlt = "undefined" +) + +// ginkgoMetadata holds useful bits of information for every entry in the outline +type ginkgoMetadata struct { + // Name is the spec or container function name, e.g. `Describe` or `It` + Name string `json:"name"` + + // Text is the `text` argument passed to specs, and some containers + Text string `json:"text"` + + // Start is the position of first character of the spec or container block + Start int `json:"start"` + + // End is the position of first character immediately after the spec or container block + End int `json:"end"` + + Spec bool `json:"spec"` + Focused bool `json:"focused"` + Pending bool `json:"pending"` + Labels []string `json:"labels"` +} + +// ginkgoNode is used to construct the outline as a tree +type ginkgoNode struct { + ginkgoMetadata + Nodes []*ginkgoNode `json:"nodes"` +} + +type walkFunc func(n *ginkgoNode) + +func (n *ginkgoNode) PreOrder(f walkFunc) { + f(n) + for _, m := range n.Nodes { + m.PreOrder(f) + } +} + +func (n *ginkgoNode) PostOrder(f walkFunc) { + for _, m := range n.Nodes { + m.PostOrder(f) + } + f(n) +} + +func (n *ginkgoNode) Walk(pre, post walkFunc) { + pre(n) + for _, m := range n.Nodes { + m.Walk(pre, post) + } + post(n) +} + +// PropagateInheritedProperties propagates the Pending and Focused properties +// through the subtree rooted at n. +func (n *ginkgoNode) PropagateInheritedProperties() { + n.PreOrder(func(thisNode *ginkgoNode) { + for _, descendantNode := range thisNode.Nodes { + if thisNode.Pending { + descendantNode.Pending = true + descendantNode.Focused = false + } + if thisNode.Focused && !descendantNode.Pending { + descendantNode.Focused = true + } + } + }) +} + +// BackpropagateUnfocus propagates the Focused property through the subtree +// rooted at n. It applies the rule described in the Ginkgo docs: +// > Nested programmatically focused specs follow a simple rule: if a +// > leaf-node is marked focused, any of its ancestor nodes that are marked +// > focus will be unfocused. +func (n *ginkgoNode) BackpropagateUnfocus() { + focusedSpecInSubtreeStack := []bool{} + n.PostOrder(func(thisNode *ginkgoNode) { + if thisNode.Spec { + focusedSpecInSubtreeStack = append(focusedSpecInSubtreeStack, thisNode.Focused) + return + } + focusedSpecInSubtree := false + for range thisNode.Nodes { + focusedSpecInSubtree = focusedSpecInSubtree || focusedSpecInSubtreeStack[len(focusedSpecInSubtreeStack)-1] + focusedSpecInSubtreeStack = focusedSpecInSubtreeStack[0 : len(focusedSpecInSubtreeStack)-1] + } + focusedSpecInSubtreeStack = append(focusedSpecInSubtreeStack, focusedSpecInSubtree) + if focusedSpecInSubtree { + thisNode.Focused = false + } + }) + +} + +func packageAndIdentNamesFromCallExpr(ce *ast.CallExpr) (string, string, bool) { + switch ex := ce.Fun.(type) { + case *ast.Ident: + return "", ex.Name, true + case *ast.SelectorExpr: + pkgID, ok := ex.X.(*ast.Ident) + if !ok { + return "", "", false + } + // A package identifier is top-level, so Obj must be nil + if pkgID.Obj != nil { + return "", "", false + } + if ex.Sel == nil { + return "", "", false + } + return pkgID.Name, ex.Sel.Name, true + default: + return "", "", false + } +} + +// absoluteOffsetsForNode derives the absolute character offsets of the node start and +// end positions. +func absoluteOffsetsForNode(fset *token.FileSet, n ast.Node) (start, end int) { + return fset.PositionFor(n.Pos(), false).Offset, fset.PositionFor(n.End(), false).Offset +} + +// ginkgoNodeFromCallExpr derives an outline entry from a go AST subtree +// corresponding to a Ginkgo container or spec. +func ginkgoNodeFromCallExpr(fset *token.FileSet, ce *ast.CallExpr, ginkgoPackageName *string) (*ginkgoNode, bool) { + packageName, identName, ok := packageAndIdentNamesFromCallExpr(ce) + if !ok { + return nil, false + } + + n := ginkgoNode{} + n.Name = identName + n.Start, n.End = absoluteOffsetsForNode(fset, ce) + n.Nodes = make([]*ginkgoNode, 0) + switch identName { + case "It", "Specify", "Entry": + n.Spec = true + n.Text = textOrAltFromCallExpr(ce, undefinedTextAlt) + n.Labels = labelFromCallExpr(ce) + n.Pending = pendingFromCallExpr(ce) + return &n, ginkgoPackageName != nil && *ginkgoPackageName == packageName + case "FIt", "FSpecify", "FEntry": + n.Spec = true + n.Focused = true + n.Text = textOrAltFromCallExpr(ce, undefinedTextAlt) + n.Labels = labelFromCallExpr(ce) + return &n, ginkgoPackageName != nil && *ginkgoPackageName == packageName + case "PIt", "PSpecify", "XIt", "XSpecify", "PEntry", "XEntry": + n.Spec = true + n.Pending = true + n.Text = textOrAltFromCallExpr(ce, undefinedTextAlt) + n.Labels = labelFromCallExpr(ce) + return &n, ginkgoPackageName != nil && *ginkgoPackageName == packageName + case "Context", "Describe", "When", "DescribeTable": + n.Text = textOrAltFromCallExpr(ce, undefinedTextAlt) + n.Labels = labelFromCallExpr(ce) + n.Pending = pendingFromCallExpr(ce) + return &n, ginkgoPackageName != nil && *ginkgoPackageName == packageName + case "FContext", "FDescribe", "FWhen", "FDescribeTable": + n.Focused = true + n.Text = textOrAltFromCallExpr(ce, undefinedTextAlt) + n.Labels = labelFromCallExpr(ce) + return &n, ginkgoPackageName != nil && *ginkgoPackageName == packageName + case "PContext", "PDescribe", "PWhen", "XContext", "XDescribe", "XWhen", "PDescribeTable", "XDescribeTable": + n.Pending = true + n.Text = textOrAltFromCallExpr(ce, undefinedTextAlt) + n.Labels = labelFromCallExpr(ce) + return &n, ginkgoPackageName != nil && *ginkgoPackageName == packageName + case "By": + n.Text = textOrAltFromCallExpr(ce, undefinedTextAlt) + return &n, ginkgoPackageName != nil && *ginkgoPackageName == packageName + case "AfterEach", "BeforeEach": + return &n, ginkgoPackageName != nil && *ginkgoPackageName == packageName + case "JustAfterEach", "JustBeforeEach": + return &n, ginkgoPackageName != nil && *ginkgoPackageName == packageName + case "AfterSuite", "BeforeSuite": + return &n, ginkgoPackageName != nil && *ginkgoPackageName == packageName + case "SynchronizedAfterSuite", "SynchronizedBeforeSuite": + return &n, ginkgoPackageName != nil && *ginkgoPackageName == packageName + default: + return nil, false + } +} + +// textOrAltFromCallExpr tries to derive the "text" of a Ginkgo spec or +// container. If it cannot derive it, it returns the alt text. +func textOrAltFromCallExpr(ce *ast.CallExpr, alt string) string { + text, defined := textFromCallExpr(ce) + if !defined { + return alt + } + return text +} + +// textFromCallExpr tries to derive the "text" of a Ginkgo spec or container. If +// it cannot derive it, it returns false. +func textFromCallExpr(ce *ast.CallExpr) (string, bool) { + if len(ce.Args) < 1 { + return "", false + } + text, ok := ce.Args[0].(*ast.BasicLit) + if !ok { + return "", false + } + switch text.Kind { + case token.CHAR, token.STRING: + // For token.CHAR and token.STRING, Value is quoted + unquoted, err := strconv.Unquote(text.Value) + if err != nil { + // If unquoting fails, just use the raw Value + return text.Value, true + } + return unquoted, true + default: + return text.Value, true + } +} + +func labelFromCallExpr(ce *ast.CallExpr) []string { + + labels := []string{} + if len(ce.Args) < 2 { + return labels + } + + for _, arg := range ce.Args[1:] { + switch expr := arg.(type) { + case *ast.CallExpr: + id, ok := expr.Fun.(*ast.Ident) + if !ok { + // to skip over cases where the expr.Fun. is actually *ast.SelectorExpr + continue + } + if id.Name == "Label" { + ls := extractLabels(expr) + labels = append(labels, ls...) + } + } + } + return labels +} + +func extractLabels(expr *ast.CallExpr) []string { + out := []string{} + for _, arg := range expr.Args { + switch expr := arg.(type) { + case *ast.BasicLit: + if expr.Kind == token.STRING { + unquoted, err := strconv.Unquote(expr.Value) + if err != nil { + unquoted = expr.Value + } + validated, err := types.ValidateAndCleanupLabel(unquoted, types.CodeLocation{}) + if err == nil { + out = append(out, validated) + } + } + } + } + + return out +} + +func pendingFromCallExpr(ce *ast.CallExpr) bool { + + pending := false + if len(ce.Args) < 2 { + return pending + } + + for _, arg := range ce.Args[1:] { + switch expr := arg.(type) { + case *ast.CallExpr: + id, ok := expr.Fun.(*ast.Ident) + if !ok { + // to skip over cases where the expr.Fun. is actually *ast.SelectorExpr + continue + } + if id.Name == "Pending" { + pending = true + } + case *ast.Ident: + if expr.Name == "Pending" { + pending = true + } + } + } + return pending +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/import.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/import.go new file mode 100644 index 000000000..f0a6b5d26 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/import.go @@ -0,0 +1,58 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Most of the required functions were available in the +// "golang.org/x/tools/go/ast/astutil" package, but not exported. +// They were copied from https://github.com/golang/tools/blob/2b0845dc783e36ae26d683f4915a5840ef01ab0f/go/ast/astutil/imports.go + +package outline + +import ( + "go/ast" + "strconv" + "strings" +) + +// packageNameForImport returns the package name for the package. If the package +// is not imported, it returns nil. "Package name" refers to `pkgname` in the +// call expression `pkgname.ExportedIdentifier`. Examples: +// (import path not found) -> nil +// "import example.com/pkg/foo" -> "foo" +// "import fooalias example.com/pkg/foo" -> "fooalias" +// "import . example.com/pkg/foo" -> "" +func packageNameForImport(f *ast.File, path string) *string { + spec := importSpec(f, path) + if spec == nil { + return nil + } + name := spec.Name.String() + if name == "" { + name = "ginkgo" + } + if name == "." { + name = "" + } + return &name +} + +// importSpec returns the import spec if f imports path, +// or nil otherwise. +func importSpec(f *ast.File, path string) *ast.ImportSpec { + for _, s := range f.Imports { + if strings.HasPrefix(importPath(s), path) { + return s + } + } + return nil +} + +// importPath returns the unquoted import path of s, +// or "" if the path is not properly quoted. +func importPath(s *ast.ImportSpec) string { + t, err := strconv.Unquote(s.Path.Value) + if err != nil { + return "" + } + return t +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline.go new file mode 100644 index 000000000..c2327cda8 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline.go @@ -0,0 +1,110 @@ +package outline + +import ( + "encoding/json" + "fmt" + "go/ast" + "go/token" + "strings" + + "golang.org/x/tools/go/ast/inspector" +) + +const ( + // ginkgoImportPath is the well-known ginkgo import path + ginkgoImportPath = "github.com/onsi/ginkgo/v2" +) + +// FromASTFile returns an outline for a Ginkgo test source file +func FromASTFile(fset *token.FileSet, src *ast.File) (*outline, error) { + ginkgoPackageName := packageNameForImport(src, ginkgoImportPath) + if ginkgoPackageName == nil { + return nil, fmt.Errorf("file does not import %q", ginkgoImportPath) + } + + root := ginkgoNode{} + stack := []*ginkgoNode{&root} + ispr := inspector.New([]*ast.File{src}) + ispr.Nodes([]ast.Node{(*ast.CallExpr)(nil)}, func(node ast.Node, push bool) bool { + if push { + // Pre-order traversal + ce, ok := node.(*ast.CallExpr) + if !ok { + // Because `Nodes` calls this function only when the node is an + // ast.CallExpr, this should never happen + panic(fmt.Errorf("node starting at %d, ending at %d is not an *ast.CallExpr", node.Pos(), node.End())) + } + gn, ok := ginkgoNodeFromCallExpr(fset, ce, ginkgoPackageName) + if !ok { + // Node is not a Ginkgo spec or container, continue + return true + } + parent := stack[len(stack)-1] + parent.Nodes = append(parent.Nodes, gn) + stack = append(stack, gn) + return true + } + // Post-order traversal + start, end := absoluteOffsetsForNode(fset, node) + lastVisitedGinkgoNode := stack[len(stack)-1] + if start != lastVisitedGinkgoNode.Start || end != lastVisitedGinkgoNode.End { + // Node is not a Ginkgo spec or container, so it was not pushed onto the stack, continue + return true + } + stack = stack[0 : len(stack)-1] + return true + }) + if len(root.Nodes) == 0 { + return &outline{[]*ginkgoNode{}}, nil + } + + // Derive the final focused property for all nodes. This must be done + // _before_ propagating the inherited focused property. + root.BackpropagateUnfocus() + // Now, propagate inherited properties, including focused and pending. + root.PropagateInheritedProperties() + + return &outline{root.Nodes}, nil +} + +type outline struct { + Nodes []*ginkgoNode `json:"nodes"` +} + +func (o *outline) MarshalJSON() ([]byte, error) { + return json.Marshal(o.Nodes) +} + +// String returns a CSV-formatted outline. Spec or container are output in +// depth-first order. +func (o *outline) String() string { + return o.StringIndent(0) +} + +// StringIndent returns a CSV-formated outline, but every line is indented by +// one 'width' of spaces for every level of nesting. +func (o *outline) StringIndent(width int) string { + var b strings.Builder + b.WriteString("Name,Text,Start,End,Spec,Focused,Pending,Labels\n") + + currentIndent := 0 + pre := func(n *ginkgoNode) { + b.WriteString(fmt.Sprintf("%*s", currentIndent, "")) + var labels string + if len(n.Labels) == 1 { + labels = n.Labels[0] + } else { + labels = strings.Join(n.Labels, ", ") + } + //enclosing labels in a double quoted comma separate listed so that when inmported into a CSV app the Labels column has comma separate strings + b.WriteString(fmt.Sprintf("%s,%s,%d,%d,%t,%t,%t,\"%s\"\n", n.Name, n.Text, n.Start, n.End, n.Spec, n.Focused, n.Pending, labels)) + currentIndent += width + } + post := func(n *ginkgoNode) { + currentIndent -= width + } + for _, n := range o.Nodes { + n.Walk(pre, post) + } + return b.String() +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline_command.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline_command.go new file mode 100644 index 000000000..36698d46a --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/outline/outline_command.go @@ -0,0 +1,98 @@ +package outline + +import ( + "encoding/json" + "fmt" + "go/parser" + "go/token" + "os" + + "github.com/onsi/ginkgo/v2/ginkgo/command" + "github.com/onsi/ginkgo/v2/types" +) + +const ( + // indentWidth is the width used by the 'indent' output + indentWidth = 4 + // stdinAlias is a portable alias for stdin. This convention is used in + // other CLIs, e.g., kubectl. + stdinAlias = "-" + usageCommand = "ginkgo outline " +) + +type outlineConfig struct { + Format string +} + +func BuildOutlineCommand() command.Command { + conf := outlineConfig{ + Format: "csv", + } + flags, err := types.NewGinkgoFlagSet( + types.GinkgoFlags{ + {Name: "format", KeyPath: "Format", + Usage: "Format of outline", + UsageArgument: "one of 'csv', 'indent', or 'json'", + UsageDefaultValue: conf.Format, + }, + }, + &conf, + types.GinkgoFlagSections{}, + ) + if err != nil { + panic(err) + } + + return command.Command{ + Name: "outline", + Usage: "ginkgo outline ", + ShortDoc: "Create an outline of Ginkgo symbols for a file", + Documentation: "To read from stdin, use: `ginkgo outline -`", + DocLink: "creating-an-outline-of-specs", + Flags: flags, + Command: func(args []string, _ []string) { + outlineFile(args, conf.Format) + }, + } +} + +func outlineFile(args []string, format string) { + if len(args) != 1 { + command.AbortWithUsage("outline expects exactly one argument") + } + + filename := args[0] + var src *os.File + if filename == stdinAlias { + src = os.Stdin + } else { + var err error + src, err = os.Open(filename) + command.AbortIfError("Failed to open file:", err) + } + + fset := token.NewFileSet() + + parsedSrc, err := parser.ParseFile(fset, filename, src, 0) + command.AbortIfError("Failed to parse source:", err) + + o, err := FromASTFile(fset, parsedSrc) + command.AbortIfError("Failed to create outline:", err) + + var oerr error + switch format { + case "csv": + _, oerr = fmt.Print(o) + case "indent": + _, oerr = fmt.Print(o.StringIndent(indentWidth)) + case "json": + b, err := json.Marshal(o) + if err != nil { + println(fmt.Sprintf("error marshalling to json: %s", err)) + } + _, oerr = fmt.Println(string(b)) + default: + command.AbortWith("Format %s not accepted", format) + } + command.AbortIfError("Failed to write outline:", oerr) +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/run/run_command.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/run/run_command.go new file mode 100644 index 000000000..aaed4d570 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/run/run_command.go @@ -0,0 +1,232 @@ +package run + +import ( + "fmt" + "os" + "strings" + "time" + + "github.com/onsi/ginkgo/v2/formatter" + "github.com/onsi/ginkgo/v2/ginkgo/command" + "github.com/onsi/ginkgo/v2/ginkgo/internal" + "github.com/onsi/ginkgo/v2/internal/interrupt_handler" + "github.com/onsi/ginkgo/v2/types" +) + +func BuildRunCommand() command.Command { + var suiteConfig = types.NewDefaultSuiteConfig() + var reporterConfig = types.NewDefaultReporterConfig() + var cliConfig = types.NewDefaultCLIConfig() + var goFlagsConfig = types.NewDefaultGoFlagsConfig() + + flags, err := types.BuildRunCommandFlagSet(&suiteConfig, &reporterConfig, &cliConfig, &goFlagsConfig) + if err != nil { + panic(err) + } + + interruptHandler := interrupt_handler.NewInterruptHandler(nil) + interrupt_handler.SwallowSigQuit() + + return command.Command{ + Name: "run", + Flags: flags, + Usage: "ginkgo run -- ", + ShortDoc: "Run the tests in the passed in (or the package in the current directory if left blank)", + Documentation: "Any arguments after -- will be passed to the test.", + DocLink: "running-tests", + Command: func(args []string, additionalArgs []string) { + var errors []error + cliConfig, goFlagsConfig, errors = types.VetAndInitializeCLIAndGoConfig(cliConfig, goFlagsConfig) + command.AbortIfErrors("Ginkgo detected configuration issues:", errors) + + runner := &SpecRunner{ + cliConfig: cliConfig, + goFlagsConfig: goFlagsConfig, + suiteConfig: suiteConfig, + reporterConfig: reporterConfig, + flags: flags, + + interruptHandler: interruptHandler, + } + + runner.RunSpecs(args, additionalArgs) + }, + } +} + +type SpecRunner struct { + suiteConfig types.SuiteConfig + reporterConfig types.ReporterConfig + cliConfig types.CLIConfig + goFlagsConfig types.GoFlagsConfig + flags types.GinkgoFlagSet + + interruptHandler *interrupt_handler.InterruptHandler +} + +func (r *SpecRunner) RunSpecs(args []string, additionalArgs []string) { + suites := internal.FindSuites(args, r.cliConfig, true) + skippedSuites := suites.WithState(internal.TestSuiteStateSkippedByFilter) + suites = suites.WithoutState(internal.TestSuiteStateSkippedByFilter) + + internal.VerifyCLIAndFrameworkVersion(suites) + + if len(skippedSuites) > 0 { + fmt.Println("Will skip:") + for _, skippedSuite := range skippedSuites { + fmt.Println(" " + skippedSuite.Path) + } + } + + if len(skippedSuites) > 0 && len(suites) == 0 { + command.AbortGracefullyWith("All tests skipped! Exiting...") + } + + if len(suites) == 0 { + command.AbortWith("Found no test suites") + } + + if len(suites) > 1 && !r.flags.WasSet("succinct") && r.reporterConfig.Verbosity().LT(types.VerbosityLevelVerbose) { + r.reporterConfig.Succinct = true + } + + t := time.Now() + var endTime time.Time + if r.suiteConfig.Timeout > 0 { + endTime = t.Add(r.suiteConfig.Timeout) + } + + iteration := 0 +OUTER_LOOP: + for { + if !r.flags.WasSet("seed") { + r.suiteConfig.RandomSeed = time.Now().Unix() + } + if r.cliConfig.RandomizeSuites && len(suites) > 1 { + suites = suites.ShuffledCopy(r.suiteConfig.RandomSeed) + } + + opc := internal.NewOrderedParallelCompiler(r.cliConfig.ComputedNumCompilers()) + opc.StartCompiling(suites, r.goFlagsConfig) + + SUITE_LOOP: + for { + suiteIdx, suite := opc.Next() + if suiteIdx >= len(suites) { + break SUITE_LOOP + } + suites[suiteIdx] = suite + + if r.interruptHandler.Status().Interrupted() { + opc.StopAndDrain() + break OUTER_LOOP + } + + if suites[suiteIdx].State.Is(internal.TestSuiteStateSkippedDueToEmptyCompilation) { + fmt.Printf("Skipping %s (no test files)\n", suite.Path) + continue SUITE_LOOP + } + + if suites[suiteIdx].State.Is(internal.TestSuiteStateFailedToCompile) { + fmt.Println(suites[suiteIdx].CompilationError.Error()) + if !r.cliConfig.KeepGoing { + opc.StopAndDrain() + } + continue SUITE_LOOP + } + + if suites.CountWithState(internal.TestSuiteStateFailureStates...) > 0 && !r.cliConfig.KeepGoing { + suites[suiteIdx].State = internal.TestSuiteStateSkippedDueToPriorFailures + opc.StopAndDrain() + continue SUITE_LOOP + } + + if !endTime.IsZero() { + r.suiteConfig.Timeout = endTime.Sub(time.Now()) + if r.suiteConfig.Timeout <= 0 { + suites[suiteIdx].State = internal.TestSuiteStateFailedDueToTimeout + opc.StopAndDrain() + continue SUITE_LOOP + } + } + + suites[suiteIdx] = internal.RunCompiledSuite(suites[suiteIdx], r.suiteConfig, r.reporterConfig, r.cliConfig, r.goFlagsConfig, additionalArgs) + } + + if suites.CountWithState(internal.TestSuiteStateFailureStates...) > 0 { + if iteration > 0 { + fmt.Printf("\nTests failed on attempt #%d\n\n", iteration+1) + } + break OUTER_LOOP + } + + if r.cliConfig.UntilItFails { + fmt.Printf("\nAll tests passed...\nWill keep running them until they fail.\nThis was attempt #%d\n%s\n", iteration+1, orcMessage(iteration+1)) + } else if r.cliConfig.Repeat > 0 && iteration < r.cliConfig.Repeat { + fmt.Printf("\nAll tests passed...\nThis was attempt %d of %d.\n", iteration+1, r.cliConfig.Repeat+1) + } else { + break OUTER_LOOP + } + iteration += 1 + } + + internal.Cleanup(r.goFlagsConfig, suites...) + + messages, err := internal.FinalizeProfilesAndReportsForSuites(suites, r.cliConfig, r.suiteConfig, r.reporterConfig, r.goFlagsConfig) + command.AbortIfError("could not finalize profiles:", err) + for _, message := range messages { + fmt.Println(message) + } + + fmt.Printf("\nGinkgo ran %d %s in %s\n", len(suites), internal.PluralizedWord("suite", "suites", len(suites)), time.Since(t)) + + if suites.CountWithState(internal.TestSuiteStateFailureStates...) == 0 { + if suites.AnyHaveProgrammaticFocus() && strings.TrimSpace(os.Getenv("GINKGO_EDITOR_INTEGRATION")) == "" { + fmt.Printf("Test Suite Passed\n") + fmt.Printf("Detected Programmatic Focus - setting exit status to %d\n", types.GINKGO_FOCUS_EXIT_CODE) + command.Abort(command.AbortDetails{ExitCode: types.GINKGO_FOCUS_EXIT_CODE}) + } else { + fmt.Printf("Test Suite Passed\n") + command.Abort(command.AbortDetails{}) + } + } else { + fmt.Fprintln(formatter.ColorableStdOut, "") + if len(suites) > 1 && suites.CountWithState(internal.TestSuiteStateFailureStates...) > 0 { + fmt.Fprintln(formatter.ColorableStdOut, + internal.FailedSuitesReport(suites, formatter.NewWithNoColorBool(r.reporterConfig.NoColor))) + } + fmt.Printf("Test Suite Failed\n") + command.Abort(command.AbortDetails{ExitCode: 1}) + } +} + +func orcMessage(iteration int) string { + if iteration < 10 { + return "" + } else if iteration < 30 { + return []string{ + "If at first you succeed...", + "...try, try again.", + "Looking good!", + "Still good...", + "I think your tests are fine....", + "Yep, still passing", + "Oh boy, here I go testin' again!", + "Even the gophers are getting bored", + "Did you try -race?", + "Maybe you should stop now?", + "I'm getting tired...", + "What if I just made you a sandwich?", + "Hit ^C, hit ^C, please hit ^C", + "Make it stop. Please!", + "Come on! Enough is enough!", + "Dave, this conversation can serve no purpose anymore. Goodbye.", + "Just what do you think you're doing, Dave? ", + "I, Sisyphus", + "Insanity: doing the same thing over and over again and expecting different results. -Einstein", + "I guess Einstein never tried to churn butter", + }[iteration-10] + "\n" + } else { + return "No, seriously... you can probably stop now.\n" + } +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/unfocus/unfocus_command.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/unfocus/unfocus_command.go new file mode 100644 index 000000000..7dd294394 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/unfocus/unfocus_command.go @@ -0,0 +1,186 @@ +package unfocus + +import ( + "bytes" + "fmt" + "go/ast" + "go/parser" + "go/token" + "io" + "os" + "path/filepath" + "strings" + "sync" + + "github.com/onsi/ginkgo/v2/ginkgo/command" +) + +func BuildUnfocusCommand() command.Command { + return command.Command{ + Name: "unfocus", + Usage: "ginkgo unfocus", + ShortDoc: "Recursively unfocus any focused tests under the current directory", + DocLink: "filtering-specs", + Command: func(_ []string, _ []string) { + unfocusSpecs() + }, + } +} + +func unfocusSpecs() { + fmt.Println("Scanning for focus...") + + goFiles := make(chan string) + go func() { + unfocusDir(goFiles, ".") + close(goFiles) + }() + + const workers = 10 + wg := sync.WaitGroup{} + wg.Add(workers) + + for i := 0; i < workers; i++ { + go func() { + for path := range goFiles { + unfocusFile(path) + } + wg.Done() + }() + } + + wg.Wait() +} + +func unfocusDir(goFiles chan string, path string) { + files, err := os.ReadDir(path) + if err != nil { + fmt.Println(err.Error()) + return + } + + for _, f := range files { + switch { + case f.IsDir() && shouldProcessDir(f.Name()): + unfocusDir(goFiles, filepath.Join(path, f.Name())) + case !f.IsDir() && shouldProcessFile(f.Name()): + goFiles <- filepath.Join(path, f.Name()) + } + } +} + +func shouldProcessDir(basename string) bool { + return basename != "vendor" && !strings.HasPrefix(basename, ".") +} + +func shouldProcessFile(basename string) bool { + return strings.HasSuffix(basename, ".go") +} + +func unfocusFile(path string) { + data, err := os.ReadFile(path) + if err != nil { + fmt.Printf("error reading file '%s': %s\n", path, err.Error()) + return + } + + ast, err := parser.ParseFile(token.NewFileSet(), path, bytes.NewReader(data), parser.ParseComments) + if err != nil { + fmt.Printf("error parsing file '%s': %s\n", path, err.Error()) + return + } + + eliminations := scanForFocus(ast) + if len(eliminations) == 0 { + return + } + + fmt.Printf("...updating %s\n", path) + backup, err := writeBackup(path, data) + if err != nil { + fmt.Printf("error creating backup file: %s\n", err.Error()) + return + } + + if err := updateFile(path, data, eliminations); err != nil { + fmt.Printf("error writing file '%s': %s\n", path, err.Error()) + return + } + + os.Remove(backup) +} + +func writeBackup(path string, data []byte) (string, error) { + t, err := os.CreateTemp(filepath.Dir(path), filepath.Base(path)) + + if err != nil { + return "", fmt.Errorf("error creating temporary file: %w", err) + } + defer t.Close() + + if _, err := io.Copy(t, bytes.NewReader(data)); err != nil { + return "", fmt.Errorf("error writing to temporary file: %w", err) + } + + return t.Name(), nil +} + +func updateFile(path string, data []byte, eliminations [][]int64) error { + to, err := os.Create(path) + if err != nil { + return fmt.Errorf("error opening file for writing '%s': %w\n", path, err) + } + defer to.Close() + + from := bytes.NewReader(data) + var cursor int64 + for _, eliminationRange := range eliminations { + positionToEliminate, lengthToEliminate := eliminationRange[0]-1, eliminationRange[1] + if _, err := io.CopyN(to, from, positionToEliminate-cursor); err != nil { + return fmt.Errorf("error copying data: %w", err) + } + + cursor = positionToEliminate + lengthToEliminate + + if _, err := from.Seek(lengthToEliminate, io.SeekCurrent); err != nil { + return fmt.Errorf("error seeking to position in buffer: %w", err) + } + } + + if _, err := io.Copy(to, from); err != nil { + return fmt.Errorf("error copying end data: %w", err) + } + + return nil +} + +func scanForFocus(file *ast.File) (eliminations [][]int64) { + ast.Inspect(file, func(n ast.Node) bool { + if c, ok := n.(*ast.CallExpr); ok { + if i, ok := c.Fun.(*ast.Ident); ok { + if isFocus(i.Name) { + eliminations = append(eliminations, []int64{int64(i.Pos()), 1}) + } + } + } + + if i, ok := n.(*ast.Ident); ok { + if i.Name == "Focus" { + eliminations = append(eliminations, []int64{int64(i.Pos()), 6}) + } + } + + return true + }) + + return eliminations +} + +func isFocus(name string) bool { + switch name { + case "FDescribe", "FContext", "FIt", "FDescribeTable", "FEntry", "FSpecify", "FWhen": + return true + default: + return false + } +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta.go new file mode 100644 index 000000000..6c485c5b1 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta.go @@ -0,0 +1,22 @@ +package watch + +import "sort" + +type Delta struct { + ModifiedPackages []string + + NewSuites []*Suite + RemovedSuites []*Suite + modifiedSuites []*Suite +} + +type DescendingByDelta []*Suite + +func (a DescendingByDelta) Len() int { return len(a) } +func (a DescendingByDelta) Swap(i, j int) { a[i], a[j] = a[j], a[i] } +func (a DescendingByDelta) Less(i, j int) bool { return a[i].Delta() > a[j].Delta() } + +func (d Delta) ModifiedSuites() []*Suite { + sort.Sort(DescendingByDelta(d.modifiedSuites)) + return d.modifiedSuites +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta_tracker.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta_tracker.go new file mode 100644 index 000000000..26418ac62 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/delta_tracker.go @@ -0,0 +1,75 @@ +package watch + +import ( + "fmt" + + "regexp" + + "github.com/onsi/ginkgo/v2/ginkgo/internal" +) + +type SuiteErrors map[internal.TestSuite]error + +type DeltaTracker struct { + maxDepth int + watchRegExp *regexp.Regexp + suites map[string]*Suite + packageHashes *PackageHashes +} + +func NewDeltaTracker(maxDepth int, watchRegExp *regexp.Regexp) *DeltaTracker { + return &DeltaTracker{ + maxDepth: maxDepth, + watchRegExp: watchRegExp, + packageHashes: NewPackageHashes(watchRegExp), + suites: map[string]*Suite{}, + } +} + +func (d *DeltaTracker) Delta(suites internal.TestSuites) (delta Delta, errors SuiteErrors) { + errors = SuiteErrors{} + delta.ModifiedPackages = d.packageHashes.CheckForChanges() + + providedSuitePaths := map[string]bool{} + for _, suite := range suites { + providedSuitePaths[suite.Path] = true + } + + d.packageHashes.StartTrackingUsage() + + for _, suite := range d.suites { + if providedSuitePaths[suite.Suite.Path] { + if suite.Delta() > 0 { + delta.modifiedSuites = append(delta.modifiedSuites, suite) + } + } else { + delta.RemovedSuites = append(delta.RemovedSuites, suite) + } + } + + d.packageHashes.StopTrackingUsageAndPrune() + + for _, suite := range suites { + _, ok := d.suites[suite.Path] + if !ok { + s, err := NewSuite(suite, d.maxDepth, d.packageHashes) + if err != nil { + errors[suite] = err + continue + } + d.suites[suite.Path] = s + delta.NewSuites = append(delta.NewSuites, s) + } + } + + return delta, errors +} + +func (d *DeltaTracker) WillRun(suite internal.TestSuite) error { + s, ok := d.suites[suite.Path] + if !ok { + return fmt.Errorf("unknown suite %s", suite.Path) + } + + return s.MarkAsRunAndRecomputedDependencies(d.maxDepth) +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/dependencies.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/dependencies.go new file mode 100644 index 000000000..a34d94354 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/dependencies.go @@ -0,0 +1,92 @@ +package watch + +import ( + "go/build" + "regexp" +) + +var ginkgoAndGomegaFilter = regexp.MustCompile(`github\.com/onsi/ginkgo|github\.com/onsi/gomega`) +var ginkgoIntegrationTestFilter = regexp.MustCompile(`github\.com/onsi/ginkgo/integration`) //allow us to integration test this thing + +type Dependencies struct { + deps map[string]int +} + +func NewDependencies(path string, maxDepth int) (Dependencies, error) { + d := Dependencies{ + deps: map[string]int{}, + } + + if maxDepth == 0 { + return d, nil + } + + err := d.seedWithDepsForPackageAtPath(path) + if err != nil { + return d, err + } + + for depth := 1; depth < maxDepth; depth++ { + n := len(d.deps) + d.addDepsForDepth(depth) + if n == len(d.deps) { + break + } + } + + return d, nil +} + +func (d Dependencies) Dependencies() map[string]int { + return d.deps +} + +func (d Dependencies) seedWithDepsForPackageAtPath(path string) error { + pkg, err := build.ImportDir(path, 0) + if err != nil { + return err + } + + d.resolveAndAdd(pkg.Imports, 1) + d.resolveAndAdd(pkg.TestImports, 1) + d.resolveAndAdd(pkg.XTestImports, 1) + + delete(d.deps, pkg.Dir) + return nil +} + +func (d Dependencies) addDepsForDepth(depth int) { + for dep, depDepth := range d.deps { + if depDepth == depth { + d.addDepsForDep(dep, depth+1) + } + } +} + +func (d Dependencies) addDepsForDep(dep string, depth int) { + pkg, err := build.ImportDir(dep, 0) + if err != nil { + println(err.Error()) + return + } + d.resolveAndAdd(pkg.Imports, depth) +} + +func (d Dependencies) resolveAndAdd(deps []string, depth int) { + for _, dep := range deps { + pkg, err := build.Import(dep, ".", 0) + if err != nil { + continue + } + if !pkg.Goroot && (!ginkgoAndGomegaFilter.MatchString(pkg.Dir) || ginkgoIntegrationTestFilter.MatchString(pkg.Dir)) { + d.addDepIfNotPresent(pkg.Dir, depth) + } + } +} + +func (d Dependencies) addDepIfNotPresent(dep string, depth int) { + _, ok := d.deps[dep] + if !ok { + d.deps[dep] = depth + } +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hash.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hash.go new file mode 100644 index 000000000..0e6ae1f29 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hash.go @@ -0,0 +1,117 @@ +package watch + +import ( + "fmt" + "os" + "regexp" + "strings" + "time" +) + +var goTestRegExp = regexp.MustCompile(`_test\.go$`) + +type PackageHash struct { + CodeModifiedTime time.Time + TestModifiedTime time.Time + Deleted bool + + path string + codeHash string + testHash string + watchRegExp *regexp.Regexp +} + +func NewPackageHash(path string, watchRegExp *regexp.Regexp) *PackageHash { + p := &PackageHash{ + path: path, + watchRegExp: watchRegExp, + } + + p.codeHash, _, p.testHash, _, p.Deleted = p.computeHashes() + + return p +} + +func (p *PackageHash) CheckForChanges() bool { + codeHash, codeModifiedTime, testHash, testModifiedTime, deleted := p.computeHashes() + + if deleted { + if !p.Deleted { + t := time.Now() + p.CodeModifiedTime = t + p.TestModifiedTime = t + } + p.Deleted = true + return true + } + + modified := false + p.Deleted = false + + if p.codeHash != codeHash { + p.CodeModifiedTime = codeModifiedTime + modified = true + } + if p.testHash != testHash { + p.TestModifiedTime = testModifiedTime + modified = true + } + + p.codeHash = codeHash + p.testHash = testHash + return modified +} + +func (p *PackageHash) computeHashes() (codeHash string, codeModifiedTime time.Time, testHash string, testModifiedTime time.Time, deleted bool) { + entries, err := os.ReadDir(p.path) + + if err != nil { + deleted = true + return + } + + for _, entry := range entries { + if entry.IsDir() { + continue + } + + info, err := entry.Info() + if err != nil { + continue + } + + if isHiddenFile(info) { + continue + } + + if goTestRegExp.MatchString(info.Name()) { + testHash += p.hashForFileInfo(info) + if info.ModTime().After(testModifiedTime) { + testModifiedTime = info.ModTime() + } + continue + } + + if p.watchRegExp.MatchString(info.Name()) { + codeHash += p.hashForFileInfo(info) + if info.ModTime().After(codeModifiedTime) { + codeModifiedTime = info.ModTime() + } + } + } + + testHash += codeHash + if codeModifiedTime.After(testModifiedTime) { + testModifiedTime = codeModifiedTime + } + + return +} + +func isHiddenFile(info os.FileInfo) bool { + return strings.HasPrefix(info.Name(), ".") || strings.HasPrefix(info.Name(), "_") +} + +func (p *PackageHash) hashForFileInfo(info os.FileInfo) string { + return fmt.Sprintf("%s_%d_%d", info.Name(), info.Size(), info.ModTime().UnixNano()) +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hashes.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hashes.go new file mode 100644 index 000000000..b4892bebf --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/package_hashes.go @@ -0,0 +1,85 @@ +package watch + +import ( + "path/filepath" + "regexp" + "sync" +) + +type PackageHashes struct { + PackageHashes map[string]*PackageHash + usedPaths map[string]bool + watchRegExp *regexp.Regexp + lock *sync.Mutex +} + +func NewPackageHashes(watchRegExp *regexp.Regexp) *PackageHashes { + return &PackageHashes{ + PackageHashes: map[string]*PackageHash{}, + usedPaths: nil, + watchRegExp: watchRegExp, + lock: &sync.Mutex{}, + } +} + +func (p *PackageHashes) CheckForChanges() []string { + p.lock.Lock() + defer p.lock.Unlock() + + modified := []string{} + + for _, packageHash := range p.PackageHashes { + if packageHash.CheckForChanges() { + modified = append(modified, packageHash.path) + } + } + + return modified +} + +func (p *PackageHashes) Add(path string) *PackageHash { + p.lock.Lock() + defer p.lock.Unlock() + + path, _ = filepath.Abs(path) + _, ok := p.PackageHashes[path] + if !ok { + p.PackageHashes[path] = NewPackageHash(path, p.watchRegExp) + } + + if p.usedPaths != nil { + p.usedPaths[path] = true + } + return p.PackageHashes[path] +} + +func (p *PackageHashes) Get(path string) *PackageHash { + p.lock.Lock() + defer p.lock.Unlock() + + path, _ = filepath.Abs(path) + if p.usedPaths != nil { + p.usedPaths[path] = true + } + return p.PackageHashes[path] +} + +func (p *PackageHashes) StartTrackingUsage() { + p.lock.Lock() + defer p.lock.Unlock() + + p.usedPaths = map[string]bool{} +} + +func (p *PackageHashes) StopTrackingUsageAndPrune() { + p.lock.Lock() + defer p.lock.Unlock() + + for path := range p.PackageHashes { + if !p.usedPaths[path] { + delete(p.PackageHashes, path) + } + } + + p.usedPaths = nil +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/suite.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/suite.go new file mode 100644 index 000000000..53272df7e --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/suite.go @@ -0,0 +1,87 @@ +package watch + +import ( + "fmt" + "math" + "time" + + "github.com/onsi/ginkgo/v2/ginkgo/internal" +) + +type Suite struct { + Suite internal.TestSuite + RunTime time.Time + Dependencies Dependencies + + sharedPackageHashes *PackageHashes +} + +func NewSuite(suite internal.TestSuite, maxDepth int, sharedPackageHashes *PackageHashes) (*Suite, error) { + deps, err := NewDependencies(suite.Path, maxDepth) + if err != nil { + return nil, err + } + + sharedPackageHashes.Add(suite.Path) + for dep := range deps.Dependencies() { + sharedPackageHashes.Add(dep) + } + + return &Suite{ + Suite: suite, + Dependencies: deps, + + sharedPackageHashes: sharedPackageHashes, + }, nil +} + +func (s *Suite) Delta() float64 { + delta := s.delta(s.Suite.Path, true, 0) * 1000 + for dep, depth := range s.Dependencies.Dependencies() { + delta += s.delta(dep, false, depth) + } + return delta +} + +func (s *Suite) MarkAsRunAndRecomputedDependencies(maxDepth int) error { + s.RunTime = time.Now() + + deps, err := NewDependencies(s.Suite.Path, maxDepth) + if err != nil { + return err + } + + s.sharedPackageHashes.Add(s.Suite.Path) + for dep := range deps.Dependencies() { + s.sharedPackageHashes.Add(dep) + } + + s.Dependencies = deps + + return nil +} + +func (s *Suite) Description() string { + numDeps := len(s.Dependencies.Dependencies()) + pluralizer := "ies" + if numDeps == 1 { + pluralizer = "y" + } + return fmt.Sprintf("%s [%d dependenc%s]", s.Suite.Path, numDeps, pluralizer) +} + +func (s *Suite) delta(packagePath string, includeTests bool, depth int) float64 { + return math.Max(float64(s.dt(packagePath, includeTests)), 0) / float64(depth+1) +} + +func (s *Suite) dt(packagePath string, includeTests bool) time.Duration { + packageHash := s.sharedPackageHashes.Get(packagePath) + var modifiedTime time.Time + if includeTests { + modifiedTime = packageHash.TestModifiedTime + } else { + modifiedTime = packageHash.CodeModifiedTime + } + + return modifiedTime.Sub(s.RunTime) +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/watch_command.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/watch_command.go new file mode 100644 index 000000000..bde4193ce --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo/watch/watch_command.go @@ -0,0 +1,192 @@ +package watch + +import ( + "fmt" + "regexp" + "time" + + "github.com/onsi/ginkgo/v2/formatter" + "github.com/onsi/ginkgo/v2/ginkgo/command" + "github.com/onsi/ginkgo/v2/ginkgo/internal" + "github.com/onsi/ginkgo/v2/internal/interrupt_handler" + "github.com/onsi/ginkgo/v2/types" +) + +func BuildWatchCommand() command.Command { + var suiteConfig = types.NewDefaultSuiteConfig() + var reporterConfig = types.NewDefaultReporterConfig() + var cliConfig = types.NewDefaultCLIConfig() + var goFlagsConfig = types.NewDefaultGoFlagsConfig() + + flags, err := types.BuildWatchCommandFlagSet(&suiteConfig, &reporterConfig, &cliConfig, &goFlagsConfig) + if err != nil { + panic(err) + } + interruptHandler := interrupt_handler.NewInterruptHandler(nil) + interrupt_handler.SwallowSigQuit() + + return command.Command{ + Name: "watch", + Flags: flags, + Usage: "ginkgo watch -- ", + ShortDoc: "Watch the passed in and runs their tests whenever changes occur.", + Documentation: "Any arguments after -- will be passed to the test.", + DocLink: "watching-for-changes", + Command: func(args []string, additionalArgs []string) { + var errors []error + cliConfig, goFlagsConfig, errors = types.VetAndInitializeCLIAndGoConfig(cliConfig, goFlagsConfig) + command.AbortIfErrors("Ginkgo detected configuration issues:", errors) + + watcher := &SpecWatcher{ + cliConfig: cliConfig, + goFlagsConfig: goFlagsConfig, + suiteConfig: suiteConfig, + reporterConfig: reporterConfig, + flags: flags, + + interruptHandler: interruptHandler, + } + + watcher.WatchSpecs(args, additionalArgs) + }, + } +} + +type SpecWatcher struct { + suiteConfig types.SuiteConfig + reporterConfig types.ReporterConfig + cliConfig types.CLIConfig + goFlagsConfig types.GoFlagsConfig + flags types.GinkgoFlagSet + + interruptHandler *interrupt_handler.InterruptHandler +} + +func (w *SpecWatcher) WatchSpecs(args []string, additionalArgs []string) { + suites := internal.FindSuites(args, w.cliConfig, false).WithoutState(internal.TestSuiteStateSkippedByFilter) + + internal.VerifyCLIAndFrameworkVersion(suites) + + if len(suites) == 0 { + command.AbortWith("Found no test suites") + } + + fmt.Printf("Identified %d test %s. Locating dependencies to a depth of %d (this may take a while)...\n", len(suites), internal.PluralizedWord("suite", "suites", len(suites)), w.cliConfig.Depth) + deltaTracker := NewDeltaTracker(w.cliConfig.Depth, regexp.MustCompile(w.cliConfig.WatchRegExp)) + delta, errors := deltaTracker.Delta(suites) + + fmt.Printf("Watching %d %s:\n", len(delta.NewSuites), internal.PluralizedWord("suite", "suites", len(delta.NewSuites))) + for _, suite := range delta.NewSuites { + fmt.Println(" " + suite.Description()) + } + + for suite, err := range errors { + fmt.Printf("Failed to watch %s: %s\n", suite.PackageName, err) + } + + if len(suites) == 1 { + w.updateSeed() + w.compileAndRun(suites[0], additionalArgs) + } + + ticker := time.NewTicker(time.Second) + + for { + select { + case <-ticker.C: + suites := internal.FindSuites(args, w.cliConfig, false).WithoutState(internal.TestSuiteStateSkippedByFilter) + delta, _ := deltaTracker.Delta(suites) + coloredStream := formatter.ColorableStdOut + + suites = internal.TestSuites{} + + if len(delta.NewSuites) > 0 { + fmt.Fprintln(coloredStream, formatter.F("{{green}}Detected %d new %s:{{/}}", len(delta.NewSuites), internal.PluralizedWord("suite", "suites", len(delta.NewSuites)))) + for _, suite := range delta.NewSuites { + suites = append(suites, suite.Suite) + fmt.Fprintln(coloredStream, formatter.Fi(1, "%s", suite.Description())) + } + } + + modifiedSuites := delta.ModifiedSuites() + if len(modifiedSuites) > 0 { + fmt.Fprintln(coloredStream, formatter.F("{{green}}Detected changes in:{{/}}")) + for _, pkg := range delta.ModifiedPackages { + fmt.Fprintln(coloredStream, formatter.Fi(1, "%s", pkg)) + } + fmt.Fprintln(coloredStream, formatter.F("{{green}}Will run %d %s:{{/}}", len(modifiedSuites), internal.PluralizedWord("suite", "suites", len(modifiedSuites)))) + for _, suite := range modifiedSuites { + suites = append(suites, suite.Suite) + fmt.Fprintln(coloredStream, formatter.Fi(1, "%s", suite.Description())) + } + fmt.Fprintln(coloredStream, "") + } + + if len(suites) == 0 { + break + } + + w.updateSeed() + w.computeSuccinctMode(len(suites)) + for idx := range suites { + if w.interruptHandler.Status().Interrupted() { + return + } + deltaTracker.WillRun(suites[idx]) + suites[idx] = w.compileAndRun(suites[idx], additionalArgs) + } + color := "{{green}}" + if suites.CountWithState(internal.TestSuiteStateFailureStates...) > 0 { + color = "{{red}}" + } + fmt.Fprintln(coloredStream, formatter.F(color+"\nDone. Resuming watch...{{/}}")) + + messages, err := internal.FinalizeProfilesAndReportsForSuites(suites, w.cliConfig, w.suiteConfig, w.reporterConfig, w.goFlagsConfig) + command.AbortIfError("could not finalize profiles:", err) + for _, message := range messages { + fmt.Println(message) + } + case <-w.interruptHandler.Status().Channel: + return + } + } +} + +func (w *SpecWatcher) compileAndRun(suite internal.TestSuite, additionalArgs []string) internal.TestSuite { + suite = internal.CompileSuite(suite, w.goFlagsConfig) + if suite.State.Is(internal.TestSuiteStateFailedToCompile) { + fmt.Println(suite.CompilationError.Error()) + return suite + } + if w.interruptHandler.Status().Interrupted() { + return suite + } + suite = internal.RunCompiledSuite(suite, w.suiteConfig, w.reporterConfig, w.cliConfig, w.goFlagsConfig, additionalArgs) + internal.Cleanup(w.goFlagsConfig, suite) + return suite +} + +func (w *SpecWatcher) computeSuccinctMode(numSuites int) { + if w.reporterConfig.Verbosity().GTE(types.VerbosityLevelVerbose) { + w.reporterConfig.Succinct = false + return + } + + if w.flags.WasSet("succinct") { + return + } + + if numSuites == 1 { + w.reporterConfig.Succinct = false + } + + if numSuites > 1 { + w.reporterConfig.Succinct = true + } +} + +func (w *SpecWatcher) updateSeed() { + if !w.flags.WasSet("seed") { + w.suiteConfig.RandomSeed = time.Now().Unix() + } +} diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo_cli_dependencies.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo_cli_dependencies.go new file mode 100644 index 000000000..85162720f --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo_cli_dependencies.go @@ -0,0 +1,8 @@ +//go:build ginkgoclidependencies +// +build ginkgoclidependencies + +package ginkgo + +import ( + _ "github.com/onsi/ginkgo/v2/ginkgo" +) diff --git a/vendor/github.com/onsi/ginkgo/v2/ginkgo_t_dsl.go b/vendor/github.com/onsi/ginkgo/v2/ginkgo_t_dsl.go new file mode 100644 index 000000000..02c6739e5 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/ginkgo_t_dsl.go @@ -0,0 +1,180 @@ +package ginkgo + +import ( + "testing" + + "github.com/onsi/ginkgo/v2/internal/testingtproxy" + "github.com/onsi/ginkgo/v2/types" +) + +/* +GinkgoT() implements an interface that allows third party libraries to integrate with and build on top of Ginkgo. + +GinkgoT() is analogous to *testing.T and implements the majority of *testing.T's methods. It can be typically be used a a drop-in replacement with third-party libraries that accept *testing.T through an interface. + +GinkgoT() takes an optional offset argument that can be used to get the +correct line number associated with the failure - though you do not need to use this if you call GinkgoHelper() or GinkgoT().Helper() appropriately + +GinkgoT() attempts to mimic the behavior of `testing.T` with the exception of the following: + +- Error/Errorf: failures in Ginkgo always immediately stop execution and there is no mechanism to log a failure without aborting the test. As such Error/Errorf are equivalent to Fatal/Fatalf. +- Parallel() is a no-op as Ginkgo's multi-process parallelism model is substantially different from go test's in-process model. + +You can learn more here: https://onsi.github.io/ginkgo/#using-third-party-libraries +*/ +func GinkgoT(optionalOffset ...int) FullGinkgoTInterface { + offset := 1 + if len(optionalOffset) > 0 { + offset = optionalOffset[0] + } + return testingtproxy.New( + GinkgoWriter, + Fail, + Skip, + DeferCleanup, + CurrentSpecReport, + AddReportEntry, + GinkgoRecover, + AttachProgressReporter, + suiteConfig.RandomSeed, + suiteConfig.ParallelProcess, + suiteConfig.ParallelTotal, + reporterConfig.NoColor, + offset) +} + +/* +The portion of the interface returned by GinkgoT() that maps onto methods in the testing package's T. +*/ +type GinkgoTInterface interface { + Cleanup(func()) + Setenv(kev, value string) + Error(args ...any) + Errorf(format string, args ...any) + Fail() + FailNow() + Failed() bool + Fatal(args ...any) + Fatalf(format string, args ...any) + Helper() + Log(args ...any) + Logf(format string, args ...any) + Name() string + Parallel() + Skip(args ...any) + SkipNow() + Skipf(format string, args ...any) + Skipped() bool + TempDir() string +} + +/* +Additional methods returned by GinkgoT() that provide deeper integration points into Ginkgo +*/ +type FullGinkgoTInterface interface { + GinkgoTInterface + + AddReportEntryVisibilityAlways(name string, args ...any) + AddReportEntryVisibilityFailureOrVerbose(name string, args ...any) + AddReportEntryVisibilityNever(name string, args ...any) + + //Prints to the GinkgoWriter + Print(a ...any) + Printf(format string, a ...any) + Println(a ...any) + + //Provides access to Ginkgo's color formatting, correctly configured to match the color settings specified in the invocation of ginkgo + F(format string, args ...any) string + Fi(indentation uint, format string, args ...any) string + Fiw(indentation uint, maxWidth uint, format string, args ...any) string + + //Generates a formatted string version of the current spec's timeline + RenderTimeline() string + + GinkgoRecover() + DeferCleanup(args ...any) + + RandomSeed() int64 + ParallelProcess() int + ParallelTotal() int + + AttachProgressReporter(func() string) func() +} + +/* +GinkgoTB() implements a wrapper that exactly matches the testing.TB interface. + +In go 1.18 a new private() function was added to the testing.TB interface. Any function which accepts testing.TB as input needs to be passed in something that directly implements testing.TB. + +This wrapper satisfies the testing.TB interface and intended to be used as a drop-in replacement with third party libraries that accept testing.TB. + +Similar to GinkgoT(), GinkgoTB() takes an optional offset argument that can be used to get the +correct line number associated with the failure - though you do not need to use this if you call GinkgoHelper() or GinkgoT().Helper() appropriately +*/ +func GinkgoTB(optionalOffset ...int) *GinkgoTBWrapper { + offset := 2 + if len(optionalOffset) > 0 { + offset = optionalOffset[0] + } + return &GinkgoTBWrapper{GinkgoT: GinkgoT(offset)} +} + +type GinkgoTBWrapper struct { + testing.TB + GinkgoT FullGinkgoTInterface +} + +func (g *GinkgoTBWrapper) Cleanup(f func()) { + g.GinkgoT.Cleanup(f) +} +func (g *GinkgoTBWrapper) Error(args ...any) { + g.GinkgoT.Error(args...) +} +func (g *GinkgoTBWrapper) Errorf(format string, args ...any) { + g.GinkgoT.Errorf(format, args...) +} +func (g *GinkgoTBWrapper) Fail() { + g.GinkgoT.Fail() +} +func (g *GinkgoTBWrapper) FailNow() { + g.GinkgoT.FailNow() +} +func (g *GinkgoTBWrapper) Failed() bool { + return g.GinkgoT.Failed() +} +func (g *GinkgoTBWrapper) Fatal(args ...any) { + g.GinkgoT.Fatal(args...) +} +func (g *GinkgoTBWrapper) Fatalf(format string, args ...any) { + g.GinkgoT.Fatalf(format, args...) +} +func (g *GinkgoTBWrapper) Helper() { + types.MarkAsHelper(1) +} +func (g *GinkgoTBWrapper) Log(args ...any) { + g.GinkgoT.Log(args...) +} +func (g *GinkgoTBWrapper) Logf(format string, args ...any) { + g.GinkgoT.Logf(format, args...) +} +func (g *GinkgoTBWrapper) Name() string { + return g.GinkgoT.Name() +} +func (g *GinkgoTBWrapper) Setenv(key, value string) { + g.GinkgoT.Setenv(key, value) +} +func (g *GinkgoTBWrapper) Skip(args ...any) { + g.GinkgoT.Skip(args...) +} +func (g *GinkgoTBWrapper) SkipNow() { + g.GinkgoT.SkipNow() +} +func (g *GinkgoTBWrapper) Skipf(format string, args ...any) { + g.GinkgoT.Skipf(format, args...) +} +func (g *GinkgoTBWrapper) Skipped() bool { + return g.GinkgoT.Skipped() +} +func (g *GinkgoTBWrapper) TempDir() string { + return g.GinkgoT.TempDir() +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/counter.go b/vendor/github.com/onsi/ginkgo/v2/internal/counter.go new file mode 100644 index 000000000..712d85afb --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/counter.go @@ -0,0 +1,9 @@ +package internal + +func MakeIncrementingIndexCounter() func() (int, error) { + idx := -1 + return func() (int, error) { + idx += 1 + return idx, nil + } +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/failer.go b/vendor/github.com/onsi/ginkgo/v2/internal/failer.go new file mode 100644 index 000000000..e9bd9565f --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/failer.go @@ -0,0 +1,99 @@ +package internal + +import ( + "fmt" + "sync" + + "github.com/onsi/ginkgo/v2/types" +) + +type Failer struct { + lock *sync.Mutex + failure types.Failure + state types.SpecState +} + +func NewFailer() *Failer { + return &Failer{ + lock: &sync.Mutex{}, + state: types.SpecStatePassed, + } +} + +func (f *Failer) GetState() types.SpecState { + f.lock.Lock() + defer f.lock.Unlock() + return f.state +} + +func (f *Failer) GetFailure() types.Failure { + f.lock.Lock() + defer f.lock.Unlock() + return f.failure +} + +func (f *Failer) Panic(location types.CodeLocation, forwardedPanic interface{}) { + f.lock.Lock() + defer f.lock.Unlock() + + if f.state == types.SpecStatePassed { + f.state = types.SpecStatePanicked + f.failure = types.Failure{ + Message: "Test Panicked", + Location: location, + ForwardedPanic: fmt.Sprintf("%v", forwardedPanic), + } + } +} + +func (f *Failer) Fail(message string, location types.CodeLocation) { + f.lock.Lock() + defer f.lock.Unlock() + + if f.state == types.SpecStatePassed { + f.state = types.SpecStateFailed + f.failure = types.Failure{ + Message: message, + Location: location, + } + } +} + +func (f *Failer) Skip(message string, location types.CodeLocation) { + f.lock.Lock() + defer f.lock.Unlock() + + if f.state == types.SpecStatePassed { + f.state = types.SpecStateSkipped + f.failure = types.Failure{ + Message: message, + Location: location, + } + } +} + +func (f *Failer) AbortSuite(message string, location types.CodeLocation) { + f.lock.Lock() + defer f.lock.Unlock() + + if f.state == types.SpecStatePassed { + f.state = types.SpecStateAborted + f.failure = types.Failure{ + Message: message, + Location: location, + } + } +} + +func (f *Failer) Drain() (types.SpecState, types.Failure) { + f.lock.Lock() + defer f.lock.Unlock() + + failure := f.failure + outcome := f.state + + f.state = types.SpecStatePassed + f.failure = types.Failure{} + + return outcome, failure +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/focus.go b/vendor/github.com/onsi/ginkgo/v2/internal/focus.go new file mode 100644 index 000000000..e3da7d14d --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/focus.go @@ -0,0 +1,122 @@ +package internal + +import ( + "regexp" + "strings" + + "github.com/onsi/ginkgo/v2/types" +) + +/* +If a container marked as focus has a descendant that is also marked as focus, Ginkgo's policy is to +unmark the container's focus. This gives developers a more intuitive experience when debugging specs. +It is common to focus a container to just run a subset of specs, then identify the specific specs within the container to focus - +this policy allows the developer to simply focus those specific specs and not need to go back and turn the focus off of the container: + +As a common example, consider: + + FDescribe("something to debug", function() { + It("works", function() {...}) + It("works", function() {...}) + FIt("doesn't work", function() {...}) + It("works", function() {...}) + }) + +here the developer's intent is to focus in on the `"doesn't work"` spec and not to run the adjacent specs in the focused `"something to debug"` container. +The nested policy applied by this function enables this behavior. +*/ +func ApplyNestedFocusPolicyToTree(tree *TreeNode) { + var walkTree func(tree *TreeNode) bool + walkTree = func(tree *TreeNode) bool { + if tree.Node.MarkedPending { + return false + } + hasFocusedDescendant := false + for _, child := range tree.Children { + childHasFocus := walkTree(child) + hasFocusedDescendant = hasFocusedDescendant || childHasFocus + } + tree.Node.MarkedFocus = tree.Node.MarkedFocus && !hasFocusedDescendant + return tree.Node.MarkedFocus || hasFocusedDescendant + } + + walkTree(tree) +} + +/* +Ginkgo supports focussing specs using `FIt`, `FDescribe`, etc. - this is called "programmatic focus" +It also supports focussing specs using regular expressions on the command line (`-focus=`, `-skip=`) that match against spec text and file filters (`-focus-files=`, `-skip-files=`) that match against code locations for nodes in specs. + +When both programmatic and file filters are provided their results are ANDed together. If multiple kinds of filters are provided, the file filters run first followed by the regex filters. + +This function sets the `Skip` property on specs by applying Ginkgo's focus policy: +- If there are no CLI arguments and no programmatic focus, do nothing. +- If a spec somewhere has programmatic focus skip any specs that have no programmatic focus. +- If there are CLI arguments parse them and skip any specs that either don't match the focus filters or do match the skip filters. + +*Note:* specs with pending nodes are Skipped when created by NewSpec. +*/ +func ApplyFocusToSpecs(specs Specs, description string, suiteLabels Labels, suiteConfig types.SuiteConfig) (Specs, bool) { + focusString := strings.Join(suiteConfig.FocusStrings, "|") + skipString := strings.Join(suiteConfig.SkipStrings, "|") + + type SkipCheck func(spec Spec) bool + + // by default, skip any specs marked pending + skipChecks := []SkipCheck{func(spec Spec) bool { return spec.Nodes.HasNodeMarkedPending() }} + hasProgrammaticFocus := false + + for _, spec := range specs { + if spec.Nodes.HasNodeMarkedFocus() && !spec.Nodes.HasNodeMarkedPending() { + hasProgrammaticFocus = true + break + } + } + + if hasProgrammaticFocus { + skipChecks = append(skipChecks, func(spec Spec) bool { return !spec.Nodes.HasNodeMarkedFocus() }) + } + + if suiteConfig.LabelFilter != "" { + labelFilter, _ := types.ParseLabelFilter(suiteConfig.LabelFilter) + skipChecks = append(skipChecks, func(spec Spec) bool { + return !labelFilter(UnionOfLabels(suiteLabels, spec.Nodes.UnionOfLabels())) + }) + } + + if len(suiteConfig.FocusFiles) > 0 { + focusFilters, _ := types.ParseFileFilters(suiteConfig.FocusFiles) + skipChecks = append(skipChecks, func(spec Spec) bool { return !focusFilters.Matches(spec.Nodes.CodeLocations()) }) + } + + if len(suiteConfig.SkipFiles) > 0 { + skipFilters, _ := types.ParseFileFilters(suiteConfig.SkipFiles) + skipChecks = append(skipChecks, func(spec Spec) bool { return skipFilters.Matches(spec.Nodes.CodeLocations()) }) + } + + if focusString != "" { + // skip specs that don't match the focus string + re := regexp.MustCompile(focusString) + skipChecks = append(skipChecks, func(spec Spec) bool { return !re.MatchString(description + " " + spec.Text()) }) + } + + if skipString != "" { + // skip specs that match the skip string + re := regexp.MustCompile(skipString) + skipChecks = append(skipChecks, func(spec Spec) bool { return re.MatchString(description + " " + spec.Text()) }) + } + + // skip specs if shouldSkip() is true. note that we do nothing if shouldSkip() is false to avoid overwriting skip status established by the node's pending status + processedSpecs := Specs{} + for _, spec := range specs { + for _, skipCheck := range skipChecks { + if skipCheck(spec) { + spec.Skip = true + break + } + } + processedSpecs = append(processedSpecs, spec) + } + + return processedSpecs, hasProgrammaticFocus +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/global/init.go b/vendor/github.com/onsi/ginkgo/v2/internal/global/init.go new file mode 100644 index 000000000..464e3c97f --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/global/init.go @@ -0,0 +1,28 @@ +package global + +import ( + "github.com/onsi/ginkgo/v2/internal" +) + +var Suite *internal.Suite +var Failer *internal.Failer +var backupSuite *internal.Suite + +func init() { + InitializeGlobals() +} + +func InitializeGlobals() { + Failer = internal.NewFailer() + Suite = internal.NewSuite() +} + +func PushClone() error { + var err error + backupSuite, err = Suite.Clone() + return err +} + +func PopClone() { + Suite = backupSuite +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/group.go b/vendor/github.com/onsi/ginkgo/v2/internal/group.go new file mode 100644 index 000000000..02c9fe4fc --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/group.go @@ -0,0 +1,383 @@ +package internal + +import ( + "fmt" + "time" + + "github.com/onsi/ginkgo/v2/types" +) + +type runOncePair struct { + //nodeId should only run once... + nodeID uint + nodeType types.NodeType + //...for specs in a hierarchy that includes this context + containerID uint +} + +func (pair runOncePair) isZero() bool { + return pair.nodeID == 0 +} + +func runOncePairForNode(node Node, containerID uint) runOncePair { + return runOncePair{ + nodeID: node.ID, + nodeType: node.NodeType, + containerID: containerID, + } +} + +type runOncePairs []runOncePair + +func runOncePairsForSpec(spec Spec) runOncePairs { + pairs := runOncePairs{} + + containers := spec.Nodes.WithType(types.NodeTypeContainer) + for _, node := range spec.Nodes { + if node.NodeType.Is(types.NodeTypeBeforeAll | types.NodeTypeAfterAll) { + pairs = append(pairs, runOncePairForNode(node, containers.FirstWithNestingLevel(node.NestingLevel-1).ID)) + } else if node.NodeType.Is(types.NodeTypeBeforeEach|types.NodeTypeJustBeforeEach|types.NodeTypeAfterEach|types.NodeTypeJustAfterEach) && node.MarkedOncePerOrdered { + passedIntoAnOrderedContainer := false + firstOrderedContainerDeeperThanNode := containers.FirstSatisfying(func(container Node) bool { + passedIntoAnOrderedContainer = passedIntoAnOrderedContainer || container.MarkedOrdered + return container.NestingLevel >= node.NestingLevel && passedIntoAnOrderedContainer + }) + if firstOrderedContainerDeeperThanNode.IsZero() { + continue + } + pairs = append(pairs, runOncePairForNode(node, firstOrderedContainerDeeperThanNode.ID)) + } + } + + return pairs +} + +func (pairs runOncePairs) runOncePairFor(nodeID uint) runOncePair { + for i := range pairs { + if pairs[i].nodeID == nodeID { + return pairs[i] + } + } + return runOncePair{} +} + +func (pairs runOncePairs) hasRunOncePair(pair runOncePair) bool { + for i := range pairs { + if pairs[i] == pair { + return true + } + } + return false +} + +func (pairs runOncePairs) withType(nodeTypes types.NodeType) runOncePairs { + count := 0 + for i := range pairs { + if pairs[i].nodeType.Is(nodeTypes) { + count++ + } + } + + out, j := make(runOncePairs, count), 0 + for i := range pairs { + if pairs[i].nodeType.Is(nodeTypes) { + out[j] = pairs[i] + j++ + } + } + return out +} + +type group struct { + suite *Suite + specs Specs + runOncePairs map[uint]runOncePairs + runOnceTracker map[runOncePair]types.SpecState + + succeeded bool + failedInARunOnceBefore bool + continueOnFailure bool +} + +func newGroup(suite *Suite) *group { + return &group{ + suite: suite, + runOncePairs: map[uint]runOncePairs{}, + runOnceTracker: map[runOncePair]types.SpecState{}, + succeeded: true, + failedInARunOnceBefore: false, + continueOnFailure: false, + } +} + +func (g *group) initialReportForSpec(spec Spec) types.SpecReport { + return types.SpecReport{ + ContainerHierarchyTexts: spec.Nodes.WithType(types.NodeTypeContainer).Texts(), + ContainerHierarchyLocations: spec.Nodes.WithType(types.NodeTypeContainer).CodeLocations(), + ContainerHierarchyLabels: spec.Nodes.WithType(types.NodeTypeContainer).Labels(), + LeafNodeLocation: spec.FirstNodeWithType(types.NodeTypeIt).CodeLocation, + LeafNodeType: types.NodeTypeIt, + LeafNodeText: spec.FirstNodeWithType(types.NodeTypeIt).Text, + LeafNodeLabels: []string(spec.FirstNodeWithType(types.NodeTypeIt).Labels), + ParallelProcess: g.suite.config.ParallelProcess, + RunningInParallel: g.suite.isRunningInParallel(), + IsSerial: spec.Nodes.HasNodeMarkedSerial(), + IsInOrderedContainer: !spec.Nodes.FirstNodeMarkedOrdered().IsZero(), + MaxFlakeAttempts: spec.Nodes.GetMaxFlakeAttempts(), + MaxMustPassRepeatedly: spec.Nodes.GetMaxMustPassRepeatedly(), + } +} + +func (g *group) evaluateSkipStatus(spec Spec) (types.SpecState, types.Failure) { + if spec.Nodes.HasNodeMarkedPending() { + return types.SpecStatePending, types.Failure{} + } + if spec.Skip { + return types.SpecStateSkipped, types.Failure{} + } + if g.suite.interruptHandler.Status().Interrupted() || g.suite.skipAll { + return types.SpecStateSkipped, types.Failure{} + } + if !g.suite.deadline.IsZero() && g.suite.deadline.Before(time.Now()) { + return types.SpecStateSkipped, types.Failure{} + } + if !g.succeeded && !g.continueOnFailure { + return types.SpecStateSkipped, g.suite.failureForLeafNodeWithMessage(spec.FirstNodeWithType(types.NodeTypeIt), + "Spec skipped because an earlier spec in an ordered container failed") + } + if g.failedInARunOnceBefore && g.continueOnFailure { + return types.SpecStateSkipped, g.suite.failureForLeafNodeWithMessage(spec.FirstNodeWithType(types.NodeTypeIt), + "Spec skipped because a BeforeAll node failed") + } + beforeOncePairs := g.runOncePairs[spec.SubjectID()].withType(types.NodeTypeBeforeAll | types.NodeTypeBeforeEach | types.NodeTypeJustBeforeEach) + for _, pair := range beforeOncePairs { + if g.runOnceTracker[pair].Is(types.SpecStateSkipped) { + return types.SpecStateSkipped, g.suite.failureForLeafNodeWithMessage(spec.FirstNodeWithType(types.NodeTypeIt), + fmt.Sprintf("Spec skipped because Skip() was called in %s", pair.nodeType)) + } + } + if g.suite.config.DryRun { + return types.SpecStatePassed, types.Failure{} + } + return g.suite.currentSpecReport.State, g.suite.currentSpecReport.Failure +} + +func (g *group) isLastSpecWithPair(specID uint, pair runOncePair) bool { + lastSpecID := uint(0) + for idx := range g.specs { + if g.specs[idx].Skip { + continue + } + sID := g.specs[idx].SubjectID() + if g.runOncePairs[sID].hasRunOncePair(pair) { + lastSpecID = sID + } + } + return lastSpecID == specID +} + +func (g *group) attemptSpec(isFinalAttempt bool, spec Spec) bool { + failedInARunOnceBefore := false + pairs := g.runOncePairs[spec.SubjectID()] + + nodes := spec.Nodes.WithType(types.NodeTypeBeforeAll) + nodes = append(nodes, spec.Nodes.WithType(types.NodeTypeBeforeEach)...).SortedByAscendingNestingLevel() + nodes = append(nodes, spec.Nodes.WithType(types.NodeTypeJustBeforeEach).SortedByAscendingNestingLevel()...) + nodes = append(nodes, spec.Nodes.FirstNodeWithType(types.NodeTypeIt)) + terminatingNode, terminatingPair := Node{}, runOncePair{} + + deadline := time.Time{} + if spec.SpecTimeout() > 0 { + deadline = time.Now().Add(spec.SpecTimeout()) + } + + for _, node := range nodes { + oncePair := pairs.runOncePairFor(node.ID) + if !oncePair.isZero() && g.runOnceTracker[oncePair].Is(types.SpecStatePassed) { + continue + } + g.suite.currentSpecReport.State, g.suite.currentSpecReport.Failure = g.suite.runNode(node, deadline, spec.Nodes.BestTextFor(node)) + g.suite.currentSpecReport.RunTime = time.Since(g.suite.currentSpecReport.StartTime) + if !oncePair.isZero() { + g.runOnceTracker[oncePair] = g.suite.currentSpecReport.State + } + if g.suite.currentSpecReport.State != types.SpecStatePassed { + terminatingNode, terminatingPair = node, oncePair + failedInARunOnceBefore = !terminatingPair.isZero() + break + } + } + + afterNodeWasRun := map[uint]bool{} + includeDeferCleanups := false + for { + nodes := spec.Nodes.WithType(types.NodeTypeAfterEach) + nodes = append(nodes, spec.Nodes.WithType(types.NodeTypeAfterAll)...).SortedByDescendingNestingLevel() + nodes = append(spec.Nodes.WithType(types.NodeTypeJustAfterEach).SortedByDescendingNestingLevel(), nodes...) + if !terminatingNode.IsZero() { + nodes = nodes.WithinNestingLevel(terminatingNode.NestingLevel) + } + if includeDeferCleanups { + nodes = append(nodes, g.suite.cleanupNodes.WithType(types.NodeTypeCleanupAfterEach).Reverse()...) + nodes = append(nodes, g.suite.cleanupNodes.WithType(types.NodeTypeCleanupAfterAll).Reverse()...) + } + nodes = nodes.Filter(func(node Node) bool { + if afterNodeWasRun[node.ID] { + //this node has already been run on this attempt, don't rerun it + return false + } + var pair runOncePair + switch node.NodeType { + case types.NodeTypeCleanupAfterEach, types.NodeTypeCleanupAfterAll: + // check if we were generated in an AfterNode that has already run + if afterNodeWasRun[node.NodeIDWhereCleanupWasGenerated] { + return true // we were, so we should definitely run this cleanup now + } + // looks like this cleanup nodes was generated by a before node or it. + // the run-once status of a cleanup node is governed by the run-once status of its generator + pair = pairs.runOncePairFor(node.NodeIDWhereCleanupWasGenerated) + default: + pair = pairs.runOncePairFor(node.ID) + } + if pair.isZero() { + // this node is not governed by any run-once policy, we should run it + return true + } + // it's our last chance to run if we're the last spec for our oncePair + isLastSpecWithPair := g.isLastSpecWithPair(spec.SubjectID(), pair) + + switch g.suite.currentSpecReport.State { + case types.SpecStatePassed: //this attempt is passing... + return isLastSpecWithPair //...we should run-once if we'this is our last chance + case types.SpecStateSkipped: //the spec was skipped by the user... + if isLastSpecWithPair { + return true //...we're the last spec, so we should run the AfterNode + } + if !terminatingPair.isZero() && terminatingNode.NestingLevel == node.NestingLevel { + return true //...or, a run-once node at our nesting level was skipped which means this is our last chance to run + } + case types.SpecStateFailed, types.SpecStatePanicked, types.SpecStateTimedout: // the spec has failed... + if isFinalAttempt { + if g.continueOnFailure { + return isLastSpecWithPair || failedInARunOnceBefore //...we're configured to continue on failures - so we should only run if we're the last spec for this pair or if we failed in a runOnceBefore (which means we _are_ the last spec to run) + } else { + return true //...this was the last attempt and continueOnFailure is false therefore we are the last spec to run and so the AfterNode should run + } + } + if !terminatingPair.isZero() { // ...and it failed in a run-once. which will be running again + if node.NodeType.Is(types.NodeTypeCleanupAfterEach | types.NodeTypeCleanupAfterAll) { + return terminatingNode.ID == node.NodeIDWhereCleanupWasGenerated // we should run this node if we're a clean-up generated by it + } else { + return terminatingNode.NestingLevel == node.NestingLevel // ...or if we're at the same nesting level + } + } + case types.SpecStateInterrupted, types.SpecStateAborted: // ...we've been interrupted and/or aborted + return true //...that means the test run is over and we should clean up the stack. Run the AfterNode + } + return false + }) + + if len(nodes) == 0 && includeDeferCleanups { + break + } + + for _, node := range nodes { + afterNodeWasRun[node.ID] = true + state, failure := g.suite.runNode(node, deadline, spec.Nodes.BestTextFor(node)) + g.suite.currentSpecReport.RunTime = time.Since(g.suite.currentSpecReport.StartTime) + if g.suite.currentSpecReport.State == types.SpecStatePassed || state == types.SpecStateAborted { + g.suite.currentSpecReport.State = state + g.suite.currentSpecReport.Failure = failure + } else if state.Is(types.SpecStateFailureStates) { + g.suite.currentSpecReport.AdditionalFailures = append(g.suite.currentSpecReport.AdditionalFailures, types.AdditionalFailure{State: state, Failure: failure}) + } + } + includeDeferCleanups = true + } + + return failedInARunOnceBefore +} + +func (g *group) run(specs Specs) { + g.specs = specs + g.continueOnFailure = specs[0].Nodes.FirstNodeMarkedOrdered().MarkedContinueOnFailure + for _, spec := range g.specs { + g.runOncePairs[spec.SubjectID()] = runOncePairsForSpec(spec) + } + + for _, spec := range g.specs { + g.suite.selectiveLock.Lock() + g.suite.currentSpecReport = g.initialReportForSpec(spec) + g.suite.selectiveLock.Unlock() + + g.suite.currentSpecReport.State, g.suite.currentSpecReport.Failure = g.evaluateSkipStatus(spec) + g.suite.reporter.WillRun(g.suite.currentSpecReport) + g.suite.reportEach(spec, types.NodeTypeReportBeforeEach) + + skip := g.suite.config.DryRun || g.suite.currentSpecReport.State.Is(types.SpecStateFailureStates|types.SpecStateSkipped|types.SpecStatePending) + + g.suite.currentSpecReport.StartTime = time.Now() + failedInARunOnceBefore := false + if !skip { + var maxAttempts = 1 + + if g.suite.config.MustPassRepeatedly > 0 { + maxAttempts = g.suite.config.MustPassRepeatedly + g.suite.currentSpecReport.MaxMustPassRepeatedly = maxAttempts + } else if g.suite.currentSpecReport.MaxMustPassRepeatedly > 0 { + maxAttempts = max(1, spec.MustPassRepeatedly()) + } else if g.suite.config.FlakeAttempts > 0 { + maxAttempts = g.suite.config.FlakeAttempts + g.suite.currentSpecReport.MaxFlakeAttempts = maxAttempts + } else if g.suite.currentSpecReport.MaxFlakeAttempts > 0 { + maxAttempts = max(1, spec.FlakeAttempts()) + } + + for attempt := 0; attempt < maxAttempts; attempt++ { + g.suite.currentSpecReport.NumAttempts = attempt + 1 + g.suite.writer.Truncate() + g.suite.outputInterceptor.StartInterceptingOutput() + if attempt > 0 { + if g.suite.currentSpecReport.MaxMustPassRepeatedly > 0 { + g.suite.handleSpecEvent(types.SpecEvent{SpecEventType: types.SpecEventSpecRepeat, Attempt: attempt}) + } + if g.suite.currentSpecReport.MaxFlakeAttempts > 0 { + g.suite.handleSpecEvent(types.SpecEvent{SpecEventType: types.SpecEventSpecRetry, Attempt: attempt}) + } + } + + failedInARunOnceBefore = g.attemptSpec(attempt == maxAttempts-1, spec) + + g.suite.currentSpecReport.EndTime = time.Now() + g.suite.currentSpecReport.RunTime = g.suite.currentSpecReport.EndTime.Sub(g.suite.currentSpecReport.StartTime) + g.suite.currentSpecReport.CapturedGinkgoWriterOutput += string(g.suite.writer.Bytes()) + g.suite.currentSpecReport.CapturedStdOutErr += g.suite.outputInterceptor.StopInterceptingAndReturnOutput() + + if g.suite.currentSpecReport.MaxMustPassRepeatedly > 0 { + if g.suite.currentSpecReport.State.Is(types.SpecStateFailureStates | types.SpecStateSkipped) { + break + } + } + if g.suite.currentSpecReport.MaxFlakeAttempts > 0 { + if g.suite.currentSpecReport.State.Is(types.SpecStatePassed | types.SpecStateSkipped | types.SpecStateAborted | types.SpecStateInterrupted) { + break + } else if attempt < maxAttempts-1 { + af := types.AdditionalFailure{State: g.suite.currentSpecReport.State, Failure: g.suite.currentSpecReport.Failure} + af.Failure.Message = fmt.Sprintf("Failure recorded during attempt %d:\n%s", attempt+1, af.Failure.Message) + g.suite.currentSpecReport.AdditionalFailures = append(g.suite.currentSpecReport.AdditionalFailures, af) + } + } + } + } + + g.suite.reportEach(spec, types.NodeTypeReportAfterEach) + g.suite.processCurrentSpecReport() + if g.suite.currentSpecReport.State.Is(types.SpecStateFailureStates) { + g.succeeded = false + g.failedInARunOnceBefore = g.failedInARunOnceBefore || failedInARunOnceBefore + } + g.suite.selectiveLock.Lock() + g.suite.currentSpecReport = types.SpecReport{} + g.suite.selectiveLock.Unlock() + } +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/interrupt_handler.go b/vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/interrupt_handler.go new file mode 100644 index 000000000..8ed86111f --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/interrupt_handler.go @@ -0,0 +1,177 @@ +package interrupt_handler + +import ( + "os" + "os/signal" + "sync" + "syscall" + "time" + + "github.com/onsi/ginkgo/v2/internal/parallel_support" +) + +var ABORT_POLLING_INTERVAL = 500 * time.Millisecond + +type InterruptCause uint + +const ( + InterruptCauseInvalid InterruptCause = iota + InterruptCauseSignal + InterruptCauseAbortByOtherProcess +) + +type InterruptLevel uint + +const ( + InterruptLevelUninterrupted InterruptLevel = iota + InterruptLevelCleanupAndReport + InterruptLevelReportOnly + InterruptLevelBailOut +) + +func (ic InterruptCause) String() string { + switch ic { + case InterruptCauseSignal: + return "Interrupted by User" + case InterruptCauseAbortByOtherProcess: + return "Interrupted by Other Ginkgo Process" + } + return "INVALID_INTERRUPT_CAUSE" +} + +type InterruptStatus struct { + Channel chan interface{} + Level InterruptLevel + Cause InterruptCause +} + +func (s InterruptStatus) Interrupted() bool { + return s.Level != InterruptLevelUninterrupted +} + +func (s InterruptStatus) Message() string { + return s.Cause.String() +} + +func (s InterruptStatus) ShouldIncludeProgressReport() bool { + return s.Cause != InterruptCauseAbortByOtherProcess +} + +type InterruptHandlerInterface interface { + Status() InterruptStatus +} + +type InterruptHandler struct { + c chan interface{} + lock *sync.Mutex + level InterruptLevel + cause InterruptCause + client parallel_support.Client + stop chan interface{} + signals []os.Signal + requestAbortCheck chan interface{} +} + +func NewInterruptHandler(client parallel_support.Client, signals ...os.Signal) *InterruptHandler { + if len(signals) == 0 { + signals = []os.Signal{os.Interrupt, syscall.SIGTERM} + } + handler := &InterruptHandler{ + c: make(chan interface{}), + lock: &sync.Mutex{}, + stop: make(chan interface{}), + requestAbortCheck: make(chan interface{}), + client: client, + signals: signals, + } + handler.registerForInterrupts() + return handler +} + +func (handler *InterruptHandler) Stop() { + close(handler.stop) +} + +func (handler *InterruptHandler) registerForInterrupts() { + // os signal handling + signalChannel := make(chan os.Signal, 1) + signal.Notify(signalChannel, handler.signals...) + + // cross-process abort handling + var abortChannel chan interface{} + if handler.client != nil { + abortChannel = make(chan interface{}) + go func() { + pollTicker := time.NewTicker(ABORT_POLLING_INTERVAL) + for { + select { + case <-pollTicker.C: + if handler.client.ShouldAbort() { + close(abortChannel) + pollTicker.Stop() + return + } + case <-handler.requestAbortCheck: + if handler.client.ShouldAbort() { + close(abortChannel) + pollTicker.Stop() + return + } + case <-handler.stop: + pollTicker.Stop() + return + } + } + }() + } + + go func(abortChannel chan interface{}) { + var interruptCause InterruptCause + for { + select { + case <-signalChannel: + interruptCause = InterruptCauseSignal + case <-abortChannel: + interruptCause = InterruptCauseAbortByOtherProcess + case <-handler.stop: + signal.Stop(signalChannel) + return + } + abortChannel = nil + + handler.lock.Lock() + oldLevel := handler.level + handler.cause = interruptCause + if handler.level == InterruptLevelUninterrupted { + handler.level = InterruptLevelCleanupAndReport + } else if handler.level == InterruptLevelCleanupAndReport { + handler.level = InterruptLevelReportOnly + } else if handler.level == InterruptLevelReportOnly { + handler.level = InterruptLevelBailOut + } + if handler.level != oldLevel { + close(handler.c) + handler.c = make(chan interface{}) + } + handler.lock.Unlock() + } + }(abortChannel) +} + +func (handler *InterruptHandler) Status() InterruptStatus { + handler.lock.Lock() + status := InterruptStatus{ + Level: handler.level, + Channel: handler.c, + Cause: handler.cause, + } + handler.lock.Unlock() + + if handler.client != nil && handler.client.ShouldAbort() && !status.Interrupted() { + close(handler.requestAbortCheck) + <-status.Channel + return handler.Status() + } + + return status +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_unix.go b/vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_unix.go new file mode 100644 index 000000000..bf0de496d --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_unix.go @@ -0,0 +1,15 @@ +//go:build freebsd || openbsd || netbsd || dragonfly || darwin || linux || solaris +// +build freebsd openbsd netbsd dragonfly darwin linux solaris + +package interrupt_handler + +import ( + "os" + "os/signal" + "syscall" +) + +func SwallowSigQuit() { + c := make(chan os.Signal, 1024) + signal.Notify(c, syscall.SIGQUIT) +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_windows.go b/vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_windows.go new file mode 100644 index 000000000..fcf8da833 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/interrupt_handler/sigquit_swallower_windows.go @@ -0,0 +1,8 @@ +//go:build windows +// +build windows + +package interrupt_handler + +func SwallowSigQuit() { + //noop +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/node.go b/vendor/github.com/onsi/ginkgo/v2/internal/node.go new file mode 100644 index 000000000..6a15f19ae --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/node.go @@ -0,0 +1,935 @@ +package internal + +import ( + "context" + "fmt" + "reflect" + "sort" + "sync" + "time" + + "github.com/onsi/ginkgo/v2/types" +) + +var _global_node_id_counter = uint(0) +var _global_id_mutex = &sync.Mutex{} + +func UniqueNodeID() uint { + // There's a reace in the internal integration tests if we don't make + // accessing _global_node_id_counter safe across goroutines. + _global_id_mutex.Lock() + defer _global_id_mutex.Unlock() + _global_node_id_counter += 1 + return _global_node_id_counter +} + +type Node struct { + ID uint + NodeType types.NodeType + + Text string + Body func(SpecContext) + CodeLocation types.CodeLocation + NestingLevel int + HasContext bool + + SynchronizedBeforeSuiteProc1Body func(SpecContext) []byte + SynchronizedBeforeSuiteProc1BodyHasContext bool + SynchronizedBeforeSuiteAllProcsBody func(SpecContext, []byte) + SynchronizedBeforeSuiteAllProcsBodyHasContext bool + + SynchronizedAfterSuiteAllProcsBody func(SpecContext) + SynchronizedAfterSuiteAllProcsBodyHasContext bool + SynchronizedAfterSuiteProc1Body func(SpecContext) + SynchronizedAfterSuiteProc1BodyHasContext bool + + ReportEachBody func(SpecContext, types.SpecReport) + ReportSuiteBody func(SpecContext, types.Report) + + MarkedFocus bool + MarkedPending bool + MarkedSerial bool + MarkedOrdered bool + MarkedContinueOnFailure bool + MarkedOncePerOrdered bool + FlakeAttempts int + MustPassRepeatedly int + Labels Labels + PollProgressAfter time.Duration + PollProgressInterval time.Duration + NodeTimeout time.Duration + SpecTimeout time.Duration + GracePeriod time.Duration + + NodeIDWhereCleanupWasGenerated uint +} + +// Decoration Types +type focusType bool +type pendingType bool +type serialType bool +type orderedType bool +type continueOnFailureType bool +type honorsOrderedType bool +type suppressProgressReporting bool + +const Focus = focusType(true) +const Pending = pendingType(true) +const Serial = serialType(true) +const Ordered = orderedType(true) +const ContinueOnFailure = continueOnFailureType(true) +const OncePerOrdered = honorsOrderedType(true) +const SuppressProgressReporting = suppressProgressReporting(true) + +type FlakeAttempts uint +type MustPassRepeatedly uint +type Offset uint +type Done chan<- interface{} // Deprecated Done Channel for asynchronous testing +type Labels []string +type PollProgressInterval time.Duration +type PollProgressAfter time.Duration +type NodeTimeout time.Duration +type SpecTimeout time.Duration +type GracePeriod time.Duration + +func (l Labels) MatchesLabelFilter(query string) bool { + return types.MustParseLabelFilter(query)(l) +} + +func UnionOfLabels(labels ...Labels) Labels { + out := Labels{} + seen := map[string]bool{} + for _, labelSet := range labels { + for _, label := range labelSet { + if !seen[label] { + seen[label] = true + out = append(out, label) + } + } + } + return out +} + +func PartitionDecorations(args ...interface{}) ([]interface{}, []interface{}) { + decorations := []interface{}{} + remainingArgs := []interface{}{} + for _, arg := range args { + if isDecoration(arg) { + decorations = append(decorations, arg) + } else { + remainingArgs = append(remainingArgs, arg) + } + } + return decorations, remainingArgs +} + +func isDecoration(arg interface{}) bool { + switch t := reflect.TypeOf(arg); { + case t == nil: + return false + case t == reflect.TypeOf(Offset(0)): + return true + case t == reflect.TypeOf(types.CodeLocation{}): + return true + case t == reflect.TypeOf(Focus): + return true + case t == reflect.TypeOf(Pending): + return true + case t == reflect.TypeOf(Serial): + return true + case t == reflect.TypeOf(Ordered): + return true + case t == reflect.TypeOf(ContinueOnFailure): + return true + case t == reflect.TypeOf(OncePerOrdered): + return true + case t == reflect.TypeOf(SuppressProgressReporting): + return true + case t == reflect.TypeOf(FlakeAttempts(0)): + return true + case t == reflect.TypeOf(MustPassRepeatedly(0)): + return true + case t == reflect.TypeOf(Labels{}): + return true + case t == reflect.TypeOf(PollProgressInterval(0)): + return true + case t == reflect.TypeOf(PollProgressAfter(0)): + return true + case t == reflect.TypeOf(NodeTimeout(0)): + return true + case t == reflect.TypeOf(SpecTimeout(0)): + return true + case t == reflect.TypeOf(GracePeriod(0)): + return true + case t.Kind() == reflect.Slice && isSliceOfDecorations(arg): + return true + default: + return false + } +} + +func isSliceOfDecorations(slice interface{}) bool { + vSlice := reflect.ValueOf(slice) + if vSlice.Len() == 0 { + return false + } + for i := 0; i < vSlice.Len(); i++ { + if !isDecoration(vSlice.Index(i).Interface()) { + return false + } + } + return true +} + +var contextType = reflect.TypeOf(new(context.Context)).Elem() +var specContextType = reflect.TypeOf(new(SpecContext)).Elem() + +func NewNode(deprecationTracker *types.DeprecationTracker, nodeType types.NodeType, text string, args ...interface{}) (Node, []error) { + baseOffset := 2 + node := Node{ + ID: UniqueNodeID(), + NodeType: nodeType, + Text: text, + Labels: Labels{}, + CodeLocation: types.NewCodeLocation(baseOffset), + NestingLevel: -1, + PollProgressAfter: -1, + PollProgressInterval: -1, + GracePeriod: -1, + } + + errors := []error{} + appendError := func(err error) { + if err != nil { + errors = append(errors, err) + } + } + + args = unrollInterfaceSlice(args) + + remainingArgs := []interface{}{} + // First get the CodeLocation up-to-date + for _, arg := range args { + switch v := arg.(type) { + case Offset: + node.CodeLocation = types.NewCodeLocation(baseOffset + int(v)) + case types.CodeLocation: + node.CodeLocation = v + default: + remainingArgs = append(remainingArgs, arg) + } + } + + labelsSeen := map[string]bool{} + trackedFunctionError := false + args = remainingArgs + remainingArgs = []interface{}{} + // now process the rest of the args + for _, arg := range args { + switch t := reflect.TypeOf(arg); { + case t == reflect.TypeOf(float64(0)): + break // ignore deprecated timeouts + case t == reflect.TypeOf(Focus): + node.MarkedFocus = bool(arg.(focusType)) + if !nodeType.Is(types.NodeTypesForContainerAndIt) { + appendError(types.GinkgoErrors.InvalidDecoratorForNodeType(node.CodeLocation, nodeType, "Focus")) + } + case t == reflect.TypeOf(Pending): + node.MarkedPending = bool(arg.(pendingType)) + if !nodeType.Is(types.NodeTypesForContainerAndIt) { + appendError(types.GinkgoErrors.InvalidDecoratorForNodeType(node.CodeLocation, nodeType, "Pending")) + } + case t == reflect.TypeOf(Serial): + node.MarkedSerial = bool(arg.(serialType)) + if !nodeType.Is(types.NodeTypesForContainerAndIt) { + appendError(types.GinkgoErrors.InvalidDecoratorForNodeType(node.CodeLocation, nodeType, "Serial")) + } + case t == reflect.TypeOf(Ordered): + node.MarkedOrdered = bool(arg.(orderedType)) + if !nodeType.Is(types.NodeTypeContainer) { + appendError(types.GinkgoErrors.InvalidDecoratorForNodeType(node.CodeLocation, nodeType, "Ordered")) + } + case t == reflect.TypeOf(ContinueOnFailure): + node.MarkedContinueOnFailure = bool(arg.(continueOnFailureType)) + if !nodeType.Is(types.NodeTypeContainer) { + appendError(types.GinkgoErrors.InvalidDecoratorForNodeType(node.CodeLocation, nodeType, "ContinueOnFailure")) + } + case t == reflect.TypeOf(OncePerOrdered): + node.MarkedOncePerOrdered = bool(arg.(honorsOrderedType)) + if !nodeType.Is(types.NodeTypeBeforeEach | types.NodeTypeJustBeforeEach | types.NodeTypeAfterEach | types.NodeTypeJustAfterEach) { + appendError(types.GinkgoErrors.InvalidDecoratorForNodeType(node.CodeLocation, nodeType, "OncePerOrdered")) + } + case t == reflect.TypeOf(SuppressProgressReporting): + deprecationTracker.TrackDeprecation(types.Deprecations.SuppressProgressReporting()) + case t == reflect.TypeOf(FlakeAttempts(0)): + node.FlakeAttempts = int(arg.(FlakeAttempts)) + if !nodeType.Is(types.NodeTypesForContainerAndIt) { + appendError(types.GinkgoErrors.InvalidDecoratorForNodeType(node.CodeLocation, nodeType, "FlakeAttempts")) + } + case t == reflect.TypeOf(MustPassRepeatedly(0)): + node.MustPassRepeatedly = int(arg.(MustPassRepeatedly)) + if !nodeType.Is(types.NodeTypesForContainerAndIt) { + appendError(types.GinkgoErrors.InvalidDecoratorForNodeType(node.CodeLocation, nodeType, "MustPassRepeatedly")) + } + case t == reflect.TypeOf(PollProgressAfter(0)): + node.PollProgressAfter = time.Duration(arg.(PollProgressAfter)) + if nodeType.Is(types.NodeTypeContainer) { + appendError(types.GinkgoErrors.InvalidDecoratorForNodeType(node.CodeLocation, nodeType, "PollProgressAfter")) + } + case t == reflect.TypeOf(PollProgressInterval(0)): + node.PollProgressInterval = time.Duration(arg.(PollProgressInterval)) + if nodeType.Is(types.NodeTypeContainer) { + appendError(types.GinkgoErrors.InvalidDecoratorForNodeType(node.CodeLocation, nodeType, "PollProgressInterval")) + } + case t == reflect.TypeOf(NodeTimeout(0)): + node.NodeTimeout = time.Duration(arg.(NodeTimeout)) + if nodeType.Is(types.NodeTypeContainer) { + appendError(types.GinkgoErrors.InvalidDecoratorForNodeType(node.CodeLocation, nodeType, "NodeTimeout")) + } + case t == reflect.TypeOf(SpecTimeout(0)): + node.SpecTimeout = time.Duration(arg.(SpecTimeout)) + if !nodeType.Is(types.NodeTypeIt) { + appendError(types.GinkgoErrors.InvalidDecoratorForNodeType(node.CodeLocation, nodeType, "SpecTimeout")) + } + case t == reflect.TypeOf(GracePeriod(0)): + node.GracePeriod = time.Duration(arg.(GracePeriod)) + if nodeType.Is(types.NodeTypeContainer) { + appendError(types.GinkgoErrors.InvalidDecoratorForNodeType(node.CodeLocation, nodeType, "GracePeriod")) + } + case t == reflect.TypeOf(Labels{}): + if !nodeType.Is(types.NodeTypesForContainerAndIt) { + appendError(types.GinkgoErrors.InvalidDecoratorForNodeType(node.CodeLocation, nodeType, "Label")) + } + for _, label := range arg.(Labels) { + if !labelsSeen[label] { + labelsSeen[label] = true + label, err := types.ValidateAndCleanupLabel(label, node.CodeLocation) + node.Labels = append(node.Labels, label) + appendError(err) + } + } + case t.Kind() == reflect.Func: + if nodeType.Is(types.NodeTypeContainer) { + if node.Body != nil { + appendError(types.GinkgoErrors.MultipleBodyFunctions(node.CodeLocation, nodeType)) + trackedFunctionError = true + break + } + if t.NumOut() > 0 || t.NumIn() > 0 { + appendError(types.GinkgoErrors.InvalidBodyTypeForContainer(t, node.CodeLocation, nodeType)) + trackedFunctionError = true + break + } + body := arg.(func()) + node.Body = func(SpecContext) { body() } + } else if nodeType.Is(types.NodeTypeReportBeforeEach | types.NodeTypeReportAfterEach) { + if node.ReportEachBody == nil { + if fn, ok := arg.(func(types.SpecReport)); ok { + node.ReportEachBody = func(_ SpecContext, r types.SpecReport) { fn(r) } + } else { + node.ReportEachBody = arg.(func(SpecContext, types.SpecReport)) + node.HasContext = true + } + } else { + appendError(types.GinkgoErrors.MultipleBodyFunctions(node.CodeLocation, nodeType)) + trackedFunctionError = true + break + } + } else if nodeType.Is(types.NodeTypeReportBeforeSuite | types.NodeTypeReportAfterSuite) { + if node.ReportSuiteBody == nil { + if fn, ok := arg.(func(types.Report)); ok { + node.ReportSuiteBody = func(_ SpecContext, r types.Report) { fn(r) } + } else { + node.ReportSuiteBody = arg.(func(SpecContext, types.Report)) + node.HasContext = true + } + } else { + appendError(types.GinkgoErrors.MultipleBodyFunctions(node.CodeLocation, nodeType)) + trackedFunctionError = true + break + } + } else if nodeType.Is(types.NodeTypeSynchronizedBeforeSuite) { + if node.SynchronizedBeforeSuiteProc1Body != nil && node.SynchronizedBeforeSuiteAllProcsBody != nil { + appendError(types.GinkgoErrors.MultipleBodyFunctions(node.CodeLocation, nodeType)) + trackedFunctionError = true + break + } + if node.SynchronizedBeforeSuiteProc1Body == nil { + body, hasContext := extractSynchronizedBeforeSuiteProc1Body(arg) + if body == nil { + appendError(types.GinkgoErrors.InvalidBodyTypeForSynchronizedBeforeSuiteProc1(t, node.CodeLocation)) + trackedFunctionError = true + } + node.SynchronizedBeforeSuiteProc1Body, node.SynchronizedBeforeSuiteProc1BodyHasContext = body, hasContext + } else if node.SynchronizedBeforeSuiteAllProcsBody == nil { + body, hasContext := extractSynchronizedBeforeSuiteAllProcsBody(arg) + if body == nil { + appendError(types.GinkgoErrors.InvalidBodyTypeForSynchronizedBeforeSuiteAllProcs(t, node.CodeLocation)) + trackedFunctionError = true + } + node.SynchronizedBeforeSuiteAllProcsBody, node.SynchronizedBeforeSuiteAllProcsBodyHasContext = body, hasContext + } + } else if nodeType.Is(types.NodeTypeSynchronizedAfterSuite) { + if node.SynchronizedAfterSuiteAllProcsBody != nil && node.SynchronizedAfterSuiteProc1Body != nil { + appendError(types.GinkgoErrors.MultipleBodyFunctions(node.CodeLocation, nodeType)) + trackedFunctionError = true + break + } + body, hasContext := extractBodyFunction(deprecationTracker, node.CodeLocation, arg) + if body == nil { + appendError(types.GinkgoErrors.InvalidBodyType(t, node.CodeLocation, nodeType)) + trackedFunctionError = true + break + } + if node.SynchronizedAfterSuiteAllProcsBody == nil { + node.SynchronizedAfterSuiteAllProcsBody, node.SynchronizedAfterSuiteAllProcsBodyHasContext = body, hasContext + } else if node.SynchronizedAfterSuiteProc1Body == nil { + node.SynchronizedAfterSuiteProc1Body, node.SynchronizedAfterSuiteProc1BodyHasContext = body, hasContext + } + } else { + if node.Body != nil { + appendError(types.GinkgoErrors.MultipleBodyFunctions(node.CodeLocation, nodeType)) + trackedFunctionError = true + break + } + node.Body, node.HasContext = extractBodyFunction(deprecationTracker, node.CodeLocation, arg) + if node.Body == nil { + appendError(types.GinkgoErrors.InvalidBodyType(t, node.CodeLocation, nodeType)) + trackedFunctionError = true + break + } + } + default: + remainingArgs = append(remainingArgs, arg) + } + } + + // validations + if node.MarkedPending && node.MarkedFocus { + appendError(types.GinkgoErrors.InvalidDeclarationOfFocusedAndPending(node.CodeLocation, nodeType)) + } + + if node.MarkedContinueOnFailure && !node.MarkedOrdered { + appendError(types.GinkgoErrors.InvalidContinueOnFailureDecoration(node.CodeLocation)) + } + + hasContext := node.HasContext || node.SynchronizedAfterSuiteProc1BodyHasContext || node.SynchronizedAfterSuiteAllProcsBodyHasContext || node.SynchronizedBeforeSuiteProc1BodyHasContext || node.SynchronizedBeforeSuiteAllProcsBodyHasContext + + if !hasContext && (node.NodeTimeout > 0 || node.SpecTimeout > 0 || node.GracePeriod > 0) && len(errors) == 0 { + appendError(types.GinkgoErrors.InvalidTimeoutOrGracePeriodForNonContextNode(node.CodeLocation, nodeType)) + } + + if !node.NodeType.Is(types.NodeTypeReportBeforeEach|types.NodeTypeReportAfterEach|types.NodeTypeSynchronizedBeforeSuite|types.NodeTypeSynchronizedAfterSuite|types.NodeTypeReportBeforeSuite|types.NodeTypeReportAfterSuite) && node.Body == nil && !node.MarkedPending && !trackedFunctionError { + appendError(types.GinkgoErrors.MissingBodyFunction(node.CodeLocation, nodeType)) + } + + if node.NodeType.Is(types.NodeTypeSynchronizedBeforeSuite) && !trackedFunctionError && (node.SynchronizedBeforeSuiteProc1Body == nil || node.SynchronizedBeforeSuiteAllProcsBody == nil) { + appendError(types.GinkgoErrors.MissingBodyFunction(node.CodeLocation, nodeType)) + } + + if node.NodeType.Is(types.NodeTypeSynchronizedAfterSuite) && !trackedFunctionError && (node.SynchronizedAfterSuiteProc1Body == nil || node.SynchronizedAfterSuiteAllProcsBody == nil) { + appendError(types.GinkgoErrors.MissingBodyFunction(node.CodeLocation, nodeType)) + } + + for _, arg := range remainingArgs { + appendError(types.GinkgoErrors.UnknownDecorator(node.CodeLocation, nodeType, arg)) + } + + if node.FlakeAttempts > 0 && node.MustPassRepeatedly > 0 { + appendError(types.GinkgoErrors.InvalidDeclarationOfFlakeAttemptsAndMustPassRepeatedly(node.CodeLocation, nodeType)) + } + + if len(errors) > 0 { + return Node{}, errors + } + + return node, errors +} + +var doneType = reflect.TypeOf(make(Done)) + +func extractBodyFunction(deprecationTracker *types.DeprecationTracker, cl types.CodeLocation, arg interface{}) (func(SpecContext), bool) { + t := reflect.TypeOf(arg) + if t.NumOut() > 0 || t.NumIn() > 1 { + return nil, false + } + if t.NumIn() == 1 { + if t.In(0) == doneType { + deprecationTracker.TrackDeprecation(types.Deprecations.Async(), cl) + deprecatedAsyncBody := arg.(func(Done)) + return func(SpecContext) { deprecatedAsyncBody(make(Done)) }, false + } else if t.In(0).Implements(specContextType) { + return arg.(func(SpecContext)), true + } else if t.In(0).Implements(contextType) { + body := arg.(func(context.Context)) + return func(c SpecContext) { body(c) }, true + } + + return nil, false + } + + body := arg.(func()) + return func(SpecContext) { body() }, false +} + +var byteType = reflect.TypeOf([]byte{}) + +func extractSynchronizedBeforeSuiteProc1Body(arg interface{}) (func(SpecContext) []byte, bool) { + t := reflect.TypeOf(arg) + v := reflect.ValueOf(arg) + + if t.NumOut() > 1 || t.NumIn() > 1 { + return nil, false + } else if t.NumOut() == 1 && t.Out(0) != byteType { + return nil, false + } else if t.NumIn() == 1 && !t.In(0).Implements(contextType) { + return nil, false + } + hasContext := t.NumIn() == 1 + + return func(c SpecContext) []byte { + var out []reflect.Value + if hasContext { + out = v.Call([]reflect.Value{reflect.ValueOf(c)}) + } else { + out = v.Call([]reflect.Value{}) + } + if len(out) == 1 { + return (out[0].Interface()).([]byte) + } else { + return []byte{} + } + }, hasContext +} + +func extractSynchronizedBeforeSuiteAllProcsBody(arg interface{}) (func(SpecContext, []byte), bool) { + t := reflect.TypeOf(arg) + v := reflect.ValueOf(arg) + hasContext, hasByte := false, false + + if t.NumOut() > 0 || t.NumIn() > 2 { + return nil, false + } else if t.NumIn() == 2 && t.In(0).Implements(contextType) && t.In(1) == byteType { + hasContext, hasByte = true, true + } else if t.NumIn() == 1 && t.In(0).Implements(contextType) { + hasContext = true + } else if t.NumIn() == 1 && t.In(0) == byteType { + hasByte = true + } else if t.NumIn() != 0 { + return nil, false + } + + return func(c SpecContext, b []byte) { + in := []reflect.Value{} + if hasContext { + in = append(in, reflect.ValueOf(c)) + } + if hasByte { + in = append(in, reflect.ValueOf(b)) + } + v.Call(in) + }, hasContext +} + +var errInterface = reflect.TypeOf((*error)(nil)).Elem() + +func NewCleanupNode(deprecationTracker *types.DeprecationTracker, fail func(string, types.CodeLocation), args ...interface{}) (Node, []error) { + decorations, remainingArgs := PartitionDecorations(args...) + baseOffset := 2 + cl := types.NewCodeLocation(baseOffset) + finalArgs := []interface{}{} + for _, arg := range decorations { + switch t := reflect.TypeOf(arg); { + case t == reflect.TypeOf(Offset(0)): + cl = types.NewCodeLocation(baseOffset + int(arg.(Offset))) + case t == reflect.TypeOf(types.CodeLocation{}): + cl = arg.(types.CodeLocation) + default: + finalArgs = append(finalArgs, arg) + } + } + finalArgs = append(finalArgs, cl) + + if len(remainingArgs) == 0 { + return Node{}, []error{types.GinkgoErrors.DeferCleanupInvalidFunction(cl)} + } + + callback := reflect.ValueOf(remainingArgs[0]) + if !(callback.Kind() == reflect.Func) { + return Node{}, []error{types.GinkgoErrors.DeferCleanupInvalidFunction(cl)} + } + + callArgs := []reflect.Value{} + for _, arg := range remainingArgs[1:] { + callArgs = append(callArgs, reflect.ValueOf(arg)) + } + + hasContext := false + t := callback.Type() + if t.NumIn() > 0 { + if t.In(0).Implements(specContextType) { + hasContext = true + } else if t.In(0).Implements(contextType) && (len(callArgs) == 0 || !callArgs[0].Type().Implements(contextType)) { + hasContext = true + } + } + + handleFailure := func(out []reflect.Value) { + if len(out) == 0 { + return + } + last := out[len(out)-1] + if last.Type().Implements(errInterface) && !last.IsNil() { + fail(fmt.Sprintf("DeferCleanup callback returned error: %v", last), cl) + } + } + + if hasContext { + finalArgs = append(finalArgs, func(c SpecContext) { + out := callback.Call(append([]reflect.Value{reflect.ValueOf(c)}, callArgs...)) + handleFailure(out) + }) + } else { + finalArgs = append(finalArgs, func() { + out := callback.Call(callArgs) + handleFailure(out) + }) + } + + return NewNode(deprecationTracker, types.NodeTypeCleanupInvalid, "", finalArgs...) +} + +func (n Node) IsZero() bool { + return n.ID == 0 +} + +/* Nodes */ +type Nodes []Node + +func (n Nodes) Clone() Nodes { + nodes := make(Nodes, len(n)) + copy(nodes, n) + return nodes +} + +func (n Nodes) CopyAppend(nodes ...Node) Nodes { + numN := len(n) + out := make(Nodes, numN+len(nodes)) + copy(out, n) + for j, node := range nodes { + out[numN+j] = node + } + return out +} + +func (n Nodes) SplitAround(pivot Node) (Nodes, Nodes) { + pivotIdx := len(n) + for i := range n { + if n[i].ID == pivot.ID { + pivotIdx = i + break + } + } + left := n[:pivotIdx] + right := Nodes{} + if pivotIdx+1 < len(n) { + right = n[pivotIdx+1:] + } + + return left, right +} + +func (n Nodes) FirstNodeWithType(nodeTypes types.NodeType) Node { + for i := range n { + if n[i].NodeType.Is(nodeTypes) { + return n[i] + } + } + return Node{} +} + +func (n Nodes) WithType(nodeTypes types.NodeType) Nodes { + count := 0 + for i := range n { + if n[i].NodeType.Is(nodeTypes) { + count++ + } + } + + out, j := make(Nodes, count), 0 + for i := range n { + if n[i].NodeType.Is(nodeTypes) { + out[j] = n[i] + j++ + } + } + return out +} + +func (n Nodes) WithoutType(nodeTypes types.NodeType) Nodes { + count := 0 + for i := range n { + if !n[i].NodeType.Is(nodeTypes) { + count++ + } + } + + out, j := make(Nodes, count), 0 + for i := range n { + if !n[i].NodeType.Is(nodeTypes) { + out[j] = n[i] + j++ + } + } + return out +} + +func (n Nodes) WithoutNode(nodeToExclude Node) Nodes { + idxToExclude := len(n) + for i := range n { + if n[i].ID == nodeToExclude.ID { + idxToExclude = i + break + } + } + if idxToExclude == len(n) { + return n + } + out, j := make(Nodes, len(n)-1), 0 + for i := range n { + if i == idxToExclude { + continue + } + out[j] = n[i] + j++ + } + return out +} + +func (n Nodes) Filter(filter func(Node) bool) Nodes { + trufa, count := make([]bool, len(n)), 0 + for i := range n { + if filter(n[i]) { + trufa[i] = true + count += 1 + } + } + out, j := make(Nodes, count), 0 + for i := range n { + if trufa[i] { + out[j] = n[i] + j++ + } + } + return out +} + +func (n Nodes) FirstSatisfying(filter func(Node) bool) Node { + for i := range n { + if filter(n[i]) { + return n[i] + } + } + return Node{} +} + +func (n Nodes) WithinNestingLevel(deepestNestingLevel int) Nodes { + count := 0 + for i := range n { + if n[i].NestingLevel <= deepestNestingLevel { + count++ + } + } + out, j := make(Nodes, count), 0 + for i := range n { + if n[i].NestingLevel <= deepestNestingLevel { + out[j] = n[i] + j++ + } + } + return out +} + +func (n Nodes) SortedByDescendingNestingLevel() Nodes { + out := make(Nodes, len(n)) + copy(out, n) + sort.SliceStable(out, func(i int, j int) bool { + return out[i].NestingLevel > out[j].NestingLevel + }) + + return out +} + +func (n Nodes) SortedByAscendingNestingLevel() Nodes { + out := make(Nodes, len(n)) + copy(out, n) + sort.SliceStable(out, func(i int, j int) bool { + return out[i].NestingLevel < out[j].NestingLevel + }) + + return out +} + +func (n Nodes) FirstWithNestingLevel(level int) Node { + for i := range n { + if n[i].NestingLevel == level { + return n[i] + } + } + return Node{} +} + +func (n Nodes) Reverse() Nodes { + out := make(Nodes, len(n)) + for i := range n { + out[len(n)-1-i] = n[i] + } + return out +} + +func (n Nodes) Texts() []string { + out := make([]string, len(n)) + for i := range n { + out[i] = n[i].Text + } + return out +} + +func (n Nodes) Labels() [][]string { + out := make([][]string, len(n)) + for i := range n { + if n[i].Labels == nil { + out[i] = []string{} + } else { + out[i] = []string(n[i].Labels) + } + } + return out +} + +func (n Nodes) UnionOfLabels() []string { + out := []string{} + seen := map[string]bool{} + for i := range n { + for _, label := range n[i].Labels { + if !seen[label] { + seen[label] = true + out = append(out, label) + } + } + } + return out +} + +func (n Nodes) CodeLocations() []types.CodeLocation { + out := make([]types.CodeLocation, len(n)) + for i := range n { + out[i] = n[i].CodeLocation + } + return out +} + +func (n Nodes) BestTextFor(node Node) string { + if node.Text != "" { + return node.Text + } + parentNestingLevel := node.NestingLevel - 1 + for i := range n { + if n[i].Text != "" && n[i].NestingLevel == parentNestingLevel { + return n[i].Text + } + } + + return "" +} + +func (n Nodes) ContainsNodeID(id uint) bool { + for i := range n { + if n[i].ID == id { + return true + } + } + return false +} + +func (n Nodes) HasNodeMarkedPending() bool { + for i := range n { + if n[i].MarkedPending { + return true + } + } + return false +} + +func (n Nodes) HasNodeMarkedFocus() bool { + for i := range n { + if n[i].MarkedFocus { + return true + } + } + return false +} + +func (n Nodes) HasNodeMarkedSerial() bool { + for i := range n { + if n[i].MarkedSerial { + return true + } + } + return false +} + +func (n Nodes) FirstNodeMarkedOrdered() Node { + for i := range n { + if n[i].MarkedOrdered { + return n[i] + } + } + return Node{} +} + +func (n Nodes) IndexOfFirstNodeMarkedOrdered() int { + for i := range n { + if n[i].MarkedOrdered { + return i + } + } + return -1 +} + +func (n Nodes) GetMaxFlakeAttempts() int { + maxFlakeAttempts := 0 + for i := range n { + if n[i].FlakeAttempts > 0 { + maxFlakeAttempts = n[i].FlakeAttempts + } + } + return maxFlakeAttempts +} + +func (n Nodes) GetMaxMustPassRepeatedly() int { + maxMustPassRepeatedly := 0 + for i := range n { + if n[i].MustPassRepeatedly > 0 { + maxMustPassRepeatedly = n[i].MustPassRepeatedly + } + } + return maxMustPassRepeatedly +} + +func unrollInterfaceSlice(args interface{}) []interface{} { + v := reflect.ValueOf(args) + if v.Kind() != reflect.Slice { + return []interface{}{args} + } + out := []interface{}{} + for i := 0; i < v.Len(); i++ { + el := reflect.ValueOf(v.Index(i).Interface()) + if el.Kind() == reflect.Slice && el.Type() != reflect.TypeOf(Labels{}) { + out = append(out, unrollInterfaceSlice(el.Interface())...) + } else { + out = append(out, v.Index(i).Interface()) + } + } + return out +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/ordering.go b/vendor/github.com/onsi/ginkgo/v2/internal/ordering.go new file mode 100644 index 000000000..84eea0a59 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/ordering.go @@ -0,0 +1,171 @@ +package internal + +import ( + "math/rand" + "sort" + + "github.com/onsi/ginkgo/v2/types" +) + +type SortableSpecs struct { + Specs Specs + Indexes []int +} + +func NewSortableSpecs(specs Specs) *SortableSpecs { + indexes := make([]int, len(specs)) + for i := range specs { + indexes[i] = i + } + return &SortableSpecs{ + Specs: specs, + Indexes: indexes, + } +} +func (s *SortableSpecs) Len() int { return len(s.Indexes) } +func (s *SortableSpecs) Swap(i, j int) { s.Indexes[i], s.Indexes[j] = s.Indexes[j], s.Indexes[i] } +func (s *SortableSpecs) Less(i, j int) bool { + a, b := s.Specs[s.Indexes[i]], s.Specs[s.Indexes[j]] + + aNodes, bNodes := a.Nodes.WithType(types.NodeTypesForContainerAndIt), b.Nodes.WithType(types.NodeTypesForContainerAndIt) + + firstOrderedAIdx, firstOrderedBIdx := aNodes.IndexOfFirstNodeMarkedOrdered(), bNodes.IndexOfFirstNodeMarkedOrdered() + if firstOrderedAIdx > -1 && firstOrderedBIdx > -1 && aNodes[firstOrderedAIdx].ID == bNodes[firstOrderedBIdx].ID { + // strictly preserve order within an ordered containers. ID will track this as IDs are generated monotonically + return aNodes.FirstNodeWithType(types.NodeTypeIt).ID < bNodes.FirstNodeWithType(types.NodeTypeIt).ID + } + + // if either spec is in an ordered container - only use the nodes up to the outermost ordered container + if firstOrderedAIdx > -1 { + aNodes = aNodes[:firstOrderedAIdx+1] + } + if firstOrderedBIdx > -1 { + bNodes = bNodes[:firstOrderedBIdx+1] + } + + for i := 0; i < len(aNodes) && i < len(bNodes); i++ { + aCL, bCL := aNodes[i].CodeLocation, bNodes[i].CodeLocation + if aCL.FileName != bCL.FileName { + return aCL.FileName < bCL.FileName + } + if aCL.LineNumber != bCL.LineNumber { + return aCL.LineNumber < bCL.LineNumber + } + } + // either everything is equal or we have different lengths of CLs + if len(aNodes) != len(bNodes) { + return len(aNodes) < len(bNodes) + } + // ok, now we are sure everything was equal. so we use the spec text to break ties + for i := 0; i < len(aNodes); i++ { + if aNodes[i].Text != bNodes[i].Text { + return aNodes[i].Text < bNodes[i].Text + } + } + // ok, all those texts were equal. we'll use the ID of the most deeply nested node as a last resort + return aNodes[len(aNodes)-1].ID < bNodes[len(bNodes)-1].ID +} + +type GroupedSpecIndices []SpecIndices +type SpecIndices []int + +func OrderSpecs(specs Specs, suiteConfig types.SuiteConfig) (GroupedSpecIndices, GroupedSpecIndices) { + /* + Ginkgo has sophisticated support for randomizing specs. Specs are guaranteed to have the same + order for a given seed across test runs. + + By default only top-level containers and specs are shuffled - this makes for a more intuitive debugging + experience - specs within a given container run in the order they appear in the file. + + Developers can set -randomizeAllSpecs to shuffle _all_ specs. + + In addition, spec containers can be marked as Ordered. Specs within an Ordered container are never shuffled. + + Finally, specs and spec containers can be marked as Serial. When running in parallel, serial specs run on Process #1 _after_ all other processes have finished. + */ + + // Seed a new random source based on thee configured random seed. + r := rand.New(rand.NewSource(suiteConfig.RandomSeed)) + + // first, we sort the entire suite to ensure a deterministic order. the sort is performed by filename, then line number, and then spec text. this ensures every parallel process has the exact same spec order and is only necessary to cover the edge case where the user iterates over a map to generate specs. + sortableSpecs := NewSortableSpecs(specs) + sort.Sort(sortableSpecs) + + // then we break things into execution groups + // a group represents a single unit of execution and is a collection of SpecIndices + // usually a group is just a single spec, however ordered containers must be preserved as a single group + executionGroupIDs := []uint{} + executionGroups := map[uint]SpecIndices{} + for _, idx := range sortableSpecs.Indexes { + spec := specs[idx] + groupNode := spec.Nodes.FirstNodeMarkedOrdered() + if groupNode.IsZero() { + groupNode = spec.Nodes.FirstNodeWithType(types.NodeTypeIt) + } + executionGroups[groupNode.ID] = append(executionGroups[groupNode.ID], idx) + if len(executionGroups[groupNode.ID]) == 1 { + executionGroupIDs = append(executionGroupIDs, groupNode.ID) + } + } + + // now, we only shuffle all the execution groups if we're randomizing all specs, otherwise + // we shuffle outermost containers. so we need to form shufflable groupings of GroupIDs + shufflableGroupingIDs := []uint{} + shufflableGroupingIDToGroupIDs := map[uint][]uint{} + + // for each execution group we're going to have to pick a node to represent how the + // execution group is grouped for shuffling: + nodeTypesToShuffle := types.NodeTypesForContainerAndIt + if suiteConfig.RandomizeAllSpecs { + nodeTypesToShuffle = types.NodeTypeIt + } + + //so, for each execution group: + for _, groupID := range executionGroupIDs { + // pick out a representative spec + representativeSpec := specs[executionGroups[groupID][0]] + + // and grab the node on the spec that will represent which shufflable group this execution group belongs tu + shufflableGroupingNode := representativeSpec.Nodes.FirstNodeWithType(nodeTypesToShuffle) + + //add the execution group to its shufflable group + shufflableGroupingIDToGroupIDs[shufflableGroupingNode.ID] = append(shufflableGroupingIDToGroupIDs[shufflableGroupingNode.ID], groupID) + + //and if it's the first one in + if len(shufflableGroupingIDToGroupIDs[shufflableGroupingNode.ID]) == 1 { + // record the shuffleable group ID + shufflableGroupingIDs = append(shufflableGroupingIDs, shufflableGroupingNode.ID) + } + } + + // now we permute the sorted shufflable grouping IDs and build the ordered Groups + orderedGroups := GroupedSpecIndices{} + permutation := r.Perm(len(shufflableGroupingIDs)) + for _, j := range permutation { + //let's get the execution group IDs for this shufflable group: + executionGroupIDsForJ := shufflableGroupingIDToGroupIDs[shufflableGroupingIDs[j]] + // and we'll add their associated specindices to the orderedGroups slice: + for _, executionGroupID := range executionGroupIDsForJ { + orderedGroups = append(orderedGroups, executionGroups[executionGroupID]) + } + } + + // If we're running in series, we're done. + if suiteConfig.ParallelTotal == 1 { + return orderedGroups, GroupedSpecIndices{} + } + + // We're running in parallel so we need to partition the ordered groups into a parallelizable set and a serialized set. + // The parallelizable groups will run across all Ginkgo processes... + // ...the serial groups will only run on Process #1 after all other processes have exited. + parallelizableGroups, serialGroups := GroupedSpecIndices{}, GroupedSpecIndices{} + for _, specIndices := range orderedGroups { + if specs[specIndices[0]].Nodes.HasNodeMarkedSerial() { + serialGroups = append(serialGroups, specIndices) + } else { + parallelizableGroups = append(parallelizableGroups, specIndices) + } + } + + return parallelizableGroups, serialGroups +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor.go b/vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor.go new file mode 100644 index 000000000..4a1c09461 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor.go @@ -0,0 +1,250 @@ +package internal + +import ( + "bytes" + "io" + "os" + "time" +) + +const BAILOUT_TIME = 1 * time.Second +const BAILOUT_MESSAGE = `Ginkgo detected an issue while intercepting output. + +When running in parallel, Ginkgo captures stdout and stderr output +and attaches it to the running spec. It looks like that process is getting +stuck for this suite. + +This usually happens if you, or a library you are using, spin up an external +process and set cmd.Stdout = os.Stdout and/or cmd.Stderr = os.Stderr. This +causes the external process to keep Ginkgo's output interceptor pipe open and +causes output interception to hang. + +Ginkgo has detected this and shortcircuited the capture process. The specs +will continue running after this message however output from the external +process that caused this issue will not be captured. + +You have several options to fix this. In preferred order they are: + +1. Pass GinkgoWriter instead of os.Stdout or os.Stderr to your process. +2. Ensure your process exits before the current spec completes. If your +process is long-lived and must cross spec boundaries, this option won't +work for you. +3. Pause Ginkgo's output interceptor before starting your process and then +resume it after. Use PauseOutputInterception() and ResumeOutputInterception() +to do this. +4. Set --output-interceptor-mode=none when running your Ginkgo suite. This will +turn off all output interception but allow specs to run in parallel without this +issue. You may miss important output if you do this including output from Go's +race detector. + +More details on issue #851 - https://github.com/onsi/ginkgo/issues/851 +` + +/* +The OutputInterceptor is used by to +intercept and capture all stdin and stderr output during a test run. +*/ +type OutputInterceptor interface { + StartInterceptingOutput() + StartInterceptingOutputAndForwardTo(io.Writer) + StopInterceptingAndReturnOutput() string + + PauseIntercepting() + ResumeIntercepting() + + Shutdown() +} + +type NoopOutputInterceptor struct{} + +func (interceptor NoopOutputInterceptor) StartInterceptingOutput() {} +func (interceptor NoopOutputInterceptor) StartInterceptingOutputAndForwardTo(io.Writer) {} +func (interceptor NoopOutputInterceptor) StopInterceptingAndReturnOutput() string { return "" } +func (interceptor NoopOutputInterceptor) PauseIntercepting() {} +func (interceptor NoopOutputInterceptor) ResumeIntercepting() {} +func (interceptor NoopOutputInterceptor) Shutdown() {} + +type pipePair struct { + reader *os.File + writer *os.File +} + +func startPipeFactory(pipeChannel chan pipePair, shutdown chan interface{}) { + for { + //make the next pipe... + pair := pipePair{} + pair.reader, pair.writer, _ = os.Pipe() + select { + //...and provide it to the next consumer (they are responsible for closing the files) + case pipeChannel <- pair: + continue + //...or close the files if we were told to shutdown + case <-shutdown: + pair.reader.Close() + pair.writer.Close() + return + } + } +} + +type interceptorImplementation interface { + CreateStdoutStderrClones() (*os.File, *os.File) + ConnectPipeToStdoutStderr(*os.File) + RestoreStdoutStderrFromClones(*os.File, *os.File) + ShutdownClones(*os.File, *os.File) +} + +type genericOutputInterceptor struct { + intercepting bool + + stdoutClone *os.File + stderrClone *os.File + pipe pipePair + + shutdown chan interface{} + emergencyBailout chan interface{} + pipeChannel chan pipePair + interceptedContent chan string + + forwardTo io.Writer + accumulatedOutput string + + implementation interceptorImplementation +} + +func (interceptor *genericOutputInterceptor) StartInterceptingOutput() { + interceptor.StartInterceptingOutputAndForwardTo(io.Discard) +} + +func (interceptor *genericOutputInterceptor) StartInterceptingOutputAndForwardTo(w io.Writer) { + if interceptor.intercepting { + return + } + interceptor.accumulatedOutput = "" + interceptor.forwardTo = w + interceptor.ResumeIntercepting() +} + +func (interceptor *genericOutputInterceptor) StopInterceptingAndReturnOutput() string { + if interceptor.intercepting { + interceptor.PauseIntercepting() + } + return interceptor.accumulatedOutput +} + +func (interceptor *genericOutputInterceptor) ResumeIntercepting() { + if interceptor.intercepting { + return + } + interceptor.intercepting = true + if interceptor.stdoutClone == nil { + interceptor.stdoutClone, interceptor.stderrClone = interceptor.implementation.CreateStdoutStderrClones() + interceptor.shutdown = make(chan interface{}) + go startPipeFactory(interceptor.pipeChannel, interceptor.shutdown) + } + + // Now we make a pipe, we'll use this to redirect the input to the 1 and 2 file descriptors (this is how everything else in the world is string to log to stdout and stderr) + // we get the pipe from our pipe factory. it runs in the background so we can request the next pipe while the spec being intercepted is running + interceptor.pipe = <-interceptor.pipeChannel + + interceptor.emergencyBailout = make(chan interface{}) + + //Spin up a goroutine to copy data from the pipe into a buffer, this is how we capture any output the user is emitting + go func() { + buffer := &bytes.Buffer{} + destination := io.MultiWriter(buffer, interceptor.forwardTo) + copyFinished := make(chan interface{}) + reader := interceptor.pipe.reader + go func() { + io.Copy(destination, reader) + reader.Close() // close the read end of the pipe so we don't leak a file descriptor + close(copyFinished) + }() + select { + case <-copyFinished: + interceptor.interceptedContent <- buffer.String() + case <-interceptor.emergencyBailout: + interceptor.interceptedContent <- "" + } + }() + + interceptor.implementation.ConnectPipeToStdoutStderr(interceptor.pipe.writer) +} + +func (interceptor *genericOutputInterceptor) PauseIntercepting() { + if !interceptor.intercepting { + return + } + // first we have to close the write end of the pipe. To do this we have to close all file descriptors pointing + // to the write end. So that would be the pipewriter itself, and FD #1 and FD #2 if we've Dup2'd them + interceptor.pipe.writer.Close() // the pipewriter itself + + // we also need to stop intercepting. we do that by reconnecting the stdout and stderr file descriptions back to their respective #1 and #2 file descriptors; + // this also closes #1 and #2 before it points that their original stdout and stderr file descriptions + interceptor.implementation.RestoreStdoutStderrFromClones(interceptor.stdoutClone, interceptor.stderrClone) + + var content string + select { + case content = <-interceptor.interceptedContent: + case <-time.After(BAILOUT_TIME): + /* + By closing all the pipe writer's file descriptors associated with the pipe writer's file description the io.Copy reading from the reader + should eventually receive an EOF and exit. + + **However**, if the user has spun up an external process and passed in os.Stdout/os.Stderr to cmd.Stdout/cmd.Stderr then the external process + will have a file descriptor pointing to the pipe writer's file description and it will not close until the external process exits. + + That would leave us hanging here waiting for the io.Copy to close forever. Instead we invoke this emergency escape valve. This returns whatever + content we've got but leaves the io.Copy running. This ensures the external process can continue writing without hanging at the cost of leaking a goroutine + and file descriptor (those these will be cleaned up when the process exits). + + We tack on a message to notify the user that they've hit this edgecase and encourage them to address it. + */ + close(interceptor.emergencyBailout) + content = <-interceptor.interceptedContent + BAILOUT_MESSAGE + } + + interceptor.accumulatedOutput += content + interceptor.intercepting = false +} + +func (interceptor *genericOutputInterceptor) Shutdown() { + interceptor.PauseIntercepting() + + if interceptor.stdoutClone != nil { + close(interceptor.shutdown) + interceptor.implementation.ShutdownClones(interceptor.stdoutClone, interceptor.stderrClone) + interceptor.stdoutClone = nil + interceptor.stderrClone = nil + } +} + +/* This is used on windows builds but included here so it can be explicitly tested on unix systems too */ +func NewOSGlobalReassigningOutputInterceptor() OutputInterceptor { + return &genericOutputInterceptor{ + interceptedContent: make(chan string), + pipeChannel: make(chan pipePair), + shutdown: make(chan interface{}), + implementation: &osGlobalReassigningOutputInterceptorImpl{}, + } +} + +type osGlobalReassigningOutputInterceptorImpl struct{} + +func (impl *osGlobalReassigningOutputInterceptorImpl) CreateStdoutStderrClones() (*os.File, *os.File) { + return os.Stdout, os.Stderr +} + +func (impl *osGlobalReassigningOutputInterceptorImpl) ConnectPipeToStdoutStderr(pipeWriter *os.File) { + os.Stdout = pipeWriter + os.Stderr = pipeWriter +} + +func (impl *osGlobalReassigningOutputInterceptorImpl) RestoreStdoutStderrFromClones(stdoutClone *os.File, stderrClone *os.File) { + os.Stdout = stdoutClone + os.Stderr = stderrClone +} + +func (impl *osGlobalReassigningOutputInterceptorImpl) ShutdownClones(_ *os.File, _ *os.File) { + //noop +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_unix.go b/vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_unix.go new file mode 100644 index 000000000..8a237f446 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_unix.go @@ -0,0 +1,73 @@ +//go:build freebsd || openbsd || netbsd || dragonfly || darwin || linux || solaris +// +build freebsd openbsd netbsd dragonfly darwin linux solaris + +package internal + +import ( + "os" + + "golang.org/x/sys/unix" +) + +func NewOutputInterceptor() OutputInterceptor { + return &genericOutputInterceptor{ + interceptedContent: make(chan string), + pipeChannel: make(chan pipePair), + shutdown: make(chan interface{}), + implementation: &dupSyscallOutputInterceptorImpl{}, + } +} + +type dupSyscallOutputInterceptorImpl struct{} + +func (impl *dupSyscallOutputInterceptorImpl) CreateStdoutStderrClones() (*os.File, *os.File) { + // To clone stdout and stderr we: + // First, create two clone file descriptors that point to the stdout and stderr file descriptions + stdoutCloneFD, _ := unix.Dup(1) + stderrCloneFD, _ := unix.Dup(2) + + // Important, set the fds to FD_CLOEXEC to prevent them leaking into childs + // https://github.com/onsi/ginkgo/issues/1191 + flags, err := unix.FcntlInt(uintptr(stdoutCloneFD), unix.F_GETFD, 0) + if err == nil { + unix.FcntlInt(uintptr(stdoutCloneFD), unix.F_SETFD, flags|unix.FD_CLOEXEC) + } + flags, err = unix.FcntlInt(uintptr(stderrCloneFD), unix.F_GETFD, 0) + if err == nil { + unix.FcntlInt(uintptr(stderrCloneFD), unix.F_SETFD, flags|unix.FD_CLOEXEC) + } + + // And then wrap the clone file descriptors in files. + // One benefit of this (that we don't use yet) is that we can actually write + // to these files to emit output to the console even though we're intercepting output + stdoutClone := os.NewFile(uintptr(stdoutCloneFD), "stdout-clone") + stderrClone := os.NewFile(uintptr(stderrCloneFD), "stderr-clone") + + //these clones remain alive throughout the lifecycle of the suite and don't need to be recreated + //this speeds things up a bit, actually. + return stdoutClone, stderrClone +} + +func (impl *dupSyscallOutputInterceptorImpl) ConnectPipeToStdoutStderr(pipeWriter *os.File) { + // To redirect output to our pipe we need to point the 1 and 2 file descriptors (which is how the world tries to log things) + // to the write end of the pipe. + // We do this with Dup2 (possibly Dup3 on some architectures) to have file descriptors 1 and 2 point to the same file description as the pipeWriter + // This effectively shunts data written to stdout and stderr to the write end of our pipe + unix.Dup2(int(pipeWriter.Fd()), 1) + unix.Dup2(int(pipeWriter.Fd()), 2) +} + +func (impl *dupSyscallOutputInterceptorImpl) RestoreStdoutStderrFromClones(stdoutClone *os.File, stderrClone *os.File) { + // To restore stdour/stderr from the clones we have the 1 and 2 file descriptors + // point to the original file descriptions that we saved off in the clones. + // This has the added benefit of closing the connection between these descriptors and the write end of the pipe + // which is important to cause the io.Copy on the pipe.Reader to end. + unix.Dup2(int(stdoutClone.Fd()), 1) + unix.Dup2(int(stderrClone.Fd()), 2) +} + +func (impl *dupSyscallOutputInterceptorImpl) ShutdownClones(stdoutClone *os.File, stderrClone *os.File) { + // We're done with the clones so we can close them to clean up after ourselves + stdoutClone.Close() + stderrClone.Close() +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_wasm.go b/vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_wasm.go new file mode 100644 index 000000000..4c374935b --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_wasm.go @@ -0,0 +1,7 @@ +//go:build wasm + +package internal + +func NewOutputInterceptor() OutputInterceptor { + return &NoopOutputInterceptor{} +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_win.go b/vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_win.go new file mode 100644 index 000000000..30c2851a8 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/output_interceptor_win.go @@ -0,0 +1,7 @@ +// +build windows + +package internal + +func NewOutputInterceptor() OutputInterceptor { + return NewOSGlobalReassigningOutputInterceptor() +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/client_server.go b/vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/client_server.go new file mode 100644 index 000000000..b3cd64292 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/client_server.go @@ -0,0 +1,72 @@ +package parallel_support + +import ( + "fmt" + "io" + "os" + "time" + + "github.com/onsi/ginkgo/v2/reporters" + "github.com/onsi/ginkgo/v2/types" +) + +type BeforeSuiteState struct { + Data []byte + State types.SpecState +} + +type ParallelIndexCounter struct { + Index int +} + +var ErrorGone = fmt.Errorf("gone") +var ErrorFailed = fmt.Errorf("failed") +var ErrorEarly = fmt.Errorf("early") + +var POLLING_INTERVAL = 50 * time.Millisecond + +type Server interface { + Start() + Close() + Address() string + RegisterAlive(node int, alive func() bool) + GetSuiteDone() chan interface{} + GetOutputDestination() io.Writer + SetOutputDestination(io.Writer) +} + +type Client interface { + Connect() bool + Close() error + + PostSuiteWillBegin(report types.Report) error + PostDidRun(report types.SpecReport) error + PostSuiteDidEnd(report types.Report) error + PostReportBeforeSuiteCompleted(state types.SpecState) error + BlockUntilReportBeforeSuiteCompleted() (types.SpecState, error) + PostSynchronizedBeforeSuiteCompleted(state types.SpecState, data []byte) error + BlockUntilSynchronizedBeforeSuiteData() (types.SpecState, []byte, error) + BlockUntilNonprimaryProcsHaveFinished() error + BlockUntilAggregatedNonprimaryProcsReport() (types.Report, error) + FetchNextCounter() (int, error) + PostAbort() error + ShouldAbort() bool + PostEmitProgressReport(report types.ProgressReport) error + Write(p []byte) (int, error) +} + +func NewServer(parallelTotal int, reporter reporters.Reporter) (Server, error) { + if os.Getenv("GINKGO_PARALLEL_PROTOCOL") == "HTTP" { + return newHttpServer(parallelTotal, reporter) + } else { + return newRPCServer(parallelTotal, reporter) + } +} + +func NewClient(serverHost string) Client { + if os.Getenv("GINKGO_PARALLEL_PROTOCOL") == "HTTP" { + return newHttpClient(serverHost) + } else { + return newRPCClient(serverHost) + } +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_client.go b/vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_client.go new file mode 100644 index 000000000..6547c7a66 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_client.go @@ -0,0 +1,169 @@ +package parallel_support + +import ( + "bytes" + "encoding/json" + "fmt" + "io" + "net/http" + "time" + + "github.com/onsi/ginkgo/v2/types" +) + +type httpClient struct { + serverHost string +} + +func newHttpClient(serverHost string) *httpClient { + return &httpClient{ + serverHost: serverHost, + } +} + +func (client *httpClient) Connect() bool { + resp, err := http.Get(client.serverHost + "/up") + if err != nil { + return false + } + resp.Body.Close() + return resp.StatusCode == http.StatusOK +} + +func (client *httpClient) Close() error { + return nil +} + +func (client *httpClient) post(path string, data interface{}) error { + var body io.Reader + if data != nil { + encoded, err := json.Marshal(data) + if err != nil { + return err + } + body = bytes.NewBuffer(encoded) + } + resp, err := http.Post(client.serverHost+path, "application/json", body) + if err != nil { + return err + } + defer resp.Body.Close() + if resp.StatusCode != http.StatusOK { + return fmt.Errorf("received unexpected status code %d", resp.StatusCode) + } + return nil +} + +func (client *httpClient) poll(path string, data interface{}) error { + for { + resp, err := http.Get(client.serverHost + path) + if err != nil { + return err + } + if resp.StatusCode == http.StatusTooEarly { + resp.Body.Close() + time.Sleep(POLLING_INTERVAL) + continue + } + defer resp.Body.Close() + if resp.StatusCode == http.StatusGone { + return ErrorGone + } + if resp.StatusCode == http.StatusFailedDependency { + return ErrorFailed + } + if resp.StatusCode != http.StatusOK { + return fmt.Errorf("received unexpected status code %d", resp.StatusCode) + } + if data != nil { + return json.NewDecoder(resp.Body).Decode(data) + } + return nil + } +} + +func (client *httpClient) PostSuiteWillBegin(report types.Report) error { + return client.post("/suite-will-begin", report) +} + +func (client *httpClient) PostDidRun(report types.SpecReport) error { + return client.post("/did-run", report) +} + +func (client *httpClient) PostSuiteDidEnd(report types.Report) error { + return client.post("/suite-did-end", report) +} + +func (client *httpClient) PostEmitProgressReport(report types.ProgressReport) error { + return client.post("/progress-report", report) +} + +func (client *httpClient) PostReportBeforeSuiteCompleted(state types.SpecState) error { + return client.post("/report-before-suite-completed", state) +} + +func (client *httpClient) BlockUntilReportBeforeSuiteCompleted() (types.SpecState, error) { + var state types.SpecState + err := client.poll("/report-before-suite-state", &state) + if err == ErrorGone { + return types.SpecStateFailed, nil + } + return state, err +} + +func (client *httpClient) PostSynchronizedBeforeSuiteCompleted(state types.SpecState, data []byte) error { + beforeSuiteState := BeforeSuiteState{ + State: state, + Data: data, + } + return client.post("/before-suite-completed", beforeSuiteState) +} + +func (client *httpClient) BlockUntilSynchronizedBeforeSuiteData() (types.SpecState, []byte, error) { + var beforeSuiteState BeforeSuiteState + err := client.poll("/before-suite-state", &beforeSuiteState) + if err == ErrorGone { + return types.SpecStateInvalid, nil, types.GinkgoErrors.SynchronizedBeforeSuiteDisappearedOnProc1() + } + return beforeSuiteState.State, beforeSuiteState.Data, err +} + +func (client *httpClient) BlockUntilNonprimaryProcsHaveFinished() error { + return client.poll("/have-nonprimary-procs-finished", nil) +} + +func (client *httpClient) BlockUntilAggregatedNonprimaryProcsReport() (types.Report, error) { + var report types.Report + err := client.poll("/aggregated-nonprimary-procs-report", &report) + if err == ErrorGone { + return types.Report{}, types.GinkgoErrors.AggregatedReportUnavailableDueToNodeDisappearing() + } + return report, err +} + +func (client *httpClient) FetchNextCounter() (int, error) { + var counter ParallelIndexCounter + err := client.poll("/counter", &counter) + return counter.Index, err +} + +func (client *httpClient) PostAbort() error { + return client.post("/abort", nil) +} + +func (client *httpClient) ShouldAbort() bool { + err := client.poll("/abort", nil) + if err == ErrorGone { + return true + } + return false +} + +func (client *httpClient) Write(p []byte) (int, error) { + resp, err := http.Post(client.serverHost+"/emit-output", "text/plain;charset=UTF-8 ", bytes.NewReader(p)) + resp.Body.Close() + if resp.StatusCode != http.StatusOK { + return 0, fmt.Errorf("failed to emit output") + } + return len(p), err +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_server.go b/vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_server.go new file mode 100644 index 000000000..d2c71ab1b --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/http_server.go @@ -0,0 +1,242 @@ +/* + +The remote package provides the pieces to allow Ginkgo test suites to report to remote listeners. +This is used, primarily, to enable streaming parallel test output but has, in principal, broader applications (e.g. streaming test output to a browser). + +*/ + +package parallel_support + +import ( + "encoding/json" + "io" + "net" + "net/http" + + "github.com/onsi/ginkgo/v2/reporters" + "github.com/onsi/ginkgo/v2/types" +) + +/* +httpServer spins up on an automatically selected port and listens for communication from the forwarding reporter. +It then forwards that communication to attached reporters. +*/ +type httpServer struct { + listener net.Listener + handler *ServerHandler +} + +// Create a new server, automatically selecting a port +func newHttpServer(parallelTotal int, reporter reporters.Reporter) (*httpServer, error) { + listener, err := net.Listen("tcp", "127.0.0.1:0") + if err != nil { + return nil, err + } + return &httpServer{ + listener: listener, + handler: newServerHandler(parallelTotal, reporter), + }, nil +} + +// Start the server. You don't need to `go s.Start()`, just `s.Start()` +func (server *httpServer) Start() { + httpServer := &http.Server{} + mux := http.NewServeMux() + httpServer.Handler = mux + + //streaming endpoints + mux.HandleFunc("/suite-will-begin", server.specSuiteWillBegin) + mux.HandleFunc("/did-run", server.didRun) + mux.HandleFunc("/suite-did-end", server.specSuiteDidEnd) + mux.HandleFunc("/emit-output", server.emitOutput) + mux.HandleFunc("/progress-report", server.emitProgressReport) + + //synchronization endpoints + mux.HandleFunc("/report-before-suite-completed", server.handleReportBeforeSuiteCompleted) + mux.HandleFunc("/report-before-suite-state", server.handleReportBeforeSuiteState) + mux.HandleFunc("/before-suite-completed", server.handleBeforeSuiteCompleted) + mux.HandleFunc("/before-suite-state", server.handleBeforeSuiteState) + mux.HandleFunc("/have-nonprimary-procs-finished", server.handleHaveNonprimaryProcsFinished) + mux.HandleFunc("/aggregated-nonprimary-procs-report", server.handleAggregatedNonprimaryProcsReport) + mux.HandleFunc("/counter", server.handleCounter) + mux.HandleFunc("/up", server.handleUp) + mux.HandleFunc("/abort", server.handleAbort) + + go httpServer.Serve(server.listener) +} + +// Stop the server +func (server *httpServer) Close() { + server.listener.Close() +} + +// The address the server can be reached it. Pass this into the `ForwardingReporter`. +func (server *httpServer) Address() string { + return "http://" + server.listener.Addr().String() +} + +func (server *httpServer) GetSuiteDone() chan interface{} { + return server.handler.done +} + +func (server *httpServer) GetOutputDestination() io.Writer { + return server.handler.outputDestination +} + +func (server *httpServer) SetOutputDestination(w io.Writer) { + server.handler.outputDestination = w +} + +func (server *httpServer) RegisterAlive(node int, alive func() bool) { + server.handler.registerAlive(node, alive) +} + +// +// Streaming Endpoints +// + +// The server will forward all received messages to Ginkgo reporters registered with `RegisterReporters` +func (server *httpServer) decode(writer http.ResponseWriter, request *http.Request, object interface{}) bool { + defer request.Body.Close() + if json.NewDecoder(request.Body).Decode(object) != nil { + writer.WriteHeader(http.StatusBadRequest) + return false + } + return true +} + +func (server *httpServer) handleError(err error, writer http.ResponseWriter) bool { + if err == nil { + return false + } + switch err { + case ErrorEarly: + writer.WriteHeader(http.StatusTooEarly) + case ErrorGone: + writer.WriteHeader(http.StatusGone) + case ErrorFailed: + writer.WriteHeader(http.StatusFailedDependency) + default: + writer.WriteHeader(http.StatusInternalServerError) + } + return true +} + +func (server *httpServer) specSuiteWillBegin(writer http.ResponseWriter, request *http.Request) { + var report types.Report + if !server.decode(writer, request, &report) { + return + } + + server.handleError(server.handler.SpecSuiteWillBegin(report, voidReceiver), writer) +} + +func (server *httpServer) didRun(writer http.ResponseWriter, request *http.Request) { + var report types.SpecReport + if !server.decode(writer, request, &report) { + return + } + + server.handleError(server.handler.DidRun(report, voidReceiver), writer) +} + +func (server *httpServer) specSuiteDidEnd(writer http.ResponseWriter, request *http.Request) { + var report types.Report + if !server.decode(writer, request, &report) { + return + } + server.handleError(server.handler.SpecSuiteDidEnd(report, voidReceiver), writer) +} + +func (server *httpServer) emitOutput(writer http.ResponseWriter, request *http.Request) { + output, err := io.ReadAll(request.Body) + if err != nil { + writer.WriteHeader(http.StatusInternalServerError) + return + } + var n int + server.handleError(server.handler.EmitOutput(output, &n), writer) +} + +func (server *httpServer) emitProgressReport(writer http.ResponseWriter, request *http.Request) { + var report types.ProgressReport + if !server.decode(writer, request, &report) { + return + } + server.handleError(server.handler.EmitProgressReport(report, voidReceiver), writer) +} + +func (server *httpServer) handleReportBeforeSuiteCompleted(writer http.ResponseWriter, request *http.Request) { + var state types.SpecState + if !server.decode(writer, request, &state) { + return + } + + server.handleError(server.handler.ReportBeforeSuiteCompleted(state, voidReceiver), writer) +} + +func (server *httpServer) handleReportBeforeSuiteState(writer http.ResponseWriter, request *http.Request) { + var state types.SpecState + if server.handleError(server.handler.ReportBeforeSuiteState(voidSender, &state), writer) { + return + } + json.NewEncoder(writer).Encode(state) +} + +func (server *httpServer) handleBeforeSuiteCompleted(writer http.ResponseWriter, request *http.Request) { + var beforeSuiteState BeforeSuiteState + if !server.decode(writer, request, &beforeSuiteState) { + return + } + + server.handleError(server.handler.BeforeSuiteCompleted(beforeSuiteState, voidReceiver), writer) +} + +func (server *httpServer) handleBeforeSuiteState(writer http.ResponseWriter, request *http.Request) { + var beforeSuiteState BeforeSuiteState + if server.handleError(server.handler.BeforeSuiteState(voidSender, &beforeSuiteState), writer) { + return + } + json.NewEncoder(writer).Encode(beforeSuiteState) +} + +func (server *httpServer) handleHaveNonprimaryProcsFinished(writer http.ResponseWriter, request *http.Request) { + if server.handleError(server.handler.HaveNonprimaryProcsFinished(voidSender, voidReceiver), writer) { + return + } + writer.WriteHeader(http.StatusOK) +} + +func (server *httpServer) handleAggregatedNonprimaryProcsReport(writer http.ResponseWriter, request *http.Request) { + var aggregatedReport types.Report + if server.handleError(server.handler.AggregatedNonprimaryProcsReport(voidSender, &aggregatedReport), writer) { + return + } + json.NewEncoder(writer).Encode(aggregatedReport) +} + +func (server *httpServer) handleCounter(writer http.ResponseWriter, request *http.Request) { + var n int + if server.handleError(server.handler.Counter(voidSender, &n), writer) { + return + } + json.NewEncoder(writer).Encode(ParallelIndexCounter{Index: n}) +} + +func (server *httpServer) handleUp(writer http.ResponseWriter, request *http.Request) { + writer.WriteHeader(http.StatusOK) +} + +func (server *httpServer) handleAbort(writer http.ResponseWriter, request *http.Request) { + if request.Method == "GET" { + var shouldAbort bool + server.handler.ShouldAbort(voidSender, &shouldAbort) + if shouldAbort { + writer.WriteHeader(http.StatusGone) + } else { + writer.WriteHeader(http.StatusOK) + } + } else { + server.handler.Abort(voidSender, voidReceiver) + } +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_client.go b/vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_client.go new file mode 100644 index 000000000..59e8e6fd0 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_client.go @@ -0,0 +1,136 @@ +package parallel_support + +import ( + "net/rpc" + "time" + + "github.com/onsi/ginkgo/v2/types" +) + +type rpcClient struct { + serverHost string + client *rpc.Client +} + +func newRPCClient(serverHost string) *rpcClient { + return &rpcClient{ + serverHost: serverHost, + } +} + +func (client *rpcClient) Connect() bool { + var err error + if client.client != nil { + return true + } + client.client, err = rpc.DialHTTPPath("tcp", client.serverHost, "/") + if err != nil { + client.client = nil + return false + } + return true +} + +func (client *rpcClient) Close() error { + return client.client.Close() +} + +func (client *rpcClient) poll(method string, data interface{}) error { + for { + err := client.client.Call(method, voidSender, data) + if err == nil { + return nil + } + switch err.Error() { + case ErrorEarly.Error(): + time.Sleep(POLLING_INTERVAL) + case ErrorGone.Error(): + return ErrorGone + case ErrorFailed.Error(): + return ErrorFailed + default: + return err + } + } +} + +func (client *rpcClient) PostSuiteWillBegin(report types.Report) error { + return client.client.Call("Server.SpecSuiteWillBegin", report, voidReceiver) +} + +func (client *rpcClient) PostDidRun(report types.SpecReport) error { + return client.client.Call("Server.DidRun", report, voidReceiver) +} + +func (client *rpcClient) PostSuiteDidEnd(report types.Report) error { + return client.client.Call("Server.SpecSuiteDidEnd", report, voidReceiver) +} + +func (client *rpcClient) Write(p []byte) (int, error) { + var n int + err := client.client.Call("Server.EmitOutput", p, &n) + return n, err +} + +func (client *rpcClient) PostEmitProgressReport(report types.ProgressReport) error { + return client.client.Call("Server.EmitProgressReport", report, voidReceiver) +} + +func (client *rpcClient) PostReportBeforeSuiteCompleted(state types.SpecState) error { + return client.client.Call("Server.ReportBeforeSuiteCompleted", state, voidReceiver) +} + +func (client *rpcClient) BlockUntilReportBeforeSuiteCompleted() (types.SpecState, error) { + var state types.SpecState + err := client.poll("Server.ReportBeforeSuiteState", &state) + if err == ErrorGone { + return types.SpecStateFailed, nil + } + return state, err +} + +func (client *rpcClient) PostSynchronizedBeforeSuiteCompleted(state types.SpecState, data []byte) error { + beforeSuiteState := BeforeSuiteState{ + State: state, + Data: data, + } + return client.client.Call("Server.BeforeSuiteCompleted", beforeSuiteState, voidReceiver) +} + +func (client *rpcClient) BlockUntilSynchronizedBeforeSuiteData() (types.SpecState, []byte, error) { + var beforeSuiteState BeforeSuiteState + err := client.poll("Server.BeforeSuiteState", &beforeSuiteState) + if err == ErrorGone { + return types.SpecStateInvalid, nil, types.GinkgoErrors.SynchronizedBeforeSuiteDisappearedOnProc1() + } + return beforeSuiteState.State, beforeSuiteState.Data, err +} + +func (client *rpcClient) BlockUntilNonprimaryProcsHaveFinished() error { + return client.poll("Server.HaveNonprimaryProcsFinished", voidReceiver) +} + +func (client *rpcClient) BlockUntilAggregatedNonprimaryProcsReport() (types.Report, error) { + var report types.Report + err := client.poll("Server.AggregatedNonprimaryProcsReport", &report) + if err == ErrorGone { + return types.Report{}, types.GinkgoErrors.AggregatedReportUnavailableDueToNodeDisappearing() + } + return report, err +} + +func (client *rpcClient) FetchNextCounter() (int, error) { + var counter int + err := client.client.Call("Server.Counter", voidSender, &counter) + return counter, err +} + +func (client *rpcClient) PostAbort() error { + return client.client.Call("Server.Abort", voidSender, voidReceiver) +} + +func (client *rpcClient) ShouldAbort() bool { + var shouldAbort bool + client.client.Call("Server.ShouldAbort", voidSender, &shouldAbort) + return shouldAbort +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_server.go b/vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_server.go new file mode 100644 index 000000000..2620fd562 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/rpc_server.go @@ -0,0 +1,75 @@ +/* + +The remote package provides the pieces to allow Ginkgo test suites to report to remote listeners. +This is used, primarily, to enable streaming parallel test output but has, in principal, broader applications (e.g. streaming test output to a browser). + +*/ + +package parallel_support + +import ( + "io" + "net" + "net/http" + "net/rpc" + + "github.com/onsi/ginkgo/v2/reporters" +) + +/* +RPCServer spins up on an automatically selected port and listens for communication from the forwarding reporter. +It then forwards that communication to attached reporters. +*/ +type RPCServer struct { + listener net.Listener + handler *ServerHandler +} + +//Create a new server, automatically selecting a port +func newRPCServer(parallelTotal int, reporter reporters.Reporter) (*RPCServer, error) { + listener, err := net.Listen("tcp", "127.0.0.1:0") + if err != nil { + return nil, err + } + return &RPCServer{ + listener: listener, + handler: newServerHandler(parallelTotal, reporter), + }, nil +} + +//Start the server. You don't need to `go s.Start()`, just `s.Start()` +func (server *RPCServer) Start() { + rpcServer := rpc.NewServer() + rpcServer.RegisterName("Server", server.handler) //register the handler's methods as the server + + httpServer := &http.Server{} + httpServer.Handler = rpcServer + + go httpServer.Serve(server.listener) +} + +//Stop the server +func (server *RPCServer) Close() { + server.listener.Close() +} + +//The address the server can be reached it. Pass this into the `ForwardingReporter`. +func (server *RPCServer) Address() string { + return server.listener.Addr().String() +} + +func (server *RPCServer) GetSuiteDone() chan interface{} { + return server.handler.done +} + +func (server *RPCServer) GetOutputDestination() io.Writer { + return server.handler.outputDestination +} + +func (server *RPCServer) SetOutputDestination(w io.Writer) { + server.handler.outputDestination = w +} + +func (server *RPCServer) RegisterAlive(node int, alive func() bool) { + server.handler.registerAlive(node, alive) +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/server_handler.go b/vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/server_handler.go new file mode 100644 index 000000000..a6d98793e --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/parallel_support/server_handler.go @@ -0,0 +1,234 @@ +package parallel_support + +import ( + "io" + "os" + "sync" + + "github.com/onsi/ginkgo/v2/reporters" + "github.com/onsi/ginkgo/v2/types" +) + +type Void struct{} + +var voidReceiver *Void = &Void{} +var voidSender Void + +// ServerHandler is an RPC-compatible handler that is shared between the http server and the rpc server. +// It handles all the business logic to avoid duplication between the two servers + +type ServerHandler struct { + done chan interface{} + outputDestination io.Writer + reporter reporters.Reporter + alives []func() bool + lock *sync.Mutex + beforeSuiteState BeforeSuiteState + reportBeforeSuiteState types.SpecState + parallelTotal int + counter int + counterLock *sync.Mutex + shouldAbort bool + + numSuiteDidBegins int + numSuiteDidEnds int + aggregatedReport types.Report + reportHoldingArea []types.SpecReport +} + +func newServerHandler(parallelTotal int, reporter reporters.Reporter) *ServerHandler { + return &ServerHandler{ + reporter: reporter, + lock: &sync.Mutex{}, + counterLock: &sync.Mutex{}, + alives: make([]func() bool, parallelTotal), + beforeSuiteState: BeforeSuiteState{Data: nil, State: types.SpecStateInvalid}, + + parallelTotal: parallelTotal, + outputDestination: os.Stdout, + done: make(chan interface{}), + } +} + +func (handler *ServerHandler) SpecSuiteWillBegin(report types.Report, _ *Void) error { + handler.lock.Lock() + defer handler.lock.Unlock() + + handler.numSuiteDidBegins += 1 + + // all summaries are identical, so it's fine to simply emit the last one of these + if handler.numSuiteDidBegins == handler.parallelTotal { + handler.reporter.SuiteWillBegin(report) + + for _, summary := range handler.reportHoldingArea { + handler.reporter.WillRun(summary) + handler.reporter.DidRun(summary) + } + + handler.reportHoldingArea = nil + } + + return nil +} + +func (handler *ServerHandler) DidRun(report types.SpecReport, _ *Void) error { + handler.lock.Lock() + defer handler.lock.Unlock() + + if handler.numSuiteDidBegins == handler.parallelTotal { + handler.reporter.WillRun(report) + handler.reporter.DidRun(report) + } else { + handler.reportHoldingArea = append(handler.reportHoldingArea, report) + } + + return nil +} + +func (handler *ServerHandler) SpecSuiteDidEnd(report types.Report, _ *Void) error { + handler.lock.Lock() + defer handler.lock.Unlock() + + handler.numSuiteDidEnds += 1 + if handler.numSuiteDidEnds == 1 { + handler.aggregatedReport = report + } else { + handler.aggregatedReport = handler.aggregatedReport.Add(report) + } + + if handler.numSuiteDidEnds == handler.parallelTotal { + handler.reporter.SuiteDidEnd(handler.aggregatedReport) + close(handler.done) + } + + return nil +} + +func (handler *ServerHandler) EmitOutput(output []byte, n *int) error { + var err error + *n, err = handler.outputDestination.Write(output) + return err +} + +func (handler *ServerHandler) EmitProgressReport(report types.ProgressReport, _ *Void) error { + handler.lock.Lock() + defer handler.lock.Unlock() + handler.reporter.EmitProgressReport(report) + return nil +} + +func (handler *ServerHandler) registerAlive(proc int, alive func() bool) { + handler.lock.Lock() + defer handler.lock.Unlock() + handler.alives[proc-1] = alive +} + +func (handler *ServerHandler) procIsAlive(proc int) bool { + handler.lock.Lock() + defer handler.lock.Unlock() + alive := handler.alives[proc-1] + if alive == nil { + return true + } + return alive() +} + +func (handler *ServerHandler) haveNonprimaryProcsFinished() bool { + for i := 2; i <= handler.parallelTotal; i++ { + if handler.procIsAlive(i) { + return false + } + } + return true +} + +func (handler *ServerHandler) ReportBeforeSuiteCompleted(reportBeforeSuiteState types.SpecState, _ *Void) error { + handler.lock.Lock() + defer handler.lock.Unlock() + handler.reportBeforeSuiteState = reportBeforeSuiteState + + return nil +} + +func (handler *ServerHandler) ReportBeforeSuiteState(_ Void, reportBeforeSuiteState *types.SpecState) error { + proc1IsAlive := handler.procIsAlive(1) + handler.lock.Lock() + defer handler.lock.Unlock() + if handler.reportBeforeSuiteState == types.SpecStateInvalid { + if proc1IsAlive { + return ErrorEarly + } else { + return ErrorGone + } + } + *reportBeforeSuiteState = handler.reportBeforeSuiteState + return nil +} + +func (handler *ServerHandler) BeforeSuiteCompleted(beforeSuiteState BeforeSuiteState, _ *Void) error { + handler.lock.Lock() + defer handler.lock.Unlock() + handler.beforeSuiteState = beforeSuiteState + + return nil +} + +func (handler *ServerHandler) BeforeSuiteState(_ Void, beforeSuiteState *BeforeSuiteState) error { + proc1IsAlive := handler.procIsAlive(1) + handler.lock.Lock() + defer handler.lock.Unlock() + if handler.beforeSuiteState.State == types.SpecStateInvalid { + if proc1IsAlive { + return ErrorEarly + } else { + return ErrorGone + } + } + *beforeSuiteState = handler.beforeSuiteState + return nil +} + +func (handler *ServerHandler) HaveNonprimaryProcsFinished(_ Void, _ *Void) error { + if handler.haveNonprimaryProcsFinished() { + return nil + } else { + return ErrorEarly + } +} + +func (handler *ServerHandler) AggregatedNonprimaryProcsReport(_ Void, report *types.Report) error { + if handler.haveNonprimaryProcsFinished() { + handler.lock.Lock() + defer handler.lock.Unlock() + if handler.numSuiteDidEnds == handler.parallelTotal-1 { + *report = handler.aggregatedReport + return nil + } else { + return ErrorGone + } + } else { + return ErrorEarly + } +} + +func (handler *ServerHandler) Counter(_ Void, counter *int) error { + handler.counterLock.Lock() + defer handler.counterLock.Unlock() + *counter = handler.counter + handler.counter++ + return nil +} + +func (handler *ServerHandler) Abort(_ Void, _ *Void) error { + handler.lock.Lock() + defer handler.lock.Unlock() + handler.shouldAbort = true + return nil +} + +func (handler *ServerHandler) ShouldAbort(_ Void, shouldAbort *bool) error { + handler.lock.Lock() + defer handler.lock.Unlock() + *shouldAbort = handler.shouldAbort + return nil +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/progress_report.go b/vendor/github.com/onsi/ginkgo/v2/internal/progress_report.go new file mode 100644 index 000000000..11269cf1f --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/progress_report.go @@ -0,0 +1,287 @@ +package internal + +import ( + "bufio" + "bytes" + "context" + "fmt" + "io" + "os" + "os/signal" + "path/filepath" + "runtime" + "strconv" + "strings" + "time" + + "github.com/onsi/ginkgo/v2/types" +) + +var _SOURCE_CACHE = map[string][]string{} + +type ProgressSignalRegistrar func(func()) context.CancelFunc + +func RegisterForProgressSignal(handler func()) context.CancelFunc { + signalChannel := make(chan os.Signal, 1) + if len(PROGRESS_SIGNALS) > 0 { + signal.Notify(signalChannel, PROGRESS_SIGNALS...) + } + ctx, cancel := context.WithCancel(context.Background()) + go func() { + for { + select { + case <-signalChannel: + handler() + case <-ctx.Done(): + signal.Stop(signalChannel) + return + } + } + }() + + return cancel +} + +type ProgressStepCursor struct { + Text string + CodeLocation types.CodeLocation + StartTime time.Time +} + +func NewProgressReport(isRunningInParallel bool, report types.SpecReport, currentNode Node, currentNodeStartTime time.Time, currentStep types.SpecEvent, gwOutput string, timelineLocation types.TimelineLocation, additionalReports []string, sourceRoots []string, includeAll bool) (types.ProgressReport, error) { + pr := types.ProgressReport{ + ParallelProcess: report.ParallelProcess, + RunningInParallel: isRunningInParallel, + ContainerHierarchyTexts: report.ContainerHierarchyTexts, + LeafNodeText: report.LeafNodeText, + LeafNodeLocation: report.LeafNodeLocation, + SpecStartTime: report.StartTime, + + CurrentNodeType: currentNode.NodeType, + CurrentNodeText: currentNode.Text, + CurrentNodeLocation: currentNode.CodeLocation, + CurrentNodeStartTime: currentNodeStartTime, + + CurrentStepText: currentStep.Message, + CurrentStepLocation: currentStep.CodeLocation, + CurrentStepStartTime: currentStep.TimelineLocation.Time, + + AdditionalReports: additionalReports, + + CapturedGinkgoWriterOutput: gwOutput, + TimelineLocation: timelineLocation, + } + + goroutines, err := extractRunningGoroutines() + if err != nil { + return pr, err + } + pr.Goroutines = goroutines + + // now we want to try to find goroutines of interest. these will be goroutines that have any function calls with code in packagesOfInterest: + packagesOfInterest := map[string]bool{} + packageFromFilename := func(filename string) string { + return filepath.Dir(filename) + } + addPackageFor := func(filename string) { + if filename != "" { + packagesOfInterest[packageFromFilename(filename)] = true + } + } + isPackageOfInterest := func(filename string) bool { + stackPackage := packageFromFilename(filename) + for packageOfInterest := range packagesOfInterest { + if strings.HasPrefix(stackPackage, packageOfInterest) { + return true + } + } + return false + } + for _, location := range report.ContainerHierarchyLocations { + addPackageFor(location.FileName) + } + addPackageFor(report.LeafNodeLocation.FileName) + addPackageFor(currentNode.CodeLocation.FileName) + addPackageFor(currentStep.CodeLocation.FileName) + + //First, we find the SpecGoroutine - this will be the goroutine that includes `runNode` + specGoRoutineIdx := -1 + runNodeFunctionCallIdx := -1 +OUTER: + for goroutineIdx, goroutine := range pr.Goroutines { + for functionCallIdx, functionCall := range goroutine.Stack { + if strings.Contains(functionCall.Function, "ginkgo/v2/internal.(*Suite).runNode.func") { + specGoRoutineIdx = goroutineIdx + runNodeFunctionCallIdx = functionCallIdx + break OUTER + } + } + } + + //Now, we find the first non-Ginkgo function call + if specGoRoutineIdx > -1 { + for runNodeFunctionCallIdx >= 0 { + fn := goroutines[specGoRoutineIdx].Stack[runNodeFunctionCallIdx].Function + file := goroutines[specGoRoutineIdx].Stack[runNodeFunctionCallIdx].Filename + // these are all things that could potentially happen from within ginkgo + if strings.Contains(fn, "ginkgo/v2/internal") || strings.Contains(fn, "reflect.Value") || strings.Contains(file, "ginkgo/table_dsl") || strings.Contains(file, "ginkgo/core_dsl") { + runNodeFunctionCallIdx-- + continue + } + if strings.Contains(goroutines[specGoRoutineIdx].Stack[runNodeFunctionCallIdx].Function, "ginkgo/table_dsl") { + + } + //found it! lets add its package of interest + addPackageFor(goroutines[specGoRoutineIdx].Stack[runNodeFunctionCallIdx].Filename) + break + } + } + + ginkgoEntryPointIdx := -1 +OUTER_GINKGO_ENTRY_POINT: + for goroutineIdx, goroutine := range pr.Goroutines { + for _, functionCall := range goroutine.Stack { + if strings.Contains(functionCall.Function, "ginkgo/v2.RunSpecs") { + ginkgoEntryPointIdx = goroutineIdx + break OUTER_GINKGO_ENTRY_POINT + } + } + } + + // Now we go through all goroutines and highlight any lines with packages in `packagesOfInterest` + // Any goroutines with highlighted lines end up in the HighlightGoRoutines + for goroutineIdx, goroutine := range pr.Goroutines { + if goroutineIdx == ginkgoEntryPointIdx { + continue + } + if goroutineIdx == specGoRoutineIdx { + pr.Goroutines[goroutineIdx].IsSpecGoroutine = true + } + for functionCallIdx, functionCall := range goroutine.Stack { + if isPackageOfInterest(functionCall.Filename) { + goroutine.Stack[functionCallIdx].Highlight = true + goroutine.Stack[functionCallIdx].Source, goroutine.Stack[functionCallIdx].SourceHighlight = fetchSource(functionCall.Filename, functionCall.Line, 2, sourceRoots) + } + } + } + + if !includeAll { + goroutines := []types.Goroutine{pr.SpecGoroutine()} + goroutines = append(goroutines, pr.HighlightedGoroutines()...) + pr.Goroutines = goroutines + } + + return pr, nil +} + +func extractRunningGoroutines() ([]types.Goroutine, error) { + var stack []byte + for size := 64 * 1024; ; size *= 2 { + stack = make([]byte, size) + if n := runtime.Stack(stack, true); n < size { + stack = stack[:n] + break + } + } + r := bufio.NewReader(bytes.NewReader(stack)) + out := []types.Goroutine{} + idx := -1 + for { + line, err := r.ReadString('\n') + if err == io.EOF { + break + } + + line = strings.TrimSuffix(line, "\n") + + //skip blank lines + if line == "" { + continue + } + + //parse headers for new goroutine frames + if strings.HasPrefix(line, "goroutine") { + out = append(out, types.Goroutine{}) + idx = len(out) - 1 + + line = strings.TrimPrefix(line, "goroutine ") + line = strings.TrimSuffix(line, ":") + fields := strings.SplitN(line, " ", 2) + if len(fields) != 2 { + return nil, types.GinkgoErrors.FailedToParseStackTrace(fmt.Sprintf("Invalid goroutine frame header: %s", line)) + } + out[idx].ID, err = strconv.ParseUint(fields[0], 10, 64) + if err != nil { + return nil, types.GinkgoErrors.FailedToParseStackTrace(fmt.Sprintf("Invalid goroutine ID: %s", fields[1])) + } + + out[idx].State = strings.TrimSuffix(strings.TrimPrefix(fields[1], "["), "]") + continue + } + + //if we are here we must be at a function call entry in the stack + functionCall := types.FunctionCall{ + Function: strings.TrimPrefix(line, "created by "), // no need to track 'created by' + } + + line, err = r.ReadString('\n') + line = strings.TrimSuffix(line, "\n") + if err == io.EOF { + return nil, types.GinkgoErrors.FailedToParseStackTrace(fmt.Sprintf("Invalid function call: %s -- missing file name and line number", functionCall.Function)) + } + line = strings.TrimLeft(line, " \t") + delimiterIdx := strings.LastIndex(line, ":") + if delimiterIdx == -1 { + return nil, types.GinkgoErrors.FailedToParseStackTrace(fmt.Sprintf("Invalid filename and line number: %s", line)) + } + functionCall.Filename = line[:delimiterIdx] + line = strings.Split(line[delimiterIdx+1:], " ")[0] + lineNumber, err := strconv.ParseInt(line, 10, 64) + functionCall.Line = int(lineNumber) + if err != nil { + return nil, types.GinkgoErrors.FailedToParseStackTrace(fmt.Sprintf("Invalid function call line number: %s\n%s", line, err.Error())) + } + out[idx].Stack = append(out[idx].Stack, functionCall) + } + + return out, nil +} + +func fetchSource(filename string, lineNumber int, span int, configuredSourceRoots []string) ([]string, int) { + if filename == "" { + return []string{}, 0 + } + + var lines []string + var ok bool + if lines, ok = _SOURCE_CACHE[filename]; !ok { + sourceRoots := []string{""} + sourceRoots = append(sourceRoots, configuredSourceRoots...) + var data []byte + var err error + var found bool + for _, root := range sourceRoots { + data, err = os.ReadFile(filepath.Join(root, filename)) + if err == nil { + found = true + break + } + } + if !found { + return []string{}, 0 + } + lines = strings.Split(string(data), "\n") + _SOURCE_CACHE[filename] = lines + } + + startIndex := lineNumber - span - 1 + endIndex := startIndex + span + span + 1 + if startIndex < 0 { + startIndex = 0 + } + if endIndex > len(lines) { + endIndex = len(lines) + } + highlightIndex := lineNumber - 1 - startIndex + return lines[startIndex:endIndex], highlightIndex +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/progress_report_bsd.go b/vendor/github.com/onsi/ginkgo/v2/internal/progress_report_bsd.go new file mode 100644 index 000000000..61e0ed306 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/progress_report_bsd.go @@ -0,0 +1,11 @@ +//go:build freebsd || openbsd || netbsd || darwin || dragonfly +// +build freebsd openbsd netbsd darwin dragonfly + +package internal + +import ( + "os" + "syscall" +) + +var PROGRESS_SIGNALS = []os.Signal{syscall.SIGINFO, syscall.SIGUSR1} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/progress_report_unix.go b/vendor/github.com/onsi/ginkgo/v2/internal/progress_report_unix.go new file mode 100644 index 000000000..ad30de459 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/progress_report_unix.go @@ -0,0 +1,11 @@ +//go:build linux || solaris +// +build linux solaris + +package internal + +import ( + "os" + "syscall" +) + +var PROGRESS_SIGNALS = []os.Signal{syscall.SIGUSR1} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/progress_report_wasm.go b/vendor/github.com/onsi/ginkgo/v2/internal/progress_report_wasm.go new file mode 100644 index 000000000..8c53fe0ad --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/progress_report_wasm.go @@ -0,0 +1,10 @@ +//go:build wasm + +package internal + +import ( + "os" + "syscall" +) + +var PROGRESS_SIGNALS = []os.Signal{syscall.SIGUSR1} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/progress_report_win.go b/vendor/github.com/onsi/ginkgo/v2/internal/progress_report_win.go new file mode 100644 index 000000000..0eca2516a --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/progress_report_win.go @@ -0,0 +1,8 @@ +//go:build windows +// +build windows + +package internal + +import "os" + +var PROGRESS_SIGNALS = []os.Signal{} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/progress_reporter_manager.go b/vendor/github.com/onsi/ginkgo/v2/internal/progress_reporter_manager.go new file mode 100644 index 000000000..2c6e260f7 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/progress_reporter_manager.go @@ -0,0 +1,79 @@ +package internal + +import ( + "context" + "sort" + "strings" + "sync" + + "github.com/onsi/ginkgo/v2/types" +) + +type ProgressReporterManager struct { + lock *sync.Mutex + progressReporters map[int]func() string + prCounter int +} + +func NewProgressReporterManager() *ProgressReporterManager { + return &ProgressReporterManager{ + progressReporters: map[int]func() string{}, + lock: &sync.Mutex{}, + } +} + +func (prm *ProgressReporterManager) AttachProgressReporter(reporter func() string) func() { + prm.lock.Lock() + defer prm.lock.Unlock() + prm.prCounter += 1 + prCounter := prm.prCounter + prm.progressReporters[prCounter] = reporter + + return func() { + prm.lock.Lock() + defer prm.lock.Unlock() + delete(prm.progressReporters, prCounter) + } +} + +func (prm *ProgressReporterManager) QueryProgressReporters(ctx context.Context, failer *Failer) []string { + prm.lock.Lock() + keys := []int{} + for key := range prm.progressReporters { + keys = append(keys, key) + } + sort.Ints(keys) + reporters := []func() string{} + for _, key := range keys { + reporters = append(reporters, prm.progressReporters[key]) + } + prm.lock.Unlock() + + if len(reporters) == 0 { + return nil + } + out := []string{} + for _, reporter := range reporters { + reportC := make(chan string, 1) + go func() { + defer func() { + e := recover() + if e != nil { + failer.Panic(types.NewCodeLocationWithStackTrace(1), e) + reportC <- "failed to query attached progress reporter" + } + }() + reportC <- reporter() + }() + var report string + select { + case report = <-reportC: + case <-ctx.Done(): + return out + } + if strings.TrimSpace(report) != "" { + out = append(out, report) + } + } + return out +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/report_entry.go b/vendor/github.com/onsi/ginkgo/v2/internal/report_entry.go new file mode 100644 index 000000000..cc351a39b --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/report_entry.go @@ -0,0 +1,39 @@ +package internal + +import ( + "time" + + "github.com/onsi/ginkgo/v2/types" +) + +type ReportEntry = types.ReportEntry + +func NewReportEntry(name string, cl types.CodeLocation, args ...interface{}) (ReportEntry, error) { + out := ReportEntry{ + Visibility: types.ReportEntryVisibilityAlways, + Name: name, + Location: cl, + Time: time.Now(), + } + var didSetValue = false + for _, arg := range args { + switch x := arg.(type) { + case types.ReportEntryVisibility: + out.Visibility = x + case types.CodeLocation: + out.Location = x + case Offset: + out.Location = types.NewCodeLocation(2 + int(x)) + case time.Time: + out.Time = x + default: + if didSetValue { + return ReportEntry{}, types.GinkgoErrors.TooManyReportEntryValues(out.Location, arg) + } + out.Value = types.WrapEntryValue(arg) + didSetValue = true + } + } + + return out, nil +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/spec.go b/vendor/github.com/onsi/ginkgo/v2/internal/spec.go new file mode 100644 index 000000000..7c4ee5bb7 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/spec.go @@ -0,0 +1,87 @@ +package internal + +import ( + "strings" + "time" + + "github.com/onsi/ginkgo/v2/types" +) + +type Spec struct { + Nodes Nodes + Skip bool +} + +func (s Spec) SubjectID() uint { + return s.Nodes.FirstNodeWithType(types.NodeTypeIt).ID +} + +func (s Spec) Text() string { + texts := []string{} + for i := range s.Nodes { + if s.Nodes[i].Text != "" { + texts = append(texts, s.Nodes[i].Text) + } + } + return strings.Join(texts, " ") +} + +func (s Spec) FirstNodeWithType(nodeTypes types.NodeType) Node { + return s.Nodes.FirstNodeWithType(nodeTypes) +} + +func (s Spec) FlakeAttempts() int { + flakeAttempts := 0 + for i := range s.Nodes { + if s.Nodes[i].FlakeAttempts > 0 { + flakeAttempts = s.Nodes[i].FlakeAttempts + } + } + + return flakeAttempts +} + +func (s Spec) MustPassRepeatedly() int { + mustPassRepeatedly := 0 + for i := range s.Nodes { + if s.Nodes[i].MustPassRepeatedly > 0 { + mustPassRepeatedly = s.Nodes[i].MustPassRepeatedly + } + } + + return mustPassRepeatedly +} + +func (s Spec) SpecTimeout() time.Duration { + return s.FirstNodeWithType(types.NodeTypeIt).SpecTimeout +} + +type Specs []Spec + +func (s Specs) HasAnySpecsMarkedPending() bool { + for i := range s { + if s[i].Nodes.HasNodeMarkedPending() { + return true + } + } + + return false +} + +func (s Specs) CountWithoutSkip() int { + n := 0 + for i := range s { + if !s[i].Skip { + n += 1 + } + } + return n +} + +func (s Specs) AtIndices(indices SpecIndices) Specs { + out := make(Specs, len(indices)) + for i, idx := range indices { + out[i] = s[idx] + } + return out +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/spec_context.go b/vendor/github.com/onsi/ginkgo/v2/internal/spec_context.go new file mode 100644 index 000000000..2d2ea2fc3 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/spec_context.go @@ -0,0 +1,47 @@ +package internal + +import ( + "context" + + "github.com/onsi/ginkgo/v2/types" +) + +type SpecContext interface { + context.Context + + SpecReport() types.SpecReport + AttachProgressReporter(func() string) func() +} + +type specContext struct { + context.Context + *ProgressReporterManager + + cancel context.CancelCauseFunc + + suite *Suite +} + +/* +SpecContext includes a reference to `suite` and embeds itself in itself as a "GINKGO_SPEC_CONTEXT" value. This allows users to create child Contexts without having down-stream consumers (e.g. Gomega) lose access to the SpecContext and its methods. This allows us to build extensions on top of Ginkgo that simply take an all-encompassing context. + +Note that while SpecContext is used to enforce deadlines by Ginkgo it is not configured as a context.WithDeadline. Instead, Ginkgo owns responsibility for cancelling the context when the deadline elapses. + +This is because Ginkgo needs finer control over when the context is canceled. Specifically, Ginkgo needs to generate a ProgressReport before it cancels the context to ensure progress is captured where the spec is currently running. The only way to avoid a race here is to manually control the cancellation. +*/ +func NewSpecContext(suite *Suite) *specContext { + ctx, cancel := context.WithCancelCause(context.Background()) + sc := &specContext{ + cancel: cancel, + suite: suite, + ProgressReporterManager: NewProgressReporterManager(), + } + ctx = context.WithValue(ctx, "GINKGO_SPEC_CONTEXT", sc) //yes, yes, the go docs say don't use a string for a key... but we'd rather avoid a circular dependency between Gomega and Ginkgo + sc.Context = ctx //thank goodness for garbage collectors that can handle circular dependencies + + return sc +} + +func (sc *specContext) SpecReport() types.SpecReport { + return sc.suite.CurrentSpecReport() +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/spec_patch.go b/vendor/github.com/onsi/ginkgo/v2/internal/spec_patch.go new file mode 100644 index 000000000..2d0bcc914 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/spec_patch.go @@ -0,0 +1,22 @@ +package internal + +import ( + "github.com/onsi/ginkgo/v2/types" +) + +func (s Spec) CodeLocations() []types.CodeLocation { + return s.Nodes.CodeLocations() +} + +func (s Spec) AppendText(text string) { + s.Nodes[len(s.Nodes)-1].Text += text +} + +func (s Spec) Labels() []string { + var labels []string + for _, n := range s.Nodes { + labels = append(labels, n.Labels...) + } + + return labels +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/suite.go b/vendor/github.com/onsi/ginkgo/v2/internal/suite.go new file mode 100644 index 000000000..12e50b8a9 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/suite.go @@ -0,0 +1,1053 @@ +package internal + +import ( + "fmt" + "sync" + "time" + + "github.com/onsi/ginkgo/v2/internal/interrupt_handler" + "github.com/onsi/ginkgo/v2/internal/parallel_support" + "github.com/onsi/ginkgo/v2/reporters" + "github.com/onsi/ginkgo/v2/types" + "golang.org/x/net/context" +) + +type Phase uint + +const ( + PhaseBuildTopLevel Phase = iota + PhaseBuildTree + PhaseRun +) + +var PROGRESS_REPORTER_DEADLING = 5 * time.Second + +type Suite struct { + tree *TreeNode + topLevelContainers Nodes + + *ProgressReporterManager + + phase Phase + + suiteNodes Nodes + cleanupNodes Nodes + + failer *Failer + reporter reporters.Reporter + writer WriterInterface + outputInterceptor OutputInterceptor + interruptHandler interrupt_handler.InterruptHandlerInterface + config types.SuiteConfig + deadline time.Time + + skipAll bool + report types.Report + currentSpecReport types.SpecReport + currentNode Node + currentNodeStartTime time.Time + + currentSpecContext *specContext + + currentByStep types.SpecEvent + timelineOrder int + + /* + We don't need to lock around all operations. Just those that *could* happen concurrently. + + Suite, generally, only runs one node at a time - and so the possibiity for races is small. In fact, the presence of a race usually indicates the user has launched a goroutine that has leaked past the node it was launched in. + + However, there are some operations that can happen concurrently: + + - AddReportEntry and CurrentSpecReport can be accessed at any point by the user - including in goroutines that outlive the node intentionally (see, e.g. #1020). They both form a self-contained read-write pair and so a lock in them is sufficent. + - generateProgressReport can be invoked at any point in time by an interrupt or a progres poll. Moreover, it requires access to currentSpecReport, currentNode, currentNodeStartTime, and progressStepCursor. To make it threadsafe we need to lock around generateProgressReport when we read those variables _and_ everywhere those variables are *written*. In general we don't need to worry about all possible field writes to these variables as what `generateProgressReport` does with these variables is fairly selective (hence the name of the lock). Specifically, we dont' need to lock around state and failure message changes on `currentSpecReport` - just the setting of the variable itself. + */ + selectiveLock *sync.Mutex + + client parallel_support.Client + + annotateFn AnnotateFunc +} + +func NewSuite() *Suite { + return &Suite{ + tree: &TreeNode{}, + phase: PhaseBuildTopLevel, + ProgressReporterManager: NewProgressReporterManager(), + + selectiveLock: &sync.Mutex{}, + } +} + +func (suite *Suite) Clone() (*Suite, error) { + if suite.phase != PhaseBuildTopLevel { + return nil, fmt.Errorf("cannot clone suite after tree has been built") + } + return &Suite{ + tree: &TreeNode{}, + phase: PhaseBuildTopLevel, + ProgressReporterManager: NewProgressReporterManager(), + topLevelContainers: suite.topLevelContainers.Clone(), + suiteNodes: suite.suiteNodes.Clone(), + selectiveLock: &sync.Mutex{}, + }, nil +} + +func (suite *Suite) BuildTree() error { + // During PhaseBuildTopLevel, the top level containers are stored in suite.topLevelCotainers and entered + // We now enter PhaseBuildTree where these top level containers are entered and added to the spec tree + suite.phase = PhaseBuildTree + for _, topLevelContainer := range suite.topLevelContainers { + err := suite.PushNode(topLevelContainer) + if err != nil { + return err + } + } + return nil +} + +func (suite *Suite) Run(description string, suiteLabels Labels, suitePath string, failer *Failer, reporter reporters.Reporter, writer WriterInterface, outputInterceptor OutputInterceptor, interruptHandler interrupt_handler.InterruptHandlerInterface, client parallel_support.Client, progressSignalRegistrar ProgressSignalRegistrar, suiteConfig types.SuiteConfig) (bool, bool) { + if suite.phase != PhaseBuildTree { + panic("cannot run before building the tree = call suite.BuildTree() first") + } + ApplyNestedFocusPolicyToTree(suite.tree) + specs := GenerateSpecsFromTreeRoot(suite.tree) + if suite.annotateFn != nil { + for _, spec := range specs { + suite.annotateFn(spec.Text(), spec) + } + } + specs, hasProgrammaticFocus := ApplyFocusToSpecs(specs, description, suiteLabels, suiteConfig) + + suite.phase = PhaseRun + suite.client = client + suite.failer = failer + suite.reporter = reporter + suite.writer = writer + suite.outputInterceptor = outputInterceptor + suite.interruptHandler = interruptHandler + suite.config = suiteConfig + + if suite.config.Timeout > 0 { + suite.deadline = time.Now().Add(suite.config.Timeout) + } + + cancelProgressHandler := progressSignalRegistrar(suite.handleProgressSignal) + + success := suite.runSpecs(description, suiteLabels, suitePath, hasProgrammaticFocus, specs) + + cancelProgressHandler() + + return success, hasProgrammaticFocus +} + +func (suite *Suite) InRunPhase() bool { + return suite.phase == PhaseRun +} + +/* + Tree Construction methods + + PushNode is used during PhaseBuildTopLevel and PhaseBuildTree +*/ + +func (suite *Suite) PushNode(node Node) error { + if node.NodeType.Is(types.NodeTypeCleanupInvalid | types.NodeTypeCleanupAfterEach | types.NodeTypeCleanupAfterAll | types.NodeTypeCleanupAfterSuite) { + return suite.pushCleanupNode(node) + } + + if node.NodeType.Is(types.NodeTypeBeforeSuite | types.NodeTypeAfterSuite | types.NodeTypeSynchronizedBeforeSuite | types.NodeTypeSynchronizedAfterSuite | types.NodeTypeBeforeSuite | types.NodeTypeReportBeforeSuite | types.NodeTypeReportAfterSuite) { + return suite.pushSuiteNode(node) + } + + if suite.phase == PhaseRun { + return types.GinkgoErrors.PushingNodeInRunPhase(node.NodeType, node.CodeLocation) + } + + if node.MarkedSerial { + firstOrderedNode := suite.tree.AncestorNodeChain().FirstNodeMarkedOrdered() + if !firstOrderedNode.IsZero() && !firstOrderedNode.MarkedSerial { + return types.GinkgoErrors.InvalidSerialNodeInNonSerialOrderedContainer(node.CodeLocation, node.NodeType) + } + } + + if node.NodeType.Is(types.NodeTypeBeforeAll | types.NodeTypeAfterAll) { + firstOrderedNode := suite.tree.AncestorNodeChain().FirstNodeMarkedOrdered() + if firstOrderedNode.IsZero() { + return types.GinkgoErrors.SetupNodeNotInOrderedContainer(node.CodeLocation, node.NodeType) + } + } + + if node.MarkedContinueOnFailure { + firstOrderedNode := suite.tree.AncestorNodeChain().FirstNodeMarkedOrdered() + if !firstOrderedNode.IsZero() { + return types.GinkgoErrors.InvalidContinueOnFailureDecoration(node.CodeLocation) + } + } + + if node.NodeType == types.NodeTypeContainer { + // During PhaseBuildTopLevel we only track the top level containers without entering them + // We only enter the top level container nodes during PhaseBuildTree + // + // This ensures the tree is only constructed after `go spec` has called `flag.Parse()` and gives + // the user an opportunity to load suiteConfiguration information in the `TestX` go spec hook just before `RunSpecs` + // is invoked. This makes the lifecycle easier to reason about and solves issues like #693. + if suite.phase == PhaseBuildTopLevel { + suite.topLevelContainers = append(suite.topLevelContainers, node) + return nil + } + if suite.phase == PhaseBuildTree { + parentTree := suite.tree + suite.tree = &TreeNode{Node: node} + parentTree.AppendChild(suite.tree) + err := func() (err error) { + defer func() { + if e := recover(); e != nil { + err = types.GinkgoErrors.CaughtPanicDuringABuildPhase(e, node.CodeLocation) + } + }() + node.Body(nil) + return err + }() + suite.tree = parentTree + return err + } + } else { + suite.tree.AppendChild(&TreeNode{Node: node}) + return nil + } + + return nil +} + +func (suite *Suite) pushSuiteNode(node Node) error { + if suite.phase == PhaseBuildTree { + return types.GinkgoErrors.SuiteNodeInNestedContext(node.NodeType, node.CodeLocation) + } + + if suite.phase == PhaseRun { + return types.GinkgoErrors.SuiteNodeDuringRunPhase(node.NodeType, node.CodeLocation) + } + + switch node.NodeType { + case types.NodeTypeBeforeSuite, types.NodeTypeSynchronizedBeforeSuite: + existingBefores := suite.suiteNodes.WithType(types.NodeTypeBeforeSuite | types.NodeTypeSynchronizedBeforeSuite) + if len(existingBefores) > 0 { + return types.GinkgoErrors.MultipleBeforeSuiteNodes(node.NodeType, node.CodeLocation, existingBefores[0].NodeType, existingBefores[0].CodeLocation) + } + case types.NodeTypeAfterSuite, types.NodeTypeSynchronizedAfterSuite: + existingAfters := suite.suiteNodes.WithType(types.NodeTypeAfterSuite | types.NodeTypeSynchronizedAfterSuite) + if len(existingAfters) > 0 { + return types.GinkgoErrors.MultipleAfterSuiteNodes(node.NodeType, node.CodeLocation, existingAfters[0].NodeType, existingAfters[0].CodeLocation) + } + } + + suite.suiteNodes = append(suite.suiteNodes, node) + return nil +} + +func (suite *Suite) pushCleanupNode(node Node) error { + if suite.phase != PhaseRun || suite.currentNode.IsZero() { + return types.GinkgoErrors.PushingCleanupNodeDuringTreeConstruction(node.CodeLocation) + } + + switch suite.currentNode.NodeType { + case types.NodeTypeBeforeSuite, types.NodeTypeSynchronizedBeforeSuite, types.NodeTypeAfterSuite, types.NodeTypeSynchronizedAfterSuite: + node.NodeType = types.NodeTypeCleanupAfterSuite + case types.NodeTypeBeforeAll, types.NodeTypeAfterAll: + node.NodeType = types.NodeTypeCleanupAfterAll + case types.NodeTypeReportBeforeEach, types.NodeTypeReportAfterEach, types.NodeTypeReportBeforeSuite, types.NodeTypeReportAfterSuite: + return types.GinkgoErrors.PushingCleanupInReportingNode(node.CodeLocation, suite.currentNode.NodeType) + case types.NodeTypeCleanupInvalid, types.NodeTypeCleanupAfterEach, types.NodeTypeCleanupAfterAll, types.NodeTypeCleanupAfterSuite: + return types.GinkgoErrors.PushingCleanupInCleanupNode(node.CodeLocation) + default: + node.NodeType = types.NodeTypeCleanupAfterEach + } + + node.NodeIDWhereCleanupWasGenerated = suite.currentNode.ID + node.NestingLevel = suite.currentNode.NestingLevel + suite.selectiveLock.Lock() + suite.cleanupNodes = append(suite.cleanupNodes, node) + suite.selectiveLock.Unlock() + + return nil +} + +func (suite *Suite) generateTimelineLocation() types.TimelineLocation { + suite.selectiveLock.Lock() + defer suite.selectiveLock.Unlock() + + suite.timelineOrder += 1 + return types.TimelineLocation{ + Offset: len(suite.currentSpecReport.CapturedGinkgoWriterOutput) + suite.writer.Len(), + Order: suite.timelineOrder, + Time: time.Now(), + } +} + +func (suite *Suite) handleSpecEvent(event types.SpecEvent) types.SpecEvent { + event.TimelineLocation = suite.generateTimelineLocation() + suite.selectiveLock.Lock() + suite.currentSpecReport.SpecEvents = append(suite.currentSpecReport.SpecEvents, event) + suite.selectiveLock.Unlock() + suite.reporter.EmitSpecEvent(event) + return event +} + +func (suite *Suite) handleSpecEventEnd(eventType types.SpecEventType, startEvent types.SpecEvent) { + event := startEvent + event.SpecEventType = eventType + event.TimelineLocation = suite.generateTimelineLocation() + event.Duration = event.TimelineLocation.Time.Sub(startEvent.TimelineLocation.Time) + suite.selectiveLock.Lock() + suite.currentSpecReport.SpecEvents = append(suite.currentSpecReport.SpecEvents, event) + suite.selectiveLock.Unlock() + suite.reporter.EmitSpecEvent(event) +} + +func (suite *Suite) By(text string, callback ...func()) error { + cl := types.NewCodeLocation(2) + if suite.phase != PhaseRun { + return types.GinkgoErrors.ByNotDuringRunPhase(cl) + } + + event := suite.handleSpecEvent(types.SpecEvent{ + SpecEventType: types.SpecEventByStart, + CodeLocation: cl, + Message: text, + }) + suite.selectiveLock.Lock() + suite.currentByStep = event + suite.selectiveLock.Unlock() + + if len(callback) == 1 { + defer func() { + suite.selectiveLock.Lock() + suite.currentByStep = types.SpecEvent{} + suite.selectiveLock.Unlock() + suite.handleSpecEventEnd(types.SpecEventByEnd, event) + }() + callback[0]() + } else if len(callback) > 1 { + panic("just one callback per By, please") + } + return nil +} + +/* +Spec Running methods - used during PhaseRun +*/ +func (suite *Suite) CurrentSpecReport() types.SpecReport { + suite.selectiveLock.Lock() + defer suite.selectiveLock.Unlock() + report := suite.currentSpecReport + if suite.writer != nil { + report.CapturedGinkgoWriterOutput = string(suite.writer.Bytes()) + } + report.ReportEntries = make([]ReportEntry, len(report.ReportEntries)) + copy(report.ReportEntries, suite.currentSpecReport.ReportEntries) + return report +} + +// Only valid in the preview context. In general suite.report only includes +// the specs run by _this_ node - it is only at the end of the suite that +// the parallel reports are aggregated. However in the preview context we run +// in series and +func (suite *Suite) GetPreviewReport() types.Report { + suite.selectiveLock.Lock() + defer suite.selectiveLock.Unlock() + return suite.report +} + +func (suite *Suite) AddReportEntry(entry ReportEntry) error { + if suite.phase != PhaseRun { + return types.GinkgoErrors.AddReportEntryNotDuringRunPhase(entry.Location) + } + entry.TimelineLocation = suite.generateTimelineLocation() + entry.Time = entry.TimelineLocation.Time + suite.selectiveLock.Lock() + suite.currentSpecReport.ReportEntries = append(suite.currentSpecReport.ReportEntries, entry) + suite.selectiveLock.Unlock() + suite.reporter.EmitReportEntry(entry) + return nil +} + +func (suite *Suite) generateProgressReport(fullReport bool) types.ProgressReport { + timelineLocation := suite.generateTimelineLocation() + suite.selectiveLock.Lock() + defer suite.selectiveLock.Unlock() + + deadline, cancel := context.WithTimeout(context.Background(), PROGRESS_REPORTER_DEADLING) + defer cancel() + var additionalReports []string + if suite.currentSpecContext != nil { + additionalReports = append(additionalReports, suite.currentSpecContext.QueryProgressReporters(deadline, suite.failer)...) + } + additionalReports = append(additionalReports, suite.QueryProgressReporters(deadline, suite.failer)...) + gwOutput := suite.currentSpecReport.CapturedGinkgoWriterOutput + string(suite.writer.Bytes()) + pr, err := NewProgressReport(suite.isRunningInParallel(), suite.currentSpecReport, suite.currentNode, suite.currentNodeStartTime, suite.currentByStep, gwOutput, timelineLocation, additionalReports, suite.config.SourceRoots, fullReport) + + if err != nil { + fmt.Printf("{{red}}Failed to generate progress report:{{/}}\n%s\n", err.Error()) + } + return pr +} + +func (suite *Suite) handleProgressSignal() { + report := suite.generateProgressReport(false) + report.Message = "{{bold}}You've requested a progress report:{{/}}" + suite.emitProgressReport(report) +} + +func (suite *Suite) emitProgressReport(report types.ProgressReport) { + suite.selectiveLock.Lock() + suite.currentSpecReport.ProgressReports = append(suite.currentSpecReport.ProgressReports, report.WithoutCapturedGinkgoWriterOutput()) + suite.selectiveLock.Unlock() + + suite.reporter.EmitProgressReport(report) + if suite.isRunningInParallel() { + err := suite.client.PostEmitProgressReport(report) + if err != nil { + fmt.Println(err.Error()) + } + } +} + +func (suite *Suite) isRunningInParallel() bool { + return suite.config.ParallelTotal > 1 +} + +func (suite *Suite) processCurrentSpecReport() { + suite.reporter.DidRun(suite.currentSpecReport) + if suite.isRunningInParallel() { + suite.client.PostDidRun(suite.currentSpecReport) + } + suite.report.SpecReports = append(suite.report.SpecReports, suite.currentSpecReport) + + if suite.currentSpecReport.State.Is(types.SpecStateFailureStates) { + suite.report.SuiteSucceeded = false + if suite.config.FailFast || suite.currentSpecReport.State.Is(types.SpecStateAborted) { + suite.skipAll = true + if suite.isRunningInParallel() { + suite.client.PostAbort() + } + } + } +} + +func (suite *Suite) runSpecs(description string, suiteLabels Labels, suitePath string, hasProgrammaticFocus bool, specs Specs) bool { + numSpecsThatWillBeRun := specs.CountWithoutSkip() + + suite.report = types.Report{ + SuitePath: suitePath, + SuiteDescription: description, + SuiteLabels: suiteLabels, + SuiteConfig: suite.config, + SuiteHasProgrammaticFocus: hasProgrammaticFocus, + PreRunStats: types.PreRunStats{ + TotalSpecs: len(specs), + SpecsThatWillRun: numSpecsThatWillBeRun, + }, + StartTime: time.Now(), + } + + suite.reporter.SuiteWillBegin(suite.report) + if suite.isRunningInParallel() { + suite.client.PostSuiteWillBegin(suite.report) + } + + suite.report.SuiteSucceeded = true + + suite.runReportSuiteNodesIfNeedBe(types.NodeTypeReportBeforeSuite) + + ranBeforeSuite := suite.report.SuiteSucceeded + if suite.report.SuiteSucceeded { + suite.runBeforeSuite(numSpecsThatWillBeRun) + } + + if suite.report.SuiteSucceeded { + groupedSpecIndices, serialGroupedSpecIndices := OrderSpecs(specs, suite.config) + nextIndex := MakeIncrementingIndexCounter() + if suite.isRunningInParallel() { + nextIndex = suite.client.FetchNextCounter + } + + for { + groupedSpecIdx, err := nextIndex() + if err != nil { + suite.report.SpecialSuiteFailureReasons = append(suite.report.SpecialSuiteFailureReasons, fmt.Sprintf("Failed to iterate over specs:\n%s", err.Error())) + suite.report.SuiteSucceeded = false + break + } + + if groupedSpecIdx >= len(groupedSpecIndices) { + if suite.config.ParallelProcess == 1 && len(serialGroupedSpecIndices) > 0 { + groupedSpecIndices, serialGroupedSpecIndices, nextIndex = serialGroupedSpecIndices, GroupedSpecIndices{}, MakeIncrementingIndexCounter() + suite.client.BlockUntilNonprimaryProcsHaveFinished() + continue + } + break + } + + // the complexity for running groups of specs is very high because of Ordered containers and FlakeAttempts + // we encapsulate that complexity in the notion of a Group that can run + // Group is really just an extension of suite so it gets passed a suite and has access to all its internals + // Note that group is stateful and intended for single use! + newGroup(suite).run(specs.AtIndices(groupedSpecIndices[groupedSpecIdx])) + } + + if suite.config.FailOnPending && specs.HasAnySpecsMarkedPending() { + suite.report.SpecialSuiteFailureReasons = append(suite.report.SpecialSuiteFailureReasons, "Detected pending specs and --fail-on-pending is set") + suite.report.SuiteSucceeded = false + } + + if suite.config.FailOnEmpty && specs.CountWithoutSkip() == 0 { + suite.report.SpecialSuiteFailureReasons = append(suite.report.SpecialSuiteFailureReasons, "Detected no specs ran and --fail-on-empty is set") + suite.report.SuiteSucceeded = false + } + } + + if ranBeforeSuite { + suite.runAfterSuiteCleanup(numSpecsThatWillBeRun) + } + + interruptStatus := suite.interruptHandler.Status() + if interruptStatus.Interrupted() { + suite.report.SpecialSuiteFailureReasons = append(suite.report.SpecialSuiteFailureReasons, interruptStatus.Cause.String()) + suite.report.SuiteSucceeded = false + } + suite.report.EndTime = time.Now() + suite.report.RunTime = suite.report.EndTime.Sub(suite.report.StartTime) + if !suite.deadline.IsZero() && suite.report.EndTime.After(suite.deadline) { + suite.report.SpecialSuiteFailureReasons = append(suite.report.SpecialSuiteFailureReasons, "Suite Timeout Elapsed") + suite.report.SuiteSucceeded = false + } + + suite.runReportSuiteNodesIfNeedBe(types.NodeTypeReportAfterSuite) + suite.reporter.SuiteDidEnd(suite.report) + if suite.isRunningInParallel() { + suite.client.PostSuiteDidEnd(suite.report) + } + + return suite.report.SuiteSucceeded +} + +func (suite *Suite) runBeforeSuite(numSpecsThatWillBeRun int) { + beforeSuiteNode := suite.suiteNodes.FirstNodeWithType(types.NodeTypeBeforeSuite | types.NodeTypeSynchronizedBeforeSuite) + if !beforeSuiteNode.IsZero() && numSpecsThatWillBeRun > 0 { + suite.selectiveLock.Lock() + suite.currentSpecReport = types.SpecReport{ + LeafNodeType: beforeSuiteNode.NodeType, + LeafNodeLocation: beforeSuiteNode.CodeLocation, + ParallelProcess: suite.config.ParallelProcess, + RunningInParallel: suite.isRunningInParallel(), + } + suite.selectiveLock.Unlock() + + suite.reporter.WillRun(suite.currentSpecReport) + suite.runSuiteNode(beforeSuiteNode) + if suite.currentSpecReport.State.Is(types.SpecStateSkipped) { + suite.report.SpecialSuiteFailureReasons = append(suite.report.SpecialSuiteFailureReasons, "Suite skipped in BeforeSuite") + suite.skipAll = true + } + suite.processCurrentSpecReport() + } +} + +func (suite *Suite) runAfterSuiteCleanup(numSpecsThatWillBeRun int) { + afterSuiteNode := suite.suiteNodes.FirstNodeWithType(types.NodeTypeAfterSuite | types.NodeTypeSynchronizedAfterSuite) + if !afterSuiteNode.IsZero() && numSpecsThatWillBeRun > 0 { + suite.selectiveLock.Lock() + suite.currentSpecReport = types.SpecReport{ + LeafNodeType: afterSuiteNode.NodeType, + LeafNodeLocation: afterSuiteNode.CodeLocation, + ParallelProcess: suite.config.ParallelProcess, + RunningInParallel: suite.isRunningInParallel(), + } + suite.selectiveLock.Unlock() + + suite.reporter.WillRun(suite.currentSpecReport) + suite.runSuiteNode(afterSuiteNode) + suite.processCurrentSpecReport() + } + + afterSuiteCleanup := suite.cleanupNodes.WithType(types.NodeTypeCleanupAfterSuite).Reverse() + if len(afterSuiteCleanup) > 0 { + for _, cleanupNode := range afterSuiteCleanup { + suite.selectiveLock.Lock() + suite.currentSpecReport = types.SpecReport{ + LeafNodeType: cleanupNode.NodeType, + LeafNodeLocation: cleanupNode.CodeLocation, + ParallelProcess: suite.config.ParallelProcess, + RunningInParallel: suite.isRunningInParallel(), + } + suite.selectiveLock.Unlock() + + suite.reporter.WillRun(suite.currentSpecReport) + suite.runSuiteNode(cleanupNode) + suite.processCurrentSpecReport() + } + } +} + +func (suite *Suite) reportEach(spec Spec, nodeType types.NodeType) { + nodes := spec.Nodes.WithType(nodeType) + if nodeType == types.NodeTypeReportAfterEach { + nodes = nodes.SortedByDescendingNestingLevel() + } + if nodeType == types.NodeTypeReportBeforeEach { + nodes = nodes.SortedByAscendingNestingLevel() + } + if len(nodes) == 0 { + return + } + + for i := range nodes { + suite.writer.Truncate() + suite.outputInterceptor.StartInterceptingOutput() + report := suite.currentSpecReport + nodes[i].Body = func(ctx SpecContext) { + nodes[i].ReportEachBody(ctx, report) + } + state, failure := suite.runNode(nodes[i], time.Time{}, spec.Nodes.BestTextFor(nodes[i])) + + // If the spec is not in a failure state (i.e. it's Passed/Skipped/Pending) and the reporter has failed, override the state. + // Also, if the reporter is every aborted - always override the state to propagate the abort + if (!suite.currentSpecReport.State.Is(types.SpecStateFailureStates) && state.Is(types.SpecStateFailureStates)) || state.Is(types.SpecStateAborted) { + suite.currentSpecReport.State = state + suite.currentSpecReport.Failure = failure + } + suite.currentSpecReport.CapturedGinkgoWriterOutput += string(suite.writer.Bytes()) + suite.currentSpecReport.CapturedStdOutErr += suite.outputInterceptor.StopInterceptingAndReturnOutput() + } +} + +func (suite *Suite) runSuiteNode(node Node) { + if suite.config.DryRun { + suite.currentSpecReport.State = types.SpecStatePassed + return + } + + suite.writer.Truncate() + suite.outputInterceptor.StartInterceptingOutput() + suite.currentSpecReport.StartTime = time.Now() + + var err error + switch node.NodeType { + case types.NodeTypeBeforeSuite, types.NodeTypeAfterSuite: + suite.currentSpecReport.State, suite.currentSpecReport.Failure = suite.runNode(node, time.Time{}, "") + case types.NodeTypeCleanupAfterSuite: + if suite.config.ParallelTotal > 1 && suite.config.ParallelProcess == 1 { + err = suite.client.BlockUntilNonprimaryProcsHaveFinished() + } + if err == nil { + suite.currentSpecReport.State, suite.currentSpecReport.Failure = suite.runNode(node, time.Time{}, "") + } + case types.NodeTypeSynchronizedBeforeSuite: + var data []byte + var runAllProcs bool + if suite.config.ParallelProcess == 1 { + if suite.config.ParallelTotal > 1 { + suite.outputInterceptor.StopInterceptingAndReturnOutput() + suite.outputInterceptor.StartInterceptingOutputAndForwardTo(suite.client) + } + node.Body = func(c SpecContext) { data = node.SynchronizedBeforeSuiteProc1Body(c) } + node.HasContext = node.SynchronizedBeforeSuiteProc1BodyHasContext + suite.currentSpecReport.State, suite.currentSpecReport.Failure = suite.runNode(node, time.Time{}, "") + if suite.config.ParallelTotal > 1 { + suite.currentSpecReport.CapturedStdOutErr += suite.outputInterceptor.StopInterceptingAndReturnOutput() + suite.outputInterceptor.StartInterceptingOutput() + if suite.currentSpecReport.State.Is(types.SpecStatePassed) { + err = suite.client.PostSynchronizedBeforeSuiteCompleted(types.SpecStatePassed, data) + } else { + err = suite.client.PostSynchronizedBeforeSuiteCompleted(suite.currentSpecReport.State, nil) + } + } + runAllProcs = suite.currentSpecReport.State.Is(types.SpecStatePassed) && err == nil + } else { + var proc1State types.SpecState + proc1State, data, err = suite.client.BlockUntilSynchronizedBeforeSuiteData() + switch proc1State { + case types.SpecStatePassed: + runAllProcs = true + case types.SpecStateFailed, types.SpecStatePanicked, types.SpecStateTimedout: + err = types.GinkgoErrors.SynchronizedBeforeSuiteFailedOnProc1() + case types.SpecStateInterrupted, types.SpecStateAborted, types.SpecStateSkipped: + suite.currentSpecReport.State = proc1State + } + } + if runAllProcs { + node.Body = func(c SpecContext) { node.SynchronizedBeforeSuiteAllProcsBody(c, data) } + node.HasContext = node.SynchronizedBeforeSuiteAllProcsBodyHasContext + suite.currentSpecReport.State, suite.currentSpecReport.Failure = suite.runNode(node, time.Time{}, "") + } + case types.NodeTypeSynchronizedAfterSuite: + node.Body = node.SynchronizedAfterSuiteAllProcsBody + node.HasContext = node.SynchronizedAfterSuiteAllProcsBodyHasContext + suite.currentSpecReport.State, suite.currentSpecReport.Failure = suite.runNode(node, time.Time{}, "") + if suite.config.ParallelProcess == 1 { + if suite.config.ParallelTotal > 1 { + err = suite.client.BlockUntilNonprimaryProcsHaveFinished() + } + if err == nil { + if suite.config.ParallelTotal > 1 { + suite.currentSpecReport.CapturedStdOutErr += suite.outputInterceptor.StopInterceptingAndReturnOutput() + suite.outputInterceptor.StartInterceptingOutputAndForwardTo(suite.client) + } + + node.Body = node.SynchronizedAfterSuiteProc1Body + node.HasContext = node.SynchronizedAfterSuiteProc1BodyHasContext + state, failure := suite.runNode(node, time.Time{}, "") + if suite.currentSpecReport.State.Is(types.SpecStatePassed) { + suite.currentSpecReport.State, suite.currentSpecReport.Failure = state, failure + } + } + } + } + + if err != nil && !suite.currentSpecReport.State.Is(types.SpecStateFailureStates) { + suite.currentSpecReport.State, suite.currentSpecReport.Failure = types.SpecStateFailed, suite.failureForLeafNodeWithMessage(node, err.Error()) + suite.reporter.EmitFailure(suite.currentSpecReport.State, suite.currentSpecReport.Failure) + } + + suite.currentSpecReport.EndTime = time.Now() + suite.currentSpecReport.RunTime = suite.currentSpecReport.EndTime.Sub(suite.currentSpecReport.StartTime) + suite.currentSpecReport.CapturedGinkgoWriterOutput = string(suite.writer.Bytes()) + suite.currentSpecReport.CapturedStdOutErr += suite.outputInterceptor.StopInterceptingAndReturnOutput() +} + +func (suite *Suite) runReportSuiteNodesIfNeedBe(nodeType types.NodeType) { + nodes := suite.suiteNodes.WithType(nodeType) + // only run ReportAfterSuite on proc 1 + if nodeType.Is(types.NodeTypeReportAfterSuite) && suite.config.ParallelProcess != 1 { + return + } + // if we're running ReportBeforeSuite on proc > 1 - we should wait until proc 1 has completed + if nodeType.Is(types.NodeTypeReportBeforeSuite) && suite.config.ParallelProcess != 1 && len(nodes) > 0 { + state, err := suite.client.BlockUntilReportBeforeSuiteCompleted() + if err != nil || state.Is(types.SpecStateFailed) { + suite.report.SuiteSucceeded = false + } + return + } + + for _, node := range nodes { + suite.selectiveLock.Lock() + suite.currentSpecReport = types.SpecReport{ + LeafNodeType: node.NodeType, + LeafNodeLocation: node.CodeLocation, + LeafNodeText: node.Text, + ParallelProcess: suite.config.ParallelProcess, + RunningInParallel: suite.isRunningInParallel(), + } + suite.selectiveLock.Unlock() + + suite.reporter.WillRun(suite.currentSpecReport) + suite.runReportSuiteNode(node, suite.report) + suite.processCurrentSpecReport() + } + + // if we're running ReportBeforeSuite and we're running in parallel - we shuld tell the other procs that we're done + if nodeType.Is(types.NodeTypeReportBeforeSuite) && suite.isRunningInParallel() && len(nodes) > 0 { + if suite.report.SuiteSucceeded { + suite.client.PostReportBeforeSuiteCompleted(types.SpecStatePassed) + } else { + suite.client.PostReportBeforeSuiteCompleted(types.SpecStateFailed) + } + } +} + +func (suite *Suite) runReportSuiteNode(node Node, report types.Report) { + suite.writer.Truncate() + suite.outputInterceptor.StartInterceptingOutput() + suite.currentSpecReport.StartTime = time.Now() + + // if we're running a ReportAfterSuite in parallel (on proc 1) we (a) wait until other procs have exited and + // (b) always fetch the latest report as prior ReportAfterSuites will contribute to it + if node.NodeType.Is(types.NodeTypeReportAfterSuite) && suite.isRunningInParallel() { + aggregatedReport, err := suite.client.BlockUntilAggregatedNonprimaryProcsReport() + if err != nil { + suite.currentSpecReport.State, suite.currentSpecReport.Failure = types.SpecStateFailed, suite.failureForLeafNodeWithMessage(node, err.Error()) + suite.reporter.EmitFailure(suite.currentSpecReport.State, suite.currentSpecReport.Failure) + return + } + report = report.Add(aggregatedReport) + } + + node.Body = func(ctx SpecContext) { node.ReportSuiteBody(ctx, report) } + suite.currentSpecReport.State, suite.currentSpecReport.Failure = suite.runNode(node, time.Time{}, "") + + suite.currentSpecReport.EndTime = time.Now() + suite.currentSpecReport.RunTime = suite.currentSpecReport.EndTime.Sub(suite.currentSpecReport.StartTime) + suite.currentSpecReport.CapturedGinkgoWriterOutput = string(suite.writer.Bytes()) + suite.currentSpecReport.CapturedStdOutErr = suite.outputInterceptor.StopInterceptingAndReturnOutput() +} + +func (suite *Suite) runNode(node Node, specDeadline time.Time, text string) (types.SpecState, types.Failure) { + if node.NodeType.Is(types.NodeTypeCleanupAfterEach | types.NodeTypeCleanupAfterAll | types.NodeTypeCleanupAfterSuite) { + suite.cleanupNodes = suite.cleanupNodes.WithoutNode(node) + } + + interruptStatus := suite.interruptHandler.Status() + if interruptStatus.Level == interrupt_handler.InterruptLevelBailOut { + return types.SpecStateSkipped, types.Failure{} + } + if interruptStatus.Level == interrupt_handler.InterruptLevelReportOnly && !node.NodeType.Is(types.NodeTypesAllowedDuringReportInterrupt) { + return types.SpecStateSkipped, types.Failure{} + } + if interruptStatus.Level == interrupt_handler.InterruptLevelCleanupAndReport && !node.NodeType.Is(types.NodeTypesAllowedDuringReportInterrupt|types.NodeTypesAllowedDuringCleanupInterrupt) { + return types.SpecStateSkipped, types.Failure{} + } + + suite.selectiveLock.Lock() + suite.currentNode = node + suite.currentNodeStartTime = time.Now() + suite.currentByStep = types.SpecEvent{} + suite.selectiveLock.Unlock() + defer func() { + suite.selectiveLock.Lock() + suite.currentNode = Node{} + suite.currentNodeStartTime = time.Time{} + suite.selectiveLock.Unlock() + }() + + if text == "" { + text = "TOP-LEVEL" + } + event := suite.handleSpecEvent(types.SpecEvent{ + SpecEventType: types.SpecEventNodeStart, + NodeType: node.NodeType, + Message: text, + CodeLocation: node.CodeLocation, + }) + defer func() { + suite.handleSpecEventEnd(types.SpecEventNodeEnd, event) + }() + + var failure types.Failure + failure.FailureNodeType, failure.FailureNodeLocation = node.NodeType, node.CodeLocation + if node.NodeType.Is(types.NodeTypeIt) || node.NodeType.Is(types.NodeTypesForSuiteLevelNodes) { + failure.FailureNodeContext = types.FailureNodeIsLeafNode + } else if node.NestingLevel <= 0 { + failure.FailureNodeContext = types.FailureNodeAtTopLevel + } else { + failure.FailureNodeContext, failure.FailureNodeContainerIndex = types.FailureNodeInContainer, node.NestingLevel-1 + } + var outcome types.SpecState + + gracePeriod := suite.config.GracePeriod + if node.GracePeriod >= 0 { + gracePeriod = node.GracePeriod + } + + now := time.Now() + deadline := suite.deadline + timeoutInPlay := "suite" + if deadline.IsZero() || (!specDeadline.IsZero() && specDeadline.Before(deadline)) { + deadline = specDeadline + timeoutInPlay = "spec" + } + if node.NodeTimeout > 0 && (deadline.IsZero() || deadline.Sub(now) > node.NodeTimeout) { + deadline = now.Add(node.NodeTimeout) + timeoutInPlay = "node" + } + if (!deadline.IsZero() && deadline.Before(now)) || interruptStatus.Interrupted() { + // we're out of time already. let's wait for a NodeTimeout if we have it, or GracePeriod if we don't + if node.NodeTimeout > 0 { + deadline = now.Add(node.NodeTimeout) + timeoutInPlay = "node" + } else { + deadline = now.Add(gracePeriod) + timeoutInPlay = "grace period" + } + } + + if !node.HasContext { + // this maps onto the pre-context behavior: + // - an interrupted node exits immediately. with this, context-less nodes that are in a spec with a SpecTimeout and/or are interrupted by other means will simply exit immediately after the timeout/interrupt + // - clean up nodes have up to GracePeriod (formerly hard-coded at 30s) to complete before they are interrupted + gracePeriod = 0 + } + + sc := NewSpecContext(suite) + defer sc.cancel(fmt.Errorf("spec has finished")) + + suite.selectiveLock.Lock() + suite.currentSpecContext = sc + suite.selectiveLock.Unlock() + + var deadlineChannel <-chan time.Time + if !deadline.IsZero() { + deadlineChannel = time.After(deadline.Sub(now)) + } + var gracePeriodChannel <-chan time.Time + + outcomeC := make(chan types.SpecState) + failureC := make(chan types.Failure) + + go func() { + finished := false + defer func() { + if e := recover(); e != nil || !finished { + suite.failer.Panic(types.NewCodeLocationWithStackTrace(2), e) + } + + outcomeFromRun, failureFromRun := suite.failer.Drain() + failureFromRun.TimelineLocation = suite.generateTimelineLocation() + outcomeC <- outcomeFromRun + failureC <- failureFromRun + }() + + node.Body(sc) + finished = true + }() + + // progress polling timer and channel + var emitProgressNow <-chan time.Time + var progressPoller *time.Timer + var pollProgressAfter, pollProgressInterval = suite.config.PollProgressAfter, suite.config.PollProgressInterval + if node.PollProgressAfter >= 0 { + pollProgressAfter = node.PollProgressAfter + } + if node.PollProgressInterval >= 0 { + pollProgressInterval = node.PollProgressInterval + } + if pollProgressAfter > 0 { + progressPoller = time.NewTimer(pollProgressAfter) + emitProgressNow = progressPoller.C + defer progressPoller.Stop() + } + + // now we wait for an outcome, an interrupt, a timeout, or a progress poll + for { + select { + case outcomeFromRun := <-outcomeC: + failureFromRun := <-failureC + if outcome.Is(types.SpecStateInterrupted | types.SpecStateTimedout) { + // we've already been interrupted/timed out. we just managed to actually exit + // before the grace period elapsed + // if we have a failure message we attach it as an additional failure + if outcomeFromRun != types.SpecStatePassed { + additionalFailure := types.AdditionalFailure{ + State: outcomeFromRun, + Failure: failure, // we make a copy - this will include all the configuration set up above... + } + // ...and then we update the failure with the details from failureFromRun + additionalFailure.Failure.Location, additionalFailure.Failure.ForwardedPanic, additionalFailure.Failure.TimelineLocation = failureFromRun.Location, failureFromRun.ForwardedPanic, failureFromRun.TimelineLocation + additionalFailure.Failure.ProgressReport = types.ProgressReport{} + if outcome == types.SpecStateTimedout { + additionalFailure.Failure.Message = fmt.Sprintf("A %s timeout occurred and then the following failure was recorded in the timedout node before it exited:\n%s", timeoutInPlay, failureFromRun.Message) + } else { + additionalFailure.Failure.Message = fmt.Sprintf("An interrupt occurred and then the following failure was recorded in the interrupted node before it exited:\n%s", failureFromRun.Message) + } + suite.reporter.EmitFailure(additionalFailure.State, additionalFailure.Failure) + failure.AdditionalFailure = &additionalFailure + } + return outcome, failure + } + if outcomeFromRun.Is(types.SpecStatePassed) { + return outcomeFromRun, types.Failure{} + } else { + failure.Message, failure.Location, failure.ForwardedPanic, failure.TimelineLocation = failureFromRun.Message, failureFromRun.Location, failureFromRun.ForwardedPanic, failureFromRun.TimelineLocation + suite.reporter.EmitFailure(outcomeFromRun, failure) + return outcomeFromRun, failure + } + case <-gracePeriodChannel: + if node.HasContext && outcome.Is(types.SpecStateTimedout) { + report := suite.generateProgressReport(false) + report.Message = "{{bold}}{{orange}}A running node failed to exit in time{{/}}\nGinkgo is moving on but a node has timed out and failed to exit before its grace period elapsed. The node has now leaked and is running in the background.\nHere's a current progress report:" + suite.emitProgressReport(report) + } + return outcome, failure + case <-deadlineChannel: + // we're out of time - the outcome is a timeout and we capture the failure and progress report + outcome = types.SpecStateTimedout + failure.Message, failure.Location, failure.TimelineLocation = fmt.Sprintf("A %s timeout occurred", timeoutInPlay), node.CodeLocation, suite.generateTimelineLocation() + failure.ProgressReport = suite.generateProgressReport(false).WithoutCapturedGinkgoWriterOutput() + failure.ProgressReport.Message = fmt.Sprintf("{{bold}}This is the Progress Report generated when the %s timeout occurred:{{/}}", timeoutInPlay) + deadlineChannel = nil + suite.reporter.EmitFailure(outcome, failure) + + // tell the spec to stop. it's important we generate the progress report first to make sure we capture where + // the spec is actually stuck + sc.cancel(fmt.Errorf("%s timeout occurred", timeoutInPlay)) + // and now we wait for the grace period + gracePeriodChannel = time.After(gracePeriod) + case <-interruptStatus.Channel: + interruptStatus = suite.interruptHandler.Status() + // ignore interruption from other process if we are cleaning up or reporting + if interruptStatus.Cause == interrupt_handler.InterruptCauseAbortByOtherProcess && + node.NodeType.Is(types.NodeTypesAllowedDuringReportInterrupt|types.NodeTypesAllowedDuringCleanupInterrupt) { + continue + } + + deadlineChannel = nil // don't worry about deadlines, time's up now + + failureTimelineLocation := suite.generateTimelineLocation() + progressReport := suite.generateProgressReport(true) + + if outcome == types.SpecStateInvalid { + outcome = types.SpecStateInterrupted + failure.Message, failure.Location, failure.TimelineLocation = interruptStatus.Message(), node.CodeLocation, failureTimelineLocation + if interruptStatus.ShouldIncludeProgressReport() { + failure.ProgressReport = progressReport.WithoutCapturedGinkgoWriterOutput() + failure.ProgressReport.Message = "{{bold}}This is the Progress Report generated when the interrupt was received:{{/}}" + } + suite.reporter.EmitFailure(outcome, failure) + } + + progressReport = progressReport.WithoutOtherGoroutines() + sc.cancel(fmt.Errorf(interruptStatus.Message())) + + if interruptStatus.Level == interrupt_handler.InterruptLevelBailOut { + if interruptStatus.ShouldIncludeProgressReport() { + progressReport.Message = fmt.Sprintf("{{bold}}{{orange}}%s{{/}}\n{{bold}}{{red}}Final interrupt received{{/}}; Ginkgo will not run any cleanup or reporting nodes and will terminate as soon as possible.\nHere's a current progress report:", interruptStatus.Message()) + suite.emitProgressReport(progressReport) + } + return outcome, failure + } + if interruptStatus.ShouldIncludeProgressReport() { + if interruptStatus.Level == interrupt_handler.InterruptLevelCleanupAndReport { + progressReport.Message = fmt.Sprintf("{{bold}}{{orange}}%s{{/}}\nFirst interrupt received; Ginkgo will run any cleanup and reporting nodes but will skip all remaining specs. {{bold}}Interrupt again to skip cleanup{{/}}.\nHere's a current progress report:", interruptStatus.Message()) + } else if interruptStatus.Level == interrupt_handler.InterruptLevelReportOnly { + progressReport.Message = fmt.Sprintf("{{bold}}{{orange}}%s{{/}}\nSecond interrupt received; Ginkgo will run any reporting nodes but will skip all remaining specs and cleanup nodes. {{bold}}Interrupt again to bail immediately{{/}}.\nHere's a current progress report:", interruptStatus.Message()) + } + suite.emitProgressReport(progressReport) + } + + if gracePeriodChannel == nil { + // we haven't given grace yet... so let's + gracePeriodChannel = time.After(gracePeriod) + } else { + // we've already given grace. time's up. now. + return outcome, failure + } + case <-emitProgressNow: + report := suite.generateProgressReport(false) + report.Message = "{{bold}}Automatically polling progress:{{/}}" + suite.emitProgressReport(report) + if pollProgressInterval > 0 { + progressPoller.Reset(pollProgressInterval) + } + } + } +} + +// TODO: search for usages and consider if reporter.EmitFailure() is necessary +func (suite *Suite) failureForLeafNodeWithMessage(node Node, message string) types.Failure { + return types.Failure{ + Message: message, + Location: node.CodeLocation, + TimelineLocation: suite.generateTimelineLocation(), + FailureNodeContext: types.FailureNodeIsLeafNode, + FailureNodeType: node.NodeType, + FailureNodeLocation: node.CodeLocation, + } +} + +func max(a, b int) int { + if a > b { + return a + } + return b +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/suite_patch.go b/vendor/github.com/onsi/ginkgo/v2/internal/suite_patch.go new file mode 100644 index 000000000..29eae0283 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/suite_patch.go @@ -0,0 +1,71 @@ +package internal + +import ( + "time" + + "github.com/onsi/ginkgo/v2/internal/interrupt_handler" + "github.com/onsi/ginkgo/v2/reporters" + "github.com/onsi/ginkgo/v2/types" +) + +type AnnotateFunc func(testName string, test types.TestSpec) + +func (suite *Suite) SetAnnotateFn(fn AnnotateFunc) { + suite.annotateFn = fn +} + +func (suite *Suite) GetReport() types.Report { + return suite.report +} + +func (suite *Suite) WalkTests(fn AnnotateFunc) { + if suite.phase != PhaseBuildTree { + panic("cannot run before building the tree = call suite.BuildTree() first") + } + ApplyNestedFocusPolicyToTree(suite.tree) + specs := GenerateSpecsFromTreeRoot(suite.tree) + for _, spec := range specs { + fn(spec.Text(), spec) + } +} + +func (suite *Suite) InPhaseBuildTree() bool { + return suite.phase == PhaseBuildTree +} + +func (suite *Suite) ClearBeforeAndAfterSuiteNodes() { + // Don't build the tree multiple times, it results in multiple initing of tests + if !suite.InPhaseBuildTree() { + suite.BuildTree() + } + newNodes := Nodes{} + for _, node := range suite.suiteNodes { + if node.NodeType == types.NodeTypeBeforeSuite || node.NodeType == types.NodeTypeAfterSuite || node.NodeType == types.NodeTypeSynchronizedBeforeSuite || node.NodeType == types.NodeTypeSynchronizedAfterSuite { + continue + } + newNodes = append(newNodes, node) + } + suite.suiteNodes = newNodes +} + +func (suite *Suite) RunSpec(spec types.TestSpec, suiteLabels Labels, suiteDescription, suitePath string, failer *Failer, writer WriterInterface, suiteConfig types.SuiteConfig, reporterConfig types.ReporterConfig) (bool, bool) { + if suite.phase != PhaseBuildTree { + panic("cannot run before building the tree = call suite.BuildTree() first") + } + + suite.phase = PhaseRun + suite.client = nil + suite.failer = failer + suite.reporter = reporters.NewDefaultReporter(reporterConfig, writer) + suite.writer = writer + suite.outputInterceptor = NoopOutputInterceptor{} + if suite.config.Timeout > 0 { + suite.deadline = time.Now().Add(suiteConfig.Timeout) + } + suite.interruptHandler = interrupt_handler.NewInterruptHandler(nil) + suite.config = suiteConfig + + success := suite.runSpecs(suiteDescription, suiteLabels, suitePath, false, []Spec{spec.(Spec)}) + + return success, false +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/testingtproxy/testing_t_proxy.go b/vendor/github.com/onsi/ginkgo/v2/internal/testingtproxy/testing_t_proxy.go new file mode 100644 index 000000000..73e265565 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/testingtproxy/testing_t_proxy.go @@ -0,0 +1,210 @@ +package testingtproxy + +import ( + "fmt" + "io" + "os" + + "github.com/onsi/ginkgo/v2/formatter" + "github.com/onsi/ginkgo/v2/internal" + "github.com/onsi/ginkgo/v2/reporters" + "github.com/onsi/ginkgo/v2/types" +) + +type failFunc func(message string, callerSkip ...int) +type skipFunc func(message string, callerSkip ...int) +type cleanupFunc func(args ...any) +type reportFunc func() types.SpecReport +type addReportEntryFunc func(names string, args ...any) +type ginkgoWriterInterface interface { + io.Writer + + Print(a ...interface{}) + Printf(format string, a ...interface{}) + Println(a ...interface{}) +} +type ginkgoRecoverFunc func() +type attachProgressReporterFunc func(func() string) func() + +func New(writer ginkgoWriterInterface, fail failFunc, skip skipFunc, cleanup cleanupFunc, report reportFunc, addReportEntry addReportEntryFunc, ginkgoRecover ginkgoRecoverFunc, attachProgressReporter attachProgressReporterFunc, randomSeed int64, parallelProcess int, parallelTotal int, noColor bool, offset int) *ginkgoTestingTProxy { + return &ginkgoTestingTProxy{ + fail: fail, + offset: offset, + writer: writer, + skip: skip, + cleanup: cleanup, + report: report, + addReportEntry: addReportEntry, + ginkgoRecover: ginkgoRecover, + attachProgressReporter: attachProgressReporter, + randomSeed: randomSeed, + parallelProcess: parallelProcess, + parallelTotal: parallelTotal, + f: formatter.NewWithNoColorBool(noColor), + } +} + +type ginkgoTestingTProxy struct { + fail failFunc + skip skipFunc + cleanup cleanupFunc + report reportFunc + offset int + writer ginkgoWriterInterface + addReportEntry addReportEntryFunc + ginkgoRecover ginkgoRecoverFunc + attachProgressReporter attachProgressReporterFunc + randomSeed int64 + parallelProcess int + parallelTotal int + f formatter.Formatter +} + +// basic testing.T support + +func (t *ginkgoTestingTProxy) Cleanup(f func()) { + t.cleanup(f, internal.Offset(1)) +} + +func (t *ginkgoTestingTProxy) Setenv(key, value string) { + originalValue, exists := os.LookupEnv(key) + if exists { + t.cleanup(os.Setenv, key, originalValue, internal.Offset(1)) + } else { + t.cleanup(os.Unsetenv, key, internal.Offset(1)) + } + + err := os.Setenv(key, value) + if err != nil { + t.fail(fmt.Sprintf("Failed to set environment variable: %v", err), 1) + } +} + +func (t *ginkgoTestingTProxy) Error(args ...interface{}) { + t.fail(fmt.Sprintln(args...), t.offset) +} + +func (t *ginkgoTestingTProxy) Errorf(format string, args ...interface{}) { + t.fail(fmt.Sprintf(format, args...), t.offset) +} + +func (t *ginkgoTestingTProxy) Fail() { + t.fail("failed", t.offset) +} + +func (t *ginkgoTestingTProxy) FailNow() { + t.fail("failed", t.offset) +} + +func (t *ginkgoTestingTProxy) Failed() bool { + return t.report().Failed() +} + +func (t *ginkgoTestingTProxy) Fatal(args ...interface{}) { + t.fail(fmt.Sprintln(args...), t.offset) +} + +func (t *ginkgoTestingTProxy) Fatalf(format string, args ...interface{}) { + t.fail(fmt.Sprintf(format, args...), t.offset) +} + +func (t *ginkgoTestingTProxy) Helper() { + types.MarkAsHelper(1) +} + +func (t *ginkgoTestingTProxy) Log(args ...interface{}) { + fmt.Fprintln(t.writer, args...) +} + +func (t *ginkgoTestingTProxy) Logf(format string, args ...interface{}) { + t.Log(fmt.Sprintf(format, args...)) +} + +func (t *ginkgoTestingTProxy) Name() string { + return t.report().FullText() +} + +func (t *ginkgoTestingTProxy) Parallel() { + // No-op +} + +func (t *ginkgoTestingTProxy) Skip(args ...interface{}) { + t.skip(fmt.Sprintln(args...), t.offset) +} + +func (t *ginkgoTestingTProxy) SkipNow() { + t.skip("skip", t.offset) +} + +func (t *ginkgoTestingTProxy) Skipf(format string, args ...interface{}) { + t.skip(fmt.Sprintf(format, args...), t.offset) +} + +func (t *ginkgoTestingTProxy) Skipped() bool { + return t.report().State.Is(types.SpecStateSkipped) +} + +func (t *ginkgoTestingTProxy) TempDir() string { + tmpDir, err := os.MkdirTemp("", "ginkgo") + if err != nil { + t.fail(fmt.Sprintf("Failed to create temporary directory: %v", err), 1) + return "" + } + t.cleanup(os.RemoveAll, tmpDir) + + return tmpDir +} + +// FullGinkgoTInterface +func (t *ginkgoTestingTProxy) AddReportEntryVisibilityAlways(name string, args ...any) { + finalArgs := []any{internal.Offset(1), types.ReportEntryVisibilityAlways} + t.addReportEntry(name, append(finalArgs, args...)...) +} +func (t *ginkgoTestingTProxy) AddReportEntryVisibilityFailureOrVerbose(name string, args ...any) { + finalArgs := []any{internal.Offset(1), types.ReportEntryVisibilityFailureOrVerbose} + t.addReportEntry(name, append(finalArgs, args...)...) +} +func (t *ginkgoTestingTProxy) AddReportEntryVisibilityNever(name string, args ...any) { + finalArgs := []any{internal.Offset(1), types.ReportEntryVisibilityNever} + t.addReportEntry(name, append(finalArgs, args...)...) +} +func (t *ginkgoTestingTProxy) Print(a ...any) { + t.writer.Print(a...) +} +func (t *ginkgoTestingTProxy) Printf(format string, a ...any) { + t.writer.Printf(format, a...) +} +func (t *ginkgoTestingTProxy) Println(a ...any) { + t.writer.Println(a...) +} +func (t *ginkgoTestingTProxy) F(format string, args ...any) string { + return t.f.F(format, args...) +} +func (t *ginkgoTestingTProxy) Fi(indentation uint, format string, args ...any) string { + return t.f.Fi(indentation, format, args...) +} +func (t *ginkgoTestingTProxy) Fiw(indentation uint, maxWidth uint, format string, args ...any) string { + return t.f.Fiw(indentation, maxWidth, format, args...) +} +func (t *ginkgoTestingTProxy) RenderTimeline() string { + return reporters.RenderTimeline(t.report(), false) +} +func (t *ginkgoTestingTProxy) GinkgoRecover() { + t.ginkgoRecover() +} +func (t *ginkgoTestingTProxy) DeferCleanup(args ...any) { + finalArgs := []any{internal.Offset(1)} + t.cleanup(append(finalArgs, args...)...) +} +func (t *ginkgoTestingTProxy) RandomSeed() int64 { + return t.randomSeed +} +func (t *ginkgoTestingTProxy) ParallelProcess() int { + return t.parallelProcess +} +func (t *ginkgoTestingTProxy) ParallelTotal() int { + return t.parallelTotal +} +func (t *ginkgoTestingTProxy) AttachProgressReporter(f func() string) func() { + return t.attachProgressReporter(f) +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/tree.go b/vendor/github.com/onsi/ginkgo/v2/internal/tree.go new file mode 100644 index 000000000..f9d1eeb8f --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/tree.go @@ -0,0 +1,77 @@ +package internal + +import "github.com/onsi/ginkgo/v2/types" + +type TreeNode struct { + Node Node + Parent *TreeNode + Children TreeNodes +} + +func (tn *TreeNode) AppendChild(child *TreeNode) { + tn.Children = append(tn.Children, child) + child.Parent = tn +} + +func (tn *TreeNode) AncestorNodeChain() Nodes { + if tn.Parent == nil || tn.Parent.Node.IsZero() { + return Nodes{tn.Node} + } + return append(tn.Parent.AncestorNodeChain(), tn.Node) +} + +type TreeNodes []*TreeNode + +func (tn TreeNodes) Nodes() Nodes { + out := make(Nodes, len(tn)) + for i := range tn { + out[i] = tn[i].Node + } + return out +} + +func (tn TreeNodes) WithID(id uint) *TreeNode { + for i := range tn { + if tn[i].Node.ID == id { + return tn[i] + } + } + + return nil +} + +func GenerateSpecsFromTreeRoot(tree *TreeNode) Specs { + var walkTree func(nestingLevel int, lNodes Nodes, rNodes Nodes, trees TreeNodes) Specs + walkTree = func(nestingLevel int, lNodes Nodes, rNodes Nodes, trees TreeNodes) Specs { + tests := Specs{} + + nodes := make(Nodes, len(trees)) + for i := range trees { + nodes[i] = trees[i].Node + nodes[i].NestingLevel = nestingLevel + } + + for i := range nodes { + if !nodes[i].NodeType.Is(types.NodeTypesForContainerAndIt) { + continue + } + leftNodes, rightNodes := nodes.SplitAround(nodes[i]) + leftNodes = leftNodes.WithoutType(types.NodeTypesForContainerAndIt) + rightNodes = rightNodes.WithoutType(types.NodeTypesForContainerAndIt) + + leftNodes = lNodes.CopyAppend(leftNodes...) + rightNodes = rightNodes.CopyAppend(rNodes...) + + if nodes[i].NodeType.Is(types.NodeTypeIt) { + tests = append(tests, Spec{Nodes: leftNodes.CopyAppend(nodes[i]).CopyAppend(rightNodes...)}) + } else { + treeNode := trees.WithID(nodes[i].ID) + tests = append(tests, walkTree(nestingLevel+1, leftNodes.CopyAppend(nodes[i]), rightNodes, treeNode.Children)...) + } + } + + return tests + } + + return walkTree(0, Nodes{}, Nodes{}, tree.Children) +} diff --git a/vendor/github.com/onsi/ginkgo/v2/internal/writer.go b/vendor/github.com/onsi/ginkgo/v2/internal/writer.go new file mode 100644 index 000000000..aab42d5fb --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/internal/writer.go @@ -0,0 +1,144 @@ +package internal + +import ( + "bytes" + "fmt" + "io" + "sync" + + "github.com/go-logr/logr" + "github.com/go-logr/logr/funcr" +) + +type WriterMode uint + +const ( + WriterModeStreamAndBuffer WriterMode = iota + WriterModeBufferOnly +) + +type WriterInterface interface { + io.Writer + + Truncate() + Bytes() []byte + Len() int +} + +// Writer implements WriterInterface and GinkgoWriterInterface +type Writer struct { + buffer *bytes.Buffer + outWriter io.Writer + lock *sync.Mutex + mode WriterMode + + streamIndent []byte + indentNext bool + + teeWriters []io.Writer +} + +func NewWriter(outWriter io.Writer) *Writer { + return &Writer{ + buffer: &bytes.Buffer{}, + lock: &sync.Mutex{}, + outWriter: outWriter, + mode: WriterModeStreamAndBuffer, + streamIndent: []byte(" "), + indentNext: true, + } +} + +func (w *Writer) SetMode(mode WriterMode) { + w.lock.Lock() + defer w.lock.Unlock() + w.mode = mode +} + +func (w *Writer) Len() int { + w.lock.Lock() + defer w.lock.Unlock() + return w.buffer.Len() +} + +var newline = []byte("\n") + +func (w *Writer) Write(b []byte) (n int, err error) { + w.lock.Lock() + defer w.lock.Unlock() + + for _, teeWriter := range w.teeWriters { + teeWriter.Write(b) + } + + if w.mode == WriterModeStreamAndBuffer { + line, remaining, found := []byte{}, b, false + for len(remaining) > 0 { + line, remaining, found = bytes.Cut(remaining, newline) + if len(line) > 0 { + if w.indentNext { + w.outWriter.Write(w.streamIndent) + w.indentNext = false + } + w.outWriter.Write(line) + } + if found { + w.outWriter.Write(newline) + w.indentNext = true + } + } + } + return w.buffer.Write(b) +} + +func (w *Writer) Truncate() { + w.lock.Lock() + defer w.lock.Unlock() + w.buffer.Reset() +} + +func (w *Writer) Bytes() []byte { + w.lock.Lock() + defer w.lock.Unlock() + b := w.buffer.Bytes() + copied := make([]byte, len(b)) + copy(copied, b) + return copied +} + +// GinkgoWriterInterface +func (w *Writer) TeeTo(writer io.Writer) { + w.lock.Lock() + defer w.lock.Unlock() + + w.teeWriters = append(w.teeWriters, writer) +} + +func (w *Writer) ClearTeeWriters() { + w.lock.Lock() + defer w.lock.Unlock() + + w.teeWriters = []io.Writer{} +} + +func (w *Writer) Print(a ...interface{}) { + fmt.Fprint(w, a...) +} + +func (w *Writer) Printf(format string, a ...interface{}) { + fmt.Fprintf(w, format, a...) +} + +func (w *Writer) Println(a ...interface{}) { + fmt.Fprintln(w, a...) +} + +func GinkgoLogrFunc(writer *Writer) logr.Logger { + return funcr.New(func(prefix, args string) { + if prefix == "" { + writer.Printf("%s\n", args) + } else { + writer.Printf("%s %s\n", prefix, args) + } + }, funcr.Options{}) +} diff --git a/vendor/github.com/onsi/ginkgo/v2/reporters/default_reporter.go b/vendor/github.com/onsi/ginkgo/v2/reporters/default_reporter.go new file mode 100644 index 000000000..480730486 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/reporters/default_reporter.go @@ -0,0 +1,788 @@ +/* +Ginkgo's Default Reporter + +A number of command line flags are available to tweak Ginkgo's default output. + +These are documented [here](http://onsi.github.io/ginkgo/#running_tests) +*/ +package reporters + +import ( + "fmt" + "io" + "runtime" + "strings" + "sync" + "time" + + "github.com/onsi/ginkgo/v2/formatter" + "github.com/onsi/ginkgo/v2/types" +) + +type DefaultReporter struct { + conf types.ReporterConfig + writer io.Writer + + // managing the emission stream + lastCharWasNewline bool + lastEmissionWasDelimiter bool + + // rendering + specDenoter string + retryDenoter string + formatter formatter.Formatter + + runningInParallel bool + lock *sync.Mutex +} + +func NewDefaultReporterUnderTest(conf types.ReporterConfig, writer io.Writer) *DefaultReporter { + reporter := NewDefaultReporter(conf, writer) + reporter.formatter = formatter.New(formatter.ColorModePassthrough) + + return reporter +} + +func NewDefaultReporter(conf types.ReporterConfig, writer io.Writer) *DefaultReporter { + reporter := &DefaultReporter{ + conf: conf, + writer: writer, + + lastCharWasNewline: true, + lastEmissionWasDelimiter: false, + + specDenoter: "•", + retryDenoter: "↺", + formatter: formatter.NewWithNoColorBool(conf.NoColor), + lock: &sync.Mutex{}, + } + if runtime.GOOS == "windows" { + reporter.specDenoter = "+" + reporter.retryDenoter = "R" + } + + return reporter +} + +/* The Reporter Interface */ + +func (r *DefaultReporter) SuiteWillBegin(report types.Report) { + if r.conf.Verbosity().Is(types.VerbosityLevelSuccinct) { + r.emit(r.f("[%d] {{bold}}%s{{/}} ", report.SuiteConfig.RandomSeed, report.SuiteDescription)) + if len(report.SuiteLabels) > 0 { + r.emit(r.f("{{coral}}[%s]{{/}} ", strings.Join(report.SuiteLabels, ", "))) + } + r.emit(r.f("- %d/%d specs ", report.PreRunStats.SpecsThatWillRun, report.PreRunStats.TotalSpecs)) + if report.SuiteConfig.ParallelTotal > 1 { + r.emit(r.f("- %d procs ", report.SuiteConfig.ParallelTotal)) + } + } else { + banner := r.f("Running Suite: %s - %s", report.SuiteDescription, report.SuitePath) + r.emitBlock(banner) + bannerWidth := len(banner) + if len(report.SuiteLabels) > 0 { + labels := strings.Join(report.SuiteLabels, ", ") + r.emitBlock(r.f("{{coral}}[%s]{{/}} ", labels)) + if len(labels)+2 > bannerWidth { + bannerWidth = len(labels) + 2 + } + } + r.emitBlock(strings.Repeat("=", bannerWidth)) + + out := r.f("Random Seed: {{bold}}%d{{/}}", report.SuiteConfig.RandomSeed) + if report.SuiteConfig.RandomizeAllSpecs { + out += r.f(" - will randomize all specs") + } + r.emitBlock(out) + r.emit("\n") + r.emitBlock(r.f("Will run {{bold}}%d{{/}} of {{bold}}%d{{/}} specs", report.PreRunStats.SpecsThatWillRun, report.PreRunStats.TotalSpecs)) + if report.SuiteConfig.ParallelTotal > 1 { + r.emitBlock(r.f("Running in parallel across {{bold}}%d{{/}} processes", report.SuiteConfig.ParallelTotal)) + } + } +} + +func (r *DefaultReporter) SuiteDidEnd(report types.Report) { + failures := report.SpecReports.WithState(types.SpecStateFailureStates) + if len(failures) > 0 { + r.emitBlock("\n") + if len(failures) > 1 { + r.emitBlock(r.f("{{red}}{{bold}}Summarizing %d Failures:{{/}}", len(failures))) + } else { + r.emitBlock(r.f("{{red}}{{bold}}Summarizing 1 Failure:{{/}}")) + } + for _, specReport := range failures { + highlightColor, heading := "{{red}}", "[FAIL]" + switch specReport.State { + case types.SpecStatePanicked: + highlightColor, heading = "{{magenta}}", "[PANICKED!]" + case types.SpecStateAborted: + highlightColor, heading = "{{coral}}", "[ABORTED]" + case types.SpecStateTimedout: + highlightColor, heading = "{{orange}}", "[TIMEDOUT]" + case types.SpecStateInterrupted: + highlightColor, heading = "{{orange}}", "[INTERRUPTED]" + } + locationBlock := r.codeLocationBlock(specReport, highlightColor, false, true) + r.emitBlock(r.fi(1, highlightColor+"%s{{/}} %s", heading, locationBlock)) + } + } + + //summarize the suite + if r.conf.Verbosity().Is(types.VerbosityLevelSuccinct) && report.SuiteSucceeded { + r.emit(r.f(" {{green}}SUCCESS!{{/}} %s ", report.RunTime)) + return + } + + r.emitBlock("\n") + color, status := "{{green}}{{bold}}", "SUCCESS!" + if !report.SuiteSucceeded { + color, status = "{{red}}{{bold}}", "FAIL!" + } + + specs := report.SpecReports.WithLeafNodeType(types.NodeTypeIt) //exclude any suite setup nodes + r.emitBlock(r.f(color+"Ran %d of %d Specs in %.3f seconds{{/}}", + specs.CountWithState(types.SpecStatePassed)+specs.CountWithState(types.SpecStateFailureStates), + report.PreRunStats.TotalSpecs, + report.RunTime.Seconds()), + ) + + switch len(report.SpecialSuiteFailureReasons) { + case 0: + r.emit(r.f(color+"%s{{/}} -- ", status)) + case 1: + r.emit(r.f(color+"%s - %s{{/}} -- ", status, report.SpecialSuiteFailureReasons[0])) + default: + r.emitBlock(r.f(color+"%s - %s{{/}}\n", status, strings.Join(report.SpecialSuiteFailureReasons, ", "))) + } + + if len(specs) == 0 && report.SpecReports.WithLeafNodeType(types.NodeTypeBeforeSuite|types.NodeTypeSynchronizedBeforeSuite).CountWithState(types.SpecStateFailureStates) > 0 { + r.emit(r.f("{{cyan}}{{bold}}A BeforeSuite node failed so all tests were skipped.{{/}}\n")) + } else { + r.emit(r.f("{{green}}{{bold}}%d Passed{{/}} | ", specs.CountWithState(types.SpecStatePassed))) + r.emit(r.f("{{red}}{{bold}}%d Failed{{/}} | ", specs.CountWithState(types.SpecStateFailureStates))) + if specs.CountOfFlakedSpecs() > 0 { + r.emit(r.f("{{light-yellow}}{{bold}}%d Flaked{{/}} | ", specs.CountOfFlakedSpecs())) + } + if specs.CountOfRepeatedSpecs() > 0 { + r.emit(r.f("{{light-yellow}}{{bold}}%d Repeated{{/}} | ", specs.CountOfRepeatedSpecs())) + } + r.emit(r.f("{{yellow}}{{bold}}%d Pending{{/}} | ", specs.CountWithState(types.SpecStatePending))) + r.emit(r.f("{{cyan}}{{bold}}%d Skipped{{/}}\n", specs.CountWithState(types.SpecStateSkipped))) + } +} + +func (r *DefaultReporter) WillRun(report types.SpecReport) { + v := r.conf.Verbosity() + if v.LT(types.VerbosityLevelVerbose) || report.State.Is(types.SpecStatePending|types.SpecStateSkipped) || report.RunningInParallel { + return + } + + r.emitDelimiter(0) + r.emitBlock(r.f(r.codeLocationBlock(report, "{{/}}", v.Is(types.VerbosityLevelVeryVerbose), false))) +} + +func (r *DefaultReporter) wrapTextBlock(sectionName string, fn func()) { + r.emitBlock("\n") + if r.conf.GithubOutput { + r.emitBlock(r.fi(1, "::group::%s", sectionName)) + } else { + r.emitBlock(r.fi(1, "{{gray}}%s >>{{/}}", sectionName)) + } + fn() + if r.conf.GithubOutput { + r.emitBlock(r.fi(1, "::endgroup::")) + } else { + r.emitBlock(r.fi(1, "{{gray}}<< %s{{/}}", sectionName)) + } + +} + +func (r *DefaultReporter) DidRun(report types.SpecReport) { + v := r.conf.Verbosity() + inParallel := report.RunningInParallel + + //should we completely omit this spec? + if report.State.Is(types.SpecStateSkipped) && r.conf.SilenceSkips { + return + } + + header := r.specDenoter + if report.LeafNodeType.Is(types.NodeTypesForSuiteLevelNodes) { + header = fmt.Sprintf("[%s]", report.LeafNodeType) + } + highlightColor := r.highlightColorForState(report.State) + + // have we already been streaming the timeline? + timelineHasBeenStreaming := v.GTE(types.VerbosityLevelVerbose) && !inParallel + + // should we show the timeline? + var timeline types.Timeline + showTimeline := !timelineHasBeenStreaming && (v.GTE(types.VerbosityLevelVerbose) || report.Failed()) + if showTimeline { + timeline = report.Timeline().WithoutHiddenReportEntries() + keepVeryVerboseSpecEvents := v.Is(types.VerbosityLevelVeryVerbose) || + (v.Is(types.VerbosityLevelVerbose) && r.conf.ShowNodeEvents) || + (report.Failed() && r.conf.ShowNodeEvents) + if !keepVeryVerboseSpecEvents { + timeline = timeline.WithoutVeryVerboseSpecEvents() + } + if len(timeline) == 0 && report.CapturedGinkgoWriterOutput == "" { + // the timeline is completely empty - don't show it + showTimeline = false + } + if v.LT(types.VerbosityLevelVeryVerbose) && report.CapturedGinkgoWriterOutput == "" && len(timeline) > 0 { + //if we aren't -vv and the timeline only has a single failure, don't show it as it will appear at the end of the report + failure, isFailure := timeline[0].(types.Failure) + if isFailure && (len(timeline) == 1 || (len(timeline) == 2 && failure.AdditionalFailure != nil)) { + showTimeline = false + } + } + } + + // should we have a separate section for always-visible reports? + showSeparateVisibilityAlwaysReportsSection := !timelineHasBeenStreaming && !showTimeline && report.ReportEntries.HasVisibility(types.ReportEntryVisibilityAlways) + + // should we have a separate section for captured stdout/stderr + showSeparateStdSection := inParallel && (report.CapturedStdOutErr != "") + + // given all that - do we have any actual content to show? or are we a single denoter in a stream? + reportHasContent := v.Is(types.VerbosityLevelVeryVerbose) || showTimeline || showSeparateVisibilityAlwaysReportsSection || showSeparateStdSection || report.Failed() || (v.Is(types.VerbosityLevelVerbose) && !report.State.Is(types.SpecStateSkipped)) + + // should we show a runtime? + includeRuntime := !report.State.Is(types.SpecStateSkipped|types.SpecStatePending) || (report.State.Is(types.SpecStateSkipped) && report.Failure.Message != "") + + // should we show the codelocation block? + showCodeLocation := !timelineHasBeenStreaming || !report.State.Is(types.SpecStatePassed) + + switch report.State { + case types.SpecStatePassed: + if report.LeafNodeType.Is(types.NodeTypesForSuiteLevelNodes) && !reportHasContent { + return + } + if report.LeafNodeType.Is(types.NodeTypesForSuiteLevelNodes) { + header = fmt.Sprintf("%s PASSED", header) + } + if report.NumAttempts > 1 && report.MaxFlakeAttempts > 1 { + header, reportHasContent = fmt.Sprintf("%s [FLAKEY TEST - TOOK %d ATTEMPTS TO PASS]", r.retryDenoter, report.NumAttempts), true + } + case types.SpecStatePending: + header = "P" + if v.GT(types.VerbosityLevelSuccinct) { + header, reportHasContent = "P [PENDING]", true + } + case types.SpecStateSkipped: + header = "S" + if v.Is(types.VerbosityLevelVeryVerbose) || (v.Is(types.VerbosityLevelVerbose) && report.Failure.Message != "") { + header, reportHasContent = "S [SKIPPED]", true + } + default: + header = fmt.Sprintf("%s [%s]", header, r.humanReadableState(report.State)) + if report.MaxMustPassRepeatedly > 1 { + header = fmt.Sprintf("%s DURING REPETITION #%d", header, report.NumAttempts) + } + } + + // If we have no content to show, just emit the header and return + if !reportHasContent { + r.emit(r.f(highlightColor + header + "{{/}}")) + if r.conf.ForceNewlines { + r.emit("\n") + } + return + } + + if includeRuntime { + header = r.f("%s [%.3f seconds]", header, report.RunTime.Seconds()) + } + + // Emit header + if !timelineHasBeenStreaming { + r.emitDelimiter(0) + } + r.emitBlock(r.f(highlightColor + header + "{{/}}")) + if showCodeLocation { + r.emitBlock(r.codeLocationBlock(report, highlightColor, v.Is(types.VerbosityLevelVeryVerbose), false)) + } + + //Emit Stdout/Stderr Output + if showSeparateStdSection { + r.wrapTextBlock("Captured StdOut/StdErr Output", func() { + r.emitBlock(r.fi(1, "%s", report.CapturedStdOutErr)) + }) + } + + if showSeparateVisibilityAlwaysReportsSection { + r.wrapTextBlock("Report Entries", func() { + for _, entry := range report.ReportEntries.WithVisibility(types.ReportEntryVisibilityAlways) { + r.emitReportEntry(1, entry) + } + }) + } + + if showTimeline { + r.wrapTextBlock("Timeline", func() { + r.emitTimeline(1, report, timeline) + }) + } + + // Emit Failure Message + if !report.Failure.IsZero() && !v.Is(types.VerbosityLevelVeryVerbose) { + r.emitBlock("\n") + r.emitFailure(1, report.State, report.Failure, true) + if len(report.AdditionalFailures) > 0 { + r.emitBlock(r.fi(1, "\nThere were {{bold}}{{red}}additional failures{{/}} detected. To view them in detail run {{bold}}ginkgo -vv{{/}}")) + } + } + + r.emitDelimiter(0) +} + +func (r *DefaultReporter) highlightColorForState(state types.SpecState) string { + switch state { + case types.SpecStatePassed: + return "{{green}}" + case types.SpecStatePending: + return "{{yellow}}" + case types.SpecStateSkipped: + return "{{cyan}}" + case types.SpecStateFailed: + return "{{red}}" + case types.SpecStateTimedout: + return "{{orange}}" + case types.SpecStatePanicked: + return "{{magenta}}" + case types.SpecStateInterrupted: + return "{{orange}}" + case types.SpecStateAborted: + return "{{coral}}" + default: + return "{{gray}}" + } +} + +func (r *DefaultReporter) humanReadableState(state types.SpecState) string { + return strings.ToUpper(state.String()) +} + +func (r *DefaultReporter) emitTimeline(indent uint, report types.SpecReport, timeline types.Timeline) { + isVeryVerbose := r.conf.Verbosity().Is(types.VerbosityLevelVeryVerbose) + gw := report.CapturedGinkgoWriterOutput + cursor := 0 + for _, entry := range timeline { + tl := entry.GetTimelineLocation() + if tl.Offset < len(gw) { + r.emit(r.fi(indent, "%s", gw[cursor:tl.Offset])) + cursor = tl.Offset + } else if cursor < len(gw) { + r.emit(r.fi(indent, "%s", gw[cursor:])) + cursor = len(gw) + } + switch x := entry.(type) { + case types.Failure: + if isVeryVerbose { + r.emitFailure(indent, report.State, x, false) + } else { + r.emitShortFailure(indent, report.State, x) + } + case types.AdditionalFailure: + if isVeryVerbose { + r.emitFailure(indent, x.State, x.Failure, true) + } else { + r.emitShortFailure(indent, x.State, x.Failure) + } + case types.ReportEntry: + r.emitReportEntry(indent, x) + case types.ProgressReport: + r.emitProgressReport(indent, false, x) + case types.SpecEvent: + if isVeryVerbose || !x.IsOnlyVisibleAtVeryVerbose() || r.conf.ShowNodeEvents { + r.emitSpecEvent(indent, x, isVeryVerbose) + } + } + } + if cursor < len(gw) { + r.emit(r.fi(indent, "%s", gw[cursor:])) + } +} + +func (r *DefaultReporter) EmitFailure(state types.SpecState, failure types.Failure) { + if r.conf.Verbosity().Is(types.VerbosityLevelVerbose) { + r.emitShortFailure(1, state, failure) + } else if r.conf.Verbosity().Is(types.VerbosityLevelVeryVerbose) { + r.emitFailure(1, state, failure, true) + } +} + +func (r *DefaultReporter) emitShortFailure(indent uint, state types.SpecState, failure types.Failure) { + r.emitBlock(r.fi(indent, r.highlightColorForState(state)+"[%s]{{/}} in [%s] - %s {{gray}}@ %s{{/}}", + r.humanReadableState(state), + failure.FailureNodeType, + failure.Location, + failure.TimelineLocation.Time.Format(types.GINKGO_TIME_FORMAT), + )) +} + +func (r *DefaultReporter) emitFailure(indent uint, state types.SpecState, failure types.Failure, includeAdditionalFailure bool) { + highlightColor := r.highlightColorForState(state) + r.emitBlock(r.fi(indent, highlightColor+"[%s] %s{{/}}", r.humanReadableState(state), failure.Message)) + if r.conf.GithubOutput { + level := "error" + if state.Is(types.SpecStateSkipped) { + level = "notice" + } + r.emitBlock(r.fi(indent, "::%s file=%s,line=%d::%s %s", level, failure.Location.FileName, failure.Location.LineNumber, failure.FailureNodeType, failure.TimelineLocation.Time.Format(types.GINKGO_TIME_FORMAT))) + } else { + r.emitBlock(r.fi(indent, highlightColor+"In {{bold}}[%s]{{/}}"+highlightColor+" at: {{bold}}%s{{/}} {{gray}}@ %s{{/}}\n", failure.FailureNodeType, failure.Location, failure.TimelineLocation.Time.Format(types.GINKGO_TIME_FORMAT))) + } + if failure.ForwardedPanic != "" { + r.emitBlock("\n") + r.emitBlock(r.fi(indent, highlightColor+"%s{{/}}", failure.ForwardedPanic)) + } + + if r.conf.FullTrace || failure.ForwardedPanic != "" { + r.emitBlock("\n") + r.emitBlock(r.fi(indent, highlightColor+"Full Stack Trace{{/}}")) + r.emitBlock(r.fi(indent+1, "%s", failure.Location.FullStackTrace)) + } + + if !failure.ProgressReport.IsZero() { + r.emitBlock("\n") + r.emitProgressReport(indent, false, failure.ProgressReport) + } + + if failure.AdditionalFailure != nil && includeAdditionalFailure { + r.emitBlock("\n") + r.emitFailure(indent, failure.AdditionalFailure.State, failure.AdditionalFailure.Failure, true) + } +} + +func (r *DefaultReporter) EmitProgressReport(report types.ProgressReport) { + r.emitDelimiter(1) + + if report.RunningInParallel { + r.emit(r.fi(1, "{{coral}}Progress Report for Ginkgo Process #{{bold}}%d{{/}}\n", report.ParallelProcess)) + } + shouldEmitGW := report.RunningInParallel || r.conf.Verbosity().LT(types.VerbosityLevelVerbose) + r.emitProgressReport(1, shouldEmitGW, report) + r.emitDelimiter(1) +} + +func (r *DefaultReporter) emitProgressReport(indent uint, emitGinkgoWriterOutput bool, report types.ProgressReport) { + if report.Message != "" { + r.emitBlock(r.fi(indent, report.Message+"\n")) + indent += 1 + } + if report.LeafNodeText != "" { + subjectIndent := indent + if len(report.ContainerHierarchyTexts) > 0 { + r.emit(r.fi(indent, r.cycleJoin(report.ContainerHierarchyTexts, " "))) + r.emit(" ") + subjectIndent = 0 + } + r.emit(r.fi(subjectIndent, "{{bold}}{{orange}}%s{{/}} (Spec Runtime: %s)\n", report.LeafNodeText, report.Time().Sub(report.SpecStartTime).Round(time.Millisecond))) + r.emit(r.fi(indent+1, "{{gray}}%s{{/}}\n", report.LeafNodeLocation)) + indent += 1 + } + if report.CurrentNodeType != types.NodeTypeInvalid { + r.emit(r.fi(indent, "In {{bold}}{{orange}}[%s]{{/}}", report.CurrentNodeType)) + if report.CurrentNodeText != "" && !report.CurrentNodeType.Is(types.NodeTypeIt) { + r.emit(r.f(" {{bold}}{{orange}}%s{{/}}", report.CurrentNodeText)) + } + + r.emit(r.f(" (Node Runtime: %s)\n", report.Time().Sub(report.CurrentNodeStartTime).Round(time.Millisecond))) + r.emit(r.fi(indent+1, "{{gray}}%s{{/}}\n", report.CurrentNodeLocation)) + indent += 1 + } + if report.CurrentStepText != "" { + r.emit(r.fi(indent, "At {{bold}}{{orange}}[By Step] %s{{/}} (Step Runtime: %s)\n", report.CurrentStepText, report.Time().Sub(report.CurrentStepStartTime).Round(time.Millisecond))) + r.emit(r.fi(indent+1, "{{gray}}%s{{/}}\n", report.CurrentStepLocation)) + indent += 1 + } + + if indent > 0 { + indent -= 1 + } + + if emitGinkgoWriterOutput && report.CapturedGinkgoWriterOutput != "" { + r.emit("\n") + r.emitBlock(r.fi(indent, "{{gray}}Begin Captured GinkgoWriter Output >>{{/}}")) + limit, lines := 10, strings.Split(report.CapturedGinkgoWriterOutput, "\n") + if len(lines) <= limit { + r.emitBlock(r.fi(indent+1, "%s", report.CapturedGinkgoWriterOutput)) + } else { + r.emitBlock(r.fi(indent+1, "{{gray}}...{{/}}")) + for _, line := range lines[len(lines)-limit-1:] { + r.emitBlock(r.fi(indent+1, "%s", line)) + } + } + r.emitBlock(r.fi(indent, "{{gray}}<< End Captured GinkgoWriter Output{{/}}")) + } + + if !report.SpecGoroutine().IsZero() { + r.emit("\n") + r.emit(r.fi(indent, "{{bold}}{{underline}}Spec Goroutine{{/}}\n")) + r.emitGoroutines(indent, report.SpecGoroutine()) + } + + if len(report.AdditionalReports) > 0 { + r.emit("\n") + r.emitBlock(r.fi(indent, "{{gray}}Begin Additional Progress Reports >>{{/}}")) + for i, additionalReport := range report.AdditionalReports { + r.emit(r.fi(indent+1, additionalReport)) + if i < len(report.AdditionalReports)-1 { + r.emitBlock(r.fi(indent+1, "{{gray}}%s{{/}}", strings.Repeat("-", 10))) + } + } + r.emitBlock(r.fi(indent, "{{gray}}<< End Additional Progress Reports{{/}}")) + } + + highlightedGoroutines := report.HighlightedGoroutines() + if len(highlightedGoroutines) > 0 { + r.emit("\n") + r.emit(r.fi(indent, "{{bold}}{{underline}}Goroutines of Interest{{/}}\n")) + r.emitGoroutines(indent, highlightedGoroutines...) + } + + otherGoroutines := report.OtherGoroutines() + if len(otherGoroutines) > 0 { + r.emit("\n") + r.emit(r.fi(indent, "{{gray}}{{bold}}{{underline}}Other Goroutines{{/}}\n")) + r.emitGoroutines(indent, otherGoroutines...) + } +} + +func (r *DefaultReporter) EmitReportEntry(entry types.ReportEntry) { + if r.conf.Verbosity().LT(types.VerbosityLevelVerbose) || entry.Visibility == types.ReportEntryVisibilityNever { + return + } + r.emitReportEntry(1, entry) +} + +func (r *DefaultReporter) emitReportEntry(indent uint, entry types.ReportEntry) { + r.emitBlock(r.fi(indent, "{{bold}}"+entry.Name+"{{gray}} "+fmt.Sprintf("- %s @ %s{{/}}", entry.Location, entry.Time.Format(types.GINKGO_TIME_FORMAT)))) + if representation := entry.StringRepresentation(); representation != "" { + r.emitBlock(r.fi(indent+1, representation)) + } +} + +func (r *DefaultReporter) EmitSpecEvent(event types.SpecEvent) { + v := r.conf.Verbosity() + if v.Is(types.VerbosityLevelVeryVerbose) || (v.Is(types.VerbosityLevelVerbose) && (r.conf.ShowNodeEvents || !event.IsOnlyVisibleAtVeryVerbose())) { + r.emitSpecEvent(1, event, r.conf.Verbosity().Is(types.VerbosityLevelVeryVerbose)) + } +} + +func (r *DefaultReporter) emitSpecEvent(indent uint, event types.SpecEvent, includeLocation bool) { + location := "" + if includeLocation { + location = fmt.Sprintf("- %s ", event.CodeLocation.String()) + } + switch event.SpecEventType { + case types.SpecEventInvalid: + return + case types.SpecEventByStart: + r.emitBlock(r.fi(indent, "{{bold}}STEP:{{/}} %s {{gray}}%s@ %s{{/}}", event.Message, location, event.TimelineLocation.Time.Format(types.GINKGO_TIME_FORMAT))) + case types.SpecEventByEnd: + r.emitBlock(r.fi(indent, "{{bold}}END STEP:{{/}} %s {{gray}}%s@ %s (%s){{/}}", event.Message, location, event.TimelineLocation.Time.Format(types.GINKGO_TIME_FORMAT), event.Duration.Round(time.Millisecond))) + case types.SpecEventNodeStart: + r.emitBlock(r.fi(indent, "> Enter {{bold}}[%s]{{/}} %s {{gray}}%s@ %s{{/}}", event.NodeType.String(), event.Message, location, event.TimelineLocation.Time.Format(types.GINKGO_TIME_FORMAT))) + case types.SpecEventNodeEnd: + r.emitBlock(r.fi(indent, "< Exit {{bold}}[%s]{{/}} %s {{gray}}%s@ %s (%s){{/}}", event.NodeType.String(), event.Message, location, event.TimelineLocation.Time.Format(types.GINKGO_TIME_FORMAT), event.Duration.Round(time.Millisecond))) + case types.SpecEventSpecRepeat: + r.emitBlock(r.fi(indent, "\n{{bold}}Attempt #%d {{green}}Passed{{/}}{{bold}}. Repeating %s{{/}} {{gray}}@ %s{{/}}\n\n", event.Attempt, r.retryDenoter, event.TimelineLocation.Time.Format(types.GINKGO_TIME_FORMAT))) + case types.SpecEventSpecRetry: + r.emitBlock(r.fi(indent, "\n{{bold}}Attempt #%d {{red}}Failed{{/}}{{bold}}. Retrying %s{{/}} {{gray}}@ %s{{/}}\n\n", event.Attempt, r.retryDenoter, event.TimelineLocation.Time.Format(types.GINKGO_TIME_FORMAT))) + } +} + +func (r *DefaultReporter) emitGoroutines(indent uint, goroutines ...types.Goroutine) { + for idx, g := range goroutines { + color := "{{gray}}" + if g.HasHighlights() { + color = "{{orange}}" + } + r.emit(r.fi(indent, color+"goroutine %d [%s]{{/}}\n", g.ID, g.State)) + for _, fc := range g.Stack { + if fc.Highlight { + r.emit(r.fi(indent, color+"{{bold}}> %s{{/}}\n", fc.Function)) + r.emit(r.fi(indent+2, color+"{{bold}}%s:%d{{/}}\n", fc.Filename, fc.Line)) + r.emitSource(indent+3, fc) + } else { + r.emit(r.fi(indent+1, "{{gray}}%s{{/}}\n", fc.Function)) + r.emit(r.fi(indent+2, "{{gray}}%s:%d{{/}}\n", fc.Filename, fc.Line)) + } + } + + if idx+1 < len(goroutines) { + r.emit("\n") + } + } +} + +func (r *DefaultReporter) emitSource(indent uint, fc types.FunctionCall) { + lines := fc.Source + if len(lines) == 0 { + return + } + + lTrim := 100000 + for _, line := range lines { + lTrimLine := len(line) - len(strings.TrimLeft(line, " \t")) + if lTrimLine < lTrim && len(line) > 0 { + lTrim = lTrimLine + } + } + if lTrim == 100000 { + lTrim = 0 + } + + for idx, line := range lines { + if len(line) > lTrim { + line = line[lTrim:] + } + if idx == fc.SourceHighlight { + r.emit(r.fi(indent, "{{bold}}{{orange}}> %s{{/}}\n", line)) + } else { + r.emit(r.fi(indent, "| %s\n", line)) + } + } +} + +/* Emitting to the writer */ +func (r *DefaultReporter) emit(s string) { + r._emit(s, false, false) +} + +func (r *DefaultReporter) emitBlock(s string) { + r._emit(s, true, false) +} + +func (r *DefaultReporter) emitDelimiter(indent uint) { + r._emit(r.fi(indent, "{{gray}}%s{{/}}", strings.Repeat("-", 30)), true, true) +} + +// a bit ugly - but we're trying to minimize locking on this hot codepath +func (r *DefaultReporter) _emit(s string, block bool, isDelimiter bool) { + if len(s) == 0 { + return + } + r.lock.Lock() + defer r.lock.Unlock() + if isDelimiter && r.lastEmissionWasDelimiter { + return + } + if block && !r.lastCharWasNewline { + r.writer.Write([]byte("\n")) + } + r.lastCharWasNewline = (s[len(s)-1:] == "\n") + r.writer.Write([]byte(s)) + if block && !r.lastCharWasNewline { + r.writer.Write([]byte("\n")) + r.lastCharWasNewline = true + } + r.lastEmissionWasDelimiter = isDelimiter +} + +/* Rendering text */ +func (r *DefaultReporter) f(format string, args ...interface{}) string { + return r.formatter.F(format, args...) +} + +func (r *DefaultReporter) fi(indentation uint, format string, args ...interface{}) string { + return r.formatter.Fi(indentation, format, args...) +} + +func (r *DefaultReporter) cycleJoin(elements []string, joiner string) string { + return r.formatter.CycleJoin(elements, joiner, []string{"{{/}}", "{{gray}}"}) +} + +func (r *DefaultReporter) codeLocationBlock(report types.SpecReport, highlightColor string, veryVerbose bool, usePreciseFailureLocation bool) string { + texts, locations, labels := []string{}, []types.CodeLocation{}, [][]string{} + texts, locations, labels = append(texts, report.ContainerHierarchyTexts...), append(locations, report.ContainerHierarchyLocations...), append(labels, report.ContainerHierarchyLabels...) + + if report.LeafNodeType.Is(types.NodeTypesForSuiteLevelNodes) { + texts = append(texts, r.f("[%s] %s", report.LeafNodeType, report.LeafNodeText)) + } else { + texts = append(texts, r.f(report.LeafNodeText)) + } + labels = append(labels, report.LeafNodeLabels) + locations = append(locations, report.LeafNodeLocation) + + failureLocation := report.Failure.FailureNodeLocation + if usePreciseFailureLocation { + failureLocation = report.Failure.Location + } + + highlightIndex := -1 + switch report.Failure.FailureNodeContext { + case types.FailureNodeAtTopLevel: + texts = append([]string{fmt.Sprintf("TOP-LEVEL [%s]", report.Failure.FailureNodeType)}, texts...) + locations = append([]types.CodeLocation{failureLocation}, locations...) + labels = append([][]string{{}}, labels...) + highlightIndex = 0 + case types.FailureNodeInContainer: + i := report.Failure.FailureNodeContainerIndex + texts[i] = fmt.Sprintf("%s [%s]", texts[i], report.Failure.FailureNodeType) + locations[i] = failureLocation + highlightIndex = i + case types.FailureNodeIsLeafNode: + i := len(texts) - 1 + texts[i] = fmt.Sprintf("[%s] %s", report.LeafNodeType, report.LeafNodeText) + locations[i] = failureLocation + highlightIndex = i + default: + //there is no failure, so we highlight the leaf ndoe + highlightIndex = len(texts) - 1 + } + + out := "" + if veryVerbose { + for i := range texts { + if i == highlightIndex { + out += r.fi(uint(i), highlightColor+"{{bold}}%s{{/}}", texts[i]) + } else { + out += r.fi(uint(i), "%s", texts[i]) + } + if len(labels[i]) > 0 { + out += r.f(" {{coral}}[%s]{{/}}", strings.Join(labels[i], ", ")) + } + out += "\n" + out += r.fi(uint(i), "{{gray}}%s{{/}}\n", locations[i]) + } + } else { + for i := range texts { + style := "{{/}}" + if i%2 == 1 { + style = "{{gray}}" + } + if i == highlightIndex { + style = highlightColor + "{{bold}}" + } + out += r.f(style+"%s", texts[i]) + if i < len(texts)-1 { + out += " " + } else { + out += r.f("{{/}}") + } + } + flattenedLabels := report.Labels() + if len(flattenedLabels) > 0 { + out += r.f(" {{coral}}[%s]{{/}}", strings.Join(flattenedLabels, ", ")) + } + out += "\n" + if usePreciseFailureLocation { + out += r.f("{{gray}}%s{{/}}", failureLocation) + } else { + leafLocation := locations[len(locations)-1] + if (report.Failure.FailureNodeLocation != types.CodeLocation{}) && (report.Failure.FailureNodeLocation != leafLocation) { + out += r.fi(1, highlightColor+"[%s]{{/}} {{gray}}%s{{/}}\n", report.Failure.FailureNodeType, report.Failure.FailureNodeLocation) + out += r.fi(1, "{{gray}}[%s] %s{{/}}", report.LeafNodeType, leafLocation) + } else { + out += r.f("{{gray}}%s{{/}}", leafLocation) + } + } + + } + return out +} diff --git a/vendor/github.com/onsi/ginkgo/v2/reporters/deprecated_reporter.go b/vendor/github.com/onsi/ginkgo/v2/reporters/deprecated_reporter.go new file mode 100644 index 000000000..613072ebf --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/reporters/deprecated_reporter.go @@ -0,0 +1,149 @@ +package reporters + +import ( + "github.com/onsi/ginkgo/v2/config" + "github.com/onsi/ginkgo/v2/types" +) + +// Deprecated: DeprecatedReporter was how Ginkgo V1 provided support for CustomReporters +// this has been removed in V2. +// Please read the documentation at: +// https://onsi.github.io/ginkgo/MIGRATING_TO_V2#removed-custom-reporters +// for Ginkgo's new behavior and for a migration path. +type DeprecatedReporter interface { + SuiteWillBegin(config config.GinkgoConfigType, summary *types.SuiteSummary) + BeforeSuiteDidRun(setupSummary *types.SetupSummary) + SpecWillRun(specSummary *types.SpecSummary) + SpecDidComplete(specSummary *types.SpecSummary) + AfterSuiteDidRun(setupSummary *types.SetupSummary) + SuiteDidEnd(summary *types.SuiteSummary) +} + +// ReportViaDeprecatedReporter takes a V1 custom reporter and a V2 report and +// calls the custom reporter's methods with appropriately transformed data from the V2 report. +// +// ReportViaDeprecatedReporter should be called in a `ReportAfterSuite()` +// +// Deprecated: ReportViaDeprecatedReporter method exists to help developer bridge between deprecated V1 functionality and the new +// reporting support in V2. It will be removed in a future minor version of Ginkgo. +func ReportViaDeprecatedReporter(reporter DeprecatedReporter, report types.Report) { + conf := config.DeprecatedGinkgoConfigType{ + RandomSeed: report.SuiteConfig.RandomSeed, + RandomizeAllSpecs: report.SuiteConfig.RandomizeAllSpecs, + FocusStrings: report.SuiteConfig.FocusStrings, + SkipStrings: report.SuiteConfig.SkipStrings, + FailOnPending: report.SuiteConfig.FailOnPending, + FailFast: report.SuiteConfig.FailFast, + FlakeAttempts: report.SuiteConfig.FlakeAttempts, + EmitSpecProgress: false, + DryRun: report.SuiteConfig.DryRun, + ParallelNode: report.SuiteConfig.ParallelProcess, + ParallelTotal: report.SuiteConfig.ParallelTotal, + SyncHost: report.SuiteConfig.ParallelHost, + StreamHost: report.SuiteConfig.ParallelHost, + } + + summary := &types.DeprecatedSuiteSummary{ + SuiteDescription: report.SuiteDescription, + SuiteID: report.SuitePath, + + NumberOfSpecsBeforeParallelization: report.PreRunStats.TotalSpecs, + NumberOfTotalSpecs: report.PreRunStats.TotalSpecs, + NumberOfSpecsThatWillBeRun: report.PreRunStats.SpecsThatWillRun, + } + + reporter.SuiteWillBegin(conf, summary) + + for _, spec := range report.SpecReports { + switch spec.LeafNodeType { + case types.NodeTypeBeforeSuite, types.NodeTypeSynchronizedBeforeSuite: + setupSummary := &types.DeprecatedSetupSummary{ + ComponentType: spec.LeafNodeType, + CodeLocation: spec.LeafNodeLocation, + State: spec.State, + RunTime: spec.RunTime, + Failure: failureFor(spec), + CapturedOutput: spec.CombinedOutput(), + SuiteID: report.SuitePath, + } + reporter.BeforeSuiteDidRun(setupSummary) + case types.NodeTypeAfterSuite, types.NodeTypeSynchronizedAfterSuite: + setupSummary := &types.DeprecatedSetupSummary{ + ComponentType: spec.LeafNodeType, + CodeLocation: spec.LeafNodeLocation, + State: spec.State, + RunTime: spec.RunTime, + Failure: failureFor(spec), + CapturedOutput: spec.CombinedOutput(), + SuiteID: report.SuitePath, + } + reporter.AfterSuiteDidRun(setupSummary) + case types.NodeTypeIt: + componentTexts, componentCodeLocations := []string{}, []types.CodeLocation{} + componentTexts = append(componentTexts, spec.ContainerHierarchyTexts...) + componentCodeLocations = append(componentCodeLocations, spec.ContainerHierarchyLocations...) + componentTexts = append(componentTexts, spec.LeafNodeText) + componentCodeLocations = append(componentCodeLocations, spec.LeafNodeLocation) + + specSummary := &types.DeprecatedSpecSummary{ + ComponentTexts: componentTexts, + ComponentCodeLocations: componentCodeLocations, + State: spec.State, + RunTime: spec.RunTime, + Failure: failureFor(spec), + NumberOfSamples: spec.NumAttempts, + CapturedOutput: spec.CombinedOutput(), + SuiteID: report.SuitePath, + } + reporter.SpecWillRun(specSummary) + reporter.SpecDidComplete(specSummary) + + switch spec.State { + case types.SpecStatePending: + summary.NumberOfPendingSpecs += 1 + case types.SpecStateSkipped: + summary.NumberOfSkippedSpecs += 1 + case types.SpecStateFailed, types.SpecStatePanicked, types.SpecStateInterrupted: + summary.NumberOfFailedSpecs += 1 + case types.SpecStatePassed: + summary.NumberOfPassedSpecs += 1 + if spec.NumAttempts > 1 { + summary.NumberOfFlakedSpecs += 1 + } + } + } + } + + summary.SuiteSucceeded = report.SuiteSucceeded + summary.RunTime = report.RunTime + + reporter.SuiteDidEnd(summary) +} + +func failureFor(spec types.SpecReport) types.DeprecatedSpecFailure { + if spec.Failure.IsZero() { + return types.DeprecatedSpecFailure{} + } + + index := 0 + switch spec.Failure.FailureNodeContext { + case types.FailureNodeInContainer: + index = spec.Failure.FailureNodeContainerIndex + case types.FailureNodeAtTopLevel: + index = -1 + case types.FailureNodeIsLeafNode: + index = len(spec.ContainerHierarchyTexts) - 1 + if spec.LeafNodeText != "" { + index += 1 + } + } + + return types.DeprecatedSpecFailure{ + Message: spec.Failure.Message, + Location: spec.Failure.Location, + ForwardedPanic: spec.Failure.ForwardedPanic, + ComponentIndex: index, + ComponentType: spec.Failure.FailureNodeType, + ComponentCodeLocation: spec.Failure.FailureNodeLocation, + } +} diff --git a/vendor/github.com/onsi/ginkgo/v2/reporters/json_report.go b/vendor/github.com/onsi/ginkgo/v2/reporters/json_report.go new file mode 100644 index 000000000..5d3e8db99 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/reporters/json_report.go @@ -0,0 +1,69 @@ +package reporters + +import ( + "encoding/json" + "fmt" + "os" + "path" + + "github.com/onsi/ginkgo/v2/types" +) + +// GenerateJSONReport produces a JSON-formatted report at the passed in destination +func GenerateJSONReport(report types.Report, destination string) error { + if err := os.MkdirAll(path.Dir(destination), 0770); err != nil { + return err + } + f, err := os.Create(destination) + if err != nil { + return err + } + defer f.Close() + enc := json.NewEncoder(f) + enc.SetIndent("", " ") + err = enc.Encode([]types.Report{ + report, + }) + if err != nil { + return err + } + return nil +} + +// MergeJSONReports produces a single JSON-formatted report at the passed in destination by merging the JSON-formatted reports provided in sources +// It skips over reports that fail to decode but reports on them via the returned messages []string +func MergeAndCleanupJSONReports(sources []string, destination string) ([]string, error) { + messages := []string{} + allReports := []types.Report{} + for _, source := range sources { + reports := []types.Report{} + data, err := os.ReadFile(source) + if err != nil { + messages = append(messages, fmt.Sprintf("Could not open %s:\n%s", source, err.Error())) + continue + } + err = json.Unmarshal(data, &reports) + if err != nil { + messages = append(messages, fmt.Sprintf("Could not decode %s:\n%s", source, err.Error())) + continue + } + os.Remove(source) + allReports = append(allReports, reports...) + } + + if err := os.MkdirAll(path.Dir(destination), 0770); err != nil { + return messages, err + } + f, err := os.Create(destination) + if err != nil { + return messages, err + } + defer f.Close() + enc := json.NewEncoder(f) + enc.SetIndent("", " ") + err = enc.Encode(allReports) + if err != nil { + return messages, err + } + return messages, nil +} diff --git a/vendor/github.com/onsi/ginkgo/v2/reporters/junit_report.go b/vendor/github.com/onsi/ginkgo/v2/reporters/junit_report.go new file mode 100644 index 000000000..562e0f62b --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/reporters/junit_report.go @@ -0,0 +1,390 @@ +/* + +JUnit XML Reporter for Ginkgo + +For usage instructions: http://onsi.github.io/ginkgo/#generating_junit_xml_output + +The schema used for the generated JUnit xml file was adapted from https://llg.cubic.org/docs/junit/ + +*/ + +package reporters + +import ( + "encoding/xml" + "fmt" + "os" + "path" + "regexp" + "strings" + + "github.com/onsi/ginkgo/v2/config" + "github.com/onsi/ginkgo/v2/types" +) + +type JunitReportConfig struct { + // Spec States for which no timeline should be emitted for system-err + // set this to types.SpecStatePassed|types.SpecStateSkipped|types.SpecStatePending to only match failing specs + OmitTimelinesForSpecState types.SpecState + + // Enable OmitFailureMessageAttr to prevent failure messages appearing in the "message" attribute of the Failure and Error tags + OmitFailureMessageAttr bool + + //Enable OmitCapturedStdOutErr to prevent captured stdout/stderr appearing in system-out + OmitCapturedStdOutErr bool + + // Enable OmitSpecLabels to prevent labels from appearing in the spec name + OmitSpecLabels bool + + // Enable OmitLeafNodeType to prevent the spec leaf node type from appearing in the spec name + OmitLeafNodeType bool + + // Enable OmitSuiteSetupNodes to prevent the creation of testcase entries for setup nodes + OmitSuiteSetupNodes bool +} + +type JUnitTestSuites struct { + XMLName xml.Name `xml:"testsuites"` + // Tests maps onto the total number of specs in all test suites (this includes any suite nodes such as BeforeSuite) + Tests int `xml:"tests,attr"` + // Disabled maps onto specs that are pending and/or skipped + Disabled int `xml:"disabled,attr"` + // Errors maps onto specs that panicked or were interrupted + Errors int `xml:"errors,attr"` + // Failures maps onto specs that failed + Failures int `xml:"failures,attr"` + // Time is the time in seconds to execute all test suites + Time float64 `xml:"time,attr"` + + //The set of all test suites + TestSuites []JUnitTestSuite `xml:"testsuite"` +} + +type JUnitTestSuite struct { + // Name maps onto the description of the test suite - maps onto Report.SuiteDescription + Name string `xml:"name,attr"` + // Package maps onto the absolute path to the test suite - maps onto Report.SuitePath + Package string `xml:"package,attr"` + // Tests maps onto the total number of specs in the test suite (this includes any suite nodes such as BeforeSuite) + Tests int `xml:"tests,attr"` + // Disabled maps onto specs that are pending + Disabled int `xml:"disabled,attr"` + // Skiped maps onto specs that are skipped + Skipped int `xml:"skipped,attr"` + // Errors maps onto specs that panicked or were interrupted + Errors int `xml:"errors,attr"` + // Failures maps onto specs that failed + Failures int `xml:"failures,attr"` + // Time is the time in seconds to execute all the test suite - maps onto Report.RunTime + Time float64 `xml:"time,attr"` + // Timestamp is the ISO 8601 formatted start-time of the suite - maps onto Report.StartTime + Timestamp string `xml:"timestamp,attr"` + + //Properties captures the information stored in the rest of the Report type (including SuiteConfig) as key-value pairs + Properties JUnitProperties `xml:"properties"` + + //TestCases capture the individual specs + TestCases []JUnitTestCase `xml:"testcase"` +} + +type JUnitProperties struct { + Properties []JUnitProperty `xml:"property"` +} + +func (jup JUnitProperties) WithName(name string) string { + for _, property := range jup.Properties { + if property.Name == name { + return property.Value + } + } + return "" +} + +type JUnitProperty struct { + Name string `xml:"name,attr"` + Value string `xml:"value,attr"` +} + +var ownerRE = regexp.MustCompile(`(?i)^owner:(.*)$`) + +type JUnitTestCase struct { + // Name maps onto the full text of the spec - equivalent to "[SpecReport.LeafNodeType] SpecReport.FullText()" + Name string `xml:"name,attr"` + // Classname maps onto the name of the test suite - equivalent to Report.SuiteDescription + Classname string `xml:"classname,attr"` + // Status maps onto the string representation of SpecReport.State + Status string `xml:"status,attr"` + // Time is the time in seconds to execute the spec - maps onto SpecReport.RunTime + Time float64 `xml:"time,attr"` + // Owner is the owner the spec - is set if a label matching Label("owner:X") is provided. The last matching label is used as the owner, thereby allowing specs to override owners specified in container nodes. + Owner string `xml:"owner,attr,omitempty"` + //Skipped is populated with a message if the test was skipped or pending + Skipped *JUnitSkipped `xml:"skipped,omitempty"` + //Error is populated if the test panicked or was interrupted + Error *JUnitError `xml:"error,omitempty"` + //Failure is populated if the test failed + Failure *JUnitFailure `xml:"failure,omitempty"` + //SystemOut maps onto any captured stdout/stderr output - maps onto SpecReport.CapturedStdOutErr + SystemOut string `xml:"system-out,omitempty"` + //SystemOut maps onto any captured GinkgoWriter output - maps onto SpecReport.CapturedGinkgoWriterOutput + SystemErr string `xml:"system-err,omitempty"` +} + +type JUnitSkipped struct { + // Message maps onto "pending" if the test was marked pending, "skipped" if the test was marked skipped, and "skipped - REASON" if the user called Skip(REASON) + Message string `xml:"message,attr"` +} + +type JUnitError struct { + //Message maps onto the panic/exception thrown - equivalent to SpecReport.Failure.ForwardedPanic - or to "interrupted" + Message string `xml:"message,attr"` + //Type is one of "panicked" or "interrupted" + Type string `xml:"type,attr"` + //Description maps onto the captured stack trace for a panic, or the failure message for an interrupt which will include the dump of running goroutines + Description string `xml:",chardata"` +} + +type JUnitFailure struct { + //Message maps onto the failure message - equivalent to SpecReport.Failure.Message + Message string `xml:"message,attr"` + //Type is "failed" + Type string `xml:"type,attr"` + //Description maps onto the location and stack trace of the failure + Description string `xml:",chardata"` +} + +func GenerateJUnitReport(report types.Report, dst string) error { + return GenerateJUnitReportWithConfig(report, dst, JunitReportConfig{}) +} + +func GenerateJUnitReportWithConfig(report types.Report, dst string, config JunitReportConfig) error { + suite := JUnitTestSuite{ + Name: report.SuiteDescription, + Package: report.SuitePath, + Time: report.RunTime.Seconds(), + Timestamp: report.StartTime.Format("2006-01-02T15:04:05"), + Properties: JUnitProperties{ + Properties: []JUnitProperty{ + {"SuiteSucceeded", fmt.Sprintf("%t", report.SuiteSucceeded)}, + {"SuiteHasProgrammaticFocus", fmt.Sprintf("%t", report.SuiteHasProgrammaticFocus)}, + {"SpecialSuiteFailureReason", strings.Join(report.SpecialSuiteFailureReasons, ",")}, + {"SuiteLabels", fmt.Sprintf("[%s]", strings.Join(report.SuiteLabels, ","))}, + {"RandomSeed", fmt.Sprintf("%d", report.SuiteConfig.RandomSeed)}, + {"RandomizeAllSpecs", fmt.Sprintf("%t", report.SuiteConfig.RandomizeAllSpecs)}, + {"LabelFilter", report.SuiteConfig.LabelFilter}, + {"FocusStrings", strings.Join(report.SuiteConfig.FocusStrings, ",")}, + {"SkipStrings", strings.Join(report.SuiteConfig.SkipStrings, ",")}, + {"FocusFiles", strings.Join(report.SuiteConfig.FocusFiles, ";")}, + {"SkipFiles", strings.Join(report.SuiteConfig.SkipFiles, ";")}, + {"FailOnPending", fmt.Sprintf("%t", report.SuiteConfig.FailOnPending)}, + {"FailOnEmpty", fmt.Sprintf("%t", report.SuiteConfig.FailOnEmpty)}, + {"FailFast", fmt.Sprintf("%t", report.SuiteConfig.FailFast)}, + {"FlakeAttempts", fmt.Sprintf("%d", report.SuiteConfig.FlakeAttempts)}, + {"DryRun", fmt.Sprintf("%t", report.SuiteConfig.DryRun)}, + {"ParallelTotal", fmt.Sprintf("%d", report.SuiteConfig.ParallelTotal)}, + {"OutputInterceptorMode", report.SuiteConfig.OutputInterceptorMode}, + }, + }, + } + for _, spec := range report.SpecReports { + if config.OmitSuiteSetupNodes && spec.LeafNodeType != types.NodeTypeIt { + continue + } + name := fmt.Sprintf("[%s]", spec.LeafNodeType) + if config.OmitLeafNodeType { + name = "" + } + if spec.FullText() != "" { + name = name + " " + spec.FullText() + } + labels := spec.Labels() + if len(labels) > 0 && !config.OmitSpecLabels { + name = name + " [" + strings.Join(labels, ", ") + "]" + } + owner := "" + for _, label := range labels { + if matches := ownerRE.FindStringSubmatch(label); len(matches) == 2 { + owner = matches[1] + } + } + name = strings.TrimSpace(name) + + test := JUnitTestCase{ + Name: name, + Classname: report.SuiteDescription, + Status: spec.State.String(), + Time: spec.RunTime.Seconds(), + Owner: owner, + } + if !spec.State.Is(config.OmitTimelinesForSpecState) { + test.SystemErr = systemErrForUnstructuredReporters(spec) + } + if !config.OmitCapturedStdOutErr { + test.SystemOut = systemOutForUnstructuredReporters(spec) + } + suite.Tests += 1 + + switch spec.State { + case types.SpecStateSkipped: + message := "skipped" + if spec.Failure.Message != "" { + message += " - " + spec.Failure.Message + } + test.Skipped = &JUnitSkipped{Message: message} + suite.Skipped += 1 + case types.SpecStatePending: + test.Skipped = &JUnitSkipped{Message: "pending"} + suite.Disabled += 1 + case types.SpecStateFailed: + test.Failure = &JUnitFailure{ + Message: spec.Failure.Message, + Type: "failed", + Description: failureDescriptionForUnstructuredReporters(spec), + } + if config.OmitFailureMessageAttr { + test.Failure.Message = "" + } + suite.Failures += 1 + case types.SpecStateTimedout: + test.Failure = &JUnitFailure{ + Message: spec.Failure.Message, + Type: "timedout", + Description: failureDescriptionForUnstructuredReporters(spec), + } + if config.OmitFailureMessageAttr { + test.Failure.Message = "" + } + suite.Failures += 1 + case types.SpecStateInterrupted: + test.Error = &JUnitError{ + Message: spec.Failure.Message, + Type: "interrupted", + Description: failureDescriptionForUnstructuredReporters(spec), + } + if config.OmitFailureMessageAttr { + test.Error.Message = "" + } + suite.Errors += 1 + case types.SpecStateAborted: + test.Failure = &JUnitFailure{ + Message: spec.Failure.Message, + Type: "aborted", + Description: failureDescriptionForUnstructuredReporters(spec), + } + if config.OmitFailureMessageAttr { + test.Failure.Message = "" + } + suite.Errors += 1 + case types.SpecStatePanicked: + test.Error = &JUnitError{ + Message: spec.Failure.ForwardedPanic, + Type: "panicked", + Description: failureDescriptionForUnstructuredReporters(spec), + } + if config.OmitFailureMessageAttr { + test.Error.Message = "" + } + suite.Errors += 1 + } + + suite.TestCases = append(suite.TestCases, test) + } + + junitReport := JUnitTestSuites{ + Tests: suite.Tests, + Disabled: suite.Disabled + suite.Skipped, + Errors: suite.Errors, + Failures: suite.Failures, + Time: suite.Time, + TestSuites: []JUnitTestSuite{suite}, + } + + if err := os.MkdirAll(path.Dir(dst), 0770); err != nil { + return err + } + f, err := os.Create(dst) + if err != nil { + return err + } + f.WriteString(xml.Header) + encoder := xml.NewEncoder(f) + encoder.Indent(" ", " ") + encoder.Encode(junitReport) + + return f.Close() +} + +func MergeAndCleanupJUnitReports(sources []string, dst string) ([]string, error) { + messages := []string{} + mergedReport := JUnitTestSuites{} + for _, source := range sources { + report := JUnitTestSuites{} + f, err := os.Open(source) + if err != nil { + messages = append(messages, fmt.Sprintf("Could not open %s:\n%s", source, err.Error())) + continue + } + err = xml.NewDecoder(f).Decode(&report) + _ = f.Close() + if err != nil { + messages = append(messages, fmt.Sprintf("Could not decode %s:\n%s", source, err.Error())) + continue + } + os.Remove(source) + + mergedReport.Tests += report.Tests + mergedReport.Disabled += report.Disabled + mergedReport.Errors += report.Errors + mergedReport.Failures += report.Failures + mergedReport.Time += report.Time + mergedReport.TestSuites = append(mergedReport.TestSuites, report.TestSuites...) + } + + if err := os.MkdirAll(path.Dir(dst), 0770); err != nil { + return messages, err + } + f, err := os.Create(dst) + if err != nil { + return messages, err + } + f.WriteString(xml.Header) + encoder := xml.NewEncoder(f) + encoder.Indent(" ", " ") + encoder.Encode(mergedReport) + + return messages, f.Close() +} + +func failureDescriptionForUnstructuredReporters(spec types.SpecReport) string { + out := &strings.Builder{} + NewDefaultReporter(types.ReporterConfig{NoColor: true, VeryVerbose: true}, out).emitFailure(0, spec.State, spec.Failure, true) + if len(spec.AdditionalFailures) > 0 { + out.WriteString("\nThere were additional failures detected after the initial failure. These are visible in the timeline\n") + } + return out.String() +} + +func systemErrForUnstructuredReporters(spec types.SpecReport) string { + return RenderTimeline(spec, true) +} + +func RenderTimeline(spec types.SpecReport, noColor bool) string { + out := &strings.Builder{} + NewDefaultReporter(types.ReporterConfig{NoColor: noColor, VeryVerbose: true}, out).emitTimeline(0, spec, spec.Timeline()) + return out.String() +} + +func systemOutForUnstructuredReporters(spec types.SpecReport) string { + return spec.CapturedStdOutErr +} + +// Deprecated JUnitReporter (so folks can still compile their suites) +type JUnitReporter struct{} + +func NewJUnitReporter(_ string) *JUnitReporter { return &JUnitReporter{} } +func (reporter *JUnitReporter) SuiteWillBegin(_ config.GinkgoConfigType, _ *types.SuiteSummary) {} +func (reporter *JUnitReporter) BeforeSuiteDidRun(_ *types.SetupSummary) {} +func (reporter *JUnitReporter) SpecWillRun(_ *types.SpecSummary) {} +func (reporter *JUnitReporter) SpecDidComplete(_ *types.SpecSummary) {} +func (reporter *JUnitReporter) AfterSuiteDidRun(_ *types.SetupSummary) {} +func (reporter *JUnitReporter) SuiteDidEnd(_ *types.SuiteSummary) {} diff --git a/vendor/github.com/onsi/ginkgo/v2/reporters/reporter.go b/vendor/github.com/onsi/ginkgo/v2/reporters/reporter.go new file mode 100644 index 000000000..5e726c464 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/reporters/reporter.go @@ -0,0 +1,29 @@ +package reporters + +import ( + "github.com/onsi/ginkgo/v2/types" +) + +type Reporter interface { + SuiteWillBegin(report types.Report) + WillRun(report types.SpecReport) + DidRun(report types.SpecReport) + SuiteDidEnd(report types.Report) + + //Timeline emission + EmitFailure(state types.SpecState, failure types.Failure) + EmitProgressReport(progressReport types.ProgressReport) + EmitReportEntry(entry types.ReportEntry) + EmitSpecEvent(event types.SpecEvent) +} + +type NoopReporter struct{} + +func (n NoopReporter) SuiteWillBegin(report types.Report) {} +func (n NoopReporter) WillRun(report types.SpecReport) {} +func (n NoopReporter) DidRun(report types.SpecReport) {} +func (n NoopReporter) SuiteDidEnd(report types.Report) {} +func (n NoopReporter) EmitFailure(state types.SpecState, failure types.Failure) {} +func (n NoopReporter) EmitProgressReport(progressReport types.ProgressReport) {} +func (n NoopReporter) EmitReportEntry(entry types.ReportEntry) {} +func (n NoopReporter) EmitSpecEvent(event types.SpecEvent) {} diff --git a/vendor/github.com/onsi/ginkgo/v2/reporters/teamcity_report.go b/vendor/github.com/onsi/ginkgo/v2/reporters/teamcity_report.go new file mode 100644 index 000000000..e990ad82e --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/reporters/teamcity_report.go @@ -0,0 +1,105 @@ +/* + +TeamCity Reporter for Ginkgo + +Makes use of TeamCity's support for Service Messages +http://confluence.jetbrains.com/display/TCD7/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-ReportingTests +*/ + +package reporters + +import ( + "fmt" + "os" + "path" + "strings" + + "github.com/onsi/ginkgo/v2/types" +) + +func tcEscape(s string) string { + s = strings.ReplaceAll(s, "|", "||") + s = strings.ReplaceAll(s, "'", "|'") + s = strings.ReplaceAll(s, "\n", "|n") + s = strings.ReplaceAll(s, "\r", "|r") + s = strings.ReplaceAll(s, "[", "|[") + s = strings.ReplaceAll(s, "]", "|]") + return s +} + +func GenerateTeamcityReport(report types.Report, dst string) error { + if err := os.MkdirAll(path.Dir(dst), 0770); err != nil { + return err + } + f, err := os.Create(dst) + if err != nil { + return err + } + + name := report.SuiteDescription + labels := report.SuiteLabels + if len(labels) > 0 { + name = name + " [" + strings.Join(labels, ", ") + "]" + } + fmt.Fprintf(f, "##teamcity[testSuiteStarted name='%s']\n", tcEscape(name)) + for _, spec := range report.SpecReports { + name := fmt.Sprintf("[%s]", spec.LeafNodeType) + if spec.FullText() != "" { + name = name + " " + spec.FullText() + } + labels := spec.Labels() + if len(labels) > 0 { + name = name + " [" + strings.Join(labels, ", ") + "]" + } + + name = tcEscape(name) + fmt.Fprintf(f, "##teamcity[testStarted name='%s']\n", name) + switch spec.State { + case types.SpecStatePending: + fmt.Fprintf(f, "##teamcity[testIgnored name='%s' message='pending']\n", name) + case types.SpecStateSkipped: + message := "skipped" + if spec.Failure.Message != "" { + message += " - " + spec.Failure.Message + } + fmt.Fprintf(f, "##teamcity[testIgnored name='%s' message='%s']\n", name, tcEscape(message)) + case types.SpecStateFailed: + details := failureDescriptionForUnstructuredReporters(spec) + fmt.Fprintf(f, "##teamcity[testFailed name='%s' message='failed - %s' details='%s']\n", name, tcEscape(spec.Failure.Message), tcEscape(details)) + case types.SpecStatePanicked: + details := failureDescriptionForUnstructuredReporters(spec) + fmt.Fprintf(f, "##teamcity[testFailed name='%s' message='panicked - %s' details='%s']\n", name, tcEscape(spec.Failure.ForwardedPanic), tcEscape(details)) + case types.SpecStateTimedout: + details := failureDescriptionForUnstructuredReporters(spec) + fmt.Fprintf(f, "##teamcity[testFailed name='%s' message='timedout - %s' details='%s']\n", name, tcEscape(spec.Failure.Message), tcEscape(details)) + case types.SpecStateInterrupted: + details := failureDescriptionForUnstructuredReporters(spec) + fmt.Fprintf(f, "##teamcity[testFailed name='%s' message='interrupted - %s' details='%s']\n", name, tcEscape(spec.Failure.Message), tcEscape(details)) + case types.SpecStateAborted: + details := failureDescriptionForUnstructuredReporters(spec) + fmt.Fprintf(f, "##teamcity[testFailed name='%s' message='aborted - %s' details='%s']\n", name, tcEscape(spec.Failure.Message), tcEscape(details)) + } + + fmt.Fprintf(f, "##teamcity[testStdOut name='%s' out='%s']\n", name, tcEscape(systemOutForUnstructuredReporters(spec))) + fmt.Fprintf(f, "##teamcity[testStdErr name='%s' out='%s']\n", name, tcEscape(systemErrForUnstructuredReporters(spec))) + fmt.Fprintf(f, "##teamcity[testFinished name='%s' duration='%d']\n", name, int(spec.RunTime.Seconds()*1000.0)) + } + fmt.Fprintf(f, "##teamcity[testSuiteFinished name='%s']\n", tcEscape(report.SuiteDescription)) + + return f.Close() +} + +func MergeAndCleanupTeamcityReports(sources []string, dst string) ([]string, error) { + messages := []string{} + merged := []byte{} + for _, source := range sources { + data, err := os.ReadFile(source) + if err != nil { + messages = append(messages, fmt.Sprintf("Could not open %s:\n%s", source, err.Error())) + continue + } + os.Remove(source) + merged = append(merged, data...) + } + return messages, os.WriteFile(dst, merged, 0666) +} diff --git a/vendor/github.com/onsi/ginkgo/v2/reporting_dsl.go b/vendor/github.com/onsi/ginkgo/v2/reporting_dsl.go new file mode 100644 index 000000000..aa1a35176 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/reporting_dsl.go @@ -0,0 +1,221 @@ +package ginkgo + +import ( + "fmt" + "strings" + + "github.com/onsi/ginkgo/v2/internal" + "github.com/onsi/ginkgo/v2/internal/global" + "github.com/onsi/ginkgo/v2/reporters" + "github.com/onsi/ginkgo/v2/types" +) + +/* +Report represents the report for a Suite. +It is documented here: https://pkg.go.dev/github.com/onsi/ginkgo/v2/types#Report +*/ +type Report = types.Report + +/* +Report represents the report for a Spec. +It is documented here: https://pkg.go.dev/github.com/onsi/ginkgo/v2/types#SpecReport +*/ +type SpecReport = types.SpecReport + +/* +CurrentSpecReport returns information about the current running spec. +The returned object is a types.SpecReport which includes helper methods +to make extracting information about the spec easier. + +You can learn more about SpecReport here: https://pkg.go.dev/github.com/onsi/ginkgo/types#SpecReport +You can learn more about CurrentSpecReport() here: https://onsi.github.io/ginkgo/#getting-a-report-for-the-current-spec +*/ +func CurrentSpecReport() SpecReport { + return global.Suite.CurrentSpecReport() +} + +/* + ReportEntryVisibility governs the visibility of ReportEntries in Ginkgo's console reporter + +- ReportEntryVisibilityAlways: the default behavior - the ReportEntry is always emitted. +- ReportEntryVisibilityFailureOrVerbose: the ReportEntry is only emitted if the spec fails or if the tests are run with -v (similar to GinkgoWriters behavior). +- ReportEntryVisibilityNever: the ReportEntry is never emitted though it appears in any generated machine-readable reports (e.g. by setting `--json-report`). + +You can learn more about Report Entries here: https://onsi.github.io/ginkgo/#attaching-data-to-reports +*/ +type ReportEntryVisibility = types.ReportEntryVisibility + +const ReportEntryVisibilityAlways, ReportEntryVisibilityFailureOrVerbose, ReportEntryVisibilityNever = types.ReportEntryVisibilityAlways, types.ReportEntryVisibilityFailureOrVerbose, types.ReportEntryVisibilityNever + +/* +AddReportEntry generates and adds a new ReportEntry to the current spec's SpecReport. +It can take any of the following arguments: + - A single arbitrary object to attach as the Value of the ReportEntry. This object will be included in any generated reports and will be emitted to the console when the report is emitted. + - A ReportEntryVisibility enum to control the visibility of the ReportEntry + - An Offset or CodeLocation decoration to control the reported location of the ReportEntry + +If the Value object implements `fmt.Stringer`, it's `String()` representation is used when emitting to the console. + +AddReportEntry() must be called within a Subject or Setup node - not in a Container node. + +You can learn more about Report Entries here: https://onsi.github.io/ginkgo/#attaching-data-to-reports +*/ +func AddReportEntry(name string, args ...interface{}) { + cl := types.NewCodeLocation(1) + reportEntry, err := internal.NewReportEntry(name, cl, args...) + if err != nil { + Fail(fmt.Sprintf("Failed to generate Report Entry:\n%s", err.Error()), 1) + } + err = global.Suite.AddReportEntry(reportEntry) + if err != nil { + Fail(fmt.Sprintf("Failed to add Report Entry:\n%s", err.Error()), 1) + } +} + +/* +ReportBeforeEach nodes are run for each spec, even if the spec is skipped or pending. ReportBeforeEach nodes take a function that +receives a SpecReport or both SpecContext and Report for interruptible behavior. They are called before the spec starts. + +Example: + + ReportBeforeEach(func(report SpecReport) { // process report }) + ReportBeforeEach(func(ctx SpecContext, report SpecReport) { + // process report + }), NodeTimeout(1 * time.Minute)) + +You cannot nest any other Ginkgo nodes within a ReportBeforeEach node's closure. +You can learn more about ReportBeforeEach here: https://onsi.github.io/ginkgo/#generating-reports-programmatically + +You can learn about interruptible nodes here: https://onsi.github.io/ginkgo/#spec-timeouts-and-interruptible-nodes +*/ +func ReportBeforeEach(body any, args ...any) bool { + combinedArgs := []interface{}{body} + combinedArgs = append(combinedArgs, args...) + + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeReportBeforeEach, "", combinedArgs...)) +} + +/* +ReportAfterEach nodes are run for each spec, even if the spec is skipped or pending. +ReportAfterEach nodes take a function that receives a SpecReport or both SpecContext and Report for interruptible behavior. +They are called after the spec has completed and receive the final report for the spec. + +Example: + + ReportAfterEach(func(report SpecReport) { // process report }) + ReportAfterEach(func(ctx SpecContext, report SpecReport) { + // process report + }), NodeTimeout(1 * time.Minute)) + +You cannot nest any other Ginkgo nodes within a ReportAfterEach node's closure. +You can learn more about ReportAfterEach here: https://onsi.github.io/ginkgo/#generating-reports-programmatically + +You can learn about interruptible nodes here: https://onsi.github.io/ginkgo/#spec-timeouts-and-interruptible-nodes +*/ +func ReportAfterEach(body any, args ...any) bool { + combinedArgs := []interface{}{body} + combinedArgs = append(combinedArgs, args...) + + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeReportAfterEach, "", combinedArgs...)) +} + +/* +ReportBeforeSuite nodes are run at the beginning of the suite. ReportBeforeSuite nodes take a function +that can either receive Report or both SpecContext and Report for interruptible behavior. + +Example Usage: + + ReportBeforeSuite(func(r Report) { // process report }) + ReportBeforeSuite(func(ctx SpecContext, r Report) { + // process report + }, NodeTimeout(1 * time.Minute)) + +They are called at the beginning of the suite, before any specs have run and any BeforeSuite or SynchronizedBeforeSuite nodes, and are passed in the initial report for the suite. +ReportBeforeSuite nodes must be created at the top-level (i.e. not nested in a Context/Describe/When node) + +# When running in parallel, Ginkgo ensures that only one of the parallel nodes runs the ReportBeforeSuite + +You cannot nest any other Ginkgo nodes within a ReportAfterSuite node's closure. +You can learn more about ReportAfterSuite here: https://onsi.github.io/ginkgo/#generating-reports-programmatically + +You can learn more about Ginkgo's reporting infrastructure, including generating reports with the CLI here: https://onsi.github.io/ginkgo/#generating-machine-readable-reports + +You can learn about interruptible nodes here: https://onsi.github.io/ginkgo/#spec-timeouts-and-interruptible-nodes +*/ +func ReportBeforeSuite(body any, args ...any) bool { + combinedArgs := []interface{}{body} + combinedArgs = append(combinedArgs, args...) + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeReportBeforeSuite, "", combinedArgs...)) +} + +/* +ReportAfterSuite nodes are run at the end of the suite. ReportAfterSuite nodes execute at the suite's conclusion, +and accept a function that can either receive Report or both SpecContext and Report for interruptible behavior. + +Example Usage: + + ReportAfterSuite("Non-interruptible ReportAfterSuite", func(r Report) { // process report }) + ReportAfterSuite("Interruptible ReportAfterSuite", func(ctx SpecContext, r Report) { + // process report + }, NodeTimeout(1 * time.Minute)) + +They are called at the end of the suite, after all specs have run and any AfterSuite or SynchronizedAfterSuite nodes, and are passed in the final report for the suite. +ReportAfterSuite nodes must be created at the top-level (i.e. not nested in a Context/Describe/When node) + +When running in parallel, Ginkgo ensures that only one of the parallel nodes runs the ReportAfterSuite and that it is passed a report that is aggregated across +all parallel nodes + +In addition to using ReportAfterSuite to programmatically generate suite reports, you can also generate JSON, JUnit, and Teamcity formatted reports using the --json-report, --junit-report, and --teamcity-report ginkgo CLI flags. + +You cannot nest any other Ginkgo nodes within a ReportAfterSuite node's closure. +You can learn more about ReportAfterSuite here: https://onsi.github.io/ginkgo/#generating-reports-programmatically + +You can learn more about Ginkgo's reporting infrastructure, including generating reports with the CLI here: https://onsi.github.io/ginkgo/#generating-machine-readable-reports + +You can learn about interruptible nodes here: https://onsi.github.io/ginkgo/#spec-timeouts-and-interruptible-nodes +*/ +func ReportAfterSuite(text string, body any, args ...interface{}) bool { + combinedArgs := []interface{}{body} + combinedArgs = append(combinedArgs, args...) + return pushNode(internal.NewNode(deprecationTracker, types.NodeTypeReportAfterSuite, text, combinedArgs...)) +} + +func registerReportAfterSuiteNodeForAutogeneratedReports(reporterConfig types.ReporterConfig) { + body := func(report Report) { + if reporterConfig.JSONReport != "" { + err := reporters.GenerateJSONReport(report, reporterConfig.JSONReport) + if err != nil { + Fail(fmt.Sprintf("Failed to generate JSON report:\n%s", err.Error())) + } + } + if reporterConfig.JUnitReport != "" { + err := reporters.GenerateJUnitReport(report, reporterConfig.JUnitReport) + if err != nil { + Fail(fmt.Sprintf("Failed to generate JUnit report:\n%s", err.Error())) + } + } + if reporterConfig.TeamcityReport != "" { + err := reporters.GenerateTeamcityReport(report, reporterConfig.TeamcityReport) + if err != nil { + Fail(fmt.Sprintf("Failed to generate Teamcity report:\n%s", err.Error())) + } + } + } + + flags := []string{} + if reporterConfig.JSONReport != "" { + flags = append(flags, "--json-report") + } + if reporterConfig.JUnitReport != "" { + flags = append(flags, "--junit-report") + } + if reporterConfig.TeamcityReport != "" { + flags = append(flags, "--teamcity-report") + } + pushNode(internal.NewNode( + deprecationTracker, types.NodeTypeReportAfterSuite, + fmt.Sprintf("Autogenerated ReportAfterSuite for %s", strings.Join(flags, " ")), + body, + types.NewCustomCodeLocation("autogenerated by Ginkgo"), + )) +} diff --git a/vendor/github.com/onsi/ginkgo/v2/table_dsl.go b/vendor/github.com/onsi/ginkgo/v2/table_dsl.go new file mode 100644 index 000000000..c7de7a8be --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/table_dsl.go @@ -0,0 +1,386 @@ +package ginkgo + +import ( + "context" + "fmt" + "reflect" + "strings" + + "github.com/onsi/ginkgo/v2/internal" + "github.com/onsi/ginkgo/v2/types" +) + +/* +The EntryDescription decorator allows you to pass a format string to DescribeTable() and Entry(). This format string is used to generate entry names via: + + fmt.Sprintf(formatString, parameters...) + +where parameters are the parameters passed into the entry. + +When passed into an Entry the EntryDescription is used to generate the name or that entry. When passed to DescribeTable, the EntryDescription is used to generate the names for any entries that have `nil` descriptions. + +You can learn more about generating EntryDescriptions here: https://onsi.github.io/ginkgo/#generating-entry-descriptions +*/ +type EntryDescription string + +func (ed EntryDescription) render(args ...interface{}) string { + return fmt.Sprintf(string(ed), args...) +} + +/* +DescribeTable describes a table-driven spec. + +For example: + + DescribeTable("a simple table", + func(x int, y int, expected bool) { + Ω(x > y).Should(Equal(expected)) + }, + Entry("x > y", 1, 0, true), + Entry("x == y", 0, 0, false), + Entry("x < y", 0, 1, false), + ) + +You can learn more about DescribeTable here: https://onsi.github.io/ginkgo/#table-specs +And can explore some Table patterns here: https://onsi.github.io/ginkgo/#table-specs-patterns +*/ +func DescribeTable(description string, args ...interface{}) bool { + GinkgoHelper() + generateTable(description, false, args...) + return true +} + +/* +You can focus a table with `FDescribeTable`. This is equivalent to `FDescribe`. +*/ +func FDescribeTable(description string, args ...interface{}) bool { + GinkgoHelper() + args = append(args, internal.Focus) + generateTable(description, false, args...) + return true +} + +/* +You can mark a table as pending with `PDescribeTable`. This is equivalent to `PDescribe`. +*/ +func PDescribeTable(description string, args ...interface{}) bool { + GinkgoHelper() + args = append(args, internal.Pending) + generateTable(description, false, args...) + return true +} + +/* +You can mark a table as pending with `XDescribeTable`. This is equivalent to `XDescribe`. +*/ +var XDescribeTable = PDescribeTable + +/* +DescribeTableSubtree describes a table-driven spec that generates a set of tests for each entry. + +For example: + + DescribeTableSubtree("a subtree table", + func(url string, code int, message string) { + var resp *http.Response + BeforeEach(func() { + var err error + resp, err = http.Get(url) + Expect(err).NotTo(HaveOccurred()) + DeferCleanup(resp.Body.Close) + }) + + It("should return the expected status code", func() { + Expect(resp.StatusCode).To(Equal(code)) + }) + + It("should return the expected message", func() { + body, err := ioutil.ReadAll(resp.Body) + Expect(err).NotTo(HaveOccurred()) + Expect(string(body)).To(Equal(message)) + }) + }, + Entry("default response", "example.com/response", http.StatusOK, "hello world"), + Entry("missing response", "example.com/missing", http.StatusNotFound, "wat?"), + ) + +Note that you **must** place define an It inside the body function. + +You can learn more about DescribeTableSubtree here: https://onsi.github.io/ginkgo/#table-specs +And can explore some Table patterns here: https://onsi.github.io/ginkgo/#table-specs-patterns +*/ +func DescribeTableSubtree(description string, args ...interface{}) bool { + GinkgoHelper() + generateTable(description, true, args...) + return true +} + +/* +You can focus a table with `FDescribeTableSubtree`. This is equivalent to `FDescribe`. +*/ +func FDescribeTableSubtree(description string, args ...interface{}) bool { + GinkgoHelper() + args = append(args, internal.Focus) + generateTable(description, true, args...) + return true +} + +/* +You can mark a table as pending with `PDescribeTableSubtree`. This is equivalent to `PDescribe`. +*/ +func PDescribeTableSubtree(description string, args ...interface{}) bool { + GinkgoHelper() + args = append(args, internal.Pending) + generateTable(description, true, args...) + return true +} + +/* +You can mark a table as pending with `XDescribeTableSubtree`. This is equivalent to `XDescribe`. +*/ +var XDescribeTableSubtree = PDescribeTableSubtree + +/* +TableEntry represents an entry in a table test. You generally use the `Entry` constructor. +*/ +type TableEntry struct { + description interface{} + decorations []interface{} + parameters []interface{} + codeLocation types.CodeLocation +} + +/* +Entry constructs a TableEntry. + +The first argument is a description. This can be a string, a function that accepts the parameters passed to the TableEntry and returns a string, an EntryDescription format string, or nil. If nil is provided then the name of the Entry is derived using the table-level entry description. +Subsequent arguments accept any Ginkgo decorators. These are filtered out and the remaining arguments are passed into the Spec function associated with the table. + +Each Entry ends up generating an individual Ginkgo It. The body of the it is the Table Body function with the Entry parameters passed in. + +If you want to generate interruptible specs simply write a Table function that accepts a SpecContext as its first argument. You can then decorate individual Entrys with the NodeTimeout and SpecTimeout decorators. + +You can learn more about Entry here: https://onsi.github.io/ginkgo/#table-specs +*/ +func Entry(description interface{}, args ...interface{}) TableEntry { + GinkgoHelper() + decorations, parameters := internal.PartitionDecorations(args...) + return TableEntry{description: description, decorations: decorations, parameters: parameters, codeLocation: types.NewCodeLocation(0)} +} + +/* +You can focus a particular entry with FEntry. This is equivalent to FIt. +*/ +func FEntry(description interface{}, args ...interface{}) TableEntry { + GinkgoHelper() + decorations, parameters := internal.PartitionDecorations(args...) + decorations = append(decorations, internal.Focus) + return TableEntry{description: description, decorations: decorations, parameters: parameters, codeLocation: types.NewCodeLocation(0)} +} + +/* +You can mark a particular entry as pending with PEntry. This is equivalent to PIt. +*/ +func PEntry(description interface{}, args ...interface{}) TableEntry { + GinkgoHelper() + decorations, parameters := internal.PartitionDecorations(args...) + decorations = append(decorations, internal.Pending) + return TableEntry{description: description, decorations: decorations, parameters: parameters, codeLocation: types.NewCodeLocation(0)} +} + +/* +You can mark a particular entry as pending with XEntry. This is equivalent to XIt. +*/ +var XEntry = PEntry + +var contextType = reflect.TypeOf(new(context.Context)).Elem() +var specContextType = reflect.TypeOf(new(SpecContext)).Elem() + +func generateTable(description string, isSubtree bool, args ...interface{}) { + GinkgoHelper() + cl := types.NewCodeLocation(0) + containerNodeArgs := []interface{}{cl} + + entries := []TableEntry{} + var internalBody interface{} + var internalBodyType reflect.Type + + var tableLevelEntryDescription interface{} + tableLevelEntryDescription = func(args ...interface{}) string { + out := []string{} + for _, arg := range args { + out = append(out, fmt.Sprint(arg)) + } + return "Entry: " + strings.Join(out, ", ") + } + + if len(args) == 1 { + exitIfErr(types.GinkgoErrors.MissingParametersForTableFunction(cl)) + } + + for i, arg := range args { + switch t := reflect.TypeOf(arg); { + case t == nil: + exitIfErr(types.GinkgoErrors.IncorrectParameterTypeForTable(i, "nil", cl)) + case t == reflect.TypeOf(TableEntry{}): + entries = append(entries, arg.(TableEntry)) + case t == reflect.TypeOf([]TableEntry{}): + entries = append(entries, arg.([]TableEntry)...) + case t == reflect.TypeOf(EntryDescription("")): + tableLevelEntryDescription = arg.(EntryDescription).render + case t.Kind() == reflect.Func && t.NumOut() == 1 && t.Out(0) == reflect.TypeOf(""): + tableLevelEntryDescription = arg + case t.Kind() == reflect.Func: + if internalBody != nil { + exitIfErr(types.GinkgoErrors.MultipleEntryBodyFunctionsForTable(cl)) + } + internalBody = arg + internalBodyType = reflect.TypeOf(internalBody) + default: + containerNodeArgs = append(containerNodeArgs, arg) + } + } + + containerNodeArgs = append(containerNodeArgs, func() { + for _, entry := range entries { + var err error + entry := entry + var description string + switch t := reflect.TypeOf(entry.description); { + case t == nil: + err = validateParameters(tableLevelEntryDescription, entry.parameters, "Entry Description function", entry.codeLocation, false) + if err == nil { + description = invokeFunction(tableLevelEntryDescription, entry.parameters)[0].String() + } + case t == reflect.TypeOf(EntryDescription("")): + description = entry.description.(EntryDescription).render(entry.parameters...) + case t == reflect.TypeOf(""): + description = entry.description.(string) + case t.Kind() == reflect.Func && t.NumOut() == 1 && t.Out(0) == reflect.TypeOf(""): + err = validateParameters(entry.description, entry.parameters, "Entry Description function", entry.codeLocation, false) + if err == nil { + description = invokeFunction(entry.description, entry.parameters)[0].String() + } + default: + err = types.GinkgoErrors.InvalidEntryDescription(entry.codeLocation) + } + + internalNodeArgs := []interface{}{entry.codeLocation} + internalNodeArgs = append(internalNodeArgs, entry.decorations...) + + hasContext := false + if internalBodyType.NumIn() > 0 { + if internalBodyType.In(0).Implements(specContextType) { + hasContext = true + } else if internalBodyType.In(0).Implements(contextType) { + hasContext = true + if len(entry.parameters) > 0 && reflect.TypeOf(entry.parameters[0]) != nil && reflect.TypeOf(entry.parameters[0]).Implements(contextType) { + // we allow you to pass in a non-nil context + hasContext = false + } + } + } + + if err == nil { + err = validateParameters(internalBody, entry.parameters, "Table Body function", entry.codeLocation, hasContext) + } + + if hasContext { + internalNodeArgs = append(internalNodeArgs, func(c SpecContext) { + if err != nil { + panic(err) + } + invokeFunction(internalBody, append([]interface{}{c}, entry.parameters...)) + }) + if isSubtree { + exitIfErr(types.GinkgoErrors.ContextsCannotBeUsedInSubtreeTables(cl)) + } + } else { + internalNodeArgs = append(internalNodeArgs, func() { + if err != nil { + panic(err) + } + invokeFunction(internalBody, entry.parameters) + }) + } + + internalNodeType := types.NodeTypeIt + if isSubtree { + internalNodeType = types.NodeTypeContainer + } + + pushNode(internal.NewNode(deprecationTracker, internalNodeType, description, internalNodeArgs...)) + } + }) + + pushNode(internal.NewNode(deprecationTracker, types.NodeTypeContainer, description, containerNodeArgs...)) +} + +func invokeFunction(function interface{}, parameters []interface{}) []reflect.Value { + inValues := make([]reflect.Value, len(parameters)) + + funcType := reflect.TypeOf(function) + limit := funcType.NumIn() + if funcType.IsVariadic() { + limit = limit - 1 + } + + for i := 0; i < limit && i < len(parameters); i++ { + inValues[i] = computeValue(parameters[i], funcType.In(i)) + } + + if funcType.IsVariadic() { + variadicType := funcType.In(limit).Elem() + for i := limit; i < len(parameters); i++ { + inValues[i] = computeValue(parameters[i], variadicType) + } + } + + return reflect.ValueOf(function).Call(inValues) +} + +func validateParameters(function interface{}, parameters []interface{}, kind string, cl types.CodeLocation, hasContext bool) error { + funcType := reflect.TypeOf(function) + limit := funcType.NumIn() + offset := 0 + if hasContext { + limit = limit - 1 + offset = 1 + } + if funcType.IsVariadic() { + limit = limit - 1 + } + if len(parameters) < limit { + return types.GinkgoErrors.TooFewParametersToTableFunction(limit, len(parameters), kind, cl) + } + if len(parameters) > limit && !funcType.IsVariadic() { + return types.GinkgoErrors.TooManyParametersToTableFunction(limit, len(parameters), kind, cl) + } + var i = 0 + for ; i < limit; i++ { + actual := reflect.TypeOf(parameters[i]) + expected := funcType.In(i + offset) + if !(actual == nil) && !actual.AssignableTo(expected) { + return types.GinkgoErrors.IncorrectParameterTypeToTableFunction(i+1, expected, actual, kind, cl) + } + } + if funcType.IsVariadic() { + expected := funcType.In(limit + offset).Elem() + for ; i < len(parameters); i++ { + actual := reflect.TypeOf(parameters[i]) + if !(actual == nil) && !actual.AssignableTo(expected) { + return types.GinkgoErrors.IncorrectVariadicParameterTypeToTableFunction(expected, actual, kind, cl) + } + } + } + + return nil +} + +func computeValue(parameter interface{}, t reflect.Type) reflect.Value { + if parameter == nil { + return reflect.Zero(t) + } else { + return reflect.ValueOf(parameter) + } +} diff --git a/vendor/github.com/onsi/ginkgo/v2/types/code_location.go b/vendor/github.com/onsi/ginkgo/v2/types/code_location.go new file mode 100644 index 000000000..57e87517e --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/types/code_location.go @@ -0,0 +1,159 @@ +package types + +import ( + "fmt" + "os" + "regexp" + "runtime" + "runtime/debug" + "strings" + "sync" +) + +type CodeLocation struct { + FileName string `json:",omitempty"` + LineNumber int `json:",omitempty"` + FullStackTrace string `json:",omitempty"` + CustomMessage string `json:",omitempty"` +} + +func (codeLocation CodeLocation) String() string { + if codeLocation.CustomMessage != "" { + return codeLocation.CustomMessage + } + return fmt.Sprintf("%s:%d", codeLocation.FileName, codeLocation.LineNumber) +} + +func (codeLocation CodeLocation) ContentsOfLine() string { + if codeLocation.CustomMessage != "" { + return "" + } + contents, err := os.ReadFile(codeLocation.FileName) + if err != nil { + return "" + } + lines := strings.Split(string(contents), "\n") + if len(lines) < codeLocation.LineNumber { + return "" + } + return lines[codeLocation.LineNumber-1] +} + +type codeLocationLocator struct { + pcs map[uintptr]bool + helpers map[string]bool + lock *sync.Mutex +} + +func (c *codeLocationLocator) addHelper(pc uintptr) { + c.lock.Lock() + defer c.lock.Unlock() + + if c.pcs[pc] { + return + } + c.lock.Unlock() + f := runtime.FuncForPC(pc) + c.lock.Lock() + if f == nil { + return + } + c.helpers[f.Name()] = true + c.pcs[pc] = true +} + +func (c *codeLocationLocator) hasHelper(name string) bool { + c.lock.Lock() + defer c.lock.Unlock() + return c.helpers[name] +} + +func (c *codeLocationLocator) getCodeLocation(skip int) CodeLocation { + pc := make([]uintptr, 40) + n := runtime.Callers(skip+2, pc) + if n == 0 { + return CodeLocation{} + } + pc = pc[:n] + frames := runtime.CallersFrames(pc) + for { + frame, more := frames.Next() + if !c.hasHelper(frame.Function) { + return CodeLocation{FileName: frame.File, LineNumber: frame.Line} + } + if !more { + break + } + } + return CodeLocation{} +} + +var clLocator = &codeLocationLocator{ + pcs: map[uintptr]bool{}, + helpers: map[string]bool{}, + lock: &sync.Mutex{}, +} + +// MarkAsHelper is used by GinkgoHelper to mark the caller (appropriately offset by skip)as a helper. You can use this directly if you need to provide an optional `skip` to mark functions further up the call stack as helpers. +func MarkAsHelper(optionalSkip ...int) { + skip := 1 + if len(optionalSkip) > 0 { + skip += optionalSkip[0] + } + pc, _, _, ok := runtime.Caller(skip) + if ok { + clLocator.addHelper(pc) + } +} + +func NewCustomCodeLocation(message string) CodeLocation { + return CodeLocation{ + CustomMessage: message, + } +} + +func NewCodeLocation(skip int) CodeLocation { + return clLocator.getCodeLocation(skip + 1) +} + +func NewCodeLocationWithStackTrace(skip int) CodeLocation { + cl := clLocator.getCodeLocation(skip + 1) + cl.FullStackTrace = PruneStack(string(debug.Stack()), skip+1) + return cl +} + +// PruneStack removes references to functions that are internal to Ginkgo +// and the Go runtime from a stack string and a certain number of stack entries +// at the beginning of the stack. The stack string has the format +// as returned by runtime/debug.Stack. The leading goroutine information is +// optional and always removed if present. Beware that runtime/debug.Stack +// adds itself as first entry, so typically skip must be >= 1 to remove that +// entry. +func PruneStack(fullStackTrace string, skip int) string { + stack := strings.Split(fullStackTrace, "\n") + // Ensure that the even entries are the method names and the + // odd entries the source code information. + if len(stack) > 0 && strings.HasPrefix(stack[0], "goroutine ") { + // Ignore "goroutine 29 [running]:" line. + stack = stack[1:] + } + // The "+1" is for skipping over the initial entry, which is + // runtime/debug.Stack() itself. + if len(stack) > 2*(skip+1) { + stack = stack[2*(skip+1):] + } + prunedStack := []string{} + if os.Getenv("GINKGO_PRUNE_STACK") == "FALSE" { + prunedStack = stack + } else { + re := regexp.MustCompile(`\/ginkgo\/|\/pkg\/testing\/|\/pkg\/runtime\/`) + for i := 0; i < len(stack)/2; i++ { + // We filter out based on the source code file name. + if !re.MatchString(stack[i*2+1]) { + prunedStack = append(prunedStack, stack[i*2]) + prunedStack = append(prunedStack, stack[i*2+1]) + } + } + } + return strings.Join(prunedStack, "\n") +} diff --git a/vendor/github.com/onsi/ginkgo/v2/types/config.go b/vendor/github.com/onsi/ginkgo/v2/types/config.go new file mode 100644 index 000000000..8c0dfab8c --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/types/config.go @@ -0,0 +1,776 @@ +/* +Ginkgo accepts a number of configuration options. +These are documented [here](http://onsi.github.io/ginkgo/#the-ginkgo-cli) +*/ + +package types + +import ( + "flag" + "os" + "path/filepath" + "runtime" + "strconv" + "strings" + "time" +) + +// Configuration controlling how an individual test suite is run +type SuiteConfig struct { + RandomSeed int64 + RandomizeAllSpecs bool + FocusStrings []string + SkipStrings []string + FocusFiles []string + SkipFiles []string + LabelFilter string + FailOnPending bool + FailOnEmpty bool + FailFast bool + FlakeAttempts int + MustPassRepeatedly int + DryRun bool + PollProgressAfter time.Duration + PollProgressInterval time.Duration + Timeout time.Duration + EmitSpecProgress bool // this is deprecated but its removal is causing compile issue for some users that were setting it manually + OutputInterceptorMode string + SourceRoots []string + GracePeriod time.Duration + + ParallelProcess int + ParallelTotal int + ParallelHost string +} + +func NewDefaultSuiteConfig() SuiteConfig { + return SuiteConfig{ + RandomSeed: time.Now().Unix(), + Timeout: time.Hour, + ParallelProcess: 1, + ParallelTotal: 1, + GracePeriod: 30 * time.Second, + } +} + +type VerbosityLevel uint + +const ( + VerbosityLevelSuccinct VerbosityLevel = iota + VerbosityLevelNormal + VerbosityLevelVerbose + VerbosityLevelVeryVerbose +) + +func (vl VerbosityLevel) GT(comp VerbosityLevel) bool { + return vl > comp +} + +func (vl VerbosityLevel) GTE(comp VerbosityLevel) bool { + return vl >= comp +} + +func (vl VerbosityLevel) Is(comp VerbosityLevel) bool { + return vl == comp +} + +func (vl VerbosityLevel) LTE(comp VerbosityLevel) bool { + return vl <= comp +} + +func (vl VerbosityLevel) LT(comp VerbosityLevel) bool { + return vl < comp +} + +// Configuration for Ginkgo's reporter +type ReporterConfig struct { + NoColor bool + Succinct bool + Verbose bool + VeryVerbose bool + FullTrace bool + ShowNodeEvents bool + GithubOutput bool + SilenceSkips bool + ForceNewlines bool + + JSONReport string + JUnitReport string + TeamcityReport string +} + +func (rc ReporterConfig) Verbosity() VerbosityLevel { + if rc.Succinct { + return VerbosityLevelSuccinct + } else if rc.Verbose { + return VerbosityLevelVerbose + } else if rc.VeryVerbose { + return VerbosityLevelVeryVerbose + } + return VerbosityLevelNormal +} + +func (rc ReporterConfig) WillGenerateReport() bool { + return rc.JSONReport != "" || rc.JUnitReport != "" || rc.TeamcityReport != "" +} + +func NewDefaultReporterConfig() ReporterConfig { + return ReporterConfig{} +} + +// Configuration for the Ginkgo CLI +type CLIConfig struct { + //for build, run, and watch + Recurse bool + SkipPackage string + RequireSuite bool + NumCompilers int + + //for run and watch only + Procs int + Parallel bool + AfterRunHook string + OutputDir string + KeepSeparateCoverprofiles bool + KeepSeparateReports bool + + //for run only + KeepGoing bool + UntilItFails bool + Repeat int + RandomizeSuites bool + + //for watch only + Depth int + WatchRegExp string +} + +func NewDefaultCLIConfig() CLIConfig { + return CLIConfig{ + Depth: 1, + WatchRegExp: `\.go$`, + } +} + +func (g CLIConfig) ComputedProcs() int { + if g.Procs > 0 { + return g.Procs + } + + n := 1 + if g.Parallel { + n = runtime.NumCPU() + if n > 4 { + n = n - 1 + } + } + return n +} + +func (g CLIConfig) ComputedNumCompilers() int { + if g.NumCompilers > 0 { + return g.NumCompilers + } + + return runtime.NumCPU() +} + +// Configuration for the Ginkgo CLI capturing available go flags +// A subset of Go flags are exposed by Ginkgo. Some are available at compile time (e.g. ginkgo build) and others only at run time (e.g. ginkgo run - which has both build and run time flags). +// More details can be found at: +// https://docs.google.com/spreadsheets/d/1zkp-DS4hU4sAJl5eHh1UmgwxCPQhf3s5a8fbiOI8tJU/ +type GoFlagsConfig struct { + //build-time flags for code-and-performance analysis + Race bool + Cover bool + CoverMode string + CoverPkg string + Vet string + + //run-time flags for code-and-performance analysis + BlockProfile string + BlockProfileRate int + CoverProfile string + CPUProfile string + MemProfile string + MemProfileRate int + MutexProfile string + MutexProfileFraction int + Trace string + + //build-time flags for building + A bool + ASMFlags string + BuildMode string + BuildVCS bool + Compiler string + GCCGoFlags string + GCFlags string + InstallSuffix string + LDFlags string + LinkShared bool + Mod string + N bool + ModFile string + ModCacheRW bool + MSan bool + PkgDir string + Tags string + TrimPath bool + ToolExec string + Work bool + X bool + O string +} + +func NewDefaultGoFlagsConfig() GoFlagsConfig { + return GoFlagsConfig{} +} + +func (g GoFlagsConfig) BinaryMustBePreserved() bool { + return g.BlockProfile != "" || g.CPUProfile != "" || g.MemProfile != "" || g.MutexProfile != "" +} + +// Configuration that were deprecated in 2.0 +type deprecatedConfig struct { + DebugParallel bool + NoisySkippings bool + NoisyPendings bool + RegexScansFilePath bool + SlowSpecThresholdWithFLoatUnits float64 + Stream bool + Notify bool + EmitSpecProgress bool + SlowSpecThreshold time.Duration + AlwaysEmitGinkgoWriter bool +} + +// Flags + +// Flags sections used by both the CLI and the Ginkgo test process +var FlagSections = GinkgoFlagSections{ + {Key: "multiple-suites", Style: "{{dark-green}}", Heading: "Running Multiple Test Suites"}, + {Key: "order", Style: "{{green}}", Heading: "Controlling Test Order"}, + {Key: "parallel", Style: "{{yellow}}", Heading: "Controlling Test Parallelism"}, + {Key: "low-level-parallel", Style: "{{yellow}}", Heading: "Controlling Test Parallelism", + Description: "These are set by the Ginkgo CLI, {{red}}{{bold}}do not set them manually{{/}} via go test.\nUse ginkgo -p or ginkgo -procs=N instead."}, + {Key: "filter", Style: "{{cyan}}", Heading: "Filtering Tests"}, + {Key: "failure", Style: "{{red}}", Heading: "Failure Handling"}, + {Key: "output", Style: "{{magenta}}", Heading: "Controlling Output Formatting"}, + {Key: "code-and-coverage-analysis", Style: "{{orange}}", Heading: "Code and Coverage Analysis"}, + {Key: "performance-analysis", Style: "{{coral}}", Heading: "Performance Analysis"}, + {Key: "debug", Style: "{{blue}}", Heading: "Debugging Tests", + Description: "In addition to these flags, Ginkgo supports a few debugging environment variables. To change the parallel server protocol set {{blue}}GINKGO_PARALLEL_PROTOCOL{{/}} to {{bold}}HTTP{{/}}. To avoid pruning callstacks set {{blue}}GINKGO_PRUNE_STACK{{/}} to {{bold}}FALSE{{/}}."}, + {Key: "watch", Style: "{{light-yellow}}", Heading: "Controlling Ginkgo Watch"}, + {Key: "misc", Style: "{{light-gray}}", Heading: "Miscellaneous"}, + {Key: "go-build", Style: "{{light-gray}}", Heading: "Go Build Flags", Succinct: true, + Description: "These flags are inherited from go build. Run {{bold}}ginkgo help build{{/}} for more detailed flag documentation."}, +} + +// SuiteConfigFlags provides flags for the Ginkgo test process, and CLI +var SuiteConfigFlags = GinkgoFlags{ + {KeyPath: "S.RandomSeed", Name: "seed", SectionKey: "order", UsageDefaultValue: "randomly generated by Ginkgo", + Usage: "The seed used to randomize the spec suite.", AlwaysExport: true}, + {KeyPath: "S.RandomizeAllSpecs", Name: "randomize-all", SectionKey: "order", DeprecatedName: "randomizeAllSpecs", DeprecatedDocLink: "changed-command-line-flags", + Usage: "If set, ginkgo will randomize all specs together. By default, ginkgo only randomizes the top level Describe, Context and When containers."}, + + {KeyPath: "S.FailOnPending", Name: "fail-on-pending", SectionKey: "failure", DeprecatedName: "failOnPending", DeprecatedDocLink: "changed-command-line-flags", + Usage: "If set, ginkgo will mark the test suite as failed if any specs are pending."}, + {KeyPath: "S.FailFast", Name: "fail-fast", SectionKey: "failure", DeprecatedName: "failFast", DeprecatedDocLink: "changed-command-line-flags", + Usage: "If set, ginkgo will stop running a test suite after a failure occurs."}, + {KeyPath: "S.FlakeAttempts", Name: "flake-attempts", SectionKey: "failure", UsageDefaultValue: "0 - failed tests are not retried", DeprecatedName: "flakeAttempts", DeprecatedDocLink: "changed-command-line-flags", + Usage: "Make up to this many attempts to run each spec. If any of the attempts succeed, the suite will not be failed."}, + {KeyPath: "S.FailOnEmpty", Name: "fail-on-empty", SectionKey: "failure", + Usage: "If set, ginkgo will mark the test suite as failed if no specs are run."}, + + {KeyPath: "S.DryRun", Name: "dry-run", SectionKey: "debug", DeprecatedName: "dryRun", DeprecatedDocLink: "changed-command-line-flags", + Usage: "If set, ginkgo will walk the test hierarchy without actually running anything. Best paired with -v."}, + {KeyPath: "S.PollProgressAfter", Name: "poll-progress-after", SectionKey: "debug", UsageDefaultValue: "0", + Usage: "Emit node progress reports periodically if node hasn't completed after this duration."}, + {KeyPath: "S.PollProgressInterval", Name: "poll-progress-interval", SectionKey: "debug", UsageDefaultValue: "10s", + Usage: "The rate at which to emit node progress reports after poll-progress-after has elapsed."}, + {KeyPath: "S.SourceRoots", Name: "source-root", SectionKey: "debug", + Usage: "The location to look for source code when generating progress reports. You can pass multiple --source-root flags."}, + {KeyPath: "S.Timeout", Name: "timeout", SectionKey: "debug", UsageDefaultValue: "1h", + Usage: "Test suite fails if it does not complete within the specified timeout."}, + {KeyPath: "S.GracePeriod", Name: "grace-period", SectionKey: "debug", UsageDefaultValue: "30s", + Usage: "When interrupted, Ginkgo will wait for GracePeriod for the current running node to exit before moving on to the next one."}, + {KeyPath: "S.OutputInterceptorMode", Name: "output-interceptor-mode", SectionKey: "debug", UsageArgument: "dup, swap, or none", + Usage: "If set, ginkgo will use the specified output interception strategy when running in parallel. Defaults to dup on unix and swap on windows."}, + + {KeyPath: "S.LabelFilter", Name: "label-filter", SectionKey: "filter", UsageArgument: "expression", + Usage: "If set, ginkgo will only run specs with labels that match the label-filter. The passed-in expression can include boolean operations (!, &&, ||, ','), groupings via '()', and regular expressions '/regexp/'. e.g. '(cat || dog) && !fruit'"}, + {KeyPath: "S.FocusStrings", Name: "focus", SectionKey: "filter", + Usage: "If set, ginkgo will only run specs that match this regular expression. Can be specified multiple times, values are ORed."}, + {KeyPath: "S.SkipStrings", Name: "skip", SectionKey: "filter", + Usage: "If set, ginkgo will only run specs that do not match this regular expression. Can be specified multiple times, values are ORed."}, + {KeyPath: "S.FocusFiles", Name: "focus-file", SectionKey: "filter", UsageArgument: "file (regexp) | file:line | file:lineA-lineB | file:line,line,line", + Usage: "If set, ginkgo will only run specs in matching files. Can be specified multiple times, values are ORed."}, + {KeyPath: "S.SkipFiles", Name: "skip-file", SectionKey: "filter", UsageArgument: "file (regexp) | file:line | file:lineA-lineB | file:line,line,line", + Usage: "If set, ginkgo will skip specs in matching files. Can be specified multiple times, values are ORed."}, + + {KeyPath: "D.RegexScansFilePath", DeprecatedName: "regexScansFilePath", DeprecatedDocLink: "removed--regexscansfilepath", DeprecatedVersion: "2.0.0"}, + {KeyPath: "D.DebugParallel", DeprecatedName: "debug", DeprecatedDocLink: "removed--debug", DeprecatedVersion: "2.0.0"}, + {KeyPath: "D.EmitSpecProgress", DeprecatedName: "progress", SectionKey: "debug", + DeprecatedVersion: "2.5.0", Usage: ". The functionality provided by --progress was confusing and is no longer needed. Use --show-node-events instead to see node entry and exit events included in the timeline of failed and verbose specs. Or you can run with -vv to always see all node events. Lastly, --poll-progress-after and the PollProgressAfter decorator now provide a better mechanism for debugging specs that tend to get stuck."}, +} + +// ParallelConfigFlags provides flags for the Ginkgo test process (not the CLI) +var ParallelConfigFlags = GinkgoFlags{ + {KeyPath: "S.ParallelProcess", Name: "parallel.process", SectionKey: "low-level-parallel", UsageDefaultValue: "1", + Usage: "This worker process's (one-indexed) process number. For running specs in parallel."}, + {KeyPath: "S.ParallelTotal", Name: "parallel.total", SectionKey: "low-level-parallel", UsageDefaultValue: "1", + Usage: "The total number of worker processes. For running specs in parallel."}, + {KeyPath: "S.ParallelHost", Name: "parallel.host", SectionKey: "low-level-parallel", UsageDefaultValue: "set by Ginkgo CLI", + Usage: "The address for the server that will synchronize the processes."}, +} + +// ReporterConfigFlags provides flags for the Ginkgo test process, and CLI +var ReporterConfigFlags = GinkgoFlags{ + {KeyPath: "R.NoColor", Name: "no-color", SectionKey: "output", DeprecatedName: "noColor", DeprecatedDocLink: "changed-command-line-flags", + Usage: "If set, suppress color output in default reporter. You can also set the environment variable GINKGO_NO_COLOR=TRUE"}, + {KeyPath: "R.Verbose", Name: "v", SectionKey: "output", + Usage: "If set, emits more output including GinkgoWriter contents."}, + {KeyPath: "R.VeryVerbose", Name: "vv", SectionKey: "output", + Usage: "If set, emits with maximal verbosity - includes skipped and pending tests."}, + {KeyPath: "R.Succinct", Name: "succinct", SectionKey: "output", + Usage: "If set, default reporter prints out a very succinct report"}, + {KeyPath: "R.FullTrace", Name: "trace", SectionKey: "output", + Usage: "If set, default reporter prints out the full stack trace when a failure occurs"}, + {KeyPath: "R.ShowNodeEvents", Name: "show-node-events", SectionKey: "output", + Usage: "If set, default reporter prints node > Enter and < Exit events when specs fail"}, + {KeyPath: "R.GithubOutput", Name: "github-output", SectionKey: "output", + Usage: "If set, default reporter prints easier to manage output in Github Actions."}, + {KeyPath: "R.SilenceSkips", Name: "silence-skips", SectionKey: "output", + Usage: "If set, default reporter will not print out skipped tests."}, + {KeyPath: "R.ForceNewlines", Name: "force-newlines", SectionKey: "output", + Usage: "If set, default reporter will ensure a newline appears after each test."}, + + {KeyPath: "R.JSONReport", Name: "json-report", UsageArgument: "filename.json", SectionKey: "output", + Usage: "If set, Ginkgo will generate a JSON-formatted test report at the specified location."}, + {KeyPath: "R.JUnitReport", Name: "junit-report", UsageArgument: "filename.xml", SectionKey: "output", DeprecatedName: "reportFile", DeprecatedDocLink: "improved-reporting-infrastructure", + Usage: "If set, Ginkgo will generate a conformant junit test report in the specified file."}, + {KeyPath: "R.TeamcityReport", Name: "teamcity-report", UsageArgument: "filename", SectionKey: "output", + Usage: "If set, Ginkgo will generate a Teamcity-formatted test report at the specified location."}, + + {KeyPath: "D.SlowSpecThresholdWithFLoatUnits", DeprecatedName: "slowSpecThreshold", DeprecatedDocLink: "changed--slowspecthreshold", + Usage: "use --slow-spec-threshold instead and pass in a duration string (e.g. '5s', not '5.0')"}, + {KeyPath: "D.NoisyPendings", DeprecatedName: "noisyPendings", DeprecatedDocLink: "removed--noisypendings-and--noisyskippings", DeprecatedVersion: "2.0.0"}, + {KeyPath: "D.NoisySkippings", DeprecatedName: "noisySkippings", DeprecatedDocLink: "removed--noisypendings-and--noisyskippings", DeprecatedVersion: "2.0.0"}, + {KeyPath: "D.SlowSpecThreshold", DeprecatedName: "slow-spec-threshold", SectionKey: "output", Usage: "--slow-spec-threshold has been deprecated and will be removed in a future version of Ginkgo. This feature has proved to be more noisy than useful. You can use --poll-progress-after, instead, to get more actionable feedback about potentially slow specs and understand where they might be getting stuck.", DeprecatedVersion: "2.5.0"}, + {KeyPath: "D.AlwaysEmitGinkgoWriter", DeprecatedName: "always-emit-ginkgo-writer", SectionKey: "output", Usage: " - use -v instead, or one of Ginkgo's machine-readable report formats to get GinkgoWriter output for passing specs."}, +} + +// BuildTestSuiteFlagSet attaches to the CommandLine flagset and provides flags for the Ginkgo test process +func BuildTestSuiteFlagSet(suiteConfig *SuiteConfig, reporterConfig *ReporterConfig) (GinkgoFlagSet, error) { + flags := SuiteConfigFlags.CopyAppend(ParallelConfigFlags...).CopyAppend(ReporterConfigFlags...) + flags = flags.WithPrefix("ginkgo") + bindings := map[string]interface{}{ + "S": suiteConfig, + "R": reporterConfig, + "D": &deprecatedConfig{}, + } + extraGoFlagsSection := GinkgoFlagSection{Style: "{{gray}}", Heading: "Go test flags"} + + return NewAttachedGinkgoFlagSet(flag.CommandLine, flags, bindings, FlagSections, extraGoFlagsSection) +} + +// VetConfig validates that the Ginkgo test process' configuration is sound +func VetConfig(flagSet GinkgoFlagSet, suiteConfig SuiteConfig, reporterConfig ReporterConfig) []error { + errors := []error{} + + if flagSet.WasSet("count") || flagSet.WasSet("test.count") { + flag := flagSet.Lookup("count") + if flag == nil { + flag = flagSet.Lookup("test.count") + } + count, err := strconv.Atoi(flag.Value.String()) + if err != nil || count != 1 { + errors = append(errors, GinkgoErrors.InvalidGoFlagCount()) + } + } + + if flagSet.WasSet("parallel") || flagSet.WasSet("test.parallel") { + errors = append(errors, GinkgoErrors.InvalidGoFlagParallel()) + } + + if suiteConfig.ParallelTotal < 1 { + errors = append(errors, GinkgoErrors.InvalidParallelTotalConfiguration()) + } + + if suiteConfig.ParallelProcess > suiteConfig.ParallelTotal || suiteConfig.ParallelProcess < 1 { + errors = append(errors, GinkgoErrors.InvalidParallelProcessConfiguration()) + } + + if suiteConfig.ParallelTotal > 1 && suiteConfig.ParallelHost == "" { + errors = append(errors, GinkgoErrors.MissingParallelHostConfiguration()) + } + + if suiteConfig.DryRun && suiteConfig.ParallelTotal > 1 { + errors = append(errors, GinkgoErrors.DryRunInParallelConfiguration()) + } + + if suiteConfig.GracePeriod <= 0 { + errors = append(errors, GinkgoErrors.GracePeriodCannotBeZero()) + } + + if len(suiteConfig.FocusFiles) > 0 { + _, err := ParseFileFilters(suiteConfig.FocusFiles) + if err != nil { + errors = append(errors, err) + } + } + + if len(suiteConfig.SkipFiles) > 0 { + _, err := ParseFileFilters(suiteConfig.SkipFiles) + if err != nil { + errors = append(errors, err) + } + } + + if suiteConfig.LabelFilter != "" { + _, err := ParseLabelFilter(suiteConfig.LabelFilter) + if err != nil { + errors = append(errors, err) + } + } + + switch strings.ToLower(suiteConfig.OutputInterceptorMode) { + case "", "dup", "swap", "none": + default: + errors = append(errors, GinkgoErrors.InvalidOutputInterceptorModeConfiguration(suiteConfig.OutputInterceptorMode)) + } + + numVerbosity := 0 + for _, v := range []bool{reporterConfig.Succinct, reporterConfig.Verbose, reporterConfig.VeryVerbose} { + if v { + numVerbosity++ + } + } + if numVerbosity > 1 { + errors = append(errors, GinkgoErrors.ConflictingVerbosityConfiguration()) + } + + return errors +} + +// GinkgoCLISharedFlags provides flags shared by the Ginkgo CLI's build, watch, and run commands +var GinkgoCLISharedFlags = GinkgoFlags{ + {KeyPath: "C.Recurse", Name: "r", SectionKey: "multiple-suites", + Usage: "If set, ginkgo finds and runs test suites under the current directory recursively."}, + {KeyPath: "C.SkipPackage", Name: "skip-package", SectionKey: "multiple-suites", DeprecatedName: "skipPackage", DeprecatedDocLink: "changed-command-line-flags", + UsageArgument: "comma-separated list of packages", + Usage: "A comma-separated list of package names to be skipped. If any part of the package's path matches, that package is ignored."}, + {KeyPath: "C.RequireSuite", Name: "require-suite", SectionKey: "failure", DeprecatedName: "requireSuite", DeprecatedDocLink: "changed-command-line-flags", + Usage: "If set, Ginkgo fails if there are ginkgo tests in a directory but no invocation of RunSpecs."}, + {KeyPath: "C.NumCompilers", Name: "compilers", SectionKey: "multiple-suites", UsageDefaultValue: "0 (will autodetect)", + Usage: "When running multiple packages, the number of concurrent compilations to perform."}, +} + +// GinkgoCLIRunAndWatchFlags provides flags shared by the Ginkgo CLI's build and watch commands (but not run) +var GinkgoCLIRunAndWatchFlags = GinkgoFlags{ + {KeyPath: "C.Procs", Name: "procs", SectionKey: "parallel", UsageDefaultValue: "1 (run in series)", + Usage: "The number of parallel test nodes to run."}, + {KeyPath: "C.Procs", Name: "nodes", SectionKey: "parallel", UsageDefaultValue: "1 (run in series)", + Usage: "--nodes is an alias for --procs"}, + {KeyPath: "C.Parallel", Name: "p", SectionKey: "parallel", + Usage: "If set, ginkgo will run in parallel with an auto-detected number of nodes."}, + {KeyPath: "C.AfterRunHook", Name: "after-run-hook", SectionKey: "misc", DeprecatedName: "afterSuiteHook", DeprecatedDocLink: "changed-command-line-flags", + Usage: "Command to run when a test suite completes."}, + {KeyPath: "C.OutputDir", Name: "output-dir", SectionKey: "output", UsageArgument: "directory", DeprecatedName: "outputdir", DeprecatedDocLink: "improved-profiling-support", + Usage: "A location to place all generated profiles and reports."}, + {KeyPath: "C.KeepSeparateCoverprofiles", Name: "keep-separate-coverprofiles", SectionKey: "code-and-coverage-analysis", + Usage: "If set, Ginkgo does not merge coverprofiles into one monolithic coverprofile. The coverprofiles will remain in their respective package directories or in -output-dir if set."}, + {KeyPath: "C.KeepSeparateReports", Name: "keep-separate-reports", SectionKey: "output", + Usage: "If set, Ginkgo does not merge per-suite reports (e.g. -json-report) into one monolithic report for the entire testrun. The reports will remain in their respective package directories or in -output-dir if set."}, + + {KeyPath: "D.Stream", DeprecatedName: "stream", DeprecatedDocLink: "removed--stream", DeprecatedVersion: "2.0.0"}, + {KeyPath: "D.Notify", DeprecatedName: "notify", DeprecatedDocLink: "removed--notify", DeprecatedVersion: "2.0.0"}, +} + +// GinkgoCLIRunFlags provides flags for Ginkgo CLI's run command that aren't shared by any other commands +var GinkgoCLIRunFlags = GinkgoFlags{ + {KeyPath: "C.KeepGoing", Name: "keep-going", SectionKey: "multiple-suites", DeprecatedName: "keepGoing", DeprecatedDocLink: "changed-command-line-flags", + Usage: "If set, failures from earlier test suites do not prevent later test suites from running."}, + {KeyPath: "C.UntilItFails", Name: "until-it-fails", SectionKey: "debug", DeprecatedName: "untilItFails", DeprecatedDocLink: "changed-command-line-flags", + Usage: "If set, ginkgo will keep rerunning test suites until a failure occurs."}, + {KeyPath: "C.Repeat", Name: "repeat", SectionKey: "debug", UsageArgument: "n", UsageDefaultValue: "0 - i.e. no repetition, run only once", + Usage: "The number of times to re-run a test-suite. Useful for debugging flaky tests. If set to N the suite will be run N+1 times and will be required to pass each time."}, + {KeyPath: "C.RandomizeSuites", Name: "randomize-suites", SectionKey: "order", DeprecatedName: "randomizeSuites", DeprecatedDocLink: "changed-command-line-flags", + Usage: "If set, ginkgo will randomize the order in which test suites run."}, +} + +// GinkgoCLIRunFlags provides flags for Ginkgo CLI's watch command that aren't shared by any other commands +var GinkgoCLIWatchFlags = GinkgoFlags{ + {KeyPath: "C.Depth", Name: "depth", SectionKey: "watch", + Usage: "Ginkgo will watch dependencies down to this depth in the dependency tree."}, + {KeyPath: "C.WatchRegExp", Name: "watch-regexp", SectionKey: "watch", DeprecatedName: "watchRegExp", DeprecatedDocLink: "changed-command-line-flags", + UsageArgument: "Regular Expression", + UsageDefaultValue: `\.go$`, + Usage: "Only files matching this regular expression will be watched for changes."}, +} + +// GoBuildFlags provides flags for the Ginkgo CLI build, run, and watch commands that capture go's build-time flags. These are passed to go test -c by the ginkgo CLI +var GoBuildFlags = GinkgoFlags{ + {KeyPath: "Go.Race", Name: "race", SectionKey: "code-and-coverage-analysis", + Usage: "enable data race detection. Supported on linux/amd64, linux/ppc64le, linux/arm64, linux/s390x, freebsd/amd64, netbsd/amd64, darwin/amd64, darwin/arm64, and windows/amd64."}, + {KeyPath: "Go.Vet", Name: "vet", UsageArgument: "list", SectionKey: "code-and-coverage-analysis", + Usage: `Configure the invocation of "go vet" during "go test" to use the comma-separated list of vet checks. If list is empty, "go test" runs "go vet" with a curated list of checks believed to be always worth addressing. If list is "off", "go test" does not run "go vet" at all. Available checks can be found by running 'go doc cmd/vet'`}, + {KeyPath: "Go.Cover", Name: "cover", SectionKey: "code-and-coverage-analysis", + Usage: "Enable coverage analysis. Note that because coverage works by annotating the source code before compilation, compilation and test failures with coverage enabled may report line numbers that don't correspond to the original sources."}, + {KeyPath: "Go.CoverMode", Name: "covermode", UsageArgument: "set,count,atomic", SectionKey: "code-and-coverage-analysis", + Usage: `Set the mode for coverage analysis for the package[s] being tested. 'set': does this statement run? 'count': how many times does this statement run? 'atomic': like count, but correct in multithreaded tests and more expensive (must use atomic with -race). Sets -cover`}, + {KeyPath: "Go.CoverPkg", Name: "coverpkg", UsageArgument: "pattern1,pattern2,pattern3", SectionKey: "code-and-coverage-analysis", + Usage: "Apply coverage analysis in each test to packages matching the patterns. The default is for each test to analyze only the package being tested. See 'go help packages' for a description of package patterns. Sets -cover."}, + + {KeyPath: "Go.A", Name: "a", SectionKey: "go-build", + Usage: "force rebuilding of packages that are already up-to-date."}, + {KeyPath: "Go.ASMFlags", Name: "asmflags", UsageArgument: "'[pattern=]arg list'", SectionKey: "go-build", + Usage: "arguments to pass on each go tool asm invocation."}, + {KeyPath: "Go.BuildMode", Name: "buildmode", UsageArgument: "mode", SectionKey: "go-build", + Usage: "build mode to use. See 'go help buildmode' for more."}, + {KeyPath: "Go.BuildVCS", Name: "buildvcs", SectionKey: "go-build", + Usage: "adds version control information."}, + {KeyPath: "Go.Compiler", Name: "compiler", UsageArgument: "name", SectionKey: "go-build", + Usage: "name of compiler to use, as in runtime.Compiler (gccgo or gc)."}, + {KeyPath: "Go.GCCGoFlags", Name: "gccgoflags", UsageArgument: "'[pattern=]arg list'", SectionKey: "go-build", + Usage: "arguments to pass on each gccgo compiler/linker invocation."}, + {KeyPath: "Go.GCFlags", Name: "gcflags", UsageArgument: "'[pattern=]arg list'", SectionKey: "go-build", + Usage: "arguments to pass on each go tool compile invocation."}, + {KeyPath: "Go.InstallSuffix", Name: "installsuffix", SectionKey: "go-build", + Usage: "a suffix to use in the name of the package installation directory, in order to keep output separate from default builds. If using the -race flag, the install suffix is automatically set to raceor, if set explicitly, has _race appended to it. Likewise for the -msan flag. Using a -buildmode option that requires non-default compile flags has a similar effect."}, + {KeyPath: "Go.LDFlags", Name: "ldflags", UsageArgument: "'[pattern=]arg list'", SectionKey: "go-build", + Usage: "arguments to pass on each go tool link invocation."}, + {KeyPath: "Go.LinkShared", Name: "linkshared", SectionKey: "go-build", + Usage: "build code that will be linked against shared libraries previously created with -buildmode=shared."}, + {KeyPath: "Go.Mod", Name: "mod", UsageArgument: "mode (readonly, vendor, or mod)", SectionKey: "go-build", + Usage: "module download mode to use: readonly, vendor, or mod. See 'go help modules' for more."}, + {KeyPath: "Go.ModCacheRW", Name: "modcacherw", SectionKey: "go-build", + Usage: "leave newly-created directories in the module cache read-write instead of making them read-only."}, + {KeyPath: "Go.ModFile", Name: "modfile", UsageArgument: "file", SectionKey: "go-build", + Usage: `in module aware mode, read (and possibly write) an alternate go.mod file instead of the one in the module root directory. A file named go.mod must still be present in order to determine the module root directory, but it is not accessed. When -modfile is specified, an alternate go.sum file is also used: its path is derived from the -modfile flag by trimming the ".mod" extension and appending ".sum".`}, + {KeyPath: "Go.MSan", Name: "msan", SectionKey: "go-build", + Usage: "enable interoperation with memory sanitizer. Supported only on linux/amd64, linux/arm64 and only with Clang/LLVM as the host C compiler. On linux/arm64, pie build mode will be used."}, + {KeyPath: "Go.N", Name: "n", SectionKey: "go-build", + Usage: "print the commands but do not run them."}, + {KeyPath: "Go.PkgDir", Name: "pkgdir", UsageArgument: "dir", SectionKey: "go-build", + Usage: "install and load all packages from dir instead of the usual locations. For example, when building with a non-standard configuration, use -pkgdir to keep generated packages in a separate location."}, + {KeyPath: "Go.Tags", Name: "tags", UsageArgument: "tag,list", SectionKey: "go-build", + Usage: "a comma-separated list of build tags to consider satisfied during the build. For more information about build tags, see the description of build constraints in the documentation for the go/build package. (Earlier versions of Go used a space-separated list, and that form is deprecated but still recognized.)"}, + {KeyPath: "Go.TrimPath", Name: "trimpath", SectionKey: "go-build", + Usage: `remove all file system paths from the resulting executable. Instead of absolute file system paths, the recorded file names will begin with either "go" (for the standard library), or a module path@version (when using modules), or a plain import path (when using GOPATH).`}, + {KeyPath: "Go.ToolExec", Name: "toolexec", UsageArgument: "'cmd args'", SectionKey: "go-build", + Usage: "a program to use to invoke toolchain programs like vet and asm. For example, instead of running asm, the go command will run cmd args /path/to/asm '."}, + {KeyPath: "Go.Work", Name: "work", SectionKey: "go-build", + Usage: "print the name of the temporary work directory and do not delete it when exiting."}, + {KeyPath: "Go.X", Name: "x", SectionKey: "go-build", + Usage: "print the commands."}, + {KeyPath: "Go.O", Name: "o", SectionKey: "go-build", + Usage: "output binary path (including name)."}, +} + +// GoRunFlags provides flags for the Ginkgo CLI run, and watch commands that capture go's run-time flags. These are passed to the compiled test binary by the ginkgo CLI +var GoRunFlags = GinkgoFlags{ + {KeyPath: "Go.CoverProfile", Name: "coverprofile", UsageArgument: "file", SectionKey: "code-and-coverage-analysis", + Usage: `Write a coverage profile to the file after all tests have passed. Sets -cover.`}, + {KeyPath: "Go.BlockProfile", Name: "blockprofile", UsageArgument: "file", SectionKey: "performance-analysis", + Usage: `Write a goroutine blocking profile to the specified file when all tests are complete. Preserves test binary.`}, + {KeyPath: "Go.BlockProfileRate", Name: "blockprofilerate", UsageArgument: "rate", SectionKey: "performance-analysis", + Usage: `Control the detail provided in goroutine blocking profiles by calling runtime.SetBlockProfileRate with rate. See 'go doc runtime.SetBlockProfileRate'. The profiler aims to sample, on average, one blocking event every n nanoseconds the program spends blocked. By default, if -test.blockprofile is set without this flag, all blocking events are recorded, equivalent to -test.blockprofilerate=1.`}, + {KeyPath: "Go.CPUProfile", Name: "cpuprofile", UsageArgument: "file", SectionKey: "performance-analysis", + Usage: `Write a CPU profile to the specified file before exiting. Preserves test binary.`}, + {KeyPath: "Go.MemProfile", Name: "memprofile", UsageArgument: "file", SectionKey: "performance-analysis", + Usage: `Write an allocation profile to the file after all tests have passed. Preserves test binary.`}, + {KeyPath: "Go.MemProfileRate", Name: "memprofilerate", UsageArgument: "rate", SectionKey: "performance-analysis", + Usage: `Enable more precise (and expensive) memory allocation profiles by setting runtime.MemProfileRate. See 'go doc runtime.MemProfileRate'. To profile all memory allocations, use -test.memprofilerate=1.`}, + {KeyPath: "Go.MutexProfile", Name: "mutexprofile", UsageArgument: "file", SectionKey: "performance-analysis", + Usage: `Write a mutex contention profile to the specified file when all tests are complete. Preserves test binary.`}, + {KeyPath: "Go.MutexProfileFraction", Name: "mutexprofilefraction", UsageArgument: "n", SectionKey: "performance-analysis", + Usage: `if >= 0, calls runtime.SetMutexProfileFraction() Sample 1 in n stack traces of goroutines holding a contended mutex.`}, + {KeyPath: "Go.Trace", Name: "execution-trace", UsageArgument: "file", ExportAs: "trace", SectionKey: "performance-analysis", + Usage: `Write an execution trace to the specified file before exiting.`}, +} + +// VetAndInitializeCLIAndGoConfig validates that the Ginkgo CLI's configuration is sound +// It returns a potentially mutated copy of the config that rationalizes the configuration to ensure consistency for downstream consumers +func VetAndInitializeCLIAndGoConfig(cliConfig CLIConfig, goFlagsConfig GoFlagsConfig) (CLIConfig, GoFlagsConfig, []error) { + errors := []error{} + + if cliConfig.Repeat > 0 && cliConfig.UntilItFails { + errors = append(errors, GinkgoErrors.BothRepeatAndUntilItFails()) + } + + //initialize the output directory + if cliConfig.OutputDir != "" { + err := os.MkdirAll(cliConfig.OutputDir, 0777) + if err != nil { + errors = append(errors, err) + } + } + + //ensure cover mode is configured appropriately + if goFlagsConfig.CoverMode != "" || goFlagsConfig.CoverPkg != "" || goFlagsConfig.CoverProfile != "" { + goFlagsConfig.Cover = true + } + if goFlagsConfig.Cover && goFlagsConfig.CoverProfile == "" { + goFlagsConfig.CoverProfile = "coverprofile.out" + } + + return cliConfig, goFlagsConfig, errors +} + +// GenerateGoTestCompileArgs is used by the Ginkgo CLI to generate command line arguments to pass to the go test -c command when compiling the test +func GenerateGoTestCompileArgs(goFlagsConfig GoFlagsConfig, packageToBuild string, pathToInvocationPath string) ([]string, error) { + // if the user has set the CoverProfile run-time flag make sure to set the build-time cover flag to make sure + // the built test binary can generate a coverprofile + if goFlagsConfig.CoverProfile != "" { + goFlagsConfig.Cover = true + } + + if goFlagsConfig.CoverPkg != "" { + coverPkgs := strings.Split(goFlagsConfig.CoverPkg, ",") + adjustedCoverPkgs := make([]string, len(coverPkgs)) + for i, coverPkg := range coverPkgs { + coverPkg = strings.Trim(coverPkg, " ") + if strings.HasPrefix(coverPkg, "./") { + // this is a relative coverPkg - we need to reroot it + adjustedCoverPkgs[i] = "./" + filepath.Join(pathToInvocationPath, strings.TrimPrefix(coverPkg, "./")) + } else { + // this is a package name - don't touch it + adjustedCoverPkgs[i] = coverPkg + } + } + goFlagsConfig.CoverPkg = strings.Join(adjustedCoverPkgs, ",") + } + + args := []string{"test", "-c", packageToBuild} + goArgs, err := GenerateFlagArgs( + GoBuildFlags, + map[string]interface{}{ + "Go": &goFlagsConfig, + }, + ) + + if err != nil { + return []string{}, err + } + args = append(args, goArgs...) + return args, nil +} + +// GenerateGinkgoTestRunArgs is used by the Ginkgo CLI to generate command line arguments to pass to the compiled Ginkgo test binary +func GenerateGinkgoTestRunArgs(suiteConfig SuiteConfig, reporterConfig ReporterConfig, goFlagsConfig GoFlagsConfig) ([]string, error) { + var flags GinkgoFlags + flags = SuiteConfigFlags.WithPrefix("ginkgo") + flags = flags.CopyAppend(ParallelConfigFlags.WithPrefix("ginkgo")...) + flags = flags.CopyAppend(ReporterConfigFlags.WithPrefix("ginkgo")...) + flags = flags.CopyAppend(GoRunFlags.WithPrefix("test")...) + bindings := map[string]interface{}{ + "S": &suiteConfig, + "R": &reporterConfig, + "Go": &goFlagsConfig, + } + + return GenerateFlagArgs(flags, bindings) +} + +// GenerateGoTestRunArgs is used by the Ginkgo CLI to generate command line arguments to pass to the compiled non-Ginkgo test binary +func GenerateGoTestRunArgs(goFlagsConfig GoFlagsConfig) ([]string, error) { + flags := GoRunFlags.WithPrefix("test") + bindings := map[string]interface{}{ + "Go": &goFlagsConfig, + } + + args, err := GenerateFlagArgs(flags, bindings) + if err != nil { + return args, err + } + args = append(args, "--test.v") + return args, nil +} + +// BuildRunCommandFlagSet builds the FlagSet for the `ginkgo run` command +func BuildRunCommandFlagSet(suiteConfig *SuiteConfig, reporterConfig *ReporterConfig, cliConfig *CLIConfig, goFlagsConfig *GoFlagsConfig) (GinkgoFlagSet, error) { + flags := SuiteConfigFlags + flags = flags.CopyAppend(ReporterConfigFlags...) + flags = flags.CopyAppend(GinkgoCLISharedFlags...) + flags = flags.CopyAppend(GinkgoCLIRunAndWatchFlags...) + flags = flags.CopyAppend(GinkgoCLIRunFlags...) + flags = flags.CopyAppend(GoBuildFlags...) + flags = flags.CopyAppend(GoRunFlags...) + + bindings := map[string]interface{}{ + "S": suiteConfig, + "R": reporterConfig, + "C": cliConfig, + "Go": goFlagsConfig, + "D": &deprecatedConfig{}, + } + + return NewGinkgoFlagSet(flags, bindings, FlagSections) +} + +// BuildWatchCommandFlagSet builds the FlagSet for the `ginkgo watch` command +func BuildWatchCommandFlagSet(suiteConfig *SuiteConfig, reporterConfig *ReporterConfig, cliConfig *CLIConfig, goFlagsConfig *GoFlagsConfig) (GinkgoFlagSet, error) { + flags := SuiteConfigFlags + flags = flags.CopyAppend(ReporterConfigFlags...) + flags = flags.CopyAppend(GinkgoCLISharedFlags...) + flags = flags.CopyAppend(GinkgoCLIRunAndWatchFlags...) + flags = flags.CopyAppend(GinkgoCLIWatchFlags...) + flags = flags.CopyAppend(GoBuildFlags...) + flags = flags.CopyAppend(GoRunFlags...) + + bindings := map[string]interface{}{ + "S": suiteConfig, + "R": reporterConfig, + "C": cliConfig, + "Go": goFlagsConfig, + "D": &deprecatedConfig{}, + } + + return NewGinkgoFlagSet(flags, bindings, FlagSections) +} + +// BuildBuildCommandFlagSet builds the FlagSet for the `ginkgo build` command +func BuildBuildCommandFlagSet(cliConfig *CLIConfig, goFlagsConfig *GoFlagsConfig) (GinkgoFlagSet, error) { + flags := GinkgoCLISharedFlags + flags = flags.CopyAppend(GoBuildFlags...) + + bindings := map[string]interface{}{ + "C": cliConfig, + "Go": goFlagsConfig, + "D": &deprecatedConfig{}, + } + + flagSections := make(GinkgoFlagSections, len(FlagSections)) + copy(flagSections, FlagSections) + for i := range flagSections { + if flagSections[i].Key == "multiple-suites" { + flagSections[i].Heading = "Building Multiple Suites" + } + if flagSections[i].Key == "go-build" { + flagSections[i] = GinkgoFlagSection{Key: "go-build", Style: "{{/}}", Heading: "Go Build Flags", + Description: "These flags are inherited from go build."} + } + } + + return NewGinkgoFlagSet(flags, bindings, flagSections) +} + +func BuildLabelsCommandFlagSet(cliConfig *CLIConfig) (GinkgoFlagSet, error) { + flags := GinkgoCLISharedFlags.SubsetWithNames("r", "skip-package") + + bindings := map[string]interface{}{ + "C": cliConfig, + } + + flagSections := make(GinkgoFlagSections, len(FlagSections)) + copy(flagSections, FlagSections) + for i := range flagSections { + if flagSections[i].Key == "multiple-suites" { + flagSections[i].Heading = "Fetching Labels from Multiple Suites" + } + } + + return NewGinkgoFlagSet(flags, bindings, flagSections) +} diff --git a/vendor/github.com/onsi/ginkgo/v2/types/deprecated_types.go b/vendor/github.com/onsi/ginkgo/v2/types/deprecated_types.go new file mode 100644 index 000000000..17922304b --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/types/deprecated_types.go @@ -0,0 +1,141 @@ +package types + +import ( + "strconv" + "time" +) + +/* + A set of deprecations to make the transition from v1 to v2 easier for users who have written custom reporters. +*/ + +type SuiteSummary = DeprecatedSuiteSummary +type SetupSummary = DeprecatedSetupSummary +type SpecSummary = DeprecatedSpecSummary +type SpecMeasurement = DeprecatedSpecMeasurement +type SpecComponentType = NodeType +type SpecFailure = DeprecatedSpecFailure + +var ( + SpecComponentTypeInvalid = NodeTypeInvalid + SpecComponentTypeContainer = NodeTypeContainer + SpecComponentTypeIt = NodeTypeIt + SpecComponentTypeBeforeEach = NodeTypeBeforeEach + SpecComponentTypeJustBeforeEach = NodeTypeJustBeforeEach + SpecComponentTypeAfterEach = NodeTypeAfterEach + SpecComponentTypeJustAfterEach = NodeTypeJustAfterEach + SpecComponentTypeBeforeSuite = NodeTypeBeforeSuite + SpecComponentTypeSynchronizedBeforeSuite = NodeTypeSynchronizedBeforeSuite + SpecComponentTypeAfterSuite = NodeTypeAfterSuite + SpecComponentTypeSynchronizedAfterSuite = NodeTypeSynchronizedAfterSuite +) + +type DeprecatedSuiteSummary struct { + SuiteDescription string + SuiteSucceeded bool + SuiteID string + + NumberOfSpecsBeforeParallelization int + NumberOfTotalSpecs int + NumberOfSpecsThatWillBeRun int + NumberOfPendingSpecs int + NumberOfSkippedSpecs int + NumberOfPassedSpecs int + NumberOfFailedSpecs int + NumberOfFlakedSpecs int + RunTime time.Duration +} + +type DeprecatedSetupSummary struct { + ComponentType SpecComponentType + CodeLocation CodeLocation + + State SpecState + RunTime time.Duration + Failure SpecFailure + + CapturedOutput string + SuiteID string +} + +type DeprecatedSpecSummary struct { + ComponentTexts []string + ComponentCodeLocations []CodeLocation + + State SpecState + RunTime time.Duration + Failure SpecFailure + IsMeasurement bool + NumberOfSamples int + Measurements map[string]*DeprecatedSpecMeasurement + + CapturedOutput string + SuiteID string +} + +func (s DeprecatedSpecSummary) HasFailureState() bool { + return s.State.Is(SpecStateFailureStates) +} + +func (s DeprecatedSpecSummary) TimedOut() bool { + return false +} + +func (s DeprecatedSpecSummary) Panicked() bool { + return s.State == SpecStatePanicked +} + +func (s DeprecatedSpecSummary) Failed() bool { + return s.State == SpecStateFailed +} + +func (s DeprecatedSpecSummary) Passed() bool { + return s.State == SpecStatePassed +} + +func (s DeprecatedSpecSummary) Skipped() bool { + return s.State == SpecStateSkipped +} + +func (s DeprecatedSpecSummary) Pending() bool { + return s.State == SpecStatePending +} + +type DeprecatedSpecFailure struct { + Message string + Location CodeLocation + ForwardedPanic string + + ComponentIndex int + ComponentType SpecComponentType + ComponentCodeLocation CodeLocation +} + +type DeprecatedSpecMeasurement struct { + Name string + Info interface{} + Order int + + Results []float64 + + Smallest float64 + Largest float64 + Average float64 + StdDeviation float64 + + SmallestLabel string + LargestLabel string + AverageLabel string + Units string + Precision int +} + +func (s DeprecatedSpecMeasurement) PrecisionFmt() string { + if s.Precision == 0 { + return "%f" + } + + str := strconv.Itoa(s.Precision) + + return "%." + str + "f" +} diff --git a/vendor/github.com/onsi/ginkgo/v2/types/deprecation_support.go b/vendor/github.com/onsi/ginkgo/v2/types/deprecation_support.go new file mode 100644 index 000000000..e2519f673 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/types/deprecation_support.go @@ -0,0 +1,177 @@ +package types + +import ( + "os" + "strconv" + "strings" + "sync" + "unicode" + + "github.com/onsi/ginkgo/v2/formatter" +) + +type Deprecation struct { + Message string + DocLink string + Version string +} + +type deprecations struct{} + +var Deprecations = deprecations{} + +func (d deprecations) CustomReporter() Deprecation { + return Deprecation{ + Message: "Support for custom reporters has been removed in V2. Please read the documentation linked to below for Ginkgo's new behavior and for a migration path:", + DocLink: "removed-custom-reporters", + Version: "1.16.0", + } +} + +func (d deprecations) Async() Deprecation { + return Deprecation{ + Message: "You are passing a Done channel to a test node to test asynchronous behavior. This is deprecated in Ginkgo V2. Your test will run synchronously and the timeout will be ignored.", + DocLink: "removed-async-testing", + Version: "1.16.0", + } +} + +func (d deprecations) Measure() Deprecation { + return Deprecation{ + Message: "Measure is deprecated and has been removed from Ginkgo V2. Any Measure tests in your spec will not run. Please migrate to gomega/gmeasure.", + DocLink: "removed-measure", + Version: "1.16.3", + } +} + +func (d deprecations) ParallelNode() Deprecation { + return Deprecation{ + Message: "GinkgoParallelNode is deprecated and will be removed in Ginkgo V2. Please use GinkgoParallelProcess instead.", + DocLink: "renamed-ginkgoparallelnode", + Version: "1.16.4", + } +} + +func (d deprecations) CurrentGinkgoTestDescription() Deprecation { + return Deprecation{ + Message: "CurrentGinkgoTestDescription() is deprecated in Ginkgo V2. Use CurrentSpecReport() instead.", + DocLink: "changed-currentginkgotestdescription", + Version: "1.16.0", + } +} + +func (d deprecations) Convert() Deprecation { + return Deprecation{ + Message: "The convert command is deprecated in Ginkgo V2", + DocLink: "removed-ginkgo-convert", + Version: "1.16.0", + } +} + +func (d deprecations) Blur() Deprecation { + return Deprecation{ + Message: "The blur command is deprecated in Ginkgo V2. Use 'ginkgo unfocus' instead.", + Version: "1.16.0", + } +} + +func (d deprecations) Nodot() Deprecation { + return Deprecation{ + Message: "The nodot command is deprecated in Ginkgo V2. Please either dot-import Ginkgo or use the package identifier in your code to references objects and types provided by Ginkgo and Gomega.", + DocLink: "removed-ginkgo-nodot", + Version: "1.16.0", + } +} + +func (d deprecations) SuppressProgressReporting() Deprecation { + return Deprecation{ + Message: "Improvements to how reporters emit timeline information means that SuppressProgressReporting is no longer necessary and has been deprecated.", + Version: "2.5.0", + } +} + +type DeprecationTracker struct { + deprecations map[Deprecation][]CodeLocation + lock *sync.Mutex +} + +func NewDeprecationTracker() *DeprecationTracker { + return &DeprecationTracker{ + deprecations: map[Deprecation][]CodeLocation{}, + lock: &sync.Mutex{}, + } +} + +func (d *DeprecationTracker) TrackDeprecation(deprecation Deprecation, cl ...CodeLocation) { + ackVersion := os.Getenv("ACK_GINKGO_DEPRECATIONS") + if deprecation.Version != "" && ackVersion != "" { + ack := ParseSemVer(ackVersion) + version := ParseSemVer(deprecation.Version) + if ack.GreaterThanOrEqualTo(version) { + return + } + } + + d.lock.Lock() + defer d.lock.Unlock() + if len(cl) == 1 { + d.deprecations[deprecation] = append(d.deprecations[deprecation], cl[0]) + } else { + d.deprecations[deprecation] = []CodeLocation{} + } +} + +func (d *DeprecationTracker) DidTrackDeprecations() bool { + d.lock.Lock() + defer d.lock.Unlock() + return len(d.deprecations) > 0 +} + +func (d *DeprecationTracker) DeprecationsReport() string { + d.lock.Lock() + defer d.lock.Unlock() + out := formatter.F("{{light-yellow}}You're using deprecated Ginkgo functionality:{{/}}\n") + out += formatter.F("{{light-yellow}}============================================={{/}}\n") + for deprecation, locations := range d.deprecations { + out += formatter.Fi(1, "{{yellow}}"+deprecation.Message+"{{/}}\n") + if deprecation.DocLink != "" { + out += formatter.Fi(1, "{{bold}}Learn more at:{{/}} {{cyan}}{{underline}}https://onsi.github.io/ginkgo/MIGRATING_TO_V2#%s{{/}}\n", deprecation.DocLink) + } + for _, location := range locations { + out += formatter.Fi(2, "{{gray}}%s{{/}}\n", location) + } + } + out += formatter.F("\n{{gray}}To silence deprecations that can be silenced set the following environment variable:{{/}}\n") + out += formatter.Fi(1, "{{gray}}ACK_GINKGO_DEPRECATIONS=%s{{/}}\n", VERSION) + return out +} + +type SemVer struct { + Major int + Minor int + Patch int +} + +func (s SemVer) GreaterThanOrEqualTo(o SemVer) bool { + return (s.Major > o.Major) || + (s.Major == o.Major && s.Minor > o.Minor) || + (s.Major == o.Major && s.Minor == o.Minor && s.Patch >= o.Patch) +} + +func ParseSemVer(semver string) SemVer { + out := SemVer{} + semver = strings.TrimFunc(semver, func(r rune) bool { + return !(unicode.IsNumber(r) || r == '.') + }) + components := strings.Split(semver, ".") + if len(components) > 0 { + out.Major, _ = strconv.Atoi(components[0]) + } + if len(components) > 1 { + out.Minor, _ = strconv.Atoi(components[1]) + } + if len(components) > 2 { + out.Patch, _ = strconv.Atoi(components[2]) + } + return out +} diff --git a/vendor/github.com/onsi/ginkgo/v2/types/enum_support.go b/vendor/github.com/onsi/ginkgo/v2/types/enum_support.go new file mode 100644 index 000000000..1d96ae028 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/types/enum_support.go @@ -0,0 +1,43 @@ +package types + +import "encoding/json" + +type EnumSupport struct { + toString map[uint]string + toEnum map[string]uint + maxEnum uint +} + +func NewEnumSupport(toString map[uint]string) EnumSupport { + toEnum, maxEnum := map[string]uint{}, uint(0) + for k, v := range toString { + toEnum[v] = k + if maxEnum < k { + maxEnum = k + } + } + return EnumSupport{toString: toString, toEnum: toEnum, maxEnum: maxEnum} +} + +func (es EnumSupport) String(e uint) string { + if e > es.maxEnum { + return es.toString[0] + } + return es.toString[e] +} + +func (es EnumSupport) UnmarshJSON(b []byte) (uint, error) { + var dec string + if err := json.Unmarshal(b, &dec); err != nil { + return 0, err + } + out := es.toEnum[dec] // if we miss we get 0 which is what we want anyway + return out, nil +} + +func (es EnumSupport) MarshJSON(e uint) ([]byte, error) { + if e == 0 || e > es.maxEnum { + return json.Marshal(nil) + } + return json.Marshal(es.toString[e]) +} diff --git a/vendor/github.com/onsi/ginkgo/v2/types/errors.go b/vendor/github.com/onsi/ginkgo/v2/types/errors.go new file mode 100644 index 000000000..6bb72d00c --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/types/errors.go @@ -0,0 +1,639 @@ +package types + +import ( + "fmt" + "reflect" + "strings" + + "github.com/onsi/ginkgo/v2/formatter" +) + +type GinkgoError struct { + Heading string + Message string + DocLink string + CodeLocation CodeLocation +} + +func (g GinkgoError) Error() string { + out := formatter.F("{{bold}}{{red}}%s{{/}}\n", g.Heading) + if (g.CodeLocation != CodeLocation{}) { + contentsOfLine := strings.TrimLeft(g.CodeLocation.ContentsOfLine(), "\t ") + if contentsOfLine != "" { + out += formatter.F("{{light-gray}}%s{{/}}\n", contentsOfLine) + } + out += formatter.F("{{gray}}%s{{/}}\n", g.CodeLocation) + } + if g.Message != "" { + out += formatter.Fiw(1, formatter.COLS, g.Message) + out += "\n\n" + } + if g.DocLink != "" { + out += formatter.Fiw(1, formatter.COLS, "{{bold}}Learn more at:{{/}} {{cyan}}{{underline}}http://onsi.github.io/ginkgo/#%s{{/}}\n", g.DocLink) + } + + return out +} + +type ginkgoErrors struct{} + +var GinkgoErrors = ginkgoErrors{} + +func (g ginkgoErrors) UncaughtGinkgoPanic(cl CodeLocation) error { + return GinkgoError{ + Heading: "Your Test Panicked", + Message: `When you, or your assertion library, calls Ginkgo's Fail(), +Ginkgo panics to prevent subsequent assertions from running. + +Normally Ginkgo rescues this panic so you shouldn't see it. + +However, if you make an assertion in a goroutine, Ginkgo can't capture the panic. +To circumvent this, you should call + + defer GinkgoRecover() + +at the top of the goroutine that caused this panic. + +Alternatively, you may have made an assertion outside of a Ginkgo +leaf node (e.g. in a container node or some out-of-band function) - please move your assertion to +an appropriate Ginkgo node (e.g. a BeforeSuite, BeforeEach, It, etc...).`, + DocLink: "mental-model-how-ginkgo-handles-failure", + CodeLocation: cl, + } +} + +func (g ginkgoErrors) RerunningSuite() error { + return GinkgoError{ + Heading: "Rerunning Suite", + Message: formatter.F(`It looks like you are calling RunSpecs more than once. Ginkgo does not support rerunning suites. If you want to rerun a suite try {{bold}}ginkgo --repeat=N{{/}} or {{bold}}ginkgo --until-it-fails{{/}}`), + DocLink: "repeating-spec-runs-and-managing-flaky-specs", + } +} + +/* Tree construction errors */ + +func (g ginkgoErrors) PushingNodeInRunPhase(nodeType NodeType, cl CodeLocation) error { + return GinkgoError{ + Heading: "Ginkgo detected an issue with your spec structure", + Message: formatter.F( + `It looks like you are trying to add a {{bold}}[%s]{{/}} node +to the Ginkgo spec tree in a leaf node {{bold}}after{{/}} the specs started running. + +To enable randomization and parallelization Ginkgo requires the spec tree +to be fully constructed up front. In practice, this means that you can +only create nodes like {{bold}}[%s]{{/}} at the top-level or within the +body of a {{bold}}Describe{{/}}, {{bold}}Context{{/}}, or {{bold}}When{{/}}.`, nodeType, nodeType), + CodeLocation: cl, + DocLink: "mental-model-how-ginkgo-traverses-the-spec-hierarchy", + } +} + +func (g ginkgoErrors) CaughtPanicDuringABuildPhase(caughtPanic interface{}, cl CodeLocation) error { + return GinkgoError{ + Heading: "Assertion or Panic detected during tree construction", + Message: formatter.F( + `Ginkgo detected a panic while constructing the spec tree. +You may be trying to make an assertion in the body of a container node +(i.e. {{bold}}Describe{{/}}, {{bold}}Context{{/}}, or {{bold}}When{{/}}). + +Please ensure all assertions are inside leaf nodes such as {{bold}}BeforeEach{{/}}, +{{bold}}It{{/}}, etc. + +{{bold}}Here's the content of the panic that was caught:{{/}} +%v`, caughtPanic), + CodeLocation: cl, + DocLink: "no-assertions-in-container-nodes", + } +} + +func (g ginkgoErrors) SuiteNodeInNestedContext(nodeType NodeType, cl CodeLocation) error { + docLink := "suite-setup-and-cleanup-beforesuite-and-aftersuite" + if nodeType.Is(NodeTypeReportBeforeSuite | NodeTypeReportAfterSuite) { + docLink = "reporting-nodes---reportbeforesuite-and-reportaftersuite" + } + + return GinkgoError{ + Heading: "Ginkgo detected an issue with your spec structure", + Message: formatter.F( + `It looks like you are trying to add a {{bold}}[%s]{{/}} node within a container node. + +{{bold}}%s{{/}} can only be called at the top level.`, nodeType, nodeType), + CodeLocation: cl, + DocLink: docLink, + } +} + +func (g ginkgoErrors) SuiteNodeDuringRunPhase(nodeType NodeType, cl CodeLocation) error { + docLink := "suite-setup-and-cleanup-beforesuite-and-aftersuite" + if nodeType.Is(NodeTypeReportBeforeSuite | NodeTypeReportAfterSuite) { + docLink = "reporting-nodes---reportbeforesuite-and-reportaftersuite" + } + + return GinkgoError{ + Heading: "Ginkgo detected an issue with your spec structure", + Message: formatter.F( + `It looks like you are trying to add a {{bold}}[%s]{{/}} node within a leaf node after the spec started running. + +{{bold}}%s{{/}} can only be called at the top level.`, nodeType, nodeType), + CodeLocation: cl, + DocLink: docLink, + } +} + +func (g ginkgoErrors) MultipleBeforeSuiteNodes(nodeType NodeType, cl CodeLocation, earlierNodeType NodeType, earlierCodeLocation CodeLocation) error { + return ginkgoErrorMultipleSuiteNodes("setup", nodeType, cl, earlierNodeType, earlierCodeLocation) +} + +func (g ginkgoErrors) MultipleAfterSuiteNodes(nodeType NodeType, cl CodeLocation, earlierNodeType NodeType, earlierCodeLocation CodeLocation) error { + return ginkgoErrorMultipleSuiteNodes("teardown", nodeType, cl, earlierNodeType, earlierCodeLocation) +} + +func ginkgoErrorMultipleSuiteNodes(setupOrTeardown string, nodeType NodeType, cl CodeLocation, earlierNodeType NodeType, earlierCodeLocation CodeLocation) error { + return GinkgoError{ + Heading: "Ginkgo detected an issue with your spec structure", + Message: formatter.F( + `It looks like you are trying to add a {{bold}}[%s]{{/}} node but +you already have a {{bold}}[%s]{{/}} node defined at: {{gray}}%s{{/}}. + +Ginkgo only allows you to define one suite %s node.`, nodeType, earlierNodeType, earlierCodeLocation, setupOrTeardown), + CodeLocation: cl, + DocLink: "suite-setup-and-cleanup-beforesuite-and-aftersuite", + } +} + +/* Decorator errors */ +func (g ginkgoErrors) InvalidDecoratorForNodeType(cl CodeLocation, nodeType NodeType, decorator string) error { + return GinkgoError{ + Heading: "Invalid Decorator", + Message: formatter.F(`[%s] node cannot be passed a(n) '%s' decorator`, nodeType, decorator), + CodeLocation: cl, + DocLink: "node-decorators-overview", + } +} + +func (g ginkgoErrors) InvalidDeclarationOfFocusedAndPending(cl CodeLocation, nodeType NodeType) error { + return GinkgoError{ + Heading: "Invalid Combination of Decorators: Focused and Pending", + Message: formatter.F(`[%s] node was decorated with both Focus and Pending. At most one is allowed.`, nodeType), + CodeLocation: cl, + DocLink: "node-decorators-overview", + } +} + +func (g ginkgoErrors) InvalidDeclarationOfFlakeAttemptsAndMustPassRepeatedly(cl CodeLocation, nodeType NodeType) error { + return GinkgoError{ + Heading: "Invalid Combination of Decorators: FlakeAttempts and MustPassRepeatedly", + Message: formatter.F(`[%s] node was decorated with both FlakeAttempts and MustPassRepeatedly. At most one is allowed.`, nodeType), + CodeLocation: cl, + DocLink: "node-decorators-overview", + } +} + +func (g ginkgoErrors) UnknownDecorator(cl CodeLocation, nodeType NodeType, decorator interface{}) error { + return GinkgoError{ + Heading: "Unknown Decorator", + Message: formatter.F(`[%s] node was passed an unknown decorator: '%#v'`, nodeType, decorator), + CodeLocation: cl, + DocLink: "node-decorators-overview", + } +} + +func (g ginkgoErrors) InvalidBodyTypeForContainer(t reflect.Type, cl CodeLocation, nodeType NodeType) error { + return GinkgoError{ + Heading: "Invalid Function", + Message: formatter.F(`[%s] node must be passed {{bold}}func(){{/}} - i.e. functions that take nothing and return nothing. You passed {{bold}}%s{{/}} instead.`, nodeType, t), + CodeLocation: cl, + DocLink: "node-decorators-overview", + } +} + +func (g ginkgoErrors) InvalidBodyType(t reflect.Type, cl CodeLocation, nodeType NodeType) error { + mustGet := "{{bold}}func(){{/}}, {{bold}}func(ctx SpecContext){{/}}, or {{bold}}func(ctx context.Context){{/}}" + if nodeType.Is(NodeTypeContainer) { + mustGet = "{{bold}}func(){{/}}" + } + return GinkgoError{ + Heading: "Invalid Function", + Message: formatter.F(`[%s] node must be passed `+mustGet+`. +You passed {{bold}}%s{{/}} instead.`, nodeType, t), + CodeLocation: cl, + DocLink: "node-decorators-overview", + } +} + +func (g ginkgoErrors) InvalidBodyTypeForSynchronizedBeforeSuiteProc1(t reflect.Type, cl CodeLocation) error { + mustGet := "{{bold}}func() []byte{{/}}, {{bold}}func(ctx SpecContext) []byte{{/}}, or {{bold}}func(ctx context.Context) []byte{{/}}, {{bold}}func(){{/}}, {{bold}}func(ctx SpecContext){{/}}, or {{bold}}func(ctx context.Context){{/}}" + return GinkgoError{ + Heading: "Invalid Function", + Message: formatter.F(`[SynchronizedBeforeSuite] node must be passed `+mustGet+` for its first function. +You passed {{bold}}%s{{/}} instead.`, t), + CodeLocation: cl, + DocLink: "node-decorators-overview", + } +} + +func (g ginkgoErrors) InvalidBodyTypeForSynchronizedBeforeSuiteAllProcs(t reflect.Type, cl CodeLocation) error { + mustGet := "{{bold}}func(){{/}}, {{bold}}func(ctx SpecContext){{/}}, or {{bold}}func(ctx context.Context){{/}}, {{bold}}func([]byte){{/}}, {{bold}}func(ctx SpecContext, []byte){{/}}, or {{bold}}func(ctx context.Context, []byte){{/}}" + return GinkgoError{ + Heading: "Invalid Function", + Message: formatter.F(`[SynchronizedBeforeSuite] node must be passed `+mustGet+` for its second function. +You passed {{bold}}%s{{/}} instead.`, t), + CodeLocation: cl, + DocLink: "node-decorators-overview", + } +} + +func (g ginkgoErrors) MultipleBodyFunctions(cl CodeLocation, nodeType NodeType) error { + return GinkgoError{ + Heading: "Multiple Functions", + Message: formatter.F(`[%s] node must be passed a single function - but more than one was passed in.`, nodeType), + CodeLocation: cl, + DocLink: "node-decorators-overview", + } +} + +func (g ginkgoErrors) MissingBodyFunction(cl CodeLocation, nodeType NodeType) error { + return GinkgoError{ + Heading: "Missing Functions", + Message: formatter.F(`[%s] node must be passed a single function - but none was passed in.`, nodeType), + CodeLocation: cl, + DocLink: "node-decorators-overview", + } +} + +func (g ginkgoErrors) InvalidTimeoutOrGracePeriodForNonContextNode(cl CodeLocation, nodeType NodeType) error { + return GinkgoError{ + Heading: "Invalid NodeTimeout SpecTimeout, or GracePeriod", + Message: formatter.F(`[%s] was passed NodeTimeout, SpecTimeout, or GracePeriod but does not have a callback that accepts a {{bold}}SpecContext{{/}} or {{bold}}context.Context{{/}}. You must accept a context to enable timeouts and grace periods`, nodeType), + CodeLocation: cl, + DocLink: "spec-timeouts-and-interruptible-nodes", + } +} + +func (g ginkgoErrors) InvalidTimeoutOrGracePeriodForNonContextCleanupNode(cl CodeLocation) error { + return GinkgoError{ + Heading: "Invalid NodeTimeout SpecTimeout, or GracePeriod", + Message: formatter.F(`[DeferCleanup] was passed NodeTimeout or GracePeriod but does not have a callback that accepts a {{bold}}SpecContext{{/}} or {{bold}}context.Context{{/}}. You must accept a context to enable timeouts and grace periods`), + CodeLocation: cl, + DocLink: "spec-timeouts-and-interruptible-nodes", + } +} + +/* Ordered Container errors */ +func (g ginkgoErrors) InvalidSerialNodeInNonSerialOrderedContainer(cl CodeLocation, nodeType NodeType) error { + return GinkgoError{ + Heading: "Invalid Serial Node in Non-Serial Ordered Container", + Message: formatter.F(`[%s] node was decorated with Serial but occurs in an Ordered container that is not marked Serial. Move the Serial decorator to the outer-most Ordered container to mark all ordered specs within the container as serial.`, nodeType), + CodeLocation: cl, + DocLink: "node-decorators-overview", + } +} + +func (g ginkgoErrors) SetupNodeNotInOrderedContainer(cl CodeLocation, nodeType NodeType) error { + return GinkgoError{ + Heading: "Setup Node not in Ordered Container", + Message: fmt.Sprintf("[%s] setup nodes must appear inside an Ordered container. They cannot be nested within other containers, even containers in an ordered container.", nodeType), + CodeLocation: cl, + DocLink: "ordered-containers", + } +} + +func (g ginkgoErrors) InvalidContinueOnFailureDecoration(cl CodeLocation) error { + return GinkgoError{ + Heading: "ContinueOnFailure not decorating an outermost Ordered Container", + Message: "ContinueOnFailure can only decorate an Ordered container, and this Ordered container must be the outermost Ordered container.", + CodeLocation: cl, + DocLink: "ordered-containers", + } +} + +/* DeferCleanup errors */ +func (g ginkgoErrors) DeferCleanupInvalidFunction(cl CodeLocation) error { + return GinkgoError{ + Heading: "DeferCleanup requires a valid function", + Message: "You must pass DeferCleanup a function to invoke. This function must return zero or one values - if it does return, it must return an error. The function can take arbitrarily many arguments and you should provide these to DeferCleanup to pass along to the function.", + CodeLocation: cl, + DocLink: "cleaning-up-our-cleanup-code-defercleanup", + } +} + +func (g ginkgoErrors) PushingCleanupNodeDuringTreeConstruction(cl CodeLocation) error { + return GinkgoError{ + Heading: "DeferCleanup must be called inside a setup or subject node", + Message: "You must call DeferCleanup inside a setup node (e.g. BeforeEach, BeforeSuite, AfterAll...) or a subject node (i.e. It). You can't call DeferCleanup at the top-level or in a container node - use the After* family of setup nodes instead.", + CodeLocation: cl, + DocLink: "cleaning-up-our-cleanup-code-defercleanup", + } +} + +func (g ginkgoErrors) PushingCleanupInReportingNode(cl CodeLocation, nodeType NodeType) error { + return GinkgoError{ + Heading: fmt.Sprintf("DeferCleanup cannot be called in %s", nodeType), + Message: "Please inline your cleanup code - Ginkgo won't run cleanup code after a Reporting node.", + CodeLocation: cl, + DocLink: "cleaning-up-our-cleanup-code-defercleanup", + } +} + +func (g ginkgoErrors) PushingCleanupInCleanupNode(cl CodeLocation) error { + return GinkgoError{ + Heading: "DeferCleanup cannot be called in a DeferCleanup callback", + Message: "Please inline your cleanup code - Ginkgo doesn't let you call DeferCleanup from within DeferCleanup", + CodeLocation: cl, + DocLink: "cleaning-up-our-cleanup-code-defercleanup", + } +} + +/* ReportEntry errors */ +func (g ginkgoErrors) TooManyReportEntryValues(cl CodeLocation, arg interface{}) error { + return GinkgoError{ + Heading: "Too Many ReportEntry Values", + Message: formatter.F(`{{bold}}AddGinkgoReport{{/}} can only be given one value. Got unexpected value: %#v`, arg), + CodeLocation: cl, + DocLink: "attaching-data-to-reports", + } +} + +func (g ginkgoErrors) AddReportEntryNotDuringRunPhase(cl CodeLocation) error { + return GinkgoError{ + Heading: "Ginkgo detected an issue with your spec structure", + Message: formatter.F(`It looks like you are calling {{bold}}AddGinkgoReport{{/}} outside of a running spec. Make sure you call {{bold}}AddGinkgoReport{{/}} inside a runnable node such as It or BeforeEach and not inside the body of a container such as Describe or Context.`), + CodeLocation: cl, + DocLink: "attaching-data-to-reports", + } +} + +/* By errors */ +func (g ginkgoErrors) ByNotDuringRunPhase(cl CodeLocation) error { + return GinkgoError{ + Heading: "Ginkgo detected an issue with your spec structure", + Message: formatter.F(`It looks like you are calling {{bold}}By{{/}} outside of a running spec. Make sure you call {{bold}}By{{/}} inside a runnable node such as It or BeforeEach and not inside the body of a container such as Describe or Context.`), + CodeLocation: cl, + DocLink: "documenting-complex-specs-by", + } +} + +/* FileFilter and SkipFilter errors */ +func (g ginkgoErrors) InvalidFileFilter(filter string) error { + return GinkgoError{ + Heading: "Invalid File Filter", + Message: fmt.Sprintf(`The provided file filter: "%s" is invalid. File filters must have the format "file", "file:lines" where "file" is a regular expression that will match against the file path and lines is a comma-separated list of integers (e.g. file:1,5,7) or line-ranges (e.g. file:1-3,5-9) or both (e.g. file:1,5-9)`, filter), + DocLink: "filtering-specs", + } +} + +func (g ginkgoErrors) InvalidFileFilterRegularExpression(filter string, err error) error { + return GinkgoError{ + Heading: "Invalid File Filter Regular Expression", + Message: fmt.Sprintf(`The provided file filter: "%s" included an invalid regular expression. regexp.Compile error: %s`, filter, err), + DocLink: "filtering-specs", + } +} + +/* Label Errors */ +func (g ginkgoErrors) SyntaxErrorParsingLabelFilter(input string, location int, error string) error { + var message string + if location >= 0 { + for i, r := range input { + if i == location { + message += "{{red}}{{bold}}{{underline}}" + } + message += string(r) + if i == location { + message += "{{/}}" + } + } + } else { + message = input + } + message += "\n" + error + return GinkgoError{ + Heading: "Syntax Error Parsing Label Filter", + Message: message, + DocLink: "spec-labels", + } +} + +func (g ginkgoErrors) InvalidLabel(label string, cl CodeLocation) error { + return GinkgoError{ + Heading: "Invalid Label", + Message: fmt.Sprintf("'%s' is an invalid label. Labels cannot contain of the following characters: '&|!,()/'", label), + CodeLocation: cl, + DocLink: "spec-labels", + } +} + +func (g ginkgoErrors) InvalidEmptyLabel(cl CodeLocation) error { + return GinkgoError{ + Heading: "Invalid Empty Label", + Message: "Labels cannot be empty", + CodeLocation: cl, + DocLink: "spec-labels", + } +} + +/* Table errors */ +func (g ginkgoErrors) MultipleEntryBodyFunctionsForTable(cl CodeLocation) error { + return GinkgoError{ + Heading: "DescribeTable passed multiple functions", + Message: "It looks like you are passing multiple functions into DescribeTable. Only one function can be passed in. This function will be called for each Entry in the table.", + CodeLocation: cl, + DocLink: "table-specs", + } +} + +func (g ginkgoErrors) InvalidEntryDescription(cl CodeLocation) error { + return GinkgoError{ + Heading: "Invalid Entry description", + Message: "Entry description functions must be a string, a function that accepts the entry parameters and returns a string, or nil.", + CodeLocation: cl, + DocLink: "table-specs", + } +} + +func (g ginkgoErrors) MissingParametersForTableFunction(cl CodeLocation) error { + return GinkgoError{ + Heading: "No parameters have been passed to the Table Function", + Message: "The Table Function expected at least 1 parameter", + CodeLocation: cl, + DocLink: "table-specs", + } +} + +func (g ginkgoErrors) IncorrectParameterTypeForTable(i int, name string, cl CodeLocation) error { + return GinkgoError{ + Heading: "DescribeTable passed incorrect parameter type", + Message: fmt.Sprintf("Parameter #%d passed to DescribeTable is of incorrect type <%s>", i, name), + CodeLocation: cl, + DocLink: "table-specs", + } +} + +func (g ginkgoErrors) TooFewParametersToTableFunction(expected, actual int, kind string, cl CodeLocation) error { + return GinkgoError{ + Heading: fmt.Sprintf("Too few parameters passed in to %s", kind), + Message: fmt.Sprintf("The %s expected %d parameters but you passed in %d", kind, expected, actual), + CodeLocation: cl, + DocLink: "table-specs", + } +} + +func (g ginkgoErrors) TooManyParametersToTableFunction(expected, actual int, kind string, cl CodeLocation) error { + return GinkgoError{ + Heading: fmt.Sprintf("Too many parameters passed in to %s", kind), + Message: fmt.Sprintf("The %s expected %d parameters but you passed in %d", kind, expected, actual), + CodeLocation: cl, + DocLink: "table-specs", + } +} + +func (g ginkgoErrors) IncorrectParameterTypeToTableFunction(i int, expected, actual reflect.Type, kind string, cl CodeLocation) error { + return GinkgoError{ + Heading: fmt.Sprintf("Incorrect parameters type passed to %s", kind), + Message: fmt.Sprintf("The %s expected parameter #%d to be of type <%s> but you passed in <%s>", kind, i, expected, actual), + CodeLocation: cl, + DocLink: "table-specs", + } +} + +func (g ginkgoErrors) IncorrectVariadicParameterTypeToTableFunction(expected, actual reflect.Type, kind string, cl CodeLocation) error { + return GinkgoError{ + Heading: fmt.Sprintf("Incorrect parameters type passed to %s", kind), + Message: fmt.Sprintf("The %s expected its variadic parameters to be of type <%s> but you passed in <%s>", kind, expected, actual), + CodeLocation: cl, + DocLink: "table-specs", + } +} + +func (g ginkgoErrors) ContextsCannotBeUsedInSubtreeTables(cl CodeLocation) error { + return GinkgoError{ + Heading: "Contexts cannot be used in subtree tables", + Message: "You''ve defined a subtree body function that accepts a context but did not provide one in the table entry. Ginkgo SpecContexts can only be passed in to subject and setup nodes - so if you are trying to implement a spec timeout you should request a context in the It function within your subtree body function, not in the subtree body function itself.", + CodeLocation: cl, + DocLink: "table-specs", + } +} + +/* Parallel Synchronization errors */ + +func (g ginkgoErrors) AggregatedReportUnavailableDueToNodeDisappearing() error { + return GinkgoError{ + Heading: "Test Report unavailable because a Ginkgo parallel process disappeared", + Message: "The aggregated report could not be fetched for a ReportAfterSuite node. A Ginkgo parallel process disappeared before it could finish reporting.", + } +} + +func (g ginkgoErrors) SynchronizedBeforeSuiteFailedOnProc1() error { + return GinkgoError{ + Heading: "SynchronizedBeforeSuite failed on Ginkgo parallel process #1", + Message: "The first SynchronizedBeforeSuite function running on Ginkgo parallel process #1 failed. This suite will now abort.", + } +} + +func (g ginkgoErrors) SynchronizedBeforeSuiteDisappearedOnProc1() error { + return GinkgoError{ + Heading: "Process #1 disappeared before SynchronizedBeforeSuite could report back", + Message: "Ginkgo parallel process #1 disappeared before the first SynchronizedBeforeSuite function completed. This suite will now abort.", + } +} + +/* Configuration errors */ + +func (g ginkgoErrors) UnknownTypePassedToRunSpecs(value interface{}) error { + return GinkgoError{ + Heading: "Unknown Type passed to RunSpecs", + Message: fmt.Sprintf("RunSpecs() accepts labels, and configuration of type types.SuiteConfig and/or types.ReporterConfig.\n You passed in: %v", value), + } +} + +var sharedParallelErrorMessage = "It looks like you are trying to run specs in parallel with go test.\nThis is unsupported and you should use the ginkgo CLI instead." + +func (g ginkgoErrors) InvalidParallelTotalConfiguration() error { + return GinkgoError{ + Heading: "-ginkgo.parallel.total must be >= 1", + Message: sharedParallelErrorMessage, + DocLink: "spec-parallelization", + } +} + +func (g ginkgoErrors) InvalidParallelProcessConfiguration() error { + return GinkgoError{ + Heading: "-ginkgo.parallel.process is one-indexed and must be <= ginkgo.parallel.total", + Message: sharedParallelErrorMessage, + DocLink: "spec-parallelization", + } +} + +func (g ginkgoErrors) MissingParallelHostConfiguration() error { + return GinkgoError{ + Heading: "-ginkgo.parallel.host is missing", + Message: sharedParallelErrorMessage, + DocLink: "spec-parallelization", + } +} + +func (g ginkgoErrors) UnreachableParallelHost(host string) error { + return GinkgoError{ + Heading: "Could not reach ginkgo.parallel.host:" + host, + Message: sharedParallelErrorMessage, + DocLink: "spec-parallelization", + } +} + +func (g ginkgoErrors) DryRunInParallelConfiguration() error { + return GinkgoError{ + Heading: "Ginkgo only performs -dryRun in serial mode.", + Message: "Please try running ginkgo -dryRun again, but without -p or -procs to ensure the suite is running in series.", + } +} + +func (g ginkgoErrors) GracePeriodCannotBeZero() error { + return GinkgoError{ + Heading: "Ginkgo requires a positive --grace-period.", + Message: "Please set --grace-period to a positive duration. The default is 30s.", + } +} + +func (g ginkgoErrors) ConflictingVerbosityConfiguration() error { + return GinkgoError{ + Heading: "Conflicting reporter verbosity settings.", + Message: "You can't set more than one of -v, -vv and --succinct. Please pick one!", + } +} + +func (g ginkgoErrors) InvalidOutputInterceptorModeConfiguration(value string) error { + return GinkgoError{ + Heading: fmt.Sprintf("Invalid value '%s' for --output-interceptor-mode.", value), + Message: "You must choose one of 'dup', 'swap', or 'none'.", + } +} + +func (g ginkgoErrors) InvalidGoFlagCount() error { + return GinkgoError{ + Heading: "Use of go test -count", + Message: "Ginkgo does not support using go test -count to rerun suites. Only -count=1 is allowed. To repeat suite runs, please use the ginkgo cli and `ginkgo -until-it-fails` or `ginkgo -repeat=N`.", + } +} + +func (g ginkgoErrors) InvalidGoFlagParallel() error { + return GinkgoError{ + Heading: "Use of go test -parallel", + Message: "Go test's implementation of parallelization does not actually parallelize Ginkgo specs. Please use the ginkgo cli and `ginkgo -p` or `ginkgo -procs=N` instead.", + } +} + +func (g ginkgoErrors) BothRepeatAndUntilItFails() error { + return GinkgoError{ + Heading: "--repeat and --until-it-fails are both set", + Message: "--until-it-fails directs Ginkgo to rerun specs indefinitely until they fail. --repeat directs Ginkgo to rerun specs a set number of times. You can't set both... which would you like?", + } +} + +/* Stack-Trace parsing errors */ + +func (g ginkgoErrors) FailedToParseStackTrace(message string) error { + return GinkgoError{ + Heading: "Failed to Parse Stack Trace", + Message: message, + } +} diff --git a/vendor/github.com/onsi/ginkgo/v2/types/file_filter.go b/vendor/github.com/onsi/ginkgo/v2/types/file_filter.go new file mode 100644 index 000000000..cc21df71e --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/types/file_filter.go @@ -0,0 +1,106 @@ +package types + +import ( + "regexp" + "strconv" + "strings" +) + +func ParseFileFilters(filters []string) (FileFilters, error) { + ffs := FileFilters{} + for _, filter := range filters { + ff := FileFilter{} + if filter == "" { + return nil, GinkgoErrors.InvalidFileFilter(filter) + } + components := strings.Split(filter, ":") + if !(len(components) == 1 || len(components) == 2) { + return nil, GinkgoErrors.InvalidFileFilter(filter) + } + + var err error + ff.Filename, err = regexp.Compile(components[0]) + if err != nil { + return nil, err + } + if len(components) == 2 { + lineFilters := strings.Split(components[1], ",") + for _, lineFilter := range lineFilters { + components := strings.Split(lineFilter, "-") + if len(components) == 1 { + line, err := strconv.Atoi(strings.TrimSpace(components[0])) + if err != nil { + return nil, GinkgoErrors.InvalidFileFilter(filter) + } + ff.LineFilters = append(ff.LineFilters, LineFilter{line, line + 1}) + } else if len(components) == 2 { + line1, err := strconv.Atoi(strings.TrimSpace(components[0])) + if err != nil { + return nil, GinkgoErrors.InvalidFileFilter(filter) + } + line2, err := strconv.Atoi(strings.TrimSpace(components[1])) + if err != nil { + return nil, GinkgoErrors.InvalidFileFilter(filter) + } + ff.LineFilters = append(ff.LineFilters, LineFilter{line1, line2}) + } else { + return nil, GinkgoErrors.InvalidFileFilter(filter) + } + } + } + ffs = append(ffs, ff) + } + return ffs, nil +} + +type FileFilter struct { + Filename *regexp.Regexp + LineFilters LineFilters +} + +func (f FileFilter) Matches(locations []CodeLocation) bool { + for _, location := range locations { + if f.Filename.MatchString(location.FileName) && + f.LineFilters.Matches(location.LineNumber) { + return true + } + + } + return false +} + +type FileFilters []FileFilter + +func (ffs FileFilters) Matches(locations []CodeLocation) bool { + for _, ff := range ffs { + if ff.Matches(locations) { + return true + } + } + + return false +} + +type LineFilter struct { + Min int + Max int +} + +func (lf LineFilter) Matches(line int) bool { + return lf.Min <= line && line < lf.Max +} + +type LineFilters []LineFilter + +func (lfs LineFilters) Matches(line int) bool { + if len(lfs) == 0 { + return true + } + + for _, lf := range lfs { + if lf.Matches(line) { + return true + } + } + return false +} diff --git a/vendor/github.com/onsi/ginkgo/v2/types/flags.go b/vendor/github.com/onsi/ginkgo/v2/types/flags.go new file mode 100644 index 000000000..de69f3022 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/types/flags.go @@ -0,0 +1,490 @@ +package types + +import ( + "flag" + "fmt" + "io" + "reflect" + "strings" + "time" + + "github.com/onsi/ginkgo/v2/formatter" +) + +type GinkgoFlag struct { + Name string + KeyPath string + SectionKey string + + Usage string + UsageArgument string + UsageDefaultValue string + + DeprecatedName string + DeprecatedDocLink string + DeprecatedVersion string + + ExportAs string + AlwaysExport bool +} + +type GinkgoFlags []GinkgoFlag + +func (f GinkgoFlags) CopyAppend(flags ...GinkgoFlag) GinkgoFlags { + out := GinkgoFlags{} + out = append(out, f...) + out = append(out, flags...) + return out +} + +func (f GinkgoFlags) WithPrefix(prefix string) GinkgoFlags { + if prefix == "" { + return f + } + out := GinkgoFlags{} + for _, flag := range f { + if flag.Name != "" { + flag.Name = prefix + "." + flag.Name + } + if flag.DeprecatedName != "" { + flag.DeprecatedName = prefix + "." + flag.DeprecatedName + } + if flag.ExportAs != "" { + flag.ExportAs = prefix + "." + flag.ExportAs + } + out = append(out, flag) + } + return out +} + +func (f GinkgoFlags) SubsetWithNames(names ...string) GinkgoFlags { + out := GinkgoFlags{} + for _, flag := range f { + for _, name := range names { + if flag.Name == name { + out = append(out, flag) + break + } + } + } + return out +} + +type GinkgoFlagSection struct { + Key string + Style string + Succinct bool + Heading string + Description string +} + +type GinkgoFlagSections []GinkgoFlagSection + +func (gfs GinkgoFlagSections) Lookup(key string) (GinkgoFlagSection, bool) { + for _, section := range gfs { + if section.Key == key { + return section, true + } + } + + return GinkgoFlagSection{}, false +} + +type GinkgoFlagSet struct { + flags GinkgoFlags + bindings interface{} + + sections GinkgoFlagSections + extraGoFlagsSection GinkgoFlagSection + + flagSet *flag.FlagSet +} + +// Call NewGinkgoFlagSet to create GinkgoFlagSet that creates and binds to it's own *flag.FlagSet +func NewGinkgoFlagSet(flags GinkgoFlags, bindings interface{}, sections GinkgoFlagSections) (GinkgoFlagSet, error) { + return bindFlagSet(GinkgoFlagSet{ + flags: flags, + bindings: bindings, + sections: sections, + }, nil) +} + +// Call NewGinkgoFlagSet to create GinkgoFlagSet that extends an existing *flag.FlagSet +func NewAttachedGinkgoFlagSet(flagSet *flag.FlagSet, flags GinkgoFlags, bindings interface{}, sections GinkgoFlagSections, extraGoFlagsSection GinkgoFlagSection) (GinkgoFlagSet, error) { + return bindFlagSet(GinkgoFlagSet{ + flags: flags, + bindings: bindings, + sections: sections, + extraGoFlagsSection: extraGoFlagsSection, + }, flagSet) +} + +func bindFlagSet(f GinkgoFlagSet, flagSet *flag.FlagSet) (GinkgoFlagSet, error) { + if flagSet == nil { + f.flagSet = flag.NewFlagSet("", flag.ContinueOnError) + //suppress all output as Ginkgo is responsible for formatting usage + f.flagSet.SetOutput(io.Discard) + } else { + f.flagSet = flagSet + //we're piggybacking on an existing flagset (typically go test) so we have limited control + //on user feedback + f.flagSet.Usage = f.substituteUsage + } + + for _, flag := range f.flags { + name := flag.Name + + deprecatedUsage := "[DEPRECATED]" + deprecatedName := flag.DeprecatedName + if name != "" { + deprecatedUsage = fmt.Sprintf("[DEPRECATED] use --%s instead", name) + } else if flag.Usage != "" { + deprecatedUsage += " " + flag.Usage + } + + value, ok := valueAtKeyPath(f.bindings, flag.KeyPath) + if !ok { + return GinkgoFlagSet{}, fmt.Errorf("could not load KeyPath: %s", flag.KeyPath) + } + + iface, addr := value.Interface(), value.Addr().Interface() + + switch value.Type() { + case reflect.TypeOf(string("")): + if name != "" { + f.flagSet.StringVar(addr.(*string), name, iface.(string), flag.Usage) + } + if deprecatedName != "" { + f.flagSet.StringVar(addr.(*string), deprecatedName, iface.(string), deprecatedUsage) + } + case reflect.TypeOf(int64(0)): + if name != "" { + f.flagSet.Int64Var(addr.(*int64), name, iface.(int64), flag.Usage) + } + if deprecatedName != "" { + f.flagSet.Int64Var(addr.(*int64), deprecatedName, iface.(int64), deprecatedUsage) + } + case reflect.TypeOf(float64(0)): + if name != "" { + f.flagSet.Float64Var(addr.(*float64), name, iface.(float64), flag.Usage) + } + if deprecatedName != "" { + f.flagSet.Float64Var(addr.(*float64), deprecatedName, iface.(float64), deprecatedUsage) + } + case reflect.TypeOf(int(0)): + if name != "" { + f.flagSet.IntVar(addr.(*int), name, iface.(int), flag.Usage) + } + if deprecatedName != "" { + f.flagSet.IntVar(addr.(*int), deprecatedName, iface.(int), deprecatedUsage) + } + case reflect.TypeOf(bool(true)): + if name != "" { + f.flagSet.BoolVar(addr.(*bool), name, iface.(bool), flag.Usage) + } + if deprecatedName != "" { + f.flagSet.BoolVar(addr.(*bool), deprecatedName, iface.(bool), deprecatedUsage) + } + case reflect.TypeOf(time.Duration(0)): + if name != "" { + f.flagSet.DurationVar(addr.(*time.Duration), name, iface.(time.Duration), flag.Usage) + } + if deprecatedName != "" { + f.flagSet.DurationVar(addr.(*time.Duration), deprecatedName, iface.(time.Duration), deprecatedUsage) + } + + case reflect.TypeOf([]string{}): + if name != "" { + f.flagSet.Var(stringSliceVar{value}, name, flag.Usage) + } + if deprecatedName != "" { + f.flagSet.Var(stringSliceVar{value}, deprecatedName, deprecatedUsage) + } + default: + return GinkgoFlagSet{}, fmt.Errorf("unsupported type %T", iface) + } + } + + return f, nil +} + +func (f GinkgoFlagSet) IsZero() bool { + return f.flagSet == nil +} + +func (f GinkgoFlagSet) WasSet(name string) bool { + found := false + f.flagSet.Visit(func(f *flag.Flag) { + if f.Name == name { + found = true + } + }) + + return found +} + +func (f GinkgoFlagSet) Lookup(name string) *flag.Flag { + return f.flagSet.Lookup(name) +} + +func (f GinkgoFlagSet) Parse(args []string) ([]string, error) { + if f.IsZero() { + return args, nil + } + err := f.flagSet.Parse(args) + if err != nil { + return []string{}, err + } + return f.flagSet.Args(), nil +} + +func (f GinkgoFlagSet) ValidateDeprecations(deprecationTracker *DeprecationTracker) { + if f.IsZero() { + return + } + f.flagSet.Visit(func(flag *flag.Flag) { + for _, ginkgoFlag := range f.flags { + if ginkgoFlag.DeprecatedName != "" && strings.HasSuffix(flag.Name, ginkgoFlag.DeprecatedName) { + message := fmt.Sprintf("--%s is deprecated", ginkgoFlag.DeprecatedName) + if ginkgoFlag.Name != "" { + message = fmt.Sprintf("--%s is deprecated, use --%s instead", ginkgoFlag.DeprecatedName, ginkgoFlag.Name) + } else if ginkgoFlag.Usage != "" { + message += " " + ginkgoFlag.Usage + } + + deprecationTracker.TrackDeprecation(Deprecation{ + Message: message, + DocLink: ginkgoFlag.DeprecatedDocLink, + Version: ginkgoFlag.DeprecatedVersion, + }) + } + } + }) +} + +func (f GinkgoFlagSet) Usage() string { + if f.IsZero() { + return "" + } + groupedFlags := map[GinkgoFlagSection]GinkgoFlags{} + ungroupedFlags := GinkgoFlags{} + managedFlags := map[string]bool{} + extraGoFlags := []*flag.Flag{} + + for _, flag := range f.flags { + managedFlags[flag.Name] = true + managedFlags[flag.DeprecatedName] = true + + if flag.Name == "" { + continue + } + + section, ok := f.sections.Lookup(flag.SectionKey) + if ok { + groupedFlags[section] = append(groupedFlags[section], flag) + } else { + ungroupedFlags = append(ungroupedFlags, flag) + } + } + + f.flagSet.VisitAll(func(flag *flag.Flag) { + if !managedFlags[flag.Name] { + extraGoFlags = append(extraGoFlags, flag) + } + }) + + out := "" + for _, section := range f.sections { + flags := groupedFlags[section] + if len(flags) == 0 { + continue + } + out += f.usageForSection(section) + if section.Succinct { + succinctFlags := []string{} + for _, flag := range flags { + if flag.Name != "" { + succinctFlags = append(succinctFlags, fmt.Sprintf("--%s", flag.Name)) + } + } + out += formatter.Fiw(1, formatter.COLS, section.Style+strings.Join(succinctFlags, ", ")+"{{/}}\n") + } else { + for _, flag := range flags { + out += f.usageForFlag(flag, section.Style) + } + } + out += "\n" + } + if len(ungroupedFlags) > 0 { + for _, flag := range ungroupedFlags { + out += f.usageForFlag(flag, "") + } + out += "\n" + } + if len(extraGoFlags) > 0 { + out += f.usageForSection(f.extraGoFlagsSection) + for _, goFlag := range extraGoFlags { + out += f.usageForGoFlag(goFlag) + } + } + + return out +} + +func (f GinkgoFlagSet) substituteUsage() { + fmt.Fprintln(f.flagSet.Output(), f.Usage()) +} + +func valueAtKeyPath(root interface{}, keyPath string) (reflect.Value, bool) { + if len(keyPath) == 0 { + return reflect.Value{}, false + } + + val := reflect.ValueOf(root) + components := strings.Split(keyPath, ".") + for _, component := range components { + val = reflect.Indirect(val) + switch val.Kind() { + case reflect.Map: + val = val.MapIndex(reflect.ValueOf(component)) + if val.Kind() == reflect.Interface { + val = reflect.ValueOf(val.Interface()) + } + case reflect.Struct: + val = val.FieldByName(component) + default: + return reflect.Value{}, false + } + if (val == reflect.Value{}) { + return reflect.Value{}, false + } + } + + return val, true +} + +func (f GinkgoFlagSet) usageForSection(section GinkgoFlagSection) string { + out := formatter.F(section.Style + "{{bold}}{{underline}}" + section.Heading + "{{/}}\n") + if section.Description != "" { + out += formatter.Fiw(0, formatter.COLS, section.Description+"\n") + } + return out +} + +func (f GinkgoFlagSet) usageForFlag(flag GinkgoFlag, style string) string { + argument := flag.UsageArgument + defValue := flag.UsageDefaultValue + if argument == "" { + value, _ := valueAtKeyPath(f.bindings, flag.KeyPath) + switch value.Type() { + case reflect.TypeOf(string("")): + argument = "string" + case reflect.TypeOf(int64(0)), reflect.TypeOf(int(0)): + argument = "int" + case reflect.TypeOf(time.Duration(0)): + argument = "duration" + case reflect.TypeOf(float64(0)): + argument = "float" + case reflect.TypeOf([]string{}): + argument = "string" + } + } + if argument != "" { + argument = "[" + argument + "] " + } + if defValue != "" { + defValue = fmt.Sprintf("(default: %s)", defValue) + } + hyphens := "--" + if len(flag.Name) == 1 { + hyphens = "-" + } + + out := formatter.Fi(1, style+"%s%s{{/}} %s{{gray}}%s{{/}}\n", hyphens, flag.Name, argument, defValue) + out += formatter.Fiw(2, formatter.COLS, "{{light-gray}}%s{{/}}\n", flag.Usage) + return out +} + +func (f GinkgoFlagSet) usageForGoFlag(goFlag *flag.Flag) string { + //Taken directly from the flag package + out := fmt.Sprintf(" -%s", goFlag.Name) + name, usage := flag.UnquoteUsage(goFlag) + if len(name) > 0 { + out += " " + name + } + if len(out) <= 4 { + out += "\t" + } else { + out += "\n \t" + } + out += strings.ReplaceAll(usage, "\n", "\n \t") + out += "\n" + return out +} + +type stringSliceVar struct { + slice reflect.Value +} + +func (ssv stringSliceVar) String() string { return "" } +func (ssv stringSliceVar) Set(s string) error { + ssv.slice.Set(reflect.AppendSlice(ssv.slice, reflect.ValueOf([]string{s}))) + return nil +} + +// given a set of GinkgoFlags and bindings, generate flag arguments suitable to be passed to an application with that set of flags configured. +func GenerateFlagArgs(flags GinkgoFlags, bindings interface{}) ([]string, error) { + result := []string{} + for _, flag := range flags { + name := flag.ExportAs + if name == "" { + name = flag.Name + } + if name == "" { + continue + } + + value, ok := valueAtKeyPath(bindings, flag.KeyPath) + if !ok { + return []string{}, fmt.Errorf("could not load KeyPath: %s", flag.KeyPath) + } + + iface := value.Interface() + switch value.Type() { + case reflect.TypeOf(string("")): + if iface.(string) != "" || flag.AlwaysExport { + result = append(result, fmt.Sprintf("--%s=%s", name, iface)) + } + case reflect.TypeOf(int64(0)): + if iface.(int64) != 0 || flag.AlwaysExport { + result = append(result, fmt.Sprintf("--%s=%d", name, iface)) + } + case reflect.TypeOf(float64(0)): + if iface.(float64) != 0 || flag.AlwaysExport { + result = append(result, fmt.Sprintf("--%s=%f", name, iface)) + } + case reflect.TypeOf(int(0)): + if iface.(int) != 0 || flag.AlwaysExport { + result = append(result, fmt.Sprintf("--%s=%d", name, iface)) + } + case reflect.TypeOf(bool(true)): + if iface.(bool) { + result = append(result, fmt.Sprintf("--%s", name)) + } + case reflect.TypeOf(time.Duration(0)): + if iface.(time.Duration) != time.Duration(0) || flag.AlwaysExport { + result = append(result, fmt.Sprintf("--%s=%s", name, iface)) + } + + case reflect.TypeOf([]string{}): + strings := iface.([]string) + for _, s := range strings { + result = append(result, fmt.Sprintf("--%s=%s", name, s)) + } + default: + return []string{}, fmt.Errorf("unsupported type %T", iface) + } + } + + return result, nil +} diff --git a/vendor/github.com/onsi/ginkgo/v2/types/label_filter.go b/vendor/github.com/onsi/ginkgo/v2/types/label_filter.go new file mode 100644 index 000000000..7fdc8aa23 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/types/label_filter.go @@ -0,0 +1,583 @@ +package types + +import ( + "fmt" + "regexp" + "strings" +) + +var DEBUG_LABEL_FILTER_PARSING = false + +type LabelFilter func([]string) bool + +func matchLabelAction(label string) LabelFilter { + expected := strings.ToLower(label) + return func(labels []string) bool { + for i := range labels { + if strings.ToLower(labels[i]) == expected { + return true + } + } + return false + } +} + +func matchLabelRegexAction(regex *regexp.Regexp) LabelFilter { + return func(labels []string) bool { + for i := range labels { + if regex.MatchString(labels[i]) { + return true + } + } + return false + } +} + +func notAction(filter LabelFilter) LabelFilter { + return func(labels []string) bool { return !filter(labels) } +} + +func andAction(a, b LabelFilter) LabelFilter { + return func(labels []string) bool { return a(labels) && b(labels) } +} + +func orAction(a, b LabelFilter) LabelFilter { + return func(labels []string) bool { return a(labels) || b(labels) } +} + +func labelSetFor(key string, labels []string) map[string]bool { + key = strings.ToLower(strings.TrimSpace(key)) + out := map[string]bool{} + for _, label := range labels { + components := strings.SplitN(label, ":", 2) + if len(components) < 2 { + continue + } + if key == strings.ToLower(strings.TrimSpace(components[0])) { + out[strings.ToLower(strings.TrimSpace(components[1]))] = true + } + } + + return out +} + +func isEmptyLabelSetAction(key string) LabelFilter { + return func(labels []string) bool { + return len(labelSetFor(key, labels)) == 0 + } +} + +func containsAnyLabelSetAction(key string, expectedValues []string) LabelFilter { + return func(labels []string) bool { + set := labelSetFor(key, labels) + for _, value := range expectedValues { + if set[value] { + return true + } + } + return false + } +} + +func containsAllLabelSetAction(key string, expectedValues []string) LabelFilter { + return func(labels []string) bool { + set := labelSetFor(key, labels) + for _, value := range expectedValues { + if !set[value] { + return false + } + } + return true + } +} + +func consistsOfLabelSetAction(key string, expectedValues []string) LabelFilter { + return func(labels []string) bool { + set := labelSetFor(key, labels) + if len(set) != len(expectedValues) { + return false + } + for _, value := range expectedValues { + if !set[value] { + return false + } + } + return true + } +} + +func isSubsetOfLabelSetAction(key string, expectedValues []string) LabelFilter { + expectedSet := map[string]bool{} + for _, value := range expectedValues { + expectedSet[value] = true + } + return func(labels []string) bool { + set := labelSetFor(key, labels) + for value := range set { + if !expectedSet[value] { + return false + } + } + return true + } +} + +type lfToken uint + +const ( + lfTokenInvalid lfToken = iota + + lfTokenRoot + lfTokenOpenGroup + lfTokenCloseGroup + lfTokenNot + lfTokenAnd + lfTokenOr + lfTokenRegexp + lfTokenLabel + lfTokenSetKey + lfTokenSetOperation + lfTokenSetArgument + lfTokenEOF +) + +func (l lfToken) Precedence() int { + switch l { + case lfTokenRoot, lfTokenOpenGroup: + return 0 + case lfTokenOr: + return 1 + case lfTokenAnd: + return 2 + case lfTokenNot: + return 3 + case lfTokenSetOperation: + return 4 + } + return -1 +} + +func (l lfToken) String() string { + switch l { + case lfTokenRoot: + return "ROOT" + case lfTokenOpenGroup: + return "(" + case lfTokenCloseGroup: + return ")" + case lfTokenNot: + return "!" + case lfTokenAnd: + return "&&" + case lfTokenOr: + return "||" + case lfTokenRegexp: + return "/regexp/" + case lfTokenLabel: + return "label" + case lfTokenSetKey: + return "set_key" + case lfTokenSetOperation: + return "set_operation" + case lfTokenSetArgument: + return "set_argument" + case lfTokenEOF: + return "EOF" + } + return "INVALID" +} + +type treeNode struct { + token lfToken + location int + value string + + parent *treeNode + leftNode *treeNode + rightNode *treeNode +} + +func (tn *treeNode) setRightNode(node *treeNode) { + tn.rightNode = node + node.parent = tn +} + +func (tn *treeNode) setLeftNode(node *treeNode) { + tn.leftNode = node + node.parent = tn +} + +func (tn *treeNode) firstAncestorWithPrecedenceLEQ(precedence int) *treeNode { + if tn.token.Precedence() <= precedence { + return tn + } + return tn.parent.firstAncestorWithPrecedenceLEQ(precedence) +} + +func (tn *treeNode) firstUnmatchedOpenNode() *treeNode { + if tn.token == lfTokenOpenGroup { + return tn + } + if tn.parent == nil { + return nil + } + return tn.parent.firstUnmatchedOpenNode() +} + +func (tn *treeNode) constructLabelFilter(input string) (LabelFilter, error) { + switch tn.token { + case lfTokenOpenGroup: + return nil, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, tn.location, "Mismatched '(' - could not find matching ')'.") + case lfTokenLabel: + return matchLabelAction(tn.value), nil + case lfTokenRegexp: + re, err := regexp.Compile(tn.value) + if err != nil { + return nil, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, tn.location, fmt.Sprintf("RegExp compilation error: %s", err)) + } + return matchLabelRegexAction(re), nil + case lfTokenSetOperation: + tokenSetOperation := strings.ToLower(tn.value) + if tokenSetOperation == "isempty" { + return isEmptyLabelSetAction(tn.leftNode.value), nil + } + if tn.rightNode == nil { + return nil, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, tn.location, fmt.Sprintf("Set operation '%s' is missing an argument.", tn.value)) + } + + rawValues := strings.Split(tn.rightNode.value, ",") + values := make([]string, len(rawValues)) + for i := range rawValues { + values[i] = strings.ToLower(strings.TrimSpace(rawValues[i])) + if strings.ContainsAny(values[i], "&|!,()/") { + return nil, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, tn.rightNode.location, fmt.Sprintf("Invalid label value '%s' in set operation argument.", values[i])) + } else if values[i] == "" { + return nil, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, tn.rightNode.location, "Empty label value in set operation argument.") + } + } + switch tokenSetOperation { + case "containsany": + return containsAnyLabelSetAction(tn.leftNode.value, values), nil + case "containsall": + return containsAllLabelSetAction(tn.leftNode.value, values), nil + case "consistsof": + return consistsOfLabelSetAction(tn.leftNode.value, values), nil + case "issubsetof": + return isSubsetOfLabelSetAction(tn.leftNode.value, values), nil + } + } + + if tn.rightNode == nil { + return nil, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, -1, "Unexpected EOF.") + } + rightLF, err := tn.rightNode.constructLabelFilter(input) + if err != nil { + return nil, err + } + + switch tn.token { + case lfTokenRoot, lfTokenCloseGroup: + return rightLF, nil + case lfTokenNot: + return notAction(rightLF), nil + } + + if tn.leftNode == nil { + return nil, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, tn.location, fmt.Sprintf("Malformed tree - '%s' is missing left operand.", tn.token)) + } + leftLF, err := tn.leftNode.constructLabelFilter(input) + if err != nil { + return nil, err + } + + switch tn.token { + case lfTokenAnd: + return andAction(leftLF, rightLF), nil + case lfTokenOr: + return orAction(leftLF, rightLF), nil + } + + return nil, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, tn.location, fmt.Sprintf("Invalid token '%s'.", tn.token)) +} + +func (tn *treeNode) tokenString() string { + out := fmt.Sprintf("<%s", tn.token) + if tn.value != "" { + out += " | " + tn.value + } + out += ">" + return out +} + +func (tn *treeNode) toString(indent int) string { + out := tn.tokenString() + "\n" + if tn.leftNode != nil { + out += fmt.Sprintf("%s |_(L)_%s", strings.Repeat(" ", indent), tn.leftNode.toString(indent+1)) + } + if tn.rightNode != nil { + out += fmt.Sprintf("%s |_(R)_%s", strings.Repeat(" ", indent), tn.rightNode.toString(indent+1)) + } + return out +} + +var validSetOperations = map[string]string{ + "containsany": "containsAny", + "containsall": "containsAll", + "consistsof": "consistsOf", + "issubsetof": "isSubsetOf", + "isempty": "isEmpty", +} + +func tokenize(input string) func() (*treeNode, error) { + lastToken := lfTokenInvalid + lastValue := "" + runes, i := []rune(input), 0 + + peekIs := func(r rune) bool { + if i+1 < len(runes) { + return runes[i+1] == r + } + return false + } + + consumeUntil := func(cutset string) (string, int) { + j := i + for ; j < len(runes); j++ { + if strings.IndexRune(cutset, runes[j]) >= 0 { + break + } + } + return string(runes[i:j]), j - i + } + + return func() (*treeNode, error) { + for i < len(runes) && runes[i] == ' ' { + i += 1 + } + + if i >= len(runes) { + return &treeNode{token: lfTokenEOF}, nil + } + + node := &treeNode{location: i} + defer func() { + lastToken = node.token + lastValue = node.value + }() + + if lastToken == lfTokenSetKey { + //we should get a valid set operation next + value, n := consumeUntil(" )") + if validSetOperations[strings.ToLower(value)] == "" { + return &treeNode{}, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, i, fmt.Sprintf("Invalid set operation '%s'.", value)) + } + i += n + node.token, node.value = lfTokenSetOperation, value + return node, nil + } + if lastToken == lfTokenSetOperation { + //we should get an argument next, if we aren't isempty + var arg = "" + origI := i + if runes[i] == '{' { + i += 1 + value, n := consumeUntil("}") + if i+n >= len(runes) { + return &treeNode{}, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, i-1, "Missing closing '}' in set operation argument?") + } + i += n + 1 + arg = value + } else { + value, n := consumeUntil("&|!,()/") + i += n + arg = strings.TrimSpace(value) + } + if strings.ToLower(lastValue) == "isempty" && arg != "" { + return &treeNode{}, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, origI, fmt.Sprintf("isEmpty does not take arguments, was passed '%s'.", arg)) + } + if arg == "" && strings.ToLower(lastValue) != "isempty" { + if i < len(runes) && runes[i] == '/' { + return &treeNode{}, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, origI, "Set operations do not support regular expressions.") + } else { + return &treeNode{}, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, origI, fmt.Sprintf("Set operation '%s' requires an argument.", lastValue)) + } + } + // note that we sent an empty SetArgument token if we are isempty + node.token, node.value = lfTokenSetArgument, arg + return node, nil + } + + switch runes[i] { + case '&': + if !peekIs('&') { + return &treeNode{}, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, i, "Invalid token '&'. Did you mean '&&'?") + } + i += 2 + node.token = lfTokenAnd + case '|': + if !peekIs('|') { + return &treeNode{}, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, i, "Invalid token '|'. Did you mean '||'?") + } + i += 2 + node.token = lfTokenOr + case '!': + i += 1 + node.token = lfTokenNot + case ',': + i += 1 + node.token = lfTokenOr + case '(': + i += 1 + node.token = lfTokenOpenGroup + case ')': + i += 1 + node.token = lfTokenCloseGroup + case '/': + i += 1 + value, n := consumeUntil("/") + i += n + 1 + node.token, node.value = lfTokenRegexp, value + default: + value, n := consumeUntil("&|!,()/:") + i += n + value = strings.TrimSpace(value) + + //are we the beginning of a set operation? + if i < len(runes) && runes[i] == ':' { + if peekIs(' ') { + if value == "" { + return &treeNode{}, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, i, "Missing set key.") + } + i += 1 + //we are the beginning of a set operation + node.token, node.value = lfTokenSetKey, value + return node, nil + } + additionalValue, n := consumeUntil("&|!,()/") + additionalValue = strings.TrimSpace(additionalValue) + if additionalValue == ":" { + return &treeNode{}, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, i, "Missing set operation.") + } + i += n + value += additionalValue + } + + valueToCheckForSetOperation := strings.ToLower(value) + for setOperation := range validSetOperations { + idx := strings.Index(valueToCheckForSetOperation, " "+setOperation) + if idx > 0 { + return &treeNode{}, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, i-n+idx+1, fmt.Sprintf("Looks like you are using the set operator '%s' but did not provide a set key. Did you forget the ':'?", validSetOperations[setOperation])) + } + } + + node.token, node.value = lfTokenLabel, strings.TrimSpace(value) + } + return node, nil + } +} + +func MustParseLabelFilter(input string) LabelFilter { + filter, err := ParseLabelFilter(input) + if err != nil { + panic(err) + } + return filter +} + +func ParseLabelFilter(input string) (LabelFilter, error) { + if DEBUG_LABEL_FILTER_PARSING { + fmt.Println("\n==============") + fmt.Println("Input: ", input) + fmt.Print("Tokens: ") + } + if input == "" { + return func(_ []string) bool { return true }, nil + } + nextToken := tokenize(input) + + root := &treeNode{token: lfTokenRoot} + current := root +LOOP: + for { + node, err := nextToken() + if err != nil { + return nil, err + } + + if DEBUG_LABEL_FILTER_PARSING { + fmt.Print(node.tokenString() + " ") + } + + switch node.token { + case lfTokenEOF: + break LOOP + case lfTokenLabel, lfTokenRegexp, lfTokenSetKey: + if current.rightNode != nil { + return nil, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, node.location, "Found two adjacent labels. You need an operator between them.") + } + current.setRightNode(node) + case lfTokenNot, lfTokenOpenGroup: + if current.rightNode != nil { + return nil, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, node.location, fmt.Sprintf("Invalid token '%s'.", node.token)) + } + current.setRightNode(node) + current = node + case lfTokenAnd, lfTokenOr: + if current.rightNode == nil { + return nil, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, node.location, fmt.Sprintf("Operator '%s' missing left hand operand.", node.token)) + } + nodeToStealFrom := current.firstAncestorWithPrecedenceLEQ(node.token.Precedence()) + node.setLeftNode(nodeToStealFrom.rightNode) + nodeToStealFrom.setRightNode(node) + current = node + case lfTokenSetOperation: + if current.rightNode == nil { + return nil, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, node.location, fmt.Sprintf("Set operation '%s' missing left hand operand.", node.value)) + } + node.setLeftNode(current.rightNode) + current.setRightNode(node) + current = node + case lfTokenSetArgument: + if current.rightNode != nil { + return nil, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, node.location, fmt.Sprintf("Unexpected set argument '%s'.", node.token)) + } + current.setRightNode(node) + case lfTokenCloseGroup: + firstUnmatchedOpenNode := current.firstUnmatchedOpenNode() + if firstUnmatchedOpenNode == nil { + return nil, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, node.location, "Mismatched ')' - could not find matching '('.") + } + if firstUnmatchedOpenNode == current && current.rightNode == nil { + return nil, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, node.location, "Found empty '()' group.") + } + firstUnmatchedOpenNode.token = lfTokenCloseGroup //signify the group is now closed + current = firstUnmatchedOpenNode.parent + default: + return nil, GinkgoErrors.SyntaxErrorParsingLabelFilter(input, node.location, fmt.Sprintf("Unknown token '%s'.", node.token)) + } + } + if DEBUG_LABEL_FILTER_PARSING { + fmt.Printf("\n Tree:\n%s", root.toString(0)) + } + return root.constructLabelFilter(input) +} + +func ValidateAndCleanupLabel(label string, cl CodeLocation) (string, error) { + out := strings.TrimSpace(label) + if out == "" { + return "", GinkgoErrors.InvalidEmptyLabel(cl) + } + if strings.ContainsAny(out, "&|!,()/") { + return "", GinkgoErrors.InvalidLabel(label, cl) + } + if out[0] == ':' { + return "", GinkgoErrors.InvalidLabel(label, cl) + } + if strings.Contains(out, ":") { + components := strings.SplitN(out, ":", 2) + if len(components) < 2 || components[1] == "" { + return "", GinkgoErrors.InvalidLabel(label, cl) + } + } + return out, nil +} diff --git a/vendor/github.com/onsi/ginkgo/v2/types/report_entry.go b/vendor/github.com/onsi/ginkgo/v2/types/report_entry.go new file mode 100644 index 000000000..7b1524b52 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/types/report_entry.go @@ -0,0 +1,190 @@ +package types + +import ( + "encoding/json" + "fmt" + "time" +) + +// ReportEntryValue wraps a report entry's value ensuring it can be encoded and decoded safely into reports +// and across the network connection when running in parallel +type ReportEntryValue struct { + raw interface{} //unexported to prevent gob from freaking out about unregistered structs + AsJSON string + Representation string +} + +func WrapEntryValue(value interface{}) ReportEntryValue { + return ReportEntryValue{ + raw: value, + } +} + +func (rev ReportEntryValue) GetRawValue() interface{} { + return rev.raw +} + +func (rev ReportEntryValue) String() string { + if rev.raw == nil { + return "" + } + if colorableStringer, ok := rev.raw.(ColorableStringer); ok { + return colorableStringer.ColorableString() + } + + if stringer, ok := rev.raw.(fmt.Stringer); ok { + return stringer.String() + } + if rev.Representation != "" { + return rev.Representation + } + return fmt.Sprintf("%+v", rev.raw) +} + +func (rev ReportEntryValue) MarshalJSON() ([]byte, error) { + //All this to capture the representation at encoding-time, not creating time + //This way users can Report on pointers and get their final values at reporting-time + out := struct { + AsJSON string + Representation string + }{ + Representation: rev.String(), + } + asJSON, err := json.Marshal(rev.raw) + if err != nil { + return nil, err + } + out.AsJSON = string(asJSON) + + return json.Marshal(out) +} + +func (rev *ReportEntryValue) UnmarshalJSON(data []byte) error { + in := struct { + AsJSON string + Representation string + }{} + err := json.Unmarshal(data, &in) + if err != nil { + return err + } + rev.AsJSON = in.AsJSON + rev.Representation = in.Representation + return json.Unmarshal([]byte(in.AsJSON), &(rev.raw)) +} + +func (rev ReportEntryValue) GobEncode() ([]byte, error) { + return rev.MarshalJSON() +} + +func (rev *ReportEntryValue) GobDecode(data []byte) error { + return rev.UnmarshalJSON(data) +} + +// ReportEntry captures information attached to `SpecReport` via `AddReportEntry` +type ReportEntry struct { + // Visibility captures the visibility policy for this ReportEntry + Visibility ReportEntryVisibility + // Location captures the location of the AddReportEntry call + Location CodeLocation + + Time time.Time //need this for backwards compatibility + TimelineLocation TimelineLocation + + // Name captures the name of this report + Name string + // Value captures the (optional) object passed into AddReportEntry - this can be + // anything the user wants. The value passed to AddReportEntry is wrapped in a ReportEntryValue to make + // encoding/decoding the value easier. To access the raw value call entry.GetRawValue() + Value ReportEntryValue +} + +// ColorableStringer is an interface that ReportEntry values can satisfy. If they do then ColorableString() is used to generate their representation. +type ColorableStringer interface { + ColorableString() string +} + +// StringRepresentation() returns the string representation of the value associated with the ReportEntry -- +// if value is nil, empty string is returned +// if value is a `ColorableStringer` then `Value.ColorableString()` is returned +// if value is a `fmt.Stringer` then `Value.String()` is returned +// otherwise the value is formatted with "%+v" +func (entry ReportEntry) StringRepresentation() string { + return entry.Value.String() +} + +// GetRawValue returns the Value object that was passed to AddReportEntry +// If called in-process this will be the same object that was passed into AddReportEntry. +// If used from a rehydrated JSON file _or_ in a ReportAfterSuite when running in parallel this will be +// a JSON-decoded {}interface. If you want to reconstitute your original object you can decode the entry.Value.AsJSON +// field yourself. +func (entry ReportEntry) GetRawValue() interface{} { + return entry.Value.GetRawValue() +} + +func (entry ReportEntry) GetTimelineLocation() TimelineLocation { + return entry.TimelineLocation +} + +type ReportEntries []ReportEntry + +func (re ReportEntries) HasVisibility(visibilities ...ReportEntryVisibility) bool { + for _, entry := range re { + if entry.Visibility.Is(visibilities...) { + return true + } + } + return false +} + +func (re ReportEntries) WithVisibility(visibilities ...ReportEntryVisibility) ReportEntries { + out := ReportEntries{} + + for _, entry := range re { + if entry.Visibility.Is(visibilities...) { + out = append(out, entry) + } + } + + return out +} + +// ReportEntryVisibility governs the visibility of ReportEntries in Ginkgo's console reporter +type ReportEntryVisibility uint + +const ( + // Always print out this ReportEntry + ReportEntryVisibilityAlways ReportEntryVisibility = iota + // Only print out this ReportEntry if the spec fails or if the test is run with -v + ReportEntryVisibilityFailureOrVerbose + // Never print out this ReportEntry (note that ReportEntrys are always encoded in machine readable reports (e.g. JSON, JUnit, etc.)) + ReportEntryVisibilityNever +) + +var revEnumSupport = NewEnumSupport(map[uint]string{ + uint(ReportEntryVisibilityAlways): "always", + uint(ReportEntryVisibilityFailureOrVerbose): "failure-or-verbose", + uint(ReportEntryVisibilityNever): "never", +}) + +func (rev ReportEntryVisibility) String() string { + return revEnumSupport.String(uint(rev)) +} +func (rev *ReportEntryVisibility) UnmarshalJSON(b []byte) error { + out, err := revEnumSupport.UnmarshJSON(b) + *rev = ReportEntryVisibility(out) + return err +} +func (rev ReportEntryVisibility) MarshalJSON() ([]byte, error) { + return revEnumSupport.MarshJSON(uint(rev)) +} + +func (v ReportEntryVisibility) Is(visibilities ...ReportEntryVisibility) bool { + for _, visibility := range visibilities { + if v == visibility { + return true + } + } + + return false +} diff --git a/vendor/github.com/onsi/ginkgo/v2/types/types.go b/vendor/github.com/onsi/ginkgo/v2/types/types.go new file mode 100644 index 000000000..ddcbec1ba --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/types/types.go @@ -0,0 +1,922 @@ +package types + +import ( + "encoding/json" + "fmt" + "os" + "sort" + "strings" + "time" +) + +const GINKGO_FOCUS_EXIT_CODE = 197 + +var GINKGO_TIME_FORMAT = "01/02/06 15:04:05.999" + +func init() { + if os.Getenv("GINKGO_TIME_FORMAT") != "" { + GINKGO_TIME_FORMAT = os.Getenv("GINKGO_TIME_FORMAT") + } +} + +// Report captures information about a Ginkgo test run +type Report struct { + //SuitePath captures the absolute path to the test suite + SuitePath string + + //SuiteDescription captures the description string passed to the DSL's RunSpecs() function + SuiteDescription string + + //SuiteLabels captures any labels attached to the suite by the DSL's RunSpecs() function + SuiteLabels []string + + //SuiteSucceeded captures the success or failure status of the test run + //If true, the test run is considered successful. + //If false, the test run is considered unsuccessful + SuiteSucceeded bool + + //SuiteHasProgrammaticFocus captures whether the test suite has a test or set of tests that are programmatically focused + //(i.e an `FIt` or an `FDescribe` + SuiteHasProgrammaticFocus bool + + //SpecialSuiteFailureReasons may contain special failure reasons + //For example, a test suite might be considered "failed" even if none of the individual specs + //have a failure state. For example, if the user has configured --fail-on-pending the test suite + //will have failed if there are pending tests even though all non-pending tests may have passed. In such + //cases, Ginkgo populates SpecialSuiteFailureReasons with a clear message indicating the reason for the failure. + //SpecialSuiteFailureReasons is also populated if the test suite is interrupted by the user. + //Since multiple special failure reasons can occur, this field is a slice. + SpecialSuiteFailureReasons []string + + //PreRunStats contains a set of stats captured before the test run begins. This is primarily used + //by Ginkgo's reporter to tell the user how many specs are in the current suite (PreRunStats.TotalSpecs) + //and how many it intends to run (PreRunStats.SpecsThatWillRun) after applying any relevant focus or skip filters. + PreRunStats PreRunStats + + //StartTime and EndTime capture the start and end time of the test run + StartTime time.Time + EndTime time.Time + + //RunTime captures the duration of the test run + RunTime time.Duration + + //SuiteConfig captures the Ginkgo configuration governing this test run + //SuiteConfig includes information necessary for reproducing an identical test run, + //such as the random seed and any filters applied during the test run + SuiteConfig SuiteConfig + + //SpecReports is a list of all SpecReports generated by this test run + //It is empty when the SuiteReport is provided to ReportBeforeSuite + SpecReports SpecReports +} + +// PreRunStats contains a set of stats captured before the test run begins. This is primarily used +// by Ginkgo's reporter to tell the user how many specs are in the current suite (PreRunStats.TotalSpecs) +// and how many it intends to run (PreRunStats.SpecsThatWillRun) after applying any relevant focus or skip filters. +type PreRunStats struct { + TotalSpecs int + SpecsThatWillRun int +} + +// Add is used by Ginkgo's parallel aggregation mechanisms to combine test run reports form individual parallel processes +// to form a complete final report. +func (report Report) Add(other Report) Report { + report.SuiteSucceeded = report.SuiteSucceeded && other.SuiteSucceeded + + if other.StartTime.Before(report.StartTime) { + report.StartTime = other.StartTime + } + + if other.EndTime.After(report.EndTime) { + report.EndTime = other.EndTime + } + + specialSuiteFailureReasons := []string{} + reasonsLookup := map[string]bool{} + for _, reasons := range [][]string{report.SpecialSuiteFailureReasons, other.SpecialSuiteFailureReasons} { + for _, reason := range reasons { + if !reasonsLookup[reason] { + reasonsLookup[reason] = true + specialSuiteFailureReasons = append(specialSuiteFailureReasons, reason) + } + } + } + report.SpecialSuiteFailureReasons = specialSuiteFailureReasons + report.RunTime = report.EndTime.Sub(report.StartTime) + + reports := make(SpecReports, len(report.SpecReports)+len(other.SpecReports)) + copy(reports, report.SpecReports) + offset := len(report.SpecReports) + for i := range other.SpecReports { + reports[i+offset] = other.SpecReports[i] + } + + report.SpecReports = reports + return report +} + +// SpecReport captures information about a Ginkgo spec. +type SpecReport struct { + // ContainerHierarchyTexts is a slice containing the text strings of + // all Describe/Context/When containers in this spec's hierarchy. + ContainerHierarchyTexts []string + + // ContainerHierarchyLocations is a slice containing the CodeLocations of + // all Describe/Context/When containers in this spec's hierarchy. + ContainerHierarchyLocations []CodeLocation + + // ContainerHierarchyLabels is a slice containing the labels of + // all Describe/Context/When containers in this spec's hierarchy + ContainerHierarchyLabels [][]string + + // LeafNodeType, LeadNodeLocation, LeafNodeLabels and LeafNodeText capture the NodeType, CodeLocation, and text + // of the Ginkgo node being tested (typically an NodeTypeIt node, though this can also be + // one of the NodeTypesForSuiteLevelNodes node types) + LeafNodeType NodeType + LeafNodeLocation CodeLocation + LeafNodeLabels []string + LeafNodeText string + + // State captures whether the spec has passed, failed, etc. + State SpecState + + // IsSerial captures whether the spec has the Serial decorator + IsSerial bool + + // IsInOrderedContainer captures whether the spec appears in an Ordered container + IsInOrderedContainer bool + + // StartTime and EndTime capture the start and end time of the spec + StartTime time.Time + EndTime time.Time + + // RunTime captures the duration of the spec + RunTime time.Duration + + // ParallelProcess captures the parallel process that this spec ran on + ParallelProcess int + + // RunningInParallel captures whether this spec is part of a suite that ran in parallel + RunningInParallel bool + + //Failure is populated if a spec has failed, panicked, been interrupted, or skipped by the user (e.g. calling Skip()) + //It includes detailed information about the Failure + Failure Failure + + // NumAttempts captures the number of times this Spec was run. + // Flakey specs can be retried with ginkgo --flake-attempts=N or the use of the FlakeAttempts decorator. + // Repeated specs can be retried with the use of the MustPassRepeatedly decorator + NumAttempts int + + // MaxFlakeAttempts captures whether the spec has been retried with ginkgo --flake-attempts=N or the use of the FlakeAttempts decorator. + MaxFlakeAttempts int + + // MaxMustPassRepeatedly captures whether the spec has the MustPassRepeatedly decorator + MaxMustPassRepeatedly int + + // CapturedGinkgoWriterOutput contains text printed to the GinkgoWriter + CapturedGinkgoWriterOutput string + + // CapturedStdOutErr contains text printed to stdout/stderr (when running in parallel) + // This is always empty when running in series or calling CurrentSpecReport() + // It is used internally by Ginkgo's reporter + CapturedStdOutErr string + + // ReportEntries contains any reports added via `AddReportEntry` + ReportEntries ReportEntries + + // ProgressReports contains any progress reports generated during this spec. These can either be manually triggered, or automatically generated by Ginkgo via the PollProgressAfter() decorator + ProgressReports []ProgressReport + + // AdditionalFailures contains any failures that occurred after the initial spec failure. These typically occur in cleanup nodes after the initial failure and are only emitted when running in verbose mode. + AdditionalFailures []AdditionalFailure + + // SpecEvents capture additional events that occur during the spec run + SpecEvents SpecEvents +} + +func (report SpecReport) MarshalJSON() ([]byte, error) { + //All this to avoid emitting an empty Failure struct in the JSON + out := struct { + ContainerHierarchyTexts []string + ContainerHierarchyLocations []CodeLocation + ContainerHierarchyLabels [][]string + LeafNodeType NodeType + LeafNodeLocation CodeLocation + LeafNodeLabels []string + LeafNodeText string + State SpecState + StartTime time.Time + EndTime time.Time + RunTime time.Duration + ParallelProcess int + Failure *Failure `json:",omitempty"` + NumAttempts int + MaxFlakeAttempts int + MaxMustPassRepeatedly int + CapturedGinkgoWriterOutput string `json:",omitempty"` + CapturedStdOutErr string `json:",omitempty"` + ReportEntries ReportEntries `json:",omitempty"` + ProgressReports []ProgressReport `json:",omitempty"` + AdditionalFailures []AdditionalFailure `json:",omitempty"` + SpecEvents SpecEvents `json:",omitempty"` + }{ + ContainerHierarchyTexts: report.ContainerHierarchyTexts, + ContainerHierarchyLocations: report.ContainerHierarchyLocations, + ContainerHierarchyLabels: report.ContainerHierarchyLabels, + LeafNodeType: report.LeafNodeType, + LeafNodeLocation: report.LeafNodeLocation, + LeafNodeLabels: report.LeafNodeLabels, + LeafNodeText: report.LeafNodeText, + State: report.State, + StartTime: report.StartTime, + EndTime: report.EndTime, + RunTime: report.RunTime, + ParallelProcess: report.ParallelProcess, + Failure: nil, + ReportEntries: nil, + NumAttempts: report.NumAttempts, + MaxFlakeAttempts: report.MaxFlakeAttempts, + MaxMustPassRepeatedly: report.MaxMustPassRepeatedly, + CapturedGinkgoWriterOutput: report.CapturedGinkgoWriterOutput, + CapturedStdOutErr: report.CapturedStdOutErr, + } + + if !report.Failure.IsZero() { + out.Failure = &(report.Failure) + } + if len(report.ReportEntries) > 0 { + out.ReportEntries = report.ReportEntries + } + if len(report.ProgressReports) > 0 { + out.ProgressReports = report.ProgressReports + } + if len(report.AdditionalFailures) > 0 { + out.AdditionalFailures = report.AdditionalFailures + } + if len(report.SpecEvents) > 0 { + out.SpecEvents = report.SpecEvents + } + + return json.Marshal(out) +} + +// CombinedOutput returns a single string representation of both CapturedStdOutErr and CapturedGinkgoWriterOutput +// Note that both are empty when using CurrentSpecReport() so CurrentSpecReport().CombinedOutput() will always be empty. +// CombinedOutput() is used internally by Ginkgo's reporter. +func (report SpecReport) CombinedOutput() string { + if report.CapturedStdOutErr == "" { + return report.CapturedGinkgoWriterOutput + } + if report.CapturedGinkgoWriterOutput == "" { + return report.CapturedStdOutErr + } + return report.CapturedStdOutErr + "\n" + report.CapturedGinkgoWriterOutput +} + +// Failed returns true if report.State is one of the SpecStateFailureStates +// (SpecStateFailed, SpecStatePanicked, SpecStateinterrupted, SpecStateAborted) +func (report SpecReport) Failed() bool { + return report.State.Is(SpecStateFailureStates) +} + +// FullText returns a concatenation of all the report.ContainerHierarchyTexts and report.LeafNodeText +func (report SpecReport) FullText() string { + texts := []string{} + texts = append(texts, report.ContainerHierarchyTexts...) + if report.LeafNodeText != "" { + texts = append(texts, report.LeafNodeText) + } + return strings.Join(texts, " ") +} + +// Labels returns a deduped set of all the spec's Labels. +func (report SpecReport) Labels() []string { + out := []string{} + seen := map[string]bool{} + for _, labels := range report.ContainerHierarchyLabels { + for _, label := range labels { + if !seen[label] { + seen[label] = true + out = append(out, label) + } + } + } + for _, label := range report.LeafNodeLabels { + if !seen[label] { + seen[label] = true + out = append(out, label) + } + } + + return out +} + +// MatchesLabelFilter returns true if the spec satisfies the passed in label filter query +func (report SpecReport) MatchesLabelFilter(query string) (bool, error) { + filter, err := ParseLabelFilter(query) + if err != nil { + return false, err + } + return filter(report.Labels()), nil +} + +// FileName() returns the name of the file containing the spec +func (report SpecReport) FileName() string { + return report.LeafNodeLocation.FileName +} + +// LineNumber() returns the line number of the leaf node +func (report SpecReport) LineNumber() int { + return report.LeafNodeLocation.LineNumber +} + +// FailureMessage() returns the failure message (or empty string if the test hasn't failed) +func (report SpecReport) FailureMessage() string { + return report.Failure.Message +} + +// FailureLocation() returns the location of the failure (or an empty CodeLocation if the test hasn't failed) +func (report SpecReport) FailureLocation() CodeLocation { + return report.Failure.Location +} + +// Timeline() returns a timeline view of the report +func (report SpecReport) Timeline() Timeline { + timeline := Timeline{} + if !report.Failure.IsZero() { + timeline = append(timeline, report.Failure) + if report.Failure.AdditionalFailure != nil { + timeline = append(timeline, *(report.Failure.AdditionalFailure)) + } + } + for _, additionalFailure := range report.AdditionalFailures { + timeline = append(timeline, additionalFailure) + } + for _, reportEntry := range report.ReportEntries { + timeline = append(timeline, reportEntry) + } + for _, progressReport := range report.ProgressReports { + timeline = append(timeline, progressReport) + } + for _, specEvent := range report.SpecEvents { + timeline = append(timeline, specEvent) + } + sort.Sort(timeline) + return timeline +} + +type SpecReports []SpecReport + +// WithLeafNodeType returns the subset of SpecReports with LeafNodeType matching one of the requested NodeTypes +func (reports SpecReports) WithLeafNodeType(nodeTypes NodeType) SpecReports { + count := 0 + for i := range reports { + if reports[i].LeafNodeType.Is(nodeTypes) { + count++ + } + } + + out := make(SpecReports, count) + j := 0 + for i := range reports { + if reports[i].LeafNodeType.Is(nodeTypes) { + out[j] = reports[i] + j++ + } + } + return out +} + +// WithState returns the subset of SpecReports with State matching one of the requested SpecStates +func (reports SpecReports) WithState(states SpecState) SpecReports { + count := 0 + for i := range reports { + if reports[i].State.Is(states) { + count++ + } + } + + out, j := make(SpecReports, count), 0 + for i := range reports { + if reports[i].State.Is(states) { + out[j] = reports[i] + j++ + } + } + return out +} + +// CountWithState returns the number of SpecReports with State matching one of the requested SpecStates +func (reports SpecReports) CountWithState(states SpecState) int { + n := 0 + for i := range reports { + if reports[i].State.Is(states) { + n += 1 + } + } + return n +} + +// If the Spec passes, CountOfFlakedSpecs returns the number of SpecReports that failed after multiple attempts. +func (reports SpecReports) CountOfFlakedSpecs() int { + n := 0 + for i := range reports { + if reports[i].MaxFlakeAttempts > 1 && reports[i].State.Is(SpecStatePassed) && reports[i].NumAttempts > 1 { + n += 1 + } + } + return n +} + +// If the Spec fails, CountOfRepeatedSpecs returns the number of SpecReports that passed after multiple attempts +func (reports SpecReports) CountOfRepeatedSpecs() int { + n := 0 + for i := range reports { + if reports[i].MaxMustPassRepeatedly > 1 && reports[i].State.Is(SpecStateFailureStates) && reports[i].NumAttempts > 1 { + n += 1 + } + } + return n +} + +// TimelineLocation captures the location of an event in the spec's timeline +type TimelineLocation struct { + //Offset is the offset (in bytes) of the event relative to the GinkgoWriter stream + Offset int `json:",omitempty"` + + //Order is the order of the event with respect to other events. The absolute value of Order + //is irrelevant. All that matters is that an event with a lower Order occurs before ane vent with a higher Order + Order int `json:",omitempty"` + + Time time.Time +} + +// TimelineEvent represent an event on the timeline +// consumers of Timeline will need to check the concrete type of each entry to determine how to handle it +type TimelineEvent interface { + GetTimelineLocation() TimelineLocation +} + +type Timeline []TimelineEvent + +func (t Timeline) Len() int { return len(t) } +func (t Timeline) Less(i, j int) bool { + return t[i].GetTimelineLocation().Order < t[j].GetTimelineLocation().Order +} +func (t Timeline) Swap(i, j int) { t[i], t[j] = t[j], t[i] } +func (t Timeline) WithoutHiddenReportEntries() Timeline { + out := Timeline{} + for _, event := range t { + if reportEntry, isReportEntry := event.(ReportEntry); isReportEntry && reportEntry.Visibility == ReportEntryVisibilityNever { + continue + } + out = append(out, event) + } + return out +} + +func (t Timeline) WithoutVeryVerboseSpecEvents() Timeline { + out := Timeline{} + for _, event := range t { + if specEvent, isSpecEvent := event.(SpecEvent); isSpecEvent && specEvent.IsOnlyVisibleAtVeryVerbose() { + continue + } + out = append(out, event) + } + return out +} + +// Failure captures failure information for an individual test +type Failure struct { + // Message - the failure message passed into Fail(...). When using a matcher library + // like Gomega, this will contain the failure message generated by Gomega. + // + // Message is also populated if the user has called Skip(...). + Message string + + // Location - the CodeLocation where the failure occurred + // This CodeLocation will include a fully-populated StackTrace + Location CodeLocation + + TimelineLocation TimelineLocation + + // ForwardedPanic - if the failure represents a captured panic (i.e. Summary.State == SpecStatePanicked) + // then ForwardedPanic will be populated with a string representation of the captured panic. + ForwardedPanic string `json:",omitempty"` + + // FailureNodeContext - one of three contexts describing the node in which the failure occurred: + // FailureNodeIsLeafNode means the failure occurred in the leaf node of the associated SpecReport. None of the other FailureNode fields will be populated + // FailureNodeAtTopLevel means the failure occurred in a non-leaf node that is defined at the top-level of the spec (i.e. not in a container). FailureNodeType and FailureNodeLocation will be populated. + // FailureNodeInContainer means the failure occurred in a non-leaf node that is defined within a container. FailureNodeType, FailureNodeLocation, and FailureNodeContainerIndex will be populated. + // + // FailureNodeType will contain the NodeType of the node in which the failure occurred. + // FailureNodeLocation will contain the CodeLocation of the node in which the failure occurred. + // If populated, FailureNodeContainerIndex will be the index into SpecReport.ContainerHierarchyTexts and SpecReport.ContainerHierarchyLocations that represents the parent container of the node in which the failure occurred. + FailureNodeContext FailureNodeContext `json:",omitempty"` + + FailureNodeType NodeType `json:",omitempty"` + + FailureNodeLocation CodeLocation `json:",omitempty"` + + FailureNodeContainerIndex int `json:",omitempty"` + + //ProgressReport is populated if the spec was interrupted or timed out + ProgressReport ProgressReport `json:",omitempty"` + + //AdditionalFailure is non-nil if a follow-on failure occurred within the same node after the primary failure. This only happens when a node has timed out or been interrupted. In such cases the AdditionalFailure can include information about where/why the spec was stuck. + AdditionalFailure *AdditionalFailure `json:",omitempty"` +} + +func (f Failure) IsZero() bool { + return f.Message == "" && (f.Location == CodeLocation{}) +} + +func (f Failure) GetTimelineLocation() TimelineLocation { + return f.TimelineLocation +} + +// FailureNodeContext captures the location context for the node containing the failing line of code +type FailureNodeContext uint + +const ( + FailureNodeContextInvalid FailureNodeContext = iota + + FailureNodeIsLeafNode + FailureNodeAtTopLevel + FailureNodeInContainer +) + +var fncEnumSupport = NewEnumSupport(map[uint]string{ + uint(FailureNodeContextInvalid): "INVALID FAILURE NODE CONTEXT", + uint(FailureNodeIsLeafNode): "leaf-node", + uint(FailureNodeAtTopLevel): "top-level", + uint(FailureNodeInContainer): "in-container", +}) + +func (fnc FailureNodeContext) String() string { + return fncEnumSupport.String(uint(fnc)) +} +func (fnc *FailureNodeContext) UnmarshalJSON(b []byte) error { + out, err := fncEnumSupport.UnmarshJSON(b) + *fnc = FailureNodeContext(out) + return err +} +func (fnc FailureNodeContext) MarshalJSON() ([]byte, error) { + return fncEnumSupport.MarshJSON(uint(fnc)) +} + +// AdditionalFailure capturs any additional failures that occur after the initial failure of a psec +// these typically occur in clean up nodes after the spec has failed. +// We can't simply use Failure as we want to track the SpecState to know what kind of failure this is +type AdditionalFailure struct { + State SpecState + Failure Failure +} + +func (f AdditionalFailure) GetTimelineLocation() TimelineLocation { + return f.Failure.TimelineLocation +} + +// SpecState captures the state of a spec +// To determine if a given `state` represents a failure state, use `state.Is(SpecStateFailureStates)` +type SpecState uint + +const ( + SpecStateInvalid SpecState = 0 + + SpecStatePending SpecState = 1 << iota + SpecStateSkipped + SpecStatePassed + SpecStateFailed + SpecStateAborted + SpecStatePanicked + SpecStateInterrupted + SpecStateTimedout +) + +var ssEnumSupport = NewEnumSupport(map[uint]string{ + uint(SpecStateInvalid): "INVALID SPEC STATE", + uint(SpecStatePending): "pending", + uint(SpecStateSkipped): "skipped", + uint(SpecStatePassed): "passed", + uint(SpecStateFailed): "failed", + uint(SpecStateAborted): "aborted", + uint(SpecStatePanicked): "panicked", + uint(SpecStateInterrupted): "interrupted", + uint(SpecStateTimedout): "timedout", +}) + +func (ss SpecState) String() string { + return ssEnumSupport.String(uint(ss)) +} +func (ss SpecState) GomegaString() string { + return ssEnumSupport.String(uint(ss)) +} +func (ss *SpecState) UnmarshalJSON(b []byte) error { + out, err := ssEnumSupport.UnmarshJSON(b) + *ss = SpecState(out) + return err +} +func (ss SpecState) MarshalJSON() ([]byte, error) { + return ssEnumSupport.MarshJSON(uint(ss)) +} + +var SpecStateFailureStates = SpecStateFailed | SpecStateTimedout | SpecStateAborted | SpecStatePanicked | SpecStateInterrupted + +func (ss SpecState) Is(states SpecState) bool { + return ss&states != 0 +} + +// ProgressReport captures the progress of the current spec. It is, effectively, a structured Ginkgo-aware stack trace +type ProgressReport struct { + Message string `json:",omitempty"` + ParallelProcess int `json:",omitempty"` + RunningInParallel bool `json:",omitempty"` + + ContainerHierarchyTexts []string `json:",omitempty"` + LeafNodeText string `json:",omitempty"` + LeafNodeLocation CodeLocation `json:",omitempty"` + SpecStartTime time.Time `json:",omitempty"` + + CurrentNodeType NodeType `json:",omitempty"` + CurrentNodeText string `json:",omitempty"` + CurrentNodeLocation CodeLocation `json:",omitempty"` + CurrentNodeStartTime time.Time `json:",omitempty"` + + CurrentStepText string `json:",omitempty"` + CurrentStepLocation CodeLocation `json:",omitempty"` + CurrentStepStartTime time.Time `json:",omitempty"` + + AdditionalReports []string `json:",omitempty"` + + CapturedGinkgoWriterOutput string `json:",omitempty"` + TimelineLocation TimelineLocation `json:",omitempty"` + + Goroutines []Goroutine `json:",omitempty"` +} + +func (pr ProgressReport) IsZero() bool { + return pr.CurrentNodeType == NodeTypeInvalid +} + +func (pr ProgressReport) Time() time.Time { + return pr.TimelineLocation.Time +} + +func (pr ProgressReport) SpecGoroutine() Goroutine { + for _, goroutine := range pr.Goroutines { + if goroutine.IsSpecGoroutine { + return goroutine + } + } + return Goroutine{} +} + +func (pr ProgressReport) HighlightedGoroutines() []Goroutine { + out := []Goroutine{} + for _, goroutine := range pr.Goroutines { + if goroutine.IsSpecGoroutine || !goroutine.HasHighlights() { + continue + } + out = append(out, goroutine) + } + return out +} + +func (pr ProgressReport) OtherGoroutines() []Goroutine { + out := []Goroutine{} + for _, goroutine := range pr.Goroutines { + if goroutine.IsSpecGoroutine || goroutine.HasHighlights() { + continue + } + out = append(out, goroutine) + } + return out +} + +func (pr ProgressReport) WithoutCapturedGinkgoWriterOutput() ProgressReport { + out := pr + out.CapturedGinkgoWriterOutput = "" + return out +} + +func (pr ProgressReport) WithoutOtherGoroutines() ProgressReport { + out := pr + filteredGoroutines := []Goroutine{} + for _, goroutine := range pr.Goroutines { + if goroutine.IsSpecGoroutine || goroutine.HasHighlights() { + filteredGoroutines = append(filteredGoroutines, goroutine) + } + } + out.Goroutines = filteredGoroutines + return out +} + +func (pr ProgressReport) GetTimelineLocation() TimelineLocation { + return pr.TimelineLocation +} + +type Goroutine struct { + ID uint64 + State string + Stack []FunctionCall + IsSpecGoroutine bool +} + +func (g Goroutine) IsZero() bool { + return g.ID == 0 +} + +func (g Goroutine) HasHighlights() bool { + for _, fc := range g.Stack { + if fc.Highlight { + return true + } + } + + return false +} + +type FunctionCall struct { + Function string + Filename string + Line int + Highlight bool `json:",omitempty"` + Source []string `json:",omitempty"` + SourceHighlight int `json:",omitempty"` +} + +// NodeType captures the type of a given Ginkgo Node +type NodeType uint + +const ( + NodeTypeInvalid NodeType = 0 + + NodeTypeContainer NodeType = 1 << iota + NodeTypeIt + + NodeTypeBeforeEach + NodeTypeJustBeforeEach + NodeTypeAfterEach + NodeTypeJustAfterEach + + NodeTypeBeforeAll + NodeTypeAfterAll + + NodeTypeBeforeSuite + NodeTypeSynchronizedBeforeSuite + NodeTypeAfterSuite + NodeTypeSynchronizedAfterSuite + + NodeTypeReportBeforeEach + NodeTypeReportAfterEach + NodeTypeReportBeforeSuite + NodeTypeReportAfterSuite + + NodeTypeCleanupInvalid + NodeTypeCleanupAfterEach + NodeTypeCleanupAfterAll + NodeTypeCleanupAfterSuite +) + +var NodeTypesForContainerAndIt = NodeTypeContainer | NodeTypeIt +var NodeTypesForSuiteLevelNodes = NodeTypeBeforeSuite | NodeTypeSynchronizedBeforeSuite | NodeTypeAfterSuite | NodeTypeSynchronizedAfterSuite | NodeTypeReportBeforeSuite | NodeTypeReportAfterSuite | NodeTypeCleanupAfterSuite +var NodeTypesAllowedDuringCleanupInterrupt = NodeTypeAfterEach | NodeTypeJustAfterEach | NodeTypeAfterAll | NodeTypeAfterSuite | NodeTypeSynchronizedAfterSuite | NodeTypeCleanupAfterEach | NodeTypeCleanupAfterAll | NodeTypeCleanupAfterSuite +var NodeTypesAllowedDuringReportInterrupt = NodeTypeReportBeforeEach | NodeTypeReportAfterEach | NodeTypeReportBeforeSuite | NodeTypeReportAfterSuite + +var ntEnumSupport = NewEnumSupport(map[uint]string{ + uint(NodeTypeInvalid): "INVALID NODE TYPE", + uint(NodeTypeContainer): "Container", + uint(NodeTypeIt): "It", + uint(NodeTypeBeforeEach): "BeforeEach", + uint(NodeTypeJustBeforeEach): "JustBeforeEach", + uint(NodeTypeAfterEach): "AfterEach", + uint(NodeTypeJustAfterEach): "JustAfterEach", + uint(NodeTypeBeforeAll): "BeforeAll", + uint(NodeTypeAfterAll): "AfterAll", + uint(NodeTypeBeforeSuite): "BeforeSuite", + uint(NodeTypeSynchronizedBeforeSuite): "SynchronizedBeforeSuite", + uint(NodeTypeAfterSuite): "AfterSuite", + uint(NodeTypeSynchronizedAfterSuite): "SynchronizedAfterSuite", + uint(NodeTypeReportBeforeEach): "ReportBeforeEach", + uint(NodeTypeReportAfterEach): "ReportAfterEach", + uint(NodeTypeReportBeforeSuite): "ReportBeforeSuite", + uint(NodeTypeReportAfterSuite): "ReportAfterSuite", + uint(NodeTypeCleanupInvalid): "DeferCleanup", + uint(NodeTypeCleanupAfterEach): "DeferCleanup (Each)", + uint(NodeTypeCleanupAfterAll): "DeferCleanup (All)", + uint(NodeTypeCleanupAfterSuite): "DeferCleanup (Suite)", +}) + +func (nt NodeType) String() string { + return ntEnumSupport.String(uint(nt)) +} +func (nt *NodeType) UnmarshalJSON(b []byte) error { + out, err := ntEnumSupport.UnmarshJSON(b) + *nt = NodeType(out) + return err +} +func (nt NodeType) MarshalJSON() ([]byte, error) { + return ntEnumSupport.MarshJSON(uint(nt)) +} + +func (nt NodeType) Is(nodeTypes NodeType) bool { + return nt&nodeTypes != 0 +} + +/* +SpecEvent captures a vareity of events that can occur when specs run. See SpecEventType for the list of available events. +*/ +type SpecEvent struct { + SpecEventType SpecEventType + + CodeLocation CodeLocation + TimelineLocation TimelineLocation + + Message string `json:",omitempty"` + Duration time.Duration `json:",omitempty"` + NodeType NodeType `json:",omitempty"` + Attempt int `json:",omitempty"` +} + +func (se SpecEvent) GetTimelineLocation() TimelineLocation { + return se.TimelineLocation +} + +func (se SpecEvent) IsOnlyVisibleAtVeryVerbose() bool { + return se.SpecEventType.Is(SpecEventByEnd | SpecEventNodeStart | SpecEventNodeEnd) +} + +func (se SpecEvent) GomegaString() string { + out := &strings.Builder{} + out.WriteString("[" + se.SpecEventType.String() + " SpecEvent] ") + if se.Message != "" { + out.WriteString("Message=") + out.WriteString(`"` + se.Message + `",`) + } + if se.Duration != 0 { + out.WriteString("Duration=" + se.Duration.String() + ",") + } + if se.NodeType != NodeTypeInvalid { + out.WriteString("NodeType=" + se.NodeType.String() + ",") + } + if se.Attempt != 0 { + out.WriteString(fmt.Sprintf("Attempt=%d", se.Attempt) + ",") + } + out.WriteString("CL=" + se.CodeLocation.String() + ",") + out.WriteString(fmt.Sprintf("TL.Offset=%d", se.TimelineLocation.Offset)) + + return out.String() +} + +type SpecEvents []SpecEvent + +func (se SpecEvents) WithType(seType SpecEventType) SpecEvents { + out := SpecEvents{} + for _, event := range se { + if event.SpecEventType.Is(seType) { + out = append(out, event) + } + } + return out +} + +type SpecEventType uint + +const ( + SpecEventInvalid SpecEventType = 0 + + SpecEventByStart SpecEventType = 1 << iota + SpecEventByEnd + SpecEventNodeStart + SpecEventNodeEnd + SpecEventSpecRepeat + SpecEventSpecRetry +) + +var seEnumSupport = NewEnumSupport(map[uint]string{ + uint(SpecEventInvalid): "INVALID SPEC EVENT", + uint(SpecEventByStart): "By", + uint(SpecEventByEnd): "By (End)", + uint(SpecEventNodeStart): "Node", + uint(SpecEventNodeEnd): "Node (End)", + uint(SpecEventSpecRepeat): "Repeat", + uint(SpecEventSpecRetry): "Retry", +}) + +func (se SpecEventType) String() string { + return seEnumSupport.String(uint(se)) +} +func (se *SpecEventType) UnmarshalJSON(b []byte) error { + out, err := seEnumSupport.UnmarshJSON(b) + *se = SpecEventType(out) + return err +} +func (se SpecEventType) MarshalJSON() ([]byte, error) { + return seEnumSupport.MarshJSON(uint(se)) +} + +func (se SpecEventType) Is(specEventTypes SpecEventType) bool { + return se&specEventTypes != 0 +} diff --git a/vendor/github.com/onsi/ginkgo/v2/types/types_patch.go b/vendor/github.com/onsi/ginkgo/v2/types/types_patch.go new file mode 100644 index 000000000..02d319bba --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/types/types_patch.go @@ -0,0 +1,8 @@ +package types + +type TestSpec interface { + CodeLocations() []CodeLocation + Text() string + AppendText(text string) + Labels() []string +} diff --git a/vendor/github.com/onsi/ginkgo/v2/types/version.go b/vendor/github.com/onsi/ginkgo/v2/types/version.go new file mode 100644 index 000000000..caf3c9f5e --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/v2/types/version.go @@ -0,0 +1,3 @@ +package types + +const VERSION = "2.21.0" diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/LICENSE b/vendor/github.com/openshift-eng/openshift-tests-extension/LICENSE new file mode 100644 index 000000000..261eeb9e9 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/LICENSE @@ -0,0 +1,201 @@ + 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 [yyyy] [name of copyright owner] + + 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/openshift-eng/openshift-tests-extension/pkg/cmd/cmd.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmd.go new file mode 100644 index 000000000..2db8cfa6e --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmd.go @@ -0,0 +1,23 @@ +package cmd + +import ( + "github.com/spf13/cobra" + + "github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdimages" + "github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdinfo" + "github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdlist" + "github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun" + "github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdupdate" + "github.com/openshift-eng/openshift-tests-extension/pkg/extension" +) + +func DefaultExtensionCommands(registry *extension.Registry) []*cobra.Command { + return []*cobra.Command{ + cmdrun.NewRunSuiteCommand(registry), + cmdrun.NewRunTestCommand(registry), + cmdlist.NewListCommand(registry), + cmdinfo.NewInfoCommand(registry), + cmdupdate.NewUpdateCommand(registry), + cmdimages.NewImagesCommand(registry), + } +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdimages/cmdimages.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdimages/cmdimages.go new file mode 100644 index 000000000..33b458fac --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdimages/cmdimages.go @@ -0,0 +1,36 @@ +package cmdimages + +import ( + "encoding/json" + "fmt" + "os" + + "github.com/spf13/cobra" + + "github.com/openshift-eng/openshift-tests-extension/pkg/extension" + "github.com/openshift-eng/openshift-tests-extension/pkg/flags" +) + +func NewImagesCommand(registry *extension.Registry) *cobra.Command { + componentFlags := flags.NewComponentFlags() + + cmd := &cobra.Command{ + Use: "images", + Short: "List test images", + SilenceUsage: true, + RunE: func(cmd *cobra.Command, args []string) error { + extension := registry.Get(componentFlags.Component) + if extension == nil { + return fmt.Errorf("couldn't find the component %q", componentFlags.Component) + } + images, err := json.Marshal(extension.Images) + if err != nil { + return err + } + fmt.Fprintf(os.Stdout, "%s\n", images) + return nil + }, + } + componentFlags.BindFlags(cmd.Flags()) + return cmd +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdinfo/info.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdinfo/info.go new file mode 100644 index 000000000..1d4237876 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdinfo/info.go @@ -0,0 +1,38 @@ +package cmdinfo + +import ( + "encoding/json" + "fmt" + "os" + + "github.com/spf13/cobra" + + "github.com/openshift-eng/openshift-tests-extension/pkg/extension" + "github.com/openshift-eng/openshift-tests-extension/pkg/flags" +) + +func NewInfoCommand(registry *extension.Registry) *cobra.Command { + componentFlags := flags.NewComponentFlags() + + cmd := &cobra.Command{ + Use: "info", + Short: "Display extension metadata", + SilenceUsage: true, + RunE: func(cmd *cobra.Command, args []string) error { + extension := registry.Get(componentFlags.Component) + if extension == nil { + return fmt.Errorf("couldn't find the component %q", componentFlags.Component) + } + + info, err := json.MarshalIndent(extension, "", " ") + if err != nil { + return err + } + + fmt.Fprintf(os.Stdout, "%s\n", string(info)) + return nil + }, + } + componentFlags.BindFlags(cmd.Flags()) + return cmd +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdlist/list.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdlist/list.go new file mode 100644 index 000000000..31a040b7c --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdlist/list.go @@ -0,0 +1,133 @@ +package cmdlist + +import ( + "fmt" + "os" + + "github.com/spf13/cobra" + + "github.com/openshift-eng/openshift-tests-extension/pkg/extension" + "github.com/openshift-eng/openshift-tests-extension/pkg/flags" +) + +func NewListCommand(registry *extension.Registry) *cobra.Command { + opts := struct { + componentFlags *flags.ComponentFlags + suiteFlags *flags.SuiteFlags + outputFlags *flags.OutputFlags + environmentalFlags *flags.EnvironmentalFlags + }{ + suiteFlags: flags.NewSuiteFlags(), + componentFlags: flags.NewComponentFlags(), + outputFlags: flags.NewOutputFlags(), + environmentalFlags: flags.NewEnvironmentalFlags(), + } + + // Tests + listTestsCmd := &cobra.Command{ + Use: "tests", + Short: "List available tests", + SilenceUsage: true, + RunE: func(cmd *cobra.Command, args []string) error { + ext := registry.Get(opts.componentFlags.Component) + if ext == nil { + return fmt.Errorf("component not found: %s", opts.componentFlags.Component) + } + + // Find suite, if specified + var foundSuite *extension.Suite + var err error + if opts.suiteFlags.Suite != "" { + foundSuite, err = ext.GetSuite(opts.suiteFlags.Suite) + if err != nil { + return err + } + } + + // Filter for suite + specs := ext.GetSpecs() + if foundSuite != nil { + specs, err = specs.Filter(foundSuite.Qualifiers) + if err != nil { + return err + } + } + + specs, err = specs.FilterByEnvironment(*opts.environmentalFlags) + if err != nil { + return err + } + + data, err := opts.outputFlags.Marshal(specs) + if err != nil { + return err + } + fmt.Fprintf(os.Stdout, "%s\n", string(data)) + return nil + }, + } + opts.suiteFlags.BindFlags(listTestsCmd.Flags()) + opts.componentFlags.BindFlags(listTestsCmd.Flags()) + opts.environmentalFlags.BindFlags(listTestsCmd.Flags()) + opts.outputFlags.BindFlags(listTestsCmd.Flags()) + + // Suites + listSuitesCommand := &cobra.Command{ + Use: "suites", + Short: "List available suites", + SilenceUsage: true, + RunE: func(cmd *cobra.Command, args []string) error { + ext := registry.Get(opts.componentFlags.Component) + if ext == nil { + return fmt.Errorf("component not found: %s", opts.componentFlags.Component) + } + + suites := ext.Suites + + data, err := opts.outputFlags.Marshal(suites) + if err != nil { + return err + } + fmt.Fprintf(os.Stdout, "%s\n", string(data)) + return nil + }, + } + opts.componentFlags.BindFlags(listSuitesCommand.Flags()) + opts.outputFlags.BindFlags(listSuitesCommand.Flags()) + + // Components + listComponentsCmd := &cobra.Command{ + Use: "components", + Short: "List available components", + SilenceUsage: true, + RunE: func(cmd *cobra.Command, args []string) error { + var components []*extension.Component + registry.Walk(func(e *extension.Extension) { + components = append(components, &e.Component) + }) + + data, err := opts.outputFlags.Marshal(components) + if err != nil { + return err + } + fmt.Fprintf(os.Stdout, "%s\n", string(data)) + return nil + }, + } + opts.outputFlags.BindFlags(listComponentsCmd.Flags()) + + var listCmd = &cobra.Command{ + Use: "list [subcommand]", + Short: "List items", + RunE: func(cmd *cobra.Command, args []string) error { + return listTestsCmd.RunE(cmd, args) + }, + } + opts.suiteFlags.BindFlags(listCmd.Flags()) + opts.componentFlags.BindFlags(listCmd.Flags()) + opts.outputFlags.BindFlags(listCmd.Flags()) + opts.environmentalFlags.BindFlags(listCmd.Flags()) + listCmd.AddCommand(listTestsCmd, listComponentsCmd, listSuitesCommand) + + return listCmd +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runsuite.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runsuite.go new file mode 100644 index 000000000..998fd7040 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runsuite.go @@ -0,0 +1,153 @@ +package cmdrun + +import ( + "context" + "encoding/json" + "fmt" + "os" + "os/signal" + "path/filepath" + "syscall" + "time" + + "github.com/pkg/errors" + "github.com/spf13/cobra" + + "github.com/openshift-eng/openshift-tests-extension/pkg/extension" + "github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests" + "github.com/openshift-eng/openshift-tests-extension/pkg/flags" +) + +func NewRunSuiteCommand(registry *extension.Registry) *cobra.Command { + opts := struct { + componentFlags *flags.ComponentFlags + outputFlags *flags.OutputFlags + concurrencyFlags *flags.ConcurrencyFlags + junitPath string + htmlPath string + }{ + componentFlags: flags.NewComponentFlags(), + outputFlags: flags.NewOutputFlags(), + concurrencyFlags: flags.NewConcurrencyFlags(), + junitPath: "", + htmlPath: "", + } + + cmd := &cobra.Command{ + Use: "run-suite NAME", + Short: "Run a group of tests by suite. This is more limited than origin, and intended for light local " + + "development use. Orchestration parameters, scheduling, isolation, etc are not obeyed, and Ginkgo tests are executed serially.", + SilenceUsage: true, + RunE: func(cmd *cobra.Command, args []string) error { + ctx, cancelCause := context.WithCancelCause(context.Background()) + defer cancelCause(errors.New("exiting")) + + abortCh := make(chan os.Signal, 2) + go func() { + <-abortCh + fmt.Fprintf(os.Stderr, "Interrupted, terminating tests") + cancelCause(errors.New("interrupt received")) + + select { + case sig := <-abortCh: + fmt.Fprintf(os.Stderr, "Interrupted twice, exiting (%s)", sig) + switch sig { + case syscall.SIGINT: + os.Exit(130) + default: + os.Exit(130) // if we were interrupted, never return zero. + } + + case <-time.After(30 * time.Minute): // allow time for cleanup. If we finish before this, we'll exit + fmt.Fprintf(os.Stderr, "Timed out during cleanup, exiting") + os.Exit(130) // if we were interrupted, never return zero. + } + }() + signal.Notify(abortCh, syscall.SIGINT, syscall.SIGTERM) + + ext := registry.Get(opts.componentFlags.Component) + if ext == nil { + return fmt.Errorf("component not found: %s", opts.componentFlags.Component) + } + if len(args) != 1 { + return fmt.Errorf("must specify one suite name") + } + suite, err := ext.GetSuite(args[0]) + if err != nil { + return errors.Wrapf(err, "couldn't find suite: %s", args[0]) + } + + compositeWriter := extensiontests.NewCompositeResultWriter() + defer func() { + if err = compositeWriter.Flush(); err != nil { + fmt.Fprintf(os.Stderr, "failed to write results: %v\n", err) + } + }() + + // JUnit writer if needed + if opts.junitPath != "" { + junitWriter, err := extensiontests.NewJUnitResultWriter(opts.junitPath, suite.Name) + if err != nil { + return errors.Wrap(err, "couldn't create junit writer") + } + compositeWriter.AddWriter(junitWriter) + } + // HTML writer if needed + if opts.htmlPath != "" { + htmlWriter, err := extensiontests.NewHTMLResultWriter(opts.htmlPath, suite.Name) + if err != nil { + return errors.Wrap(err, "couldn't create html writer") + } + compositeWriter.AddWriter(htmlWriter) + } + + // JSON writer + jsonWriter, err := extensiontests.NewJSONResultWriter(os.Stdout, + extensiontests.ResultFormat(opts.outputFlags.Output)) + if err != nil { + return err + } + compositeWriter.AddWriter(jsonWriter) + + specs, err := ext.GetSpecs().Filter(suite.Qualifiers) + if err != nil { + return errors.Wrap(err, "couldn't filter specs") + } + + concurrency := opts.concurrencyFlags.MaxConcurency + if suite.Parallelism > 0 { + concurrency = min(concurrency, suite.Parallelism) + } + results, runErr := specs.Run(ctx, compositeWriter, concurrency) + if opts.junitPath != "" { + // we want to commit the results to disk regardless of the success or failure of the specs + if err := writeResults(opts.junitPath, results); err != nil { + fmt.Fprintf(os.Stderr, "Failed to write test results to disk: %v\n", err) + } + } + return runErr + }, + } + opts.componentFlags.BindFlags(cmd.Flags()) + opts.outputFlags.BindFlags(cmd.Flags()) + opts.concurrencyFlags.BindFlags(cmd.Flags()) + cmd.Flags().StringVarP(&opts.junitPath, "junit-path", "j", opts.junitPath, "write results to junit XML") + cmd.Flags().StringVar(&opts.htmlPath, "html-path", opts.htmlPath, "write results to summary HTML") + + return cmd +} + +func writeResults(jUnitPath string, results []*extensiontests.ExtensionTestResult) error { + jUnitDir := filepath.Dir(jUnitPath) + if err := os.MkdirAll(jUnitDir, 0755); err != nil { + return fmt.Errorf("failed to create output directory: %v", err) + } + + encodedResults, err := json.MarshalIndent(results, "", " ") + if err != nil { + return fmt.Errorf("failed to marshal results: %v", err) + } + + outputPath := filepath.Join(jUnitDir, fmt.Sprintf("extension_test_result_e2e_%s.json", time.Now().UTC().Format("20060102-150405"))) + return os.WriteFile(outputPath, encodedResults, 0644) +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runtest.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runtest.go new file mode 100644 index 000000000..c62021e7e --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun/runtest.go @@ -0,0 +1,113 @@ +package cmdrun + +import ( + "bufio" + "context" + "errors" + "fmt" + "os" + "os/signal" + "syscall" + "time" + + "github.com/spf13/cobra" + + "github.com/openshift-eng/openshift-tests-extension/pkg/extension" + "github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests" + "github.com/openshift-eng/openshift-tests-extension/pkg/flags" +) + +func NewRunTestCommand(registry *extension.Registry) *cobra.Command { + opts := struct { + componentFlags *flags.ComponentFlags + concurrencyFlags *flags.ConcurrencyFlags + nameFlags *flags.NamesFlags + outputFlags *flags.OutputFlags + }{ + componentFlags: flags.NewComponentFlags(), + nameFlags: flags.NewNamesFlags(), + outputFlags: flags.NewOutputFlags(), + concurrencyFlags: flags.NewConcurrencyFlags(), + } + + cmd := &cobra.Command{ + Use: "run-test [-n NAME...] [NAME]", + Short: "Runs tests by name", + SilenceUsage: true, + RunE: func(cmd *cobra.Command, args []string) error { + ctx, cancelCause := context.WithCancelCause(context.Background()) + defer cancelCause(errors.New("exiting")) + + abortCh := make(chan os.Signal, 2) + go func() { + <-abortCh + fmt.Fprintf(os.Stderr, "Interrupted, terminating tests") + cancelCause(errors.New("interrupt received")) + + select { + case sig := <-abortCh: + fmt.Fprintf(os.Stderr, "Interrupted twice, exiting (%s)", sig) + switch sig { + case syscall.SIGINT: + os.Exit(130) + default: + os.Exit(130) // if we were interrupted, never return zero. + } + + case <-time.After(30 * time.Minute): // allow time for cleanup. If we finish before this, we'll exit + fmt.Fprintf(os.Stderr, "Timed out during cleanup, exiting") + os.Exit(130) // if we were interrupted, never return zero. + } + }() + signal.Notify(abortCh, syscall.SIGINT, syscall.SIGTERM) + + ext := registry.Get(opts.componentFlags.Component) + if ext == nil { + return fmt.Errorf("component not found: %s", opts.componentFlags.Component) + } + if len(args) > 1 { + return fmt.Errorf("use --names to specify more than one test") + } + opts.nameFlags.Names = append(opts.nameFlags.Names, args...) + + // allow reading tests from an stdin pipe + info, err := os.Stdin.Stat() + if err != nil { + return err + } + if info.Mode()&os.ModeCharDevice == 0 { // Check if input is from a pipe + scanner := bufio.NewScanner(os.Stdin) + for scanner.Scan() { + opts.nameFlags.Names = append(opts.nameFlags.Names, scanner.Text()) + } + if err := scanner.Err(); err != nil { + return fmt.Errorf("error reading from stdin: %v", err) + } + } + + if len(opts.nameFlags.Names) == 0 { + return fmt.Errorf("must specify at least one test") + } + + specs, err := ext.FindSpecsByName(opts.nameFlags.Names...) + if err != nil { + return err + } + + w, err := extensiontests.NewJSONResultWriter(os.Stdout, extensiontests.ResultFormat(opts.outputFlags.Output)) + if err != nil { + return err + } + defer w.Flush() + + _, err = specs.Run(ctx, w, opts.concurrencyFlags.MaxConcurency) + return err + }, + } + opts.componentFlags.BindFlags(cmd.Flags()) + opts.nameFlags.BindFlags(cmd.Flags()) + opts.outputFlags.BindFlags(cmd.Flags()) + opts.concurrencyFlags.BindFlags(cmd.Flags()) + + return cmd +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdupdate/update.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdupdate/update.go new file mode 100644 index 000000000..5d847308e --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdupdate/update.go @@ -0,0 +1,84 @@ +package cmdupdate + +import ( + "encoding/json" + "fmt" + "os" + "path/filepath" + "strings" + + "github.com/spf13/cobra" + + "github.com/openshift-eng/openshift-tests-extension/pkg/extension" + "github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests" + "github.com/openshift-eng/openshift-tests-extension/pkg/flags" +) + +const metadataDirectory = ".openshift-tests-extension" + +// NewUpdateCommand adds an "update" command used to generate and verify the metadata we keep track of. This should +// be a black box to end users, i.e. we can add more criteria later they'll consume when revendoring. For now, +// we prevent a test to be renamed without updating other names, or a test to be deleted. +func NewUpdateCommand(registry *extension.Registry) *cobra.Command { + componentFlags := flags.NewComponentFlags() + + cmd := &cobra.Command{ + Use: "update", + Short: "Update test metadata", + SilenceUsage: true, + RunE: func(cmd *cobra.Command, args []string) error { + ext := registry.Get(componentFlags.Component) + if ext == nil { + return fmt.Errorf("couldn't find the component %q", componentFlags.Component) + } + + // Create the metadata directory if it doesn't exist + if err := os.MkdirAll(metadataDirectory, 0755); err != nil { + return fmt.Errorf("failed to create directory %s: %w", metadataDirectory, err) + } + + // Read existing specs + metadataPath := filepath.Join(metadataDirectory, fmt.Sprintf("%s.json", strings.ReplaceAll(ext.Component.Identifier(), ":", "_"))) + var oldSpecs extensiontests.ExtensionTestSpecs + source, err := os.Open(metadataPath) + if err != nil { + if !os.IsNotExist(err) { + return fmt.Errorf("failed to open file: %s: %+w", metadataPath, err) + } + } else { + if err := json.NewDecoder(source).Decode(&oldSpecs); err != nil { + return fmt.Errorf("failed to decode file: %s: %+w", metadataPath, err) + } + + missing, err := ext.FindRemovedTestsWithoutRename(oldSpecs) + if err != nil && len(missing) > 0 { + fmt.Fprintf(os.Stderr, "Missing Tests:\n") + for _, name := range missing { + fmt.Fprintf(os.Stdout, " * %s\n", name) + } + fmt.Fprintf(os.Stderr, "\n") + + return fmt.Errorf("missing tests, if you've renamed tests you must add their names to OriginalName, " + + "or mark them obsolete") + } + } + + // no missing tests, write the results + newSpecs := ext.GetSpecs() + data, err := json.MarshalIndent(newSpecs, "", " ") + if err != nil { + return fmt.Errorf("failed to marshal specs to JSON: %w", err) + } + + // Write the JSON data to the file + if err := os.WriteFile(metadataPath, data, 0644); err != nil { + return fmt.Errorf("failed to write file %s: %w", metadataPath, err) + } + + fmt.Printf("successfully updated metadata\n") + return nil + }, + } + componentFlags.BindFlags(cmd.Flags()) + return cmd +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/dbtime/time.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/dbtime/time.go new file mode 100644 index 000000000..b7651ba02 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/dbtime/time.go @@ -0,0 +1,26 @@ +package dbtime + +import "time" + +// DBTime is a type suitable for direct importing into databases like BigQuery, +// formatted like 2006-01-02 15:04:05.000000 UTC. +type DBTime time.Time + +func Ptr(t time.Time) *DBTime { + return (*DBTime)(&t) +} + +func (dbt *DBTime) MarshalJSON() ([]byte, error) { + formattedTime := time.Time(*dbt).Format(`"2006-01-02 15:04:05.000000 UTC"`) + return []byte(formattedTime), nil +} + +func (dbt *DBTime) UnmarshalJSON(b []byte) error { + timeStr := string(b[1 : len(b)-1]) + parsedTime, err := time.Parse("2006-01-02 15:04:05.000000 UTC", timeStr) + if err != nil { + return err + } + *dbt = (DBTime)(parsedTime) + return nil +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extension.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extension.go new file mode 100644 index 000000000..b9fbfb2ec --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extension.go @@ -0,0 +1,165 @@ +package extension + +import ( + "fmt" + "strings" + + et "github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests" + "github.com/openshift-eng/openshift-tests-extension/pkg/util/sets" + "github.com/openshift-eng/openshift-tests-extension/pkg/version" +) + +func NewExtension(product, kind, name string) *Extension { + return &Extension{ + APIVersion: CurrentExtensionAPIVersion, + Source: Source{ + Commit: version.CommitFromGit, + BuildDate: version.BuildDate, + GitTreeState: version.GitTreeState, + }, + Component: Component{ + Product: product, + Kind: kind, + Name: name, + }, + } +} + +func (e *Extension) GetSuite(name string) (*Suite, error) { + var suite *Suite + + for _, s := range e.Suites { + if s.Name == name { + suite = &s + break + } + } + + if suite == nil { + return nil, fmt.Errorf("no such suite: %s", name) + } + + return suite, nil +} + +func (e *Extension) GetSpecs() et.ExtensionTestSpecs { + return e.specs +} + +func (e *Extension) AddSpecs(specs et.ExtensionTestSpecs) { + specs.Walk(func(spec *et.ExtensionTestSpec) { + spec.Source = e.Component.Identifier() + }) + + e.specs = append(e.specs, specs...) +} + +// IgnoreObsoleteTests allows removal of a test. +func (e *Extension) IgnoreObsoleteTests(testNames ...string) { + if e.obsoleteTests == nil { + e.obsoleteTests = sets.New[string](testNames...) + } else { + e.obsoleteTests.Insert(testNames...) + } +} + +// FindRemovedTestsWithoutRename compares the current set of test specs against oldSpecs, including consideration of the original name, +// we return an error. Can be used to detect test renames or removals. +func (e *Extension) FindRemovedTestsWithoutRename(oldSpecs et.ExtensionTestSpecs) ([]string, error) { + currentSpecs := e.GetSpecs() + currentMap := make(map[string]bool) + + // Populate current specs into a map for quick lookup by both Name and OriginalName. + for _, spec := range currentSpecs { + currentMap[spec.Name] = true + if spec.OriginalName != "" { + currentMap[spec.OriginalName] = true + } + } + + var removedTests []string + + // Check oldSpecs against current specs. + for _, oldSpec := range oldSpecs { + // Skip if the test is marked as obsolete. + if e.obsoleteTests.Has(oldSpec.Name) { + continue + } + + // Check if oldSpec is missing in currentSpecs by both Name and OriginalName. + if !currentMap[oldSpec.Name] && (oldSpec.OriginalName == "" || !currentMap[oldSpec.OriginalName]) { + removedTests = append(removedTests, oldSpec.Name) + } + } + + // Return error if any removed tests were found. + if len(removedTests) > 0 { + return removedTests, fmt.Errorf("tests removed without rename: %v", removedTests) + } + + return nil, nil +} + +// AddGlobalSuite adds a suite whose qualifiers will apply to all tests, +// not just this one. Allowing a developer to create a composed suite of +// tests from many sources. +func (e *Extension) AddGlobalSuite(suite Suite) *Extension { + if e.Suites == nil { + e.Suites = []Suite{suite} + } else { + e.Suites = append(e.Suites, suite) + } + + return e +} + +// AddSuite adds a suite whose qualifiers will only apply to tests present +// in its own extension. +func (e *Extension) AddSuite(suite Suite) *Extension { + expr := fmt.Sprintf("source == %q", e.Component.Identifier()) + if len(suite.Qualifiers) == 0 { + suite.Qualifiers = []string{expr} + } else { + for i := range suite.Qualifiers { + suite.Qualifiers[i] = fmt.Sprintf("(%s) && (%s)", + expr, suite.Qualifiers[i]) + } + } + + e.AddGlobalSuite(suite) + return e +} + +func (e *Extension) RegisterImage(image Image) *Extension { + e.Images = append(e.Images, image) + return e +} + +func (e *Extension) FindSpecsByName(names ...string) (et.ExtensionTestSpecs, error) { + var specs et.ExtensionTestSpecs + var notFound []string + + for _, name := range names { + found := false + for i := range e.specs { + if e.specs[i].Name == name { + specs = append(specs, e.specs[i]) + found = true + break + } + } + if !found { + notFound = append(notFound, name) + } + } + + if len(notFound) > 0 { + return nil, fmt.Errorf("no such tests: %s", strings.Join(notFound, ", ")) + } + + return specs, nil +} + +func (e *Component) Identifier() string { + return fmt.Sprintf("%s:%s:%s", e.Product, e.Kind, e.Name) +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/environment.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/environment.go new file mode 100644 index 000000000..b5116a535 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/environment.go @@ -0,0 +1,92 @@ +package extensiontests + +import ( + "fmt" + "strings" +) + +func PlatformEquals(platform string) string { + return fmt.Sprintf(`platform=="%s"`, platform) +} + +func NetworkEquals(network string) string { + return fmt.Sprintf(`network=="%s"`, network) +} + +func NetworkStackEquals(networkStack string) string { + return fmt.Sprintf(`networkStack=="%s"`, networkStack) +} + +func UpgradeEquals(upgrade string) string { + return fmt.Sprintf(`upgrade=="%s"`, upgrade) +} + +func TopologyEquals(topology string) string { + return fmt.Sprintf(`topology=="%s"`, topology) +} + +func ArchitectureEquals(arch string) string { + return fmt.Sprintf(`architecture=="%s"`, arch) +} + +func APIGroupEnabled(apiGroup string) string { + return fmt.Sprintf(`apiGroups.exists(api, api=="%s")`, apiGroup) +} + +func APIGroupDisabled(apiGroup string) string { + return fmt.Sprintf(`!apiGroups.exists(api, api=="%s")`, apiGroup) +} + +func FeatureGateEnabled(featureGate string) string { + return fmt.Sprintf(`featureGates.exists(fg, fg=="%s")`, featureGate) +} + +func FeatureGateDisabled(featureGate string) string { + return fmt.Sprintf(`!featureGates.exists(fg, fg=="%s")`, featureGate) +} + +func ExternalConnectivityEquals(externalConnectivity string) string { + return fmt.Sprintf(`externalConnectivity=="%s"`, externalConnectivity) +} + +func OptionalCapabilitiesIncludeAny(optionalCapability ...string) string { + for i := range optionalCapability { + optionalCapability[i] = OptionalCapabilityExists(optionalCapability[i]) + } + return fmt.Sprintf("(%s)", fmt.Sprint(strings.Join(optionalCapability, " || "))) +} + +func OptionalCapabilitiesIncludeAll(optionalCapability ...string) string { + for i := range optionalCapability { + optionalCapability[i] = OptionalCapabilityExists(optionalCapability[i]) + } + return fmt.Sprintf("(%s)", fmt.Sprint(strings.Join(optionalCapability, " && "))) +} + +func OptionalCapabilityExists(optionalCapability string) string { + return fmt.Sprintf(`optionalCapabilities.exists(oc, oc=="%s")`, optionalCapability) +} + +func NoOptionalCapabilitiesExist() string { + return "size(optionalCapabilities) == 0" +} + +func InstallerEquals(installer string) string { + return fmt.Sprintf(`installer=="%s"`, installer) +} + +func VersionEquals(version string) string { + return fmt.Sprintf(`version=="%s"`, version) +} + +func FactEquals(key, value string) string { + return fmt.Sprintf(`(fact_keys.exists(k, k=="%s") && facts["%s"].matches("%s"))`, key, key, value) +} + +func Or(cel ...string) string { + return fmt.Sprintf("(%s)", strings.Join(cel, " || ")) +} + +func And(cel ...string) string { + return fmt.Sprintf("(%s)", strings.Join(cel, " && ")) +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result.go new file mode 100644 index 000000000..9c03a0a84 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result.go @@ -0,0 +1,125 @@ +package extensiontests + +import ( + "bytes" + _ "embed" + "encoding/json" + "fmt" + "strings" + "text/template" + + "github.com/openshift-eng/openshift-tests-extension/pkg/junit" +) + +func (results ExtensionTestResults) Walk(walkFn func(*ExtensionTestResult)) { + for i := range results { + walkFn(results[i]) + } +} + +// AddDetails adds additional information to an ExtensionTestResult. Value must marshal to JSON. +func (result *ExtensionTestResult) AddDetails(name string, value interface{}) { + result.Details = append(result.Details, Details{Name: name, Value: value}) +} + +func (result ExtensionTestResult) ToJUnit() *junit.TestCase { + tc := &junit.TestCase{ + Name: result.Name, + Duration: float64(result.Duration) / 1000.0, + } + switch result.Result { + case ResultFailed: + tc.FailureOutput = &junit.FailureOutput{ + Message: result.Error, + Output: result.Error, + } + case ResultSkipped: + messages := []string{} + for _, detail := range result.Details { + messages = append(messages, fmt.Sprintf("%s: %s", detail.Name, detail.Value)) + } + tc.SkipMessage = &junit.SkipMessage{ + Message: strings.Join(messages, "\n"), + } + case ResultPassed: + tc.SystemOut = result.Output + } + + return tc +} + +func (results ExtensionTestResults) ToJUnit(suiteName string) junit.TestSuite { + suite := junit.TestSuite{ + Name: suiteName, + } + + results.Walk(func(result *ExtensionTestResult) { + suite.NumTests++ + switch result.Result { + case ResultFailed: + suite.NumFailed++ + case ResultSkipped: + suite.NumSkipped++ + case ResultPassed: + // do nothing + default: + panic(fmt.Sprintf("unknown result type: %s", result.Result)) + } + + suite.TestCases = append(suite.TestCases, result.ToJUnit()) + }) + + return suite +} + +//go:embed viewer.html +var viewerHtml []byte + +// RenderResultsHTML renders the HTML viewer template with the provided JSON data. +// The caller is responsible for marshaling their results to JSON. This allows +// callers with different result struct types to use the same HTML viewer. +func RenderResultsHTML(jsonData []byte, suiteName string) ([]byte, error) { + tmpl, err := template.New("viewer").Parse(string(viewerHtml)) + if err != nil { + return nil, fmt.Errorf("failed to parse template: %w", err) + } + var out bytes.Buffer + if err := tmpl.Execute(&out, struct { + Data string + SuiteName string + }{ + string(jsonData), + suiteName, + }); err != nil { + return nil, fmt.Errorf("failed to execute template: %w", err) + } + return out.Bytes(), nil +} + +func (results ExtensionTestResults) ToHTML(suiteName string) ([]byte, error) { + encoded, err := json.Marshal(results) + if err != nil { + return nil, fmt.Errorf("failed to marshal extension test results: %w", err) + } + // pare down the output if there's a lot, we want this to load in some reasonable amount of time + if len(encoded) > 2<<20 { + // n.b. this is wasteful, but we want to mutate our inputs in a safe manner, so the encode/decode/encode + // pass is useful as a deep copy + var copiedResults ExtensionTestResults + if err := json.Unmarshal(encoded, &copiedResults); err != nil { + return nil, fmt.Errorf("failed to unmarshal extension test results: %w", err) + } + copiedResults.Walk(func(result *ExtensionTestResult) { + if result.Result == ResultPassed { + result.Error = "" + result.Output = "" + result.Details = nil + } + }) + encoded, err = json.Marshal(copiedResults) + if err != nil { + return nil, fmt.Errorf("failed to marshal extension test results: %w", err) + } + } + return RenderResultsHTML(encoded, suiteName) +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result_writer.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result_writer.go new file mode 100644 index 000000000..f9ca434ca --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/result_writer.go @@ -0,0 +1,213 @@ +package extensiontests + +import ( + "encoding/json" + "encoding/xml" + "errors" + "fmt" + "io" + "os" + "sync" + + "github.com/openshift-eng/openshift-tests-extension/pkg/junit" +) + +type ResultWriter interface { + Write(result *ExtensionTestResult) + Flush() error +} + +type NullResultWriter struct{} + +func (NullResultWriter) Write(*ExtensionTestResult) {} +func (NullResultWriter) Flush() error { return nil } + +type CompositeResultWriter struct { + writers []ResultWriter +} + +func NewCompositeResultWriter(writers ...ResultWriter) *CompositeResultWriter { + return &CompositeResultWriter{ + writers: writers, + } +} + +func (w *CompositeResultWriter) AddWriter(writer ResultWriter) { + w.writers = append(w.writers, writer) +} + +func (w *CompositeResultWriter) Write(res *ExtensionTestResult) { + for _, writer := range w.writers { + writer.Write(res) + } +} + +func (w *CompositeResultWriter) Flush() error { + var errs []error + for _, writer := range w.writers { + if err := writer.Flush(); err != nil { + errs = append(errs, err) + } + } + + return errors.Join(errs...) +} + +type JUnitResultWriter struct { + lock sync.Mutex + testSuite *junit.TestSuite + out *os.File + suiteName string + path string + results ExtensionTestResults +} + +func NewJUnitResultWriter(path, suiteName string) (ResultWriter, error) { + file, err := os.Create(path) + if err != nil { + return nil, err + } + + return &JUnitResultWriter{ + testSuite: &junit.TestSuite{ + Name: suiteName, + }, + out: file, + suiteName: suiteName, + path: path, + }, nil +} + +func (w *JUnitResultWriter) Write(res *ExtensionTestResult) { + w.lock.Lock() + defer w.lock.Unlock() + w.results = append(w.results, res) +} + +func (w *JUnitResultWriter) Flush() error { + w.lock.Lock() + defer w.lock.Unlock() + data, err := xml.MarshalIndent(w.results.ToJUnit(w.suiteName), "", " ") + if err != nil { + return fmt.Errorf("failed to marshal JUnit XML: %w", err) + } + if _, err := w.out.Write(data); err != nil { + return err + } + if err := w.out.Close(); err != nil { + return err + } + + return nil +} + +type ResultFormat string + +var ( + JSON ResultFormat = "json" + JSONL ResultFormat = "jsonl" +) + +type JSONResultWriter struct { + lock sync.Mutex + out io.Writer + format ResultFormat + results ExtensionTestResults +} + +func NewJSONResultWriter(out io.Writer, format ResultFormat) (*JSONResultWriter, error) { + switch format { + case JSON, JSONL: + // do nothing + default: + return nil, fmt.Errorf("unsupported result format: %s", format) + } + + return &JSONResultWriter{ + out: out, + format: format, + results: ExtensionTestResults{}, + }, nil +} + +func (w *JSONResultWriter) Write(result *ExtensionTestResult) { + w.lock.Lock() + defer w.lock.Unlock() + switch w.format { + case JSONL: + // JSONL gets written to out as we get the items + data, err := json.Marshal(result) + if err != nil { + panic(err) + } + fmt.Fprintf(w.out, "%s\n", string(data)) + case JSON: + w.results = append(w.results, result) + } +} + +func (w *JSONResultWriter) Flush() error { + w.lock.Lock() + defer w.lock.Unlock() + switch w.format { + case JSONL: + // we already wrote it out + case JSON: + data, err := json.MarshalIndent(w.results, "", " ") + if err != nil { + return err + } + _, err = w.out.Write(data) + return err + } + + return nil +} + +type HTMLResultWriter struct { + lock sync.Mutex + testSuite *junit.TestSuite + out *os.File + suiteName string + path string + results ExtensionTestResults +} + +func NewHTMLResultWriter(path, suiteName string) (ResultWriter, error) { + file, err := os.Create(path) + if err != nil { + return nil, err + } + + return &HTMLResultWriter{ + testSuite: &junit.TestSuite{ + Name: suiteName, + }, + out: file, + suiteName: suiteName, + path: path, + }, nil +} + +func (w *HTMLResultWriter) Write(res *ExtensionTestResult) { + w.lock.Lock() + defer w.lock.Unlock() + w.results = append(w.results, res) +} + +func (w *HTMLResultWriter) Flush() error { + w.lock.Lock() + defer w.lock.Unlock() + data, err := w.results.ToHTML(w.suiteName) + if err != nil { + return fmt.Errorf("failed to create result HTML: %w", err) + } + if _, err := w.out.Write(data); err != nil { + return err + } + if err := w.out.Close(); err != nil { + return err + } + + return nil +} \ No newline at end of file diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/spec.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/spec.go new file mode 100644 index 000000000..e87809c8a --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/spec.go @@ -0,0 +1,621 @@ +package extensiontests + +import ( + "context" + "fmt" + "os" + "strings" + "sync" + "sync/atomic" + "time" + + "github.com/google/cel-go/cel" + "github.com/google/cel-go/checker/decls" + "github.com/google/cel-go/common/types" + + "github.com/openshift-eng/openshift-tests-extension/pkg/dbtime" + "github.com/openshift-eng/openshift-tests-extension/pkg/flags" +) + +// Walk iterates over all test specs, and executions the function provided. The test spec can be mutated. +func (specs ExtensionTestSpecs) Walk(walkFn func(*ExtensionTestSpec)) ExtensionTestSpecs { + for i := range specs { + walkFn(specs[i]) + } + + return specs +} + +type SelectFunction func(spec *ExtensionTestSpec) bool + +// Select filters the ExtensionTestSpecs to only those that match the provided SelectFunction +func (specs ExtensionTestSpecs) Select(selectFn SelectFunction) ExtensionTestSpecs { + filtered := ExtensionTestSpecs{} + for _, spec := range specs { + if selectFn(spec) { + filtered = append(filtered, spec) + } + } + + return filtered +} + +// MustSelect filters the ExtensionTestSpecs to only those that match the provided SelectFunction. +// if no specs are selected, it will throw an error +func (specs ExtensionTestSpecs) MustSelect(selectFn SelectFunction) (ExtensionTestSpecs, error) { + filtered := specs.Select(selectFn) + if len(filtered) == 0 { + return filtered, fmt.Errorf("no specs selected with specified SelectFunctions") + } + + return filtered, nil +} + +// SelectAny filters the ExtensionTestSpecs to only those that match any of the provided SelectFunctions +func (specs ExtensionTestSpecs) SelectAny(selectFns []SelectFunction) ExtensionTestSpecs { + filtered := ExtensionTestSpecs{} + for _, spec := range specs { + for _, selectFn := range selectFns { + if selectFn(spec) { + filtered = append(filtered, spec) + break + } + } + } + + return filtered +} + +// MustSelectAny filters the ExtensionTestSpecs to only those that match any of the provided SelectFunctions. +// if no specs are selected, it will throw an error +func (specs ExtensionTestSpecs) MustSelectAny(selectFns []SelectFunction) (ExtensionTestSpecs, error) { + filtered := specs.SelectAny(selectFns) + if len(filtered) == 0 { + return filtered, fmt.Errorf("no specs selected with specified SelectFunctions") + } + + return filtered, nil +} + +// SelectAll filters the ExtensionTestSpecs to only those that match all the provided SelectFunctions +func (specs ExtensionTestSpecs) SelectAll(selectFns []SelectFunction) ExtensionTestSpecs { + filtered := ExtensionTestSpecs{} + for _, spec := range specs { + anyFalse := false + for _, selectFn := range selectFns { + if !selectFn(spec) { + anyFalse = true + break + } + } + if !anyFalse { + filtered = append(filtered, spec) + } + } + + return filtered +} + +// MustSelectAll filters the ExtensionTestSpecs to only those that match all the provided SelectFunctions. +// if no specs are selected, it will throw an error +func (specs ExtensionTestSpecs) MustSelectAll(selectFns []SelectFunction) (ExtensionTestSpecs, error) { + filtered := specs.SelectAll(selectFns) + if len(filtered) == 0 { + return filtered, fmt.Errorf("no specs selected with specified SelectFunctions") + } + + return filtered, nil +} + +// ModuleTestsOnly ensures that ginkgo tests from vendored sources aren't selected. Unfortunately, making +// use of kubernetes test helpers results in the entire Ginkgo suite being initialized (ginkgo loves global state), +// so we need to be careful about which tests we select. +// +// A test is excluded if ALL of its code locations with full paths are external (vendored or from external test +// suites). If at least one code location with a full path is from the local module, the test is included, because +// local tests may legitimately call helper functions from vendored test frameworks. +func ModuleTestsOnly() SelectFunction { + return func(spec *ExtensionTestSpec) bool { + hasLocalCode := false + + for _, cl := range spec.CodeLocations { + // Short-form code locations (e.g., "set up framework | framework.go:200") are ignored in this determination. + if !strings.Contains(cl, "/") { + continue + } + + // If this code location is not external (vendored or k8s test), it's local code + if !(strings.Contains(cl, "/vendor/") || strings.HasPrefix(cl, "k8s.io/kubernetes")) { + hasLocalCode = true + break + } + } + + // Include the test only if it has at least one local code location + return hasLocalCode + } +} + +// AllTestsIncludingVendored is an alternative to ModuleTestsOnly, which would explicitly opt-in +// to including vendored tests. +func AllTestsIncludingVendored() SelectFunction { + return func(spec *ExtensionTestSpec) bool { + return true + } +} + +// NameContains returns a function that selects specs whose name contains the provided string +func NameContains(name string) SelectFunction { + return func(spec *ExtensionTestSpec) bool { + return strings.Contains(spec.Name, name) + } +} + +// NameContainsAll returns a function that selects specs whose name contains each of the provided contents strings +func NameContainsAll(contents ...string) SelectFunction { + return func(spec *ExtensionTestSpec) bool { + for _, content := range contents { + if !strings.Contains(spec.Name, content) { + return false + } + } + return true + } +} + +// HasLabel returns a function that selects specs with the provided label +func HasLabel(label string) SelectFunction { + return func(spec *ExtensionTestSpec) bool { + return spec.Labels.Has(label) + } +} + +// HasTagWithValue returns a function that selects specs containing a tag with the provided key and value +func HasTagWithValue(key, value string) SelectFunction { + return func(spec *ExtensionTestSpec) bool { + return spec.Tags[key] == value + } +} + +// WithLifecycle returns a function that selects specs with the provided Lifecycle +func WithLifecycle(lifecycle Lifecycle) SelectFunction { + return func(spec *ExtensionTestSpec) bool { + return spec.Lifecycle == lifecycle + } +} + +func (specs ExtensionTestSpecs) Names() []string { + var names []string + for _, spec := range specs { + names = append(names, spec.Name) + } + return names +} + +// Run executes all the specs in parallel, up to maxConcurrent at the same time. Results +// are written to the given ResultWriter after each spec has completed execution. BeforeEach, +// BeforeAll, AfterEach, AfterAll hooks are executed when specified. "Each" hooks must be thread +// safe. Returns an error if any test spec failed, indicating the quantity of failures. +func (specs ExtensionTestSpecs) Run(ctx context.Context, w ResultWriter, maxConcurrent int) ([]*ExtensionTestResult, error) { + queue := make(chan *ExtensionTestSpec) + terminalFailures := atomic.Int64{} + nonTerminalFailures := atomic.Int64{} + + // Execute beforeAll + for _, spec := range specs { + for _, beforeAllTask := range spec.beforeAll { + beforeAllTask.Run() + } + } + + // Feed the queue + go func() { + specs.Walk(func(spec *ExtensionTestSpec) { + queue <- spec + }) + close(queue) + }() + + // if we have only a single spec to run, we do that differently than running multiple. + // multiple specs can run in parallel and do so by exec-ing back into the binary with `run-test` with a single test to execute. + // This means that to avoid infinite recursion, when requesting a single test to run + // we need to run it in process. + runSingleSpec := len(specs) == 1 + + // Start consumers + var wg sync.WaitGroup + resultChan := make(chan *ExtensionTestResult, len(specs)) + for i := 0; i < maxConcurrent; i++ { + wg.Add(1) + go func() { + defer wg.Done() + for spec := range queue { + for _, beforeEachTask := range spec.beforeEach { + beforeEachTask.Run(*spec) + } + + res := runSpec(ctx, spec, runSingleSpec) + if res.Result == ResultFailed { + if res.Lifecycle.IsTerminal() { + terminalFailures.Add(1) + } else { + nonTerminalFailures.Add(1) + } + } + + for _, afterEachTask := range spec.afterEach { + afterEachTask.Run(res) + } + + // We can't assume the runner will set the name of a test; it may not know it. Even if + // it does, we may want to modify it (e.g. k8s-tests for annotations currently). + res.Name = spec.Name + w.Write(res) + resultChan <- res + } + }() + } + + // Wait for all consumers to finish + wg.Wait() + close(resultChan) + + // Execute afterAll + for _, spec := range specs { + for _, afterAllTask := range spec.afterAll { + afterAllTask.Run() + } + } + + var results []*ExtensionTestResult + for res := range resultChan { + results = append(results, res) + } + + terminalFailCount := terminalFailures.Load() + nonTerminalFailCount := nonTerminalFailures.Load() + + // Non-terminal failures don't cause exit 1, but we still log them + if nonTerminalFailCount > 0 { + fmt.Fprintf(os.Stderr, "%d informing tests failed (not terminal)\n", nonTerminalFailCount) + } + + // Only exit with error if terminal lifecycle tests failed + if terminalFailCount > 0 { + if nonTerminalFailCount > 0 { + return results, fmt.Errorf("%d tests failed (%d informing)", terminalFailCount+nonTerminalFailCount, nonTerminalFailCount) + } + return results, fmt.Errorf("%d tests failed", terminalFailCount) + } + + return results, nil +} + +// AddBeforeAll adds a function to be run once before all tests start executing. +func (specs ExtensionTestSpecs) AddBeforeAll(fn func()) { + task := &OneTimeTask{fn: fn} + specs.Walk(func(spec *ExtensionTestSpec) { + spec.beforeAll = append(spec.beforeAll, task) + }) +} + +// AddAfterAll adds a function to be run once after all tests have finished. +func (specs ExtensionTestSpecs) AddAfterAll(fn func()) { + task := &OneTimeTask{fn: fn} + specs.Walk(func(spec *ExtensionTestSpec) { + spec.afterAll = append(spec.afterAll, task) + }) +} + +// AddBeforeEach adds a function that runs before each test starts executing. The ExtensionTestSpec is +// passed in for contextual information, but must not be modified. The provided function must be thread +// safe. +func (specs ExtensionTestSpecs) AddBeforeEach(fn func(spec ExtensionTestSpec)) { + task := &SpecTask{fn: fn} + specs.Walk(func(spec *ExtensionTestSpec) { + spec.beforeEach = append(spec.beforeEach, task) + }) +} + +// AddAfterEach adds a function that runs after each test has finished executing. The ExtensionTestResult +// can be modified if needed. The provided function must be thread safe. +func (specs ExtensionTestSpecs) AddAfterEach(fn func(task *ExtensionTestResult)) { + task := &TestResultTask{fn: fn} + specs.Walk(func(spec *ExtensionTestSpec) { + spec.afterEach = append(spec.afterEach, task) + }) +} + +// MustFilter filters specs using the given celExprs. Each celExpr is OR'd together, if any +// match the spec is included in the filtered set. If your CEL expression is invalid or filtering +// otherwise fails, this function panics. +func (specs ExtensionTestSpecs) MustFilter(celExprs []string) ExtensionTestSpecs { + specs, err := specs.Filter(celExprs) + if err != nil { + panic(fmt.Sprintf("filter did not succeed: %s", err.Error())) + } + + return specs +} + +// Filter filters specs using the given celExprs. Each celExpr is OR'd together, if any +// match the spec is included in the filtered set. +func (specs ExtensionTestSpecs) Filter(celExprs []string) (ExtensionTestSpecs, error) { + var filteredSpecs ExtensionTestSpecs + + // Empty filters returns all + if len(celExprs) == 0 { + return specs, nil + } + + env, err := cel.NewEnv( + cel.Declarations( + decls.NewVar("source", decls.String), + decls.NewVar("name", decls.String), + decls.NewVar("originalName", decls.String), + decls.NewVar("labels", decls.NewListType(decls.String)), + decls.NewVar("codeLocations", decls.NewListType(decls.String)), + decls.NewVar("tags", decls.NewMapType(decls.String, decls.String)), + ), + ) + if err != nil { + return nil, fmt.Errorf("failed to create CEL environment: %w", err) + } + + // OR all expressions together + for _, spec := range specs { + include := false + for _, celExpr := range celExprs { + prg, err := programForCEL(env, celExpr) + if err != nil { + return nil, err + } + out, _, err := prg.Eval(map[string]interface{}{ + "name": spec.Name, + "source": spec.Source, + "originalName": spec.OriginalName, + "labels": spec.Labels.UnsortedList(), + "codeLocations": spec.CodeLocations, + "tags": spec.Tags, + }) + if err != nil { + return nil, fmt.Errorf("error evaluating CEL expression: %v", err) + } + + // If any CEL expression evaluates to true, include the TestSpec + if out == types.True { + include = true + break + } + } + if include { + filteredSpecs = append(filteredSpecs, spec) + } + } + + return filteredSpecs, nil +} + +func programForCEL(env *cel.Env, celExpr string) (cel.Program, error) { + // Parse CEL expression + ast, iss := env.Parse(celExpr) + if iss.Err() != nil { + return nil, fmt.Errorf("error parsing CEL expression '%s': %v", celExpr, iss.Err()) + } + + // Check the AST + checked, iss := env.Check(ast) + if iss.Err() != nil { + return nil, fmt.Errorf("error checking CEL expression '%s': %v", celExpr, iss.Err()) + } + + // Create a CEL program from the checked AST + prg, err := env.Program(checked) + if err != nil { + return nil, fmt.Errorf("error creating CEL program: %v", err) + } + return prg, nil +} + +// FilterByEnvironment checks both the Include and Exclude fields of the ExtensionTestSpec to return those specs which match. +// Tests will be included by default unless they are explicitly excluded. If Include is specified, only those tests matching +// the CEL expression will be included. +// +// See helper functions in extensiontests/environment.go to craft CEL expressions +func (specs ExtensionTestSpecs) FilterByEnvironment(envFlags flags.EnvironmentalFlags) (ExtensionTestSpecs, error) { + var filteredSpecs ExtensionTestSpecs + if envFlags.IsEmpty() { + return specs, nil + } + + env, err := cel.NewEnv( + cel.Declarations( + decls.NewVar("apiGroups", decls.NewListType(decls.String)), + decls.NewVar("architecture", decls.String), + decls.NewVar("externalConnectivity", decls.String), + decls.NewVar("fact_keys", decls.NewListType(decls.String)), + decls.NewVar("facts", decls.NewMapType(decls.String, decls.String)), + decls.NewVar("featureGates", decls.NewListType(decls.String)), + decls.NewVar("network", decls.String), + decls.NewVar("networkStack", decls.String), + decls.NewVar("optionalCapabilities", decls.NewListType(decls.String)), + decls.NewVar("platform", decls.String), + decls.NewVar("topology", decls.String), + decls.NewVar("upgrade", decls.String), + decls.NewVar("version", decls.String), + ), + ) + if err != nil { + return nil, fmt.Errorf("failed to create CEL environment: %w", err) + } + factKeys := make([]string, len(envFlags.Facts)) + for k := range envFlags.Facts { + factKeys = append(factKeys, k) + } + vars := map[string]interface{}{ + "apiGroups": envFlags.APIGroups, + "architecture": envFlags.Architecture, + "externalConnectivity": envFlags.ExternalConnectivity, + "fact_keys": factKeys, + "facts": envFlags.Facts, + "featureGates": envFlags.FeatureGates, + "network": envFlags.Network, + "networkStack": envFlags.NetworkStack, + "optionalCapabilities": envFlags.OptionalCapabilities, + "platform": envFlags.Platform, + "topology": envFlags.Topology, + "upgrade": envFlags.Upgrade, + "version": envFlags.Version, + } + + for _, spec := range specs { + envSel := spec.EnvironmentSelector + // If there is no include or exclude CEL, include it implicitly + if envSel.IsEmpty() { + filteredSpecs = append(filteredSpecs, spec) + continue + } + + if envSel.Exclude != "" { + prg, err := programForCEL(env, envSel.Exclude) + if err != nil { + return nil, err + } + out, _, err := prg.Eval(vars) + if err != nil { + return nil, fmt.Errorf("error evaluating CEL expression: %v", err) + } + // If it is explicitly excluded, don't check include + if out == types.True { + continue + } + } + + if envSel.Include != "" { + prg, err := programForCEL(env, envSel.Include) + if err != nil { + return nil, err + } + out, _, err := prg.Eval(vars) + if err != nil { + return nil, fmt.Errorf("error evaluating CEL expression: %v", err) + } + + if out == types.True { + filteredSpecs = append(filteredSpecs, spec) + } + } else { // If it hasn't been excluded, and there is no "include" it will be implicitly included + filteredSpecs = append(filteredSpecs, spec) + } + + } + + return filteredSpecs, nil +} + +// AddLabel adds the labels to each spec. +func (specs ExtensionTestSpecs) AddLabel(labels ...string) ExtensionTestSpecs { + for i := range specs { + specs[i].Labels.Insert(labels...) + } + + return specs +} + +// RemoveLabel removes the labels from each spec. +func (specs ExtensionTestSpecs) RemoveLabel(labels ...string) ExtensionTestSpecs { + for i := range specs { + specs[i].Labels.Delete(labels...) + } + + return specs +} + +// SetTag specifies a key/value pair for each spec. +func (specs ExtensionTestSpecs) SetTag(key, value string) ExtensionTestSpecs { + for i := range specs { + specs[i].Tags[key] = value + } + + return specs +} + +// UnsetTag removes the specified key from each spec. +func (specs ExtensionTestSpecs) UnsetTag(key string) ExtensionTestSpecs { + for i := range specs { + delete(specs[i].Tags, key) + } + + return specs +} + +// Include adds the specified CEL expression to explicitly include tests by environment to each spec +func (specs ExtensionTestSpecs) Include(includeCEL string) ExtensionTestSpecs { + for _, spec := range specs { + spec.Include(includeCEL) + } + return specs +} + +// Exclude adds the specified CEL expression to explicitly exclude tests by environment to each spec +func (specs ExtensionTestSpecs) Exclude(excludeCEL string) ExtensionTestSpecs { + for _, spec := range specs { + spec.Exclude(excludeCEL) + } + return specs +} + +// Include adds the specified CEL expression to explicitly include tests by environment. +// If there is already an "include" defined, it will OR the expressions together +func (spec *ExtensionTestSpec) Include(includeCEL string) *ExtensionTestSpec { + existingInclude := spec.EnvironmentSelector.Include + if existingInclude != "" { + includeCEL = fmt.Sprintf("(%s) || (%s)", existingInclude, includeCEL) + } + + spec.EnvironmentSelector.Include = includeCEL + return spec +} + +// Exclude adds the specified CEL expression to explicitly exclude tests by environment. +// If there is already an "exclude" defined, it will OR the expressions together +func (spec *ExtensionTestSpec) Exclude(excludeCEL string) *ExtensionTestSpec { + existingExclude := spec.EnvironmentSelector.Exclude + if existingExclude != "" { + excludeCEL = fmt.Sprintf("(%s) || (%s)", existingExclude, excludeCEL) + } + + spec.EnvironmentSelector.Exclude = excludeCEL + return spec +} + +func runSpec(ctx context.Context, spec *ExtensionTestSpec, runSingleSpec bool) *ExtensionTestResult { + startTime := time.Now().UTC() + var res *ExtensionTestResult + if runSingleSpec || spec.RunParallel == nil { + res = spec.Run(ctx) + } else { + res = spec.RunParallel(ctx) + } + duration := time.Since(startTime) + endTime := startTime.Add(duration).UTC() + if res == nil { + // this shouldn't happen + panic(fmt.Sprintf("test produced no result: %s", spec.Name)) + } + + res.Lifecycle = spec.Lifecycle + + // If the runner doesn't populate this info, we should set it + if res.StartTime == nil { + res.StartTime = dbtime.Ptr(startTime) + } + if res.EndTime == nil { + res.EndTime = dbtime.Ptr(endTime) + } + if res.Duration == 0 { + res.Duration = duration.Milliseconds() + } + + return res +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/task.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/task.go new file mode 100644 index 000000000..e808bea87 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/task.go @@ -0,0 +1,31 @@ +package extensiontests + +import "sync/atomic" + +type SpecTask struct { + fn func(spec ExtensionTestSpec) +} + +func (t *SpecTask) Run(spec ExtensionTestSpec) { + t.fn(spec) +} + +type TestResultTask struct { + fn func(result *ExtensionTestResult) +} + +func (t *TestResultTask) Run(result *ExtensionTestResult) { + t.fn(result) +} + +type OneTimeTask struct { + fn func() + executed int32 // Atomic boolean to indicate whether the function has been run +} + +func (t *OneTimeTask) Run() { + // Ensure one-time tasks are only run once + if atomic.CompareAndSwapInt32(&t.executed, 0, 1) { + t.fn() + } +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/types.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/types.go new file mode 100644 index 000000000..cd23be81f --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/types.go @@ -0,0 +1,119 @@ +package extensiontests + +import ( + "context" + + "github.com/openshift-eng/openshift-tests-extension/pkg/dbtime" + "github.com/openshift-eng/openshift-tests-extension/pkg/util/sets" +) + +type Lifecycle string + +var LifecycleInforming Lifecycle = "informing" +var LifecycleBlocking Lifecycle = "blocking" + +// IsTerminal returns true if failures in tests with this lifecycle should cause +// the test run to exit with a non-zero exit code. +func (l Lifecycle) IsTerminal() bool { + return l != LifecycleInforming +} + +type ExtensionTestSpecs []*ExtensionTestSpec + +type ExtensionTestSpec struct { + Name string `json:"name"` + + // OriginalName contains the very first name this test was ever known as, used to preserve + // history across all names. + OriginalName string `json:"originalName,omitempty"` + + // Labels are single string values to apply to the test spec + Labels sets.Set[string] `json:"labels"` + + // Tags are key:value pairs + Tags map[string]string `json:"tags,omitempty"` + + // Resources gives optional information about what's required to run this test. + Resources Resources `json:"resources"` + + // Source is the origin of the test. + Source string `json:"source"` + + // CodeLocations are the files where the spec originates from. + CodeLocations []string `json:"codeLocations,omitempty"` + + // Lifecycle informs the executor whether the test is informing only, and should not cause the + // overall job run to fail, or if it's blocking where a failure of the test is fatal. + // Informing lifecycle tests can be used temporarily to gather information about a test's stability. + // Tests must not remain informing forever. + Lifecycle Lifecycle `json:"lifecycle"` + + // EnvironmentSelector allows for CEL expressions to be used to control test inclusion + EnvironmentSelector EnvironmentSelector `json:"environmentSelector,omitempty"` + + // Run invokes a test in-process. It must not call back into `ote-binary run-test` because that will usually + // cause an infinite recursion. + Run func(ctx context.Context) *ExtensionTestResult `json:"-"` + + // RunParallel invokes a test in parallel with other tests. This is usually done by exec-ing out + // to the `ote-binary run-test "test name"` commmand and interpretting the result. + RunParallel func(ctx context.Context) *ExtensionTestResult `json:"-"` + + // Hook functions + afterAll []*OneTimeTask + beforeAll []*OneTimeTask + afterEach []*TestResultTask + beforeEach []*SpecTask +} + +type Resources struct { + Isolation Isolation `json:"isolation"` + Memory string `json:"memory,omitempty"` + Duration string `json:"duration,omitempty"` + Timeout string `json:"timeout,omitempty"` +} + +type Isolation struct { + Mode string `json:"mode,omitempty"` + Conflict []string `json:"conflict,omitempty"` + Taint []string `json:"taint,omitempty"` + Toleration []string `json:"toleration,omitempty"` +} + +type EnvironmentSelector struct { + Include string `json:"include,omitempty"` + Exclude string `json:"exclude,omitempty"` +} + +func (e EnvironmentSelector) IsEmpty() bool { + return e.Include == "" && e.Exclude == "" +} + +type ExtensionTestResults []*ExtensionTestResult + +type Result string + +var ResultPassed Result = "passed" +var ResultSkipped Result = "skipped" +var ResultFailed Result = "failed" + +type ExtensionTestResult struct { + Name string `json:"name"` + Lifecycle Lifecycle `json:"lifecycle"` + Duration int64 `json:"duration"` + StartTime *dbtime.DBTime `json:"startTime"` + EndTime *dbtime.DBTime `json:"endTime"` + Result Result `json:"result"` + Output string `json:"output"` + Error string `json:"error,omitempty"` + Details []Details `json:"details,omitempty"` +} + +// Details are human-readable messages to further explain skips, timeouts, etc. +// It can also be used to provide contemporaneous information about failures +// that may not be easily returned by must-gather. For larger artifacts (greater than +// 10KB, write them to $EXTENSION_ARTIFACTS_DIR. +type Details struct { + Name string `json:"name"` + Value interface{} `json:"value"` +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/viewer.html b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/viewer.html new file mode 100644 index 000000000..2ff236aa3 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests/viewer.html @@ -0,0 +1,1520 @@ + + + + + + Results for {{ .SuiteName }} + + + +
+
+

+ + + + + Results for {{ .SuiteName }} +

+

No file loaded

+
+ +
+

Load Test Results

+

Drag and drop a JSON test results file here, or click to browse

+ +
+ + + + +
+ + + + + diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/registry.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/registry.go new file mode 100644 index 000000000..bbae421df --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/registry.go @@ -0,0 +1,39 @@ +package extension + +const DefaultExtension = "default" + +type Registry struct { + extensions map[string]*Extension +} + +func NewRegistry() *Registry { + var r Registry + return &r +} + +func (r *Registry) Walk(walkFn func(*Extension)) { + for k := range r.extensions { + if k == DefaultExtension { + continue + } + walkFn(r.extensions[k]) + } +} + +func (r *Registry) Get(name string) *Extension { + return r.extensions[name] +} + +func (r *Registry) Register(extension *Extension) { + if r.extensions == nil { + r.extensions = make(map[string]*Extension) + // first extension is default + r.extensions[DefaultExtension] = extension + } + + r.extensions[extension.Component.Identifier()] = extension +} + +func (r *Registry) Deregister(name string) { + delete(r.extensions, name) +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/types.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/types.go new file mode 100644 index 000000000..00d2d9d66 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/extension/types.go @@ -0,0 +1,94 @@ +package extension + +import ( + "time" + + "github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests" + "github.com/openshift-eng/openshift-tests-extension/pkg/util/sets" +) + +const CurrentExtensionAPIVersion = "v1.1" + +// Extension represents an extension to openshift-tests. +type Extension struct { + APIVersion string `json:"apiVersion"` + Source Source `json:"source"` + Component Component `json:"component"` + + // Suites that the extension wants to advertise/participate in. + Suites []Suite `json:"suites"` + + Images []Image `json:"images"` + + // Private data + specs extensiontests.ExtensionTestSpecs + obsoleteTests sets.Set[string] +} + +// Source contains the details of the commit and source URL. +type Source struct { + // Commit from which this binary was compiled. + Commit string `json:"commit"` + // BuildDate ISO8601 string of when the binary was built + BuildDate string `json:"build_date"` + // GitTreeState lets you know the status of the git tree (clean/dirty) + GitTreeState string `json:"git_tree_state"` + // SourceURL contains the url of the git repository (if known) that this extension was built from. + SourceURL string `json:"source_url,omitempty"` +} + +// Component represents the component the binary acts on. +type Component struct { + // The product this component is part of. + Product string `json:"product"` + // The type of the component. + Kind string `json:"type"` + // The name of the component. + Name string `json:"name"` +} + +type ClusterStability string + +var ( + // ClusterStabilityStable means that at no point during testing do we expect a component to take downtime and upgrades are not happening. + ClusterStabilityStable ClusterStability = "Stable" + + // ClusterStabilityDisruptive means that the suite is expected to induce outages to the cluster. + ClusterStabilityDisruptive ClusterStability = "Disruptive" + + // ClusterStabilityUpgrade was previously defined, but was removed by @deads2k. Please contact him if you find a use + // case for it and needs to be reintroduced. + // ClusterStabilityUpgrade ClusterStability = "Upgrade" +) + +// Suite represents additional suites the extension wants to advertise. Child suites when being executed in the context +// of a parent will have their count, parallelism, stability, and timeout options superseded by the parent's suite. +type Suite struct { + Name string `json:"name"` + Description string `json:"description"` + + // Parents are the parent suites this suite is part of. + Parents []string `json:"parents,omitempty"` + // Qualifiers are CEL expressions that are OR'd together for test selection that are members of the suite. + Qualifiers []string `json:"qualifiers,omitempty"` + + // Count is the default number of times to execute each test in this suite. + Count int `json:"count,omitempty"` + // Parallelism is the maximum parallelism of this suite. + Parallelism int `json:"parallelism,omitempty"` + // ClusterStability informs openshift-tests whether this entire test suite is expected to be disruptive or not + // to normal cluster operations. + ClusterStability ClusterStability `json:"clusterStability,omitempty"` + // TestTimeout is the default timeout for tests in this suite. + TestTimeout *time.Duration `json:"testTimeout,omitempty"` +} + +type Image struct { + Index int `json:"index"` + Registry string `json:"registry"` + Name string `json:"name"` + Version string `json:"version"` + // Mapped is the image reference that this image is mirrored to by the image mirror tool. + // This field should be populated if the mirrored image reference is predetermined by the test extensions. + Mapped *Image `json:"mapped,omitempty"` +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/component.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/component.go new file mode 100644 index 000000000..ca9e425c4 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/component.go @@ -0,0 +1,25 @@ +package flags + +import ( + "github.com/spf13/pflag" +) + +const DefaultExtension = "default" + +// ComponentFlags contains information for specifying the component. +type ComponentFlags struct { + Component string +} + +func NewComponentFlags() *ComponentFlags { + return &ComponentFlags{ + Component: DefaultExtension, + } +} + +func (f *ComponentFlags) BindFlags(fs *pflag.FlagSet) { + fs.StringVar(&f.Component, + "component", + f.Component, + "specify the component to enable") +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/concurrency.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/concurrency.go new file mode 100644 index 000000000..2db07c765 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/concurrency.go @@ -0,0 +1,23 @@ +package flags + +import "github.com/spf13/pflag" + +// ConcurrencyFlags contains information for configuring concurrency +type ConcurrencyFlags struct { + MaxConcurency int +} + +func NewConcurrencyFlags() *ConcurrencyFlags { + return &ConcurrencyFlags{ + MaxConcurency: 10, + } +} + +func (f *ConcurrencyFlags) BindFlags(fs *pflag.FlagSet) { + fs.IntVarP(&f.MaxConcurency, + "max-concurrency", + "c", + f.MaxConcurency, + "maximum number of tests to run in parallel", + ) +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/environment.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/environment.go new file mode 100644 index 000000000..af7a0258e --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/environment.go @@ -0,0 +1,114 @@ +package flags + +import ( + "reflect" + + "github.com/spf13/pflag" +) + +type EnvironmentalFlags struct { + APIGroups []string + Architecture string + ExternalConnectivity string + Facts map[string]string + FeatureGates []string + Network string + NetworkStack string + OptionalCapabilities []string + Platform string + Topology string + Upgrade string + Version string +} + +func NewEnvironmentalFlags() *EnvironmentalFlags { + return &EnvironmentalFlags{} +} + +func (f *EnvironmentalFlags) BindFlags(fs *pflag.FlagSet) { + fs.StringArrayVar(&f.APIGroups, + "api-group", + f.APIGroups, + "The API groups supported by this cluster. Since: v1.1") + fs.StringVar(&f.Architecture, + "architecture", + "", + "The CPU architecture of the target cluster (\"amd64\", \"arm64\"). Since: v1.0") + fs.StringVar(&f.ExternalConnectivity, + "external-connectivity", + "", + "The External Connectivity of the target cluster (\"Disconnected\", \"Direct\", \"Proxied\"). Since: v1.0") + fs.StringArrayVar(&f.FeatureGates, + "feature-gate", + f.FeatureGates, + "The feature gates enabled on this cluster. Since: v1.1") + fs.StringToStringVar(&f.Facts, + "fact", + make(map[string]string), + "Facts advertised by cluster components. Since: v1.0") + fs.StringVar(&f.Network, + "network", + "", + "The network of the target cluster (\"ovn\", \"sdn\"). Since: v1.0") + fs.StringVar(&f.NetworkStack, + "network-stack", + "", + "The network stack of the target cluster (\"ipv6\", \"ipv4\", \"dual\"). Since: v1.0") + fs.StringSliceVar(&f.OptionalCapabilities, + "optional-capability", + []string{}, + "An Optional Capability of the target cluster. Can be passed multiple times. Since: v1.0") + fs.StringVar(&f.Platform, + "platform", + "", + "The hardware or cloud platform (\"aws\", \"gcp\", \"metal\", ...). Since: v1.0") + fs.StringVar(&f.Topology, + "topology", + "", + "The target cluster topology (\"ha\", \"microshift\", ...). Since: v1.0") + fs.StringVar(&f.Upgrade, + "upgrade", + "", + "The upgrade that was performed prior to the test run (\"micro\", \"minor\"). Since: v1.0") + fs.StringVar(&f.Version, + "version", + "", + "\"major.minor\" version of target cluster. Since: v1.0") +} + +func (f *EnvironmentalFlags) IsEmpty() bool { + v := reflect.ValueOf(*f) + + for i := 0; i < v.NumField(); i++ { + field := v.Field(i) + + switch field.Kind() { + case reflect.Slice, reflect.Map: + if !field.IsNil() && field.Len() > 0 { + return false + } + default: + if !reflect.DeepEqual(field.Interface(), reflect.Zero(field.Type()).Interface()) { + return false + } + } + } + + return true +} + +// EnvironmentFlagVersions holds the "Since" version metadata for each flag. +var EnvironmentFlagVersions = map[string]string{ + "api-group": "v1.1", + "architecture": "v1.0", + "external-connectivity": "v1.0", + "fact": "v1.0", + "feature-gate": "v1.1", + "network": "v1.0", + "network-stack": "v1.0", + "optional-capability": "v1.0", + "platform": "v1.0", + "topology": "v1.0", + "upgrade": "v1.0", + "version": "v1.0", +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/names.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/names.go new file mode 100644 index 000000000..9e5864839 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/names.go @@ -0,0 +1,24 @@ +package flags + +import ( + "github.com/spf13/pflag" +) + +// NamesFlags contains information for specifying multiple test names. +type NamesFlags struct { + Names []string +} + +func NewNamesFlags() *NamesFlags { + return &NamesFlags{ + Names: []string{}, + } +} + +func (f *NamesFlags) BindFlags(fs *pflag.FlagSet) { + fs.StringArrayVarP(&f.Names, + "names", + "n", + f.Names, + "specify test name (can be specified multiple times)") +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/output.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/output.go new file mode 100644 index 000000000..24f49f638 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/output.go @@ -0,0 +1,95 @@ +package flags + +import ( + "encoding/json" + "reflect" + "strings" + + "github.com/pkg/errors" + "github.com/spf13/pflag" +) + +// OutputFlags contains information for specifying multiple test names. +type OutputFlags struct { + Output string +} + +func NewOutputFlags() *OutputFlags { + return &OutputFlags{ + Output: "json", + } +} + +func (f *OutputFlags) BindFlags(fs *pflag.FlagSet) { + fs.StringVarP(&f.Output, + "output", + "o", + f.Output, + "output mode") +} + +func (o *OutputFlags) Marshal(v interface{}) ([]byte, error) { + switch o.Output { + case "", "json": + j, err := json.MarshalIndent(&v, "", " ") + if err != nil { + return nil, err + } + return j, nil + case "jsonl": + // Check if v is a slice or array + val := reflect.ValueOf(v) + if val.Kind() == reflect.Slice || val.Kind() == reflect.Array { + var result []byte + for i := 0; i < val.Len(); i++ { + item := val.Index(i).Interface() + j, err := json.Marshal(item) + if err != nil { + return nil, err + } + result = append(result, j...) + result = append(result, '\n') // Append newline after each item + } + return result, nil + } + return nil, errors.New("jsonl format requires a slice or array") + case "names": + val := reflect.ValueOf(v) + if val.Kind() == reflect.Slice || val.Kind() == reflect.Array { + var names []string + outerLoop: + for i := 0; i < val.Len(); i++ { + item := val.Index(i) + // Check for Name() or Identifier() methods + itemInterface := item.Interface() + nameFuncs := []string{"Name", "Identifier"} + for _, fn := range nameFuncs { + method := reflect.ValueOf(itemInterface).MethodByName(fn) + if method.IsValid() && method.Kind() == reflect.Func && method.Type().NumIn() == 0 && method.Type().NumOut() == 1 && method.Type().Out(0).Kind() == reflect.String { + name := method.Call(nil)[0].String() + names = append(names, name) + continue outerLoop + } + } + + // Dereference pointer if needed + if item.Kind() == reflect.Ptr { + item = item.Elem() + } + // Check for struct with Name field + if item.Kind() == reflect.Struct { + nameField := item.FieldByName("Name") + if nameField.IsValid() && nameField.Kind() == reflect.String { + names = append(names, nameField.String()) + } + } else { + return nil, errors.New("items must have a Name field or a Name() method") + } + } + return []byte(strings.Join(names, "\n")), nil + } + return nil, errors.New("names format requires an array of structs") + default: + return nil, errors.Errorf("invalid output format: %s", o.Output) + } +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/suite.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/suite.go new file mode 100644 index 000000000..23de832a8 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/flags/suite.go @@ -0,0 +1,21 @@ +package flags + +import ( + "github.com/spf13/pflag" +) + +// SuiteFlags contains information for specifying the suite. +type SuiteFlags struct { + Suite string +} + +func NewSuiteFlags() *SuiteFlags { + return &SuiteFlags{} +} + +func (f *SuiteFlags) BindFlags(fs *pflag.FlagSet) { + fs.StringVar(&f.Suite, + "suite", + f.Suite, + "specify the suite to use") +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/logging.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/logging.go new file mode 100644 index 000000000..0b84ca41c --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/logging.go @@ -0,0 +1,21 @@ +package ginkgo + +import ( + "github.com/go-logr/logr" + "github.com/go-logr/logr/funcr" + "github.com/onsi/ginkgo/v2" +) + +// this is copied from ginkgo because ginkgo made it internal and then hardcoded an init block +// using these functions to wire to os.stdout and we want to wire to stderr (or a different buffer) so we can +// have json output. + +func GinkgoLogrFunc(writer ginkgo.GinkgoWriterInterface) logr.Logger { + return funcr.New(func(prefix, args string) { + if prefix == "" { + writer.Printf("%s\n", args) + } else { + writer.Printf("%s %s\n", prefix, args) + } + }, funcr.Options{}) +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/parallel.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/parallel.go new file mode 100644 index 000000000..890cebb09 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/parallel.go @@ -0,0 +1,139 @@ +package ginkgo + +import ( + "bytes" + "context" + "encoding/json" + "errors" + "fmt" + "os" + "os/exec" + "syscall" + "time" + + "github.com/openshift-eng/openshift-tests-extension/pkg/dbtime" + "github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests" +) + +func SpawnProcessToRunTest(ctx context.Context, testName string, timeout time.Duration) *extensiontests.ExtensionTestResult { + // longerCtx is used to backstop the process, but leave termination up to us if possible to allow a double interrupt + longerCtx, longerCancel := context.WithTimeout(ctx, timeout+15*time.Minute) + defer longerCancel() + timeoutCtx, shorterCancel := context.WithTimeout(longerCtx, timeout) + defer shorterCancel() + + stdout := &bytes.Buffer{} + stderr := &bytes.Buffer{} + + command := exec.CommandContext(longerCtx, os.Args[0], "run-test", "--output=json", testName) + command.Stdout = stdout + command.Stderr = stderr + + start := time.Now() + err := command.Start() + if err != nil { + fmt.Fprintf(stderr, "Command Start Error: %v\n", err) + return newTestResult(testName, extensiontests.ResultFailed, start, time.Now(), stdout, stderr) + } + + go func() { + select { + // interrupt tests after timeout, and abort if they don't complete quick enough + case <-time.After(timeout): + if command.Process != nil { + // we're not going to do anything with the err + _ = command.Process.Signal(syscall.SIGINT) + } + // if the process appears to be hung a significant amount of time after the timeout + // send an ABRT so we get a stack dump + select { + case <-time.After(time.Minute): + if command.Process != nil { + // we're not going to do anything with the err + _ = command.Process.Signal(syscall.SIGABRT) + } + case <-timeoutCtx.Done(): + if command.Process != nil { + _ = command.Process.Signal(syscall.SIGABRT) + } + } + case <-timeoutCtx.Done(): + if command.Process != nil { + _ = command.Process.Signal(syscall.SIGINT) + } + } + }() + + result := extensiontests.ResultFailed + cmdErr := command.Wait() + + subcommandResult, parseErr := newTestResultFromOutput(stdout) + if parseErr == nil { + // even if we have a cmdErr, if we were able to parse the result, trust the output + return subcommandResult + } + + fmt.Fprintf(stderr, "Command Error: %v\n", cmdErr) + fmt.Fprintf(stderr, "Deserializaion Error: %v\n", parseErr) + return newTestResult(testName, result, start, time.Now(), stdout, stderr) +} + +func newTestResultFromOutput(stdout *bytes.Buffer) (*extensiontests.ExtensionTestResult, error) { + if len(stdout.Bytes()) == 0 { + return nil, errors.New("no output from command") + } + + // when the command runs correctly, we get json or json slice output + retArray := []extensiontests.ExtensionTestResult{} + if arrayItemErr := json.Unmarshal(stdout.Bytes(), &retArray); arrayItemErr == nil { + if len(retArray) != 1 { + return nil, errors.New("expected 1 result, got %v results") + } + return &retArray[0], nil + } + + // when the command runs correctly, we get json output + ret := &extensiontests.ExtensionTestResult{} + if singleItemErr := json.Unmarshal(stdout.Bytes(), ret); singleItemErr != nil { + return nil, singleItemErr + } + + return ret, nil +} + +func newTestResult(name string, result extensiontests.Result, start, end time.Time, stdout, stderr *bytes.Buffer) *extensiontests.ExtensionTestResult { + duration := end.Sub(start) + dbStart := dbtime.DBTime(start) + dbEnd := dbtime.DBTime(start) + ret := &extensiontests.ExtensionTestResult{ + Name: name, + Lifecycle: "", // lifecycle is completed one level above this. + Duration: int64(duration), + StartTime: &dbStart, + EndTime: &dbEnd, + Result: result, + Details: nil, + } + + if stdout != nil && stderr != nil { + stdoutStr := stdout.String() + stderrStr := stderr.String() + + ret.Output = fmt.Sprintf("STDOUT:\n%s\n\nSTDERR:\n%s\n", stdoutStr, stderrStr) + + // try to choose the best summary + switch { + case len(stderrStr) > 0 && len(stderrStr) < 5000: + ret.Error = stderrStr + case len(stderrStr) > 0 && len(stderrStr) >= 5000: + ret.Error = stderrStr[len(stderrStr)-5000:] + + case len(stdoutStr) > 0 && len(stdoutStr) < 5000: + ret.Error = stdoutStr + case len(stdoutStr) > 0 && len(stdoutStr) >= 5000: + ret.Error = stdoutStr[len(stdoutStr)-5000:] + } + } + + return ret +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/util.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/util.go new file mode 100644 index 000000000..e970d46ad --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo/util.go @@ -0,0 +1,229 @@ +package ginkgo + +import ( + "context" + "fmt" + "os" + "strings" + "sync" + "time" + + "github.com/onsi/ginkgo/v2" + "github.com/onsi/ginkgo/v2/types" + "github.com/onsi/gomega" + "github.com/pkg/errors" + + "github.com/openshift-eng/openshift-tests-extension/pkg/util/sets" + + ext "github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests" +) + +func configureGinkgo() (*types.SuiteConfig, *types.ReporterConfig, error) { + if !ginkgo.GetSuite().InPhaseBuildTree() { + if err := ginkgo.GetSuite().BuildTree(); err != nil { + return nil, nil, errors.Wrapf(err, "couldn't build ginkgo tree") + } + } + + // Ginkgo initialization + ginkgo.GetSuite().ClearBeforeAndAfterSuiteNodes() + suiteConfig, reporterConfig := ginkgo.GinkgoConfiguration() + suiteConfig.RandomizeAllSpecs = true + suiteConfig.Timeout = 24 * time.Hour + reporterConfig.NoColor = true + reporterConfig.Verbose = true + ginkgo.SetReporterConfig(reporterConfig) + + // Write output to Stderr + ginkgo.GinkgoWriter = ginkgo.NewWriter(os.Stderr) + ginkgo.GinkgoLogr = GinkgoLogrFunc(ginkgo.GinkgoWriter) + + gomega.RegisterFailHandler(ginkgo.Fail) + + return &suiteConfig, &reporterConfig, nil +} + +// BuildExtensionTestSpecsFromOpenShiftGinkgoSuite generates OTE specs for Gingko tests. While OTE isn't limited to +// calling ginkgo tests, anything that implements the ExtensionTestSpec interface can be used, it's the most common +// course of action. The typical use case is to omit selectFns, but if provided, these will filter the returned list +// of specs, applied in the order provided. +func BuildExtensionTestSpecsFromOpenShiftGinkgoSuite(selectFns ...ext.SelectFunction) (ext.ExtensionTestSpecs, error) { + var specs ext.ExtensionTestSpecs + var enforceSerialExecutionForGinkgo sync.Mutex // in-process parallelization for ginkgo is impossible so far + + if _, _, err := configureGinkgo(); err != nil { + return nil, err + } + + cwd, err := os.Getwd() + if err != nil { + return nil, errors.Wrap(err, "couldn't get current working directory") + } + + ginkgo.GetSuite().WalkTests(func(name string, spec types.TestSpec) { + var codeLocations []string + for _, cl := range spec.CodeLocations() { + codeLocations = append(codeLocations, cl.String()) + } + + testCase := &ext.ExtensionTestSpec{ + Name: spec.Text(), + Labels: sets.New[string](spec.Labels()...), + CodeLocations: codeLocations, + Lifecycle: GetLifecycle(spec.Labels()), + Run: func(ctx context.Context) *ext.ExtensionTestResult { + enforceSerialExecutionForGinkgo.Lock() + defer enforceSerialExecutionForGinkgo.Unlock() + + suiteConfig, reporterConfig, _ := configureGinkgo() + + result := &ext.ExtensionTestResult{ + Name: spec.Text(), + } + + var summary types.SpecReport + ginkgo.GetSuite().RunSpec(spec, ginkgo.Labels{}, "", cwd, ginkgo.GetFailer(), ginkgo.GetWriter(), *suiteConfig, + *reporterConfig) + for _, report := range ginkgo.GetSuite().GetReport().SpecReports { + if report.NumAttempts > 0 { + summary = report + } + } + + result.Output = summary.CapturedGinkgoWriterOutput + result.Error = summary.CapturedStdOutErr + + switch { + case summary.State == types.SpecStatePassed: + result.Result = ext.ResultPassed + case summary.State == types.SpecStateSkipped, summary.State == types.SpecStatePending: + result.Result = ext.ResultSkipped + if len(summary.Failure.Message) > 0 { + result.Output = fmt.Sprintf( + "%s\n skip [%s:%d]: %s\n", + result.Output, + lastFilenameSegment(summary.Failure.Location.FileName), + summary.Failure.Location.LineNumber, + summary.Failure.Message, + ) + } else if len(summary.Failure.ForwardedPanic) > 0 { + result.Output = fmt.Sprintf( + "%s\n skip [%s:%d]: %s\n", + result.Output, + lastFilenameSegment(summary.Failure.Location.FileName), + summary.Failure.Location.LineNumber, + summary.Failure.ForwardedPanic, + ) + } + case summary.State == types.SpecStateFailed, summary.State == types.SpecStatePanicked, summary.State == types.SpecStateInterrupted, summary.State == types.SpecStateAborted: + result.Result = ext.ResultFailed + var errors []string + if len(summary.Failure.ForwardedPanic) > 0 { + if len(summary.Failure.Location.FullStackTrace) > 0 { + errors = append(errors, fmt.Sprintf("\n%s\n", summary.Failure.Location.FullStackTrace)) + } + errors = append(errors, fmt.Sprintf("fail [%s:%d]: Test Panicked: %s", lastFilenameSegment(summary.Failure.Location.FileName), summary.Failure.Location.LineNumber, summary.Failure.ForwardedPanic)) + } + errors = append(errors, fmt.Sprintf("fail [%s:%d]: %s", lastFilenameSegment(summary.Failure.Location.FileName), summary.Failure.Location.LineNumber, summary.Failure.Message)) + result.Error = strings.Join(errors, "\n") + case summary.State == types.SpecStateTimedout: + result.Result = ext.ResultFailed + var errors []string + for _, additionalFailure := range summary.AdditionalFailures { + collectAdditionalFailures(&errors, " ", additionalFailure.Failure) + } + if summary.Failure.AdditionalFailure != nil { + collectAdditionalFailures(&errors, " ", summary.Failure.AdditionalFailure.Failure) + } + errors = append(errors, fmt.Sprintf("fail [%s:%d]: %s", lastFilenameSegment(summary.Failure.Location.FileName), summary.Failure.Location.LineNumber, summary.Failure.Message)) + result.Error = strings.Join(errors, "\n") + default: + panic(fmt.Sprintf("test produced unknown outcome: %#v", summary)) + } + + return result + }, + RunParallel: func(ctx context.Context) *ext.ExtensionTestResult { + // TODO pass through timeout and determine Lifecycle + return SpawnProcessToRunTest(ctx, name, 90*time.Minute) + }, + } + specs = append(specs, testCase) + }) + + // Default select function is to exclude vendored specs. When relying on Kubernetes test framework for its helpers, + // it also unfortunately ends up importing *all* Gingko specs. This is unsafe: it would potentially override the + // kube specs already present in origin. The best course of action is enforce this behavior on everyone. If for + // some reason, you must include vendored specs, you can opt-in directly by supplying your own SelectFunctions or using + // AllTestsIncludedVendored(). + if len(selectFns) == 0 { + selectFns = []ext.SelectFunction{ext.ModuleTestsOnly()} + } + + for _, selectFn := range selectFns { + specs = specs.Select(selectFn) + } + + return specs, nil +} + +func Informing() ginkgo.Labels { + return ginkgo.Label(fmt.Sprintf("Lifecycle:%s", ext.LifecycleInforming)) +} + +func Slow() ginkgo.Labels { + return ginkgo.Label("SLOW") +} + +func Blocking() ginkgo.Labels { + return ginkgo.Label(fmt.Sprintf("Lifecycle:%s", ext.LifecycleBlocking)) +} + +func GetLifecycle(labels ginkgo.Labels) ext.Lifecycle { + for _, label := range labels { + res := strings.Split(label, ":") + if len(res) != 2 || !strings.EqualFold(res[0], "lifecycle") { + continue + } + return MustLifecycle(res[1]) // this panics if unsupported lifecycle is used + } + + return ext.LifecycleBlocking +} + +func MustLifecycle(l string) ext.Lifecycle { + switch ext.Lifecycle(l) { + case ext.LifecycleInforming, ext.LifecycleBlocking: + return ext.Lifecycle(l) + default: + panic(fmt.Sprintf("unknown test lifecycle: %s", l)) + } +} + +func lastFilenameSegment(filename string) string { + if parts := strings.Split(filename, "/vendor/"); len(parts) > 1 { + return parts[len(parts)-1] + } + if parts := strings.Split(filename, "/src/"); len(parts) > 1 { + return parts[len(parts)-1] + } + return filename +} + +func collectAdditionalFailures(errors *[]string, suffix string, failure types.Failure) { + if failure.IsZero() { + return + } + + if len(failure.ForwardedPanic) > 0 { + if len(failure.Location.FullStackTrace) > 0 { + *errors = append(*errors, fmt.Sprintf("\n%s\n", failure.Location.FullStackTrace)) + } + *errors = append(*errors, fmt.Sprintf("fail [%s:%d]: Test Panicked: %s%s", lastFilenameSegment(failure.Location.FileName), failure.Location.LineNumber, failure.ForwardedPanic, suffix)) + } + *errors = append(*errors, fmt.Sprintf("fail [%s:%d] %s%s", lastFilenameSegment(failure.Location.FileName), failure.Location.LineNumber, failure.Message, suffix)) + + if failure.AdditionalFailure != nil { + collectAdditionalFailures(errors, " ", failure.AdditionalFailure.Failure) + } +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/junit/types.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/junit/types.go new file mode 100644 index 000000000..0309fbd51 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/junit/types.go @@ -0,0 +1,104 @@ +package junit + +import ( + "encoding/xml" +) + +// The below types are directly marshalled into XML. The types correspond to jUnit +// XML schema, but do not contain all valid fields. For instance, the class name +// field for test cases is omitted, as this concept does not directly apply to Go. +// For XML specifications see http://help.catchsoftware.com/display/ET/JUnit+Format +// or view the XSD included in this package as 'junit.xsd' + +// TestSuites represents a flat collection of jUnit test suites. +type TestSuites struct { + XMLName xml.Name `xml:"testsuites"` + + // Suites are the jUnit test suites held in this collection + Suites []*TestSuite `xml:"testsuite"` +} + +// TestSuite represents a single jUnit test suite, potentially holding child suites. +type TestSuite struct { + XMLName xml.Name `xml:"testsuite"` + + // Name is the name of the test suite + Name string `xml:"name,attr"` + + // NumTests records the number of tests in the TestSuite + NumTests uint `xml:"tests,attr"` + + // NumSkipped records the number of skipped tests in the suite + NumSkipped uint `xml:"skipped,attr"` + + // NumFailed records the number of failed tests in the suite + NumFailed uint `xml:"failures,attr"` + + // Duration is the time taken in seconds to run all tests in the suite + Duration float64 `xml:"time,attr"` + + // Properties holds other properties of the test suite as a mapping of name to value + Properties []*TestSuiteProperty `xml:"properties,omitempty"` + + // TestCases are the test cases contained in the test suite + TestCases []*TestCase `xml:"testcases"` + + // Children holds nested test suites + Children []*TestSuite `xml:"testsuites"` //nolint +} + +// TestSuiteProperty contains a mapping of a property name to a value +type TestSuiteProperty struct { + XMLName xml.Name `xml:"properties"` + + Name string `xml:"name,attr"` + Value string `xml:"value,attr"` +} + +// TestCase represents a jUnit test case +type TestCase struct { + XMLName xml.Name `xml:"testcase"` + + // Name is the name of the test case + Name string `xml:"name,attr"` + + // Classname is an attribute set by the package type and is required + Classname string `xml:"classname,attr,omitempty"` + + // Duration is the time taken in seconds to run the test + Duration float64 `xml:"time,attr"` + + // SkipMessage holds the reason why the test was skipped + SkipMessage *SkipMessage `xml:"skipped"` + + // FailureOutput holds the output from a failing test + FailureOutput *FailureOutput `xml:"failure"` + + // SystemOut is output written to stdout during the execution of this test case + SystemOut string `xml:"system-out,omitempty"` + + // SystemErr is output written to stderr during the execution of this test case + SystemErr string `xml:"system-err,omitempty"` +} + +// SkipMessage holds a message explaining why a test was skipped +type SkipMessage struct { + XMLName xml.Name `xml:"skipped"` + + // Message explains why the test was skipped + Message string `xml:"message,attr,omitempty"` +} + +// FailureOutput holds the output from a failing test +type FailureOutput struct { + XMLName xml.Name `xml:"failure"` + + // Message holds the failure message from the test + Message string `xml:"message,attr"` + + // Output holds verbose failure output from the test + Output string `xml:",chardata"` +} + +// TestResult is the result of a test case +type TestResult string diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/LICENSE b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/LICENSE @@ -0,0 +1,202 @@ + + 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 [yyyy] [name of copyright owner] + + 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/openshift-eng/openshift-tests-extension/pkg/util/sets/README.md b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/README.md new file mode 100644 index 000000000..1a5def772 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/README.md @@ -0,0 +1,3 @@ +This package is copy/pasted from [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery/tree/master/pkg/util/sets) +to avoid a circular dependency with `openshift/kubernetes` as it requires OTE and, without having done this, +OTE would require `kubernetes/kubernetes`. diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/byte.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/byte.go new file mode 100644 index 000000000..4d7a17c3a --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/byte.go @@ -0,0 +1,137 @@ +/* +Copyright 2022 The Kubernetes Authors. + +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 sets + +// Byte is a set of bytes, implemented via map[byte]struct{} for minimal memory consumption. +// +// Deprecated: use generic Set instead. +// new ways: +// s1 := Set[byte]{} +// s2 := New[byte]() +type Byte map[byte]Empty + +// NewByte creates a Byte from a list of values. +func NewByte(items ...byte) Byte { + return Byte(New[byte](items...)) +} + +// ByteKeySet creates a Byte from a keys of a map[byte](? extends interface{}). +// If the value passed in is not actually a map, this will panic. +func ByteKeySet[T any](theMap map[byte]T) Byte { + return Byte(KeySet(theMap)) +} + +// Insert adds items to the set. +func (s Byte) Insert(items ...byte) Byte { + return Byte(cast(s).Insert(items...)) +} + +// Delete removes all items from the set. +func (s Byte) Delete(items ...byte) Byte { + return Byte(cast(s).Delete(items...)) +} + +// Has returns true if and only if item is contained in the set. +func (s Byte) Has(item byte) bool { + return cast(s).Has(item) +} + +// HasAll returns true if and only if all items are contained in the set. +func (s Byte) HasAll(items ...byte) bool { + return cast(s).HasAll(items...) +} + +// HasAny returns true if any items are contained in the set. +func (s Byte) HasAny(items ...byte) bool { + return cast(s).HasAny(items...) +} + +// Clone returns a new set which is a copy of the current set. +func (s Byte) Clone() Byte { + return Byte(cast(s).Clone()) +} + +// Difference returns a set of objects that are not in s2. +// For example: +// s1 = {a1, a2, a3} +// s2 = {a1, a2, a4, a5} +// s1.Difference(s2) = {a3} +// s2.Difference(s1) = {a4, a5} +func (s1 Byte) Difference(s2 Byte) Byte { + return Byte(cast(s1).Difference(cast(s2))) +} + +// SymmetricDifference returns a set of elements which are in either of the sets, but not in their intersection. +// For example: +// s1 = {a1, a2, a3} +// s2 = {a1, a2, a4, a5} +// s1.SymmetricDifference(s2) = {a3, a4, a5} +// s2.SymmetricDifference(s1) = {a3, a4, a5} +func (s1 Byte) SymmetricDifference(s2 Byte) Byte { + return Byte(cast(s1).SymmetricDifference(cast(s2))) +} + +// Union returns a new set which includes items in either s1 or s2. +// For example: +// s1 = {a1, a2} +// s2 = {a3, a4} +// s1.Union(s2) = {a1, a2, a3, a4} +// s2.Union(s1) = {a1, a2, a3, a4} +func (s1 Byte) Union(s2 Byte) Byte { + return Byte(cast(s1).Union(cast(s2))) +} + +// Intersection returns a new set which includes the item in BOTH s1 and s2 +// For example: +// s1 = {a1, a2} +// s2 = {a2, a3} +// s1.Intersection(s2) = {a2} +func (s1 Byte) Intersection(s2 Byte) Byte { + return Byte(cast(s1).Intersection(cast(s2))) +} + +// IsSuperset returns true if and only if s1 is a superset of s2. +func (s1 Byte) IsSuperset(s2 Byte) bool { + return cast(s1).IsSuperset(cast(s2)) +} + +// Equal returns true if and only if s1 is equal (as a set) to s2. +// Two sets are equal if their membership is identical. +// (In practice, this means same elements, order doesn't matter) +func (s1 Byte) Equal(s2 Byte) bool { + return cast(s1).Equal(cast(s2)) +} + +// List returns the contents as a sorted byte slice. +func (s Byte) List() []byte { + return List(cast(s)) +} + +// UnsortedList returns the slice with contents in random order. +func (s Byte) UnsortedList() []byte { + return cast(s).UnsortedList() +} + +// PopAny returns a single element from the set. +func (s Byte) PopAny() (byte, bool) { + return cast(s).PopAny() +} + +// Len returns the size of the set. +func (s Byte) Len() int { + return len(s) +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/doc.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/doc.go new file mode 100644 index 000000000..997f5e033 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/doc.go @@ -0,0 +1,19 @@ +/* +Copyright 2022 The Kubernetes Authors. + +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 sets has generic set and specified sets. Generic set will +// replace specified ones over time. And specific ones are deprecated. +package sets // import "github.com/openshift-eng/openshift-tests-extension/pkg/util/sets" diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/empty.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/empty.go new file mode 100644 index 000000000..fbb1df06d --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/empty.go @@ -0,0 +1,21 @@ +/* +Copyright 2022 The Kubernetes Authors. + +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 sets + +// Empty is public since it is used by some internal API objects for conversions between external +// string arrays and internal sets, and conversion logic requires public types today. +type Empty struct{} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int.go new file mode 100644 index 000000000..5876fc9de --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int.go @@ -0,0 +1,137 @@ +/* +Copyright 2022 The Kubernetes Authors. + +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 sets + +// Int is a set of ints, implemented via map[int]struct{} for minimal memory consumption. +// +// Deprecated: use generic Set instead. +// new ways: +// s1 := Set[int]{} +// s2 := New[int]() +type Int map[int]Empty + +// NewInt creates a Int from a list of values. +func NewInt(items ...int) Int { + return Int(New[int](items...)) +} + +// IntKeySet creates a Int from a keys of a map[int](? extends interface{}). +// If the value passed in is not actually a map, this will panic. +func IntKeySet[T any](theMap map[int]T) Int { + return Int(KeySet(theMap)) +} + +// Insert adds items to the set. +func (s Int) Insert(items ...int) Int { + return Int(cast(s).Insert(items...)) +} + +// Delete removes all items from the set. +func (s Int) Delete(items ...int) Int { + return Int(cast(s).Delete(items...)) +} + +// Has returns true if and only if item is contained in the set. +func (s Int) Has(item int) bool { + return cast(s).Has(item) +} + +// HasAll returns true if and only if all items are contained in the set. +func (s Int) HasAll(items ...int) bool { + return cast(s).HasAll(items...) +} + +// HasAny returns true if any items are contained in the set. +func (s Int) HasAny(items ...int) bool { + return cast(s).HasAny(items...) +} + +// Clone returns a new set which is a copy of the current set. +func (s Int) Clone() Int { + return Int(cast(s).Clone()) +} + +// Difference returns a set of objects that are not in s2. +// For example: +// s1 = {a1, a2, a3} +// s2 = {a1, a2, a4, a5} +// s1.Difference(s2) = {a3} +// s2.Difference(s1) = {a4, a5} +func (s1 Int) Difference(s2 Int) Int { + return Int(cast(s1).Difference(cast(s2))) +} + +// SymmetricDifference returns a set of elements which are in either of the sets, but not in their intersection. +// For example: +// s1 = {a1, a2, a3} +// s2 = {a1, a2, a4, a5} +// s1.SymmetricDifference(s2) = {a3, a4, a5} +// s2.SymmetricDifference(s1) = {a3, a4, a5} +func (s1 Int) SymmetricDifference(s2 Int) Int { + return Int(cast(s1).SymmetricDifference(cast(s2))) +} + +// Union returns a new set which includes items in either s1 or s2. +// For example: +// s1 = {a1, a2} +// s2 = {a3, a4} +// s1.Union(s2) = {a1, a2, a3, a4} +// s2.Union(s1) = {a1, a2, a3, a4} +func (s1 Int) Union(s2 Int) Int { + return Int(cast(s1).Union(cast(s2))) +} + +// Intersection returns a new set which includes the item in BOTH s1 and s2 +// For example: +// s1 = {a1, a2} +// s2 = {a2, a3} +// s1.Intersection(s2) = {a2} +func (s1 Int) Intersection(s2 Int) Int { + return Int(cast(s1).Intersection(cast(s2))) +} + +// IsSuperset returns true if and only if s1 is a superset of s2. +func (s1 Int) IsSuperset(s2 Int) bool { + return cast(s1).IsSuperset(cast(s2)) +} + +// Equal returns true if and only if s1 is equal (as a set) to s2. +// Two sets are equal if their membership is identical. +// (In practice, this means same elements, order doesn't matter) +func (s1 Int) Equal(s2 Int) bool { + return cast(s1).Equal(cast(s2)) +} + +// List returns the contents as a sorted int slice. +func (s Int) List() []int { + return List(cast(s)) +} + +// UnsortedList returns the slice with contents in random order. +func (s Int) UnsortedList() []int { + return cast(s).UnsortedList() +} + +// PopAny returns a single element from the set. +func (s Int) PopAny() (int, bool) { + return cast(s).PopAny() +} + +// Len returns the size of the set. +func (s Int) Len() int { + return len(s) +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int32.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int32.go new file mode 100644 index 000000000..2c640c5d0 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int32.go @@ -0,0 +1,137 @@ +/* +Copyright 2022 The Kubernetes Authors. + +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 sets + +// Int32 is a set of int32s, implemented via map[int32]struct{} for minimal memory consumption. +// +// Deprecated: use generic Set instead. +// new ways: +// s1 := Set[int32]{} +// s2 := New[int32]() +type Int32 map[int32]Empty + +// NewInt32 creates a Int32 from a list of values. +func NewInt32(items ...int32) Int32 { + return Int32(New[int32](items...)) +} + +// Int32KeySet creates a Int32 from a keys of a map[int32](? extends interface{}). +// If the value passed in is not actually a map, this will panic. +func Int32KeySet[T any](theMap map[int32]T) Int32 { + return Int32(KeySet(theMap)) +} + +// Insert adds items to the set. +func (s Int32) Insert(items ...int32) Int32 { + return Int32(cast(s).Insert(items...)) +} + +// Delete removes all items from the set. +func (s Int32) Delete(items ...int32) Int32 { + return Int32(cast(s).Delete(items...)) +} + +// Has returns true if and only if item is contained in the set. +func (s Int32) Has(item int32) bool { + return cast(s).Has(item) +} + +// HasAll returns true if and only if all items are contained in the set. +func (s Int32) HasAll(items ...int32) bool { + return cast(s).HasAll(items...) +} + +// HasAny returns true if any items are contained in the set. +func (s Int32) HasAny(items ...int32) bool { + return cast(s).HasAny(items...) +} + +// Clone returns a new set which is a copy of the current set. +func (s Int32) Clone() Int32 { + return Int32(cast(s).Clone()) +} + +// Difference returns a set of objects that are not in s2. +// For example: +// s1 = {a1, a2, a3} +// s2 = {a1, a2, a4, a5} +// s1.Difference(s2) = {a3} +// s2.Difference(s1) = {a4, a5} +func (s1 Int32) Difference(s2 Int32) Int32 { + return Int32(cast(s1).Difference(cast(s2))) +} + +// SymmetricDifference returns a set of elements which are in either of the sets, but not in their intersection. +// For example: +// s1 = {a1, a2, a3} +// s2 = {a1, a2, a4, a5} +// s1.SymmetricDifference(s2) = {a3, a4, a5} +// s2.SymmetricDifference(s1) = {a3, a4, a5} +func (s1 Int32) SymmetricDifference(s2 Int32) Int32 { + return Int32(cast(s1).SymmetricDifference(cast(s2))) +} + +// Union returns a new set which includes items in either s1 or s2. +// For example: +// s1 = {a1, a2} +// s2 = {a3, a4} +// s1.Union(s2) = {a1, a2, a3, a4} +// s2.Union(s1) = {a1, a2, a3, a4} +func (s1 Int32) Union(s2 Int32) Int32 { + return Int32(cast(s1).Union(cast(s2))) +} + +// Intersection returns a new set which includes the item in BOTH s1 and s2 +// For example: +// s1 = {a1, a2} +// s2 = {a2, a3} +// s1.Intersection(s2) = {a2} +func (s1 Int32) Intersection(s2 Int32) Int32 { + return Int32(cast(s1).Intersection(cast(s2))) +} + +// IsSuperset returns true if and only if s1 is a superset of s2. +func (s1 Int32) IsSuperset(s2 Int32) bool { + return cast(s1).IsSuperset(cast(s2)) +} + +// Equal returns true if and only if s1 is equal (as a set) to s2. +// Two sets are equal if their membership is identical. +// (In practice, this means same elements, order doesn't matter) +func (s1 Int32) Equal(s2 Int32) bool { + return cast(s1).Equal(cast(s2)) +} + +// List returns the contents as a sorted int32 slice. +func (s Int32) List() []int32 { + return List(cast(s)) +} + +// UnsortedList returns the slice with contents in random order. +func (s Int32) UnsortedList() []int32 { + return cast(s).UnsortedList() +} + +// PopAny returns a single element from the set. +func (s Int32) PopAny() (int32, bool) { + return cast(s).PopAny() +} + +// Len returns the size of the set. +func (s Int32) Len() int { + return len(s) +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int64.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int64.go new file mode 100644 index 000000000..bf3eb3ffa --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/int64.go @@ -0,0 +1,137 @@ +/* +Copyright 2022 The Kubernetes Authors. + +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 sets + +// Int64 is a set of int64s, implemented via map[int64]struct{} for minimal memory consumption. +// +// Deprecated: use generic Set instead. +// new ways: +// s1 := Set[int64]{} +// s2 := New[int64]() +type Int64 map[int64]Empty + +// NewInt64 creates a Int64 from a list of values. +func NewInt64(items ...int64) Int64 { + return Int64(New[int64](items...)) +} + +// Int64KeySet creates a Int64 from a keys of a map[int64](? extends interface{}). +// If the value passed in is not actually a map, this will panic. +func Int64KeySet[T any](theMap map[int64]T) Int64 { + return Int64(KeySet(theMap)) +} + +// Insert adds items to the set. +func (s Int64) Insert(items ...int64) Int64 { + return Int64(cast(s).Insert(items...)) +} + +// Delete removes all items from the set. +func (s Int64) Delete(items ...int64) Int64 { + return Int64(cast(s).Delete(items...)) +} + +// Has returns true if and only if item is contained in the set. +func (s Int64) Has(item int64) bool { + return cast(s).Has(item) +} + +// HasAll returns true if and only if all items are contained in the set. +func (s Int64) HasAll(items ...int64) bool { + return cast(s).HasAll(items...) +} + +// HasAny returns true if any items are contained in the set. +func (s Int64) HasAny(items ...int64) bool { + return cast(s).HasAny(items...) +} + +// Clone returns a new set which is a copy of the current set. +func (s Int64) Clone() Int64 { + return Int64(cast(s).Clone()) +} + +// Difference returns a set of objects that are not in s2. +// For example: +// s1 = {a1, a2, a3} +// s2 = {a1, a2, a4, a5} +// s1.Difference(s2) = {a3} +// s2.Difference(s1) = {a4, a5} +func (s1 Int64) Difference(s2 Int64) Int64 { + return Int64(cast(s1).Difference(cast(s2))) +} + +// SymmetricDifference returns a set of elements which are in either of the sets, but not in their intersection. +// For example: +// s1 = {a1, a2, a3} +// s2 = {a1, a2, a4, a5} +// s1.SymmetricDifference(s2) = {a3, a4, a5} +// s2.SymmetricDifference(s1) = {a3, a4, a5} +func (s1 Int64) SymmetricDifference(s2 Int64) Int64 { + return Int64(cast(s1).SymmetricDifference(cast(s2))) +} + +// Union returns a new set which includes items in either s1 or s2. +// For example: +// s1 = {a1, a2} +// s2 = {a3, a4} +// s1.Union(s2) = {a1, a2, a3, a4} +// s2.Union(s1) = {a1, a2, a3, a4} +func (s1 Int64) Union(s2 Int64) Int64 { + return Int64(cast(s1).Union(cast(s2))) +} + +// Intersection returns a new set which includes the item in BOTH s1 and s2 +// For example: +// s1 = {a1, a2} +// s2 = {a2, a3} +// s1.Intersection(s2) = {a2} +func (s1 Int64) Intersection(s2 Int64) Int64 { + return Int64(cast(s1).Intersection(cast(s2))) +} + +// IsSuperset returns true if and only if s1 is a superset of s2. +func (s1 Int64) IsSuperset(s2 Int64) bool { + return cast(s1).IsSuperset(cast(s2)) +} + +// Equal returns true if and only if s1 is equal (as a set) to s2. +// Two sets are equal if their membership is identical. +// (In practice, this means same elements, order doesn't matter) +func (s1 Int64) Equal(s2 Int64) bool { + return cast(s1).Equal(cast(s2)) +} + +// List returns the contents as a sorted int64 slice. +func (s Int64) List() []int64 { + return List(cast(s)) +} + +// UnsortedList returns the slice with contents in random order. +func (s Int64) UnsortedList() []int64 { + return cast(s).UnsortedList() +} + +// PopAny returns a single element from the set. +func (s Int64) PopAny() (int64, bool) { + return cast(s).PopAny() +} + +// Len returns the size of the set. +func (s Int64) Len() int { + return len(s) +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/set.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/set.go new file mode 100644 index 000000000..cd961c8c5 --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/set.go @@ -0,0 +1,236 @@ +/* +Copyright 2022 The Kubernetes Authors. + +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 sets + +import ( + "cmp" + "sort" +) + +// Set is a set of the same type elements, implemented via map[comparable]struct{} for minimal memory consumption. +type Set[T comparable] map[T]Empty + +// cast transforms specified set to generic Set[T]. +func cast[T comparable](s map[T]Empty) Set[T] { return s } + +// New creates a Set from a list of values. +// NOTE: type param must be explicitly instantiated if given items are empty. +func New[T comparable](items ...T) Set[T] { + ss := make(Set[T], len(items)) + ss.Insert(items...) + return ss +} + +// KeySet creates a Set from a keys of a map[comparable](? extends interface{}). +// If the value passed in is not actually a map, this will panic. +func KeySet[T comparable, V any](theMap map[T]V) Set[T] { + ret := make(Set[T], len(theMap)) + for keyValue := range theMap { + ret.Insert(keyValue) + } + return ret +} + +// Insert adds items to the set. +func (s Set[T]) Insert(items ...T) Set[T] { + for _, item := range items { + s[item] = Empty{} + } + return s +} + +func Insert[T comparable](set Set[T], items ...T) Set[T] { + return set.Insert(items...) +} + +// Delete removes all items from the set. +func (s Set[T]) Delete(items ...T) Set[T] { + for _, item := range items { + delete(s, item) + } + return s +} + +// Clear empties the set. +// It is preferable to replace the set with a newly constructed set, +// but not all callers can do that (when there are other references to the map). +func (s Set[T]) Clear() Set[T] { + clear(s) + return s +} + +// Has returns true if and only if item is contained in the set. +func (s Set[T]) Has(item T) bool { + _, contained := s[item] + return contained +} + +// HasAll returns true if and only if all items are contained in the set. +func (s Set[T]) HasAll(items ...T) bool { + for _, item := range items { + if !s.Has(item) { + return false + } + } + return true +} + +// HasAny returns true if any items are contained in the set. +func (s Set[T]) HasAny(items ...T) bool { + for _, item := range items { + if s.Has(item) { + return true + } + } + return false +} + +// Clone returns a new set which is a copy of the current set. +func (s Set[T]) Clone() Set[T] { + result := make(Set[T], len(s)) + for key := range s { + result.Insert(key) + } + return result +} + +// Difference returns a set of objects that are not in s2. +// For example: +// s1 = {a1, a2, a3} +// s2 = {a1, a2, a4, a5} +// s1.Difference(s2) = {a3} +// s2.Difference(s1) = {a4, a5} +func (s1 Set[T]) Difference(s2 Set[T]) Set[T] { + result := New[T]() + for key := range s1 { + if !s2.Has(key) { + result.Insert(key) + } + } + return result +} + +// SymmetricDifference returns a set of elements which are in either of the sets, but not in their intersection. +// For example: +// s1 = {a1, a2, a3} +// s2 = {a1, a2, a4, a5} +// s1.SymmetricDifference(s2) = {a3, a4, a5} +// s2.SymmetricDifference(s1) = {a3, a4, a5} +func (s1 Set[T]) SymmetricDifference(s2 Set[T]) Set[T] { + return s1.Difference(s2).Union(s2.Difference(s1)) +} + +// Union returns a new set which includes items in either s1 or s2. +// For example: +// s1 = {a1, a2} +// s2 = {a3, a4} +// s1.Union(s2) = {a1, a2, a3, a4} +// s2.Union(s1) = {a1, a2, a3, a4} +func (s1 Set[T]) Union(s2 Set[T]) Set[T] { + result := s1.Clone() + for key := range s2 { + result.Insert(key) + } + return result +} + +// Intersection returns a new set which includes the item in BOTH s1 and s2 +// For example: +// s1 = {a1, a2} +// s2 = {a2, a3} +// s1.Intersection(s2) = {a2} +func (s1 Set[T]) Intersection(s2 Set[T]) Set[T] { + var walk, other Set[T] + result := New[T]() + if s1.Len() < s2.Len() { + walk = s1 + other = s2 + } else { + walk = s2 + other = s1 + } + for key := range walk { + if other.Has(key) { + result.Insert(key) + } + } + return result +} + +// IsSuperset returns true if and only if s1 is a superset of s2. +func (s1 Set[T]) IsSuperset(s2 Set[T]) bool { + for item := range s2 { + if !s1.Has(item) { + return false + } + } + return true +} + +// Equal returns true if and only if s1 is equal (as a set) to s2. +// Two sets are equal if their membership is identical. +// (In practice, this means same elements, order doesn't matter) +func (s1 Set[T]) Equal(s2 Set[T]) bool { + return len(s1) == len(s2) && s1.IsSuperset(s2) +} + +type sortableSliceOfGeneric[T cmp.Ordered] []T + +func (g sortableSliceOfGeneric[T]) Len() int { return len(g) } +func (g sortableSliceOfGeneric[T]) Less(i, j int) bool { return less[T](g[i], g[j]) } +func (g sortableSliceOfGeneric[T]) Swap(i, j int) { g[i], g[j] = g[j], g[i] } + +// List returns the contents as a sorted T slice. +// +// This is a separate function and not a method because not all types supported +// by Generic are ordered and only those can be sorted. +func List[T cmp.Ordered](s Set[T]) []T { + res := make(sortableSliceOfGeneric[T], 0, len(s)) + for key := range s { + res = append(res, key) + } + sort.Sort(res) + return res +} + +// UnsortedList returns the slice with contents in random order. +func (s Set[T]) UnsortedList() []T { + res := make([]T, 0, len(s)) + for key := range s { + res = append(res, key) + } + return res +} + +// PopAny returns a single element from the set. +func (s Set[T]) PopAny() (T, bool) { + for key := range s { + s.Delete(key) + return key, true + } + var zeroValue T + return zeroValue, false +} + +// Len returns the size of the set. +func (s Set[T]) Len() int { + return len(s) +} + +func less[T cmp.Ordered](lhs, rhs T) bool { + return lhs < rhs +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/string.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/string.go new file mode 100644 index 000000000..1dab6d13c --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/util/sets/string.go @@ -0,0 +1,137 @@ +/* +Copyright 2022 The Kubernetes Authors. + +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 sets + +// String is a set of strings, implemented via map[string]struct{} for minimal memory consumption. +// +// Deprecated: use generic Set instead. +// new ways: +// s1 := Set[string]{} +// s2 := New[string]() +type String map[string]Empty + +// NewString creates a String from a list of values. +func NewString(items ...string) String { + return String(New[string](items...)) +} + +// StringKeySet creates a String from a keys of a map[string](? extends interface{}). +// If the value passed in is not actually a map, this will panic. +func StringKeySet[T any](theMap map[string]T) String { + return String(KeySet(theMap)) +} + +// Insert adds items to the set. +func (s String) Insert(items ...string) String { + return String(cast(s).Insert(items...)) +} + +// Delete removes all items from the set. +func (s String) Delete(items ...string) String { + return String(cast(s).Delete(items...)) +} + +// Has returns true if and only if item is contained in the set. +func (s String) Has(item string) bool { + return cast(s).Has(item) +} + +// HasAll returns true if and only if all items are contained in the set. +func (s String) HasAll(items ...string) bool { + return cast(s).HasAll(items...) +} + +// HasAny returns true if any items are contained in the set. +func (s String) HasAny(items ...string) bool { + return cast(s).HasAny(items...) +} + +// Clone returns a new set which is a copy of the current set. +func (s String) Clone() String { + return String(cast(s).Clone()) +} + +// Difference returns a set of objects that are not in s2. +// For example: +// s1 = {a1, a2, a3} +// s2 = {a1, a2, a4, a5} +// s1.Difference(s2) = {a3} +// s2.Difference(s1) = {a4, a5} +func (s1 String) Difference(s2 String) String { + return String(cast(s1).Difference(cast(s2))) +} + +// SymmetricDifference returns a set of elements which are in either of the sets, but not in their intersection. +// For example: +// s1 = {a1, a2, a3} +// s2 = {a1, a2, a4, a5} +// s1.SymmetricDifference(s2) = {a3, a4, a5} +// s2.SymmetricDifference(s1) = {a3, a4, a5} +func (s1 String) SymmetricDifference(s2 String) String { + return String(cast(s1).SymmetricDifference(cast(s2))) +} + +// Union returns a new set which includes items in either s1 or s2. +// For example: +// s1 = {a1, a2} +// s2 = {a3, a4} +// s1.Union(s2) = {a1, a2, a3, a4} +// s2.Union(s1) = {a1, a2, a3, a4} +func (s1 String) Union(s2 String) String { + return String(cast(s1).Union(cast(s2))) +} + +// Intersection returns a new set which includes the item in BOTH s1 and s2 +// For example: +// s1 = {a1, a2} +// s2 = {a2, a3} +// s1.Intersection(s2) = {a2} +func (s1 String) Intersection(s2 String) String { + return String(cast(s1).Intersection(cast(s2))) +} + +// IsSuperset returns true if and only if s1 is a superset of s2. +func (s1 String) IsSuperset(s2 String) bool { + return cast(s1).IsSuperset(cast(s2)) +} + +// Equal returns true if and only if s1 is equal (as a set) to s2. +// Two sets are equal if their membership is identical. +// (In practice, this means same elements, order doesn't matter) +func (s1 String) Equal(s2 String) bool { + return cast(s1).Equal(cast(s2)) +} + +// List returns the contents as a sorted string slice. +func (s String) List() []string { + return List(cast(s)) +} + +// UnsortedList returns the slice with contents in random order. +func (s String) UnsortedList() []string { + return cast(s).UnsortedList() +} + +// PopAny returns a single element from the set. +func (s String) PopAny() (string, bool) { + return cast(s).PopAny() +} + +// Len returns the size of the set. +func (s String) Len() int { + return len(s) +} diff --git a/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/version/version.go b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/version/version.go new file mode 100644 index 000000000..7d6a3309b --- /dev/null +++ b/vendor/github.com/openshift-eng/openshift-tests-extension/pkg/version/version.go @@ -0,0 +1,11 @@ +package version + +var ( + // CommitFromGit is a constant representing the source version that + // generated this build. It should be set during build via -ldflags. + CommitFromGit string + // BuildDate in ISO8601 format, output of $(date -u +'%Y-%m-%dT%H:%M:%SZ') + BuildDate string + // GitTreeState has the state of git tree, either "clean" or "dirty" + GitTreeState string +) diff --git a/vendor/github.com/spf13/cobra/.gitignore b/vendor/github.com/spf13/cobra/.gitignore new file mode 100644 index 000000000..c7b459e4d --- /dev/null +++ b/vendor/github.com/spf13/cobra/.gitignore @@ -0,0 +1,39 @@ +# Compiled Object files, Static and Dynamic libs (Shared Objects) +*.o +*.a +*.so + +# Folders +_obj +_test + +# Architecture specific extensions/prefixes +*.[568vq] +[568vq].out + +*.cgo1.go +*.cgo2.c +_cgo_defun.c +_cgo_gotypes.go +_cgo_export.* + +_testmain.go + +# Vim files https://github.com/github/gitignore/blob/master/Global/Vim.gitignore +# swap +[._]*.s[a-w][a-z] +[._]s[a-w][a-z] +# session +Session.vim +# temporary +.netrwhist +*~ +# auto-generated tag files +tags + +*.exe +cobra.test +bin + +.idea/ +*.iml diff --git a/vendor/github.com/spf13/cobra/.golangci.yml b/vendor/github.com/spf13/cobra/.golangci.yml new file mode 100644 index 000000000..2c8f4808c --- /dev/null +++ b/vendor/github.com/spf13/cobra/.golangci.yml @@ -0,0 +1,57 @@ +# Copyright 2013-2023 The Cobra Authors +# +# 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. + +run: + deadline: 5m + +linters: + disable-all: true + enable: + #- bodyclose + # - deadcode ! deprecated since v1.49.0; replaced by 'unused' + #- depguard + #- dogsled + #- dupl + - errcheck + #- exhaustive + #- funlen + #- gochecknoinits + - goconst + - gocritic + #- gocyclo + - gofmt + - goimports + #- gomnd + #- goprintffuncname + - gosec + - gosimple + - govet + - ineffassign + #- lll + - misspell + #- nakedret + #- noctx + - nolintlint + #- rowserrcheck + #- scopelint + - staticcheck + #- structcheck ! deprecated since v1.49.0; replaced by 'unused' + - stylecheck + #- typecheck + - unconvert + #- unparam + - unused + # - varcheck ! deprecated since v1.49.0; replaced by 'unused' + #- whitespace + fast: false diff --git a/vendor/github.com/spf13/cobra/.mailmap b/vendor/github.com/spf13/cobra/.mailmap new file mode 100644 index 000000000..94ec53068 --- /dev/null +++ b/vendor/github.com/spf13/cobra/.mailmap @@ -0,0 +1,3 @@ +Steve Francia +Bjørn Erik Pedersen +Fabiano Franz diff --git a/vendor/github.com/spf13/cobra/CONDUCT.md b/vendor/github.com/spf13/cobra/CONDUCT.md new file mode 100644 index 000000000..9d16f88fd --- /dev/null +++ b/vendor/github.com/spf13/cobra/CONDUCT.md @@ -0,0 +1,37 @@ +## Cobra User Contract + +### Versioning +Cobra will follow a steady release cadence. Non breaking changes will be released as minor versions quarterly. Patch bug releases are at the discretion of the maintainers. Users can expect security patch fixes to be released within relatively short order of a CVE becoming known. For more information on security patch fixes see the CVE section below. Releases will follow [Semantic Versioning](https://semver.org/). Users tracking the Master branch should expect unpredictable breaking changes as the project continues to move forward. For stability, it is highly recommended to use a release. + +### Backward Compatibility +We will maintain two major releases in a moving window. The N-1 release will only receive bug fixes and security updates and will be dropped once N+1 is released. + +### Deprecation +Deprecation of Go versions or dependent packages will only occur in major releases. To reduce the change of this taking users by surprise, any large deprecation will be preceded by an announcement in the [#cobra slack channel](https://gophers.slack.com/archives/CD3LP1199) and an Issue on Github. + +### CVE +Maintainers will make every effort to release security patches in the case of a medium to high severity CVE directly impacting the library. The speed in which these patches reach a release is up to the discretion of the maintainers. A low severity CVE may be a lower priority than a high severity one. + +### Communication +Cobra maintainers will use GitHub issues and the [#cobra slack channel](https://gophers.slack.com/archives/CD3LP1199) as the primary means of communication with the community. This is to foster open communication with all users and contributors. + +### Breaking Changes +Breaking changes are generally allowed in the master branch, as this is the branch used to develop the next release of Cobra. + +There may be times, however, when master is closed for breaking changes. This is likely to happen as we near the release of a new version. + +Breaking changes are not allowed in release branches, as these represent minor versions that have already been released. These version have consumers who expect the APIs, behaviors, etc, to remain stable during the lifetime of the patch stream for the minor release. + +Examples of breaking changes include: +- Removing or renaming exported constant, variable, type, or function. +- Updating the version of critical libraries such as `spf13/pflag`, `spf13/viper` etc... + - Some version updates may be acceptable for picking up bug fixes, but maintainers must exercise caution when reviewing. + +There may, at times, need to be exceptions where breaking changes are allowed in release branches. These are at the discretion of the project's maintainers, and must be carefully considered before merging. + +### CI Testing +Maintainers will ensure the Cobra test suite utilizes the current supported versions of Golang. + +### Disclaimer +Changes to this document and the contents therein are at the discretion of the maintainers. +None of the contents of this document are legally binding in any way to the maintainers or the users. diff --git a/vendor/github.com/spf13/cobra/CONTRIBUTING.md b/vendor/github.com/spf13/cobra/CONTRIBUTING.md new file mode 100644 index 000000000..6f356e6a8 --- /dev/null +++ b/vendor/github.com/spf13/cobra/CONTRIBUTING.md @@ -0,0 +1,50 @@ +# Contributing to Cobra + +Thank you so much for contributing to Cobra. We appreciate your time and help. +Here are some guidelines to help you get started. + +## Code of Conduct + +Be kind and respectful to the members of the community. Take time to educate +others who are seeking help. Harassment of any kind will not be tolerated. + +## Questions + +If you have questions regarding Cobra, feel free to ask it in the community +[#cobra Slack channel][cobra-slack] + +## Filing a bug or feature + +1. Before filing an issue, please check the existing issues to see if a + similar one was already opened. If there is one already opened, feel free + to comment on it. +1. If you believe you've found a bug, please provide detailed steps of + reproduction, the version of Cobra and anything else you believe will be + useful to help troubleshoot it (e.g. OS environment, environment variables, + etc...). Also state the current behavior vs. the expected behavior. +1. If you'd like to see a feature or an enhancement please open an issue with + a clear title and description of what the feature is and why it would be + beneficial to the project and its users. + +## Submitting changes + +1. CLA: Upon submitting a Pull Request (PR), contributors will be prompted to + sign a CLA. Please sign the CLA :slightly_smiling_face: +1. Tests: If you are submitting code, please ensure you have adequate tests + for the feature. Tests can be run via `go test ./...` or `make test`. +1. Since this is golang project, ensure the new code is properly formatted to + ensure code consistency. Run `make all`. + +### Quick steps to contribute + +1. Fork the project. +1. Download your fork to your PC (`git clone https://github.com/your_username/cobra && cd cobra`) +1. Create your feature branch (`git checkout -b my-new-feature`) +1. Make changes and run tests (`make test`) +1. Add them to staging (`git add .`) +1. Commit your changes (`git commit -m 'Add some feature'`) +1. Push to the branch (`git push origin my-new-feature`) +1. Create new pull request + + +[cobra-slack]: https://gophers.slack.com/archives/CD3LP1199 diff --git a/vendor/github.com/spf13/cobra/LICENSE.txt b/vendor/github.com/spf13/cobra/LICENSE.txt new file mode 100644 index 000000000..298f0e266 --- /dev/null +++ b/vendor/github.com/spf13/cobra/LICENSE.txt @@ -0,0 +1,174 @@ + 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. diff --git a/vendor/github.com/spf13/cobra/MAINTAINERS b/vendor/github.com/spf13/cobra/MAINTAINERS new file mode 100644 index 000000000..4c5ac3dd9 --- /dev/null +++ b/vendor/github.com/spf13/cobra/MAINTAINERS @@ -0,0 +1,13 @@ +maintainers: +- spf13 +- johnSchnake +- jpmcb +- marckhouzam +inactive: +- anthonyfok +- bep +- bogem +- broady +- eparis +- jharshman +- wfernandes diff --git a/vendor/github.com/spf13/cobra/Makefile b/vendor/github.com/spf13/cobra/Makefile new file mode 100644 index 000000000..0da8d7aa0 --- /dev/null +++ b/vendor/github.com/spf13/cobra/Makefile @@ -0,0 +1,35 @@ +BIN="./bin" +SRC=$(shell find . -name "*.go") + +ifeq (, $(shell which golangci-lint)) +$(warning "could not find golangci-lint in $(PATH), run: curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh") +endif + +.PHONY: fmt lint test install_deps clean + +default: all + +all: fmt test + +fmt: + $(info ******************** checking formatting ********************) + @test -z $(shell gofmt -l $(SRC)) || (gofmt -d $(SRC); exit 1) + +lint: + $(info ******************** running lint tools ********************) + golangci-lint run -v + +test: install_deps + $(info ******************** running tests ********************) + go test -v ./... + +richtest: install_deps + $(info ******************** running tests with kyoh86/richgo ********************) + richgo test -v ./... + +install_deps: + $(info ******************** downloading dependencies ********************) + go get -v ./... + +clean: + rm -rf $(BIN) diff --git a/vendor/github.com/spf13/cobra/README.md b/vendor/github.com/spf13/cobra/README.md new file mode 100644 index 000000000..6444f4b7f --- /dev/null +++ b/vendor/github.com/spf13/cobra/README.md @@ -0,0 +1,112 @@ +![cobra logo](assets/CobraMain.png) + +Cobra is a library for creating powerful modern CLI applications. + +Cobra is used in many Go projects such as [Kubernetes](https://kubernetes.io/), +[Hugo](https://gohugo.io), and [GitHub CLI](https://github.com/cli/cli) to +name a few. [This list](site/content/projects_using_cobra.md) contains a more extensive list of projects using Cobra. + +[![](https://img.shields.io/github/actions/workflow/status/spf13/cobra/test.yml?branch=main&longCache=true&label=Test&logo=github%20actions&logoColor=fff)](https://github.com/spf13/cobra/actions?query=workflow%3ATest) +[![Go Reference](https://pkg.go.dev/badge/github.com/spf13/cobra.svg)](https://pkg.go.dev/github.com/spf13/cobra) +[![Go Report Card](https://goreportcard.com/badge/github.com/spf13/cobra)](https://goreportcard.com/report/github.com/spf13/cobra) +[![Slack](https://img.shields.io/badge/Slack-cobra-brightgreen)](https://gophers.slack.com/archives/CD3LP1199) + +# Overview + +Cobra is a library providing a simple interface to create powerful modern CLI +interfaces similar to git & go tools. + +Cobra provides: +* Easy subcommand-based CLIs: `app server`, `app fetch`, etc. +* Fully POSIX-compliant flags (including short & long versions) +* Nested subcommands +* Global, local and cascading flags +* Intelligent suggestions (`app srver`... did you mean `app server`?) +* Automatic help generation for commands and flags +* Grouping help for subcommands +* Automatic help flag recognition of `-h`, `--help`, etc. +* Automatically generated shell autocomplete for your application (bash, zsh, fish, powershell) +* Automatically generated man pages for your application +* Command aliases so you can change things without breaking them +* The flexibility to define your own help, usage, etc. +* Optional seamless integration with [viper](https://github.com/spf13/viper) for 12-factor apps + +# Concepts + +Cobra is built on a structure of commands, arguments & flags. + +**Commands** represent actions, **Args** are things and **Flags** are modifiers for those actions. + +The best applications read like sentences when used, and as a result, users +intuitively know how to interact with them. + +The pattern to follow is +`APPNAME VERB NOUN --ADJECTIVE` + or +`APPNAME COMMAND ARG --FLAG`. + +A few good real world examples may better illustrate this point. + +In the following example, 'server' is a command, and 'port' is a flag: + + hugo server --port=1313 + +In this command we are telling Git to clone the url bare. + + git clone URL --bare + +## Commands + +Command is the central point of the application. Each interaction that +the application supports will be contained in a Command. A command can +have children commands and optionally run an action. + +In the example above, 'server' is the command. + +[More about cobra.Command](https://pkg.go.dev/github.com/spf13/cobra#Command) + +## Flags + +A flag is a way to modify the behavior of a command. Cobra supports +fully POSIX-compliant flags as well as the Go [flag package](https://golang.org/pkg/flag/). +A Cobra command can define flags that persist through to children commands +and flags that are only available to that command. + +In the example above, 'port' is the flag. + +Flag functionality is provided by the [pflag +library](https://github.com/spf13/pflag), a fork of the flag standard library +which maintains the same interface while adding POSIX compliance. + +# Installing +Using Cobra is easy. First, use `go get` to install the latest version +of the library. + +``` +go get -u github.com/spf13/cobra@latest +``` + +Next, include Cobra in your application: + +```go +import "github.com/spf13/cobra" +``` + +# Usage +`cobra-cli` is a command line program to generate cobra applications and command files. +It will bootstrap your application scaffolding to rapidly +develop a Cobra-based application. It is the easiest way to incorporate Cobra into your application. + +It can be installed by running: + +``` +go install github.com/spf13/cobra-cli@latest +``` + +For complete details on using the Cobra-CLI generator, please read [The Cobra Generator README](https://github.com/spf13/cobra-cli/blob/main/README.md) + +For complete details on using the Cobra library, please read the [The Cobra User Guide](site/content/user_guide.md). + +# License + +Cobra is released under the Apache 2.0 license. See [LICENSE.txt](LICENSE.txt) diff --git a/vendor/github.com/spf13/cobra/active_help.go b/vendor/github.com/spf13/cobra/active_help.go new file mode 100644 index 000000000..25c30e3cc --- /dev/null +++ b/vendor/github.com/spf13/cobra/active_help.go @@ -0,0 +1,60 @@ +// Copyright 2013-2023 The Cobra Authors +// +// 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 cobra + +import ( + "fmt" + "os" +) + +const ( + activeHelpMarker = "_activeHelp_ " + // The below values should not be changed: programs will be using them explicitly + // in their user documentation, and users will be using them explicitly. + activeHelpEnvVarSuffix = "ACTIVE_HELP" + activeHelpGlobalEnvVar = configEnvVarGlobalPrefix + "_" + activeHelpEnvVarSuffix + activeHelpGlobalDisable = "0" +) + +// AppendActiveHelp adds the specified string to the specified array to be used as ActiveHelp. +// Such strings will be processed by the completion script and will be shown as ActiveHelp +// to the user. +// The array parameter should be the array that will contain the completions. +// This function can be called multiple times before and/or after completions are added to +// the array. Each time this function is called with the same array, the new +// ActiveHelp line will be shown below the previous ones when completion is triggered. +func AppendActiveHelp(compArray []string, activeHelpStr string) []string { + return append(compArray, fmt.Sprintf("%s%s", activeHelpMarker, activeHelpStr)) +} + +// GetActiveHelpConfig returns the value of the ActiveHelp environment variable +// _ACTIVE_HELP where is the name of the root command in upper +// case, with all non-ASCII-alphanumeric characters replaced by `_`. +// It will always return "0" if the global environment variable COBRA_ACTIVE_HELP +// is set to "0". +func GetActiveHelpConfig(cmd *Command) string { + activeHelpCfg := os.Getenv(activeHelpGlobalEnvVar) + if activeHelpCfg != activeHelpGlobalDisable { + activeHelpCfg = os.Getenv(activeHelpEnvVar(cmd.Root().Name())) + } + return activeHelpCfg +} + +// activeHelpEnvVar returns the name of the program-specific ActiveHelp environment +// variable. It has the format _ACTIVE_HELP where is the name of the +// root command in upper case, with all non-ASCII-alphanumeric characters replaced by `_`. +func activeHelpEnvVar(name string) string { + return configEnvVar(name, activeHelpEnvVarSuffix) +} diff --git a/vendor/github.com/spf13/cobra/args.go b/vendor/github.com/spf13/cobra/args.go new file mode 100644 index 000000000..ed1e70cea --- /dev/null +++ b/vendor/github.com/spf13/cobra/args.go @@ -0,0 +1,131 @@ +// Copyright 2013-2023 The Cobra Authors +// +// 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 cobra + +import ( + "fmt" + "strings" +) + +type PositionalArgs func(cmd *Command, args []string) error + +// legacyArgs validation has the following behaviour: +// - root commands with no subcommands can take arbitrary arguments +// - root commands with subcommands will do subcommand validity checking +// - subcommands will always accept arbitrary arguments +func legacyArgs(cmd *Command, args []string) error { + // no subcommand, always take args + if !cmd.HasSubCommands() { + return nil + } + + // root command with subcommands, do subcommand checking. + if !cmd.HasParent() && len(args) > 0 { + return fmt.Errorf("unknown command %q for %q%s", args[0], cmd.CommandPath(), cmd.findSuggestions(args[0])) + } + return nil +} + +// NoArgs returns an error if any args are included. +func NoArgs(cmd *Command, args []string) error { + if len(args) > 0 { + return fmt.Errorf("unknown command %q for %q", args[0], cmd.CommandPath()) + } + return nil +} + +// OnlyValidArgs returns an error if there are any positional args that are not in +// the `ValidArgs` field of `Command` +func OnlyValidArgs(cmd *Command, args []string) error { + if len(cmd.ValidArgs) > 0 { + // Remove any description that may be included in ValidArgs. + // A description is following a tab character. + validArgs := make([]string, 0, len(cmd.ValidArgs)) + for _, v := range cmd.ValidArgs { + validArgs = append(validArgs, strings.SplitN(v, "\t", 2)[0]) + } + for _, v := range args { + if !stringInSlice(v, validArgs) { + return fmt.Errorf("invalid argument %q for %q%s", v, cmd.CommandPath(), cmd.findSuggestions(args[0])) + } + } + } + return nil +} + +// ArbitraryArgs never returns an error. +func ArbitraryArgs(cmd *Command, args []string) error { + return nil +} + +// MinimumNArgs returns an error if there is not at least N args. +func MinimumNArgs(n int) PositionalArgs { + return func(cmd *Command, args []string) error { + if len(args) < n { + return fmt.Errorf("requires at least %d arg(s), only received %d", n, len(args)) + } + return nil + } +} + +// MaximumNArgs returns an error if there are more than N args. +func MaximumNArgs(n int) PositionalArgs { + return func(cmd *Command, args []string) error { + if len(args) > n { + return fmt.Errorf("accepts at most %d arg(s), received %d", n, len(args)) + } + return nil + } +} + +// ExactArgs returns an error if there are not exactly n args. +func ExactArgs(n int) PositionalArgs { + return func(cmd *Command, args []string) error { + if len(args) != n { + return fmt.Errorf("accepts %d arg(s), received %d", n, len(args)) + } + return nil + } +} + +// RangeArgs returns an error if the number of args is not within the expected range. +func RangeArgs(min int, max int) PositionalArgs { + return func(cmd *Command, args []string) error { + if len(args) < min || len(args) > max { + return fmt.Errorf("accepts between %d and %d arg(s), received %d", min, max, len(args)) + } + return nil + } +} + +// MatchAll allows combining several PositionalArgs to work in concert. +func MatchAll(pargs ...PositionalArgs) PositionalArgs { + return func(cmd *Command, args []string) error { + for _, parg := range pargs { + if err := parg(cmd, args); err != nil { + return err + } + } + return nil + } +} + +// ExactValidArgs returns an error if there are not exactly N positional args OR +// there are any positional args that are not in the `ValidArgs` field of `Command` +// +// Deprecated: use MatchAll(ExactArgs(n), OnlyValidArgs) instead +func ExactValidArgs(n int) PositionalArgs { + return MatchAll(ExactArgs(n), OnlyValidArgs) +} diff --git a/vendor/github.com/spf13/cobra/bash_completions.go b/vendor/github.com/spf13/cobra/bash_completions.go new file mode 100644 index 000000000..f4d198cbc --- /dev/null +++ b/vendor/github.com/spf13/cobra/bash_completions.go @@ -0,0 +1,709 @@ +// Copyright 2013-2023 The Cobra Authors +// +// 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 cobra + +import ( + "bytes" + "fmt" + "io" + "os" + "sort" + "strings" + + "github.com/spf13/pflag" +) + +// Annotations for Bash completion. +const ( + BashCompFilenameExt = "cobra_annotation_bash_completion_filename_extensions" + BashCompCustom = "cobra_annotation_bash_completion_custom" + BashCompOneRequiredFlag = "cobra_annotation_bash_completion_one_required_flag" + BashCompSubdirsInDir = "cobra_annotation_bash_completion_subdirs_in_dir" +) + +func writePreamble(buf io.StringWriter, name string) { + WriteStringAndCheck(buf, fmt.Sprintf("# bash completion for %-36s -*- shell-script -*-\n", name)) + WriteStringAndCheck(buf, fmt.Sprintf(` +__%[1]s_debug() +{ + if [[ -n ${BASH_COMP_DEBUG_FILE:-} ]]; then + echo "$*" >> "${BASH_COMP_DEBUG_FILE}" + fi +} + +# Homebrew on Macs have version 1.3 of bash-completion which doesn't include +# _init_completion. This is a very minimal version of that function. +__%[1]s_init_completion() +{ + COMPREPLY=() + _get_comp_words_by_ref "$@" cur prev words cword +} + +__%[1]s_index_of_word() +{ + local w word=$1 + shift + index=0 + for w in "$@"; do + [[ $w = "$word" ]] && return + index=$((index+1)) + done + index=-1 +} + +__%[1]s_contains_word() +{ + local w word=$1; shift + for w in "$@"; do + [[ $w = "$word" ]] && return + done + return 1 +} + +__%[1]s_handle_go_custom_completion() +{ + __%[1]s_debug "${FUNCNAME[0]}: cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}" + + local shellCompDirectiveError=%[3]d + local shellCompDirectiveNoSpace=%[4]d + local shellCompDirectiveNoFileComp=%[5]d + local shellCompDirectiveFilterFileExt=%[6]d + local shellCompDirectiveFilterDirs=%[7]d + + local out requestComp lastParam lastChar comp directive args + + # Prepare the command to request completions for the program. + # Calling ${words[0]} instead of directly %[1]s allows handling aliases + args=("${words[@]:1}") + # Disable ActiveHelp which is not supported for bash completion v1 + requestComp="%[8]s=0 ${words[0]} %[2]s ${args[*]}" + + lastParam=${words[$((${#words[@]}-1))]} + lastChar=${lastParam:$((${#lastParam}-1)):1} + __%[1]s_debug "${FUNCNAME[0]}: lastParam ${lastParam}, lastChar ${lastChar}" + + if [ -z "${cur}" ] && [ "${lastChar}" != "=" ]; then + # If the last parameter is complete (there is a space following it) + # We add an extra empty parameter so we can indicate this to the go method. + __%[1]s_debug "${FUNCNAME[0]}: Adding extra empty parameter" + requestComp="${requestComp} \"\"" + fi + + __%[1]s_debug "${FUNCNAME[0]}: calling ${requestComp}" + # Use eval to handle any environment variables and such + out=$(eval "${requestComp}" 2>/dev/null) + + # Extract the directive integer at the very end of the output following a colon (:) + directive=${out##*:} + # Remove the directive + out=${out%%:*} + if [ "${directive}" = "${out}" ]; then + # There is not directive specified + directive=0 + fi + __%[1]s_debug "${FUNCNAME[0]}: the completion directive is: ${directive}" + __%[1]s_debug "${FUNCNAME[0]}: the completions are: ${out}" + + if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then + # Error code. No completion. + __%[1]s_debug "${FUNCNAME[0]}: received error from custom completion go code" + return + else + if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then + if [[ $(type -t compopt) = "builtin" ]]; then + __%[1]s_debug "${FUNCNAME[0]}: activating no space" + compopt -o nospace + fi + fi + if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then + if [[ $(type -t compopt) = "builtin" ]]; then + __%[1]s_debug "${FUNCNAME[0]}: activating no file completion" + compopt +o default + fi + fi + fi + + if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then + # File extension filtering + local fullFilter filter filteringCmd + # Do not use quotes around the $out variable or else newline + # characters will be kept. + for filter in ${out}; do + fullFilter+="$filter|" + done + + filteringCmd="_filedir $fullFilter" + __%[1]s_debug "File filtering command: $filteringCmd" + $filteringCmd + elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then + # File completion for directories only + local subdir + # Use printf to strip any trailing newline + subdir=$(printf "%%s" "${out}") + if [ -n "$subdir" ]; then + __%[1]s_debug "Listing directories in $subdir" + __%[1]s_handle_subdirs_in_dir_flag "$subdir" + else + __%[1]s_debug "Listing directories in ." + _filedir -d + fi + else + while IFS='' read -r comp; do + COMPREPLY+=("$comp") + done < <(compgen -W "${out}" -- "$cur") + fi +} + +__%[1]s_handle_reply() +{ + __%[1]s_debug "${FUNCNAME[0]}" + local comp + case $cur in + -*) + if [[ $(type -t compopt) = "builtin" ]]; then + compopt -o nospace + fi + local allflags + if [ ${#must_have_one_flag[@]} -ne 0 ]; then + allflags=("${must_have_one_flag[@]}") + else + allflags=("${flags[*]} ${two_word_flags[*]}") + fi + while IFS='' read -r comp; do + COMPREPLY+=("$comp") + done < <(compgen -W "${allflags[*]}" -- "$cur") + if [[ $(type -t compopt) = "builtin" ]]; then + [[ "${COMPREPLY[0]}" == *= ]] || compopt +o nospace + fi + + # complete after --flag=abc + if [[ $cur == *=* ]]; then + if [[ $(type -t compopt) = "builtin" ]]; then + compopt +o nospace + fi + + local index flag + flag="${cur%%=*}" + __%[1]s_index_of_word "${flag}" "${flags_with_completion[@]}" + COMPREPLY=() + if [[ ${index} -ge 0 ]]; then + PREFIX="" + cur="${cur#*=}" + ${flags_completion[${index}]} + if [ -n "${ZSH_VERSION:-}" ]; then + # zsh completion needs --flag= prefix + eval "COMPREPLY=( \"\${COMPREPLY[@]/#/${flag}=}\" )" + fi + fi + fi + + if [[ -z "${flag_parsing_disabled}" ]]; then + # If flag parsing is enabled, we have completed the flags and can return. + # If flag parsing is disabled, we may not know all (or any) of the flags, so we fallthrough + # to possibly call handle_go_custom_completion. + return 0; + fi + ;; + esac + + # check if we are handling a flag with special work handling + local index + __%[1]s_index_of_word "${prev}" "${flags_with_completion[@]}" + if [[ ${index} -ge 0 ]]; then + ${flags_completion[${index}]} + return + fi + + # we are parsing a flag and don't have a special handler, no completion + if [[ ${cur} != "${words[cword]}" ]]; then + return + fi + + local completions + completions=("${commands[@]}") + if [[ ${#must_have_one_noun[@]} -ne 0 ]]; then + completions+=("${must_have_one_noun[@]}") + elif [[ -n "${has_completion_function}" ]]; then + # if a go completion function is provided, defer to that function + __%[1]s_handle_go_custom_completion + fi + if [[ ${#must_have_one_flag[@]} -ne 0 ]]; then + completions+=("${must_have_one_flag[@]}") + fi + while IFS='' read -r comp; do + COMPREPLY+=("$comp") + done < <(compgen -W "${completions[*]}" -- "$cur") + + if [[ ${#COMPREPLY[@]} -eq 0 && ${#noun_aliases[@]} -gt 0 && ${#must_have_one_noun[@]} -ne 0 ]]; then + while IFS='' read -r comp; do + COMPREPLY+=("$comp") + done < <(compgen -W "${noun_aliases[*]}" -- "$cur") + fi + + if [[ ${#COMPREPLY[@]} -eq 0 ]]; then + if declare -F __%[1]s_custom_func >/dev/null; then + # try command name qualified custom func + __%[1]s_custom_func + else + # otherwise fall back to unqualified for compatibility + declare -F __custom_func >/dev/null && __custom_func + fi + fi + + # available in bash-completion >= 2, not always present on macOS + if declare -F __ltrim_colon_completions >/dev/null; then + __ltrim_colon_completions "$cur" + fi + + # If there is only 1 completion and it is a flag with an = it will be completed + # but we don't want a space after the = + if [[ "${#COMPREPLY[@]}" -eq "1" ]] && [[ $(type -t compopt) = "builtin" ]] && [[ "${COMPREPLY[0]}" == --*= ]]; then + compopt -o nospace + fi +} + +# The arguments should be in the form "ext1|ext2|extn" +__%[1]s_handle_filename_extension_flag() +{ + local ext="$1" + _filedir "@(${ext})" +} + +__%[1]s_handle_subdirs_in_dir_flag() +{ + local dir="$1" + pushd "${dir}" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return +} + +__%[1]s_handle_flag() +{ + __%[1]s_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}" + + # if a command required a flag, and we found it, unset must_have_one_flag() + local flagname=${words[c]} + local flagvalue="" + # if the word contained an = + if [[ ${words[c]} == *"="* ]]; then + flagvalue=${flagname#*=} # take in as flagvalue after the = + flagname=${flagname%%=*} # strip everything after the = + flagname="${flagname}=" # but put the = back + fi + __%[1]s_debug "${FUNCNAME[0]}: looking for ${flagname}" + if __%[1]s_contains_word "${flagname}" "${must_have_one_flag[@]}"; then + must_have_one_flag=() + fi + + # if you set a flag which only applies to this command, don't show subcommands + if __%[1]s_contains_word "${flagname}" "${local_nonpersistent_flags[@]}"; then + commands=() + fi + + # keep flag value with flagname as flaghash + # flaghash variable is an associative array which is only supported in bash > 3. + if [[ -z "${BASH_VERSION:-}" || "${BASH_VERSINFO[0]:-}" -gt 3 ]]; then + if [ -n "${flagvalue}" ] ; then + flaghash[${flagname}]=${flagvalue} + elif [ -n "${words[ $((c+1)) ]}" ] ; then + flaghash[${flagname}]=${words[ $((c+1)) ]} + else + flaghash[${flagname}]="true" # pad "true" for bool flag + fi + fi + + # skip the argument to a two word flag + if [[ ${words[c]} != *"="* ]] && __%[1]s_contains_word "${words[c]}" "${two_word_flags[@]}"; then + __%[1]s_debug "${FUNCNAME[0]}: found a flag ${words[c]}, skip the next argument" + c=$((c+1)) + # if we are looking for a flags value, don't show commands + if [[ $c -eq $cword ]]; then + commands=() + fi + fi + + c=$((c+1)) + +} + +__%[1]s_handle_noun() +{ + __%[1]s_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}" + + if __%[1]s_contains_word "${words[c]}" "${must_have_one_noun[@]}"; then + must_have_one_noun=() + elif __%[1]s_contains_word "${words[c]}" "${noun_aliases[@]}"; then + must_have_one_noun=() + fi + + nouns+=("${words[c]}") + c=$((c+1)) +} + +__%[1]s_handle_command() +{ + __%[1]s_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}" + + local next_command + if [[ -n ${last_command} ]]; then + next_command="_${last_command}_${words[c]//:/__}" + else + if [[ $c -eq 0 ]]; then + next_command="_%[1]s_root_command" + else + next_command="_${words[c]//:/__}" + fi + fi + c=$((c+1)) + __%[1]s_debug "${FUNCNAME[0]}: looking for ${next_command}" + declare -F "$next_command" >/dev/null && $next_command +} + +__%[1]s_handle_word() +{ + if [[ $c -ge $cword ]]; then + __%[1]s_handle_reply + return + fi + __%[1]s_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}" + if [[ "${words[c]}" == -* ]]; then + __%[1]s_handle_flag + elif __%[1]s_contains_word "${words[c]}" "${commands[@]}"; then + __%[1]s_handle_command + elif [[ $c -eq 0 ]]; then + __%[1]s_handle_command + elif __%[1]s_contains_word "${words[c]}" "${command_aliases[@]}"; then + # aliashash variable is an associative array which is only supported in bash > 3. + if [[ -z "${BASH_VERSION:-}" || "${BASH_VERSINFO[0]:-}" -gt 3 ]]; then + words[c]=${aliashash[${words[c]}]} + __%[1]s_handle_command + else + __%[1]s_handle_noun + fi + else + __%[1]s_handle_noun + fi + __%[1]s_handle_word +} + +`, name, ShellCompNoDescRequestCmd, + ShellCompDirectiveError, ShellCompDirectiveNoSpace, ShellCompDirectiveNoFileComp, + ShellCompDirectiveFilterFileExt, ShellCompDirectiveFilterDirs, activeHelpEnvVar(name))) +} + +func writePostscript(buf io.StringWriter, name string) { + name = strings.ReplaceAll(name, ":", "__") + WriteStringAndCheck(buf, fmt.Sprintf("__start_%s()\n", name)) + WriteStringAndCheck(buf, fmt.Sprintf(`{ + local cur prev words cword split + declare -A flaghash 2>/dev/null || : + declare -A aliashash 2>/dev/null || : + if declare -F _init_completion >/dev/null 2>&1; then + _init_completion -s || return + else + __%[1]s_init_completion -n "=" || return + fi + + local c=0 + local flag_parsing_disabled= + local flags=() + local two_word_flags=() + local local_nonpersistent_flags=() + local flags_with_completion=() + local flags_completion=() + local commands=("%[1]s") + local command_aliases=() + local must_have_one_flag=() + local must_have_one_noun=() + local has_completion_function="" + local last_command="" + local nouns=() + local noun_aliases=() + + __%[1]s_handle_word +} + +`, name)) + WriteStringAndCheck(buf, fmt.Sprintf(`if [[ $(type -t compopt) = "builtin" ]]; then + complete -o default -F __start_%s %s +else + complete -o default -o nospace -F __start_%s %s +fi + +`, name, name, name, name)) + WriteStringAndCheck(buf, "# ex: ts=4 sw=4 et filetype=sh\n") +} + +func writeCommands(buf io.StringWriter, cmd *Command) { + WriteStringAndCheck(buf, " commands=()\n") + for _, c := range cmd.Commands() { + if !c.IsAvailableCommand() && c != cmd.helpCommand { + continue + } + WriteStringAndCheck(buf, fmt.Sprintf(" commands+=(%q)\n", c.Name())) + writeCmdAliases(buf, c) + } + WriteStringAndCheck(buf, "\n") +} + +func writeFlagHandler(buf io.StringWriter, name string, annotations map[string][]string, cmd *Command) { + for key, value := range annotations { + switch key { + case BashCompFilenameExt: + WriteStringAndCheck(buf, fmt.Sprintf(" flags_with_completion+=(%q)\n", name)) + + var ext string + if len(value) > 0 { + ext = fmt.Sprintf("__%s_handle_filename_extension_flag ", cmd.Root().Name()) + strings.Join(value, "|") + } else { + ext = "_filedir" + } + WriteStringAndCheck(buf, fmt.Sprintf(" flags_completion+=(%q)\n", ext)) + case BashCompCustom: + WriteStringAndCheck(buf, fmt.Sprintf(" flags_with_completion+=(%q)\n", name)) + + if len(value) > 0 { + handlers := strings.Join(value, "; ") + WriteStringAndCheck(buf, fmt.Sprintf(" flags_completion+=(%q)\n", handlers)) + } else { + WriteStringAndCheck(buf, " flags_completion+=(:)\n") + } + case BashCompSubdirsInDir: + WriteStringAndCheck(buf, fmt.Sprintf(" flags_with_completion+=(%q)\n", name)) + + var ext string + if len(value) == 1 { + ext = fmt.Sprintf("__%s_handle_subdirs_in_dir_flag ", cmd.Root().Name()) + value[0] + } else { + ext = "_filedir -d" + } + WriteStringAndCheck(buf, fmt.Sprintf(" flags_completion+=(%q)\n", ext)) + } + } +} + +const cbn = "\")\n" + +func writeShortFlag(buf io.StringWriter, flag *pflag.Flag, cmd *Command) { + name := flag.Shorthand + format := " " + if len(flag.NoOptDefVal) == 0 { + format += "two_word_" + } + format += "flags+=(\"-%s" + cbn + WriteStringAndCheck(buf, fmt.Sprintf(format, name)) + writeFlagHandler(buf, "-"+name, flag.Annotations, cmd) +} + +func writeFlag(buf io.StringWriter, flag *pflag.Flag, cmd *Command) { + name := flag.Name + format := " flags+=(\"--%s" + if len(flag.NoOptDefVal) == 0 { + format += "=" + } + format += cbn + WriteStringAndCheck(buf, fmt.Sprintf(format, name)) + if len(flag.NoOptDefVal) == 0 { + format = " two_word_flags+=(\"--%s" + cbn + WriteStringAndCheck(buf, fmt.Sprintf(format, name)) + } + writeFlagHandler(buf, "--"+name, flag.Annotations, cmd) +} + +func writeLocalNonPersistentFlag(buf io.StringWriter, flag *pflag.Flag) { + name := flag.Name + format := " local_nonpersistent_flags+=(\"--%[1]s" + cbn + if len(flag.NoOptDefVal) == 0 { + format += " local_nonpersistent_flags+=(\"--%[1]s=" + cbn + } + WriteStringAndCheck(buf, fmt.Sprintf(format, name)) + if len(flag.Shorthand) > 0 { + WriteStringAndCheck(buf, fmt.Sprintf(" local_nonpersistent_flags+=(\"-%s\")\n", flag.Shorthand)) + } +} + +// prepareCustomAnnotationsForFlags setup annotations for go completions for registered flags +func prepareCustomAnnotationsForFlags(cmd *Command) { + flagCompletionMutex.RLock() + defer flagCompletionMutex.RUnlock() + for flag := range flagCompletionFunctions { + // Make sure the completion script calls the __*_go_custom_completion function for + // every registered flag. We need to do this here (and not when the flag was registered + // for completion) so that we can know the root command name for the prefix + // of ___go_custom_completion + if flag.Annotations == nil { + flag.Annotations = map[string][]string{} + } + flag.Annotations[BashCompCustom] = []string{fmt.Sprintf("__%[1]s_handle_go_custom_completion", cmd.Root().Name())} + } +} + +func writeFlags(buf io.StringWriter, cmd *Command) { + prepareCustomAnnotationsForFlags(cmd) + WriteStringAndCheck(buf, ` flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + +`) + + if cmd.DisableFlagParsing { + WriteStringAndCheck(buf, " flag_parsing_disabled=1\n") + } + + localNonPersistentFlags := cmd.LocalNonPersistentFlags() + cmd.NonInheritedFlags().VisitAll(func(flag *pflag.Flag) { + if nonCompletableFlag(flag) { + return + } + writeFlag(buf, flag, cmd) + if len(flag.Shorthand) > 0 { + writeShortFlag(buf, flag, cmd) + } + // localNonPersistentFlags are used to stop the completion of subcommands when one is set + // if TraverseChildren is true we should allow to complete subcommands + if localNonPersistentFlags.Lookup(flag.Name) != nil && !cmd.Root().TraverseChildren { + writeLocalNonPersistentFlag(buf, flag) + } + }) + cmd.InheritedFlags().VisitAll(func(flag *pflag.Flag) { + if nonCompletableFlag(flag) { + return + } + writeFlag(buf, flag, cmd) + if len(flag.Shorthand) > 0 { + writeShortFlag(buf, flag, cmd) + } + }) + + WriteStringAndCheck(buf, "\n") +} + +func writeRequiredFlag(buf io.StringWriter, cmd *Command) { + WriteStringAndCheck(buf, " must_have_one_flag=()\n") + flags := cmd.NonInheritedFlags() + flags.VisitAll(func(flag *pflag.Flag) { + if nonCompletableFlag(flag) { + return + } + if _, ok := flag.Annotations[BashCompOneRequiredFlag]; ok { + format := " must_have_one_flag+=(\"--%s" + if flag.Value.Type() != "bool" { + format += "=" + } + format += cbn + WriteStringAndCheck(buf, fmt.Sprintf(format, flag.Name)) + + if len(flag.Shorthand) > 0 { + WriteStringAndCheck(buf, fmt.Sprintf(" must_have_one_flag+=(\"-%s"+cbn, flag.Shorthand)) + } + } + }) +} + +func writeRequiredNouns(buf io.StringWriter, cmd *Command) { + WriteStringAndCheck(buf, " must_have_one_noun=()\n") + sort.Strings(cmd.ValidArgs) + for _, value := range cmd.ValidArgs { + // Remove any description that may be included following a tab character. + // Descriptions are not supported by bash completion. + value = strings.SplitN(value, "\t", 2)[0] + WriteStringAndCheck(buf, fmt.Sprintf(" must_have_one_noun+=(%q)\n", value)) + } + if cmd.ValidArgsFunction != nil { + WriteStringAndCheck(buf, " has_completion_function=1\n") + } +} + +func writeCmdAliases(buf io.StringWriter, cmd *Command) { + if len(cmd.Aliases) == 0 { + return + } + + sort.Strings(cmd.Aliases) + + WriteStringAndCheck(buf, fmt.Sprint(` if [[ -z "${BASH_VERSION:-}" || "${BASH_VERSINFO[0]:-}" -gt 3 ]]; then`, "\n")) + for _, value := range cmd.Aliases { + WriteStringAndCheck(buf, fmt.Sprintf(" command_aliases+=(%q)\n", value)) + WriteStringAndCheck(buf, fmt.Sprintf(" aliashash[%q]=%q\n", value, cmd.Name())) + } + WriteStringAndCheck(buf, ` fi`) + WriteStringAndCheck(buf, "\n") +} +func writeArgAliases(buf io.StringWriter, cmd *Command) { + WriteStringAndCheck(buf, " noun_aliases=()\n") + sort.Strings(cmd.ArgAliases) + for _, value := range cmd.ArgAliases { + WriteStringAndCheck(buf, fmt.Sprintf(" noun_aliases+=(%q)\n", value)) + } +} + +func gen(buf io.StringWriter, cmd *Command) { + for _, c := range cmd.Commands() { + if !c.IsAvailableCommand() && c != cmd.helpCommand { + continue + } + gen(buf, c) + } + commandName := cmd.CommandPath() + commandName = strings.ReplaceAll(commandName, " ", "_") + commandName = strings.ReplaceAll(commandName, ":", "__") + + if cmd.Root() == cmd { + WriteStringAndCheck(buf, fmt.Sprintf("_%s_root_command()\n{\n", commandName)) + } else { + WriteStringAndCheck(buf, fmt.Sprintf("_%s()\n{\n", commandName)) + } + + WriteStringAndCheck(buf, fmt.Sprintf(" last_command=%q\n", commandName)) + WriteStringAndCheck(buf, "\n") + WriteStringAndCheck(buf, " command_aliases=()\n") + WriteStringAndCheck(buf, "\n") + + writeCommands(buf, cmd) + writeFlags(buf, cmd) + writeRequiredFlag(buf, cmd) + writeRequiredNouns(buf, cmd) + writeArgAliases(buf, cmd) + WriteStringAndCheck(buf, "}\n\n") +} + +// GenBashCompletion generates bash completion file and writes to the passed writer. +func (c *Command) GenBashCompletion(w io.Writer) error { + buf := new(bytes.Buffer) + writePreamble(buf, c.Name()) + if len(c.BashCompletionFunction) > 0 { + buf.WriteString(c.BashCompletionFunction + "\n") + } + gen(buf, c) + writePostscript(buf, c.Name()) + + _, err := buf.WriteTo(w) + return err +} + +func nonCompletableFlag(flag *pflag.Flag) bool { + return flag.Hidden || len(flag.Deprecated) > 0 +} + +// GenBashCompletionFile generates bash completion file. +func (c *Command) GenBashCompletionFile(filename string) error { + outFile, err := os.Create(filename) + if err != nil { + return err + } + defer outFile.Close() + + return c.GenBashCompletion(outFile) +} diff --git a/vendor/github.com/spf13/cobra/bash_completionsV2.go b/vendor/github.com/spf13/cobra/bash_completionsV2.go new file mode 100644 index 000000000..1cce5c329 --- /dev/null +++ b/vendor/github.com/spf13/cobra/bash_completionsV2.go @@ -0,0 +1,396 @@ +// Copyright 2013-2023 The Cobra Authors +// +// 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 cobra + +import ( + "bytes" + "fmt" + "io" + "os" +) + +func (c *Command) genBashCompletion(w io.Writer, includeDesc bool) error { + buf := new(bytes.Buffer) + genBashComp(buf, c.Name(), includeDesc) + _, err := buf.WriteTo(w) + return err +} + +func genBashComp(buf io.StringWriter, name string, includeDesc bool) { + compCmd := ShellCompRequestCmd + if !includeDesc { + compCmd = ShellCompNoDescRequestCmd + } + + WriteStringAndCheck(buf, fmt.Sprintf(`# bash completion V2 for %-36[1]s -*- shell-script -*- + +__%[1]s_debug() +{ + if [[ -n ${BASH_COMP_DEBUG_FILE-} ]]; then + echo "$*" >> "${BASH_COMP_DEBUG_FILE}" + fi +} + +# Macs have bash3 for which the bash-completion package doesn't include +# _init_completion. This is a minimal version of that function. +__%[1]s_init_completion() +{ + COMPREPLY=() + _get_comp_words_by_ref "$@" cur prev words cword +} + +# This function calls the %[1]s program to obtain the completion +# results and the directive. It fills the 'out' and 'directive' vars. +__%[1]s_get_completion_results() { + local requestComp lastParam lastChar args + + # Prepare the command to request completions for the program. + # Calling ${words[0]} instead of directly %[1]s allows handling aliases + args=("${words[@]:1}") + requestComp="${words[0]} %[2]s ${args[*]}" + + lastParam=${words[$((${#words[@]}-1))]} + lastChar=${lastParam:$((${#lastParam}-1)):1} + __%[1]s_debug "lastParam ${lastParam}, lastChar ${lastChar}" + + if [[ -z ${cur} && ${lastChar} != = ]]; then + # If the last parameter is complete (there is a space following it) + # We add an extra empty parameter so we can indicate this to the go method. + __%[1]s_debug "Adding extra empty parameter" + requestComp="${requestComp} ''" + fi + + # When completing a flag with an = (e.g., %[1]s -n=) + # bash focuses on the part after the =, so we need to remove + # the flag part from $cur + if [[ ${cur} == -*=* ]]; then + cur="${cur#*=}" + fi + + __%[1]s_debug "Calling ${requestComp}" + # Use eval to handle any environment variables and such + out=$(eval "${requestComp}" 2>/dev/null) + + # Extract the directive integer at the very end of the output following a colon (:) + directive=${out##*:} + # Remove the directive + out=${out%%:*} + if [[ ${directive} == "${out}" ]]; then + # There is not directive specified + directive=0 + fi + __%[1]s_debug "The completion directive is: ${directive}" + __%[1]s_debug "The completions are: ${out}" +} + +__%[1]s_process_completion_results() { + local shellCompDirectiveError=%[3]d + local shellCompDirectiveNoSpace=%[4]d + local shellCompDirectiveNoFileComp=%[5]d + local shellCompDirectiveFilterFileExt=%[6]d + local shellCompDirectiveFilterDirs=%[7]d + local shellCompDirectiveKeepOrder=%[8]d + + if (((directive & shellCompDirectiveError) != 0)); then + # Error code. No completion. + __%[1]s_debug "Received error from custom completion go code" + return + else + if (((directive & shellCompDirectiveNoSpace) != 0)); then + if [[ $(type -t compopt) == builtin ]]; then + __%[1]s_debug "Activating no space" + compopt -o nospace + else + __%[1]s_debug "No space directive not supported in this version of bash" + fi + fi + if (((directive & shellCompDirectiveKeepOrder) != 0)); then + if [[ $(type -t compopt) == builtin ]]; then + # no sort isn't supported for bash less than < 4.4 + if [[ ${BASH_VERSINFO[0]} -lt 4 || ( ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 4 ) ]]; then + __%[1]s_debug "No sort directive not supported in this version of bash" + else + __%[1]s_debug "Activating keep order" + compopt -o nosort + fi + else + __%[1]s_debug "No sort directive not supported in this version of bash" + fi + fi + if (((directive & shellCompDirectiveNoFileComp) != 0)); then + if [[ $(type -t compopt) == builtin ]]; then + __%[1]s_debug "Activating no file completion" + compopt +o default + else + __%[1]s_debug "No file completion directive not supported in this version of bash" + fi + fi + fi + + # Separate activeHelp from normal completions + local completions=() + local activeHelp=() + __%[1]s_extract_activeHelp + + if (((directive & shellCompDirectiveFilterFileExt) != 0)); then + # File extension filtering + local fullFilter filter filteringCmd + + # Do not use quotes around the $completions variable or else newline + # characters will be kept. + for filter in ${completions[*]}; do + fullFilter+="$filter|" + done + + filteringCmd="_filedir $fullFilter" + __%[1]s_debug "File filtering command: $filteringCmd" + $filteringCmd + elif (((directive & shellCompDirectiveFilterDirs) != 0)); then + # File completion for directories only + + local subdir + subdir=${completions[0]} + if [[ -n $subdir ]]; then + __%[1]s_debug "Listing directories in $subdir" + pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return + else + __%[1]s_debug "Listing directories in ." + _filedir -d + fi + else + __%[1]s_handle_completion_types + fi + + __%[1]s_handle_special_char "$cur" : + __%[1]s_handle_special_char "$cur" = + + # Print the activeHelp statements before we finish + if ((${#activeHelp[*]} != 0)); then + printf "\n"; + printf "%%s\n" "${activeHelp[@]}" + printf "\n" + + # The prompt format is only available from bash 4.4. + # We test if it is available before using it. + if (x=${PS1@P}) 2> /dev/null; then + printf "%%s" "${PS1@P}${COMP_LINE[@]}" + else + # Can't print the prompt. Just print the + # text the user had typed, it is workable enough. + printf "%%s" "${COMP_LINE[@]}" + fi + fi +} + +# Separate activeHelp lines from real completions. +# Fills the $activeHelp and $completions arrays. +__%[1]s_extract_activeHelp() { + local activeHelpMarker="%[9]s" + local endIndex=${#activeHelpMarker} + + while IFS='' read -r comp; do + if [[ ${comp:0:endIndex} == $activeHelpMarker ]]; then + comp=${comp:endIndex} + __%[1]s_debug "ActiveHelp found: $comp" + if [[ -n $comp ]]; then + activeHelp+=("$comp") + fi + else + # Not an activeHelp line but a normal completion + completions+=("$comp") + fi + done <<<"${out}" +} + +__%[1]s_handle_completion_types() { + __%[1]s_debug "__%[1]s_handle_completion_types: COMP_TYPE is $COMP_TYPE" + + case $COMP_TYPE in + 37|42) + # Type: menu-complete/menu-complete-backward and insert-completions + # If the user requested inserting one completion at a time, or all + # completions at once on the command-line we must remove the descriptions. + # https://github.com/spf13/cobra/issues/1508 + local tab=$'\t' comp + while IFS='' read -r comp; do + [[ -z $comp ]] && continue + # Strip any description + comp=${comp%%%%$tab*} + # Only consider the completions that match + if [[ $comp == "$cur"* ]]; then + COMPREPLY+=("$comp") + fi + done < <(printf "%%s\n" "${completions[@]}") + ;; + + *) + # Type: complete (normal completion) + __%[1]s_handle_standard_completion_case + ;; + esac +} + +__%[1]s_handle_standard_completion_case() { + local tab=$'\t' comp + + # Short circuit to optimize if we don't have descriptions + if [[ "${completions[*]}" != *$tab* ]]; then + IFS=$'\n' read -ra COMPREPLY -d '' < <(compgen -W "${completions[*]}" -- "$cur") + return 0 + fi + + local longest=0 + local compline + # Look for the longest completion so that we can format things nicely + while IFS='' read -r compline; do + [[ -z $compline ]] && continue + # Strip any description before checking the length + comp=${compline%%%%$tab*} + # Only consider the completions that match + [[ $comp == "$cur"* ]] || continue + COMPREPLY+=("$compline") + if ((${#comp}>longest)); then + longest=${#comp} + fi + done < <(printf "%%s\n" "${completions[@]}") + + # If there is a single completion left, remove the description text + if ((${#COMPREPLY[*]} == 1)); then + __%[1]s_debug "COMPREPLY[0]: ${COMPREPLY[0]}" + comp="${COMPREPLY[0]%%%%$tab*}" + __%[1]s_debug "Removed description from single completion, which is now: ${comp}" + COMPREPLY[0]=$comp + else # Format the descriptions + __%[1]s_format_comp_descriptions $longest + fi +} + +__%[1]s_handle_special_char() +{ + local comp="$1" + local char=$2 + if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then + local word=${comp%%"${comp##*${char}}"} + local idx=${#COMPREPLY[*]} + while ((--idx >= 0)); do + COMPREPLY[idx]=${COMPREPLY[idx]#"$word"} + done + fi +} + +__%[1]s_format_comp_descriptions() +{ + local tab=$'\t' + local comp desc maxdesclength + local longest=$1 + + local i ci + for ci in ${!COMPREPLY[*]}; do + comp=${COMPREPLY[ci]} + # Properly format the description string which follows a tab character if there is one + if [[ "$comp" == *$tab* ]]; then + __%[1]s_debug "Original comp: $comp" + desc=${comp#*$tab} + comp=${comp%%%%$tab*} + + # $COLUMNS stores the current shell width. + # Remove an extra 4 because we add 2 spaces and 2 parentheses. + maxdesclength=$(( COLUMNS - longest - 4 )) + + # Make sure we can fit a description of at least 8 characters + # if we are to align the descriptions. + if ((maxdesclength > 8)); then + # Add the proper number of spaces to align the descriptions + for ((i = ${#comp} ; i < longest ; i++)); do + comp+=" " + done + else + # Don't pad the descriptions so we can fit more text after the completion + maxdesclength=$(( COLUMNS - ${#comp} - 4 )) + fi + + # If there is enough space for any description text, + # truncate the descriptions that are too long for the shell width + if ((maxdesclength > 0)); then + if ((${#desc} > maxdesclength)); then + desc=${desc:0:$(( maxdesclength - 1 ))} + desc+="…" + fi + comp+=" ($desc)" + fi + COMPREPLY[ci]=$comp + __%[1]s_debug "Final comp: $comp" + fi + done +} + +__start_%[1]s() +{ + local cur prev words cword split + + COMPREPLY=() + + # Call _init_completion from the bash-completion package + # to prepare the arguments properly + if declare -F _init_completion >/dev/null 2>&1; then + _init_completion -n =: || return + else + __%[1]s_init_completion -n =: || return + fi + + __%[1]s_debug + __%[1]s_debug "========= starting completion logic ==========" + __%[1]s_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" + + # The user could have moved the cursor backwards on the command-line. + # We need to trigger completion from the $cword location, so we need + # to truncate the command-line ($words) up to the $cword location. + words=("${words[@]:0:$cword+1}") + __%[1]s_debug "Truncated words[*]: ${words[*]}," + + local out directive + __%[1]s_get_completion_results + __%[1]s_process_completion_results +} + +if [[ $(type -t compopt) = "builtin" ]]; then + complete -o default -F __start_%[1]s %[1]s +else + complete -o default -o nospace -F __start_%[1]s %[1]s +fi + +# ex: ts=4 sw=4 et filetype=sh +`, name, compCmd, + ShellCompDirectiveError, ShellCompDirectiveNoSpace, ShellCompDirectiveNoFileComp, + ShellCompDirectiveFilterFileExt, ShellCompDirectiveFilterDirs, ShellCompDirectiveKeepOrder, + activeHelpMarker)) +} + +// GenBashCompletionFileV2 generates Bash completion version 2. +func (c *Command) GenBashCompletionFileV2(filename string, includeDesc bool) error { + outFile, err := os.Create(filename) + if err != nil { + return err + } + defer outFile.Close() + + return c.GenBashCompletionV2(outFile, includeDesc) +} + +// GenBashCompletionV2 generates Bash completion file version 2 +// and writes it to the passed writer. +func (c *Command) GenBashCompletionV2(w io.Writer, includeDesc bool) error { + return c.genBashCompletion(w, includeDesc) +} diff --git a/vendor/github.com/spf13/cobra/cobra.go b/vendor/github.com/spf13/cobra/cobra.go new file mode 100644 index 000000000..e0b0947b0 --- /dev/null +++ b/vendor/github.com/spf13/cobra/cobra.go @@ -0,0 +1,242 @@ +// Copyright 2013-2023 The Cobra Authors +// +// 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. + +// Commands similar to git, go tools and other modern CLI tools +// inspired by go, go-Commander, gh and subcommand + +package cobra + +import ( + "fmt" + "io" + "os" + "reflect" + "strconv" + "strings" + "text/template" + "time" + "unicode" +) + +var templateFuncs = template.FuncMap{ + "trim": strings.TrimSpace, + "trimRightSpace": trimRightSpace, + "trimTrailingWhitespaces": trimRightSpace, + "appendIfNotPresent": appendIfNotPresent, + "rpad": rpad, + "gt": Gt, + "eq": Eq, +} + +var initializers []func() +var finalizers []func() + +const ( + defaultPrefixMatching = false + defaultCommandSorting = true + defaultCaseInsensitive = false + defaultTraverseRunHooks = false +) + +// EnablePrefixMatching allows setting automatic prefix matching. Automatic prefix matching can be a dangerous thing +// to automatically enable in CLI tools. +// Set this to true to enable it. +var EnablePrefixMatching = defaultPrefixMatching + +// EnableCommandSorting controls sorting of the slice of commands, which is turned on by default. +// To disable sorting, set it to false. +var EnableCommandSorting = defaultCommandSorting + +// EnableCaseInsensitive allows case-insensitive commands names. (case sensitive by default) +var EnableCaseInsensitive = defaultCaseInsensitive + +// EnableTraverseRunHooks executes persistent pre-run and post-run hooks from all parents. +// By default this is disabled, which means only the first run hook to be found is executed. +var EnableTraverseRunHooks = defaultTraverseRunHooks + +// MousetrapHelpText enables an information splash screen on Windows +// if the CLI is started from explorer.exe. +// To disable the mousetrap, just set this variable to blank string (""). +// Works only on Microsoft Windows. +var MousetrapHelpText = `This is a command line tool. + +You need to open cmd.exe and run it from there. +` + +// MousetrapDisplayDuration controls how long the MousetrapHelpText message is displayed on Windows +// if the CLI is started from explorer.exe. Set to 0 to wait for the return key to be pressed. +// To disable the mousetrap, just set MousetrapHelpText to blank string (""). +// Works only on Microsoft Windows. +var MousetrapDisplayDuration = 5 * time.Second + +// AddTemplateFunc adds a template function that's available to Usage and Help +// template generation. +func AddTemplateFunc(name string, tmplFunc interface{}) { + templateFuncs[name] = tmplFunc +} + +// AddTemplateFuncs adds multiple template functions that are available to Usage and +// Help template generation. +func AddTemplateFuncs(tmplFuncs template.FuncMap) { + for k, v := range tmplFuncs { + templateFuncs[k] = v + } +} + +// OnInitialize sets the passed functions to be run when each command's +// Execute method is called. +func OnInitialize(y ...func()) { + initializers = append(initializers, y...) +} + +// OnFinalize sets the passed functions to be run when each command's +// Execute method is terminated. +func OnFinalize(y ...func()) { + finalizers = append(finalizers, y...) +} + +// FIXME Gt is unused by cobra and should be removed in a version 2. It exists only for compatibility with users of cobra. + +// Gt takes two types and checks whether the first type is greater than the second. In case of types Arrays, Chans, +// Maps and Slices, Gt will compare their lengths. Ints are compared directly while strings are first parsed as +// ints and then compared. +func Gt(a interface{}, b interface{}) bool { + var left, right int64 + av := reflect.ValueOf(a) + + switch av.Kind() { + case reflect.Array, reflect.Chan, reflect.Map, reflect.Slice: + left = int64(av.Len()) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + left = av.Int() + case reflect.String: + left, _ = strconv.ParseInt(av.String(), 10, 64) + } + + bv := reflect.ValueOf(b) + + switch bv.Kind() { + case reflect.Array, reflect.Chan, reflect.Map, reflect.Slice: + right = int64(bv.Len()) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + right = bv.Int() + case reflect.String: + right, _ = strconv.ParseInt(bv.String(), 10, 64) + } + + return left > right +} + +// FIXME Eq is unused by cobra and should be removed in a version 2. It exists only for compatibility with users of cobra. + +// Eq takes two types and checks whether they are equal. Supported types are int and string. Unsupported types will panic. +func Eq(a interface{}, b interface{}) bool { + av := reflect.ValueOf(a) + bv := reflect.ValueOf(b) + + switch av.Kind() { + case reflect.Array, reflect.Chan, reflect.Map, reflect.Slice: + panic("Eq called on unsupported type") + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return av.Int() == bv.Int() + case reflect.String: + return av.String() == bv.String() + } + return false +} + +func trimRightSpace(s string) string { + return strings.TrimRightFunc(s, unicode.IsSpace) +} + +// FIXME appendIfNotPresent is unused by cobra and should be removed in a version 2. It exists only for compatibility with users of cobra. + +// appendIfNotPresent will append stringToAppend to the end of s, but only if it's not yet present in s. +func appendIfNotPresent(s, stringToAppend string) string { + if strings.Contains(s, stringToAppend) { + return s + } + return s + " " + stringToAppend +} + +// rpad adds padding to the right of a string. +func rpad(s string, padding int) string { + formattedString := fmt.Sprintf("%%-%ds", padding) + return fmt.Sprintf(formattedString, s) +} + +// tmpl executes the given template text on data, writing the result to w. +func tmpl(w io.Writer, text string, data interface{}) error { + t := template.New("top") + t.Funcs(templateFuncs) + template.Must(t.Parse(text)) + return t.Execute(w, data) +} + +// ld compares two strings and returns the levenshtein distance between them. +func ld(s, t string, ignoreCase bool) int { + if ignoreCase { + s = strings.ToLower(s) + t = strings.ToLower(t) + } + d := make([][]int, len(s)+1) + for i := range d { + d[i] = make([]int, len(t)+1) + d[i][0] = i + } + for j := range d[0] { + d[0][j] = j + } + for j := 1; j <= len(t); j++ { + for i := 1; i <= len(s); i++ { + if s[i-1] == t[j-1] { + d[i][j] = d[i-1][j-1] + } else { + min := d[i-1][j] + if d[i][j-1] < min { + min = d[i][j-1] + } + if d[i-1][j-1] < min { + min = d[i-1][j-1] + } + d[i][j] = min + 1 + } + } + + } + return d[len(s)][len(t)] +} + +func stringInSlice(a string, list []string) bool { + for _, b := range list { + if b == a { + return true + } + } + return false +} + +// CheckErr prints the msg with the prefix 'Error:' and exits with error code 1. If the msg is nil, it does nothing. +func CheckErr(msg interface{}) { + if msg != nil { + fmt.Fprintln(os.Stderr, "Error:", msg) + os.Exit(1) + } +} + +// WriteStringAndCheck writes a string into a buffer, and checks if the error is not nil. +func WriteStringAndCheck(b io.StringWriter, s string) { + _, err := b.WriteString(s) + CheckErr(err) +} diff --git a/vendor/github.com/spf13/cobra/command.go b/vendor/github.com/spf13/cobra/command.go new file mode 100644 index 000000000..54748fc67 --- /dev/null +++ b/vendor/github.com/spf13/cobra/command.go @@ -0,0 +1,1896 @@ +// Copyright 2013-2023 The Cobra Authors +// +// 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 cobra is a commander providing a simple interface to create powerful modern CLI interfaces. +// In addition to providing an interface, Cobra simultaneously provides a controller to organize your application code. +package cobra + +import ( + "bytes" + "context" + "errors" + "fmt" + "io" + "os" + "path/filepath" + "sort" + "strings" + + flag "github.com/spf13/pflag" +) + +const ( + FlagSetByCobraAnnotation = "cobra_annotation_flag_set_by_cobra" + CommandDisplayNameAnnotation = "cobra_annotation_command_display_name" +) + +// FParseErrWhitelist configures Flag parse errors to be ignored +type FParseErrWhitelist flag.ParseErrorsWhitelist + +// Group Structure to manage groups for commands +type Group struct { + ID string + Title string +} + +// Command is just that, a command for your application. +// E.g. 'go run ...' - 'run' is the command. Cobra requires +// you to define the usage and description as part of your command +// definition to ensure usability. +type Command struct { + // Use is the one-line usage message. + // Recommended syntax is as follows: + // [ ] identifies an optional argument. Arguments that are not enclosed in brackets are required. + // ... indicates that you can specify multiple values for the previous argument. + // | indicates mutually exclusive information. You can use the argument to the left of the separator or the + // argument to the right of the separator. You cannot use both arguments in a single use of the command. + // { } delimits a set of mutually exclusive arguments when one of the arguments is required. If the arguments are + // optional, they are enclosed in brackets ([ ]). + // Example: add [-F file | -D dir]... [-f format] profile + Use string + + // Aliases is an array of aliases that can be used instead of the first word in Use. + Aliases []string + + // SuggestFor is an array of command names for which this command will be suggested - + // similar to aliases but only suggests. + SuggestFor []string + + // Short is the short description shown in the 'help' output. + Short string + + // The group id under which this subcommand is grouped in the 'help' output of its parent. + GroupID string + + // Long is the long message shown in the 'help ' output. + Long string + + // Example is examples of how to use the command. + Example string + + // ValidArgs is list of all valid non-flag arguments that are accepted in shell completions + ValidArgs []string + // ValidArgsFunction is an optional function that provides valid non-flag arguments for shell completion. + // It is a dynamic version of using ValidArgs. + // Only one of ValidArgs and ValidArgsFunction can be used for a command. + ValidArgsFunction func(cmd *Command, args []string, toComplete string) ([]string, ShellCompDirective) + + // Expected arguments + Args PositionalArgs + + // ArgAliases is List of aliases for ValidArgs. + // These are not suggested to the user in the shell completion, + // but accepted if entered manually. + ArgAliases []string + + // BashCompletionFunction is custom bash functions used by the legacy bash autocompletion generator. + // For portability with other shells, it is recommended to instead use ValidArgsFunction + BashCompletionFunction string + + // Deprecated defines, if this command is deprecated and should print this string when used. + Deprecated string + + // Annotations are key/value pairs that can be used by applications to identify or + // group commands or set special options. + Annotations map[string]string + + // Version defines the version for this command. If this value is non-empty and the command does not + // define a "version" flag, a "version" boolean flag will be added to the command and, if specified, + // will print content of the "Version" variable. A shorthand "v" flag will also be added if the + // command does not define one. + Version string + + // The *Run functions are executed in the following order: + // * PersistentPreRun() + // * PreRun() + // * Run() + // * PostRun() + // * PersistentPostRun() + // All functions get the same args, the arguments after the command name. + // The *PreRun and *PostRun functions will only be executed if the Run function of the current + // command has been declared. + // + // PersistentPreRun: children of this command will inherit and execute. + PersistentPreRun func(cmd *Command, args []string) + // PersistentPreRunE: PersistentPreRun but returns an error. + PersistentPreRunE func(cmd *Command, args []string) error + // PreRun: children of this command will not inherit. + PreRun func(cmd *Command, args []string) + // PreRunE: PreRun but returns an error. + PreRunE func(cmd *Command, args []string) error + // Run: Typically the actual work function. Most commands will only implement this. + Run func(cmd *Command, args []string) + // RunE: Run but returns an error. + RunE func(cmd *Command, args []string) error + // PostRun: run after the Run command. + PostRun func(cmd *Command, args []string) + // PostRunE: PostRun but returns an error. + PostRunE func(cmd *Command, args []string) error + // PersistentPostRun: children of this command will inherit and execute after PostRun. + PersistentPostRun func(cmd *Command, args []string) + // PersistentPostRunE: PersistentPostRun but returns an error. + PersistentPostRunE func(cmd *Command, args []string) error + + // groups for subcommands + commandgroups []*Group + + // args is actual args parsed from flags. + args []string + // flagErrorBuf contains all error messages from pflag. + flagErrorBuf *bytes.Buffer + // flags is full set of flags. + flags *flag.FlagSet + // pflags contains persistent flags. + pflags *flag.FlagSet + // lflags contains local flags. + // This field does not represent internal state, it's used as a cache to optimise LocalFlags function call + lflags *flag.FlagSet + // iflags contains inherited flags. + // This field does not represent internal state, it's used as a cache to optimise InheritedFlags function call + iflags *flag.FlagSet + // parentsPflags is all persistent flags of cmd's parents. + parentsPflags *flag.FlagSet + // globNormFunc is the global normalization function + // that we can use on every pflag set and children commands + globNormFunc func(f *flag.FlagSet, name string) flag.NormalizedName + + // usageFunc is usage func defined by user. + usageFunc func(*Command) error + // usageTemplate is usage template defined by user. + usageTemplate string + // flagErrorFunc is func defined by user and it's called when the parsing of + // flags returns an error. + flagErrorFunc func(*Command, error) error + // helpTemplate is help template defined by user. + helpTemplate string + // helpFunc is help func defined by user. + helpFunc func(*Command, []string) + // helpCommand is command with usage 'help'. If it's not defined by user, + // cobra uses default help command. + helpCommand *Command + // helpCommandGroupID is the group id for the helpCommand + helpCommandGroupID string + + // completionCommandGroupID is the group id for the completion command + completionCommandGroupID string + + // versionTemplate is the version template defined by user. + versionTemplate string + + // errPrefix is the error message prefix defined by user. + errPrefix string + + // inReader is a reader defined by the user that replaces stdin + inReader io.Reader + // outWriter is a writer defined by the user that replaces stdout + outWriter io.Writer + // errWriter is a writer defined by the user that replaces stderr + errWriter io.Writer + + // FParseErrWhitelist flag parse errors to be ignored + FParseErrWhitelist FParseErrWhitelist + + // CompletionOptions is a set of options to control the handling of shell completion + CompletionOptions CompletionOptions + + // commandsAreSorted defines, if command slice are sorted or not. + commandsAreSorted bool + // commandCalledAs is the name or alias value used to call this command. + commandCalledAs struct { + name string + called bool + } + + ctx context.Context + + // commands is the list of commands supported by this program. + commands []*Command + // parent is a parent command for this command. + parent *Command + // Max lengths of commands' string lengths for use in padding. + commandsMaxUseLen int + commandsMaxCommandPathLen int + commandsMaxNameLen int + + // TraverseChildren parses flags on all parents before executing child command. + TraverseChildren bool + + // Hidden defines, if this command is hidden and should NOT show up in the list of available commands. + Hidden bool + + // SilenceErrors is an option to quiet errors down stream. + SilenceErrors bool + + // SilenceUsage is an option to silence usage when an error occurs. + SilenceUsage bool + + // DisableFlagParsing disables the flag parsing. + // If this is true all flags will be passed to the command as arguments. + DisableFlagParsing bool + + // DisableAutoGenTag defines, if gen tag ("Auto generated by spf13/cobra...") + // will be printed by generating docs for this command. + DisableAutoGenTag bool + + // DisableFlagsInUseLine will disable the addition of [flags] to the usage + // line of a command when printing help or generating docs + DisableFlagsInUseLine bool + + // DisableSuggestions disables the suggestions based on Levenshtein distance + // that go along with 'unknown command' messages. + DisableSuggestions bool + + // SuggestionsMinimumDistance defines minimum levenshtein distance to display suggestions. + // Must be > 0. + SuggestionsMinimumDistance int +} + +// Context returns underlying command context. If command was executed +// with ExecuteContext or the context was set with SetContext, the +// previously set context will be returned. Otherwise, nil is returned. +// +// Notice that a call to Execute and ExecuteC will replace a nil context of +// a command with a context.Background, so a background context will be +// returned by Context after one of these functions has been called. +func (c *Command) Context() context.Context { + return c.ctx +} + +// SetContext sets context for the command. This context will be overwritten by +// Command.ExecuteContext or Command.ExecuteContextC. +func (c *Command) SetContext(ctx context.Context) { + c.ctx = ctx +} + +// SetArgs sets arguments for the command. It is set to os.Args[1:] by default, if desired, can be overridden +// particularly useful when testing. +func (c *Command) SetArgs(a []string) { + c.args = a +} + +// SetOutput sets the destination for usage and error messages. +// If output is nil, os.Stderr is used. +// Deprecated: Use SetOut and/or SetErr instead +func (c *Command) SetOutput(output io.Writer) { + c.outWriter = output + c.errWriter = output +} + +// SetOut sets the destination for usage messages. +// If newOut is nil, os.Stdout is used. +func (c *Command) SetOut(newOut io.Writer) { + c.outWriter = newOut +} + +// SetErr sets the destination for error messages. +// If newErr is nil, os.Stderr is used. +func (c *Command) SetErr(newErr io.Writer) { + c.errWriter = newErr +} + +// SetIn sets the source for input data +// If newIn is nil, os.Stdin is used. +func (c *Command) SetIn(newIn io.Reader) { + c.inReader = newIn +} + +// SetUsageFunc sets usage function. Usage can be defined by application. +func (c *Command) SetUsageFunc(f func(*Command) error) { + c.usageFunc = f +} + +// SetUsageTemplate sets usage template. Can be defined by Application. +func (c *Command) SetUsageTemplate(s string) { + c.usageTemplate = s +} + +// SetFlagErrorFunc sets a function to generate an error when flag parsing +// fails. +func (c *Command) SetFlagErrorFunc(f func(*Command, error) error) { + c.flagErrorFunc = f +} + +// SetHelpFunc sets help function. Can be defined by Application. +func (c *Command) SetHelpFunc(f func(*Command, []string)) { + c.helpFunc = f +} + +// SetHelpCommand sets help command. +func (c *Command) SetHelpCommand(cmd *Command) { + c.helpCommand = cmd +} + +// SetHelpCommandGroupID sets the group id of the help command. +func (c *Command) SetHelpCommandGroupID(groupID string) { + if c.helpCommand != nil { + c.helpCommand.GroupID = groupID + } + // helpCommandGroupID is used if no helpCommand is defined by the user + c.helpCommandGroupID = groupID +} + +// SetCompletionCommandGroupID sets the group id of the completion command. +func (c *Command) SetCompletionCommandGroupID(groupID string) { + // completionCommandGroupID is used if no completion command is defined by the user + c.Root().completionCommandGroupID = groupID +} + +// SetHelpTemplate sets help template to be used. Application can use it to set custom template. +func (c *Command) SetHelpTemplate(s string) { + c.helpTemplate = s +} + +// SetVersionTemplate sets version template to be used. Application can use it to set custom template. +func (c *Command) SetVersionTemplate(s string) { + c.versionTemplate = s +} + +// SetErrPrefix sets error message prefix to be used. Application can use it to set custom prefix. +func (c *Command) SetErrPrefix(s string) { + c.errPrefix = s +} + +// SetGlobalNormalizationFunc sets a normalization function to all flag sets and also to child commands. +// The user should not have a cyclic dependency on commands. +func (c *Command) SetGlobalNormalizationFunc(n func(f *flag.FlagSet, name string) flag.NormalizedName) { + c.Flags().SetNormalizeFunc(n) + c.PersistentFlags().SetNormalizeFunc(n) + c.globNormFunc = n + + for _, command := range c.commands { + command.SetGlobalNormalizationFunc(n) + } +} + +// OutOrStdout returns output to stdout. +func (c *Command) OutOrStdout() io.Writer { + return c.getOut(os.Stdout) +} + +// OutOrStderr returns output to stderr +func (c *Command) OutOrStderr() io.Writer { + return c.getOut(os.Stderr) +} + +// ErrOrStderr returns output to stderr +func (c *Command) ErrOrStderr() io.Writer { + return c.getErr(os.Stderr) +} + +// InOrStdin returns input to stdin +func (c *Command) InOrStdin() io.Reader { + return c.getIn(os.Stdin) +} + +func (c *Command) getOut(def io.Writer) io.Writer { + if c.outWriter != nil { + return c.outWriter + } + if c.HasParent() { + return c.parent.getOut(def) + } + return def +} + +func (c *Command) getErr(def io.Writer) io.Writer { + if c.errWriter != nil { + return c.errWriter + } + if c.HasParent() { + return c.parent.getErr(def) + } + return def +} + +func (c *Command) getIn(def io.Reader) io.Reader { + if c.inReader != nil { + return c.inReader + } + if c.HasParent() { + return c.parent.getIn(def) + } + return def +} + +// UsageFunc returns either the function set by SetUsageFunc for this command +// or a parent, or it returns a default usage function. +func (c *Command) UsageFunc() (f func(*Command) error) { + if c.usageFunc != nil { + return c.usageFunc + } + if c.HasParent() { + return c.Parent().UsageFunc() + } + return func(c *Command) error { + c.mergePersistentFlags() + err := tmpl(c.OutOrStderr(), c.UsageTemplate(), c) + if err != nil { + c.PrintErrln(err) + } + return err + } +} + +// Usage puts out the usage for the command. +// Used when a user provides invalid input. +// Can be defined by user by overriding UsageFunc. +func (c *Command) Usage() error { + return c.UsageFunc()(c) +} + +// HelpFunc returns either the function set by SetHelpFunc for this command +// or a parent, or it returns a function with default help behavior. +func (c *Command) HelpFunc() func(*Command, []string) { + if c.helpFunc != nil { + return c.helpFunc + } + if c.HasParent() { + return c.Parent().HelpFunc() + } + return func(c *Command, a []string) { + c.mergePersistentFlags() + // The help should be sent to stdout + // See https://github.com/spf13/cobra/issues/1002 + err := tmpl(c.OutOrStdout(), c.HelpTemplate(), c) + if err != nil { + c.PrintErrln(err) + } + } +} + +// Help puts out the help for the command. +// Used when a user calls help [command]. +// Can be defined by user by overriding HelpFunc. +func (c *Command) Help() error { + c.HelpFunc()(c, []string{}) + return nil +} + +// UsageString returns usage string. +func (c *Command) UsageString() string { + // Storing normal writers + tmpOutput := c.outWriter + tmpErr := c.errWriter + + bb := new(bytes.Buffer) + c.outWriter = bb + c.errWriter = bb + + CheckErr(c.Usage()) + + // Setting things back to normal + c.outWriter = tmpOutput + c.errWriter = tmpErr + + return bb.String() +} + +// FlagErrorFunc returns either the function set by SetFlagErrorFunc for this +// command or a parent, or it returns a function which returns the original +// error. +func (c *Command) FlagErrorFunc() (f func(*Command, error) error) { + if c.flagErrorFunc != nil { + return c.flagErrorFunc + } + + if c.HasParent() { + return c.parent.FlagErrorFunc() + } + return func(c *Command, err error) error { + return err + } +} + +var minUsagePadding = 25 + +// UsagePadding return padding for the usage. +func (c *Command) UsagePadding() int { + if c.parent == nil || minUsagePadding > c.parent.commandsMaxUseLen { + return minUsagePadding + } + return c.parent.commandsMaxUseLen +} + +var minCommandPathPadding = 11 + +// CommandPathPadding return padding for the command path. +func (c *Command) CommandPathPadding() int { + if c.parent == nil || minCommandPathPadding > c.parent.commandsMaxCommandPathLen { + return minCommandPathPadding + } + return c.parent.commandsMaxCommandPathLen +} + +var minNamePadding = 11 + +// NamePadding returns padding for the name. +func (c *Command) NamePadding() int { + if c.parent == nil || minNamePadding > c.parent.commandsMaxNameLen { + return minNamePadding + } + return c.parent.commandsMaxNameLen +} + +// UsageTemplate returns usage template for the command. +func (c *Command) UsageTemplate() string { + if c.usageTemplate != "" { + return c.usageTemplate + } + + if c.HasParent() { + return c.parent.UsageTemplate() + } + return `Usage:{{if .Runnable}} + {{.UseLine}}{{end}}{{if .HasAvailableSubCommands}} + {{.CommandPath}} [command]{{end}}{{if gt (len .Aliases) 0}} + +Aliases: + {{.NameAndAliases}}{{end}}{{if .HasExample}} + +Examples: +{{.Example}}{{end}}{{if .HasAvailableSubCommands}}{{$cmds := .Commands}}{{if eq (len .Groups) 0}} + +Available Commands:{{range $cmds}}{{if (or .IsAvailableCommand (eq .Name "help"))}} + {{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{else}}{{range $group := .Groups}} + +{{.Title}}{{range $cmds}}{{if (and (eq .GroupID $group.ID) (or .IsAvailableCommand (eq .Name "help")))}} + {{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}}{{if not .AllChildCommandsHaveGroup}} + +Additional Commands:{{range $cmds}}{{if (and (eq .GroupID "") (or .IsAvailableCommand (eq .Name "help")))}} + {{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}}{{end}}{{end}}{{if .HasAvailableLocalFlags}} + +Flags: +{{.LocalFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if .HasAvailableInheritedFlags}} + +Global Flags: +{{.InheritedFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if .HasHelpSubCommands}} + +Additional help topics:{{range .Commands}}{{if .IsAdditionalHelpTopicCommand}} + {{rpad .CommandPath .CommandPathPadding}} {{.Short}}{{end}}{{end}}{{end}}{{if .HasAvailableSubCommands}} + +Use "{{.CommandPath}} [command] --help" for more information about a command.{{end}} +` +} + +// HelpTemplate return help template for the command. +func (c *Command) HelpTemplate() string { + if c.helpTemplate != "" { + return c.helpTemplate + } + + if c.HasParent() { + return c.parent.HelpTemplate() + } + return `{{with (or .Long .Short)}}{{. | trimTrailingWhitespaces}} + +{{end}}{{if or .Runnable .HasSubCommands}}{{.UsageString}}{{end}}` +} + +// VersionTemplate return version template for the command. +func (c *Command) VersionTemplate() string { + if c.versionTemplate != "" { + return c.versionTemplate + } + + if c.HasParent() { + return c.parent.VersionTemplate() + } + return `{{with .Name}}{{printf "%s " .}}{{end}}{{printf "version %s" .Version}} +` +} + +// ErrPrefix return error message prefix for the command +func (c *Command) ErrPrefix() string { + if c.errPrefix != "" { + return c.errPrefix + } + + if c.HasParent() { + return c.parent.ErrPrefix() + } + return "Error:" +} + +func hasNoOptDefVal(name string, fs *flag.FlagSet) bool { + flag := fs.Lookup(name) + if flag == nil { + return false + } + return flag.NoOptDefVal != "" +} + +func shortHasNoOptDefVal(name string, fs *flag.FlagSet) bool { + if len(name) == 0 { + return false + } + + flag := fs.ShorthandLookup(name[:1]) + if flag == nil { + return false + } + return flag.NoOptDefVal != "" +} + +func stripFlags(args []string, c *Command) []string { + if len(args) == 0 { + return args + } + c.mergePersistentFlags() + + commands := []string{} + flags := c.Flags() + +Loop: + for len(args) > 0 { + s := args[0] + args = args[1:] + switch { + case s == "--": + // "--" terminates the flags + break Loop + case strings.HasPrefix(s, "--") && !strings.Contains(s, "=") && !hasNoOptDefVal(s[2:], flags): + // If '--flag arg' then + // delete arg from args. + fallthrough // (do the same as below) + case strings.HasPrefix(s, "-") && !strings.Contains(s, "=") && len(s) == 2 && !shortHasNoOptDefVal(s[1:], flags): + // If '-f arg' then + // delete 'arg' from args or break the loop if len(args) <= 1. + if len(args) <= 1 { + break Loop + } else { + args = args[1:] + continue + } + case s != "" && !strings.HasPrefix(s, "-"): + commands = append(commands, s) + } + } + + return commands +} + +// argsMinusFirstX removes only the first x from args. Otherwise, commands that look like +// openshift admin policy add-role-to-user admin my-user, lose the admin argument (arg[4]). +// Special care needs to be taken not to remove a flag value. +func (c *Command) argsMinusFirstX(args []string, x string) []string { + if len(args) == 0 { + return args + } + c.mergePersistentFlags() + flags := c.Flags() + +Loop: + for pos := 0; pos < len(args); pos++ { + s := args[pos] + switch { + case s == "--": + // -- means we have reached the end of the parseable args. Break out of the loop now. + break Loop + case strings.HasPrefix(s, "--") && !strings.Contains(s, "=") && !hasNoOptDefVal(s[2:], flags): + fallthrough + case strings.HasPrefix(s, "-") && !strings.Contains(s, "=") && len(s) == 2 && !shortHasNoOptDefVal(s[1:], flags): + // This is a flag without a default value, and an equal sign is not used. Increment pos in order to skip + // over the next arg, because that is the value of this flag. + pos++ + continue + case !strings.HasPrefix(s, "-"): + // This is not a flag or a flag value. Check to see if it matches what we're looking for, and if so, + // return the args, excluding the one at this position. + if s == x { + ret := make([]string, 0, len(args)-1) + ret = append(ret, args[:pos]...) + ret = append(ret, args[pos+1:]...) + return ret + } + } + } + return args +} + +func isFlagArg(arg string) bool { + return ((len(arg) >= 3 && arg[0:2] == "--") || + (len(arg) >= 2 && arg[0] == '-' && arg[1] != '-')) +} + +// Find the target command given the args and command tree +// Meant to be run on the highest node. Only searches down. +func (c *Command) Find(args []string) (*Command, []string, error) { + var innerfind func(*Command, []string) (*Command, []string) + + innerfind = func(c *Command, innerArgs []string) (*Command, []string) { + argsWOflags := stripFlags(innerArgs, c) + if len(argsWOflags) == 0 { + return c, innerArgs + } + nextSubCmd := argsWOflags[0] + + cmd := c.findNext(nextSubCmd) + if cmd != nil { + return innerfind(cmd, c.argsMinusFirstX(innerArgs, nextSubCmd)) + } + return c, innerArgs + } + + commandFound, a := innerfind(c, args) + if commandFound.Args == nil { + return commandFound, a, legacyArgs(commandFound, stripFlags(a, commandFound)) + } + return commandFound, a, nil +} + +func (c *Command) findSuggestions(arg string) string { + if c.DisableSuggestions { + return "" + } + if c.SuggestionsMinimumDistance <= 0 { + c.SuggestionsMinimumDistance = 2 + } + var sb strings.Builder + if suggestions := c.SuggestionsFor(arg); len(suggestions) > 0 { + sb.WriteString("\n\nDid you mean this?\n") + for _, s := range suggestions { + _, _ = fmt.Fprintf(&sb, "\t%v\n", s) + } + } + return sb.String() +} + +func (c *Command) findNext(next string) *Command { + matches := make([]*Command, 0) + for _, cmd := range c.commands { + if commandNameMatches(cmd.Name(), next) || cmd.HasAlias(next) { + cmd.commandCalledAs.name = next + return cmd + } + if EnablePrefixMatching && cmd.hasNameOrAliasPrefix(next) { + matches = append(matches, cmd) + } + } + + if len(matches) == 1 { + // Temporarily disable gosec G602, which produces a false positive. + // See https://github.com/securego/gosec/issues/1005. + return matches[0] // #nosec G602 + } + + return nil +} + +// Traverse the command tree to find the command, and parse args for +// each parent. +func (c *Command) Traverse(args []string) (*Command, []string, error) { + flags := []string{} + inFlag := false + + for i, arg := range args { + switch { + // A long flag with a space separated value + case strings.HasPrefix(arg, "--") && !strings.Contains(arg, "="): + // TODO: this isn't quite right, we should really check ahead for 'true' or 'false' + inFlag = !hasNoOptDefVal(arg[2:], c.Flags()) + flags = append(flags, arg) + continue + // A short flag with a space separated value + case strings.HasPrefix(arg, "-") && !strings.Contains(arg, "=") && len(arg) == 2 && !shortHasNoOptDefVal(arg[1:], c.Flags()): + inFlag = true + flags = append(flags, arg) + continue + // The value for a flag + case inFlag: + inFlag = false + flags = append(flags, arg) + continue + // A flag without a value, or with an `=` separated value + case isFlagArg(arg): + flags = append(flags, arg) + continue + } + + cmd := c.findNext(arg) + if cmd == nil { + return c, args, nil + } + + if err := c.ParseFlags(flags); err != nil { + return nil, args, err + } + return cmd.Traverse(args[i+1:]) + } + return c, args, nil +} + +// SuggestionsFor provides suggestions for the typedName. +func (c *Command) SuggestionsFor(typedName string) []string { + suggestions := []string{} + for _, cmd := range c.commands { + if cmd.IsAvailableCommand() { + levenshteinDistance := ld(typedName, cmd.Name(), true) + suggestByLevenshtein := levenshteinDistance <= c.SuggestionsMinimumDistance + suggestByPrefix := strings.HasPrefix(strings.ToLower(cmd.Name()), strings.ToLower(typedName)) + if suggestByLevenshtein || suggestByPrefix { + suggestions = append(suggestions, cmd.Name()) + } + for _, explicitSuggestion := range cmd.SuggestFor { + if strings.EqualFold(typedName, explicitSuggestion) { + suggestions = append(suggestions, cmd.Name()) + } + } + } + } + return suggestions +} + +// VisitParents visits all parents of the command and invokes fn on each parent. +func (c *Command) VisitParents(fn func(*Command)) { + if c.HasParent() { + fn(c.Parent()) + c.Parent().VisitParents(fn) + } +} + +// Root finds root command. +func (c *Command) Root() *Command { + if c.HasParent() { + return c.Parent().Root() + } + return c +} + +// ArgsLenAtDash will return the length of c.Flags().Args at the moment +// when a -- was found during args parsing. +func (c *Command) ArgsLenAtDash() int { + return c.Flags().ArgsLenAtDash() +} + +func (c *Command) execute(a []string) (err error) { + if c == nil { + return fmt.Errorf("called Execute() on a nil Command") + } + + if len(c.Deprecated) > 0 { + c.Printf("Command %q is deprecated, %s\n", c.Name(), c.Deprecated) + } + + // initialize help and version flag at the last point possible to allow for user + // overriding + c.InitDefaultHelpFlag() + c.InitDefaultVersionFlag() + + err = c.ParseFlags(a) + if err != nil { + return c.FlagErrorFunc()(c, err) + } + + // If help is called, regardless of other flags, return we want help. + // Also say we need help if the command isn't runnable. + helpVal, err := c.Flags().GetBool("help") + if err != nil { + // should be impossible to get here as we always declare a help + // flag in InitDefaultHelpFlag() + c.Println("\"help\" flag declared as non-bool. Please correct your code") + return err + } + + if helpVal { + return flag.ErrHelp + } + + // for back-compat, only add version flag behavior if version is defined + if c.Version != "" { + versionVal, err := c.Flags().GetBool("version") + if err != nil { + c.Println("\"version\" flag declared as non-bool. Please correct your code") + return err + } + if versionVal { + err := tmpl(c.OutOrStdout(), c.VersionTemplate(), c) + if err != nil { + c.Println(err) + } + return err + } + } + + if !c.Runnable() { + return flag.ErrHelp + } + + c.preRun() + + defer c.postRun() + + argWoFlags := c.Flags().Args() + if c.DisableFlagParsing { + argWoFlags = a + } + + if err := c.ValidateArgs(argWoFlags); err != nil { + return err + } + + parents := make([]*Command, 0, 5) + for p := c; p != nil; p = p.Parent() { + if EnableTraverseRunHooks { + // When EnableTraverseRunHooks is set: + // - Execute all persistent pre-runs from the root parent till this command. + // - Execute all persistent post-runs from this command till the root parent. + parents = append([]*Command{p}, parents...) + } else { + // Otherwise, execute only the first found persistent hook. + parents = append(parents, p) + } + } + for _, p := range parents { + if p.PersistentPreRunE != nil { + if err := p.PersistentPreRunE(c, argWoFlags); err != nil { + return err + } + if !EnableTraverseRunHooks { + break + } + } else if p.PersistentPreRun != nil { + p.PersistentPreRun(c, argWoFlags) + if !EnableTraverseRunHooks { + break + } + } + } + if c.PreRunE != nil { + if err := c.PreRunE(c, argWoFlags); err != nil { + return err + } + } else if c.PreRun != nil { + c.PreRun(c, argWoFlags) + } + + if err := c.ValidateRequiredFlags(); err != nil { + return err + } + if err := c.ValidateFlagGroups(); err != nil { + return err + } + + if c.RunE != nil { + if err := c.RunE(c, argWoFlags); err != nil { + return err + } + } else { + c.Run(c, argWoFlags) + } + if c.PostRunE != nil { + if err := c.PostRunE(c, argWoFlags); err != nil { + return err + } + } else if c.PostRun != nil { + c.PostRun(c, argWoFlags) + } + for p := c; p != nil; p = p.Parent() { + if p.PersistentPostRunE != nil { + if err := p.PersistentPostRunE(c, argWoFlags); err != nil { + return err + } + if !EnableTraverseRunHooks { + break + } + } else if p.PersistentPostRun != nil { + p.PersistentPostRun(c, argWoFlags) + if !EnableTraverseRunHooks { + break + } + } + } + + return nil +} + +func (c *Command) preRun() { + for _, x := range initializers { + x() + } +} + +func (c *Command) postRun() { + for _, x := range finalizers { + x() + } +} + +// ExecuteContext is the same as Execute(), but sets the ctx on the command. +// Retrieve ctx by calling cmd.Context() inside your *Run lifecycle or ValidArgs +// functions. +func (c *Command) ExecuteContext(ctx context.Context) error { + c.ctx = ctx + return c.Execute() +} + +// Execute uses the args (os.Args[1:] by default) +// and run through the command tree finding appropriate matches +// for commands and then corresponding flags. +func (c *Command) Execute() error { + _, err := c.ExecuteC() + return err +} + +// ExecuteContextC is the same as ExecuteC(), but sets the ctx on the command. +// Retrieve ctx by calling cmd.Context() inside your *Run lifecycle or ValidArgs +// functions. +func (c *Command) ExecuteContextC(ctx context.Context) (*Command, error) { + c.ctx = ctx + return c.ExecuteC() +} + +// ExecuteC executes the command. +func (c *Command) ExecuteC() (cmd *Command, err error) { + if c.ctx == nil { + c.ctx = context.Background() + } + + // Regardless of what command execute is called on, run on Root only + if c.HasParent() { + return c.Root().ExecuteC() + } + + // windows hook + if preExecHookFn != nil { + preExecHookFn(c) + } + + // initialize help at the last point to allow for user overriding + c.InitDefaultHelpCmd() + // initialize completion at the last point to allow for user overriding + c.InitDefaultCompletionCmd() + + // Now that all commands have been created, let's make sure all groups + // are properly created also + c.checkCommandGroups() + + args := c.args + + // Workaround FAIL with "go test -v" or "cobra.test -test.v", see #155 + if c.args == nil && filepath.Base(os.Args[0]) != "cobra.test" { + args = os.Args[1:] + } + + // initialize the hidden command to be used for shell completion + c.initCompleteCmd(args) + + var flags []string + if c.TraverseChildren { + cmd, flags, err = c.Traverse(args) + } else { + cmd, flags, err = c.Find(args) + } + if err != nil { + // If found parse to a subcommand and then failed, talk about the subcommand + if cmd != nil { + c = cmd + } + if !c.SilenceErrors { + c.PrintErrln(c.ErrPrefix(), err.Error()) + c.PrintErrf("Run '%v --help' for usage.\n", c.CommandPath()) + } + return c, err + } + + cmd.commandCalledAs.called = true + if cmd.commandCalledAs.name == "" { + cmd.commandCalledAs.name = cmd.Name() + } + + // We have to pass global context to children command + // if context is present on the parent command. + if cmd.ctx == nil { + cmd.ctx = c.ctx + } + + err = cmd.execute(flags) + if err != nil { + // Always show help if requested, even if SilenceErrors is in + // effect + if errors.Is(err, flag.ErrHelp) { + cmd.HelpFunc()(cmd, args) + return cmd, nil + } + + // If root command has SilenceErrors flagged, + // all subcommands should respect it + if !cmd.SilenceErrors && !c.SilenceErrors { + c.PrintErrln(cmd.ErrPrefix(), err.Error()) + } + + // If root command has SilenceUsage flagged, + // all subcommands should respect it + if !cmd.SilenceUsage && !c.SilenceUsage { + c.Println(cmd.UsageString()) + } + } + return cmd, err +} + +func (c *Command) ValidateArgs(args []string) error { + if c.Args == nil { + return ArbitraryArgs(c, args) + } + return c.Args(c, args) +} + +// ValidateRequiredFlags validates all required flags are present and returns an error otherwise +func (c *Command) ValidateRequiredFlags() error { + if c.DisableFlagParsing { + return nil + } + + flags := c.Flags() + missingFlagNames := []string{} + flags.VisitAll(func(pflag *flag.Flag) { + requiredAnnotation, found := pflag.Annotations[BashCompOneRequiredFlag] + if !found { + return + } + if (requiredAnnotation[0] == "true") && !pflag.Changed { + missingFlagNames = append(missingFlagNames, pflag.Name) + } + }) + + if len(missingFlagNames) > 0 { + return fmt.Errorf(`required flag(s) "%s" not set`, strings.Join(missingFlagNames, `", "`)) + } + return nil +} + +// checkCommandGroups checks if a command has been added to a group that does not exists. +// If so, we panic because it indicates a coding error that should be corrected. +func (c *Command) checkCommandGroups() { + for _, sub := range c.commands { + // if Group is not defined let the developer know right away + if sub.GroupID != "" && !c.ContainsGroup(sub.GroupID) { + panic(fmt.Sprintf("group id '%s' is not defined for subcommand '%s'", sub.GroupID, sub.CommandPath())) + } + + sub.checkCommandGroups() + } +} + +// InitDefaultHelpFlag adds default help flag to c. +// It is called automatically by executing the c or by calling help and usage. +// If c already has help flag, it will do nothing. +func (c *Command) InitDefaultHelpFlag() { + c.mergePersistentFlags() + if c.Flags().Lookup("help") == nil { + usage := "help for " + name := c.displayName() + if name == "" { + usage += "this command" + } else { + usage += name + } + c.Flags().BoolP("help", "h", false, usage) + _ = c.Flags().SetAnnotation("help", FlagSetByCobraAnnotation, []string{"true"}) + } +} + +// InitDefaultVersionFlag adds default version flag to c. +// It is called automatically by executing the c. +// If c already has a version flag, it will do nothing. +// If c.Version is empty, it will do nothing. +func (c *Command) InitDefaultVersionFlag() { + if c.Version == "" { + return + } + + c.mergePersistentFlags() + if c.Flags().Lookup("version") == nil { + usage := "version for " + if c.Name() == "" { + usage += "this command" + } else { + usage += c.Name() + } + if c.Flags().ShorthandLookup("v") == nil { + c.Flags().BoolP("version", "v", false, usage) + } else { + c.Flags().Bool("version", false, usage) + } + _ = c.Flags().SetAnnotation("version", FlagSetByCobraAnnotation, []string{"true"}) + } +} + +// InitDefaultHelpCmd adds default help command to c. +// It is called automatically by executing the c or by calling help and usage. +// If c already has help command or c has no subcommands, it will do nothing. +func (c *Command) InitDefaultHelpCmd() { + if !c.HasSubCommands() { + return + } + + if c.helpCommand == nil { + c.helpCommand = &Command{ + Use: "help [command]", + Short: "Help about any command", + Long: `Help provides help for any command in the application. +Simply type ` + c.displayName() + ` help [path to command] for full details.`, + ValidArgsFunction: func(c *Command, args []string, toComplete string) ([]string, ShellCompDirective) { + var completions []string + cmd, _, e := c.Root().Find(args) + if e != nil { + return nil, ShellCompDirectiveNoFileComp + } + if cmd == nil { + // Root help command. + cmd = c.Root() + } + for _, subCmd := range cmd.Commands() { + if subCmd.IsAvailableCommand() || subCmd == cmd.helpCommand { + if strings.HasPrefix(subCmd.Name(), toComplete) { + completions = append(completions, fmt.Sprintf("%s\t%s", subCmd.Name(), subCmd.Short)) + } + } + } + return completions, ShellCompDirectiveNoFileComp + }, + Run: func(c *Command, args []string) { + cmd, _, e := c.Root().Find(args) + if cmd == nil || e != nil { + c.Printf("Unknown help topic %#q\n", args) + CheckErr(c.Root().Usage()) + } else { + cmd.InitDefaultHelpFlag() // make possible 'help' flag to be shown + cmd.InitDefaultVersionFlag() // make possible 'version' flag to be shown + CheckErr(cmd.Help()) + } + }, + GroupID: c.helpCommandGroupID, + } + } + c.RemoveCommand(c.helpCommand) + c.AddCommand(c.helpCommand) +} + +// ResetCommands delete parent, subcommand and help command from c. +func (c *Command) ResetCommands() { + c.parent = nil + c.commands = nil + c.helpCommand = nil + c.parentsPflags = nil +} + +// Sorts commands by their names. +type commandSorterByName []*Command + +func (c commandSorterByName) Len() int { return len(c) } +func (c commandSorterByName) Swap(i, j int) { c[i], c[j] = c[j], c[i] } +func (c commandSorterByName) Less(i, j int) bool { return c[i].Name() < c[j].Name() } + +// Commands returns a sorted slice of child commands. +func (c *Command) Commands() []*Command { + // do not sort commands if it already sorted or sorting was disabled + if EnableCommandSorting && !c.commandsAreSorted { + sort.Sort(commandSorterByName(c.commands)) + c.commandsAreSorted = true + } + return c.commands +} + +// AddCommand adds one or more commands to this parent command. +func (c *Command) AddCommand(cmds ...*Command) { + for i, x := range cmds { + if cmds[i] == c { + panic("Command can't be a child of itself") + } + cmds[i].parent = c + // update max lengths + usageLen := len(x.Use) + if usageLen > c.commandsMaxUseLen { + c.commandsMaxUseLen = usageLen + } + commandPathLen := len(x.CommandPath()) + if commandPathLen > c.commandsMaxCommandPathLen { + c.commandsMaxCommandPathLen = commandPathLen + } + nameLen := len(x.Name()) + if nameLen > c.commandsMaxNameLen { + c.commandsMaxNameLen = nameLen + } + // If global normalization function exists, update all children + if c.globNormFunc != nil { + x.SetGlobalNormalizationFunc(c.globNormFunc) + } + c.commands = append(c.commands, x) + c.commandsAreSorted = false + } +} + +// Groups returns a slice of child command groups. +func (c *Command) Groups() []*Group { + return c.commandgroups +} + +// AllChildCommandsHaveGroup returns if all subcommands are assigned to a group +func (c *Command) AllChildCommandsHaveGroup() bool { + for _, sub := range c.commands { + if (sub.IsAvailableCommand() || sub == c.helpCommand) && sub.GroupID == "" { + return false + } + } + return true +} + +// ContainsGroup return if groupID exists in the list of command groups. +func (c *Command) ContainsGroup(groupID string) bool { + for _, x := range c.commandgroups { + if x.ID == groupID { + return true + } + } + return false +} + +// AddGroup adds one or more command groups to this parent command. +func (c *Command) AddGroup(groups ...*Group) { + c.commandgroups = append(c.commandgroups, groups...) +} + +// RemoveCommand removes one or more commands from a parent command. +func (c *Command) RemoveCommand(cmds ...*Command) { + commands := []*Command{} +main: + for _, command := range c.commands { + for _, cmd := range cmds { + if command == cmd { + command.parent = nil + continue main + } + } + commands = append(commands, command) + } + c.commands = commands + // recompute all lengths + c.commandsMaxUseLen = 0 + c.commandsMaxCommandPathLen = 0 + c.commandsMaxNameLen = 0 + for _, command := range c.commands { + usageLen := len(command.Use) + if usageLen > c.commandsMaxUseLen { + c.commandsMaxUseLen = usageLen + } + commandPathLen := len(command.CommandPath()) + if commandPathLen > c.commandsMaxCommandPathLen { + c.commandsMaxCommandPathLen = commandPathLen + } + nameLen := len(command.Name()) + if nameLen > c.commandsMaxNameLen { + c.commandsMaxNameLen = nameLen + } + } +} + +// Print is a convenience method to Print to the defined output, fallback to Stderr if not set. +func (c *Command) Print(i ...interface{}) { + fmt.Fprint(c.OutOrStderr(), i...) +} + +// Println is a convenience method to Println to the defined output, fallback to Stderr if not set. +func (c *Command) Println(i ...interface{}) { + c.Print(fmt.Sprintln(i...)) +} + +// Printf is a convenience method to Printf to the defined output, fallback to Stderr if not set. +func (c *Command) Printf(format string, i ...interface{}) { + c.Print(fmt.Sprintf(format, i...)) +} + +// PrintErr is a convenience method to Print to the defined Err output, fallback to Stderr if not set. +func (c *Command) PrintErr(i ...interface{}) { + fmt.Fprint(c.ErrOrStderr(), i...) +} + +// PrintErrln is a convenience method to Println to the defined Err output, fallback to Stderr if not set. +func (c *Command) PrintErrln(i ...interface{}) { + c.PrintErr(fmt.Sprintln(i...)) +} + +// PrintErrf is a convenience method to Printf to the defined Err output, fallback to Stderr if not set. +func (c *Command) PrintErrf(format string, i ...interface{}) { + c.PrintErr(fmt.Sprintf(format, i...)) +} + +// CommandPath returns the full path to this command. +func (c *Command) CommandPath() string { + if c.HasParent() { + return c.Parent().CommandPath() + " " + c.Name() + } + return c.displayName() +} + +func (c *Command) displayName() string { + if displayName, ok := c.Annotations[CommandDisplayNameAnnotation]; ok { + return displayName + } + return c.Name() +} + +// UseLine puts out the full usage for a given command (including parents). +func (c *Command) UseLine() string { + var useline string + use := strings.Replace(c.Use, c.Name(), c.displayName(), 1) + if c.HasParent() { + useline = c.parent.CommandPath() + " " + use + } else { + useline = use + } + if c.DisableFlagsInUseLine { + return useline + } + if c.HasAvailableFlags() && !strings.Contains(useline, "[flags]") { + useline += " [flags]" + } + return useline +} + +// DebugFlags used to determine which flags have been assigned to which commands +// and which persist. +func (c *Command) DebugFlags() { + c.Println("DebugFlags called on", c.Name()) + var debugflags func(*Command) + + debugflags = func(x *Command) { + if x.HasFlags() || x.HasPersistentFlags() { + c.Println(x.Name()) + } + if x.HasFlags() { + x.flags.VisitAll(func(f *flag.Flag) { + if x.HasPersistentFlags() && x.persistentFlag(f.Name) != nil { + c.Println(" -"+f.Shorthand+",", "--"+f.Name, "["+f.DefValue+"]", "", f.Value, " [LP]") + } else { + c.Println(" -"+f.Shorthand+",", "--"+f.Name, "["+f.DefValue+"]", "", f.Value, " [L]") + } + }) + } + if x.HasPersistentFlags() { + x.pflags.VisitAll(func(f *flag.Flag) { + if x.HasFlags() { + if x.flags.Lookup(f.Name) == nil { + c.Println(" -"+f.Shorthand+",", "--"+f.Name, "["+f.DefValue+"]", "", f.Value, " [P]") + } + } else { + c.Println(" -"+f.Shorthand+",", "--"+f.Name, "["+f.DefValue+"]", "", f.Value, " [P]") + } + }) + } + c.Println(x.flagErrorBuf) + if x.HasSubCommands() { + for _, y := range x.commands { + debugflags(y) + } + } + } + + debugflags(c) +} + +// Name returns the command's name: the first word in the use line. +func (c *Command) Name() string { + name := c.Use + i := strings.Index(name, " ") + if i >= 0 { + name = name[:i] + } + return name +} + +// HasAlias determines if a given string is an alias of the command. +func (c *Command) HasAlias(s string) bool { + for _, a := range c.Aliases { + if commandNameMatches(a, s) { + return true + } + } + return false +} + +// CalledAs returns the command name or alias that was used to invoke +// this command or an empty string if the command has not been called. +func (c *Command) CalledAs() string { + if c.commandCalledAs.called { + return c.commandCalledAs.name + } + return "" +} + +// hasNameOrAliasPrefix returns true if the Name or any of aliases start +// with prefix +func (c *Command) hasNameOrAliasPrefix(prefix string) bool { + if strings.HasPrefix(c.Name(), prefix) { + c.commandCalledAs.name = c.Name() + return true + } + for _, alias := range c.Aliases { + if strings.HasPrefix(alias, prefix) { + c.commandCalledAs.name = alias + return true + } + } + return false +} + +// NameAndAliases returns a list of the command name and all aliases +func (c *Command) NameAndAliases() string { + return strings.Join(append([]string{c.Name()}, c.Aliases...), ", ") +} + +// HasExample determines if the command has example. +func (c *Command) HasExample() bool { + return len(c.Example) > 0 +} + +// Runnable determines if the command is itself runnable. +func (c *Command) Runnable() bool { + return c.Run != nil || c.RunE != nil +} + +// HasSubCommands determines if the command has children commands. +func (c *Command) HasSubCommands() bool { + return len(c.commands) > 0 +} + +// IsAvailableCommand determines if a command is available as a non-help command +// (this includes all non deprecated/hidden commands). +func (c *Command) IsAvailableCommand() bool { + if len(c.Deprecated) != 0 || c.Hidden { + return false + } + + if c.HasParent() && c.Parent().helpCommand == c { + return false + } + + if c.Runnable() || c.HasAvailableSubCommands() { + return true + } + + return false +} + +// IsAdditionalHelpTopicCommand determines if a command is an additional +// help topic command; additional help topic command is determined by the +// fact that it is NOT runnable/hidden/deprecated, and has no sub commands that +// are runnable/hidden/deprecated. +// Concrete example: https://github.com/spf13/cobra/issues/393#issuecomment-282741924. +func (c *Command) IsAdditionalHelpTopicCommand() bool { + // if a command is runnable, deprecated, or hidden it is not a 'help' command + if c.Runnable() || len(c.Deprecated) != 0 || c.Hidden { + return false + } + + // if any non-help sub commands are found, the command is not a 'help' command + for _, sub := range c.commands { + if !sub.IsAdditionalHelpTopicCommand() { + return false + } + } + + // the command either has no sub commands, or no non-help sub commands + return true +} + +// HasHelpSubCommands determines if a command has any available 'help' sub commands +// that need to be shown in the usage/help default template under 'additional help +// topics'. +func (c *Command) HasHelpSubCommands() bool { + // return true on the first found available 'help' sub command + for _, sub := range c.commands { + if sub.IsAdditionalHelpTopicCommand() { + return true + } + } + + // the command either has no sub commands, or no available 'help' sub commands + return false +} + +// HasAvailableSubCommands determines if a command has available sub commands that +// need to be shown in the usage/help default template under 'available commands'. +func (c *Command) HasAvailableSubCommands() bool { + // return true on the first found available (non deprecated/help/hidden) + // sub command + for _, sub := range c.commands { + if sub.IsAvailableCommand() { + return true + } + } + + // the command either has no sub commands, or no available (non deprecated/help/hidden) + // sub commands + return false +} + +// HasParent determines if the command is a child command. +func (c *Command) HasParent() bool { + return c.parent != nil +} + +// GlobalNormalizationFunc returns the global normalization function or nil if it doesn't exist. +func (c *Command) GlobalNormalizationFunc() func(f *flag.FlagSet, name string) flag.NormalizedName { + return c.globNormFunc +} + +// Flags returns the complete FlagSet that applies +// to this command (local and persistent declared here and by all parents). +func (c *Command) Flags() *flag.FlagSet { + if c.flags == nil { + c.flags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError) + if c.flagErrorBuf == nil { + c.flagErrorBuf = new(bytes.Buffer) + } + c.flags.SetOutput(c.flagErrorBuf) + } + + return c.flags +} + +// LocalNonPersistentFlags are flags specific to this command which will NOT persist to subcommands. +// This function does not modify the flags of the current command, it's purpose is to return the current state. +func (c *Command) LocalNonPersistentFlags() *flag.FlagSet { + persistentFlags := c.PersistentFlags() + + out := flag.NewFlagSet(c.displayName(), flag.ContinueOnError) + c.LocalFlags().VisitAll(func(f *flag.Flag) { + if persistentFlags.Lookup(f.Name) == nil { + out.AddFlag(f) + } + }) + return out +} + +// LocalFlags returns the local FlagSet specifically set in the current command. +// This function does not modify the flags of the current command, it's purpose is to return the current state. +func (c *Command) LocalFlags() *flag.FlagSet { + c.mergePersistentFlags() + + if c.lflags == nil { + c.lflags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError) + if c.flagErrorBuf == nil { + c.flagErrorBuf = new(bytes.Buffer) + } + c.lflags.SetOutput(c.flagErrorBuf) + } + c.lflags.SortFlags = c.Flags().SortFlags + if c.globNormFunc != nil { + c.lflags.SetNormalizeFunc(c.globNormFunc) + } + + addToLocal := func(f *flag.Flag) { + // Add the flag if it is not a parent PFlag, or it shadows a parent PFlag + if c.lflags.Lookup(f.Name) == nil && f != c.parentsPflags.Lookup(f.Name) { + c.lflags.AddFlag(f) + } + } + c.Flags().VisitAll(addToLocal) + c.PersistentFlags().VisitAll(addToLocal) + return c.lflags +} + +// InheritedFlags returns all flags which were inherited from parent commands. +// This function does not modify the flags of the current command, it's purpose is to return the current state. +func (c *Command) InheritedFlags() *flag.FlagSet { + c.mergePersistentFlags() + + if c.iflags == nil { + c.iflags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError) + if c.flagErrorBuf == nil { + c.flagErrorBuf = new(bytes.Buffer) + } + c.iflags.SetOutput(c.flagErrorBuf) + } + + local := c.LocalFlags() + if c.globNormFunc != nil { + c.iflags.SetNormalizeFunc(c.globNormFunc) + } + + c.parentsPflags.VisitAll(func(f *flag.Flag) { + if c.iflags.Lookup(f.Name) == nil && local.Lookup(f.Name) == nil { + c.iflags.AddFlag(f) + } + }) + return c.iflags +} + +// NonInheritedFlags returns all flags which were not inherited from parent commands. +// This function does not modify the flags of the current command, it's purpose is to return the current state. +func (c *Command) NonInheritedFlags() *flag.FlagSet { + return c.LocalFlags() +} + +// PersistentFlags returns the persistent FlagSet specifically set in the current command. +func (c *Command) PersistentFlags() *flag.FlagSet { + if c.pflags == nil { + c.pflags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError) + if c.flagErrorBuf == nil { + c.flagErrorBuf = new(bytes.Buffer) + } + c.pflags.SetOutput(c.flagErrorBuf) + } + return c.pflags +} + +// ResetFlags deletes all flags from command. +func (c *Command) ResetFlags() { + c.flagErrorBuf = new(bytes.Buffer) + c.flagErrorBuf.Reset() + c.flags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError) + c.flags.SetOutput(c.flagErrorBuf) + c.pflags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError) + c.pflags.SetOutput(c.flagErrorBuf) + + c.lflags = nil + c.iflags = nil + c.parentsPflags = nil +} + +// HasFlags checks if the command contains any flags (local plus persistent from the entire structure). +func (c *Command) HasFlags() bool { + return c.Flags().HasFlags() +} + +// HasPersistentFlags checks if the command contains persistent flags. +func (c *Command) HasPersistentFlags() bool { + return c.PersistentFlags().HasFlags() +} + +// HasLocalFlags checks if the command has flags specifically declared locally. +func (c *Command) HasLocalFlags() bool { + return c.LocalFlags().HasFlags() +} + +// HasInheritedFlags checks if the command has flags inherited from its parent command. +func (c *Command) HasInheritedFlags() bool { + return c.InheritedFlags().HasFlags() +} + +// HasAvailableFlags checks if the command contains any flags (local plus persistent from the entire +// structure) which are not hidden or deprecated. +func (c *Command) HasAvailableFlags() bool { + return c.Flags().HasAvailableFlags() +} + +// HasAvailablePersistentFlags checks if the command contains persistent flags which are not hidden or deprecated. +func (c *Command) HasAvailablePersistentFlags() bool { + return c.PersistentFlags().HasAvailableFlags() +} + +// HasAvailableLocalFlags checks if the command has flags specifically declared locally which are not hidden +// or deprecated. +func (c *Command) HasAvailableLocalFlags() bool { + return c.LocalFlags().HasAvailableFlags() +} + +// HasAvailableInheritedFlags checks if the command has flags inherited from its parent command which are +// not hidden or deprecated. +func (c *Command) HasAvailableInheritedFlags() bool { + return c.InheritedFlags().HasAvailableFlags() +} + +// Flag climbs up the command tree looking for matching flag. +func (c *Command) Flag(name string) (flag *flag.Flag) { + flag = c.Flags().Lookup(name) + + if flag == nil { + flag = c.persistentFlag(name) + } + + return +} + +// Recursively find matching persistent flag. +func (c *Command) persistentFlag(name string) (flag *flag.Flag) { + if c.HasPersistentFlags() { + flag = c.PersistentFlags().Lookup(name) + } + + if flag == nil { + c.updateParentsPflags() + flag = c.parentsPflags.Lookup(name) + } + return +} + +// ParseFlags parses persistent flag tree and local flags. +func (c *Command) ParseFlags(args []string) error { + if c.DisableFlagParsing { + return nil + } + + if c.flagErrorBuf == nil { + c.flagErrorBuf = new(bytes.Buffer) + } + beforeErrorBufLen := c.flagErrorBuf.Len() + c.mergePersistentFlags() + + // do it here after merging all flags and just before parse + c.Flags().ParseErrorsWhitelist = flag.ParseErrorsWhitelist(c.FParseErrWhitelist) + + err := c.Flags().Parse(args) + // Print warnings if they occurred (e.g. deprecated flag messages). + if c.flagErrorBuf.Len()-beforeErrorBufLen > 0 && err == nil { + c.Print(c.flagErrorBuf.String()) + } + + return err +} + +// Parent returns a commands parent command. +func (c *Command) Parent() *Command { + return c.parent +} + +// mergePersistentFlags merges c.PersistentFlags() to c.Flags() +// and adds missing persistent flags of all parents. +func (c *Command) mergePersistentFlags() { + c.updateParentsPflags() + c.Flags().AddFlagSet(c.PersistentFlags()) + c.Flags().AddFlagSet(c.parentsPflags) +} + +// updateParentsPflags updates c.parentsPflags by adding +// new persistent flags of all parents. +// If c.parentsPflags == nil, it makes new. +func (c *Command) updateParentsPflags() { + if c.parentsPflags == nil { + c.parentsPflags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError) + c.parentsPflags.SetOutput(c.flagErrorBuf) + c.parentsPflags.SortFlags = false + } + + if c.globNormFunc != nil { + c.parentsPflags.SetNormalizeFunc(c.globNormFunc) + } + + c.Root().PersistentFlags().AddFlagSet(flag.CommandLine) + + c.VisitParents(func(parent *Command) { + c.parentsPflags.AddFlagSet(parent.PersistentFlags()) + }) +} + +// commandNameMatches checks if two command names are equal +// taking into account case sensitivity according to +// EnableCaseInsensitive global configuration. +func commandNameMatches(s string, t string) bool { + if EnableCaseInsensitive { + return strings.EqualFold(s, t) + } + + return s == t +} diff --git a/vendor/github.com/spf13/cobra/command_notwin.go b/vendor/github.com/spf13/cobra/command_notwin.go new file mode 100644 index 000000000..307f0c127 --- /dev/null +++ b/vendor/github.com/spf13/cobra/command_notwin.go @@ -0,0 +1,20 @@ +// Copyright 2013-2023 The Cobra Authors +// +// 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. + +//go:build !windows +// +build !windows + +package cobra + +var preExecHookFn func(*Command) diff --git a/vendor/github.com/spf13/cobra/command_win.go b/vendor/github.com/spf13/cobra/command_win.go new file mode 100644 index 000000000..adbef395c --- /dev/null +++ b/vendor/github.com/spf13/cobra/command_win.go @@ -0,0 +1,41 @@ +// Copyright 2013-2023 The Cobra Authors +// +// 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. + +//go:build windows +// +build windows + +package cobra + +import ( + "fmt" + "os" + "time" + + "github.com/inconshreveable/mousetrap" +) + +var preExecHookFn = preExecHook + +func preExecHook(c *Command) { + if MousetrapHelpText != "" && mousetrap.StartedByExplorer() { + c.Print(MousetrapHelpText) + if MousetrapDisplayDuration > 0 { + time.Sleep(MousetrapDisplayDuration) + } else { + c.Println("Press return to continue...") + fmt.Scanln() + } + os.Exit(1) + } +} diff --git a/vendor/github.com/spf13/cobra/completions.go b/vendor/github.com/spf13/cobra/completions.go new file mode 100644 index 000000000..c0c08b057 --- /dev/null +++ b/vendor/github.com/spf13/cobra/completions.go @@ -0,0 +1,939 @@ +// Copyright 2013-2023 The Cobra Authors +// +// 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 cobra + +import ( + "fmt" + "os" + "regexp" + "strconv" + "strings" + "sync" + + "github.com/spf13/pflag" +) + +const ( + // ShellCompRequestCmd is the name of the hidden command that is used to request + // completion results from the program. It is used by the shell completion scripts. + ShellCompRequestCmd = "__complete" + // ShellCompNoDescRequestCmd is the name of the hidden command that is used to request + // completion results without their description. It is used by the shell completion scripts. + ShellCompNoDescRequestCmd = "__completeNoDesc" +) + +// Global map of flag completion functions. Make sure to use flagCompletionMutex before you try to read and write from it. +var flagCompletionFunctions = map[*pflag.Flag]func(cmd *Command, args []string, toComplete string) ([]string, ShellCompDirective){} + +// lock for reading and writing from flagCompletionFunctions +var flagCompletionMutex = &sync.RWMutex{} + +// ShellCompDirective is a bit map representing the different behaviors the shell +// can be instructed to have once completions have been provided. +type ShellCompDirective int + +type flagCompError struct { + subCommand string + flagName string +} + +func (e *flagCompError) Error() string { + return "Subcommand '" + e.subCommand + "' does not support flag '" + e.flagName + "'" +} + +const ( + // ShellCompDirectiveError indicates an error occurred and completions should be ignored. + ShellCompDirectiveError ShellCompDirective = 1 << iota + + // ShellCompDirectiveNoSpace indicates that the shell should not add a space + // after the completion even if there is a single completion provided. + ShellCompDirectiveNoSpace + + // ShellCompDirectiveNoFileComp indicates that the shell should not provide + // file completion even when no completion is provided. + ShellCompDirectiveNoFileComp + + // ShellCompDirectiveFilterFileExt indicates that the provided completions + // should be used as file extension filters. + // For flags, using Command.MarkFlagFilename() and Command.MarkPersistentFlagFilename() + // is a shortcut to using this directive explicitly. The BashCompFilenameExt + // annotation can also be used to obtain the same behavior for flags. + ShellCompDirectiveFilterFileExt + + // ShellCompDirectiveFilterDirs indicates that only directory names should + // be provided in file completion. To request directory names within another + // directory, the returned completions should specify the directory within + // which to search. The BashCompSubdirsInDir annotation can be used to + // obtain the same behavior but only for flags. + ShellCompDirectiveFilterDirs + + // ShellCompDirectiveKeepOrder indicates that the shell should preserve the order + // in which the completions are provided + ShellCompDirectiveKeepOrder + + // =========================================================================== + + // All directives using iota should be above this one. + // For internal use. + shellCompDirectiveMaxValue + + // ShellCompDirectiveDefault indicates to let the shell perform its default + // behavior after completions have been provided. + // This one must be last to avoid messing up the iota count. + ShellCompDirectiveDefault ShellCompDirective = 0 +) + +const ( + // Constants for the completion command + compCmdName = "completion" + compCmdNoDescFlagName = "no-descriptions" + compCmdNoDescFlagDesc = "disable completion descriptions" + compCmdNoDescFlagDefault = false +) + +// CompletionOptions are the options to control shell completion +type CompletionOptions struct { + // DisableDefaultCmd prevents Cobra from creating a default 'completion' command + DisableDefaultCmd bool + // DisableNoDescFlag prevents Cobra from creating the '--no-descriptions' flag + // for shells that support completion descriptions + DisableNoDescFlag bool + // DisableDescriptions turns off all completion descriptions for shells + // that support them + DisableDescriptions bool + // HiddenDefaultCmd makes the default 'completion' command hidden + HiddenDefaultCmd bool +} + +// NoFileCompletions can be used to disable file completion for commands that should +// not trigger file completions. +func NoFileCompletions(cmd *Command, args []string, toComplete string) ([]string, ShellCompDirective) { + return nil, ShellCompDirectiveNoFileComp +} + +// FixedCompletions can be used to create a completion function which always +// returns the same results. +func FixedCompletions(choices []string, directive ShellCompDirective) func(cmd *Command, args []string, toComplete string) ([]string, ShellCompDirective) { + return func(cmd *Command, args []string, toComplete string) ([]string, ShellCompDirective) { + return choices, directive + } +} + +// RegisterFlagCompletionFunc should be called to register a function to provide completion for a flag. +func (c *Command) RegisterFlagCompletionFunc(flagName string, f func(cmd *Command, args []string, toComplete string) ([]string, ShellCompDirective)) error { + flag := c.Flag(flagName) + if flag == nil { + return fmt.Errorf("RegisterFlagCompletionFunc: flag '%s' does not exist", flagName) + } + flagCompletionMutex.Lock() + defer flagCompletionMutex.Unlock() + + if _, exists := flagCompletionFunctions[flag]; exists { + return fmt.Errorf("RegisterFlagCompletionFunc: flag '%s' already registered", flagName) + } + flagCompletionFunctions[flag] = f + return nil +} + +// GetFlagCompletionFunc returns the completion function for the given flag of the command, if available. +func (c *Command) GetFlagCompletionFunc(flagName string) (func(*Command, []string, string) ([]string, ShellCompDirective), bool) { + flag := c.Flag(flagName) + if flag == nil { + return nil, false + } + + flagCompletionMutex.RLock() + defer flagCompletionMutex.RUnlock() + + completionFunc, exists := flagCompletionFunctions[flag] + return completionFunc, exists +} + +// Returns a string listing the different directive enabled in the specified parameter +func (d ShellCompDirective) string() string { + var directives []string + if d&ShellCompDirectiveError != 0 { + directives = append(directives, "ShellCompDirectiveError") + } + if d&ShellCompDirectiveNoSpace != 0 { + directives = append(directives, "ShellCompDirectiveNoSpace") + } + if d&ShellCompDirectiveNoFileComp != 0 { + directives = append(directives, "ShellCompDirectiveNoFileComp") + } + if d&ShellCompDirectiveFilterFileExt != 0 { + directives = append(directives, "ShellCompDirectiveFilterFileExt") + } + if d&ShellCompDirectiveFilterDirs != 0 { + directives = append(directives, "ShellCompDirectiveFilterDirs") + } + if d&ShellCompDirectiveKeepOrder != 0 { + directives = append(directives, "ShellCompDirectiveKeepOrder") + } + if len(directives) == 0 { + directives = append(directives, "ShellCompDirectiveDefault") + } + + if d >= shellCompDirectiveMaxValue { + return fmt.Sprintf("ERROR: unexpected ShellCompDirective value: %d", d) + } + return strings.Join(directives, ", ") +} + +// initCompleteCmd adds a special hidden command that can be used to request custom completions. +func (c *Command) initCompleteCmd(args []string) { + completeCmd := &Command{ + Use: fmt.Sprintf("%s [command-line]", ShellCompRequestCmd), + Aliases: []string{ShellCompNoDescRequestCmd}, + DisableFlagsInUseLine: true, + Hidden: true, + DisableFlagParsing: true, + Args: MinimumNArgs(1), + Short: "Request shell completion choices for the specified command-line", + Long: fmt.Sprintf("%[2]s is a special command that is used by the shell completion logic\n%[1]s", + "to request completion choices for the specified command-line.", ShellCompRequestCmd), + Run: func(cmd *Command, args []string) { + finalCmd, completions, directive, err := cmd.getCompletions(args) + if err != nil { + CompErrorln(err.Error()) + // Keep going for multiple reasons: + // 1- There could be some valid completions even though there was an error + // 2- Even without completions, we need to print the directive + } + + noDescriptions := cmd.CalledAs() == ShellCompNoDescRequestCmd + if !noDescriptions { + if doDescriptions, err := strconv.ParseBool(getEnvConfig(cmd, configEnvVarSuffixDescriptions)); err == nil { + noDescriptions = !doDescriptions + } + } + noActiveHelp := GetActiveHelpConfig(finalCmd) == activeHelpGlobalDisable + out := finalCmd.OutOrStdout() + for _, comp := range completions { + if noActiveHelp && strings.HasPrefix(comp, activeHelpMarker) { + // Remove all activeHelp entries if it's disabled. + continue + } + if noDescriptions { + // Remove any description that may be included following a tab character. + comp = strings.SplitN(comp, "\t", 2)[0] + } + + // Make sure we only write the first line to the output. + // This is needed if a description contains a linebreak. + // Otherwise the shell scripts will interpret the other lines as new flags + // and could therefore provide a wrong completion. + comp = strings.SplitN(comp, "\n", 2)[0] + + // Finally trim the completion. This is especially important to get rid + // of a trailing tab when there are no description following it. + // For example, a sub-command without a description should not be completed + // with a tab at the end (or else zsh will show a -- following it + // although there is no description). + comp = strings.TrimSpace(comp) + + // Print each possible completion to the output for the completion script to consume. + fmt.Fprintln(out, comp) + } + + // As the last printout, print the completion directive for the completion script to parse. + // The directive integer must be that last character following a single colon (:). + // The completion script expects : + fmt.Fprintf(out, ":%d\n", directive) + + // Print some helpful info to stderr for the user to understand. + // Output from stderr must be ignored by the completion script. + fmt.Fprintf(finalCmd.ErrOrStderr(), "Completion ended with directive: %s\n", directive.string()) + }, + } + c.AddCommand(completeCmd) + subCmd, _, err := c.Find(args) + if err != nil || subCmd.Name() != ShellCompRequestCmd { + // Only create this special command if it is actually being called. + // This reduces possible side-effects of creating such a command; + // for example, having this command would cause problems to a + // cobra program that only consists of the root command, since this + // command would cause the root command to suddenly have a subcommand. + c.RemoveCommand(completeCmd) + } +} + +func (c *Command) getCompletions(args []string) (*Command, []string, ShellCompDirective, error) { + // The last argument, which is not completely typed by the user, + // should not be part of the list of arguments + toComplete := args[len(args)-1] + trimmedArgs := args[:len(args)-1] + + var finalCmd *Command + var finalArgs []string + var err error + // Find the real command for which completion must be performed + // check if we need to traverse here to parse local flags on parent commands + if c.Root().TraverseChildren { + finalCmd, finalArgs, err = c.Root().Traverse(trimmedArgs) + } else { + // For Root commands that don't specify any value for their Args fields, when we call + // Find(), if those Root commands don't have any sub-commands, they will accept arguments. + // However, because we have added the __complete sub-command in the current code path, the + // call to Find() -> legacyArgs() will return an error if there are any arguments. + // To avoid this, we first remove the __complete command to get back to having no sub-commands. + rootCmd := c.Root() + if len(rootCmd.Commands()) == 1 { + rootCmd.RemoveCommand(c) + } + + finalCmd, finalArgs, err = rootCmd.Find(trimmedArgs) + } + if err != nil { + // Unable to find the real command. E.g., someInvalidCmd + return c, []string{}, ShellCompDirectiveDefault, fmt.Errorf("unable to find a command for arguments: %v", trimmedArgs) + } + finalCmd.ctx = c.ctx + + // These flags are normally added when `execute()` is called on `finalCmd`, + // however, when doing completion, we don't call `finalCmd.execute()`. + // Let's add the --help and --version flag ourselves but only if the finalCmd + // has not disabled flag parsing; if flag parsing is disabled, it is up to the + // finalCmd itself to handle the completion of *all* flags. + if !finalCmd.DisableFlagParsing { + finalCmd.InitDefaultHelpFlag() + finalCmd.InitDefaultVersionFlag() + } + + // Check if we are doing flag value completion before parsing the flags. + // This is important because if we are completing a flag value, we need to also + // remove the flag name argument from the list of finalArgs or else the parsing + // could fail due to an invalid value (incomplete) for the flag. + flag, finalArgs, toComplete, flagErr := checkIfFlagCompletion(finalCmd, finalArgs, toComplete) + + // Check if interspersed is false or -- was set on a previous arg. + // This works by counting the arguments. Normally -- is not counted as arg but + // if -- was already set or interspersed is false and there is already one arg then + // the extra added -- is counted as arg. + flagCompletion := true + _ = finalCmd.ParseFlags(append(finalArgs, "--")) + newArgCount := finalCmd.Flags().NArg() + + // Parse the flags early so we can check if required flags are set + if err = finalCmd.ParseFlags(finalArgs); err != nil { + return finalCmd, []string{}, ShellCompDirectiveDefault, fmt.Errorf("Error while parsing flags from args %v: %s", finalArgs, err.Error()) + } + + realArgCount := finalCmd.Flags().NArg() + if newArgCount > realArgCount { + // don't do flag completion (see above) + flagCompletion = false + } + // Error while attempting to parse flags + if flagErr != nil { + // If error type is flagCompError and we don't want flagCompletion we should ignore the error + if _, ok := flagErr.(*flagCompError); !(ok && !flagCompletion) { + return finalCmd, []string{}, ShellCompDirectiveDefault, flagErr + } + } + + // Look for the --help or --version flags. If they are present, + // there should be no further completions. + if helpOrVersionFlagPresent(finalCmd) { + return finalCmd, []string{}, ShellCompDirectiveNoFileComp, nil + } + + // We only remove the flags from the arguments if DisableFlagParsing is not set. + // This is important for commands which have requested to do their own flag completion. + if !finalCmd.DisableFlagParsing { + finalArgs = finalCmd.Flags().Args() + } + + if flag != nil && flagCompletion { + // Check if we are completing a flag value subject to annotations + if validExts, present := flag.Annotations[BashCompFilenameExt]; present { + if len(validExts) != 0 { + // File completion filtered by extensions + return finalCmd, validExts, ShellCompDirectiveFilterFileExt, nil + } + + // The annotation requests simple file completion. There is no reason to do + // that since it is the default behavior anyway. Let's ignore this annotation + // in case the program also registered a completion function for this flag. + // Even though it is a mistake on the program's side, let's be nice when we can. + } + + if subDir, present := flag.Annotations[BashCompSubdirsInDir]; present { + if len(subDir) == 1 { + // Directory completion from within a directory + return finalCmd, subDir, ShellCompDirectiveFilterDirs, nil + } + // Directory completion + return finalCmd, []string{}, ShellCompDirectiveFilterDirs, nil + } + } + + var completions []string + var directive ShellCompDirective + + // Enforce flag groups before doing flag completions + finalCmd.enforceFlagGroupsForCompletion() + + // Note that we want to perform flagname completion even if finalCmd.DisableFlagParsing==true; + // doing this allows for completion of persistent flag names even for commands that disable flag parsing. + // + // When doing completion of a flag name, as soon as an argument starts with + // a '-' we know it is a flag. We cannot use isFlagArg() here as it requires + // the flag name to be complete + if flag == nil && len(toComplete) > 0 && toComplete[0] == '-' && !strings.Contains(toComplete, "=") && flagCompletion { + // First check for required flags + completions = completeRequireFlags(finalCmd, toComplete) + + // If we have not found any required flags, only then can we show regular flags + if len(completions) == 0 { + doCompleteFlags := func(flag *pflag.Flag) { + if !flag.Changed || + strings.Contains(flag.Value.Type(), "Slice") || + strings.Contains(flag.Value.Type(), "Array") { + // If the flag is not already present, or if it can be specified multiple times (Array or Slice) + // we suggest it as a completion + completions = append(completions, getFlagNameCompletions(flag, toComplete)...) + } + } + + // We cannot use finalCmd.Flags() because we may not have called ParsedFlags() for commands + // that have set DisableFlagParsing; it is ParseFlags() that merges the inherited and + // non-inherited flags. + finalCmd.InheritedFlags().VisitAll(func(flag *pflag.Flag) { + doCompleteFlags(flag) + }) + // Try to complete non-inherited flags even if DisableFlagParsing==true. + // This allows programs to tell Cobra about flags for completion even + // if the actual parsing of flags is not done by Cobra. + // For instance, Helm uses this to provide flag name completion for + // some of its plugins. + finalCmd.NonInheritedFlags().VisitAll(func(flag *pflag.Flag) { + doCompleteFlags(flag) + }) + } + + directive = ShellCompDirectiveNoFileComp + if len(completions) == 1 && strings.HasSuffix(completions[0], "=") { + // If there is a single completion, the shell usually adds a space + // after the completion. We don't want that if the flag ends with an = + directive = ShellCompDirectiveNoSpace + } + + if !finalCmd.DisableFlagParsing { + // If DisableFlagParsing==false, we have completed the flags as known by Cobra; + // we can return what we found. + // If DisableFlagParsing==true, Cobra may not be aware of all flags, so we + // let the logic continue to see if ValidArgsFunction needs to be called. + return finalCmd, completions, directive, nil + } + } else { + directive = ShellCompDirectiveDefault + if flag == nil { + foundLocalNonPersistentFlag := false + // If TraverseChildren is true on the root command we don't check for + // local flags because we can use a local flag on a parent command + if !finalCmd.Root().TraverseChildren { + // Check if there are any local, non-persistent flags on the command-line + localNonPersistentFlags := finalCmd.LocalNonPersistentFlags() + finalCmd.NonInheritedFlags().VisitAll(func(flag *pflag.Flag) { + if localNonPersistentFlags.Lookup(flag.Name) != nil && flag.Changed { + foundLocalNonPersistentFlag = true + } + }) + } + + // Complete subcommand names, including the help command + if len(finalArgs) == 0 && !foundLocalNonPersistentFlag { + // We only complete sub-commands if: + // - there are no arguments on the command-line and + // - there are no local, non-persistent flags on the command-line or TraverseChildren is true + for _, subCmd := range finalCmd.Commands() { + if subCmd.IsAvailableCommand() || subCmd == finalCmd.helpCommand { + if strings.HasPrefix(subCmd.Name(), toComplete) { + completions = append(completions, fmt.Sprintf("%s\t%s", subCmd.Name(), subCmd.Short)) + } + directive = ShellCompDirectiveNoFileComp + } + } + } + + // Complete required flags even without the '-' prefix + completions = append(completions, completeRequireFlags(finalCmd, toComplete)...) + + // Always complete ValidArgs, even if we are completing a subcommand name. + // This is for commands that have both subcommands and ValidArgs. + if len(finalCmd.ValidArgs) > 0 { + if len(finalArgs) == 0 { + // ValidArgs are only for the first argument + for _, validArg := range finalCmd.ValidArgs { + if strings.HasPrefix(validArg, toComplete) { + completions = append(completions, validArg) + } + } + directive = ShellCompDirectiveNoFileComp + + // If no completions were found within commands or ValidArgs, + // see if there are any ArgAliases that should be completed. + if len(completions) == 0 { + for _, argAlias := range finalCmd.ArgAliases { + if strings.HasPrefix(argAlias, toComplete) { + completions = append(completions, argAlias) + } + } + } + } + + // If there are ValidArgs specified (even if they don't match), we stop completion. + // Only one of ValidArgs or ValidArgsFunction can be used for a single command. + return finalCmd, completions, directive, nil + } + + // Let the logic continue so as to add any ValidArgsFunction completions, + // even if we already found sub-commands. + // This is for commands that have subcommands but also specify a ValidArgsFunction. + } + } + + // Find the completion function for the flag or command + var completionFn func(cmd *Command, args []string, toComplete string) ([]string, ShellCompDirective) + if flag != nil && flagCompletion { + flagCompletionMutex.RLock() + completionFn = flagCompletionFunctions[flag] + flagCompletionMutex.RUnlock() + } else { + completionFn = finalCmd.ValidArgsFunction + } + if completionFn != nil { + // Go custom completion defined for this flag or command. + // Call the registered completion function to get the completions. + var comps []string + comps, directive = completionFn(finalCmd, finalArgs, toComplete) + completions = append(completions, comps...) + } + + return finalCmd, completions, directive, nil +} + +func helpOrVersionFlagPresent(cmd *Command) bool { + if versionFlag := cmd.Flags().Lookup("version"); versionFlag != nil && + len(versionFlag.Annotations[FlagSetByCobraAnnotation]) > 0 && versionFlag.Changed { + return true + } + if helpFlag := cmd.Flags().Lookup("help"); helpFlag != nil && + len(helpFlag.Annotations[FlagSetByCobraAnnotation]) > 0 && helpFlag.Changed { + return true + } + return false +} + +func getFlagNameCompletions(flag *pflag.Flag, toComplete string) []string { + if nonCompletableFlag(flag) { + return []string{} + } + + var completions []string + flagName := "--" + flag.Name + if strings.HasPrefix(flagName, toComplete) { + // Flag without the = + completions = append(completions, fmt.Sprintf("%s\t%s", flagName, flag.Usage)) + + // Why suggest both long forms: --flag and --flag= ? + // This forces the user to *always* have to type either an = or a space after the flag name. + // Let's be nice and avoid making users have to do that. + // Since boolean flags and shortname flags don't show the = form, let's go that route and never show it. + // The = form will still work, we just won't suggest it. + // This also makes the list of suggested flags shorter as we avoid all the = forms. + // + // if len(flag.NoOptDefVal) == 0 { + // // Flag requires a value, so it can be suffixed with = + // flagName += "=" + // completions = append(completions, fmt.Sprintf("%s\t%s", flagName, flag.Usage)) + // } + } + + flagName = "-" + flag.Shorthand + if len(flag.Shorthand) > 0 && strings.HasPrefix(flagName, toComplete) { + completions = append(completions, fmt.Sprintf("%s\t%s", flagName, flag.Usage)) + } + + return completions +} + +func completeRequireFlags(finalCmd *Command, toComplete string) []string { + var completions []string + + doCompleteRequiredFlags := func(flag *pflag.Flag) { + if _, present := flag.Annotations[BashCompOneRequiredFlag]; present { + if !flag.Changed { + // If the flag is not already present, we suggest it as a completion + completions = append(completions, getFlagNameCompletions(flag, toComplete)...) + } + } + } + + // We cannot use finalCmd.Flags() because we may not have called ParsedFlags() for commands + // that have set DisableFlagParsing; it is ParseFlags() that merges the inherited and + // non-inherited flags. + finalCmd.InheritedFlags().VisitAll(func(flag *pflag.Flag) { + doCompleteRequiredFlags(flag) + }) + finalCmd.NonInheritedFlags().VisitAll(func(flag *pflag.Flag) { + doCompleteRequiredFlags(flag) + }) + + return completions +} + +func checkIfFlagCompletion(finalCmd *Command, args []string, lastArg string) (*pflag.Flag, []string, string, error) { + if finalCmd.DisableFlagParsing { + // We only do flag completion if we are allowed to parse flags + // This is important for commands which have requested to do their own flag completion. + return nil, args, lastArg, nil + } + + var flagName string + trimmedArgs := args + flagWithEqual := false + orgLastArg := lastArg + + // When doing completion of a flag name, as soon as an argument starts with + // a '-' we know it is a flag. We cannot use isFlagArg() here as that function + // requires the flag name to be complete + if len(lastArg) > 0 && lastArg[0] == '-' { + if index := strings.Index(lastArg, "="); index >= 0 { + // Flag with an = + if strings.HasPrefix(lastArg[:index], "--") { + // Flag has full name + flagName = lastArg[2:index] + } else { + // Flag is shorthand + // We have to get the last shorthand flag name + // e.g. `-asd` => d to provide the correct completion + // https://github.com/spf13/cobra/issues/1257 + flagName = lastArg[index-1 : index] + } + lastArg = lastArg[index+1:] + flagWithEqual = true + } else { + // Normal flag completion + return nil, args, lastArg, nil + } + } + + if len(flagName) == 0 { + if len(args) > 0 { + prevArg := args[len(args)-1] + if isFlagArg(prevArg) { + // Only consider the case where the flag does not contain an =. + // If the flag contains an = it means it has already been fully processed, + // so we don't need to deal with it here. + if index := strings.Index(prevArg, "="); index < 0 { + if strings.HasPrefix(prevArg, "--") { + // Flag has full name + flagName = prevArg[2:] + } else { + // Flag is shorthand + // We have to get the last shorthand flag name + // e.g. `-asd` => d to provide the correct completion + // https://github.com/spf13/cobra/issues/1257 + flagName = prevArg[len(prevArg)-1:] + } + // Remove the uncompleted flag or else there could be an error created + // for an invalid value for that flag + trimmedArgs = args[:len(args)-1] + } + } + } + } + + if len(flagName) == 0 { + // Not doing flag completion + return nil, trimmedArgs, lastArg, nil + } + + flag := findFlag(finalCmd, flagName) + if flag == nil { + // Flag not supported by this command, the interspersed option might be set so return the original args + return nil, args, orgLastArg, &flagCompError{subCommand: finalCmd.Name(), flagName: flagName} + } + + if !flagWithEqual { + if len(flag.NoOptDefVal) != 0 { + // We had assumed dealing with a two-word flag but the flag is a boolean flag. + // In that case, there is no value following it, so we are not really doing flag completion. + // Reset everything to do noun completion. + trimmedArgs = args + flag = nil + } + } + + return flag, trimmedArgs, lastArg, nil +} + +// InitDefaultCompletionCmd adds a default 'completion' command to c. +// This function will do nothing if any of the following is true: +// 1- the feature has been explicitly disabled by the program, +// 2- c has no subcommands (to avoid creating one), +// 3- c already has a 'completion' command provided by the program. +func (c *Command) InitDefaultCompletionCmd() { + if c.CompletionOptions.DisableDefaultCmd || !c.HasSubCommands() { + return + } + + for _, cmd := range c.commands { + if cmd.Name() == compCmdName || cmd.HasAlias(compCmdName) { + // A completion command is already available + return + } + } + + haveNoDescFlag := !c.CompletionOptions.DisableNoDescFlag && !c.CompletionOptions.DisableDescriptions + + completionCmd := &Command{ + Use: compCmdName, + Short: "Generate the autocompletion script for the specified shell", + Long: fmt.Sprintf(`Generate the autocompletion script for %[1]s for the specified shell. +See each sub-command's help for details on how to use the generated script. +`, c.Root().Name()), + Args: NoArgs, + ValidArgsFunction: NoFileCompletions, + Hidden: c.CompletionOptions.HiddenDefaultCmd, + GroupID: c.completionCommandGroupID, + } + c.AddCommand(completionCmd) + + out := c.OutOrStdout() + noDesc := c.CompletionOptions.DisableDescriptions + shortDesc := "Generate the autocompletion script for %s" + bash := &Command{ + Use: "bash", + Short: fmt.Sprintf(shortDesc, "bash"), + Long: fmt.Sprintf(`Generate the autocompletion script for the bash shell. + +This script depends on the 'bash-completion' package. +If it is not installed already, you can install it via your OS's package manager. + +To load completions in your current shell session: + + source <(%[1]s completion bash) + +To load completions for every new session, execute once: + +#### Linux: + + %[1]s completion bash > /etc/bash_completion.d/%[1]s + +#### macOS: + + %[1]s completion bash > $(brew --prefix)/etc/bash_completion.d/%[1]s + +You will need to start a new shell for this setup to take effect. +`, c.Root().Name()), + Args: NoArgs, + DisableFlagsInUseLine: true, + ValidArgsFunction: NoFileCompletions, + RunE: func(cmd *Command, args []string) error { + return cmd.Root().GenBashCompletionV2(out, !noDesc) + }, + } + if haveNoDescFlag { + bash.Flags().BoolVar(&noDesc, compCmdNoDescFlagName, compCmdNoDescFlagDefault, compCmdNoDescFlagDesc) + } + + zsh := &Command{ + Use: "zsh", + Short: fmt.Sprintf(shortDesc, "zsh"), + Long: fmt.Sprintf(`Generate the autocompletion script for the zsh shell. + +If shell completion is not already enabled in your environment you will need +to enable it. You can execute the following once: + + echo "autoload -U compinit; compinit" >> ~/.zshrc + +To load completions in your current shell session: + + source <(%[1]s completion zsh) + +To load completions for every new session, execute once: + +#### Linux: + + %[1]s completion zsh > "${fpath[1]}/_%[1]s" + +#### macOS: + + %[1]s completion zsh > $(brew --prefix)/share/zsh/site-functions/_%[1]s + +You will need to start a new shell for this setup to take effect. +`, c.Root().Name()), + Args: NoArgs, + ValidArgsFunction: NoFileCompletions, + RunE: func(cmd *Command, args []string) error { + if noDesc { + return cmd.Root().GenZshCompletionNoDesc(out) + } + return cmd.Root().GenZshCompletion(out) + }, + } + if haveNoDescFlag { + zsh.Flags().BoolVar(&noDesc, compCmdNoDescFlagName, compCmdNoDescFlagDefault, compCmdNoDescFlagDesc) + } + + fish := &Command{ + Use: "fish", + Short: fmt.Sprintf(shortDesc, "fish"), + Long: fmt.Sprintf(`Generate the autocompletion script for the fish shell. + +To load completions in your current shell session: + + %[1]s completion fish | source + +To load completions for every new session, execute once: + + %[1]s completion fish > ~/.config/fish/completions/%[1]s.fish + +You will need to start a new shell for this setup to take effect. +`, c.Root().Name()), + Args: NoArgs, + ValidArgsFunction: NoFileCompletions, + RunE: func(cmd *Command, args []string) error { + return cmd.Root().GenFishCompletion(out, !noDesc) + }, + } + if haveNoDescFlag { + fish.Flags().BoolVar(&noDesc, compCmdNoDescFlagName, compCmdNoDescFlagDefault, compCmdNoDescFlagDesc) + } + + powershell := &Command{ + Use: "powershell", + Short: fmt.Sprintf(shortDesc, "powershell"), + Long: fmt.Sprintf(`Generate the autocompletion script for powershell. + +To load completions in your current shell session: + + %[1]s completion powershell | Out-String | Invoke-Expression + +To load completions for every new session, add the output of the above command +to your powershell profile. +`, c.Root().Name()), + Args: NoArgs, + ValidArgsFunction: NoFileCompletions, + RunE: func(cmd *Command, args []string) error { + if noDesc { + return cmd.Root().GenPowerShellCompletion(out) + } + return cmd.Root().GenPowerShellCompletionWithDesc(out) + + }, + } + if haveNoDescFlag { + powershell.Flags().BoolVar(&noDesc, compCmdNoDescFlagName, compCmdNoDescFlagDefault, compCmdNoDescFlagDesc) + } + + completionCmd.AddCommand(bash, zsh, fish, powershell) +} + +func findFlag(cmd *Command, name string) *pflag.Flag { + flagSet := cmd.Flags() + if len(name) == 1 { + // First convert the short flag into a long flag + // as the cmd.Flag() search only accepts long flags + if short := flagSet.ShorthandLookup(name); short != nil { + name = short.Name + } else { + set := cmd.InheritedFlags() + if short = set.ShorthandLookup(name); short != nil { + name = short.Name + } else { + return nil + } + } + } + return cmd.Flag(name) +} + +// CompDebug prints the specified string to the same file as where the +// completion script prints its logs. +// Note that completion printouts should never be on stdout as they would +// be wrongly interpreted as actual completion choices by the completion script. +func CompDebug(msg string, printToStdErr bool) { + msg = fmt.Sprintf("[Debug] %s", msg) + + // Such logs are only printed when the user has set the environment + // variable BASH_COMP_DEBUG_FILE to the path of some file to be used. + if path := os.Getenv("BASH_COMP_DEBUG_FILE"); path != "" { + f, err := os.OpenFile(path, + os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) + if err == nil { + defer f.Close() + WriteStringAndCheck(f, msg) + } + } + + if printToStdErr { + // Must print to stderr for this not to be read by the completion script. + fmt.Fprint(os.Stderr, msg) + } +} + +// CompDebugln prints the specified string with a newline at the end +// to the same file as where the completion script prints its logs. +// Such logs are only printed when the user has set the environment +// variable BASH_COMP_DEBUG_FILE to the path of some file to be used. +func CompDebugln(msg string, printToStdErr bool) { + CompDebug(fmt.Sprintf("%s\n", msg), printToStdErr) +} + +// CompError prints the specified completion message to stderr. +func CompError(msg string) { + msg = fmt.Sprintf("[Error] %s", msg) + CompDebug(msg, true) +} + +// CompErrorln prints the specified completion message to stderr with a newline at the end. +func CompErrorln(msg string) { + CompError(fmt.Sprintf("%s\n", msg)) +} + +// These values should not be changed: users will be using them explicitly. +const ( + configEnvVarGlobalPrefix = "COBRA" + configEnvVarSuffixDescriptions = "COMPLETION_DESCRIPTIONS" +) + +var configEnvVarPrefixSubstRegexp = regexp.MustCompile(`[^A-Z0-9_]`) + +// configEnvVar returns the name of the program-specific configuration environment +// variable. It has the format _ where is the name of the +// root command in upper case, with all non-ASCII-alphanumeric characters replaced by `_`. +func configEnvVar(name, suffix string) string { + // This format should not be changed: users will be using it explicitly. + v := strings.ToUpper(fmt.Sprintf("%s_%s", name, suffix)) + v = configEnvVarPrefixSubstRegexp.ReplaceAllString(v, "_") + return v +} + +// getEnvConfig returns the value of the configuration environment variable +// _ where is the name of the root command in upper +// case, with all non-ASCII-alphanumeric characters replaced by `_`. +// If the value is empty or not set, the value of the environment variable +// COBRA_ is returned instead. +func getEnvConfig(cmd *Command, suffix string) string { + v := os.Getenv(configEnvVar(cmd.Root().Name(), suffix)) + if v == "" { + v = os.Getenv(configEnvVar(configEnvVarGlobalPrefix, suffix)) + } + return v +} diff --git a/vendor/github.com/spf13/cobra/fish_completions.go b/vendor/github.com/spf13/cobra/fish_completions.go new file mode 100644 index 000000000..12d61b691 --- /dev/null +++ b/vendor/github.com/spf13/cobra/fish_completions.go @@ -0,0 +1,292 @@ +// Copyright 2013-2023 The Cobra Authors +// +// 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 cobra + +import ( + "bytes" + "fmt" + "io" + "os" + "strings" +) + +func genFishComp(buf io.StringWriter, name string, includeDesc bool) { + // Variables should not contain a '-' or ':' character + nameForVar := name + nameForVar = strings.ReplaceAll(nameForVar, "-", "_") + nameForVar = strings.ReplaceAll(nameForVar, ":", "_") + + compCmd := ShellCompRequestCmd + if !includeDesc { + compCmd = ShellCompNoDescRequestCmd + } + WriteStringAndCheck(buf, fmt.Sprintf("# fish completion for %-36s -*- shell-script -*-\n", name)) + WriteStringAndCheck(buf, fmt.Sprintf(` +function __%[1]s_debug + set -l file "$BASH_COMP_DEBUG_FILE" + if test -n "$file" + echo "$argv" >> $file + end +end + +function __%[1]s_perform_completion + __%[1]s_debug "Starting __%[1]s_perform_completion" + + # Extract all args except the last one + set -l args (commandline -opc) + # Extract the last arg and escape it in case it is a space + set -l lastArg (string escape -- (commandline -ct)) + + __%[1]s_debug "args: $args" + __%[1]s_debug "last arg: $lastArg" + + # Disable ActiveHelp which is not supported for fish shell + set -l requestComp "%[10]s=0 $args[1] %[3]s $args[2..-1] $lastArg" + + __%[1]s_debug "Calling $requestComp" + set -l results (eval $requestComp 2> /dev/null) + + # Some programs may output extra empty lines after the directive. + # Let's ignore them or else it will break completion. + # Ref: https://github.com/spf13/cobra/issues/1279 + for line in $results[-1..1] + if test (string trim -- $line) = "" + # Found an empty line, remove it + set results $results[1..-2] + else + # Found non-empty line, we have our proper output + break + end + end + + set -l comps $results[1..-2] + set -l directiveLine $results[-1] + + # For Fish, when completing a flag with an = (e.g., -n=) + # completions must be prefixed with the flag + set -l flagPrefix (string match -r -- '-.*=' "$lastArg") + + __%[1]s_debug "Comps: $comps" + __%[1]s_debug "DirectiveLine: $directiveLine" + __%[1]s_debug "flagPrefix: $flagPrefix" + + for comp in $comps + printf "%%s%%s\n" "$flagPrefix" "$comp" + end + + printf "%%s\n" "$directiveLine" +end + +# this function limits calls to __%[1]s_perform_completion, by caching the result behind $__%[1]s_perform_completion_once_result +function __%[1]s_perform_completion_once + __%[1]s_debug "Starting __%[1]s_perform_completion_once" + + if test -n "$__%[1]s_perform_completion_once_result" + __%[1]s_debug "Seems like a valid result already exists, skipping __%[1]s_perform_completion" + return 0 + end + + set --global __%[1]s_perform_completion_once_result (__%[1]s_perform_completion) + if test -z "$__%[1]s_perform_completion_once_result" + __%[1]s_debug "No completions, probably due to a failure" + return 1 + end + + __%[1]s_debug "Performed completions and set __%[1]s_perform_completion_once_result" + return 0 +end + +# this function is used to clear the $__%[1]s_perform_completion_once_result variable after completions are run +function __%[1]s_clear_perform_completion_once_result + __%[1]s_debug "" + __%[1]s_debug "========= clearing previously set __%[1]s_perform_completion_once_result variable ==========" + set --erase __%[1]s_perform_completion_once_result + __%[1]s_debug "Successfully erased the variable __%[1]s_perform_completion_once_result" +end + +function __%[1]s_requires_order_preservation + __%[1]s_debug "" + __%[1]s_debug "========= checking if order preservation is required ==========" + + __%[1]s_perform_completion_once + if test -z "$__%[1]s_perform_completion_once_result" + __%[1]s_debug "Error determining if order preservation is required" + return 1 + end + + set -l directive (string sub --start 2 $__%[1]s_perform_completion_once_result[-1]) + __%[1]s_debug "Directive is: $directive" + + set -l shellCompDirectiveKeepOrder %[9]d + set -l keeporder (math (math --scale 0 $directive / $shellCompDirectiveKeepOrder) %% 2) + __%[1]s_debug "Keeporder is: $keeporder" + + if test $keeporder -ne 0 + __%[1]s_debug "This does require order preservation" + return 0 + end + + __%[1]s_debug "This doesn't require order preservation" + return 1 +end + + +# This function does two things: +# - Obtain the completions and store them in the global __%[1]s_comp_results +# - Return false if file completion should be performed +function __%[1]s_prepare_completions + __%[1]s_debug "" + __%[1]s_debug "========= starting completion logic ==========" + + # Start fresh + set --erase __%[1]s_comp_results + + __%[1]s_perform_completion_once + __%[1]s_debug "Completion results: $__%[1]s_perform_completion_once_result" + + if test -z "$__%[1]s_perform_completion_once_result" + __%[1]s_debug "No completion, probably due to a failure" + # Might as well do file completion, in case it helps + return 1 + end + + set -l directive (string sub --start 2 $__%[1]s_perform_completion_once_result[-1]) + set --global __%[1]s_comp_results $__%[1]s_perform_completion_once_result[1..-2] + + __%[1]s_debug "Completions are: $__%[1]s_comp_results" + __%[1]s_debug "Directive is: $directive" + + set -l shellCompDirectiveError %[4]d + set -l shellCompDirectiveNoSpace %[5]d + set -l shellCompDirectiveNoFileComp %[6]d + set -l shellCompDirectiveFilterFileExt %[7]d + set -l shellCompDirectiveFilterDirs %[8]d + + if test -z "$directive" + set directive 0 + end + + set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) %% 2) + if test $compErr -eq 1 + __%[1]s_debug "Received error directive: aborting." + # Might as well do file completion, in case it helps + return 1 + end + + set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) %% 2) + set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) %% 2) + if test $filefilter -eq 1; or test $dirfilter -eq 1 + __%[1]s_debug "File extension filtering or directory filtering not supported" + # Do full file completion instead + return 1 + end + + set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) %% 2) + set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) %% 2) + + __%[1]s_debug "nospace: $nospace, nofiles: $nofiles" + + # If we want to prevent a space, or if file completion is NOT disabled, + # we need to count the number of valid completions. + # To do so, we will filter on prefix as the completions we have received + # may not already be filtered so as to allow fish to match on different + # criteria than the prefix. + if test $nospace -ne 0; or test $nofiles -eq 0 + set -l prefix (commandline -t | string escape --style=regex) + __%[1]s_debug "prefix: $prefix" + + set -l completions (string match -r -- "^$prefix.*" $__%[1]s_comp_results) + set --global __%[1]s_comp_results $completions + __%[1]s_debug "Filtered completions are: $__%[1]s_comp_results" + + # Important not to quote the variable for count to work + set -l numComps (count $__%[1]s_comp_results) + __%[1]s_debug "numComps: $numComps" + + if test $numComps -eq 1; and test $nospace -ne 0 + # We must first split on \t to get rid of the descriptions to be + # able to check what the actual completion will be. + # We don't need descriptions anyway since there is only a single + # real completion which the shell will expand immediately. + set -l split (string split --max 1 \t $__%[1]s_comp_results[1]) + + # Fish won't add a space if the completion ends with any + # of the following characters: @=/:., + set -l lastChar (string sub -s -1 -- $split) + if not string match -r -q "[@=/:.,]" -- "$lastChar" + # In other cases, to support the "nospace" directive we trick the shell + # by outputting an extra, longer completion. + __%[1]s_debug "Adding second completion to perform nospace directive" + set --global __%[1]s_comp_results $split[1] $split[1]. + __%[1]s_debug "Completions are now: $__%[1]s_comp_results" + end + end + + if test $numComps -eq 0; and test $nofiles -eq 0 + # To be consistent with bash and zsh, we only trigger file + # completion when there are no other completions + __%[1]s_debug "Requesting file completion" + return 1 + end + end + + return 0 +end + +# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves +# so we can properly delete any completions provided by another script. +# Only do this if the program can be found, or else fish may print some errors; besides, +# the existing completions will only be loaded if the program can be found. +if type -q "%[2]s" + # The space after the program name is essential to trigger completion for the program + # and not completion of the program name itself. + # Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish. + complete --do-complete "%[2]s " > /dev/null 2>&1 +end + +# Remove any pre-existing completions for the program since we will be handling all of them. +complete -c %[2]s -e + +# this will get called after the two calls below and clear the $__%[1]s_perform_completion_once_result global +complete -c %[2]s -n '__%[1]s_clear_perform_completion_once_result' +# The call to __%[1]s_prepare_completions will setup __%[1]s_comp_results +# which provides the program's completion choices. +# If this doesn't require order preservation, we don't use the -k flag +complete -c %[2]s -n 'not __%[1]s_requires_order_preservation && __%[1]s_prepare_completions' -f -a '$__%[1]s_comp_results' +# otherwise we use the -k flag +complete -k -c %[2]s -n '__%[1]s_requires_order_preservation && __%[1]s_prepare_completions' -f -a '$__%[1]s_comp_results' +`, nameForVar, name, compCmd, + ShellCompDirectiveError, ShellCompDirectiveNoSpace, ShellCompDirectiveNoFileComp, + ShellCompDirectiveFilterFileExt, ShellCompDirectiveFilterDirs, ShellCompDirectiveKeepOrder, activeHelpEnvVar(name))) +} + +// GenFishCompletion generates fish completion file and writes to the passed writer. +func (c *Command) GenFishCompletion(w io.Writer, includeDesc bool) error { + buf := new(bytes.Buffer) + genFishComp(buf, c.Name(), includeDesc) + _, err := buf.WriteTo(w) + return err +} + +// GenFishCompletionFile generates fish completion file. +func (c *Command) GenFishCompletionFile(filename string, includeDesc bool) error { + outFile, err := os.Create(filename) + if err != nil { + return err + } + defer outFile.Close() + + return c.GenFishCompletion(outFile, includeDesc) +} diff --git a/vendor/github.com/spf13/cobra/flag_groups.go b/vendor/github.com/spf13/cobra/flag_groups.go new file mode 100644 index 000000000..560612fd3 --- /dev/null +++ b/vendor/github.com/spf13/cobra/flag_groups.go @@ -0,0 +1,290 @@ +// Copyright 2013-2023 The Cobra Authors +// +// 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 cobra + +import ( + "fmt" + "sort" + "strings" + + flag "github.com/spf13/pflag" +) + +const ( + requiredAsGroupAnnotation = "cobra_annotation_required_if_others_set" + oneRequiredAnnotation = "cobra_annotation_one_required" + mutuallyExclusiveAnnotation = "cobra_annotation_mutually_exclusive" +) + +// MarkFlagsRequiredTogether marks the given flags with annotations so that Cobra errors +// if the command is invoked with a subset (but not all) of the given flags. +func (c *Command) MarkFlagsRequiredTogether(flagNames ...string) { + c.mergePersistentFlags() + for _, v := range flagNames { + f := c.Flags().Lookup(v) + if f == nil { + panic(fmt.Sprintf("Failed to find flag %q and mark it as being required in a flag group", v)) + } + if err := c.Flags().SetAnnotation(v, requiredAsGroupAnnotation, append(f.Annotations[requiredAsGroupAnnotation], strings.Join(flagNames, " "))); err != nil { + // Only errs if the flag isn't found. + panic(err) + } + } +} + +// MarkFlagsOneRequired marks the given flags with annotations so that Cobra errors +// if the command is invoked without at least one flag from the given set of flags. +func (c *Command) MarkFlagsOneRequired(flagNames ...string) { + c.mergePersistentFlags() + for _, v := range flagNames { + f := c.Flags().Lookup(v) + if f == nil { + panic(fmt.Sprintf("Failed to find flag %q and mark it as being in a one-required flag group", v)) + } + if err := c.Flags().SetAnnotation(v, oneRequiredAnnotation, append(f.Annotations[oneRequiredAnnotation], strings.Join(flagNames, " "))); err != nil { + // Only errs if the flag isn't found. + panic(err) + } + } +} + +// MarkFlagsMutuallyExclusive marks the given flags with annotations so that Cobra errors +// if the command is invoked with more than one flag from the given set of flags. +func (c *Command) MarkFlagsMutuallyExclusive(flagNames ...string) { + c.mergePersistentFlags() + for _, v := range flagNames { + f := c.Flags().Lookup(v) + if f == nil { + panic(fmt.Sprintf("Failed to find flag %q and mark it as being in a mutually exclusive flag group", v)) + } + // Each time this is called is a single new entry; this allows it to be a member of multiple groups if needed. + if err := c.Flags().SetAnnotation(v, mutuallyExclusiveAnnotation, append(f.Annotations[mutuallyExclusiveAnnotation], strings.Join(flagNames, " "))); err != nil { + panic(err) + } + } +} + +// ValidateFlagGroups validates the mutuallyExclusive/oneRequired/requiredAsGroup logic and returns the +// first error encountered. +func (c *Command) ValidateFlagGroups() error { + if c.DisableFlagParsing { + return nil + } + + flags := c.Flags() + + // groupStatus format is the list of flags as a unique ID, + // then a map of each flag name and whether it is set or not. + groupStatus := map[string]map[string]bool{} + oneRequiredGroupStatus := map[string]map[string]bool{} + mutuallyExclusiveGroupStatus := map[string]map[string]bool{} + flags.VisitAll(func(pflag *flag.Flag) { + processFlagForGroupAnnotation(flags, pflag, requiredAsGroupAnnotation, groupStatus) + processFlagForGroupAnnotation(flags, pflag, oneRequiredAnnotation, oneRequiredGroupStatus) + processFlagForGroupAnnotation(flags, pflag, mutuallyExclusiveAnnotation, mutuallyExclusiveGroupStatus) + }) + + if err := validateRequiredFlagGroups(groupStatus); err != nil { + return err + } + if err := validateOneRequiredFlagGroups(oneRequiredGroupStatus); err != nil { + return err + } + if err := validateExclusiveFlagGroups(mutuallyExclusiveGroupStatus); err != nil { + return err + } + return nil +} + +func hasAllFlags(fs *flag.FlagSet, flagnames ...string) bool { + for _, fname := range flagnames { + f := fs.Lookup(fname) + if f == nil { + return false + } + } + return true +} + +func processFlagForGroupAnnotation(flags *flag.FlagSet, pflag *flag.Flag, annotation string, groupStatus map[string]map[string]bool) { + groupInfo, found := pflag.Annotations[annotation] + if found { + for _, group := range groupInfo { + if groupStatus[group] == nil { + flagnames := strings.Split(group, " ") + + // Only consider this flag group at all if all the flags are defined. + if !hasAllFlags(flags, flagnames...) { + continue + } + + groupStatus[group] = make(map[string]bool, len(flagnames)) + for _, name := range flagnames { + groupStatus[group][name] = false + } + } + + groupStatus[group][pflag.Name] = pflag.Changed + } + } +} + +func validateRequiredFlagGroups(data map[string]map[string]bool) error { + keys := sortedKeys(data) + for _, flagList := range keys { + flagnameAndStatus := data[flagList] + + unset := []string{} + for flagname, isSet := range flagnameAndStatus { + if !isSet { + unset = append(unset, flagname) + } + } + if len(unset) == len(flagnameAndStatus) || len(unset) == 0 { + continue + } + + // Sort values, so they can be tested/scripted against consistently. + sort.Strings(unset) + return fmt.Errorf("if any flags in the group [%v] are set they must all be set; missing %v", flagList, unset) + } + + return nil +} + +func validateOneRequiredFlagGroups(data map[string]map[string]bool) error { + keys := sortedKeys(data) + for _, flagList := range keys { + flagnameAndStatus := data[flagList] + var set []string + for flagname, isSet := range flagnameAndStatus { + if isSet { + set = append(set, flagname) + } + } + if len(set) >= 1 { + continue + } + + // Sort values, so they can be tested/scripted against consistently. + sort.Strings(set) + return fmt.Errorf("at least one of the flags in the group [%v] is required", flagList) + } + return nil +} + +func validateExclusiveFlagGroups(data map[string]map[string]bool) error { + keys := sortedKeys(data) + for _, flagList := range keys { + flagnameAndStatus := data[flagList] + var set []string + for flagname, isSet := range flagnameAndStatus { + if isSet { + set = append(set, flagname) + } + } + if len(set) == 0 || len(set) == 1 { + continue + } + + // Sort values, so they can be tested/scripted against consistently. + sort.Strings(set) + return fmt.Errorf("if any flags in the group [%v] are set none of the others can be; %v were all set", flagList, set) + } + return nil +} + +func sortedKeys(m map[string]map[string]bool) []string { + keys := make([]string, len(m)) + i := 0 + for k := range m { + keys[i] = k + i++ + } + sort.Strings(keys) + return keys +} + +// enforceFlagGroupsForCompletion will do the following: +// - when a flag in a group is present, other flags in the group will be marked required +// - when none of the flags in a one-required group are present, all flags in the group will be marked required +// - when a flag in a mutually exclusive group is present, other flags in the group will be marked as hidden +// This allows the standard completion logic to behave appropriately for flag groups +func (c *Command) enforceFlagGroupsForCompletion() { + if c.DisableFlagParsing { + return + } + + flags := c.Flags() + groupStatus := map[string]map[string]bool{} + oneRequiredGroupStatus := map[string]map[string]bool{} + mutuallyExclusiveGroupStatus := map[string]map[string]bool{} + c.Flags().VisitAll(func(pflag *flag.Flag) { + processFlagForGroupAnnotation(flags, pflag, requiredAsGroupAnnotation, groupStatus) + processFlagForGroupAnnotation(flags, pflag, oneRequiredAnnotation, oneRequiredGroupStatus) + processFlagForGroupAnnotation(flags, pflag, mutuallyExclusiveAnnotation, mutuallyExclusiveGroupStatus) + }) + + // If a flag that is part of a group is present, we make all the other flags + // of that group required so that the shell completion suggests them automatically + for flagList, flagnameAndStatus := range groupStatus { + for _, isSet := range flagnameAndStatus { + if isSet { + // One of the flags of the group is set, mark the other ones as required + for _, fName := range strings.Split(flagList, " ") { + _ = c.MarkFlagRequired(fName) + } + } + } + } + + // If none of the flags of a one-required group are present, we make all the flags + // of that group required so that the shell completion suggests them automatically + for flagList, flagnameAndStatus := range oneRequiredGroupStatus { + isSet := false + + for _, isSet = range flagnameAndStatus { + if isSet { + break + } + } + + // None of the flags of the group are set, mark all flags in the group + // as required + if !isSet { + for _, fName := range strings.Split(flagList, " ") { + _ = c.MarkFlagRequired(fName) + } + } + } + + // If a flag that is mutually exclusive to others is present, we hide the other + // flags of that group so the shell completion does not suggest them + for flagList, flagnameAndStatus := range mutuallyExclusiveGroupStatus { + for flagName, isSet := range flagnameAndStatus { + if isSet { + // One of the flags of the mutually exclusive group is set, mark the other ones as hidden + // Don't mark the flag that is already set as hidden because it may be an + // array or slice flag and therefore must continue being suggested + for _, fName := range strings.Split(flagList, " ") { + if fName != flagName { + flag := c.Flags().Lookup(fName) + flag.Hidden = true + } + } + } + } + } +} diff --git a/vendor/github.com/spf13/cobra/powershell_completions.go b/vendor/github.com/spf13/cobra/powershell_completions.go new file mode 100644 index 000000000..a830b7bca --- /dev/null +++ b/vendor/github.com/spf13/cobra/powershell_completions.go @@ -0,0 +1,325 @@ +// Copyright 2013-2023 The Cobra Authors +// +// 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. + +// The generated scripts require PowerShell v5.0+ (which comes Windows 10, but +// can be downloaded separately for windows 7 or 8.1). + +package cobra + +import ( + "bytes" + "fmt" + "io" + "os" + "strings" +) + +func genPowerShellComp(buf io.StringWriter, name string, includeDesc bool) { + // Variables should not contain a '-' or ':' character + nameForVar := name + nameForVar = strings.ReplaceAll(nameForVar, "-", "_") + nameForVar = strings.ReplaceAll(nameForVar, ":", "_") + + compCmd := ShellCompRequestCmd + if !includeDesc { + compCmd = ShellCompNoDescRequestCmd + } + WriteStringAndCheck(buf, fmt.Sprintf(`# powershell completion for %-36[1]s -*- shell-script -*- + +function __%[1]s_debug { + if ($env:BASH_COMP_DEBUG_FILE) { + "$args" | Out-File -Append -FilePath "$env:BASH_COMP_DEBUG_FILE" + } +} + +filter __%[1]s_escapeStringWithSpecialChars { +`+" $_ -replace '\\s|#|@|\\$|;|,|''|\\{|\\}|\\(|\\)|\"|`|\\||<|>|&','`$&'"+` +} + +[scriptblock]${__%[2]sCompleterBlock} = { + param( + $WordToComplete, + $CommandAst, + $CursorPosition + ) + + # Get the current command line and convert into a string + $Command = $CommandAst.CommandElements + $Command = "$Command" + + __%[1]s_debug "" + __%[1]s_debug "========= starting completion logic ==========" + __%[1]s_debug "WordToComplete: $WordToComplete Command: $Command CursorPosition: $CursorPosition" + + # The user could have moved the cursor backwards on the command-line. + # We need to trigger completion from the $CursorPosition location, so we need + # to truncate the command-line ($Command) up to the $CursorPosition location. + # Make sure the $Command is longer then the $CursorPosition before we truncate. + # This happens because the $Command does not include the last space. + if ($Command.Length -gt $CursorPosition) { + $Command=$Command.Substring(0,$CursorPosition) + } + __%[1]s_debug "Truncated command: $Command" + + $ShellCompDirectiveError=%[4]d + $ShellCompDirectiveNoSpace=%[5]d + $ShellCompDirectiveNoFileComp=%[6]d + $ShellCompDirectiveFilterFileExt=%[7]d + $ShellCompDirectiveFilterDirs=%[8]d + $ShellCompDirectiveKeepOrder=%[9]d + + # Prepare the command to request completions for the program. + # Split the command at the first space to separate the program and arguments. + $Program,$Arguments = $Command.Split(" ",2) + + $RequestComp="$Program %[3]s $Arguments" + __%[1]s_debug "RequestComp: $RequestComp" + + # we cannot use $WordToComplete because it + # has the wrong values if the cursor was moved + # so use the last argument + if ($WordToComplete -ne "" ) { + $WordToComplete = $Arguments.Split(" ")[-1] + } + __%[1]s_debug "New WordToComplete: $WordToComplete" + + + # Check for flag with equal sign + $IsEqualFlag = ($WordToComplete -Like "--*=*" ) + if ( $IsEqualFlag ) { + __%[1]s_debug "Completing equal sign flag" + # Remove the flag part + $Flag,$WordToComplete = $WordToComplete.Split("=",2) + } + + if ( $WordToComplete -eq "" -And ( -Not $IsEqualFlag )) { + # If the last parameter is complete (there is a space following it) + # We add an extra empty parameter so we can indicate this to the go method. + __%[1]s_debug "Adding extra empty parameter" + # PowerShell 7.2+ changed the way how the arguments are passed to executables, + # so for pre-7.2 or when Legacy argument passing is enabled we need to use +`+" # `\"`\" to pass an empty argument, a \"\" or '' does not work!!!"+` + if ($PSVersionTable.PsVersion -lt [version]'7.2.0' -or + ($PSVersionTable.PsVersion -lt [version]'7.3.0' -and -not [ExperimentalFeature]::IsEnabled("PSNativeCommandArgumentPassing")) -or + (($PSVersionTable.PsVersion -ge [version]'7.3.0' -or [ExperimentalFeature]::IsEnabled("PSNativeCommandArgumentPassing")) -and + $PSNativeCommandArgumentPassing -eq 'Legacy')) { +`+" $RequestComp=\"$RequestComp\" + ' `\"`\"'"+` + } else { + $RequestComp="$RequestComp" + ' ""' + } + } + + __%[1]s_debug "Calling $RequestComp" + # First disable ActiveHelp which is not supported for Powershell + ${env:%[10]s}=0 + + #call the command store the output in $out and redirect stderr and stdout to null + # $Out is an array contains each line per element + Invoke-Expression -OutVariable out "$RequestComp" 2>&1 | Out-Null + + # get directive from last line + [int]$Directive = $Out[-1].TrimStart(':') + if ($Directive -eq "") { + # There is no directive specified + $Directive = 0 + } + __%[1]s_debug "The completion directive is: $Directive" + + # remove directive (last element) from out + $Out = $Out | Where-Object { $_ -ne $Out[-1] } + __%[1]s_debug "The completions are: $Out" + + if (($Directive -band $ShellCompDirectiveError) -ne 0 ) { + # Error code. No completion. + __%[1]s_debug "Received error from custom completion go code" + return + } + + $Longest = 0 + [Array]$Values = $Out | ForEach-Object { + #Split the output in name and description +`+" $Name, $Description = $_.Split(\"`t\",2)"+` + __%[1]s_debug "Name: $Name Description: $Description" + + # Look for the longest completion so that we can format things nicely + if ($Longest -lt $Name.Length) { + $Longest = $Name.Length + } + + # Set the description to a one space string if there is none set. + # This is needed because the CompletionResult does not accept an empty string as argument + if (-Not $Description) { + $Description = " " + } + @{Name="$Name";Description="$Description"} + } + + + $Space = " " + if (($Directive -band $ShellCompDirectiveNoSpace) -ne 0 ) { + # remove the space here + __%[1]s_debug "ShellCompDirectiveNoSpace is called" + $Space = "" + } + + if ((($Directive -band $ShellCompDirectiveFilterFileExt) -ne 0 ) -or + (($Directive -band $ShellCompDirectiveFilterDirs) -ne 0 )) { + __%[1]s_debug "ShellCompDirectiveFilterFileExt ShellCompDirectiveFilterDirs are not supported" + + # return here to prevent the completion of the extensions + return + } + + $Values = $Values | Where-Object { + # filter the result + $_.Name -like "$WordToComplete*" + + # Join the flag back if we have an equal sign flag + if ( $IsEqualFlag ) { + __%[1]s_debug "Join the equal sign flag back to the completion value" + $_.Name = $Flag + "=" + $_.Name + } + } + + # we sort the values in ascending order by name if keep order isn't passed + if (($Directive -band $ShellCompDirectiveKeepOrder) -eq 0 ) { + $Values = $Values | Sort-Object -Property Name + } + + if (($Directive -band $ShellCompDirectiveNoFileComp) -ne 0 ) { + __%[1]s_debug "ShellCompDirectiveNoFileComp is called" + + if ($Values.Length -eq 0) { + # Just print an empty string here so the + # shell does not start to complete paths. + # We cannot use CompletionResult here because + # it does not accept an empty string as argument. + "" + return + } + } + + # Get the current mode + $Mode = (Get-PSReadLineKeyHandler | Where-Object {$_.Key -eq "Tab" }).Function + __%[1]s_debug "Mode: $Mode" + + $Values | ForEach-Object { + + # store temporary because switch will overwrite $_ + $comp = $_ + + # PowerShell supports three different completion modes + # - TabCompleteNext (default windows style - on each key press the next option is displayed) + # - Complete (works like bash) + # - MenuComplete (works like zsh) + # You set the mode with Set-PSReadLineKeyHandler -Key Tab -Function + + # CompletionResult Arguments: + # 1) CompletionText text to be used as the auto completion result + # 2) ListItemText text to be displayed in the suggestion list + # 3) ResultType type of completion result + # 4) ToolTip text for the tooltip with details about the object + + switch ($Mode) { + + # bash like + "Complete" { + + if ($Values.Length -eq 1) { + __%[1]s_debug "Only one completion left" + + # insert space after value + [System.Management.Automation.CompletionResult]::new($($comp.Name | __%[1]s_escapeStringWithSpecialChars) + $Space, "$($comp.Name)", 'ParameterValue', "$($comp.Description)") + + } else { + # Add the proper number of spaces to align the descriptions + while($comp.Name.Length -lt $Longest) { + $comp.Name = $comp.Name + " " + } + + # Check for empty description and only add parentheses if needed + if ($($comp.Description) -eq " " ) { + $Description = "" + } else { + $Description = " ($($comp.Description))" + } + + [System.Management.Automation.CompletionResult]::new("$($comp.Name)$Description", "$($comp.Name)$Description", 'ParameterValue', "$($comp.Description)") + } + } + + # zsh like + "MenuComplete" { + # insert space after value + # MenuComplete will automatically show the ToolTip of + # the highlighted value at the bottom of the suggestions. + [System.Management.Automation.CompletionResult]::new($($comp.Name | __%[1]s_escapeStringWithSpecialChars) + $Space, "$($comp.Name)", 'ParameterValue', "$($comp.Description)") + } + + # TabCompleteNext and in case we get something unknown + Default { + # Like MenuComplete but we don't want to add a space here because + # the user need to press space anyway to get the completion. + # Description will not be shown because that's not possible with TabCompleteNext + [System.Management.Automation.CompletionResult]::new($($comp.Name | __%[1]s_escapeStringWithSpecialChars), "$($comp.Name)", 'ParameterValue', "$($comp.Description)") + } + } + + } +} + +Register-ArgumentCompleter -CommandName '%[1]s' -ScriptBlock ${__%[2]sCompleterBlock} +`, name, nameForVar, compCmd, + ShellCompDirectiveError, ShellCompDirectiveNoSpace, ShellCompDirectiveNoFileComp, + ShellCompDirectiveFilterFileExt, ShellCompDirectiveFilterDirs, ShellCompDirectiveKeepOrder, activeHelpEnvVar(name))) +} + +func (c *Command) genPowerShellCompletion(w io.Writer, includeDesc bool) error { + buf := new(bytes.Buffer) + genPowerShellComp(buf, c.Name(), includeDesc) + _, err := buf.WriteTo(w) + return err +} + +func (c *Command) genPowerShellCompletionFile(filename string, includeDesc bool) error { + outFile, err := os.Create(filename) + if err != nil { + return err + } + defer outFile.Close() + + return c.genPowerShellCompletion(outFile, includeDesc) +} + +// GenPowerShellCompletionFile generates powershell completion file without descriptions. +func (c *Command) GenPowerShellCompletionFile(filename string) error { + return c.genPowerShellCompletionFile(filename, false) +} + +// GenPowerShellCompletion generates powershell completion file without descriptions +// and writes it to the passed writer. +func (c *Command) GenPowerShellCompletion(w io.Writer) error { + return c.genPowerShellCompletion(w, false) +} + +// GenPowerShellCompletionFileWithDesc generates powershell completion file with descriptions. +func (c *Command) GenPowerShellCompletionFileWithDesc(filename string) error { + return c.genPowerShellCompletionFile(filename, true) +} + +// GenPowerShellCompletionWithDesc generates powershell completion file with descriptions +// and writes it to the passed writer. +func (c *Command) GenPowerShellCompletionWithDesc(w io.Writer) error { + return c.genPowerShellCompletion(w, true) +} diff --git a/vendor/github.com/spf13/cobra/shell_completions.go b/vendor/github.com/spf13/cobra/shell_completions.go new file mode 100644 index 000000000..b035742d3 --- /dev/null +++ b/vendor/github.com/spf13/cobra/shell_completions.go @@ -0,0 +1,98 @@ +// Copyright 2013-2023 The Cobra Authors +// +// 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 cobra + +import ( + "github.com/spf13/pflag" +) + +// MarkFlagRequired instructs the various shell completion implementations to +// prioritize the named flag when performing completion, +// and causes your command to report an error if invoked without the flag. +func (c *Command) MarkFlagRequired(name string) error { + return MarkFlagRequired(c.Flags(), name) +} + +// MarkPersistentFlagRequired instructs the various shell completion implementations to +// prioritize the named persistent flag when performing completion, +// and causes your command to report an error if invoked without the flag. +func (c *Command) MarkPersistentFlagRequired(name string) error { + return MarkFlagRequired(c.PersistentFlags(), name) +} + +// MarkFlagRequired instructs the various shell completion implementations to +// prioritize the named flag when performing completion, +// and causes your command to report an error if invoked without the flag. +func MarkFlagRequired(flags *pflag.FlagSet, name string) error { + return flags.SetAnnotation(name, BashCompOneRequiredFlag, []string{"true"}) +} + +// MarkFlagFilename instructs the various shell completion implementations to +// limit completions for the named flag to the specified file extensions. +func (c *Command) MarkFlagFilename(name string, extensions ...string) error { + return MarkFlagFilename(c.Flags(), name, extensions...) +} + +// MarkFlagCustom adds the BashCompCustom annotation to the named flag, if it exists. +// The bash completion script will call the bash function f for the flag. +// +// This will only work for bash completion. +// It is recommended to instead use c.RegisterFlagCompletionFunc(...) which allows +// to register a Go function which will work across all shells. +func (c *Command) MarkFlagCustom(name string, f string) error { + return MarkFlagCustom(c.Flags(), name, f) +} + +// MarkPersistentFlagFilename instructs the various shell completion +// implementations to limit completions for the named persistent flag to the +// specified file extensions. +func (c *Command) MarkPersistentFlagFilename(name string, extensions ...string) error { + return MarkFlagFilename(c.PersistentFlags(), name, extensions...) +} + +// MarkFlagFilename instructs the various shell completion implementations to +// limit completions for the named flag to the specified file extensions. +func MarkFlagFilename(flags *pflag.FlagSet, name string, extensions ...string) error { + return flags.SetAnnotation(name, BashCompFilenameExt, extensions) +} + +// MarkFlagCustom adds the BashCompCustom annotation to the named flag, if it exists. +// The bash completion script will call the bash function f for the flag. +// +// This will only work for bash completion. +// It is recommended to instead use c.RegisterFlagCompletionFunc(...) which allows +// to register a Go function which will work across all shells. +func MarkFlagCustom(flags *pflag.FlagSet, name string, f string) error { + return flags.SetAnnotation(name, BashCompCustom, []string{f}) +} + +// MarkFlagDirname instructs the various shell completion implementations to +// limit completions for the named flag to directory names. +func (c *Command) MarkFlagDirname(name string) error { + return MarkFlagDirname(c.Flags(), name) +} + +// MarkPersistentFlagDirname instructs the various shell completion +// implementations to limit completions for the named persistent flag to +// directory names. +func (c *Command) MarkPersistentFlagDirname(name string) error { + return MarkFlagDirname(c.PersistentFlags(), name) +} + +// MarkFlagDirname instructs the various shell completion implementations to +// limit completions for the named flag to directory names. +func MarkFlagDirname(flags *pflag.FlagSet, name string) error { + return flags.SetAnnotation(name, BashCompSubdirsInDir, []string{}) +} diff --git a/vendor/github.com/spf13/cobra/zsh_completions.go b/vendor/github.com/spf13/cobra/zsh_completions.go new file mode 100644 index 000000000..1856e4c7f --- /dev/null +++ b/vendor/github.com/spf13/cobra/zsh_completions.go @@ -0,0 +1,308 @@ +// Copyright 2013-2023 The Cobra Authors +// +// 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 cobra + +import ( + "bytes" + "fmt" + "io" + "os" +) + +// GenZshCompletionFile generates zsh completion file including descriptions. +func (c *Command) GenZshCompletionFile(filename string) error { + return c.genZshCompletionFile(filename, true) +} + +// GenZshCompletion generates zsh completion file including descriptions +// and writes it to the passed writer. +func (c *Command) GenZshCompletion(w io.Writer) error { + return c.genZshCompletion(w, true) +} + +// GenZshCompletionFileNoDesc generates zsh completion file without descriptions. +func (c *Command) GenZshCompletionFileNoDesc(filename string) error { + return c.genZshCompletionFile(filename, false) +} + +// GenZshCompletionNoDesc generates zsh completion file without descriptions +// and writes it to the passed writer. +func (c *Command) GenZshCompletionNoDesc(w io.Writer) error { + return c.genZshCompletion(w, false) +} + +// MarkZshCompPositionalArgumentFile only worked for zsh and its behavior was +// not consistent with Bash completion. It has therefore been disabled. +// Instead, when no other completion is specified, file completion is done by +// default for every argument. One can disable file completion on a per-argument +// basis by using ValidArgsFunction and ShellCompDirectiveNoFileComp. +// To achieve file extension filtering, one can use ValidArgsFunction and +// ShellCompDirectiveFilterFileExt. +// +// Deprecated +func (c *Command) MarkZshCompPositionalArgumentFile(argPosition int, patterns ...string) error { + return nil +} + +// MarkZshCompPositionalArgumentWords only worked for zsh. It has therefore +// been disabled. +// To achieve the same behavior across all shells, one can use +// ValidArgs (for the first argument only) or ValidArgsFunction for +// any argument (can include the first one also). +// +// Deprecated +func (c *Command) MarkZshCompPositionalArgumentWords(argPosition int, words ...string) error { + return nil +} + +func (c *Command) genZshCompletionFile(filename string, includeDesc bool) error { + outFile, err := os.Create(filename) + if err != nil { + return err + } + defer outFile.Close() + + return c.genZshCompletion(outFile, includeDesc) +} + +func (c *Command) genZshCompletion(w io.Writer, includeDesc bool) error { + buf := new(bytes.Buffer) + genZshComp(buf, c.Name(), includeDesc) + _, err := buf.WriteTo(w) + return err +} + +func genZshComp(buf io.StringWriter, name string, includeDesc bool) { + compCmd := ShellCompRequestCmd + if !includeDesc { + compCmd = ShellCompNoDescRequestCmd + } + WriteStringAndCheck(buf, fmt.Sprintf(`#compdef %[1]s +compdef _%[1]s %[1]s + +# zsh completion for %-36[1]s -*- shell-script -*- + +__%[1]s_debug() +{ + local file="$BASH_COMP_DEBUG_FILE" + if [[ -n ${file} ]]; then + echo "$*" >> "${file}" + fi +} + +_%[1]s() +{ + local shellCompDirectiveError=%[3]d + local shellCompDirectiveNoSpace=%[4]d + local shellCompDirectiveNoFileComp=%[5]d + local shellCompDirectiveFilterFileExt=%[6]d + local shellCompDirectiveFilterDirs=%[7]d + local shellCompDirectiveKeepOrder=%[8]d + + local lastParam lastChar flagPrefix requestComp out directive comp lastComp noSpace keepOrder + local -a completions + + __%[1]s_debug "\n========= starting completion logic ==========" + __%[1]s_debug "CURRENT: ${CURRENT}, words[*]: ${words[*]}" + + # The user could have moved the cursor backwards on the command-line. + # We need to trigger completion from the $CURRENT location, so we need + # to truncate the command-line ($words) up to the $CURRENT location. + # (We cannot use $CURSOR as its value does not work when a command is an alias.) + words=("${=words[1,CURRENT]}") + __%[1]s_debug "Truncated words[*]: ${words[*]}," + + lastParam=${words[-1]} + lastChar=${lastParam[-1]} + __%[1]s_debug "lastParam: ${lastParam}, lastChar: ${lastChar}" + + # For zsh, when completing a flag with an = (e.g., %[1]s -n=) + # completions must be prefixed with the flag + setopt local_options BASH_REMATCH + if [[ "${lastParam}" =~ '-.*=' ]]; then + # We are dealing with a flag with an = + flagPrefix="-P ${BASH_REMATCH}" + fi + + # Prepare the command to obtain completions + requestComp="${words[1]} %[2]s ${words[2,-1]}" + if [ "${lastChar}" = "" ]; then + # If the last parameter is complete (there is a space following it) + # We add an extra empty parameter so we can indicate this to the go completion code. + __%[1]s_debug "Adding extra empty parameter" + requestComp="${requestComp} \"\"" + fi + + __%[1]s_debug "About to call: eval ${requestComp}" + + # Use eval to handle any environment variables and such + out=$(eval ${requestComp} 2>/dev/null) + __%[1]s_debug "completion output: ${out}" + + # Extract the directive integer following a : from the last line + local lastLine + while IFS='\n' read -r line; do + lastLine=${line} + done < <(printf "%%s\n" "${out[@]}") + __%[1]s_debug "last line: ${lastLine}" + + if [ "${lastLine[1]}" = : ]; then + directive=${lastLine[2,-1]} + # Remove the directive including the : and the newline + local suffix + (( suffix=${#lastLine}+2)) + out=${out[1,-$suffix]} + else + # There is no directive specified. Leave $out as is. + __%[1]s_debug "No directive found. Setting do default" + directive=0 + fi + + __%[1]s_debug "directive: ${directive}" + __%[1]s_debug "completions: ${out}" + __%[1]s_debug "flagPrefix: ${flagPrefix}" + + if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then + __%[1]s_debug "Completion received error. Ignoring completions." + return + fi + + local activeHelpMarker="%[9]s" + local endIndex=${#activeHelpMarker} + local startIndex=$((${#activeHelpMarker}+1)) + local hasActiveHelp=0 + while IFS='\n' read -r comp; do + # Check if this is an activeHelp statement (i.e., prefixed with $activeHelpMarker) + if [ "${comp[1,$endIndex]}" = "$activeHelpMarker" ];then + __%[1]s_debug "ActiveHelp found: $comp" + comp="${comp[$startIndex,-1]}" + if [ -n "$comp" ]; then + compadd -x "${comp}" + __%[1]s_debug "ActiveHelp will need delimiter" + hasActiveHelp=1 + fi + + continue + fi + + if [ -n "$comp" ]; then + # If requested, completions are returned with a description. + # The description is preceded by a TAB character. + # For zsh's _describe, we need to use a : instead of a TAB. + # We first need to escape any : as part of the completion itself. + comp=${comp//:/\\:} + + local tab="$(printf '\t')" + comp=${comp//$tab/:} + + __%[1]s_debug "Adding completion: ${comp}" + completions+=${comp} + lastComp=$comp + fi + done < <(printf "%%s\n" "${out[@]}") + + # Add a delimiter after the activeHelp statements, but only if: + # - there are completions following the activeHelp statements, or + # - file completion will be performed (so there will be choices after the activeHelp) + if [ $hasActiveHelp -eq 1 ]; then + if [ ${#completions} -ne 0 ] || [ $((directive & shellCompDirectiveNoFileComp)) -eq 0 ]; then + __%[1]s_debug "Adding activeHelp delimiter" + compadd -x "--" + hasActiveHelp=0 + fi + fi + + if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then + __%[1]s_debug "Activating nospace." + noSpace="-S ''" + fi + + if [ $((directive & shellCompDirectiveKeepOrder)) -ne 0 ]; then + __%[1]s_debug "Activating keep order." + keepOrder="-V" + fi + + if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then + # File extension filtering + local filteringCmd + filteringCmd='_files' + for filter in ${completions[@]}; do + if [ ${filter[1]} != '*' ]; then + # zsh requires a glob pattern to do file filtering + filter="\*.$filter" + fi + filteringCmd+=" -g $filter" + done + filteringCmd+=" ${flagPrefix}" + + __%[1]s_debug "File filtering command: $filteringCmd" + _arguments '*:filename:'"$filteringCmd" + elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then + # File completion for directories only + local subdir + subdir="${completions[1]}" + if [ -n "$subdir" ]; then + __%[1]s_debug "Listing directories in $subdir" + pushd "${subdir}" >/dev/null 2>&1 + else + __%[1]s_debug "Listing directories in ." + fi + + local result + _arguments '*:dirname:_files -/'" ${flagPrefix}" + result=$? + if [ -n "$subdir" ]; then + popd >/dev/null 2>&1 + fi + return $result + else + __%[1]s_debug "Calling _describe" + if eval _describe $keepOrder "completions" completions $flagPrefix $noSpace; then + __%[1]s_debug "_describe found some completions" + + # Return the success of having called _describe + return 0 + else + __%[1]s_debug "_describe did not find completions." + __%[1]s_debug "Checking if we should do file completion." + if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then + __%[1]s_debug "deactivating file completion" + + # We must return an error code here to let zsh know that there were no + # completions found by _describe; this is what will trigger other + # matching algorithms to attempt to find completions. + # For example zsh can match letters in the middle of words. + return 1 + else + # Perform file completion + __%[1]s_debug "Activating file completion" + + # We must return the result of this command, so it must be the + # last command, or else we must store its result to return it. + _arguments '*:filename:_files'" ${flagPrefix}" + fi + fi + fi +} + +# don't run the completion function when being source-ed or eval-ed +if [ "$funcstack[1]" = "_%[1]s" ]; then + _%[1]s +fi +`, name, compCmd, + ShellCompDirectiveError, ShellCompDirectiveNoSpace, ShellCompDirectiveNoFileComp, + ShellCompDirectiveFilterFileExt, ShellCompDirectiveFilterDirs, ShellCompDirectiveKeepOrder, + activeHelpMarker)) +} diff --git a/vendor/github.com/stoewer/go-strcase/.gitignore b/vendor/github.com/stoewer/go-strcase/.gitignore new file mode 100644 index 000000000..db5247b94 --- /dev/null +++ b/vendor/github.com/stoewer/go-strcase/.gitignore @@ -0,0 +1,17 @@ +# Compiled Object files, Static and Dynamic libs (Shared Objects) +*.o +*.a +*.so + +# Folders +vendor +doc + +# Temporary files +*~ +*.swp + +# Editor and IDE config +.idea +*.iml +.vscode diff --git a/vendor/github.com/stoewer/go-strcase/.golangci.yml b/vendor/github.com/stoewer/go-strcase/.golangci.yml new file mode 100644 index 000000000..7f98d55c4 --- /dev/null +++ b/vendor/github.com/stoewer/go-strcase/.golangci.yml @@ -0,0 +1,26 @@ +run: + deadline: 10m + +linters: + enable: + - dupl + - goconst + - gocyclo + - godox + - gosec + - interfacer + - lll + - maligned + - misspell + - prealloc + - stylecheck + - unconvert + - unparam + - errcheck + - golint + - gofmt + disable: [] + fast: false + +issues: + exclude-use-default: false diff --git a/vendor/github.com/stoewer/go-strcase/LICENSE b/vendor/github.com/stoewer/go-strcase/LICENSE new file mode 100644 index 000000000..a105a3819 --- /dev/null +++ b/vendor/github.com/stoewer/go-strcase/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2017, Adrian Stoewer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/stoewer/go-strcase/README.md b/vendor/github.com/stoewer/go-strcase/README.md new file mode 100644 index 000000000..84a640e71 --- /dev/null +++ b/vendor/github.com/stoewer/go-strcase/README.md @@ -0,0 +1,50 @@ +[![GH Actions](https://github.com/stoewer/go-strcase/actions/workflows/lint-test.yml/badge.svg?branch=master)](https://github.com/stoewer/go-strcase/actions) +[![codecov](https://codecov.io/github/stoewer/go-strcase/branch/master/graph/badge.svg?token=c0UokYnop5)](https://codecov.io/github/stoewer/go-strcase) +[![GoDoc](https://godoc.org/github.com/stoewer/go-strcase?status.svg)](https://pkg.go.dev/github.com/stoewer/go-strcase) +--- + +Go strcase +========== + +The package `strcase` converts between different kinds of naming formats such as camel case +(`CamelCase`), snake case (`snake_case`) or kebab case (`kebab-case`). +The package is designed to work only with strings consisting of standard ASCII letters. +Unicode is currently not supported. + +Versioning and stability +------------------------ + +Although the master branch is supposed to remain always backward compatible, the repository +contains version tags in order to support vendoring tools. +The tag names follow semantic versioning conventions and have the following format `v1.0.0`. +This package supports Go modules introduced with version 1.11. + +Example +------- + +```go +import "github.com/stoewer/go-strcase" + +var snake = strcase.SnakeCase("CamelCase") +``` + +Dependencies +------------ + +### Build dependencies + +* none + +### Test dependencies + +* `github.com/stretchr/testify` + +Run linters and unit tests +-------------------------- + +To run the static code analysis, linters and tests use the following commands: + +``` +golangci-lint run --config .golangci.yml ./... +go test ./... +``` diff --git a/vendor/github.com/stoewer/go-strcase/camel.go b/vendor/github.com/stoewer/go-strcase/camel.go new file mode 100644 index 000000000..ff9e66e0c --- /dev/null +++ b/vendor/github.com/stoewer/go-strcase/camel.go @@ -0,0 +1,40 @@ +// Copyright (c) 2017, A. Stoewer +// All rights reserved. + +package strcase + +import ( + "strings" +) + +// UpperCamelCase converts a string into camel case starting with a upper case letter. +func UpperCamelCase(s string) string { + return camelCase(s, true) +} + +// LowerCamelCase converts a string into camel case starting with a lower case letter. +func LowerCamelCase(s string) string { + return camelCase(s, false) +} + +func camelCase(s string, upper bool) string { + s = strings.TrimSpace(s) + buffer := make([]rune, 0, len(s)) + + stringIter(s, func(prev, curr, next rune) { + if !isDelimiter(curr) { + if isDelimiter(prev) || (upper && prev == 0) { + buffer = append(buffer, toUpper(curr)) + } else if isLower(prev) { + buffer = append(buffer, curr) + } else if isUpper(prev) && isUpper(curr) && isLower(next) { + // Assume a case like "R" for "XRequestId" + buffer = append(buffer, curr) + } else { + buffer = append(buffer, toLower(curr)) + } + } + }) + + return string(buffer) +} diff --git a/vendor/github.com/stoewer/go-strcase/doc.go b/vendor/github.com/stoewer/go-strcase/doc.go new file mode 100644 index 000000000..3e441ca3e --- /dev/null +++ b/vendor/github.com/stoewer/go-strcase/doc.go @@ -0,0 +1,8 @@ +// Copyright (c) 2017, A. Stoewer +// All rights reserved. + +// Package strcase converts between different kinds of naming formats such as camel case +// (CamelCase), snake case (snake_case) or kebab case (kebab-case). The package is designed +// to work only with strings consisting of standard ASCII letters. Unicode is currently not +// supported. +package strcase diff --git a/vendor/github.com/stoewer/go-strcase/helper.go b/vendor/github.com/stoewer/go-strcase/helper.go new file mode 100644 index 000000000..ecad58914 --- /dev/null +++ b/vendor/github.com/stoewer/go-strcase/helper.go @@ -0,0 +1,71 @@ +// Copyright (c) 2017, A. Stoewer +// All rights reserved. + +package strcase + +// isLower checks if a character is lower case. More precisely it evaluates if it is +// in the range of ASCII character 'a' to 'z'. +func isLower(ch rune) bool { + return ch >= 'a' && ch <= 'z' +} + +// toLower converts a character in the range of ASCII characters 'A' to 'Z' to its lower +// case counterpart. Other characters remain the same. +func toLower(ch rune) rune { + if ch >= 'A' && ch <= 'Z' { + return ch + 32 + } + return ch +} + +// isLower checks if a character is upper case. More precisely it evaluates if it is +// in the range of ASCII characters 'A' to 'Z'. +func isUpper(ch rune) bool { + return ch >= 'A' && ch <= 'Z' +} + +// toLower converts a character in the range of ASCII characters 'a' to 'z' to its lower +// case counterpart. Other characters remain the same. +func toUpper(ch rune) rune { + if ch >= 'a' && ch <= 'z' { + return ch - 32 + } + return ch +} + +// isSpace checks if a character is some kind of whitespace. +func isSpace(ch rune) bool { + return ch == ' ' || ch == '\t' || ch == '\n' || ch == '\r' +} + +// isDelimiter checks if a character is some kind of whitespace or '_' or '-'. +func isDelimiter(ch rune) bool { + return ch == '-' || ch == '_' || isSpace(ch) +} + +// iterFunc is a callback that is called fro a specific position in a string. Its arguments are the +// rune at the respective string position as well as the previous and the next rune. If curr is at the +// first position of the string prev is zero. If curr is at the end of the string next is zero. +type iterFunc func(prev, curr, next rune) + +// stringIter iterates over a string, invoking the callback for every single rune in the string. +func stringIter(s string, callback iterFunc) { + var prev rune + var curr rune + for _, next := range s { + if curr == 0 { + prev = curr + curr = next + continue + } + + callback(prev, curr, next) + + prev = curr + curr = next + } + + if len(s) > 0 { + callback(prev, curr, 0) + } +} diff --git a/vendor/github.com/stoewer/go-strcase/kebab.go b/vendor/github.com/stoewer/go-strcase/kebab.go new file mode 100644 index 000000000..e9a648757 --- /dev/null +++ b/vendor/github.com/stoewer/go-strcase/kebab.go @@ -0,0 +1,14 @@ +// Copyright (c) 2017, A. Stoewer +// All rights reserved. + +package strcase + +// KebabCase converts a string into kebab case. +func KebabCase(s string) string { + return delimiterCase(s, '-', false) +} + +// UpperKebabCase converts a string into kebab case with capital letters. +func UpperKebabCase(s string) string { + return delimiterCase(s, '-', true) +} diff --git a/vendor/github.com/stoewer/go-strcase/snake.go b/vendor/github.com/stoewer/go-strcase/snake.go new file mode 100644 index 000000000..1b216e20c --- /dev/null +++ b/vendor/github.com/stoewer/go-strcase/snake.go @@ -0,0 +1,58 @@ +// Copyright (c) 2017, A. Stoewer +// All rights reserved. + +package strcase + +import ( + "strings" +) + +// SnakeCase converts a string into snake case. +func SnakeCase(s string) string { + return delimiterCase(s, '_', false) +} + +// UpperSnakeCase converts a string into snake case with capital letters. +func UpperSnakeCase(s string) string { + return delimiterCase(s, '_', true) +} + +// delimiterCase converts a string into snake_case or kebab-case depending on the delimiter passed +// as second argument. When upperCase is true the result will be UPPER_SNAKE_CASE or UPPER-KEBAB-CASE. +func delimiterCase(s string, delimiter rune, upperCase bool) string { + s = strings.TrimSpace(s) + buffer := make([]rune, 0, len(s)+3) + + adjustCase := toLower + if upperCase { + adjustCase = toUpper + } + + var prev rune + var curr rune + for _, next := range s { + if isDelimiter(curr) { + if !isDelimiter(prev) { + buffer = append(buffer, delimiter) + } + } else if isUpper(curr) { + if isLower(prev) || (isUpper(prev) && isLower(next)) { + buffer = append(buffer, delimiter) + } + buffer = append(buffer, adjustCase(curr)) + } else if curr != 0 { + buffer = append(buffer, adjustCase(curr)) + } + prev = curr + curr = next + } + + if len(s) > 0 { + if isUpper(curr) && isLower(prev) && prev != 0 { + buffer = append(buffer, delimiter) + } + buffer = append(buffer, adjustCase(curr)) + } + + return string(buffer) +} diff --git a/vendor/golang.org/x/exp/LICENSE b/vendor/golang.org/x/exp/LICENSE new file mode 100644 index 000000000..2a7cf70da --- /dev/null +++ b/vendor/golang.org/x/exp/LICENSE @@ -0,0 +1,27 @@ +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/golang.org/x/exp/PATENTS b/vendor/golang.org/x/exp/PATENTS new file mode 100644 index 000000000..733099041 --- /dev/null +++ b/vendor/golang.org/x/exp/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the Go project. + +Google 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, +transfer and otherwise run, modify and propagate the contents of this +implementation of Go, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of Go. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of Go or any code incorporated within this +implementation of Go constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of Go +shall terminate as of the date such litigation is filed. diff --git a/vendor/golang.org/x/exp/constraints/constraints.go b/vendor/golang.org/x/exp/constraints/constraints.go new file mode 100644 index 000000000..2c033dff4 --- /dev/null +++ b/vendor/golang.org/x/exp/constraints/constraints.go @@ -0,0 +1,50 @@ +// Copyright 2021 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package constraints defines a set of useful constraints to be used +// with type parameters. +package constraints + +// Signed is a constraint that permits any signed integer type. +// If future releases of Go add new predeclared signed integer types, +// this constraint will be modified to include them. +type Signed interface { + ~int | ~int8 | ~int16 | ~int32 | ~int64 +} + +// Unsigned is a constraint that permits any unsigned integer type. +// If future releases of Go add new predeclared unsigned integer types, +// this constraint will be modified to include them. +type Unsigned interface { + ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr +} + +// Integer is a constraint that permits any integer type. +// If future releases of Go add new predeclared integer types, +// this constraint will be modified to include them. +type Integer interface { + Signed | Unsigned +} + +// Float is a constraint that permits any floating-point type. +// If future releases of Go add new predeclared floating-point types, +// this constraint will be modified to include them. +type Float interface { + ~float32 | ~float64 +} + +// Complex is a constraint that permits any complex numeric type. +// If future releases of Go add new predeclared complex numeric types, +// this constraint will be modified to include them. +type Complex interface { + ~complex64 | ~complex128 +} + +// Ordered is a constraint that permits any ordered type: any type +// that supports the operators < <= >= >. +// If future releases of Go add new ordered types, +// this constraint will be modified to include them. +type Ordered interface { + Integer | Float | ~string +} diff --git a/vendor/golang.org/x/exp/slices/cmp.go b/vendor/golang.org/x/exp/slices/cmp.go new file mode 100644 index 000000000..fbf1934a0 --- /dev/null +++ b/vendor/golang.org/x/exp/slices/cmp.go @@ -0,0 +1,44 @@ +// Copyright 2023 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package slices + +import "golang.org/x/exp/constraints" + +// min is a version of the predeclared function from the Go 1.21 release. +func min[T constraints.Ordered](a, b T) T { + if a < b || isNaN(a) { + return a + } + return b +} + +// max is a version of the predeclared function from the Go 1.21 release. +func max[T constraints.Ordered](a, b T) T { + if a > b || isNaN(a) { + return a + } + return b +} + +// cmpLess is a copy of cmp.Less from the Go 1.21 release. +func cmpLess[T constraints.Ordered](x, y T) bool { + return (isNaN(x) && !isNaN(y)) || x < y +} + +// cmpCompare is a copy of cmp.Compare from the Go 1.21 release. +func cmpCompare[T constraints.Ordered](x, y T) int { + xNaN := isNaN(x) + yNaN := isNaN(y) + if xNaN && yNaN { + return 0 + } + if xNaN || x < y { + return -1 + } + if yNaN || x > y { + return +1 + } + return 0 +} diff --git a/vendor/golang.org/x/exp/slices/slices.go b/vendor/golang.org/x/exp/slices/slices.go new file mode 100644 index 000000000..46ceac343 --- /dev/null +++ b/vendor/golang.org/x/exp/slices/slices.go @@ -0,0 +1,515 @@ +// Copyright 2021 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package slices defines various functions useful with slices of any type. +package slices + +import ( + "unsafe" + + "golang.org/x/exp/constraints" +) + +// Equal reports whether two slices are equal: the same length and all +// elements equal. If the lengths are different, Equal returns false. +// Otherwise, the elements are compared in increasing index order, and the +// comparison stops at the first unequal pair. +// Floating point NaNs are not considered equal. +func Equal[S ~[]E, E comparable](s1, s2 S) bool { + if len(s1) != len(s2) { + return false + } + for i := range s1 { + if s1[i] != s2[i] { + return false + } + } + return true +} + +// EqualFunc reports whether two slices are equal using an equality +// function on each pair of elements. If the lengths are different, +// EqualFunc returns false. Otherwise, the elements are compared in +// increasing index order, and the comparison stops at the first index +// for which eq returns false. +func EqualFunc[S1 ~[]E1, S2 ~[]E2, E1, E2 any](s1 S1, s2 S2, eq func(E1, E2) bool) bool { + if len(s1) != len(s2) { + return false + } + for i, v1 := range s1 { + v2 := s2[i] + if !eq(v1, v2) { + return false + } + } + return true +} + +// Compare compares the elements of s1 and s2, using [cmp.Compare] on each pair +// of elements. The elements are compared sequentially, starting at index 0, +// until one element is not equal to the other. +// The result of comparing the first non-matching elements is returned. +// If both slices are equal until one of them ends, the shorter slice is +// considered less than the longer one. +// The result is 0 if s1 == s2, -1 if s1 < s2, and +1 if s1 > s2. +func Compare[S ~[]E, E constraints.Ordered](s1, s2 S) int { + for i, v1 := range s1 { + if i >= len(s2) { + return +1 + } + v2 := s2[i] + if c := cmpCompare(v1, v2); c != 0 { + return c + } + } + if len(s1) < len(s2) { + return -1 + } + return 0 +} + +// CompareFunc is like [Compare] but uses a custom comparison function on each +// pair of elements. +// The result is the first non-zero result of cmp; if cmp always +// returns 0 the result is 0 if len(s1) == len(s2), -1 if len(s1) < len(s2), +// and +1 if len(s1) > len(s2). +func CompareFunc[S1 ~[]E1, S2 ~[]E2, E1, E2 any](s1 S1, s2 S2, cmp func(E1, E2) int) int { + for i, v1 := range s1 { + if i >= len(s2) { + return +1 + } + v2 := s2[i] + if c := cmp(v1, v2); c != 0 { + return c + } + } + if len(s1) < len(s2) { + return -1 + } + return 0 +} + +// Index returns the index of the first occurrence of v in s, +// or -1 if not present. +func Index[S ~[]E, E comparable](s S, v E) int { + for i := range s { + if v == s[i] { + return i + } + } + return -1 +} + +// IndexFunc returns the first index i satisfying f(s[i]), +// or -1 if none do. +func IndexFunc[S ~[]E, E any](s S, f func(E) bool) int { + for i := range s { + if f(s[i]) { + return i + } + } + return -1 +} + +// Contains reports whether v is present in s. +func Contains[S ~[]E, E comparable](s S, v E) bool { + return Index(s, v) >= 0 +} + +// ContainsFunc reports whether at least one +// element e of s satisfies f(e). +func ContainsFunc[S ~[]E, E any](s S, f func(E) bool) bool { + return IndexFunc(s, f) >= 0 +} + +// Insert inserts the values v... into s at index i, +// returning the modified slice. +// The elements at s[i:] are shifted up to make room. +// In the returned slice r, r[i] == v[0], +// and r[i+len(v)] == value originally at r[i]. +// Insert panics if i is out of range. +// This function is O(len(s) + len(v)). +func Insert[S ~[]E, E any](s S, i int, v ...E) S { + m := len(v) + if m == 0 { + return s + } + n := len(s) + if i == n { + return append(s, v...) + } + if n+m > cap(s) { + // Use append rather than make so that we bump the size of + // the slice up to the next storage class. + // This is what Grow does but we don't call Grow because + // that might copy the values twice. + s2 := append(s[:i], make(S, n+m-i)...) + copy(s2[i:], v) + copy(s2[i+m:], s[i:]) + return s2 + } + s = s[:n+m] + + // before: + // s: aaaaaaaabbbbccccccccdddd + // ^ ^ ^ ^ + // i i+m n n+m + // after: + // s: aaaaaaaavvvvbbbbcccccccc + // ^ ^ ^ ^ + // i i+m n n+m + // + // a are the values that don't move in s. + // v are the values copied in from v. + // b and c are the values from s that are shifted up in index. + // d are the values that get overwritten, never to be seen again. + + if !overlaps(v, s[i+m:]) { + // Easy case - v does not overlap either the c or d regions. + // (It might be in some of a or b, or elsewhere entirely.) + // The data we copy up doesn't write to v at all, so just do it. + + copy(s[i+m:], s[i:]) + + // Now we have + // s: aaaaaaaabbbbbbbbcccccccc + // ^ ^ ^ ^ + // i i+m n n+m + // Note the b values are duplicated. + + copy(s[i:], v) + + // Now we have + // s: aaaaaaaavvvvbbbbcccccccc + // ^ ^ ^ ^ + // i i+m n n+m + // That's the result we want. + return s + } + + // The hard case - v overlaps c or d. We can't just shift up + // the data because we'd move or clobber the values we're trying + // to insert. + // So instead, write v on top of d, then rotate. + copy(s[n:], v) + + // Now we have + // s: aaaaaaaabbbbccccccccvvvv + // ^ ^ ^ ^ + // i i+m n n+m + + rotateRight(s[i:], m) + + // Now we have + // s: aaaaaaaavvvvbbbbcccccccc + // ^ ^ ^ ^ + // i i+m n n+m + // That's the result we want. + return s +} + +// clearSlice sets all elements up to the length of s to the zero value of E. +// We may use the builtin clear func instead, and remove clearSlice, when upgrading +// to Go 1.21+. +func clearSlice[S ~[]E, E any](s S) { + var zero E + for i := range s { + s[i] = zero + } +} + +// Delete removes the elements s[i:j] from s, returning the modified slice. +// Delete panics if j > len(s) or s[i:j] is not a valid slice of s. +// Delete is O(len(s)-i), so if many items must be deleted, it is better to +// make a single call deleting them all together than to delete one at a time. +// Delete zeroes the elements s[len(s)-(j-i):len(s)]. +func Delete[S ~[]E, E any](s S, i, j int) S { + _ = s[i:j:len(s)] // bounds check + + if i == j { + return s + } + + oldlen := len(s) + s = append(s[:i], s[j:]...) + clearSlice(s[len(s):oldlen]) // zero/nil out the obsolete elements, for GC + return s +} + +// DeleteFunc removes any elements from s for which del returns true, +// returning the modified slice. +// DeleteFunc zeroes the elements between the new length and the original length. +func DeleteFunc[S ~[]E, E any](s S, del func(E) bool) S { + i := IndexFunc(s, del) + if i == -1 { + return s + } + // Don't start copying elements until we find one to delete. + for j := i + 1; j < len(s); j++ { + if v := s[j]; !del(v) { + s[i] = v + i++ + } + } + clearSlice(s[i:]) // zero/nil out the obsolete elements, for GC + return s[:i] +} + +// Replace replaces the elements s[i:j] by the given v, and returns the +// modified slice. Replace panics if s[i:j] is not a valid slice of s. +// When len(v) < (j-i), Replace zeroes the elements between the new length and the original length. +func Replace[S ~[]E, E any](s S, i, j int, v ...E) S { + _ = s[i:j] // verify that i:j is a valid subslice + + if i == j { + return Insert(s, i, v...) + } + if j == len(s) { + return append(s[:i], v...) + } + + tot := len(s[:i]) + len(v) + len(s[j:]) + if tot > cap(s) { + // Too big to fit, allocate and copy over. + s2 := append(s[:i], make(S, tot-i)...) // See Insert + copy(s2[i:], v) + copy(s2[i+len(v):], s[j:]) + return s2 + } + + r := s[:tot] + + if i+len(v) <= j { + // Easy, as v fits in the deleted portion. + copy(r[i:], v) + if i+len(v) != j { + copy(r[i+len(v):], s[j:]) + } + clearSlice(s[tot:]) // zero/nil out the obsolete elements, for GC + return r + } + + // We are expanding (v is bigger than j-i). + // The situation is something like this: + // (example has i=4,j=8,len(s)=16,len(v)=6) + // s: aaaaxxxxbbbbbbbbyy + // ^ ^ ^ ^ + // i j len(s) tot + // a: prefix of s + // x: deleted range + // b: more of s + // y: area to expand into + + if !overlaps(r[i+len(v):], v) { + // Easy, as v is not clobbered by the first copy. + copy(r[i+len(v):], s[j:]) + copy(r[i:], v) + return r + } + + // This is a situation where we don't have a single place to which + // we can copy v. Parts of it need to go to two different places. + // We want to copy the prefix of v into y and the suffix into x, then + // rotate |y| spots to the right. + // + // v[2:] v[:2] + // | | + // s: aaaavvvvbbbbbbbbvv + // ^ ^ ^ ^ + // i j len(s) tot + // + // If either of those two destinations don't alias v, then we're good. + y := len(v) - (j - i) // length of y portion + + if !overlaps(r[i:j], v) { + copy(r[i:j], v[y:]) + copy(r[len(s):], v[:y]) + rotateRight(r[i:], y) + return r + } + if !overlaps(r[len(s):], v) { + copy(r[len(s):], v[:y]) + copy(r[i:j], v[y:]) + rotateRight(r[i:], y) + return r + } + + // Now we know that v overlaps both x and y. + // That means that the entirety of b is *inside* v. + // So we don't need to preserve b at all; instead we + // can copy v first, then copy the b part of v out of + // v to the right destination. + k := startIdx(v, s[j:]) + copy(r[i:], v) + copy(r[i+len(v):], r[i+k:]) + return r +} + +// Clone returns a copy of the slice. +// The elements are copied using assignment, so this is a shallow clone. +func Clone[S ~[]E, E any](s S) S { + // Preserve nil in case it matters. + if s == nil { + return nil + } + return append(S([]E{}), s...) +} + +// Compact replaces consecutive runs of equal elements with a single copy. +// This is like the uniq command found on Unix. +// Compact modifies the contents of the slice s and returns the modified slice, +// which may have a smaller length. +// Compact zeroes the elements between the new length and the original length. +func Compact[S ~[]E, E comparable](s S) S { + if len(s) < 2 { + return s + } + i := 1 + for k := 1; k < len(s); k++ { + if s[k] != s[k-1] { + if i != k { + s[i] = s[k] + } + i++ + } + } + clearSlice(s[i:]) // zero/nil out the obsolete elements, for GC + return s[:i] +} + +// CompactFunc is like [Compact] but uses an equality function to compare elements. +// For runs of elements that compare equal, CompactFunc keeps the first one. +// CompactFunc zeroes the elements between the new length and the original length. +func CompactFunc[S ~[]E, E any](s S, eq func(E, E) bool) S { + if len(s) < 2 { + return s + } + i := 1 + for k := 1; k < len(s); k++ { + if !eq(s[k], s[k-1]) { + if i != k { + s[i] = s[k] + } + i++ + } + } + clearSlice(s[i:]) // zero/nil out the obsolete elements, for GC + return s[:i] +} + +// Grow increases the slice's capacity, if necessary, to guarantee space for +// another n elements. After Grow(n), at least n elements can be appended +// to the slice without another allocation. If n is negative or too large to +// allocate the memory, Grow panics. +func Grow[S ~[]E, E any](s S, n int) S { + if n < 0 { + panic("cannot be negative") + } + if n -= cap(s) - len(s); n > 0 { + // TODO(https://go.dev/issue/53888): Make using []E instead of S + // to workaround a compiler bug where the runtime.growslice optimization + // does not take effect. Revert when the compiler is fixed. + s = append([]E(s)[:cap(s)], make([]E, n)...)[:len(s)] + } + return s +} + +// Clip removes unused capacity from the slice, returning s[:len(s):len(s)]. +func Clip[S ~[]E, E any](s S) S { + return s[:len(s):len(s)] +} + +// Rotation algorithm explanation: +// +// rotate left by 2 +// start with +// 0123456789 +// split up like this +// 01 234567 89 +// swap first 2 and last 2 +// 89 234567 01 +// join first parts +// 89234567 01 +// recursively rotate first left part by 2 +// 23456789 01 +// join at the end +// 2345678901 +// +// rotate left by 8 +// start with +// 0123456789 +// split up like this +// 01 234567 89 +// swap first 2 and last 2 +// 89 234567 01 +// join last parts +// 89 23456701 +// recursively rotate second part left by 6 +// 89 01234567 +// join at the end +// 8901234567 + +// TODO: There are other rotate algorithms. +// This algorithm has the desirable property that it moves each element exactly twice. +// The triple-reverse algorithm is simpler and more cache friendly, but takes more writes. +// The follow-cycles algorithm can be 1-write but it is not very cache friendly. + +// rotateLeft rotates b left by n spaces. +// s_final[i] = s_orig[i+r], wrapping around. +func rotateLeft[E any](s []E, r int) { + for r != 0 && r != len(s) { + if r*2 <= len(s) { + swap(s[:r], s[len(s)-r:]) + s = s[:len(s)-r] + } else { + swap(s[:len(s)-r], s[r:]) + s, r = s[len(s)-r:], r*2-len(s) + } + } +} +func rotateRight[E any](s []E, r int) { + rotateLeft(s, len(s)-r) +} + +// swap swaps the contents of x and y. x and y must be equal length and disjoint. +func swap[E any](x, y []E) { + for i := 0; i < len(x); i++ { + x[i], y[i] = y[i], x[i] + } +} + +// overlaps reports whether the memory ranges a[0:len(a)] and b[0:len(b)] overlap. +func overlaps[E any](a, b []E) bool { + if len(a) == 0 || len(b) == 0 { + return false + } + elemSize := unsafe.Sizeof(a[0]) + if elemSize == 0 { + return false + } + // TODO: use a runtime/unsafe facility once one becomes available. See issue 12445. + // Also see crypto/internal/alias/alias.go:AnyOverlap + return uintptr(unsafe.Pointer(&a[0])) <= uintptr(unsafe.Pointer(&b[len(b)-1]))+(elemSize-1) && + uintptr(unsafe.Pointer(&b[0])) <= uintptr(unsafe.Pointer(&a[len(a)-1]))+(elemSize-1) +} + +// startIdx returns the index in haystack where the needle starts. +// prerequisite: the needle must be aliased entirely inside the haystack. +func startIdx[E any](haystack, needle []E) int { + p := &needle[0] + for i := range haystack { + if p == &haystack[i] { + return i + } + } + // TODO: what if the overlap is by a non-integral number of Es? + panic("needle not found") +} + +// Reverse reverses the elements of the slice in place. +func Reverse[S ~[]E, E any](s S) { + for i, j := 0, len(s)-1; i < j; i, j = i+1, j-1 { + s[i], s[j] = s[j], s[i] + } +} diff --git a/vendor/golang.org/x/exp/slices/sort.go b/vendor/golang.org/x/exp/slices/sort.go new file mode 100644 index 000000000..f58bbc7ba --- /dev/null +++ b/vendor/golang.org/x/exp/slices/sort.go @@ -0,0 +1,197 @@ +// Copyright 2022 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:generate go run $GOROOT/src/sort/gen_sort_variants.go -exp + +package slices + +import ( + "math/bits" + + "golang.org/x/exp/constraints" +) + +// Sort sorts a slice of any ordered type in ascending order. +// When sorting floating-point numbers, NaNs are ordered before other values. +func Sort[S ~[]E, E constraints.Ordered](x S) { + n := len(x) + pdqsortOrdered(x, 0, n, bits.Len(uint(n))) +} + +// SortFunc sorts the slice x in ascending order as determined by the cmp +// function. This sort is not guaranteed to be stable. +// cmp(a, b) should return a negative number when a < b, a positive number when +// a > b and zero when a == b or when a is not comparable to b in the sense +// of the formal definition of Strict Weak Ordering. +// +// SortFunc requires that cmp is a strict weak ordering. +// See https://en.wikipedia.org/wiki/Weak_ordering#Strict_weak_orderings. +// To indicate 'uncomparable', return 0 from the function. +func SortFunc[S ~[]E, E any](x S, cmp func(a, b E) int) { + n := len(x) + pdqsortCmpFunc(x, 0, n, bits.Len(uint(n)), cmp) +} + +// SortStableFunc sorts the slice x while keeping the original order of equal +// elements, using cmp to compare elements in the same way as [SortFunc]. +func SortStableFunc[S ~[]E, E any](x S, cmp func(a, b E) int) { + stableCmpFunc(x, len(x), cmp) +} + +// IsSorted reports whether x is sorted in ascending order. +func IsSorted[S ~[]E, E constraints.Ordered](x S) bool { + for i := len(x) - 1; i > 0; i-- { + if cmpLess(x[i], x[i-1]) { + return false + } + } + return true +} + +// IsSortedFunc reports whether x is sorted in ascending order, with cmp as the +// comparison function as defined by [SortFunc]. +func IsSortedFunc[S ~[]E, E any](x S, cmp func(a, b E) int) bool { + for i := len(x) - 1; i > 0; i-- { + if cmp(x[i], x[i-1]) < 0 { + return false + } + } + return true +} + +// Min returns the minimal value in x. It panics if x is empty. +// For floating-point numbers, Min propagates NaNs (any NaN value in x +// forces the output to be NaN). +func Min[S ~[]E, E constraints.Ordered](x S) E { + if len(x) < 1 { + panic("slices.Min: empty list") + } + m := x[0] + for i := 1; i < len(x); i++ { + m = min(m, x[i]) + } + return m +} + +// MinFunc returns the minimal value in x, using cmp to compare elements. +// It panics if x is empty. If there is more than one minimal element +// according to the cmp function, MinFunc returns the first one. +func MinFunc[S ~[]E, E any](x S, cmp func(a, b E) int) E { + if len(x) < 1 { + panic("slices.MinFunc: empty list") + } + m := x[0] + for i := 1; i < len(x); i++ { + if cmp(x[i], m) < 0 { + m = x[i] + } + } + return m +} + +// Max returns the maximal value in x. It panics if x is empty. +// For floating-point E, Max propagates NaNs (any NaN value in x +// forces the output to be NaN). +func Max[S ~[]E, E constraints.Ordered](x S) E { + if len(x) < 1 { + panic("slices.Max: empty list") + } + m := x[0] + for i := 1; i < len(x); i++ { + m = max(m, x[i]) + } + return m +} + +// MaxFunc returns the maximal value in x, using cmp to compare elements. +// It panics if x is empty. If there is more than one maximal element +// according to the cmp function, MaxFunc returns the first one. +func MaxFunc[S ~[]E, E any](x S, cmp func(a, b E) int) E { + if len(x) < 1 { + panic("slices.MaxFunc: empty list") + } + m := x[0] + for i := 1; i < len(x); i++ { + if cmp(x[i], m) > 0 { + m = x[i] + } + } + return m +} + +// BinarySearch searches for target in a sorted slice and returns the position +// where target is found, or the position where target would appear in the +// sort order; it also returns a bool saying whether the target is really found +// in the slice. The slice must be sorted in increasing order. +func BinarySearch[S ~[]E, E constraints.Ordered](x S, target E) (int, bool) { + // Inlining is faster than calling BinarySearchFunc with a lambda. + n := len(x) + // Define x[-1] < target and x[n] >= target. + // Invariant: x[i-1] < target, x[j] >= target. + i, j := 0, n + for i < j { + h := int(uint(i+j) >> 1) // avoid overflow when computing h + // i ≤ h < j + if cmpLess(x[h], target) { + i = h + 1 // preserves x[i-1] < target + } else { + j = h // preserves x[j] >= target + } + } + // i == j, x[i-1] < target, and x[j] (= x[i]) >= target => answer is i. + return i, i < n && (x[i] == target || (isNaN(x[i]) && isNaN(target))) +} + +// BinarySearchFunc works like [BinarySearch], but uses a custom comparison +// function. The slice must be sorted in increasing order, where "increasing" +// is defined by cmp. cmp should return 0 if the slice element matches +// the target, a negative number if the slice element precedes the target, +// or a positive number if the slice element follows the target. +// cmp must implement the same ordering as the slice, such that if +// cmp(a, t) < 0 and cmp(b, t) >= 0, then a must precede b in the slice. +func BinarySearchFunc[S ~[]E, E, T any](x S, target T, cmp func(E, T) int) (int, bool) { + n := len(x) + // Define cmp(x[-1], target) < 0 and cmp(x[n], target) >= 0 . + // Invariant: cmp(x[i - 1], target) < 0, cmp(x[j], target) >= 0. + i, j := 0, n + for i < j { + h := int(uint(i+j) >> 1) // avoid overflow when computing h + // i ≤ h < j + if cmp(x[h], target) < 0 { + i = h + 1 // preserves cmp(x[i - 1], target) < 0 + } else { + j = h // preserves cmp(x[j], target) >= 0 + } + } + // i == j, cmp(x[i-1], target) < 0, and cmp(x[j], target) (= cmp(x[i], target)) >= 0 => answer is i. + return i, i < n && cmp(x[i], target) == 0 +} + +type sortedHint int // hint for pdqsort when choosing the pivot + +const ( + unknownHint sortedHint = iota + increasingHint + decreasingHint +) + +// xorshift paper: https://www.jstatsoft.org/article/view/v008i14/xorshift.pdf +type xorshift uint64 + +func (r *xorshift) Next() uint64 { + *r ^= *r << 13 + *r ^= *r >> 17 + *r ^= *r << 5 + return uint64(*r) +} + +func nextPowerOfTwo(length int) uint { + return 1 << bits.Len(uint(length)) +} + +// isNaN reports whether x is a NaN without requiring the math package. +// This will always return false if T is not floating-point. +func isNaN[T constraints.Ordered](x T) bool { + return x != x +} diff --git a/vendor/golang.org/x/exp/slices/zsortanyfunc.go b/vendor/golang.org/x/exp/slices/zsortanyfunc.go new file mode 100644 index 000000000..06f2c7a24 --- /dev/null +++ b/vendor/golang.org/x/exp/slices/zsortanyfunc.go @@ -0,0 +1,479 @@ +// Code generated by gen_sort_variants.go; DO NOT EDIT. + +// Copyright 2022 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package slices + +// insertionSortCmpFunc sorts data[a:b] using insertion sort. +func insertionSortCmpFunc[E any](data []E, a, b int, cmp func(a, b E) int) { + for i := a + 1; i < b; i++ { + for j := i; j > a && (cmp(data[j], data[j-1]) < 0); j-- { + data[j], data[j-1] = data[j-1], data[j] + } + } +} + +// siftDownCmpFunc implements the heap property on data[lo:hi]. +// first is an offset into the array where the root of the heap lies. +func siftDownCmpFunc[E any](data []E, lo, hi, first int, cmp func(a, b E) int) { + root := lo + for { + child := 2*root + 1 + if child >= hi { + break + } + if child+1 < hi && (cmp(data[first+child], data[first+child+1]) < 0) { + child++ + } + if !(cmp(data[first+root], data[first+child]) < 0) { + return + } + data[first+root], data[first+child] = data[first+child], data[first+root] + root = child + } +} + +func heapSortCmpFunc[E any](data []E, a, b int, cmp func(a, b E) int) { + first := a + lo := 0 + hi := b - a + + // Build heap with greatest element at top. + for i := (hi - 1) / 2; i >= 0; i-- { + siftDownCmpFunc(data, i, hi, first, cmp) + } + + // Pop elements, largest first, into end of data. + for i := hi - 1; i >= 0; i-- { + data[first], data[first+i] = data[first+i], data[first] + siftDownCmpFunc(data, lo, i, first, cmp) + } +} + +// pdqsortCmpFunc sorts data[a:b]. +// The algorithm based on pattern-defeating quicksort(pdqsort), but without the optimizations from BlockQuicksort. +// pdqsort paper: https://arxiv.org/pdf/2106.05123.pdf +// C++ implementation: https://github.com/orlp/pdqsort +// Rust implementation: https://docs.rs/pdqsort/latest/pdqsort/ +// limit is the number of allowed bad (very unbalanced) pivots before falling back to heapsort. +func pdqsortCmpFunc[E any](data []E, a, b, limit int, cmp func(a, b E) int) { + const maxInsertion = 12 + + var ( + wasBalanced = true // whether the last partitioning was reasonably balanced + wasPartitioned = true // whether the slice was already partitioned + ) + + for { + length := b - a + + if length <= maxInsertion { + insertionSortCmpFunc(data, a, b, cmp) + return + } + + // Fall back to heapsort if too many bad choices were made. + if limit == 0 { + heapSortCmpFunc(data, a, b, cmp) + return + } + + // If the last partitioning was imbalanced, we need to breaking patterns. + if !wasBalanced { + breakPatternsCmpFunc(data, a, b, cmp) + limit-- + } + + pivot, hint := choosePivotCmpFunc(data, a, b, cmp) + if hint == decreasingHint { + reverseRangeCmpFunc(data, a, b, cmp) + // The chosen pivot was pivot-a elements after the start of the array. + // After reversing it is pivot-a elements before the end of the array. + // The idea came from Rust's implementation. + pivot = (b - 1) - (pivot - a) + hint = increasingHint + } + + // The slice is likely already sorted. + if wasBalanced && wasPartitioned && hint == increasingHint { + if partialInsertionSortCmpFunc(data, a, b, cmp) { + return + } + } + + // Probably the slice contains many duplicate elements, partition the slice into + // elements equal to and elements greater than the pivot. + if a > 0 && !(cmp(data[a-1], data[pivot]) < 0) { + mid := partitionEqualCmpFunc(data, a, b, pivot, cmp) + a = mid + continue + } + + mid, alreadyPartitioned := partitionCmpFunc(data, a, b, pivot, cmp) + wasPartitioned = alreadyPartitioned + + leftLen, rightLen := mid-a, b-mid + balanceThreshold := length / 8 + if leftLen < rightLen { + wasBalanced = leftLen >= balanceThreshold + pdqsortCmpFunc(data, a, mid, limit, cmp) + a = mid + 1 + } else { + wasBalanced = rightLen >= balanceThreshold + pdqsortCmpFunc(data, mid+1, b, limit, cmp) + b = mid + } + } +} + +// partitionCmpFunc does one quicksort partition. +// Let p = data[pivot] +// Moves elements in data[a:b] around, so that data[i]

=p for inewpivot. +// On return, data[newpivot] = p +func partitionCmpFunc[E any](data []E, a, b, pivot int, cmp func(a, b E) int) (newpivot int, alreadyPartitioned bool) { + data[a], data[pivot] = data[pivot], data[a] + i, j := a+1, b-1 // i and j are inclusive of the elements remaining to be partitioned + + for i <= j && (cmp(data[i], data[a]) < 0) { + i++ + } + for i <= j && !(cmp(data[j], data[a]) < 0) { + j-- + } + if i > j { + data[j], data[a] = data[a], data[j] + return j, true + } + data[i], data[j] = data[j], data[i] + i++ + j-- + + for { + for i <= j && (cmp(data[i], data[a]) < 0) { + i++ + } + for i <= j && !(cmp(data[j], data[a]) < 0) { + j-- + } + if i > j { + break + } + data[i], data[j] = data[j], data[i] + i++ + j-- + } + data[j], data[a] = data[a], data[j] + return j, false +} + +// partitionEqualCmpFunc partitions data[a:b] into elements equal to data[pivot] followed by elements greater than data[pivot]. +// It assumed that data[a:b] does not contain elements smaller than the data[pivot]. +func partitionEqualCmpFunc[E any](data []E, a, b, pivot int, cmp func(a, b E) int) (newpivot int) { + data[a], data[pivot] = data[pivot], data[a] + i, j := a+1, b-1 // i and j are inclusive of the elements remaining to be partitioned + + for { + for i <= j && !(cmp(data[a], data[i]) < 0) { + i++ + } + for i <= j && (cmp(data[a], data[j]) < 0) { + j-- + } + if i > j { + break + } + data[i], data[j] = data[j], data[i] + i++ + j-- + } + return i +} + +// partialInsertionSortCmpFunc partially sorts a slice, returns true if the slice is sorted at the end. +func partialInsertionSortCmpFunc[E any](data []E, a, b int, cmp func(a, b E) int) bool { + const ( + maxSteps = 5 // maximum number of adjacent out-of-order pairs that will get shifted + shortestShifting = 50 // don't shift any elements on short arrays + ) + i := a + 1 + for j := 0; j < maxSteps; j++ { + for i < b && !(cmp(data[i], data[i-1]) < 0) { + i++ + } + + if i == b { + return true + } + + if b-a < shortestShifting { + return false + } + + data[i], data[i-1] = data[i-1], data[i] + + // Shift the smaller one to the left. + if i-a >= 2 { + for j := i - 1; j >= 1; j-- { + if !(cmp(data[j], data[j-1]) < 0) { + break + } + data[j], data[j-1] = data[j-1], data[j] + } + } + // Shift the greater one to the right. + if b-i >= 2 { + for j := i + 1; j < b; j++ { + if !(cmp(data[j], data[j-1]) < 0) { + break + } + data[j], data[j-1] = data[j-1], data[j] + } + } + } + return false +} + +// breakPatternsCmpFunc scatters some elements around in an attempt to break some patterns +// that might cause imbalanced partitions in quicksort. +func breakPatternsCmpFunc[E any](data []E, a, b int, cmp func(a, b E) int) { + length := b - a + if length >= 8 { + random := xorshift(length) + modulus := nextPowerOfTwo(length) + + for idx := a + (length/4)*2 - 1; idx <= a+(length/4)*2+1; idx++ { + other := int(uint(random.Next()) & (modulus - 1)) + if other >= length { + other -= length + } + data[idx], data[a+other] = data[a+other], data[idx] + } + } +} + +// choosePivotCmpFunc chooses a pivot in data[a:b]. +// +// [0,8): chooses a static pivot. +// [8,shortestNinther): uses the simple median-of-three method. +// [shortestNinther,∞): uses the Tukey ninther method. +func choosePivotCmpFunc[E any](data []E, a, b int, cmp func(a, b E) int) (pivot int, hint sortedHint) { + const ( + shortestNinther = 50 + maxSwaps = 4 * 3 + ) + + l := b - a + + var ( + swaps int + i = a + l/4*1 + j = a + l/4*2 + k = a + l/4*3 + ) + + if l >= 8 { + if l >= shortestNinther { + // Tukey ninther method, the idea came from Rust's implementation. + i = medianAdjacentCmpFunc(data, i, &swaps, cmp) + j = medianAdjacentCmpFunc(data, j, &swaps, cmp) + k = medianAdjacentCmpFunc(data, k, &swaps, cmp) + } + // Find the median among i, j, k and stores it into j. + j = medianCmpFunc(data, i, j, k, &swaps, cmp) + } + + switch swaps { + case 0: + return j, increasingHint + case maxSwaps: + return j, decreasingHint + default: + return j, unknownHint + } +} + +// order2CmpFunc returns x,y where data[x] <= data[y], where x,y=a,b or x,y=b,a. +func order2CmpFunc[E any](data []E, a, b int, swaps *int, cmp func(a, b E) int) (int, int) { + if cmp(data[b], data[a]) < 0 { + *swaps++ + return b, a + } + return a, b +} + +// medianCmpFunc returns x where data[x] is the median of data[a],data[b],data[c], where x is a, b, or c. +func medianCmpFunc[E any](data []E, a, b, c int, swaps *int, cmp func(a, b E) int) int { + a, b = order2CmpFunc(data, a, b, swaps, cmp) + b, c = order2CmpFunc(data, b, c, swaps, cmp) + a, b = order2CmpFunc(data, a, b, swaps, cmp) + return b +} + +// medianAdjacentCmpFunc finds the median of data[a - 1], data[a], data[a + 1] and stores the index into a. +func medianAdjacentCmpFunc[E any](data []E, a int, swaps *int, cmp func(a, b E) int) int { + return medianCmpFunc(data, a-1, a, a+1, swaps, cmp) +} + +func reverseRangeCmpFunc[E any](data []E, a, b int, cmp func(a, b E) int) { + i := a + j := b - 1 + for i < j { + data[i], data[j] = data[j], data[i] + i++ + j-- + } +} + +func swapRangeCmpFunc[E any](data []E, a, b, n int, cmp func(a, b E) int) { + for i := 0; i < n; i++ { + data[a+i], data[b+i] = data[b+i], data[a+i] + } +} + +func stableCmpFunc[E any](data []E, n int, cmp func(a, b E) int) { + blockSize := 20 // must be > 0 + a, b := 0, blockSize + for b <= n { + insertionSortCmpFunc(data, a, b, cmp) + a = b + b += blockSize + } + insertionSortCmpFunc(data, a, n, cmp) + + for blockSize < n { + a, b = 0, 2*blockSize + for b <= n { + symMergeCmpFunc(data, a, a+blockSize, b, cmp) + a = b + b += 2 * blockSize + } + if m := a + blockSize; m < n { + symMergeCmpFunc(data, a, m, n, cmp) + } + blockSize *= 2 + } +} + +// symMergeCmpFunc merges the two sorted subsequences data[a:m] and data[m:b] using +// the SymMerge algorithm from Pok-Son Kim and Arne Kutzner, "Stable Minimum +// Storage Merging by Symmetric Comparisons", in Susanne Albers and Tomasz +// Radzik, editors, Algorithms - ESA 2004, volume 3221 of Lecture Notes in +// Computer Science, pages 714-723. Springer, 2004. +// +// Let M = m-a and N = b-n. Wolog M < N. +// The recursion depth is bound by ceil(log(N+M)). +// The algorithm needs O(M*log(N/M + 1)) calls to data.Less. +// The algorithm needs O((M+N)*log(M)) calls to data.Swap. +// +// The paper gives O((M+N)*log(M)) as the number of assignments assuming a +// rotation algorithm which uses O(M+N+gcd(M+N)) assignments. The argumentation +// in the paper carries through for Swap operations, especially as the block +// swapping rotate uses only O(M+N) Swaps. +// +// symMerge assumes non-degenerate arguments: a < m && m < b. +// Having the caller check this condition eliminates many leaf recursion calls, +// which improves performance. +func symMergeCmpFunc[E any](data []E, a, m, b int, cmp func(a, b E) int) { + // Avoid unnecessary recursions of symMerge + // by direct insertion of data[a] into data[m:b] + // if data[a:m] only contains one element. + if m-a == 1 { + // Use binary search to find the lowest index i + // such that data[i] >= data[a] for m <= i < b. + // Exit the search loop with i == b in case no such index exists. + i := m + j := b + for i < j { + h := int(uint(i+j) >> 1) + if cmp(data[h], data[a]) < 0 { + i = h + 1 + } else { + j = h + } + } + // Swap values until data[a] reaches the position before i. + for k := a; k < i-1; k++ { + data[k], data[k+1] = data[k+1], data[k] + } + return + } + + // Avoid unnecessary recursions of symMerge + // by direct insertion of data[m] into data[a:m] + // if data[m:b] only contains one element. + if b-m == 1 { + // Use binary search to find the lowest index i + // such that data[i] > data[m] for a <= i < m. + // Exit the search loop with i == m in case no such index exists. + i := a + j := m + for i < j { + h := int(uint(i+j) >> 1) + if !(cmp(data[m], data[h]) < 0) { + i = h + 1 + } else { + j = h + } + } + // Swap values until data[m] reaches the position i. + for k := m; k > i; k-- { + data[k], data[k-1] = data[k-1], data[k] + } + return + } + + mid := int(uint(a+b) >> 1) + n := mid + m + var start, r int + if m > mid { + start = n - b + r = mid + } else { + start = a + r = m + } + p := n - 1 + + for start < r { + c := int(uint(start+r) >> 1) + if !(cmp(data[p-c], data[c]) < 0) { + start = c + 1 + } else { + r = c + } + } + + end := n - start + if start < m && m < end { + rotateCmpFunc(data, start, m, end, cmp) + } + if a < start && start < mid { + symMergeCmpFunc(data, a, start, mid, cmp) + } + if mid < end && end < b { + symMergeCmpFunc(data, mid, end, b, cmp) + } +} + +// rotateCmpFunc rotates two consecutive blocks u = data[a:m] and v = data[m:b] in data: +// Data of the form 'x u v y' is changed to 'x v u y'. +// rotate performs at most b-a many calls to data.Swap, +// and it assumes non-degenerate arguments: a < m && m < b. +func rotateCmpFunc[E any](data []E, a, m, b int, cmp func(a, b E) int) { + i := m - a + j := b - m + + for i != j { + if i > j { + swapRangeCmpFunc(data, m-i, m, j, cmp) + i -= j + } else { + swapRangeCmpFunc(data, m-i, m+j-i, i, cmp) + j -= i + } + } + // i == j + swapRangeCmpFunc(data, m-i, m, i, cmp) +} diff --git a/vendor/golang.org/x/exp/slices/zsortordered.go b/vendor/golang.org/x/exp/slices/zsortordered.go new file mode 100644 index 000000000..99b47c398 --- /dev/null +++ b/vendor/golang.org/x/exp/slices/zsortordered.go @@ -0,0 +1,481 @@ +// Code generated by gen_sort_variants.go; DO NOT EDIT. + +// Copyright 2022 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package slices + +import "golang.org/x/exp/constraints" + +// insertionSortOrdered sorts data[a:b] using insertion sort. +func insertionSortOrdered[E constraints.Ordered](data []E, a, b int) { + for i := a + 1; i < b; i++ { + for j := i; j > a && cmpLess(data[j], data[j-1]); j-- { + data[j], data[j-1] = data[j-1], data[j] + } + } +} + +// siftDownOrdered implements the heap property on data[lo:hi]. +// first is an offset into the array where the root of the heap lies. +func siftDownOrdered[E constraints.Ordered](data []E, lo, hi, first int) { + root := lo + for { + child := 2*root + 1 + if child >= hi { + break + } + if child+1 < hi && cmpLess(data[first+child], data[first+child+1]) { + child++ + } + if !cmpLess(data[first+root], data[first+child]) { + return + } + data[first+root], data[first+child] = data[first+child], data[first+root] + root = child + } +} + +func heapSortOrdered[E constraints.Ordered](data []E, a, b int) { + first := a + lo := 0 + hi := b - a + + // Build heap with greatest element at top. + for i := (hi - 1) / 2; i >= 0; i-- { + siftDownOrdered(data, i, hi, first) + } + + // Pop elements, largest first, into end of data. + for i := hi - 1; i >= 0; i-- { + data[first], data[first+i] = data[first+i], data[first] + siftDownOrdered(data, lo, i, first) + } +} + +// pdqsortOrdered sorts data[a:b]. +// The algorithm based on pattern-defeating quicksort(pdqsort), but without the optimizations from BlockQuicksort. +// pdqsort paper: https://arxiv.org/pdf/2106.05123.pdf +// C++ implementation: https://github.com/orlp/pdqsort +// Rust implementation: https://docs.rs/pdqsort/latest/pdqsort/ +// limit is the number of allowed bad (very unbalanced) pivots before falling back to heapsort. +func pdqsortOrdered[E constraints.Ordered](data []E, a, b, limit int) { + const maxInsertion = 12 + + var ( + wasBalanced = true // whether the last partitioning was reasonably balanced + wasPartitioned = true // whether the slice was already partitioned + ) + + for { + length := b - a + + if length <= maxInsertion { + insertionSortOrdered(data, a, b) + return + } + + // Fall back to heapsort if too many bad choices were made. + if limit == 0 { + heapSortOrdered(data, a, b) + return + } + + // If the last partitioning was imbalanced, we need to breaking patterns. + if !wasBalanced { + breakPatternsOrdered(data, a, b) + limit-- + } + + pivot, hint := choosePivotOrdered(data, a, b) + if hint == decreasingHint { + reverseRangeOrdered(data, a, b) + // The chosen pivot was pivot-a elements after the start of the array. + // After reversing it is pivot-a elements before the end of the array. + // The idea came from Rust's implementation. + pivot = (b - 1) - (pivot - a) + hint = increasingHint + } + + // The slice is likely already sorted. + if wasBalanced && wasPartitioned && hint == increasingHint { + if partialInsertionSortOrdered(data, a, b) { + return + } + } + + // Probably the slice contains many duplicate elements, partition the slice into + // elements equal to and elements greater than the pivot. + if a > 0 && !cmpLess(data[a-1], data[pivot]) { + mid := partitionEqualOrdered(data, a, b, pivot) + a = mid + continue + } + + mid, alreadyPartitioned := partitionOrdered(data, a, b, pivot) + wasPartitioned = alreadyPartitioned + + leftLen, rightLen := mid-a, b-mid + balanceThreshold := length / 8 + if leftLen < rightLen { + wasBalanced = leftLen >= balanceThreshold + pdqsortOrdered(data, a, mid, limit) + a = mid + 1 + } else { + wasBalanced = rightLen >= balanceThreshold + pdqsortOrdered(data, mid+1, b, limit) + b = mid + } + } +} + +// partitionOrdered does one quicksort partition. +// Let p = data[pivot] +// Moves elements in data[a:b] around, so that data[i]

=p for inewpivot. +// On return, data[newpivot] = p +func partitionOrdered[E constraints.Ordered](data []E, a, b, pivot int) (newpivot int, alreadyPartitioned bool) { + data[a], data[pivot] = data[pivot], data[a] + i, j := a+1, b-1 // i and j are inclusive of the elements remaining to be partitioned + + for i <= j && cmpLess(data[i], data[a]) { + i++ + } + for i <= j && !cmpLess(data[j], data[a]) { + j-- + } + if i > j { + data[j], data[a] = data[a], data[j] + return j, true + } + data[i], data[j] = data[j], data[i] + i++ + j-- + + for { + for i <= j && cmpLess(data[i], data[a]) { + i++ + } + for i <= j && !cmpLess(data[j], data[a]) { + j-- + } + if i > j { + break + } + data[i], data[j] = data[j], data[i] + i++ + j-- + } + data[j], data[a] = data[a], data[j] + return j, false +} + +// partitionEqualOrdered partitions data[a:b] into elements equal to data[pivot] followed by elements greater than data[pivot]. +// It assumed that data[a:b] does not contain elements smaller than the data[pivot]. +func partitionEqualOrdered[E constraints.Ordered](data []E, a, b, pivot int) (newpivot int) { + data[a], data[pivot] = data[pivot], data[a] + i, j := a+1, b-1 // i and j are inclusive of the elements remaining to be partitioned + + for { + for i <= j && !cmpLess(data[a], data[i]) { + i++ + } + for i <= j && cmpLess(data[a], data[j]) { + j-- + } + if i > j { + break + } + data[i], data[j] = data[j], data[i] + i++ + j-- + } + return i +} + +// partialInsertionSortOrdered partially sorts a slice, returns true if the slice is sorted at the end. +func partialInsertionSortOrdered[E constraints.Ordered](data []E, a, b int) bool { + const ( + maxSteps = 5 // maximum number of adjacent out-of-order pairs that will get shifted + shortestShifting = 50 // don't shift any elements on short arrays + ) + i := a + 1 + for j := 0; j < maxSteps; j++ { + for i < b && !cmpLess(data[i], data[i-1]) { + i++ + } + + if i == b { + return true + } + + if b-a < shortestShifting { + return false + } + + data[i], data[i-1] = data[i-1], data[i] + + // Shift the smaller one to the left. + if i-a >= 2 { + for j := i - 1; j >= 1; j-- { + if !cmpLess(data[j], data[j-1]) { + break + } + data[j], data[j-1] = data[j-1], data[j] + } + } + // Shift the greater one to the right. + if b-i >= 2 { + for j := i + 1; j < b; j++ { + if !cmpLess(data[j], data[j-1]) { + break + } + data[j], data[j-1] = data[j-1], data[j] + } + } + } + return false +} + +// breakPatternsOrdered scatters some elements around in an attempt to break some patterns +// that might cause imbalanced partitions in quicksort. +func breakPatternsOrdered[E constraints.Ordered](data []E, a, b int) { + length := b - a + if length >= 8 { + random := xorshift(length) + modulus := nextPowerOfTwo(length) + + for idx := a + (length/4)*2 - 1; idx <= a+(length/4)*2+1; idx++ { + other := int(uint(random.Next()) & (modulus - 1)) + if other >= length { + other -= length + } + data[idx], data[a+other] = data[a+other], data[idx] + } + } +} + +// choosePivotOrdered chooses a pivot in data[a:b]. +// +// [0,8): chooses a static pivot. +// [8,shortestNinther): uses the simple median-of-three method. +// [shortestNinther,∞): uses the Tukey ninther method. +func choosePivotOrdered[E constraints.Ordered](data []E, a, b int) (pivot int, hint sortedHint) { + const ( + shortestNinther = 50 + maxSwaps = 4 * 3 + ) + + l := b - a + + var ( + swaps int + i = a + l/4*1 + j = a + l/4*2 + k = a + l/4*3 + ) + + if l >= 8 { + if l >= shortestNinther { + // Tukey ninther method, the idea came from Rust's implementation. + i = medianAdjacentOrdered(data, i, &swaps) + j = medianAdjacentOrdered(data, j, &swaps) + k = medianAdjacentOrdered(data, k, &swaps) + } + // Find the median among i, j, k and stores it into j. + j = medianOrdered(data, i, j, k, &swaps) + } + + switch swaps { + case 0: + return j, increasingHint + case maxSwaps: + return j, decreasingHint + default: + return j, unknownHint + } +} + +// order2Ordered returns x,y where data[x] <= data[y], where x,y=a,b or x,y=b,a. +func order2Ordered[E constraints.Ordered](data []E, a, b int, swaps *int) (int, int) { + if cmpLess(data[b], data[a]) { + *swaps++ + return b, a + } + return a, b +} + +// medianOrdered returns x where data[x] is the median of data[a],data[b],data[c], where x is a, b, or c. +func medianOrdered[E constraints.Ordered](data []E, a, b, c int, swaps *int) int { + a, b = order2Ordered(data, a, b, swaps) + b, c = order2Ordered(data, b, c, swaps) + a, b = order2Ordered(data, a, b, swaps) + return b +} + +// medianAdjacentOrdered finds the median of data[a - 1], data[a], data[a + 1] and stores the index into a. +func medianAdjacentOrdered[E constraints.Ordered](data []E, a int, swaps *int) int { + return medianOrdered(data, a-1, a, a+1, swaps) +} + +func reverseRangeOrdered[E constraints.Ordered](data []E, a, b int) { + i := a + j := b - 1 + for i < j { + data[i], data[j] = data[j], data[i] + i++ + j-- + } +} + +func swapRangeOrdered[E constraints.Ordered](data []E, a, b, n int) { + for i := 0; i < n; i++ { + data[a+i], data[b+i] = data[b+i], data[a+i] + } +} + +func stableOrdered[E constraints.Ordered](data []E, n int) { + blockSize := 20 // must be > 0 + a, b := 0, blockSize + for b <= n { + insertionSortOrdered(data, a, b) + a = b + b += blockSize + } + insertionSortOrdered(data, a, n) + + for blockSize < n { + a, b = 0, 2*blockSize + for b <= n { + symMergeOrdered(data, a, a+blockSize, b) + a = b + b += 2 * blockSize + } + if m := a + blockSize; m < n { + symMergeOrdered(data, a, m, n) + } + blockSize *= 2 + } +} + +// symMergeOrdered merges the two sorted subsequences data[a:m] and data[m:b] using +// the SymMerge algorithm from Pok-Son Kim and Arne Kutzner, "Stable Minimum +// Storage Merging by Symmetric Comparisons", in Susanne Albers and Tomasz +// Radzik, editors, Algorithms - ESA 2004, volume 3221 of Lecture Notes in +// Computer Science, pages 714-723. Springer, 2004. +// +// Let M = m-a and N = b-n. Wolog M < N. +// The recursion depth is bound by ceil(log(N+M)). +// The algorithm needs O(M*log(N/M + 1)) calls to data.Less. +// The algorithm needs O((M+N)*log(M)) calls to data.Swap. +// +// The paper gives O((M+N)*log(M)) as the number of assignments assuming a +// rotation algorithm which uses O(M+N+gcd(M+N)) assignments. The argumentation +// in the paper carries through for Swap operations, especially as the block +// swapping rotate uses only O(M+N) Swaps. +// +// symMerge assumes non-degenerate arguments: a < m && m < b. +// Having the caller check this condition eliminates many leaf recursion calls, +// which improves performance. +func symMergeOrdered[E constraints.Ordered](data []E, a, m, b int) { + // Avoid unnecessary recursions of symMerge + // by direct insertion of data[a] into data[m:b] + // if data[a:m] only contains one element. + if m-a == 1 { + // Use binary search to find the lowest index i + // such that data[i] >= data[a] for m <= i < b. + // Exit the search loop with i == b in case no such index exists. + i := m + j := b + for i < j { + h := int(uint(i+j) >> 1) + if cmpLess(data[h], data[a]) { + i = h + 1 + } else { + j = h + } + } + // Swap values until data[a] reaches the position before i. + for k := a; k < i-1; k++ { + data[k], data[k+1] = data[k+1], data[k] + } + return + } + + // Avoid unnecessary recursions of symMerge + // by direct insertion of data[m] into data[a:m] + // if data[m:b] only contains one element. + if b-m == 1 { + // Use binary search to find the lowest index i + // such that data[i] > data[m] for a <= i < m. + // Exit the search loop with i == m in case no such index exists. + i := a + j := m + for i < j { + h := int(uint(i+j) >> 1) + if !cmpLess(data[m], data[h]) { + i = h + 1 + } else { + j = h + } + } + // Swap values until data[m] reaches the position i. + for k := m; k > i; k-- { + data[k], data[k-1] = data[k-1], data[k] + } + return + } + + mid := int(uint(a+b) >> 1) + n := mid + m + var start, r int + if m > mid { + start = n - b + r = mid + } else { + start = a + r = m + } + p := n - 1 + + for start < r { + c := int(uint(start+r) >> 1) + if !cmpLess(data[p-c], data[c]) { + start = c + 1 + } else { + r = c + } + } + + end := n - start + if start < m && m < end { + rotateOrdered(data, start, m, end) + } + if a < start && start < mid { + symMergeOrdered(data, a, start, mid) + } + if mid < end && end < b { + symMergeOrdered(data, mid, end, b) + } +} + +// rotateOrdered rotates two consecutive blocks u = data[a:m] and v = data[m:b] in data: +// Data of the form 'x u v y' is changed to 'x v u y'. +// rotate performs at most b-a many calls to data.Swap, +// and it assumes non-degenerate arguments: a < m && m < b. +func rotateOrdered[E constraints.Ordered](data []E, a, m, b int) { + i := m - a + j := b - m + + for i != j { + if i > j { + swapRangeOrdered(data, m-i, m, j) + i -= j + } else { + swapRangeOrdered(data, m-i, m+j-i, i) + j -= i + } + } + // i == j + swapRangeOrdered(data, m-i, m, i) +} diff --git a/vendor/golang.org/x/net/context/context.go b/vendor/golang.org/x/net/context/context.go new file mode 100644 index 000000000..db1c95fab --- /dev/null +++ b/vendor/golang.org/x/net/context/context.go @@ -0,0 +1,144 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package context defines the Context type, which carries deadlines, +// cancellation signals, and other request-scoped values across API boundaries +// and between processes. +// As of Go 1.7 this package is available in the standard library under the +// name [context], and migrating to it can be done automatically with [go fix]. +// +// Incoming requests to a server should create a [Context], and outgoing +// calls to servers should accept a Context. The chain of function +// calls between them must propagate the Context, optionally replacing +// it with a derived Context created using [WithCancel], [WithDeadline], +// [WithTimeout], or [WithValue]. +// +// Programs that use Contexts should follow these rules to keep interfaces +// consistent across packages and enable static analysis tools to check context +// propagation: +// +// Do not store Contexts inside a struct type; instead, pass a Context +// explicitly to each function that needs it. This is discussed further in +// https://go.dev/blog/context-and-structs. The Context should be the first +// parameter, typically named ctx: +// +// func DoSomething(ctx context.Context, arg Arg) error { +// // ... use ctx ... +// } +// +// Do not pass a nil [Context], even if a function permits it. Pass [context.TODO] +// if you are unsure about which Context to use. +// +// Use context Values only for request-scoped data that transits processes and +// APIs, not for passing optional parameters to functions. +// +// The same Context may be passed to functions running in different goroutines; +// Contexts are safe for simultaneous use by multiple goroutines. +// +// See https://go.dev/blog/context for example code for a server that uses +// Contexts. +// +// [go fix]: https://go.dev/cmd/go#hdr-Update_packages_to_use_new_APIs +package context + +import ( + "context" // standard library's context, as of Go 1.7 + "time" +) + +// A Context carries a deadline, a cancellation signal, and other values across +// API boundaries. +// +// Context's methods may be called by multiple goroutines simultaneously. +type Context = context.Context + +// Canceled is the error returned by [Context.Err] when the context is canceled +// for some reason other than its deadline passing. +var Canceled = context.Canceled + +// DeadlineExceeded is the error returned by [Context.Err] when the context is canceled +// due to its deadline passing. +var DeadlineExceeded = context.DeadlineExceeded + +// Background returns a non-nil, empty Context. It is never canceled, has no +// values, and has no deadline. It is typically used by the main function, +// initialization, and tests, and as the top-level Context for incoming +// requests. +func Background() Context { + return background +} + +// TODO returns a non-nil, empty Context. Code should use context.TODO when +// it's unclear which Context to use or it is not yet available (because the +// surrounding function has not yet been extended to accept a Context +// parameter). +func TODO() Context { + return todo +} + +var ( + background = context.Background() + todo = context.TODO() +) + +// A CancelFunc tells an operation to abandon its work. +// A CancelFunc does not wait for the work to stop. +// A CancelFunc may be called by multiple goroutines simultaneously. +// After the first call, subsequent calls to a CancelFunc do nothing. +type CancelFunc = context.CancelFunc + +// WithCancel returns a derived context that points to the parent context +// but has a new Done channel. The returned context's Done channel is closed +// when the returned cancel function is called or when the parent context's +// Done channel is closed, whichever happens first. +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this [Context] complete. +func WithCancel(parent Context) (ctx Context, cancel CancelFunc) { + return context.WithCancel(parent) +} + +// WithDeadline returns a derived context that points to the parent context +// but has the deadline adjusted to be no later than d. If the parent's +// deadline is already earlier than d, WithDeadline(parent, d) is semantically +// equivalent to parent. The returned [Context.Done] channel is closed when +// the deadline expires, when the returned cancel function is called, +// or when the parent context's Done channel is closed, whichever happens first. +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this [Context] complete. +func WithDeadline(parent Context, d time.Time) (Context, CancelFunc) { + return context.WithDeadline(parent, d) +} + +// WithTimeout returns WithDeadline(parent, time.Now().Add(timeout)). +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this [Context] complete: +// +// func slowOperationWithTimeout(ctx context.Context) (Result, error) { +// ctx, cancel := context.WithTimeout(ctx, 100*time.Millisecond) +// defer cancel() // releases resources if slowOperation completes before timeout elapses +// return slowOperation(ctx) +// } +func WithTimeout(parent Context, timeout time.Duration) (Context, CancelFunc) { + return context.WithTimeout(parent, timeout) +} + +// WithValue returns a derived context that points to the parent Context. +// In the derived context, the value associated with key is val. +// +// Use context Values only for request-scoped data that transits processes and +// APIs, not for passing optional parameters to functions. +// +// The provided key must be comparable and should not be of type +// string or any other built-in type to avoid collisions between +// packages using context. Users of WithValue should define their own +// types for keys. To avoid allocating when assigning to an +// interface{}, context keys often have concrete type +// struct{}. Alternatively, exported context key variables' static +// type should be a pointer or interface. +func WithValue(parent Context, key, val interface{}) Context { + return context.WithValue(parent, key, val) +} diff --git a/vendor/golang.org/x/tools/LICENSE b/vendor/golang.org/x/tools/LICENSE new file mode 100644 index 000000000..2a7cf70da --- /dev/null +++ b/vendor/golang.org/x/tools/LICENSE @@ -0,0 +1,27 @@ +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/golang.org/x/tools/PATENTS b/vendor/golang.org/x/tools/PATENTS new file mode 100644 index 000000000..733099041 --- /dev/null +++ b/vendor/golang.org/x/tools/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the Go project. + +Google 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, +transfer and otherwise run, modify and propagate the contents of this +implementation of Go, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of Go. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of Go or any code incorporated within this +implementation of Go constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of Go +shall terminate as of the date such litigation is filed. diff --git a/vendor/golang.org/x/tools/cover/profile.go b/vendor/golang.org/x/tools/cover/profile.go new file mode 100644 index 000000000..47a9a5411 --- /dev/null +++ b/vendor/golang.org/x/tools/cover/profile.go @@ -0,0 +1,266 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package cover provides support for parsing coverage profiles +// generated by "go test -coverprofile=cover.out". +package cover // import "golang.org/x/tools/cover" + +import ( + "bufio" + "errors" + "fmt" + "io" + "math" + "os" + "sort" + "strconv" + "strings" +) + +// Profile represents the profiling data for a specific file. +type Profile struct { + FileName string + Mode string + Blocks []ProfileBlock +} + +// ProfileBlock represents a single block of profiling data. +type ProfileBlock struct { + StartLine, StartCol int + EndLine, EndCol int + NumStmt, Count int +} + +type byFileName []*Profile + +func (p byFileName) Len() int { return len(p) } +func (p byFileName) Less(i, j int) bool { return p[i].FileName < p[j].FileName } +func (p byFileName) Swap(i, j int) { p[i], p[j] = p[j], p[i] } + +// ParseProfiles parses profile data in the specified file and returns a +// Profile for each source file described therein. +func ParseProfiles(fileName string) ([]*Profile, error) { + pf, err := os.Open(fileName) + if err != nil { + return nil, err + } + defer pf.Close() + return ParseProfilesFromReader(pf) +} + +// ParseProfilesFromReader parses profile data from the Reader and +// returns a Profile for each source file described therein. +func ParseProfilesFromReader(rd io.Reader) ([]*Profile, error) { + // First line is "mode: foo", where foo is "set", "count", or "atomic". + // Rest of file is in the format + // encoding/base64/base64.go:34.44,37.40 3 1 + // where the fields are: name.go:line.column,line.column numberOfStatements count + files := make(map[string]*Profile) + s := bufio.NewScanner(rd) + mode := "" + for s.Scan() { + line := s.Text() + if mode == "" { + const p = "mode: " + if !strings.HasPrefix(line, p) || line == p { + return nil, fmt.Errorf("bad mode line: %v", line) + } + mode = line[len(p):] + continue + } + fn, b, err := parseLine(line) + if err != nil { + return nil, fmt.Errorf("line %q doesn't match expected format: %v", line, err) + } + p := files[fn] + if p == nil { + p = &Profile{ + FileName: fn, + Mode: mode, + } + files[fn] = p + } + p.Blocks = append(p.Blocks, b) + } + if err := s.Err(); err != nil { + return nil, err + } + for _, p := range files { + sort.Sort(blocksByStart(p.Blocks)) + // Merge samples from the same location. + j := 1 + for i := 1; i < len(p.Blocks); i++ { + b := p.Blocks[i] + last := p.Blocks[j-1] + if b.StartLine == last.StartLine && + b.StartCol == last.StartCol && + b.EndLine == last.EndLine && + b.EndCol == last.EndCol { + if b.NumStmt != last.NumStmt { + return nil, fmt.Errorf("inconsistent NumStmt: changed from %d to %d", last.NumStmt, b.NumStmt) + } + if mode == "set" { + p.Blocks[j-1].Count |= b.Count + } else { + p.Blocks[j-1].Count += b.Count + } + continue + } + p.Blocks[j] = b + j++ + } + p.Blocks = p.Blocks[:j] + } + // Generate a sorted slice. + profiles := make([]*Profile, 0, len(files)) + for _, profile := range files { + profiles = append(profiles, profile) + } + sort.Sort(byFileName(profiles)) + return profiles, nil +} + +// parseLine parses a line from a coverage file. +// It is equivalent to the regex +// ^(.+):([0-9]+)\.([0-9]+),([0-9]+)\.([0-9]+) ([0-9]+) ([0-9]+)$ +// +// However, it is much faster: https://golang.org/cl/179377 +func parseLine(l string) (fileName string, block ProfileBlock, err error) { + end := len(l) + + b := ProfileBlock{} + b.Count, end, err = seekBack(l, ' ', end, "Count") + if err != nil { + return "", b, err + } + b.NumStmt, end, err = seekBack(l, ' ', end, "NumStmt") + if err != nil { + return "", b, err + } + b.EndCol, end, err = seekBack(l, '.', end, "EndCol") + if err != nil { + return "", b, err + } + b.EndLine, end, err = seekBack(l, ',', end, "EndLine") + if err != nil { + return "", b, err + } + b.StartCol, end, err = seekBack(l, '.', end, "StartCol") + if err != nil { + return "", b, err + } + b.StartLine, end, err = seekBack(l, ':', end, "StartLine") + if err != nil { + return "", b, err + } + fn := l[0:end] + if fn == "" { + return "", b, errors.New("a FileName cannot be blank") + } + return fn, b, nil +} + +// seekBack searches backwards from end to find sep in l, then returns the +// value between sep and end as an integer. +// If seekBack fails, the returned error will reference what. +func seekBack(l string, sep byte, end int, what string) (value int, nextSep int, err error) { + // Since we're seeking backwards and we know only ASCII is legal for these values, + // we can ignore the possibility of non-ASCII characters. + for start := end - 1; start >= 0; start-- { + if l[start] == sep { + i, err := strconv.Atoi(l[start+1 : end]) + if err != nil { + return 0, 0, fmt.Errorf("couldn't parse %q: %v", what, err) + } + if i < 0 { + return 0, 0, fmt.Errorf("negative values are not allowed for %s, found %d", what, i) + } + return i, start, nil + } + } + return 0, 0, fmt.Errorf("couldn't find a %s before %s", string(sep), what) +} + +type blocksByStart []ProfileBlock + +func (b blocksByStart) Len() int { return len(b) } +func (b blocksByStart) Swap(i, j int) { b[i], b[j] = b[j], b[i] } +func (b blocksByStart) Less(i, j int) bool { + bi, bj := b[i], b[j] + return bi.StartLine < bj.StartLine || bi.StartLine == bj.StartLine && bi.StartCol < bj.StartCol +} + +// Boundary represents the position in a source file of the beginning or end of a +// block as reported by the coverage profile. In HTML mode, it will correspond to +// the opening or closing of a tag and will be used to colorize the source +type Boundary struct { + Offset int // Location as a byte offset in the source file. + Start bool // Is this the start of a block? + Count int // Event count from the cover profile. + Norm float64 // Count normalized to [0..1]. + Index int // Order in input file. +} + +// Boundaries returns a Profile as a set of Boundary objects within the provided src. +func (p *Profile) Boundaries(src []byte) (boundaries []Boundary) { + // Find maximum count. + max := 0 + for _, b := range p.Blocks { + if b.Count > max { + max = b.Count + } + } + // Divisor for normalization. + divisor := math.Log(float64(max)) + + // boundary returns a Boundary, populating the Norm field with a normalized Count. + index := 0 + boundary := func(offset int, start bool, count int) Boundary { + b := Boundary{Offset: offset, Start: start, Count: count, Index: index} + index++ + if !start || count == 0 { + return b + } + if max <= 1 { + b.Norm = 0.8 // Profile is in"set" mode; we want a heat map. Use cov8 in the CSS. + } else if count > 0 { + b.Norm = math.Log(float64(count)) / divisor + } + return b + } + + line, col := 1, 2 // TODO: Why is this 2? + for si, bi := 0, 0; si < len(src) && bi < len(p.Blocks); { + b := p.Blocks[bi] + if b.StartLine == line && b.StartCol == col { + boundaries = append(boundaries, boundary(si, true, b.Count)) + } + if b.EndLine == line && b.EndCol == col || line > b.EndLine { + boundaries = append(boundaries, boundary(si, false, 0)) + bi++ + continue // Don't advance through src; maybe the next block starts here. + } + if src[si] == '\n' { + line++ + col = 0 + } + col++ + si++ + } + sort.Sort(boundariesByPos(boundaries)) + return +} + +type boundariesByPos []Boundary + +func (b boundariesByPos) Len() int { return len(b) } +func (b boundariesByPos) Swap(i, j int) { b[i], b[j] = b[j], b[i] } +func (b boundariesByPos) Less(i, j int) bool { + if b[i].Offset == b[j].Offset { + // Boundaries at the same offset should be ordered according to + // their original position. + return b[i].Index < b[j].Index + } + return b[i].Offset < b[j].Offset +} diff --git a/vendor/golang.org/x/tools/go/ast/inspector/inspector.go b/vendor/golang.org/x/tools/go/ast/inspector/inspector.go new file mode 100644 index 000000000..0d5050fe4 --- /dev/null +++ b/vendor/golang.org/x/tools/go/ast/inspector/inspector.go @@ -0,0 +1,284 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package inspector provides helper functions for traversal over the +// syntax trees of a package, including node filtering by type, and +// materialization of the traversal stack. +// +// During construction, the inspector does a complete traversal and +// builds a list of push/pop events and their node type. Subsequent +// method calls that request a traversal scan this list, rather than walk +// the AST, and perform type filtering using efficient bit sets. +// +// Experiments suggest the inspector's traversals are about 2.5x faster +// than ast.Inspect, but it may take around 5 traversals for this +// benefit to amortize the inspector's construction cost. +// If efficiency is the primary concern, do not use Inspector for +// one-off traversals. +package inspector + +// There are four orthogonal features in a traversal: +// 1 type filtering +// 2 pruning +// 3 postorder calls to f +// 4 stack +// Rather than offer all of them in the API, +// only a few combinations are exposed: +// - Preorder is the fastest and has fewest features, +// but is the most commonly needed traversal. +// - Nodes and WithStack both provide pruning and postorder calls, +// even though few clients need it, because supporting two versions +// is not justified. +// More combinations could be supported by expressing them as +// wrappers around a more generic traversal, but this was measured +// and found to degrade performance significantly (30%). + +import ( + "go/ast" + _ "unsafe" + + "golang.org/x/tools/internal/astutil/edge" +) + +// An Inspector provides methods for inspecting +// (traversing) the syntax trees of a package. +type Inspector struct { + events []event +} + +//go:linkname events +func events(in *Inspector) []event { return in.events } + +func packEdgeKindAndIndex(ek edge.Kind, index int) int32 { + return int32(uint32(index+1)<<7 | uint32(ek)) +} + +// unpackEdgeKindAndIndex unpacks the edge kind and edge index (within +// an []ast.Node slice) from the parent field of a pop event. +// +//go:linkname unpackEdgeKindAndIndex +func unpackEdgeKindAndIndex(x int32) (edge.Kind, int) { + // The "parent" field of a pop node holds the + // edge Kind in the lower 7 bits and the index+1 + // in the upper 25. + return edge.Kind(x & 0x7f), int(x>>7) - 1 +} + +// New returns an Inspector for the specified syntax trees. +func New(files []*ast.File) *Inspector { + return &Inspector{traverse(files)} +} + +// An event represents a push or a pop +// of an ast.Node during a traversal. +type event struct { + node ast.Node + typ uint64 // typeOf(node) on push event, or union of typ strictly between push and pop events on pop events + index int32 // index of corresponding push or pop event + parent int32 // index of parent's push node (push nodes only), or packed edge kind/index (pop nodes only) +} + +// TODO: Experiment with storing only the second word of event.node (unsafe.Pointer). +// Type can be recovered from the sole bit in typ. + +// Preorder visits all the nodes of the files supplied to New in +// depth-first order. It calls f(n) for each node n before it visits +// n's children. +// +// The complete traversal sequence is determined by ast.Inspect. +// The types argument, if non-empty, enables type-based filtering of +// events. The function f is called only for nodes whose type +// matches an element of the types slice. +func (in *Inspector) Preorder(types []ast.Node, f func(ast.Node)) { + // Because it avoids postorder calls to f, and the pruning + // check, Preorder is almost twice as fast as Nodes. The two + // features seem to contribute similar slowdowns (~1.4x each). + + // This function is equivalent to the PreorderSeq call below, + // but to avoid the additional dynamic call (which adds 13-35% + // to the benchmarks), we expand it out. + // + // in.PreorderSeq(types...)(func(n ast.Node) bool { + // f(n) + // return true + // }) + + mask := maskOf(types) + for i := int32(0); i < int32(len(in.events)); { + ev := in.events[i] + if ev.index > i { + // push + if ev.typ&mask != 0 { + f(ev.node) + } + pop := ev.index + if in.events[pop].typ&mask == 0 { + // Subtrees do not contain types: skip them and pop. + i = pop + 1 + continue + } + } + i++ + } +} + +// Nodes visits the nodes of the files supplied to New in depth-first +// order. It calls f(n, true) for each node n before it visits n's +// children. If f returns true, Nodes invokes f recursively for each +// of the non-nil children of the node, followed by a call of +// f(n, false). +// +// The complete traversal sequence is determined by ast.Inspect. +// The types argument, if non-empty, enables type-based filtering of +// events. The function f if is called only for nodes whose type +// matches an element of the types slice. +func (in *Inspector) Nodes(types []ast.Node, f func(n ast.Node, push bool) (proceed bool)) { + mask := maskOf(types) + for i := int32(0); i < int32(len(in.events)); { + ev := in.events[i] + if ev.index > i { + // push + pop := ev.index + if ev.typ&mask != 0 { + if !f(ev.node, true) { + i = pop + 1 // jump to corresponding pop + 1 + continue + } + } + if in.events[pop].typ&mask == 0 { + // Subtrees do not contain types: skip them. + i = pop + continue + } + } else { + // pop + push := ev.index + if in.events[push].typ&mask != 0 { + f(ev.node, false) + } + } + i++ + } +} + +// WithStack visits nodes in a similar manner to Nodes, but it +// supplies each call to f an additional argument, the current +// traversal stack. The stack's first element is the outermost node, +// an *ast.File; its last is the innermost, n. +func (in *Inspector) WithStack(types []ast.Node, f func(n ast.Node, push bool, stack []ast.Node) (proceed bool)) { + mask := maskOf(types) + var stack []ast.Node + for i := int32(0); i < int32(len(in.events)); { + ev := in.events[i] + if ev.index > i { + // push + pop := ev.index + stack = append(stack, ev.node) + if ev.typ&mask != 0 { + if !f(ev.node, true, stack) { + i = pop + 1 + stack = stack[:len(stack)-1] + continue + } + } + if in.events[pop].typ&mask == 0 { + // Subtrees does not contain types: skip them. + i = pop + continue + } + } else { + // pop + push := ev.index + if in.events[push].typ&mask != 0 { + f(ev.node, false, stack) + } + stack = stack[:len(stack)-1] + } + i++ + } +} + +// traverse builds the table of events representing a traversal. +func traverse(files []*ast.File) []event { + // Preallocate approximate number of events + // based on source file extent of the declarations. + // (We use End-Pos not FileStart-FileEnd to neglect + // the effect of long doc comments.) + // This makes traverse faster by 4x (!). + var extent int + for _, f := range files { + extent += int(f.End() - f.Pos()) + } + // This estimate is based on the net/http package. + capacity := min(extent*33/100, 1e6) // impose some reasonable maximum (1M) + + v := &visitor{ + events: make([]event, 0, capacity), + stack: []item{{index: -1}}, // include an extra event so file nodes have a parent + } + for _, file := range files { + walk(v, edge.Invalid, -1, file) + } + return v.events +} + +type visitor struct { + events []event + stack []item +} + +type item struct { + index int32 // index of current node's push event + parentIndex int32 // index of parent node's push event + typAccum uint64 // accumulated type bits of current node's descendents + edgeKindAndIndex int32 // edge.Kind and index, bit packed +} + +func (v *visitor) push(ek edge.Kind, eindex int, node ast.Node) { + var ( + index = int32(len(v.events)) + parentIndex = v.stack[len(v.stack)-1].index + ) + v.events = append(v.events, event{ + node: node, + parent: parentIndex, + typ: typeOf(node), + index: 0, // (pop index is set later by visitor.pop) + }) + v.stack = append(v.stack, item{ + index: index, + parentIndex: parentIndex, + edgeKindAndIndex: packEdgeKindAndIndex(ek, eindex), + }) + + // 2B nodes ought to be enough for anyone! + if int32(len(v.events)) < 0 { + panic("event index exceeded int32") + } + + // 32M elements in an []ast.Node ought to be enough for anyone! + if ek2, eindex2 := unpackEdgeKindAndIndex(packEdgeKindAndIndex(ek, eindex)); ek2 != ek || eindex2 != eindex { + panic("Node slice index exceeded uint25") + } +} + +func (v *visitor) pop(node ast.Node) { + top := len(v.stack) - 1 + current := v.stack[top] + + push := &v.events[current.index] + parent := &v.stack[top-1] + + push.index = int32(len(v.events)) // make push event refer to pop + parent.typAccum |= current.typAccum | push.typ // accumulate type bits into parent + + v.stack = v.stack[:top] + + v.events = append(v.events, event{ + node: node, + typ: current.typAccum, + index: current.index, + parent: current.edgeKindAndIndex, // see [unpackEdgeKindAndIndex] + }) +} diff --git a/vendor/golang.org/x/tools/go/ast/inspector/iter.go b/vendor/golang.org/x/tools/go/ast/inspector/iter.go new file mode 100644 index 000000000..c576dc70a --- /dev/null +++ b/vendor/golang.org/x/tools/go/ast/inspector/iter.go @@ -0,0 +1,85 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build go1.23 + +package inspector + +import ( + "go/ast" + "iter" +) + +// PreorderSeq returns an iterator that visits all the +// nodes of the files supplied to New in depth-first order. +// It visits each node n before n's children. +// The complete traversal sequence is determined by ast.Inspect. +// +// The types argument, if non-empty, enables type-based +// filtering of events: only nodes whose type matches an +// element of the types slice are included in the sequence. +func (in *Inspector) PreorderSeq(types ...ast.Node) iter.Seq[ast.Node] { + + // This implementation is identical to Preorder, + // except that it supports breaking out of the loop. + + return func(yield func(ast.Node) bool) { + mask := maskOf(types) + for i := int32(0); i < int32(len(in.events)); { + ev := in.events[i] + if ev.index > i { + // push + if ev.typ&mask != 0 { + if !yield(ev.node) { + break + } + } + pop := ev.index + if in.events[pop].typ&mask == 0 { + // Subtrees do not contain types: skip them and pop. + i = pop + 1 + continue + } + } + i++ + } + } +} + +// All[N] returns an iterator over all the nodes of type N. +// N must be a pointer-to-struct type that implements ast.Node. +// +// Example: +// +// for call := range All[*ast.CallExpr](in) { ... } +func All[N interface { + *S + ast.Node +}, S any](in *Inspector) iter.Seq[N] { + + // To avoid additional dynamic call overheads, + // we duplicate rather than call the logic of PreorderSeq. + + mask := typeOf((N)(nil)) + return func(yield func(N) bool) { + for i := int32(0); i < int32(len(in.events)); { + ev := in.events[i] + if ev.index > i { + // push + if ev.typ&mask != 0 { + if !yield(ev.node.(N)) { + break + } + } + pop := ev.index + if in.events[pop].typ&mask == 0 { + // Subtrees do not contain types: skip them and pop. + i = pop + 1 + continue + } + } + i++ + } + } +} diff --git a/vendor/golang.org/x/tools/go/ast/inspector/typeof.go b/vendor/golang.org/x/tools/go/ast/inspector/typeof.go new file mode 100644 index 000000000..977844845 --- /dev/null +++ b/vendor/golang.org/x/tools/go/ast/inspector/typeof.go @@ -0,0 +1,230 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package inspector + +// This file defines func typeOf(ast.Node) uint64. +// +// The initial map-based implementation was too slow; +// see https://go-review.googlesource.com/c/tools/+/135655/1/go/ast/inspector/inspector.go#196 + +import ( + "go/ast" + "math" + + _ "unsafe" +) + +const ( + nArrayType = iota + nAssignStmt + nBadDecl + nBadExpr + nBadStmt + nBasicLit + nBinaryExpr + nBlockStmt + nBranchStmt + nCallExpr + nCaseClause + nChanType + nCommClause + nComment + nCommentGroup + nCompositeLit + nDeclStmt + nDeferStmt + nEllipsis + nEmptyStmt + nExprStmt + nField + nFieldList + nFile + nForStmt + nFuncDecl + nFuncLit + nFuncType + nGenDecl + nGoStmt + nIdent + nIfStmt + nImportSpec + nIncDecStmt + nIndexExpr + nIndexListExpr + nInterfaceType + nKeyValueExpr + nLabeledStmt + nMapType + nPackage + nParenExpr + nRangeStmt + nReturnStmt + nSelectStmt + nSelectorExpr + nSendStmt + nSliceExpr + nStarExpr + nStructType + nSwitchStmt + nTypeAssertExpr + nTypeSpec + nTypeSwitchStmt + nUnaryExpr + nValueSpec +) + +// typeOf returns a distinct single-bit value that represents the type of n. +// +// Various implementations were benchmarked with BenchmarkNewInspector: +// +// GOGC=off +// - type switch 4.9-5.5ms 2.1ms +// - binary search over a sorted list of types 5.5-5.9ms 2.5ms +// - linear scan, frequency-ordered list 5.9-6.1ms 2.7ms +// - linear scan, unordered list 6.4ms 2.7ms +// - hash table 6.5ms 3.1ms +// +// A perfect hash seemed like overkill. +// +// The compiler's switch statement is the clear winner +// as it produces a binary tree in code, +// with constant conditions and good branch prediction. +// (Sadly it is the most verbose in source code.) +// Binary search suffered from poor branch prediction. +func typeOf(n ast.Node) uint64 { + // Fast path: nearly half of all nodes are identifiers. + if _, ok := n.(*ast.Ident); ok { + return 1 << nIdent + } + + // These cases include all nodes encountered by ast.Inspect. + switch n.(type) { + case *ast.ArrayType: + return 1 << nArrayType + case *ast.AssignStmt: + return 1 << nAssignStmt + case *ast.BadDecl: + return 1 << nBadDecl + case *ast.BadExpr: + return 1 << nBadExpr + case *ast.BadStmt: + return 1 << nBadStmt + case *ast.BasicLit: + return 1 << nBasicLit + case *ast.BinaryExpr: + return 1 << nBinaryExpr + case *ast.BlockStmt: + return 1 << nBlockStmt + case *ast.BranchStmt: + return 1 << nBranchStmt + case *ast.CallExpr: + return 1 << nCallExpr + case *ast.CaseClause: + return 1 << nCaseClause + case *ast.ChanType: + return 1 << nChanType + case *ast.CommClause: + return 1 << nCommClause + case *ast.Comment: + return 1 << nComment + case *ast.CommentGroup: + return 1 << nCommentGroup + case *ast.CompositeLit: + return 1 << nCompositeLit + case *ast.DeclStmt: + return 1 << nDeclStmt + case *ast.DeferStmt: + return 1 << nDeferStmt + case *ast.Ellipsis: + return 1 << nEllipsis + case *ast.EmptyStmt: + return 1 << nEmptyStmt + case *ast.ExprStmt: + return 1 << nExprStmt + case *ast.Field: + return 1 << nField + case *ast.FieldList: + return 1 << nFieldList + case *ast.File: + return 1 << nFile + case *ast.ForStmt: + return 1 << nForStmt + case *ast.FuncDecl: + return 1 << nFuncDecl + case *ast.FuncLit: + return 1 << nFuncLit + case *ast.FuncType: + return 1 << nFuncType + case *ast.GenDecl: + return 1 << nGenDecl + case *ast.GoStmt: + return 1 << nGoStmt + case *ast.Ident: + return 1 << nIdent + case *ast.IfStmt: + return 1 << nIfStmt + case *ast.ImportSpec: + return 1 << nImportSpec + case *ast.IncDecStmt: + return 1 << nIncDecStmt + case *ast.IndexExpr: + return 1 << nIndexExpr + case *ast.IndexListExpr: + return 1 << nIndexListExpr + case *ast.InterfaceType: + return 1 << nInterfaceType + case *ast.KeyValueExpr: + return 1 << nKeyValueExpr + case *ast.LabeledStmt: + return 1 << nLabeledStmt + case *ast.MapType: + return 1 << nMapType + case *ast.Package: + return 1 << nPackage + case *ast.ParenExpr: + return 1 << nParenExpr + case *ast.RangeStmt: + return 1 << nRangeStmt + case *ast.ReturnStmt: + return 1 << nReturnStmt + case *ast.SelectStmt: + return 1 << nSelectStmt + case *ast.SelectorExpr: + return 1 << nSelectorExpr + case *ast.SendStmt: + return 1 << nSendStmt + case *ast.SliceExpr: + return 1 << nSliceExpr + case *ast.StarExpr: + return 1 << nStarExpr + case *ast.StructType: + return 1 << nStructType + case *ast.SwitchStmt: + return 1 << nSwitchStmt + case *ast.TypeAssertExpr: + return 1 << nTypeAssertExpr + case *ast.TypeSpec: + return 1 << nTypeSpec + case *ast.TypeSwitchStmt: + return 1 << nTypeSwitchStmt + case *ast.UnaryExpr: + return 1 << nUnaryExpr + case *ast.ValueSpec: + return 1 << nValueSpec + } + return 0 +} + +//go:linkname maskOf +func maskOf(nodes []ast.Node) uint64 { + if len(nodes) == 0 { + return math.MaxUint64 // match all node types + } + var mask uint64 + for _, n := range nodes { + mask |= typeOf(n) + } + return mask +} diff --git a/vendor/golang.org/x/tools/go/ast/inspector/walk.go b/vendor/golang.org/x/tools/go/ast/inspector/walk.go new file mode 100644 index 000000000..5a42174a0 --- /dev/null +++ b/vendor/golang.org/x/tools/go/ast/inspector/walk.go @@ -0,0 +1,341 @@ +// Copyright 2025 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package inspector + +// This file is a fork of ast.Inspect to reduce unnecessary dynamic +// calls and to gather edge information. +// +// Consistency with the original is ensured by TestInspectAllNodes. + +import ( + "fmt" + "go/ast" + + "golang.org/x/tools/internal/astutil/edge" +) + +func walkList[N ast.Node](v *visitor, ek edge.Kind, list []N) { + for i, node := range list { + walk(v, ek, i, node) + } +} + +func walk(v *visitor, ek edge.Kind, index int, node ast.Node) { + v.push(ek, index, node) + + // walk children + // (the order of the cases matches the order + // of the corresponding node types in ast.go) + switch n := node.(type) { + // Comments and fields + case *ast.Comment: + // nothing to do + + case *ast.CommentGroup: + walkList(v, edge.CommentGroup_List, n.List) + + case *ast.Field: + if n.Doc != nil { + walk(v, edge.Field_Doc, -1, n.Doc) + } + walkList(v, edge.Field_Names, n.Names) + if n.Type != nil { + walk(v, edge.Field_Type, -1, n.Type) + } + if n.Tag != nil { + walk(v, edge.Field_Tag, -1, n.Tag) + } + if n.Comment != nil { + walk(v, edge.Field_Comment, -1, n.Comment) + } + + case *ast.FieldList: + walkList(v, edge.FieldList_List, n.List) + + // Expressions + case *ast.BadExpr, *ast.Ident, *ast.BasicLit: + // nothing to do + + case *ast.Ellipsis: + if n.Elt != nil { + walk(v, edge.Ellipsis_Elt, -1, n.Elt) + } + + case *ast.FuncLit: + walk(v, edge.FuncLit_Type, -1, n.Type) + walk(v, edge.FuncLit_Body, -1, n.Body) + + case *ast.CompositeLit: + if n.Type != nil { + walk(v, edge.CompositeLit_Type, -1, n.Type) + } + walkList(v, edge.CompositeLit_Elts, n.Elts) + + case *ast.ParenExpr: + walk(v, edge.ParenExpr_X, -1, n.X) + + case *ast.SelectorExpr: + walk(v, edge.SelectorExpr_X, -1, n.X) + walk(v, edge.SelectorExpr_Sel, -1, n.Sel) + + case *ast.IndexExpr: + walk(v, edge.IndexExpr_X, -1, n.X) + walk(v, edge.IndexExpr_Index, -1, n.Index) + + case *ast.IndexListExpr: + walk(v, edge.IndexListExpr_X, -1, n.X) + walkList(v, edge.IndexListExpr_Indices, n.Indices) + + case *ast.SliceExpr: + walk(v, edge.SliceExpr_X, -1, n.X) + if n.Low != nil { + walk(v, edge.SliceExpr_Low, -1, n.Low) + } + if n.High != nil { + walk(v, edge.SliceExpr_High, -1, n.High) + } + if n.Max != nil { + walk(v, edge.SliceExpr_Max, -1, n.Max) + } + + case *ast.TypeAssertExpr: + walk(v, edge.TypeAssertExpr_X, -1, n.X) + if n.Type != nil { + walk(v, edge.TypeAssertExpr_Type, -1, n.Type) + } + + case *ast.CallExpr: + walk(v, edge.CallExpr_Fun, -1, n.Fun) + walkList(v, edge.CallExpr_Args, n.Args) + + case *ast.StarExpr: + walk(v, edge.StarExpr_X, -1, n.X) + + case *ast.UnaryExpr: + walk(v, edge.UnaryExpr_X, -1, n.X) + + case *ast.BinaryExpr: + walk(v, edge.BinaryExpr_X, -1, n.X) + walk(v, edge.BinaryExpr_Y, -1, n.Y) + + case *ast.KeyValueExpr: + walk(v, edge.KeyValueExpr_Key, -1, n.Key) + walk(v, edge.KeyValueExpr_Value, -1, n.Value) + + // Types + case *ast.ArrayType: + if n.Len != nil { + walk(v, edge.ArrayType_Len, -1, n.Len) + } + walk(v, edge.ArrayType_Elt, -1, n.Elt) + + case *ast.StructType: + walk(v, edge.StructType_Fields, -1, n.Fields) + + case *ast.FuncType: + if n.TypeParams != nil { + walk(v, edge.FuncType_TypeParams, -1, n.TypeParams) + } + if n.Params != nil { + walk(v, edge.FuncType_Params, -1, n.Params) + } + if n.Results != nil { + walk(v, edge.FuncType_Results, -1, n.Results) + } + + case *ast.InterfaceType: + walk(v, edge.InterfaceType_Methods, -1, n.Methods) + + case *ast.MapType: + walk(v, edge.MapType_Key, -1, n.Key) + walk(v, edge.MapType_Value, -1, n.Value) + + case *ast.ChanType: + walk(v, edge.ChanType_Value, -1, n.Value) + + // Statements + case *ast.BadStmt: + // nothing to do + + case *ast.DeclStmt: + walk(v, edge.DeclStmt_Decl, -1, n.Decl) + + case *ast.EmptyStmt: + // nothing to do + + case *ast.LabeledStmt: + walk(v, edge.LabeledStmt_Label, -1, n.Label) + walk(v, edge.LabeledStmt_Stmt, -1, n.Stmt) + + case *ast.ExprStmt: + walk(v, edge.ExprStmt_X, -1, n.X) + + case *ast.SendStmt: + walk(v, edge.SendStmt_Chan, -1, n.Chan) + walk(v, edge.SendStmt_Value, -1, n.Value) + + case *ast.IncDecStmt: + walk(v, edge.IncDecStmt_X, -1, n.X) + + case *ast.AssignStmt: + walkList(v, edge.AssignStmt_Lhs, n.Lhs) + walkList(v, edge.AssignStmt_Rhs, n.Rhs) + + case *ast.GoStmt: + walk(v, edge.GoStmt_Call, -1, n.Call) + + case *ast.DeferStmt: + walk(v, edge.DeferStmt_Call, -1, n.Call) + + case *ast.ReturnStmt: + walkList(v, edge.ReturnStmt_Results, n.Results) + + case *ast.BranchStmt: + if n.Label != nil { + walk(v, edge.BranchStmt_Label, -1, n.Label) + } + + case *ast.BlockStmt: + walkList(v, edge.BlockStmt_List, n.List) + + case *ast.IfStmt: + if n.Init != nil { + walk(v, edge.IfStmt_Init, -1, n.Init) + } + walk(v, edge.IfStmt_Cond, -1, n.Cond) + walk(v, edge.IfStmt_Body, -1, n.Body) + if n.Else != nil { + walk(v, edge.IfStmt_Else, -1, n.Else) + } + + case *ast.CaseClause: + walkList(v, edge.CaseClause_List, n.List) + walkList(v, edge.CaseClause_Body, n.Body) + + case *ast.SwitchStmt: + if n.Init != nil { + walk(v, edge.SwitchStmt_Init, -1, n.Init) + } + if n.Tag != nil { + walk(v, edge.SwitchStmt_Tag, -1, n.Tag) + } + walk(v, edge.SwitchStmt_Body, -1, n.Body) + + case *ast.TypeSwitchStmt: + if n.Init != nil { + walk(v, edge.TypeSwitchStmt_Init, -1, n.Init) + } + walk(v, edge.TypeSwitchStmt_Assign, -1, n.Assign) + walk(v, edge.TypeSwitchStmt_Body, -1, n.Body) + + case *ast.CommClause: + if n.Comm != nil { + walk(v, edge.CommClause_Comm, -1, n.Comm) + } + walkList(v, edge.CommClause_Body, n.Body) + + case *ast.SelectStmt: + walk(v, edge.SelectStmt_Body, -1, n.Body) + + case *ast.ForStmt: + if n.Init != nil { + walk(v, edge.ForStmt_Init, -1, n.Init) + } + if n.Cond != nil { + walk(v, edge.ForStmt_Cond, -1, n.Cond) + } + if n.Post != nil { + walk(v, edge.ForStmt_Post, -1, n.Post) + } + walk(v, edge.ForStmt_Body, -1, n.Body) + + case *ast.RangeStmt: + if n.Key != nil { + walk(v, edge.RangeStmt_Key, -1, n.Key) + } + if n.Value != nil { + walk(v, edge.RangeStmt_Value, -1, n.Value) + } + walk(v, edge.RangeStmt_X, -1, n.X) + walk(v, edge.RangeStmt_Body, -1, n.Body) + + // Declarations + case *ast.ImportSpec: + if n.Doc != nil { + walk(v, edge.ImportSpec_Doc, -1, n.Doc) + } + if n.Name != nil { + walk(v, edge.ImportSpec_Name, -1, n.Name) + } + walk(v, edge.ImportSpec_Path, -1, n.Path) + if n.Comment != nil { + walk(v, edge.ImportSpec_Comment, -1, n.Comment) + } + + case *ast.ValueSpec: + if n.Doc != nil { + walk(v, edge.ValueSpec_Doc, -1, n.Doc) + } + walkList(v, edge.ValueSpec_Names, n.Names) + if n.Type != nil { + walk(v, edge.ValueSpec_Type, -1, n.Type) + } + walkList(v, edge.ValueSpec_Values, n.Values) + if n.Comment != nil { + walk(v, edge.ValueSpec_Comment, -1, n.Comment) + } + + case *ast.TypeSpec: + if n.Doc != nil { + walk(v, edge.TypeSpec_Doc, -1, n.Doc) + } + walk(v, edge.TypeSpec_Name, -1, n.Name) + if n.TypeParams != nil { + walk(v, edge.TypeSpec_TypeParams, -1, n.TypeParams) + } + walk(v, edge.TypeSpec_Type, -1, n.Type) + if n.Comment != nil { + walk(v, edge.TypeSpec_Comment, -1, n.Comment) + } + + case *ast.BadDecl: + // nothing to do + + case *ast.GenDecl: + if n.Doc != nil { + walk(v, edge.GenDecl_Doc, -1, n.Doc) + } + walkList(v, edge.GenDecl_Specs, n.Specs) + + case *ast.FuncDecl: + if n.Doc != nil { + walk(v, edge.FuncDecl_Doc, -1, n.Doc) + } + if n.Recv != nil { + walk(v, edge.FuncDecl_Recv, -1, n.Recv) + } + walk(v, edge.FuncDecl_Name, -1, n.Name) + walk(v, edge.FuncDecl_Type, -1, n.Type) + if n.Body != nil { + walk(v, edge.FuncDecl_Body, -1, n.Body) + } + + case *ast.File: + if n.Doc != nil { + walk(v, edge.File_Doc, -1, n.Doc) + } + walk(v, edge.File_Name, -1, n.Name) + walkList(v, edge.File_Decls, n.Decls) + // don't walk n.Comments - they have been + // visited already through the individual + // nodes + + default: + // (includes *ast.Package) + panic(fmt.Sprintf("Walk: unexpected node type %T", n)) + } + + v.pop(node) +} diff --git a/vendor/golang.org/x/tools/internal/astutil/edge/edge.go b/vendor/golang.org/x/tools/internal/astutil/edge/edge.go new file mode 100644 index 000000000..4f6ccfd6e --- /dev/null +++ b/vendor/golang.org/x/tools/internal/astutil/edge/edge.go @@ -0,0 +1,295 @@ +// Copyright 2025 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package edge defines identifiers for each field of an ast.Node +// struct type that refers to another Node. +package edge + +import ( + "fmt" + "go/ast" + "reflect" +) + +// A Kind describes a field of an ast.Node struct. +type Kind uint8 + +// String returns a description of the edge kind. +func (k Kind) String() string { + if k == Invalid { + return "" + } + info := fieldInfos[k] + return fmt.Sprintf("%v.%s", info.nodeType.Elem().Name(), info.name) +} + +// NodeType returns the pointer-to-struct type of the ast.Node implementation. +func (k Kind) NodeType() reflect.Type { return fieldInfos[k].nodeType } + +// FieldName returns the name of the field. +func (k Kind) FieldName() string { return fieldInfos[k].name } + +// FieldType returns the declared type of the field. +func (k Kind) FieldType() reflect.Type { return fieldInfos[k].fieldType } + +// Get returns the direct child of n identified by (k, idx). +// n's type must match k.NodeType(). +// idx must be a valid slice index, or -1 for a non-slice. +func (k Kind) Get(n ast.Node, idx int) ast.Node { + if k.NodeType() != reflect.TypeOf(n) { + panic(fmt.Sprintf("%v.Get(%T): invalid node type", k, n)) + } + v := reflect.ValueOf(n).Elem().Field(fieldInfos[k].index) + if idx != -1 { + v = v.Index(idx) // asserts valid index + } else { + // (The type assertion below asserts that v is not a slice.) + } + return v.Interface().(ast.Node) // may be nil +} + +const ( + Invalid Kind = iota // for nodes at the root of the traversal + + // Kinds are sorted alphabetically. + // Numbering is not stable. + // Each is named Type_Field, where Type is the + // ast.Node struct type and Field is the name of the field + + ArrayType_Elt + ArrayType_Len + AssignStmt_Lhs + AssignStmt_Rhs + BinaryExpr_X + BinaryExpr_Y + BlockStmt_List + BranchStmt_Label + CallExpr_Args + CallExpr_Fun + CaseClause_Body + CaseClause_List + ChanType_Value + CommClause_Body + CommClause_Comm + CommentGroup_List + CompositeLit_Elts + CompositeLit_Type + DeclStmt_Decl + DeferStmt_Call + Ellipsis_Elt + ExprStmt_X + FieldList_List + Field_Comment + Field_Doc + Field_Names + Field_Tag + Field_Type + File_Decls + File_Doc + File_Name + ForStmt_Body + ForStmt_Cond + ForStmt_Init + ForStmt_Post + FuncDecl_Body + FuncDecl_Doc + FuncDecl_Name + FuncDecl_Recv + FuncDecl_Type + FuncLit_Body + FuncLit_Type + FuncType_Params + FuncType_Results + FuncType_TypeParams + GenDecl_Doc + GenDecl_Specs + GoStmt_Call + IfStmt_Body + IfStmt_Cond + IfStmt_Else + IfStmt_Init + ImportSpec_Comment + ImportSpec_Doc + ImportSpec_Name + ImportSpec_Path + IncDecStmt_X + IndexExpr_Index + IndexExpr_X + IndexListExpr_Indices + IndexListExpr_X + InterfaceType_Methods + KeyValueExpr_Key + KeyValueExpr_Value + LabeledStmt_Label + LabeledStmt_Stmt + MapType_Key + MapType_Value + ParenExpr_X + RangeStmt_Body + RangeStmt_Key + RangeStmt_Value + RangeStmt_X + ReturnStmt_Results + SelectStmt_Body + SelectorExpr_Sel + SelectorExpr_X + SendStmt_Chan + SendStmt_Value + SliceExpr_High + SliceExpr_Low + SliceExpr_Max + SliceExpr_X + StarExpr_X + StructType_Fields + SwitchStmt_Body + SwitchStmt_Init + SwitchStmt_Tag + TypeAssertExpr_Type + TypeAssertExpr_X + TypeSpec_Comment + TypeSpec_Doc + TypeSpec_Name + TypeSpec_Type + TypeSpec_TypeParams + TypeSwitchStmt_Assign + TypeSwitchStmt_Body + TypeSwitchStmt_Init + UnaryExpr_X + ValueSpec_Comment + ValueSpec_Doc + ValueSpec_Names + ValueSpec_Type + ValueSpec_Values + + maxKind +) + +// Assert that the encoding fits in 7 bits, +// as the inspector relies on this. +// (We are currently at 104.) +var _ = [1 << 7]struct{}{}[maxKind] + +type fieldInfo struct { + nodeType reflect.Type // pointer-to-struct type of ast.Node implementation + name string + index int + fieldType reflect.Type +} + +func info[N ast.Node](fieldName string) fieldInfo { + nodePtrType := reflect.TypeFor[N]() + f, ok := nodePtrType.Elem().FieldByName(fieldName) + if !ok { + panic(fieldName) + } + return fieldInfo{nodePtrType, fieldName, f.Index[0], f.Type} +} + +var fieldInfos = [...]fieldInfo{ + Invalid: {}, + ArrayType_Elt: info[*ast.ArrayType]("Elt"), + ArrayType_Len: info[*ast.ArrayType]("Len"), + AssignStmt_Lhs: info[*ast.AssignStmt]("Lhs"), + AssignStmt_Rhs: info[*ast.AssignStmt]("Rhs"), + BinaryExpr_X: info[*ast.BinaryExpr]("X"), + BinaryExpr_Y: info[*ast.BinaryExpr]("Y"), + BlockStmt_List: info[*ast.BlockStmt]("List"), + BranchStmt_Label: info[*ast.BranchStmt]("Label"), + CallExpr_Args: info[*ast.CallExpr]("Args"), + CallExpr_Fun: info[*ast.CallExpr]("Fun"), + CaseClause_Body: info[*ast.CaseClause]("Body"), + CaseClause_List: info[*ast.CaseClause]("List"), + ChanType_Value: info[*ast.ChanType]("Value"), + CommClause_Body: info[*ast.CommClause]("Body"), + CommClause_Comm: info[*ast.CommClause]("Comm"), + CommentGroup_List: info[*ast.CommentGroup]("List"), + CompositeLit_Elts: info[*ast.CompositeLit]("Elts"), + CompositeLit_Type: info[*ast.CompositeLit]("Type"), + DeclStmt_Decl: info[*ast.DeclStmt]("Decl"), + DeferStmt_Call: info[*ast.DeferStmt]("Call"), + Ellipsis_Elt: info[*ast.Ellipsis]("Elt"), + ExprStmt_X: info[*ast.ExprStmt]("X"), + FieldList_List: info[*ast.FieldList]("List"), + Field_Comment: info[*ast.Field]("Comment"), + Field_Doc: info[*ast.Field]("Doc"), + Field_Names: info[*ast.Field]("Names"), + Field_Tag: info[*ast.Field]("Tag"), + Field_Type: info[*ast.Field]("Type"), + File_Decls: info[*ast.File]("Decls"), + File_Doc: info[*ast.File]("Doc"), + File_Name: info[*ast.File]("Name"), + ForStmt_Body: info[*ast.ForStmt]("Body"), + ForStmt_Cond: info[*ast.ForStmt]("Cond"), + ForStmt_Init: info[*ast.ForStmt]("Init"), + ForStmt_Post: info[*ast.ForStmt]("Post"), + FuncDecl_Body: info[*ast.FuncDecl]("Body"), + FuncDecl_Doc: info[*ast.FuncDecl]("Doc"), + FuncDecl_Name: info[*ast.FuncDecl]("Name"), + FuncDecl_Recv: info[*ast.FuncDecl]("Recv"), + FuncDecl_Type: info[*ast.FuncDecl]("Type"), + FuncLit_Body: info[*ast.FuncLit]("Body"), + FuncLit_Type: info[*ast.FuncLit]("Type"), + FuncType_Params: info[*ast.FuncType]("Params"), + FuncType_Results: info[*ast.FuncType]("Results"), + FuncType_TypeParams: info[*ast.FuncType]("TypeParams"), + GenDecl_Doc: info[*ast.GenDecl]("Doc"), + GenDecl_Specs: info[*ast.GenDecl]("Specs"), + GoStmt_Call: info[*ast.GoStmt]("Call"), + IfStmt_Body: info[*ast.IfStmt]("Body"), + IfStmt_Cond: info[*ast.IfStmt]("Cond"), + IfStmt_Else: info[*ast.IfStmt]("Else"), + IfStmt_Init: info[*ast.IfStmt]("Init"), + ImportSpec_Comment: info[*ast.ImportSpec]("Comment"), + ImportSpec_Doc: info[*ast.ImportSpec]("Doc"), + ImportSpec_Name: info[*ast.ImportSpec]("Name"), + ImportSpec_Path: info[*ast.ImportSpec]("Path"), + IncDecStmt_X: info[*ast.IncDecStmt]("X"), + IndexExpr_Index: info[*ast.IndexExpr]("Index"), + IndexExpr_X: info[*ast.IndexExpr]("X"), + IndexListExpr_Indices: info[*ast.IndexListExpr]("Indices"), + IndexListExpr_X: info[*ast.IndexListExpr]("X"), + InterfaceType_Methods: info[*ast.InterfaceType]("Methods"), + KeyValueExpr_Key: info[*ast.KeyValueExpr]("Key"), + KeyValueExpr_Value: info[*ast.KeyValueExpr]("Value"), + LabeledStmt_Label: info[*ast.LabeledStmt]("Label"), + LabeledStmt_Stmt: info[*ast.LabeledStmt]("Stmt"), + MapType_Key: info[*ast.MapType]("Key"), + MapType_Value: info[*ast.MapType]("Value"), + ParenExpr_X: info[*ast.ParenExpr]("X"), + RangeStmt_Body: info[*ast.RangeStmt]("Body"), + RangeStmt_Key: info[*ast.RangeStmt]("Key"), + RangeStmt_Value: info[*ast.RangeStmt]("Value"), + RangeStmt_X: info[*ast.RangeStmt]("X"), + ReturnStmt_Results: info[*ast.ReturnStmt]("Results"), + SelectStmt_Body: info[*ast.SelectStmt]("Body"), + SelectorExpr_Sel: info[*ast.SelectorExpr]("Sel"), + SelectorExpr_X: info[*ast.SelectorExpr]("X"), + SendStmt_Chan: info[*ast.SendStmt]("Chan"), + SendStmt_Value: info[*ast.SendStmt]("Value"), + SliceExpr_High: info[*ast.SliceExpr]("High"), + SliceExpr_Low: info[*ast.SliceExpr]("Low"), + SliceExpr_Max: info[*ast.SliceExpr]("Max"), + SliceExpr_X: info[*ast.SliceExpr]("X"), + StarExpr_X: info[*ast.StarExpr]("X"), + StructType_Fields: info[*ast.StructType]("Fields"), + SwitchStmt_Body: info[*ast.SwitchStmt]("Body"), + SwitchStmt_Init: info[*ast.SwitchStmt]("Init"), + SwitchStmt_Tag: info[*ast.SwitchStmt]("Tag"), + TypeAssertExpr_Type: info[*ast.TypeAssertExpr]("Type"), + TypeAssertExpr_X: info[*ast.TypeAssertExpr]("X"), + TypeSpec_Comment: info[*ast.TypeSpec]("Comment"), + TypeSpec_Doc: info[*ast.TypeSpec]("Doc"), + TypeSpec_Name: info[*ast.TypeSpec]("Name"), + TypeSpec_Type: info[*ast.TypeSpec]("Type"), + TypeSpec_TypeParams: info[*ast.TypeSpec]("TypeParams"), + TypeSwitchStmt_Assign: info[*ast.TypeSwitchStmt]("Assign"), + TypeSwitchStmt_Body: info[*ast.TypeSwitchStmt]("Body"), + TypeSwitchStmt_Init: info[*ast.TypeSwitchStmt]("Init"), + UnaryExpr_X: info[*ast.UnaryExpr]("X"), + ValueSpec_Comment: info[*ast.ValueSpec]("Comment"), + ValueSpec_Doc: info[*ast.ValueSpec]("Doc"), + ValueSpec_Names: info[*ast.ValueSpec]("Names"), + ValueSpec_Type: info[*ast.ValueSpec]("Type"), + ValueSpec_Values: info[*ast.ValueSpec]("Values"), +} diff --git a/vendor/google.golang.org/genproto/googleapis/api/LICENSE b/vendor/google.golang.org/genproto/googleapis/api/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/google.golang.org/genproto/googleapis/api/LICENSE @@ -0,0 +1,202 @@ + + 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 [yyyy] [name of copyright owner] + + 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/google.golang.org/genproto/googleapis/api/expr/v1alpha1/checked.pb.go b/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/checked.pb.go new file mode 100644 index 000000000..9f81dbcd8 --- /dev/null +++ b/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/checked.pb.go @@ -0,0 +1,1664 @@ +// 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v4.24.4 +// source: google/api/expr/v1alpha1/checked.proto + +package expr + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + structpb "google.golang.org/protobuf/types/known/structpb" +) + +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) +) + +// CEL primitive types. +type Type_PrimitiveType int32 + +const ( + // Unspecified type. + Type_PRIMITIVE_TYPE_UNSPECIFIED Type_PrimitiveType = 0 + // Boolean type. + Type_BOOL Type_PrimitiveType = 1 + // Int64 type. + // + // Proto-based integer values are widened to int64. + Type_INT64 Type_PrimitiveType = 2 + // Uint64 type. + // + // Proto-based unsigned integer values are widened to uint64. + Type_UINT64 Type_PrimitiveType = 3 + // Double type. + // + // Proto-based float values are widened to double values. + Type_DOUBLE Type_PrimitiveType = 4 + // String type. + Type_STRING Type_PrimitiveType = 5 + // Bytes type. + Type_BYTES Type_PrimitiveType = 6 +) + +// Enum value maps for Type_PrimitiveType. +var ( + Type_PrimitiveType_name = map[int32]string{ + 0: "PRIMITIVE_TYPE_UNSPECIFIED", + 1: "BOOL", + 2: "INT64", + 3: "UINT64", + 4: "DOUBLE", + 5: "STRING", + 6: "BYTES", + } + Type_PrimitiveType_value = map[string]int32{ + "PRIMITIVE_TYPE_UNSPECIFIED": 0, + "BOOL": 1, + "INT64": 2, + "UINT64": 3, + "DOUBLE": 4, + "STRING": 5, + "BYTES": 6, + } +) + +func (x Type_PrimitiveType) Enum() *Type_PrimitiveType { + p := new(Type_PrimitiveType) + *p = x + return p +} + +func (x Type_PrimitiveType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Type_PrimitiveType) Descriptor() protoreflect.EnumDescriptor { + return file_google_api_expr_v1alpha1_checked_proto_enumTypes[0].Descriptor() +} + +func (Type_PrimitiveType) Type() protoreflect.EnumType { + return &file_google_api_expr_v1alpha1_checked_proto_enumTypes[0] +} + +func (x Type_PrimitiveType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Type_PrimitiveType.Descriptor instead. +func (Type_PrimitiveType) EnumDescriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{1, 0} +} + +// Well-known protobuf types treated with first-class support in CEL. +type Type_WellKnownType int32 + +const ( + // Unspecified type. + Type_WELL_KNOWN_TYPE_UNSPECIFIED Type_WellKnownType = 0 + // Well-known protobuf.Any type. + // + // Any types are a polymorphic message type. During type-checking they are + // treated like `DYN` types, but at runtime they are resolved to a specific + // message type specified at evaluation time. + Type_ANY Type_WellKnownType = 1 + // Well-known protobuf.Timestamp type, internally referenced as `timestamp`. + Type_TIMESTAMP Type_WellKnownType = 2 + // Well-known protobuf.Duration type, internally referenced as `duration`. + Type_DURATION Type_WellKnownType = 3 +) + +// Enum value maps for Type_WellKnownType. +var ( + Type_WellKnownType_name = map[int32]string{ + 0: "WELL_KNOWN_TYPE_UNSPECIFIED", + 1: "ANY", + 2: "TIMESTAMP", + 3: "DURATION", + } + Type_WellKnownType_value = map[string]int32{ + "WELL_KNOWN_TYPE_UNSPECIFIED": 0, + "ANY": 1, + "TIMESTAMP": 2, + "DURATION": 3, + } +) + +func (x Type_WellKnownType) Enum() *Type_WellKnownType { + p := new(Type_WellKnownType) + *p = x + return p +} + +func (x Type_WellKnownType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Type_WellKnownType) Descriptor() protoreflect.EnumDescriptor { + return file_google_api_expr_v1alpha1_checked_proto_enumTypes[1].Descriptor() +} + +func (Type_WellKnownType) Type() protoreflect.EnumType { + return &file_google_api_expr_v1alpha1_checked_proto_enumTypes[1] +} + +func (x Type_WellKnownType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Type_WellKnownType.Descriptor instead. +func (Type_WellKnownType) EnumDescriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{1, 1} +} + +// A CEL expression which has been successfully type checked. +type CheckedExpr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A map from expression ids to resolved references. + // + // The following entries are in this table: + // + // - An Ident or Select expression is represented here if it resolves to a + // declaration. For instance, if `a.b.c` is represented by + // `select(select(id(a), b), c)`, and `a.b` resolves to a declaration, + // while `c` is a field selection, then the reference is attached to the + // nested select expression (but not to the id or or the outer select). + // In turn, if `a` resolves to a declaration and `b.c` are field selections, + // the reference is attached to the ident expression. + // - Every Call expression has an entry here, identifying the function being + // called. + // - Every CreateStruct expression for a message has an entry, identifying + // the message. + ReferenceMap map[int64]*Reference `protobuf:"bytes,2,rep,name=reference_map,json=referenceMap,proto3" json:"reference_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A map from expression ids to types. + // + // Every expression node which has a type different than DYN has a mapping + // here. If an expression has type DYN, it is omitted from this map to save + // space. + TypeMap map[int64]*Type `protobuf:"bytes,3,rep,name=type_map,json=typeMap,proto3" json:"type_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The source info derived from input that generated the parsed `expr` and + // any optimizations made during the type-checking pass. + SourceInfo *SourceInfo `protobuf:"bytes,5,opt,name=source_info,json=sourceInfo,proto3" json:"source_info,omitempty"` + // The expr version indicates the major / minor version number of the `expr` + // representation. + // + // The most common reason for a version change will be to indicate to the CEL + // runtimes that transformations have been performed on the expr during static + // analysis. In some cases, this will save the runtime the work of applying + // the same or similar transformations prior to evaluation. + ExprVersion string `protobuf:"bytes,6,opt,name=expr_version,json=exprVersion,proto3" json:"expr_version,omitempty"` + // The checked expression. Semantically equivalent to the parsed `expr`, but + // may have structural differences. + Expr *Expr `protobuf:"bytes,4,opt,name=expr,proto3" json:"expr,omitempty"` +} + +func (x *CheckedExpr) Reset() { + *x = CheckedExpr{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckedExpr) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckedExpr) ProtoMessage() {} + +func (x *CheckedExpr) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_checked_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 CheckedExpr.ProtoReflect.Descriptor instead. +func (*CheckedExpr) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{0} +} + +func (x *CheckedExpr) GetReferenceMap() map[int64]*Reference { + if x != nil { + return x.ReferenceMap + } + return nil +} + +func (x *CheckedExpr) GetTypeMap() map[int64]*Type { + if x != nil { + return x.TypeMap + } + return nil +} + +func (x *CheckedExpr) GetSourceInfo() *SourceInfo { + if x != nil { + return x.SourceInfo + } + return nil +} + +func (x *CheckedExpr) GetExprVersion() string { + if x != nil { + return x.ExprVersion + } + return "" +} + +func (x *CheckedExpr) GetExpr() *Expr { + if x != nil { + return x.Expr + } + return nil +} + +// Represents a CEL type. +type Type struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The kind of type. + // + // Types that are assignable to TypeKind: + // + // *Type_Dyn + // *Type_Null + // *Type_Primitive + // *Type_Wrapper + // *Type_WellKnown + // *Type_ListType_ + // *Type_MapType_ + // *Type_Function + // *Type_MessageType + // *Type_TypeParam + // *Type_Type + // *Type_Error + // *Type_AbstractType_ + TypeKind isType_TypeKind `protobuf_oneof:"type_kind"` +} + +func (x *Type) Reset() { + *x = Type{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Type) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Type) ProtoMessage() {} + +func (x *Type) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_checked_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 Type.ProtoReflect.Descriptor instead. +func (*Type) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{1} +} + +func (m *Type) GetTypeKind() isType_TypeKind { + if m != nil { + return m.TypeKind + } + return nil +} + +func (x *Type) GetDyn() *emptypb.Empty { + if x, ok := x.GetTypeKind().(*Type_Dyn); ok { + return x.Dyn + } + return nil +} + +func (x *Type) GetNull() structpb.NullValue { + if x, ok := x.GetTypeKind().(*Type_Null); ok { + return x.Null + } + return structpb.NullValue_NULL_VALUE +} + +func (x *Type) GetPrimitive() Type_PrimitiveType { + if x, ok := x.GetTypeKind().(*Type_Primitive); ok { + return x.Primitive + } + return Type_PRIMITIVE_TYPE_UNSPECIFIED +} + +func (x *Type) GetWrapper() Type_PrimitiveType { + if x, ok := x.GetTypeKind().(*Type_Wrapper); ok { + return x.Wrapper + } + return Type_PRIMITIVE_TYPE_UNSPECIFIED +} + +func (x *Type) GetWellKnown() Type_WellKnownType { + if x, ok := x.GetTypeKind().(*Type_WellKnown); ok { + return x.WellKnown + } + return Type_WELL_KNOWN_TYPE_UNSPECIFIED +} + +func (x *Type) GetListType() *Type_ListType { + if x, ok := x.GetTypeKind().(*Type_ListType_); ok { + return x.ListType + } + return nil +} + +func (x *Type) GetMapType() *Type_MapType { + if x, ok := x.GetTypeKind().(*Type_MapType_); ok { + return x.MapType + } + return nil +} + +func (x *Type) GetFunction() *Type_FunctionType { + if x, ok := x.GetTypeKind().(*Type_Function); ok { + return x.Function + } + return nil +} + +func (x *Type) GetMessageType() string { + if x, ok := x.GetTypeKind().(*Type_MessageType); ok { + return x.MessageType + } + return "" +} + +func (x *Type) GetTypeParam() string { + if x, ok := x.GetTypeKind().(*Type_TypeParam); ok { + return x.TypeParam + } + return "" +} + +func (x *Type) GetType() *Type { + if x, ok := x.GetTypeKind().(*Type_Type); ok { + return x.Type + } + return nil +} + +func (x *Type) GetError() *emptypb.Empty { + if x, ok := x.GetTypeKind().(*Type_Error); ok { + return x.Error + } + return nil +} + +func (x *Type) GetAbstractType() *Type_AbstractType { + if x, ok := x.GetTypeKind().(*Type_AbstractType_); ok { + return x.AbstractType + } + return nil +} + +type isType_TypeKind interface { + isType_TypeKind() +} + +type Type_Dyn struct { + // Dynamic type. + Dyn *emptypb.Empty `protobuf:"bytes,1,opt,name=dyn,proto3,oneof"` +} + +type Type_Null struct { + // Null value. + Null structpb.NullValue `protobuf:"varint,2,opt,name=null,proto3,enum=google.protobuf.NullValue,oneof"` +} + +type Type_Primitive struct { + // Primitive types: `true`, `1u`, `-2.0`, `'string'`, `b'bytes'`. + Primitive Type_PrimitiveType `protobuf:"varint,3,opt,name=primitive,proto3,enum=google.api.expr.v1alpha1.Type_PrimitiveType,oneof"` +} + +type Type_Wrapper struct { + // Wrapper of a primitive type, e.g. `google.protobuf.Int64Value`. + Wrapper Type_PrimitiveType `protobuf:"varint,4,opt,name=wrapper,proto3,enum=google.api.expr.v1alpha1.Type_PrimitiveType,oneof"` +} + +type Type_WellKnown struct { + // Well-known protobuf type such as `google.protobuf.Timestamp`. + WellKnown Type_WellKnownType `protobuf:"varint,5,opt,name=well_known,json=wellKnown,proto3,enum=google.api.expr.v1alpha1.Type_WellKnownType,oneof"` +} + +type Type_ListType_ struct { + // Parameterized list with elements of `list_type`, e.g. `list`. + ListType *Type_ListType `protobuf:"bytes,6,opt,name=list_type,json=listType,proto3,oneof"` +} + +type Type_MapType_ struct { + // Parameterized map with typed keys and values. + MapType *Type_MapType `protobuf:"bytes,7,opt,name=map_type,json=mapType,proto3,oneof"` +} + +type Type_Function struct { + // Function type. + Function *Type_FunctionType `protobuf:"bytes,8,opt,name=function,proto3,oneof"` +} + +type Type_MessageType struct { + // Protocol buffer message type. + // + // The `message_type` string specifies the qualified message type name. For + // example, `google.plus.Profile`. + MessageType string `protobuf:"bytes,9,opt,name=message_type,json=messageType,proto3,oneof"` +} + +type Type_TypeParam struct { + // Type param type. + // + // The `type_param` string specifies the type parameter name, e.g. `list` + // would be a `list_type` whose element type was a `type_param` type + // named `E`. + TypeParam string `protobuf:"bytes,10,opt,name=type_param,json=typeParam,proto3,oneof"` +} + +type Type_Type struct { + // Type type. + // + // The `type` value specifies the target type. e.g. int is type with a + // target type of `Primitive.INT`. + Type *Type `protobuf:"bytes,11,opt,name=type,proto3,oneof"` +} + +type Type_Error struct { + // Error type. + // + // During type-checking if an expression is an error, its type is propagated + // as the `ERROR` type. This permits the type-checker to discover other + // errors present in the expression. + Error *emptypb.Empty `protobuf:"bytes,12,opt,name=error,proto3,oneof"` +} + +type Type_AbstractType_ struct { + // Abstract, application defined type. + AbstractType *Type_AbstractType `protobuf:"bytes,14,opt,name=abstract_type,json=abstractType,proto3,oneof"` +} + +func (*Type_Dyn) isType_TypeKind() {} + +func (*Type_Null) isType_TypeKind() {} + +func (*Type_Primitive) isType_TypeKind() {} + +func (*Type_Wrapper) isType_TypeKind() {} + +func (*Type_WellKnown) isType_TypeKind() {} + +func (*Type_ListType_) isType_TypeKind() {} + +func (*Type_MapType_) isType_TypeKind() {} + +func (*Type_Function) isType_TypeKind() {} + +func (*Type_MessageType) isType_TypeKind() {} + +func (*Type_TypeParam) isType_TypeKind() {} + +func (*Type_Type) isType_TypeKind() {} + +func (*Type_Error) isType_TypeKind() {} + +func (*Type_AbstractType_) isType_TypeKind() {} + +// Represents a declaration of a named value or function. +// +// A declaration is part of the contract between the expression, the agent +// evaluating that expression, and the caller requesting evaluation. +type Decl struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The fully qualified name of the declaration. + // + // Declarations are organized in containers and this represents the full path + // to the declaration in its container, as in `google.api.expr.Decl`. + // + // Declarations used as + // [FunctionDecl.Overload][google.api.expr.v1alpha1.Decl.FunctionDecl.Overload] + // parameters may or may not have a name depending on whether the overload is + // function declaration or a function definition containing a result + // [Expr][google.api.expr.v1alpha1.Expr]. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The declaration kind. + // + // Types that are assignable to DeclKind: + // + // *Decl_Ident + // *Decl_Function + DeclKind isDecl_DeclKind `protobuf_oneof:"decl_kind"` +} + +func (x *Decl) Reset() { + *x = Decl{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Decl) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Decl) ProtoMessage() {} + +func (x *Decl) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_checked_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 Decl.ProtoReflect.Descriptor instead. +func (*Decl) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{2} +} + +func (x *Decl) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (m *Decl) GetDeclKind() isDecl_DeclKind { + if m != nil { + return m.DeclKind + } + return nil +} + +func (x *Decl) GetIdent() *Decl_IdentDecl { + if x, ok := x.GetDeclKind().(*Decl_Ident); ok { + return x.Ident + } + return nil +} + +func (x *Decl) GetFunction() *Decl_FunctionDecl { + if x, ok := x.GetDeclKind().(*Decl_Function); ok { + return x.Function + } + return nil +} + +type isDecl_DeclKind interface { + isDecl_DeclKind() +} + +type Decl_Ident struct { + // Identifier declaration. + Ident *Decl_IdentDecl `protobuf:"bytes,2,opt,name=ident,proto3,oneof"` +} + +type Decl_Function struct { + // Function declaration. + Function *Decl_FunctionDecl `protobuf:"bytes,3,opt,name=function,proto3,oneof"` +} + +func (*Decl_Ident) isDecl_DeclKind() {} + +func (*Decl_Function) isDecl_DeclKind() {} + +// Describes a resolved reference to a declaration. +type Reference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The fully qualified name of the declaration. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // For references to functions, this is a list of `Overload.overload_id` + // values which match according to typing rules. + // + // If the list has more than one element, overload resolution among the + // presented candidates must happen at runtime because of dynamic types. The + // type checker attempts to narrow down this list as much as possible. + // + // Empty if this is not a reference to a + // [Decl.FunctionDecl][google.api.expr.v1alpha1.Decl.FunctionDecl]. + OverloadId []string `protobuf:"bytes,3,rep,name=overload_id,json=overloadId,proto3" json:"overload_id,omitempty"` + // For references to constants, this may contain the value of the + // constant if known at compile time. + Value *Constant `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *Reference) Reset() { + *x = Reference{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Reference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Reference) ProtoMessage() {} + +func (x *Reference) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_checked_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 Reference.ProtoReflect.Descriptor instead. +func (*Reference) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{3} +} + +func (x *Reference) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Reference) GetOverloadId() []string { + if x != nil { + return x.OverloadId + } + return nil +} + +func (x *Reference) GetValue() *Constant { + if x != nil { + return x.Value + } + return nil +} + +// List type with typed elements, e.g. `list`. +type Type_ListType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The element type. + ElemType *Type `protobuf:"bytes,1,opt,name=elem_type,json=elemType,proto3" json:"elem_type,omitempty"` +} + +func (x *Type_ListType) Reset() { + *x = Type_ListType{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Type_ListType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Type_ListType) ProtoMessage() {} + +func (x *Type_ListType) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[6] + 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 Type_ListType.ProtoReflect.Descriptor instead. +func (*Type_ListType) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *Type_ListType) GetElemType() *Type { + if x != nil { + return x.ElemType + } + return nil +} + +// Map type with parameterized key and value types, e.g. `map`. +type Type_MapType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The type of the key. + KeyType *Type `protobuf:"bytes,1,opt,name=key_type,json=keyType,proto3" json:"key_type,omitempty"` + // The type of the value. + ValueType *Type `protobuf:"bytes,2,opt,name=value_type,json=valueType,proto3" json:"value_type,omitempty"` +} + +func (x *Type_MapType) Reset() { + *x = Type_MapType{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Type_MapType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Type_MapType) ProtoMessage() {} + +func (x *Type_MapType) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[7] + 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 Type_MapType.ProtoReflect.Descriptor instead. +func (*Type_MapType) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{1, 1} +} + +func (x *Type_MapType) GetKeyType() *Type { + if x != nil { + return x.KeyType + } + return nil +} + +func (x *Type_MapType) GetValueType() *Type { + if x != nil { + return x.ValueType + } + return nil +} + +// Function type with result and arg types. +type Type_FunctionType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Result type of the function. + ResultType *Type `protobuf:"bytes,1,opt,name=result_type,json=resultType,proto3" json:"result_type,omitempty"` + // Argument types of the function. + ArgTypes []*Type `protobuf:"bytes,2,rep,name=arg_types,json=argTypes,proto3" json:"arg_types,omitempty"` +} + +func (x *Type_FunctionType) Reset() { + *x = Type_FunctionType{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Type_FunctionType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Type_FunctionType) ProtoMessage() {} + +func (x *Type_FunctionType) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[8] + 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 Type_FunctionType.ProtoReflect.Descriptor instead. +func (*Type_FunctionType) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{1, 2} +} + +func (x *Type_FunctionType) GetResultType() *Type { + if x != nil { + return x.ResultType + } + return nil +} + +func (x *Type_FunctionType) GetArgTypes() []*Type { + if x != nil { + return x.ArgTypes + } + return nil +} + +// Application defined abstract type. +type Type_AbstractType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The fully qualified name of this abstract type. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Parameter types for this abstract type. + ParameterTypes []*Type `protobuf:"bytes,2,rep,name=parameter_types,json=parameterTypes,proto3" json:"parameter_types,omitempty"` +} + +func (x *Type_AbstractType) Reset() { + *x = Type_AbstractType{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Type_AbstractType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Type_AbstractType) ProtoMessage() {} + +func (x *Type_AbstractType) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[9] + 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 Type_AbstractType.ProtoReflect.Descriptor instead. +func (*Type_AbstractType) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{1, 3} +} + +func (x *Type_AbstractType) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Type_AbstractType) GetParameterTypes() []*Type { + if x != nil { + return x.ParameterTypes + } + return nil +} + +// Identifier declaration which specifies its type and optional `Expr` value. +// +// An identifier without a value is a declaration that must be provided at +// evaluation time. An identifier with a value should resolve to a constant, +// but may be used in conjunction with other identifiers bound at evaluation +// time. +type Decl_IdentDecl struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The type of the identifier. + Type *Type `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // The constant value of the identifier. If not specified, the identifier + // must be supplied at evaluation time. + Value *Constant `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + // Documentation string for the identifier. + Doc string `protobuf:"bytes,3,opt,name=doc,proto3" json:"doc,omitempty"` +} + +func (x *Decl_IdentDecl) Reset() { + *x = Decl_IdentDecl{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Decl_IdentDecl) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Decl_IdentDecl) ProtoMessage() {} + +func (x *Decl_IdentDecl) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[10] + 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 Decl_IdentDecl.ProtoReflect.Descriptor instead. +func (*Decl_IdentDecl) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *Decl_IdentDecl) GetType() *Type { + if x != nil { + return x.Type + } + return nil +} + +func (x *Decl_IdentDecl) GetValue() *Constant { + if x != nil { + return x.Value + } + return nil +} + +func (x *Decl_IdentDecl) GetDoc() string { + if x != nil { + return x.Doc + } + return "" +} + +// Function declaration specifies one or more overloads which indicate the +// function's parameter types and return type. +// +// Functions have no observable side-effects (there may be side-effects like +// logging which are not observable from CEL). +type Decl_FunctionDecl struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. List of function overloads, must contain at least one overload. + Overloads []*Decl_FunctionDecl_Overload `protobuf:"bytes,1,rep,name=overloads,proto3" json:"overloads,omitempty"` +} + +func (x *Decl_FunctionDecl) Reset() { + *x = Decl_FunctionDecl{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Decl_FunctionDecl) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Decl_FunctionDecl) ProtoMessage() {} + +func (x *Decl_FunctionDecl) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[11] + 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 Decl_FunctionDecl.ProtoReflect.Descriptor instead. +func (*Decl_FunctionDecl) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{2, 1} +} + +func (x *Decl_FunctionDecl) GetOverloads() []*Decl_FunctionDecl_Overload { + if x != nil { + return x.Overloads + } + return nil +} + +// An overload indicates a function's parameter types and return type, and +// may optionally include a function body described in terms of +// [Expr][google.api.expr.v1alpha1.Expr] values. +// +// Functions overloads are declared in either a function or method +// call-style. For methods, the `params[0]` is the expected type of the +// target receiver. +// +// Overloads must have non-overlapping argument types after erasure of all +// parameterized type variables (similar as type erasure in Java). +type Decl_FunctionDecl_Overload struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Globally unique overload name of the function which reflects + // the function name and argument types. + // + // This will be used by a [Reference][google.api.expr.v1alpha1.Reference] + // to indicate the `overload_id` that was resolved for the function + // `name`. + OverloadId string `protobuf:"bytes,1,opt,name=overload_id,json=overloadId,proto3" json:"overload_id,omitempty"` + // List of function parameter [Type][google.api.expr.v1alpha1.Type] + // values. + // + // Param types are disjoint after generic type parameters have been + // replaced with the type `DYN`. Since the `DYN` type is compatible with + // any other type, this means that if `A` is a type parameter, the + // function types `int` and `int` are not disjoint. Likewise, + // `map` is not disjoint from `map`. + // + // When the `result_type` of a function is a generic type param, the + // type param name also appears as the `type` of on at least one params. + Params []*Type `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty"` + // The type param names associated with the function declaration. + // + // For example, `function ex(K key, map map) : V` would yield + // the type params of `K, V`. + TypeParams []string `protobuf:"bytes,3,rep,name=type_params,json=typeParams,proto3" json:"type_params,omitempty"` + // Required. The result type of the function. For example, the operator + // `string.isEmpty()` would have `result_type` of `kind: BOOL`. + ResultType *Type `protobuf:"bytes,4,opt,name=result_type,json=resultType,proto3" json:"result_type,omitempty"` + // Whether the function is to be used in a method call-style `x.f(...)` + // or a function call-style `f(x, ...)`. + // + // For methods, the first parameter declaration, `params[0]` is the + // expected type of the target receiver. + IsInstanceFunction bool `protobuf:"varint,5,opt,name=is_instance_function,json=isInstanceFunction,proto3" json:"is_instance_function,omitempty"` + // Documentation string for the overload. + Doc string `protobuf:"bytes,6,opt,name=doc,proto3" json:"doc,omitempty"` +} + +func (x *Decl_FunctionDecl_Overload) Reset() { + *x = Decl_FunctionDecl_Overload{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Decl_FunctionDecl_Overload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Decl_FunctionDecl_Overload) ProtoMessage() {} + +func (x *Decl_FunctionDecl_Overload) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[12] + 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 Decl_FunctionDecl_Overload.ProtoReflect.Descriptor instead. +func (*Decl_FunctionDecl_Overload) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{2, 1, 0} +} + +func (x *Decl_FunctionDecl_Overload) GetOverloadId() string { + if x != nil { + return x.OverloadId + } + return "" +} + +func (x *Decl_FunctionDecl_Overload) GetParams() []*Type { + if x != nil { + return x.Params + } + return nil +} + +func (x *Decl_FunctionDecl_Overload) GetTypeParams() []string { + if x != nil { + return x.TypeParams + } + return nil +} + +func (x *Decl_FunctionDecl_Overload) GetResultType() *Type { + if x != nil { + return x.ResultType + } + return nil +} + +func (x *Decl_FunctionDecl_Overload) GetIsInstanceFunction() bool { + if x != nil { + return x.IsInstanceFunction + } + return false +} + +func (x *Decl_FunctionDecl_Overload) GetDoc() string { + if x != nil { + return x.Doc + } + return "" +} + +var File_google_api_expr_v1alpha1_checked_proto protoreflect.FileDescriptor + +var file_google_api_expr_v1alpha1_checked_proto_rawDesc = []byte{ + 0x0a, 0x26, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, + 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, + 0x78, 0x70, 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x73, 0x79, 0x6e, + 0x74, 0x61, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x04, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, + 0x45, 0x78, 0x70, 0x72, 0x12, 0x5c, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, + 0x70, 0x72, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, + 0x61, 0x70, 0x12, 0x4d, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, + 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x61, + 0x70, 0x12, 0x45, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x72, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x65, 0x78, 0x70, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x04, 0x65, + 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x1a, + 0x64, 0x0a, 0x11, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5a, 0x0a, 0x0c, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0xc8, 0x0b, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x03, 0x64, 0x79, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, + 0x00, 0x52, 0x03, 0x64, 0x79, 0x6e, 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x48, 0x00, 0x52, 0x04, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x4c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6d, + 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x72, 0x69, 0x6d, + 0x69, 0x74, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x69, + 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x48, 0x0a, 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, + 0x12, 0x4d, 0x0a, 0x0a, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x54, 0x79, 0x70, 0x65, 0x2e, 0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x48, 0x00, 0x52, 0x09, 0x77, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x12, + 0x46, 0x0a, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, + 0x70, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x08, 0x6c, + 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x54, 0x79, 0x70, + 0x65, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x49, 0x0a, 0x08, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x46, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x08, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0a, + 0x74, 0x79, 0x70, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x09, 0x74, 0x79, 0x70, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x34, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x12, 0x52, 0x0a, 0x0d, 0x61, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x41, 0x62, 0x73, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x62, 0x73, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x47, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x65, 0x6c, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, + 0x1a, 0x83, 0x01, 0x0a, 0x07, 0x4d, 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x08, + 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, + 0x6b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x8c, 0x01, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x61, 0x72, 0x67, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x1a, 0x6b, 0x0a, 0x0c, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x0f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x22, 0x73, 0x0a, 0x0d, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x52, 0x49, 0x4d, 0x49, 0x54, 0x49, 0x56, 0x45, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x01, 0x12, 0x09, 0x0a, + 0x05, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x49, 0x4e, 0x54, + 0x36, 0x34, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x10, 0x04, + 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, + 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x06, 0x22, 0x56, 0x0a, 0x0d, 0x57, 0x65, 0x6c, 0x6c, 0x4b, + 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x57, 0x45, 0x4c, 0x4c, + 0x5f, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x59, + 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, + 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x42, + 0x0b, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xb3, 0x05, 0x0a, + 0x04, 0x44, 0x65, 0x63, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x05, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x44, 0x65, + 0x63, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x08, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x2e, 0x46, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x63, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x8b, 0x01, 0x0a, 0x09, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x44, 0x65, 0x63, 0x6c, 0x12, 0x32, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x6f, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x64, 0x6f, 0x63, 0x1a, 0xee, 0x02, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x65, 0x63, 0x6c, 0x12, 0x52, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, + 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x65, 0x63, 0x6c, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x09, + 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x1a, 0x89, 0x02, 0x0a, 0x08, 0x4f, 0x76, + 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, + 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x76, 0x65, + 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, + 0x1f, 0x0a, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x12, 0x3f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x12, 0x69, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x6f, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x64, 0x6f, 0x63, 0x42, 0x0b, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x6c, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x22, 0x7a, 0x0a, 0x09, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, + 0x61, 0x64, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, + 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x6c, + 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x09, + 0x44, 0x65, 0x63, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, + 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x3b, 0x65, 0x78, 0x70, 0x72, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_api_expr_v1alpha1_checked_proto_rawDescOnce sync.Once + file_google_api_expr_v1alpha1_checked_proto_rawDescData = file_google_api_expr_v1alpha1_checked_proto_rawDesc +) + +func file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP() []byte { + file_google_api_expr_v1alpha1_checked_proto_rawDescOnce.Do(func() { + file_google_api_expr_v1alpha1_checked_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_expr_v1alpha1_checked_proto_rawDescData) + }) + return file_google_api_expr_v1alpha1_checked_proto_rawDescData +} + +var file_google_api_expr_v1alpha1_checked_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_google_api_expr_v1alpha1_checked_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_google_api_expr_v1alpha1_checked_proto_goTypes = []interface{}{ + (Type_PrimitiveType)(0), // 0: google.api.expr.v1alpha1.Type.PrimitiveType + (Type_WellKnownType)(0), // 1: google.api.expr.v1alpha1.Type.WellKnownType + (*CheckedExpr)(nil), // 2: google.api.expr.v1alpha1.CheckedExpr + (*Type)(nil), // 3: google.api.expr.v1alpha1.Type + (*Decl)(nil), // 4: google.api.expr.v1alpha1.Decl + (*Reference)(nil), // 5: google.api.expr.v1alpha1.Reference + nil, // 6: google.api.expr.v1alpha1.CheckedExpr.ReferenceMapEntry + nil, // 7: google.api.expr.v1alpha1.CheckedExpr.TypeMapEntry + (*Type_ListType)(nil), // 8: google.api.expr.v1alpha1.Type.ListType + (*Type_MapType)(nil), // 9: google.api.expr.v1alpha1.Type.MapType + (*Type_FunctionType)(nil), // 10: google.api.expr.v1alpha1.Type.FunctionType + (*Type_AbstractType)(nil), // 11: google.api.expr.v1alpha1.Type.AbstractType + (*Decl_IdentDecl)(nil), // 12: google.api.expr.v1alpha1.Decl.IdentDecl + (*Decl_FunctionDecl)(nil), // 13: google.api.expr.v1alpha1.Decl.FunctionDecl + (*Decl_FunctionDecl_Overload)(nil), // 14: google.api.expr.v1alpha1.Decl.FunctionDecl.Overload + (*SourceInfo)(nil), // 15: google.api.expr.v1alpha1.SourceInfo + (*Expr)(nil), // 16: google.api.expr.v1alpha1.Expr + (*emptypb.Empty)(nil), // 17: google.protobuf.Empty + (structpb.NullValue)(0), // 18: google.protobuf.NullValue + (*Constant)(nil), // 19: google.api.expr.v1alpha1.Constant +} +var file_google_api_expr_v1alpha1_checked_proto_depIdxs = []int32{ + 6, // 0: google.api.expr.v1alpha1.CheckedExpr.reference_map:type_name -> google.api.expr.v1alpha1.CheckedExpr.ReferenceMapEntry + 7, // 1: google.api.expr.v1alpha1.CheckedExpr.type_map:type_name -> google.api.expr.v1alpha1.CheckedExpr.TypeMapEntry + 15, // 2: google.api.expr.v1alpha1.CheckedExpr.source_info:type_name -> google.api.expr.v1alpha1.SourceInfo + 16, // 3: google.api.expr.v1alpha1.CheckedExpr.expr:type_name -> google.api.expr.v1alpha1.Expr + 17, // 4: google.api.expr.v1alpha1.Type.dyn:type_name -> google.protobuf.Empty + 18, // 5: google.api.expr.v1alpha1.Type.null:type_name -> google.protobuf.NullValue + 0, // 6: google.api.expr.v1alpha1.Type.primitive:type_name -> google.api.expr.v1alpha1.Type.PrimitiveType + 0, // 7: google.api.expr.v1alpha1.Type.wrapper:type_name -> google.api.expr.v1alpha1.Type.PrimitiveType + 1, // 8: google.api.expr.v1alpha1.Type.well_known:type_name -> google.api.expr.v1alpha1.Type.WellKnownType + 8, // 9: google.api.expr.v1alpha1.Type.list_type:type_name -> google.api.expr.v1alpha1.Type.ListType + 9, // 10: google.api.expr.v1alpha1.Type.map_type:type_name -> google.api.expr.v1alpha1.Type.MapType + 10, // 11: google.api.expr.v1alpha1.Type.function:type_name -> google.api.expr.v1alpha1.Type.FunctionType + 3, // 12: google.api.expr.v1alpha1.Type.type:type_name -> google.api.expr.v1alpha1.Type + 17, // 13: google.api.expr.v1alpha1.Type.error:type_name -> google.protobuf.Empty + 11, // 14: google.api.expr.v1alpha1.Type.abstract_type:type_name -> google.api.expr.v1alpha1.Type.AbstractType + 12, // 15: google.api.expr.v1alpha1.Decl.ident:type_name -> google.api.expr.v1alpha1.Decl.IdentDecl + 13, // 16: google.api.expr.v1alpha1.Decl.function:type_name -> google.api.expr.v1alpha1.Decl.FunctionDecl + 19, // 17: google.api.expr.v1alpha1.Reference.value:type_name -> google.api.expr.v1alpha1.Constant + 5, // 18: google.api.expr.v1alpha1.CheckedExpr.ReferenceMapEntry.value:type_name -> google.api.expr.v1alpha1.Reference + 3, // 19: google.api.expr.v1alpha1.CheckedExpr.TypeMapEntry.value:type_name -> google.api.expr.v1alpha1.Type + 3, // 20: google.api.expr.v1alpha1.Type.ListType.elem_type:type_name -> google.api.expr.v1alpha1.Type + 3, // 21: google.api.expr.v1alpha1.Type.MapType.key_type:type_name -> google.api.expr.v1alpha1.Type + 3, // 22: google.api.expr.v1alpha1.Type.MapType.value_type:type_name -> google.api.expr.v1alpha1.Type + 3, // 23: google.api.expr.v1alpha1.Type.FunctionType.result_type:type_name -> google.api.expr.v1alpha1.Type + 3, // 24: google.api.expr.v1alpha1.Type.FunctionType.arg_types:type_name -> google.api.expr.v1alpha1.Type + 3, // 25: google.api.expr.v1alpha1.Type.AbstractType.parameter_types:type_name -> google.api.expr.v1alpha1.Type + 3, // 26: google.api.expr.v1alpha1.Decl.IdentDecl.type:type_name -> google.api.expr.v1alpha1.Type + 19, // 27: google.api.expr.v1alpha1.Decl.IdentDecl.value:type_name -> google.api.expr.v1alpha1.Constant + 14, // 28: google.api.expr.v1alpha1.Decl.FunctionDecl.overloads:type_name -> google.api.expr.v1alpha1.Decl.FunctionDecl.Overload + 3, // 29: google.api.expr.v1alpha1.Decl.FunctionDecl.Overload.params:type_name -> google.api.expr.v1alpha1.Type + 3, // 30: google.api.expr.v1alpha1.Decl.FunctionDecl.Overload.result_type:type_name -> google.api.expr.v1alpha1.Type + 31, // [31:31] is the sub-list for method output_type + 31, // [31:31] is the sub-list for method input_type + 31, // [31:31] is the sub-list for extension type_name + 31, // [31:31] is the sub-list for extension extendee + 0, // [0:31] is the sub-list for field type_name +} + +func init() { file_google_api_expr_v1alpha1_checked_proto_init() } +func file_google_api_expr_v1alpha1_checked_proto_init() { + if File_google_api_expr_v1alpha1_checked_proto != nil { + return + } + file_google_api_expr_v1alpha1_syntax_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_api_expr_v1alpha1_checked_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckedExpr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_checked_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Type); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_checked_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Decl); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_checked_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Reference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_checked_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Type_ListType); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_checked_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Type_MapType); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_checked_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Type_FunctionType); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_checked_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Type_AbstractType); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_checked_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Decl_IdentDecl); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_checked_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Decl_FunctionDecl); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_checked_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Decl_FunctionDecl_Overload); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_api_expr_v1alpha1_checked_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*Type_Dyn)(nil), + (*Type_Null)(nil), + (*Type_Primitive)(nil), + (*Type_Wrapper)(nil), + (*Type_WellKnown)(nil), + (*Type_ListType_)(nil), + (*Type_MapType_)(nil), + (*Type_Function)(nil), + (*Type_MessageType)(nil), + (*Type_TypeParam)(nil), + (*Type_Type)(nil), + (*Type_Error)(nil), + (*Type_AbstractType_)(nil), + } + file_google_api_expr_v1alpha1_checked_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*Decl_Ident)(nil), + (*Decl_Function)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_api_expr_v1alpha1_checked_proto_rawDesc, + NumEnums: 2, + NumMessages: 13, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_api_expr_v1alpha1_checked_proto_goTypes, + DependencyIndexes: file_google_api_expr_v1alpha1_checked_proto_depIdxs, + EnumInfos: file_google_api_expr_v1alpha1_checked_proto_enumTypes, + MessageInfos: file_google_api_expr_v1alpha1_checked_proto_msgTypes, + }.Build() + File_google_api_expr_v1alpha1_checked_proto = out.File + file_google_api_expr_v1alpha1_checked_proto_rawDesc = nil + file_google_api_expr_v1alpha1_checked_proto_goTypes = nil + file_google_api_expr_v1alpha1_checked_proto_depIdxs = nil +} diff --git a/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/eval.pb.go b/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/eval.pb.go new file mode 100644 index 000000000..0a2ffb595 --- /dev/null +++ b/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/eval.pb.go @@ -0,0 +1,580 @@ +// 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v4.24.4 +// source: google/api/expr/v1alpha1/eval.proto + +package expr + +import ( + reflect "reflect" + sync "sync" + + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +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) +) + +// The state of an evaluation. +// +// Can represent an inital, partial, or completed state of evaluation. +type EvalState struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The unique values referenced in this message. + Values []*ExprValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` + // An ordered list of results. + // + // Tracks the flow of evaluation through the expression. + // May be sparse. + Results []*EvalState_Result `protobuf:"bytes,3,rep,name=results,proto3" json:"results,omitempty"` +} + +func (x *EvalState) Reset() { + *x = EvalState{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_eval_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EvalState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvalState) ProtoMessage() {} + +func (x *EvalState) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_eval_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 EvalState.ProtoReflect.Descriptor instead. +func (*EvalState) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_eval_proto_rawDescGZIP(), []int{0} +} + +func (x *EvalState) GetValues() []*ExprValue { + if x != nil { + return x.Values + } + return nil +} + +func (x *EvalState) GetResults() []*EvalState_Result { + if x != nil { + return x.Results + } + return nil +} + +// The value of an evaluated expression. +type ExprValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // An expression can resolve to a value, error or unknown. + // + // Types that are assignable to Kind: + // + // *ExprValue_Value + // *ExprValue_Error + // *ExprValue_Unknown + Kind isExprValue_Kind `protobuf_oneof:"kind"` +} + +func (x *ExprValue) Reset() { + *x = ExprValue{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_eval_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExprValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExprValue) ProtoMessage() {} + +func (x *ExprValue) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_eval_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 ExprValue.ProtoReflect.Descriptor instead. +func (*ExprValue) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_eval_proto_rawDescGZIP(), []int{1} +} + +func (m *ExprValue) GetKind() isExprValue_Kind { + if m != nil { + return m.Kind + } + return nil +} + +func (x *ExprValue) GetValue() *Value { + if x, ok := x.GetKind().(*ExprValue_Value); ok { + return x.Value + } + return nil +} + +func (x *ExprValue) GetError() *ErrorSet { + if x, ok := x.GetKind().(*ExprValue_Error); ok { + return x.Error + } + return nil +} + +func (x *ExprValue) GetUnknown() *UnknownSet { + if x, ok := x.GetKind().(*ExprValue_Unknown); ok { + return x.Unknown + } + return nil +} + +type isExprValue_Kind interface { + isExprValue_Kind() +} + +type ExprValue_Value struct { + // A concrete value. + Value *Value `protobuf:"bytes,1,opt,name=value,proto3,oneof"` +} + +type ExprValue_Error struct { + // The set of errors in the critical path of evalution. + // + // Only errors in the critical path are included. For example, + // `( || true) && ` will only result in ``, + // while ` || ` will result in both `` and + // ``. + // + // Errors cause by the presence of other errors are not included in the + // set. For example `.foo`, `foo()`, and ` + 1` will + // only result in ``. + // + // Multiple errors *might* be included when evaluation could result + // in different errors. For example ` + ` and + // `foo(, )` may result in ``, `` or both. + // The exact subset of errors included for this case is unspecified and + // depends on the implementation details of the evaluator. + Error *ErrorSet `protobuf:"bytes,2,opt,name=error,proto3,oneof"` +} + +type ExprValue_Unknown struct { + // The set of unknowns in the critical path of evaluation. + // + // Unknown behaves identically to Error with regards to propagation. + // Specifically, only unknowns in the critical path are included, unknowns + // caused by the presence of other unknowns are not included, and multiple + // unknowns *might* be included included when evaluation could result in + // different unknowns. For example: + // + // ( || true) && -> + // || -> + // .foo -> + // foo() -> + // + -> or + // + // Unknown takes precidence over Error in cases where a `Value` can short + // circuit the result: + // + // || -> + // && -> + // + // Errors take precidence in all other cases: + // + // + -> + // foo(, ) -> + Unknown *UnknownSet `protobuf:"bytes,3,opt,name=unknown,proto3,oneof"` +} + +func (*ExprValue_Value) isExprValue_Kind() {} + +func (*ExprValue_Error) isExprValue_Kind() {} + +func (*ExprValue_Unknown) isExprValue_Kind() {} + +// A set of errors. +// +// The errors included depend on the context. See `ExprValue.error`. +type ErrorSet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The errors in the set. + Errors []*status.Status `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"` +} + +func (x *ErrorSet) Reset() { + *x = ErrorSet{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_eval_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ErrorSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ErrorSet) ProtoMessage() {} + +func (x *ErrorSet) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_eval_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 ErrorSet.ProtoReflect.Descriptor instead. +func (*ErrorSet) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_eval_proto_rawDescGZIP(), []int{2} +} + +func (x *ErrorSet) GetErrors() []*status.Status { + if x != nil { + return x.Errors + } + return nil +} + +// A set of expressions for which the value is unknown. +// +// The unknowns included depend on the context. See `ExprValue.unknown`. +type UnknownSet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ids of the expressions with unknown values. + Exprs []int64 `protobuf:"varint,1,rep,packed,name=exprs,proto3" json:"exprs,omitempty"` +} + +func (x *UnknownSet) Reset() { + *x = UnknownSet{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_eval_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnknownSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnknownSet) ProtoMessage() {} + +func (x *UnknownSet) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_eval_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 UnknownSet.ProtoReflect.Descriptor instead. +func (*UnknownSet) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_eval_proto_rawDescGZIP(), []int{3} +} + +func (x *UnknownSet) GetExprs() []int64 { + if x != nil { + return x.Exprs + } + return nil +} + +// A single evalution result. +type EvalState_Result struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The id of the expression this result if for. + Expr int64 `protobuf:"varint,1,opt,name=expr,proto3" json:"expr,omitempty"` + // The index in `values` of the resulting value. + Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *EvalState_Result) Reset() { + *x = EvalState_Result{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_eval_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EvalState_Result) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvalState_Result) ProtoMessage() {} + +func (x *EvalState_Result) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_eval_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 EvalState_Result.ProtoReflect.Descriptor instead. +func (*EvalState_Result) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_eval_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *EvalState_Result) GetExpr() int64 { + if x != nil { + return x.Expr + } + return 0 +} + +func (x *EvalState_Result) GetValue() int64 { + if x != nil { + return x.Value + } + return 0 +} + +var File_google_api_expr_v1alpha1_eval_proto protoreflect.FileDescriptor + +var file_google_api_expr_v1alpha1_eval_proto_rawDesc = []byte{ + 0x0a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, + 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, + 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, + 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, + 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc2, + 0x01, 0x0a, 0x09, 0x45, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x06, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x07, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, + 0x32, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x78, 0x70, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0xca, 0x01, 0x0a, 0x09, 0x45, 0x78, 0x70, 0x72, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x37, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, + 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x40, 0x0a, 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, + 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x22, 0x36, 0x0a, 0x08, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x06, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x22, 0x0a, 0x0a, 0x55, 0x6e, 0x6b, 0x6e, + 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x42, 0x6c, 0x0a, 0x1c, + 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, + 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x09, 0x45, 0x76, + 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x3b, 0x65, 0x78, 0x70, 0x72, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_google_api_expr_v1alpha1_eval_proto_rawDescOnce sync.Once + file_google_api_expr_v1alpha1_eval_proto_rawDescData = file_google_api_expr_v1alpha1_eval_proto_rawDesc +) + +func file_google_api_expr_v1alpha1_eval_proto_rawDescGZIP() []byte { + file_google_api_expr_v1alpha1_eval_proto_rawDescOnce.Do(func() { + file_google_api_expr_v1alpha1_eval_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_expr_v1alpha1_eval_proto_rawDescData) + }) + return file_google_api_expr_v1alpha1_eval_proto_rawDescData +} + +var file_google_api_expr_v1alpha1_eval_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_google_api_expr_v1alpha1_eval_proto_goTypes = []interface{}{ + (*EvalState)(nil), // 0: google.api.expr.v1alpha1.EvalState + (*ExprValue)(nil), // 1: google.api.expr.v1alpha1.ExprValue + (*ErrorSet)(nil), // 2: google.api.expr.v1alpha1.ErrorSet + (*UnknownSet)(nil), // 3: google.api.expr.v1alpha1.UnknownSet + (*EvalState_Result)(nil), // 4: google.api.expr.v1alpha1.EvalState.Result + (*Value)(nil), // 5: google.api.expr.v1alpha1.Value + (*status.Status)(nil), // 6: google.rpc.Status +} +var file_google_api_expr_v1alpha1_eval_proto_depIdxs = []int32{ + 1, // 0: google.api.expr.v1alpha1.EvalState.values:type_name -> google.api.expr.v1alpha1.ExprValue + 4, // 1: google.api.expr.v1alpha1.EvalState.results:type_name -> google.api.expr.v1alpha1.EvalState.Result + 5, // 2: google.api.expr.v1alpha1.ExprValue.value:type_name -> google.api.expr.v1alpha1.Value + 2, // 3: google.api.expr.v1alpha1.ExprValue.error:type_name -> google.api.expr.v1alpha1.ErrorSet + 3, // 4: google.api.expr.v1alpha1.ExprValue.unknown:type_name -> google.api.expr.v1alpha1.UnknownSet + 6, // 5: google.api.expr.v1alpha1.ErrorSet.errors:type_name -> google.rpc.Status + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { file_google_api_expr_v1alpha1_eval_proto_init() } +func file_google_api_expr_v1alpha1_eval_proto_init() { + if File_google_api_expr_v1alpha1_eval_proto != nil { + return + } + file_google_api_expr_v1alpha1_value_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_api_expr_v1alpha1_eval_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EvalState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_eval_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExprValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_eval_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ErrorSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_eval_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnknownSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_eval_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EvalState_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_api_expr_v1alpha1_eval_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*ExprValue_Value)(nil), + (*ExprValue_Error)(nil), + (*ExprValue_Unknown)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_api_expr_v1alpha1_eval_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_api_expr_v1alpha1_eval_proto_goTypes, + DependencyIndexes: file_google_api_expr_v1alpha1_eval_proto_depIdxs, + MessageInfos: file_google_api_expr_v1alpha1_eval_proto_msgTypes, + }.Build() + File_google_api_expr_v1alpha1_eval_proto = out.File + file_google_api_expr_v1alpha1_eval_proto_rawDesc = nil + file_google_api_expr_v1alpha1_eval_proto_goTypes = nil + file_google_api_expr_v1alpha1_eval_proto_depIdxs = nil +} diff --git a/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/explain.pb.go b/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/explain.pb.go new file mode 100644 index 000000000..57aaa2c9f --- /dev/null +++ b/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/explain.pb.go @@ -0,0 +1,275 @@ +// 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v4.24.4 +// source: google/api/expr/v1alpha1/explain.proto + +package expr + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +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) +) + +// Values of intermediate expressions produced when evaluating expression. +// Deprecated, use `EvalState` instead. +// +// Deprecated: Do not use. +type Explain struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // All of the observed values. + // + // The field value_index is an index in the values list. + // Separating values from steps is needed to remove redundant values. + Values []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` + // List of steps. + // + // Repeated evaluations of the same expression generate new ExprStep + // instances. The order of such ExprStep instances matches the order of + // elements returned by Comprehension.iter_range. + ExprSteps []*Explain_ExprStep `protobuf:"bytes,2,rep,name=expr_steps,json=exprSteps,proto3" json:"expr_steps,omitempty"` +} + +func (x *Explain) Reset() { + *x = Explain{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_explain_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Explain) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Explain) ProtoMessage() {} + +func (x *Explain) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_explain_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 Explain.ProtoReflect.Descriptor instead. +func (*Explain) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_explain_proto_rawDescGZIP(), []int{0} +} + +func (x *Explain) GetValues() []*Value { + if x != nil { + return x.Values + } + return nil +} + +func (x *Explain) GetExprSteps() []*Explain_ExprStep { + if x != nil { + return x.ExprSteps + } + return nil +} + +// ID and value index of one step. +type Explain_ExprStep struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // ID of corresponding Expr node. + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // Index of the value in the values list. + ValueIndex int32 `protobuf:"varint,2,opt,name=value_index,json=valueIndex,proto3" json:"value_index,omitempty"` +} + +func (x *Explain_ExprStep) Reset() { + *x = Explain_ExprStep{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_explain_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Explain_ExprStep) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Explain_ExprStep) ProtoMessage() {} + +func (x *Explain_ExprStep) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_explain_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 Explain_ExprStep.ProtoReflect.Descriptor instead. +func (*Explain_ExprStep) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_explain_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *Explain_ExprStep) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *Explain_ExprStep) GetValueIndex() int32 { + if x != nil { + return x.ValueIndex + } + return 0 +} + +var File_google_api_expr_v1alpha1_explain_proto protoreflect.FileDescriptor + +var file_google_api_expr_v1alpha1_explain_proto_rawDesc = []byte{ + 0x0a, 0x26, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, + 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61, + 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, + 0x78, 0x70, 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xce, 0x01, 0x0a, 0x07, 0x45, 0x78, 0x70, + 0x6c, 0x61, 0x69, 0x6e, 0x12, 0x37, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x49, 0x0a, + 0x0a, 0x65, 0x78, 0x70, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, + 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, + 0x6c, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x53, 0x74, 0x65, 0x70, 0x52, 0x09, 0x65, + 0x78, 0x70, 0x72, 0x53, 0x74, 0x65, 0x70, 0x73, 0x1a, 0x3b, 0x0a, 0x08, 0x45, 0x78, 0x70, 0x72, + 0x53, 0x74, 0x65, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x3a, 0x02, 0x18, 0x01, 0x42, 0x6f, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0c, 0x45, 0x78, 0x70, 0x6c, 0x61, + 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x3b, 0x65, 0x78, 0x70, 0x72, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_google_api_expr_v1alpha1_explain_proto_rawDescOnce sync.Once + file_google_api_expr_v1alpha1_explain_proto_rawDescData = file_google_api_expr_v1alpha1_explain_proto_rawDesc +) + +func file_google_api_expr_v1alpha1_explain_proto_rawDescGZIP() []byte { + file_google_api_expr_v1alpha1_explain_proto_rawDescOnce.Do(func() { + file_google_api_expr_v1alpha1_explain_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_expr_v1alpha1_explain_proto_rawDescData) + }) + return file_google_api_expr_v1alpha1_explain_proto_rawDescData +} + +var file_google_api_expr_v1alpha1_explain_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_google_api_expr_v1alpha1_explain_proto_goTypes = []interface{}{ + (*Explain)(nil), // 0: google.api.expr.v1alpha1.Explain + (*Explain_ExprStep)(nil), // 1: google.api.expr.v1alpha1.Explain.ExprStep + (*Value)(nil), // 2: google.api.expr.v1alpha1.Value +} +var file_google_api_expr_v1alpha1_explain_proto_depIdxs = []int32{ + 2, // 0: google.api.expr.v1alpha1.Explain.values:type_name -> google.api.expr.v1alpha1.Value + 1, // 1: google.api.expr.v1alpha1.Explain.expr_steps:type_name -> google.api.expr.v1alpha1.Explain.ExprStep + 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_google_api_expr_v1alpha1_explain_proto_init() } +func file_google_api_expr_v1alpha1_explain_proto_init() { + if File_google_api_expr_v1alpha1_explain_proto != nil { + return + } + file_google_api_expr_v1alpha1_value_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_api_expr_v1alpha1_explain_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Explain); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_explain_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Explain_ExprStep); 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_google_api_expr_v1alpha1_explain_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_api_expr_v1alpha1_explain_proto_goTypes, + DependencyIndexes: file_google_api_expr_v1alpha1_explain_proto_depIdxs, + MessageInfos: file_google_api_expr_v1alpha1_explain_proto_msgTypes, + }.Build() + File_google_api_expr_v1alpha1_explain_proto = out.File + file_google_api_expr_v1alpha1_explain_proto_rawDesc = nil + file_google_api_expr_v1alpha1_explain_proto_goTypes = nil + file_google_api_expr_v1alpha1_explain_proto_depIdxs = nil +} diff --git a/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/syntax.pb.go b/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/syntax.pb.go new file mode 100644 index 000000000..c90c6015d --- /dev/null +++ b/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/syntax.pb.go @@ -0,0 +1,2040 @@ +// 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v4.24.4 +// source: google/api/expr/v1alpha1/syntax.proto + +package expr + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + structpb "google.golang.org/protobuf/types/known/structpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +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) +) + +// CEL component specifier. +type SourceInfo_Extension_Component int32 + +const ( + // Unspecified, default. + SourceInfo_Extension_COMPONENT_UNSPECIFIED SourceInfo_Extension_Component = 0 + // Parser. Converts a CEL string to an AST. + SourceInfo_Extension_COMPONENT_PARSER SourceInfo_Extension_Component = 1 + // Type checker. Checks that references in an AST are defined and types + // agree. + SourceInfo_Extension_COMPONENT_TYPE_CHECKER SourceInfo_Extension_Component = 2 + // Runtime. Evaluates a parsed and optionally checked CEL AST against a + // context. + SourceInfo_Extension_COMPONENT_RUNTIME SourceInfo_Extension_Component = 3 +) + +// Enum value maps for SourceInfo_Extension_Component. +var ( + SourceInfo_Extension_Component_name = map[int32]string{ + 0: "COMPONENT_UNSPECIFIED", + 1: "COMPONENT_PARSER", + 2: "COMPONENT_TYPE_CHECKER", + 3: "COMPONENT_RUNTIME", + } + SourceInfo_Extension_Component_value = map[string]int32{ + "COMPONENT_UNSPECIFIED": 0, + "COMPONENT_PARSER": 1, + "COMPONENT_TYPE_CHECKER": 2, + "COMPONENT_RUNTIME": 3, + } +) + +func (x SourceInfo_Extension_Component) Enum() *SourceInfo_Extension_Component { + p := new(SourceInfo_Extension_Component) + *p = x + return p +} + +func (x SourceInfo_Extension_Component) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SourceInfo_Extension_Component) Descriptor() protoreflect.EnumDescriptor { + return file_google_api_expr_v1alpha1_syntax_proto_enumTypes[0].Descriptor() +} + +func (SourceInfo_Extension_Component) Type() protoreflect.EnumType { + return &file_google_api_expr_v1alpha1_syntax_proto_enumTypes[0] +} + +func (x SourceInfo_Extension_Component) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SourceInfo_Extension_Component.Descriptor instead. +func (SourceInfo_Extension_Component) EnumDescriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{3, 0, 0} +} + +// An expression together with source information as returned by the parser. +type ParsedExpr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The parsed expression. + Expr *Expr `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` + // The source info derived from input that generated the parsed `expr`. + SourceInfo *SourceInfo `protobuf:"bytes,3,opt,name=source_info,json=sourceInfo,proto3" json:"source_info,omitempty"` +} + +func (x *ParsedExpr) Reset() { + *x = ParsedExpr{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ParsedExpr) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ParsedExpr) ProtoMessage() {} + +func (x *ParsedExpr) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_syntax_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 ParsedExpr.ProtoReflect.Descriptor instead. +func (*ParsedExpr) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{0} +} + +func (x *ParsedExpr) GetExpr() *Expr { + if x != nil { + return x.Expr + } + return nil +} + +func (x *ParsedExpr) GetSourceInfo() *SourceInfo { + if x != nil { + return x.SourceInfo + } + return nil +} + +// An abstract representation of a common expression. +// +// Expressions are abstractly represented as a collection of identifiers, +// select statements, function calls, literals, and comprehensions. All +// operators with the exception of the '.' operator are modelled as function +// calls. This makes it easy to represent new operators into the existing AST. +// +// All references within expressions must resolve to a +// [Decl][google.api.expr.v1alpha1.Decl] provided at type-check for an +// expression to be valid. A reference may either be a bare identifier `name` or +// a qualified identifier `google.api.name`. References may either refer to a +// value or a function declaration. +// +// For example, the expression `google.api.name.startsWith('expr')` references +// the declaration `google.api.name` within a +// [Expr.Select][google.api.expr.v1alpha1.Expr.Select] expression, and the +// function declaration `startsWith`. +type Expr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. An id assigned to this node by the parser which is unique in a + // given expression tree. This is used to associate type information and other + // attributes to a node in the parse tree. + Id int64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` + // Required. Variants of expressions. + // + // Types that are assignable to ExprKind: + // + // *Expr_ConstExpr + // *Expr_IdentExpr + // *Expr_SelectExpr + // *Expr_CallExpr + // *Expr_ListExpr + // *Expr_StructExpr + // *Expr_ComprehensionExpr + ExprKind isExpr_ExprKind `protobuf_oneof:"expr_kind"` +} + +func (x *Expr) Reset() { + *x = Expr{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expr) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expr) ProtoMessage() {} + +func (x *Expr) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_syntax_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 Expr.ProtoReflect.Descriptor instead. +func (*Expr) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1} +} + +func (x *Expr) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (m *Expr) GetExprKind() isExpr_ExprKind { + if m != nil { + return m.ExprKind + } + return nil +} + +func (x *Expr) GetConstExpr() *Constant { + if x, ok := x.GetExprKind().(*Expr_ConstExpr); ok { + return x.ConstExpr + } + return nil +} + +func (x *Expr) GetIdentExpr() *Expr_Ident { + if x, ok := x.GetExprKind().(*Expr_IdentExpr); ok { + return x.IdentExpr + } + return nil +} + +func (x *Expr) GetSelectExpr() *Expr_Select { + if x, ok := x.GetExprKind().(*Expr_SelectExpr); ok { + return x.SelectExpr + } + return nil +} + +func (x *Expr) GetCallExpr() *Expr_Call { + if x, ok := x.GetExprKind().(*Expr_CallExpr); ok { + return x.CallExpr + } + return nil +} + +func (x *Expr) GetListExpr() *Expr_CreateList { + if x, ok := x.GetExprKind().(*Expr_ListExpr); ok { + return x.ListExpr + } + return nil +} + +func (x *Expr) GetStructExpr() *Expr_CreateStruct { + if x, ok := x.GetExprKind().(*Expr_StructExpr); ok { + return x.StructExpr + } + return nil +} + +func (x *Expr) GetComprehensionExpr() *Expr_Comprehension { + if x, ok := x.GetExprKind().(*Expr_ComprehensionExpr); ok { + return x.ComprehensionExpr + } + return nil +} + +type isExpr_ExprKind interface { + isExpr_ExprKind() +} + +type Expr_ConstExpr struct { + // A literal expression. + ConstExpr *Constant `protobuf:"bytes,3,opt,name=const_expr,json=constExpr,proto3,oneof"` +} + +type Expr_IdentExpr struct { + // An identifier expression. + IdentExpr *Expr_Ident `protobuf:"bytes,4,opt,name=ident_expr,json=identExpr,proto3,oneof"` +} + +type Expr_SelectExpr struct { + // A field selection expression, e.g. `request.auth`. + SelectExpr *Expr_Select `protobuf:"bytes,5,opt,name=select_expr,json=selectExpr,proto3,oneof"` +} + +type Expr_CallExpr struct { + // A call expression, including calls to predefined functions and operators. + CallExpr *Expr_Call `protobuf:"bytes,6,opt,name=call_expr,json=callExpr,proto3,oneof"` +} + +type Expr_ListExpr struct { + // A list creation expression. + ListExpr *Expr_CreateList `protobuf:"bytes,7,opt,name=list_expr,json=listExpr,proto3,oneof"` +} + +type Expr_StructExpr struct { + // A map or message creation expression. + StructExpr *Expr_CreateStruct `protobuf:"bytes,8,opt,name=struct_expr,json=structExpr,proto3,oneof"` +} + +type Expr_ComprehensionExpr struct { + // A comprehension expression. + ComprehensionExpr *Expr_Comprehension `protobuf:"bytes,9,opt,name=comprehension_expr,json=comprehensionExpr,proto3,oneof"` +} + +func (*Expr_ConstExpr) isExpr_ExprKind() {} + +func (*Expr_IdentExpr) isExpr_ExprKind() {} + +func (*Expr_SelectExpr) isExpr_ExprKind() {} + +func (*Expr_CallExpr) isExpr_ExprKind() {} + +func (*Expr_ListExpr) isExpr_ExprKind() {} + +func (*Expr_StructExpr) isExpr_ExprKind() {} + +func (*Expr_ComprehensionExpr) isExpr_ExprKind() {} + +// Represents a primitive literal. +// +// Named 'Constant' here for backwards compatibility. +// +// This is similar as the primitives supported in the well-known type +// `google.protobuf.Value`, but richer so it can represent CEL's full range of +// primitives. +// +// Lists and structs are not included as constants as these aggregate types may +// contain [Expr][google.api.expr.v1alpha1.Expr] elements which require +// evaluation and are thus not constant. +// +// Examples of literals include: `"hello"`, `b'bytes'`, `1u`, `4.2`, `-2`, +// `true`, `null`. +type Constant struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The valid constant kinds. + // + // Types that are assignable to ConstantKind: + // + // *Constant_NullValue + // *Constant_BoolValue + // *Constant_Int64Value + // *Constant_Uint64Value + // *Constant_DoubleValue + // *Constant_StringValue + // *Constant_BytesValue + // *Constant_DurationValue + // *Constant_TimestampValue + ConstantKind isConstant_ConstantKind `protobuf_oneof:"constant_kind"` +} + +func (x *Constant) Reset() { + *x = Constant{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Constant) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Constant) ProtoMessage() {} + +func (x *Constant) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_syntax_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 Constant.ProtoReflect.Descriptor instead. +func (*Constant) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{2} +} + +func (m *Constant) GetConstantKind() isConstant_ConstantKind { + if m != nil { + return m.ConstantKind + } + return nil +} + +func (x *Constant) GetNullValue() structpb.NullValue { + if x, ok := x.GetConstantKind().(*Constant_NullValue); ok { + return x.NullValue + } + return structpb.NullValue_NULL_VALUE +} + +func (x *Constant) GetBoolValue() bool { + if x, ok := x.GetConstantKind().(*Constant_BoolValue); ok { + return x.BoolValue + } + return false +} + +func (x *Constant) GetInt64Value() int64 { + if x, ok := x.GetConstantKind().(*Constant_Int64Value); ok { + return x.Int64Value + } + return 0 +} + +func (x *Constant) GetUint64Value() uint64 { + if x, ok := x.GetConstantKind().(*Constant_Uint64Value); ok { + return x.Uint64Value + } + return 0 +} + +func (x *Constant) GetDoubleValue() float64 { + if x, ok := x.GetConstantKind().(*Constant_DoubleValue); ok { + return x.DoubleValue + } + return 0 +} + +func (x *Constant) GetStringValue() string { + if x, ok := x.GetConstantKind().(*Constant_StringValue); ok { + return x.StringValue + } + return "" +} + +func (x *Constant) GetBytesValue() []byte { + if x, ok := x.GetConstantKind().(*Constant_BytesValue); ok { + return x.BytesValue + } + return nil +} + +// Deprecated: Do not use. +func (x *Constant) GetDurationValue() *durationpb.Duration { + if x, ok := x.GetConstantKind().(*Constant_DurationValue); ok { + return x.DurationValue + } + return nil +} + +// Deprecated: Do not use. +func (x *Constant) GetTimestampValue() *timestamppb.Timestamp { + if x, ok := x.GetConstantKind().(*Constant_TimestampValue); ok { + return x.TimestampValue + } + return nil +} + +type isConstant_ConstantKind interface { + isConstant_ConstantKind() +} + +type Constant_NullValue struct { + // null value. + NullValue structpb.NullValue `protobuf:"varint,1,opt,name=null_value,json=nullValue,proto3,enum=google.protobuf.NullValue,oneof"` +} + +type Constant_BoolValue struct { + // boolean value. + BoolValue bool `protobuf:"varint,2,opt,name=bool_value,json=boolValue,proto3,oneof"` +} + +type Constant_Int64Value struct { + // int64 value. + Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,proto3,oneof"` +} + +type Constant_Uint64Value struct { + // uint64 value. + Uint64Value uint64 `protobuf:"varint,4,opt,name=uint64_value,json=uint64Value,proto3,oneof"` +} + +type Constant_DoubleValue struct { + // double value. + DoubleValue float64 `protobuf:"fixed64,5,opt,name=double_value,json=doubleValue,proto3,oneof"` +} + +type Constant_StringValue struct { + // string value. + StringValue string `protobuf:"bytes,6,opt,name=string_value,json=stringValue,proto3,oneof"` +} + +type Constant_BytesValue struct { + // bytes value. + BytesValue []byte `protobuf:"bytes,7,opt,name=bytes_value,json=bytesValue,proto3,oneof"` +} + +type Constant_DurationValue struct { + // protobuf.Duration value. + // + // Deprecated: duration is no longer considered a builtin cel type. + // + // Deprecated: Do not use. + DurationValue *durationpb.Duration `protobuf:"bytes,8,opt,name=duration_value,json=durationValue,proto3,oneof"` +} + +type Constant_TimestampValue struct { + // protobuf.Timestamp value. + // + // Deprecated: timestamp is no longer considered a builtin cel type. + // + // Deprecated: Do not use. + TimestampValue *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=timestamp_value,json=timestampValue,proto3,oneof"` +} + +func (*Constant_NullValue) isConstant_ConstantKind() {} + +func (*Constant_BoolValue) isConstant_ConstantKind() {} + +func (*Constant_Int64Value) isConstant_ConstantKind() {} + +func (*Constant_Uint64Value) isConstant_ConstantKind() {} + +func (*Constant_DoubleValue) isConstant_ConstantKind() {} + +func (*Constant_StringValue) isConstant_ConstantKind() {} + +func (*Constant_BytesValue) isConstant_ConstantKind() {} + +func (*Constant_DurationValue) isConstant_ConstantKind() {} + +func (*Constant_TimestampValue) isConstant_ConstantKind() {} + +// Source information collected at parse time. +type SourceInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The syntax version of the source, e.g. `cel1`. + SyntaxVersion string `protobuf:"bytes,1,opt,name=syntax_version,json=syntaxVersion,proto3" json:"syntax_version,omitempty"` + // The location name. All position information attached to an expression is + // relative to this location. + // + // The location could be a file, UI element, or similar. For example, + // `acme/app/AnvilPolicy.cel`. + Location string `protobuf:"bytes,2,opt,name=location,proto3" json:"location,omitempty"` + // Monotonically increasing list of code point offsets where newlines + // `\n` appear. + // + // The line number of a given position is the index `i` where for a given + // `id` the `line_offsets[i] < id_positions[id] < line_offsets[i+1]`. The + // column may be derivd from `id_positions[id] - line_offsets[i]`. + LineOffsets []int32 `protobuf:"varint,3,rep,packed,name=line_offsets,json=lineOffsets,proto3" json:"line_offsets,omitempty"` + // A map from the parse node id (e.g. `Expr.id`) to the code point offset + // within the source. + Positions map[int64]int32 `protobuf:"bytes,4,rep,name=positions,proto3" json:"positions,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + // A map from the parse node id where a macro replacement was made to the + // call `Expr` that resulted in a macro expansion. + // + // For example, `has(value.field)` is a function call that is replaced by a + // `test_only` field selection in the AST. Likewise, the call + // `list.exists(e, e > 10)` translates to a comprehension expression. The key + // in the map corresponds to the expression id of the expanded macro, and the + // value is the call `Expr` that was replaced. + MacroCalls map[int64]*Expr `protobuf:"bytes,5,rep,name=macro_calls,json=macroCalls,proto3" json:"macro_calls,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of tags for extensions that were used while parsing or type checking + // the source expression. For example, optimizations that require special + // runtime support may be specified. + // + // These are used to check feature support between components in separate + // implementations. This can be used to either skip redundant work or + // report an error if the extension is unsupported. + Extensions []*SourceInfo_Extension `protobuf:"bytes,6,rep,name=extensions,proto3" json:"extensions,omitempty"` +} + +func (x *SourceInfo) Reset() { + *x = SourceInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SourceInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SourceInfo) ProtoMessage() {} + +func (x *SourceInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_syntax_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 SourceInfo.ProtoReflect.Descriptor instead. +func (*SourceInfo) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{3} +} + +func (x *SourceInfo) GetSyntaxVersion() string { + if x != nil { + return x.SyntaxVersion + } + return "" +} + +func (x *SourceInfo) GetLocation() string { + if x != nil { + return x.Location + } + return "" +} + +func (x *SourceInfo) GetLineOffsets() []int32 { + if x != nil { + return x.LineOffsets + } + return nil +} + +func (x *SourceInfo) GetPositions() map[int64]int32 { + if x != nil { + return x.Positions + } + return nil +} + +func (x *SourceInfo) GetMacroCalls() map[int64]*Expr { + if x != nil { + return x.MacroCalls + } + return nil +} + +func (x *SourceInfo) GetExtensions() []*SourceInfo_Extension { + if x != nil { + return x.Extensions + } + return nil +} + +// A specific position in source. +type SourcePosition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The soucre location name (e.g. file name). + Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"` + // The UTF-8 code unit offset. + Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` + // The 1-based index of the starting line in the source text + // where the issue occurs, or 0 if unknown. + Line int32 `protobuf:"varint,3,opt,name=line,proto3" json:"line,omitempty"` + // The 0-based index of the starting position within the line of source text + // where the issue occurs. Only meaningful if line is nonzero. + Column int32 `protobuf:"varint,4,opt,name=column,proto3" json:"column,omitempty"` +} + +func (x *SourcePosition) Reset() { + *x = SourcePosition{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SourcePosition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SourcePosition) ProtoMessage() {} + +func (x *SourcePosition) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_syntax_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 SourcePosition.ProtoReflect.Descriptor instead. +func (*SourcePosition) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{4} +} + +func (x *SourcePosition) GetLocation() string { + if x != nil { + return x.Location + } + return "" +} + +func (x *SourcePosition) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + +func (x *SourcePosition) GetLine() int32 { + if x != nil { + return x.Line + } + return 0 +} + +func (x *SourcePosition) GetColumn() int32 { + if x != nil { + return x.Column + } + return 0 +} + +// An identifier expression. e.g. `request`. +type Expr_Ident struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Holds a single, unqualified identifier, possibly preceded by a + // '.'. + // + // Qualified names are represented by the + // [Expr.Select][google.api.expr.v1alpha1.Expr.Select] expression. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *Expr_Ident) Reset() { + *x = Expr_Ident{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expr_Ident) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expr_Ident) ProtoMessage() {} + +func (x *Expr_Ident) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[5] + 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 Expr_Ident.ProtoReflect.Descriptor instead. +func (*Expr_Ident) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *Expr_Ident) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// A field selection expression. e.g. `request.auth`. +type Expr_Select struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The target of the selection expression. + // + // For example, in the select expression `request.auth`, the `request` + // portion of the expression is the `operand`. + Operand *Expr `protobuf:"bytes,1,opt,name=operand,proto3" json:"operand,omitempty"` + // Required. The name of the field to select. + // + // For example, in the select expression `request.auth`, the `auth` portion + // of the expression would be the `field`. + Field string `protobuf:"bytes,2,opt,name=field,proto3" json:"field,omitempty"` + // Whether the select is to be interpreted as a field presence test. + // + // This results from the macro `has(request.auth)`. + TestOnly bool `protobuf:"varint,3,opt,name=test_only,json=testOnly,proto3" json:"test_only,omitempty"` +} + +func (x *Expr_Select) Reset() { + *x = Expr_Select{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expr_Select) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expr_Select) ProtoMessage() {} + +func (x *Expr_Select) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[6] + 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 Expr_Select.ProtoReflect.Descriptor instead. +func (*Expr_Select) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 1} +} + +func (x *Expr_Select) GetOperand() *Expr { + if x != nil { + return x.Operand + } + return nil +} + +func (x *Expr_Select) GetField() string { + if x != nil { + return x.Field + } + return "" +} + +func (x *Expr_Select) GetTestOnly() bool { + if x != nil { + return x.TestOnly + } + return false +} + +// A call expression, including calls to predefined functions and operators. +// +// For example, `value == 10`, `size(map_value)`. +type Expr_Call struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The target of an method call-style expression. For example, `x` in + // `x.f()`. + Target *Expr `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` + // Required. The name of the function or method being called. + Function string `protobuf:"bytes,2,opt,name=function,proto3" json:"function,omitempty"` + // The arguments. + Args []*Expr `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` +} + +func (x *Expr_Call) Reset() { + *x = Expr_Call{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expr_Call) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expr_Call) ProtoMessage() {} + +func (x *Expr_Call) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[7] + 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 Expr_Call.ProtoReflect.Descriptor instead. +func (*Expr_Call) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 2} +} + +func (x *Expr_Call) GetTarget() *Expr { + if x != nil { + return x.Target + } + return nil +} + +func (x *Expr_Call) GetFunction() string { + if x != nil { + return x.Function + } + return "" +} + +func (x *Expr_Call) GetArgs() []*Expr { + if x != nil { + return x.Args + } + return nil +} + +// A list creation expression. +// +// Lists may either be homogenous, e.g. `[1, 2, 3]`, or heterogeneous, e.g. +// `dyn([1, 'hello', 2.0])` +type Expr_CreateList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The elements part of the list. + Elements []*Expr `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"` + // The indices within the elements list which are marked as optional + // elements. + // + // When an optional-typed value is present, the value it contains + // is included in the list. If the optional-typed value is absent, the list + // element is omitted from the CreateList result. + OptionalIndices []int32 `protobuf:"varint,2,rep,packed,name=optional_indices,json=optionalIndices,proto3" json:"optional_indices,omitempty"` +} + +func (x *Expr_CreateList) Reset() { + *x = Expr_CreateList{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expr_CreateList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expr_CreateList) ProtoMessage() {} + +func (x *Expr_CreateList) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[8] + 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 Expr_CreateList.ProtoReflect.Descriptor instead. +func (*Expr_CreateList) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 3} +} + +func (x *Expr_CreateList) GetElements() []*Expr { + if x != nil { + return x.Elements + } + return nil +} + +func (x *Expr_CreateList) GetOptionalIndices() []int32 { + if x != nil { + return x.OptionalIndices + } + return nil +} + +// A map or message creation expression. +// +// Maps are constructed as `{'key_name': 'value'}`. Message construction is +// similar, but prefixed with a type name and composed of field ids: +// `types.MyType{field_id: 'value'}`. +type Expr_CreateStruct struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The type name of the message to be created, empty when creating map + // literals. + MessageName string `protobuf:"bytes,1,opt,name=message_name,json=messageName,proto3" json:"message_name,omitempty"` + // The entries in the creation expression. + Entries []*Expr_CreateStruct_Entry `protobuf:"bytes,2,rep,name=entries,proto3" json:"entries,omitempty"` +} + +func (x *Expr_CreateStruct) Reset() { + *x = Expr_CreateStruct{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expr_CreateStruct) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expr_CreateStruct) ProtoMessage() {} + +func (x *Expr_CreateStruct) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[9] + 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 Expr_CreateStruct.ProtoReflect.Descriptor instead. +func (*Expr_CreateStruct) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 4} +} + +func (x *Expr_CreateStruct) GetMessageName() string { + if x != nil { + return x.MessageName + } + return "" +} + +func (x *Expr_CreateStruct) GetEntries() []*Expr_CreateStruct_Entry { + if x != nil { + return x.Entries + } + return nil +} + +// A comprehension expression applied to a list or map. +// +// Comprehensions are not part of the core syntax, but enabled with macros. +// A macro matches a specific call signature within a parsed AST and replaces +// the call with an alternate AST block. Macro expansion happens at parse +// time. +// +// The following macros are supported within CEL: +// +// Aggregate type macros may be applied to all elements in a list or all keys +// in a map: +// +// - `all`, `exists`, `exists_one` - test a predicate expression against +// the inputs and return `true` if the predicate is satisfied for all, +// any, or only one value `list.all(x, x < 10)`. +// - `filter` - test a predicate expression against the inputs and return +// the subset of elements which satisfy the predicate: +// `payments.filter(p, p > 1000)`. +// - `map` - apply an expression to all elements in the input and return the +// output aggregate type: `[1, 2, 3].map(i, i * i)`. +// +// The `has(m.x)` macro tests whether the property `x` is present in struct +// `m`. The semantics of this macro depend on the type of `m`. For proto2 +// messages `has(m.x)` is defined as 'defined, but not set`. For proto3, the +// macro tests whether the property is set to its default. For map and struct +// types, the macro tests whether the property `x` is defined on `m`. +// +// Comprehensions for the standard environment macros evaluation can be best +// visualized as the following pseudocode: +// +// ``` +// let `accu_var` = `accu_init` +// +// for (let `iter_var` in `iter_range`) { +// if (!`loop_condition`) { +// break +// } +// `accu_var` = `loop_step` +// } +// +// return `result` +// ``` +// +// Comprehensions for the optional V2 macros which support map-to-map +// translation differ slightly from the standard environment macros in that +// they expose both the key or index in addition to the value for each list +// or map entry: +// +// ``` +// let `accu_var` = `accu_init` +// +// for (let `iter_var`, `iter_var2` in `iter_range`) { +// if (!`loop_condition`) { +// break +// } +// `accu_var` = `loop_step` +// } +// +// return `result` +// ``` +type Expr_Comprehension struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the first iteration variable. + // When the iter_range is a list, this variable is the list element. + // When the iter_range is a map, this variable is the map entry key. + IterVar string `protobuf:"bytes,1,opt,name=iter_var,json=iterVar,proto3" json:"iter_var,omitempty"` + // The name of the second iteration variable, empty if not set. + // When the iter_range is a list, this variable is the integer index. + // When the iter_range is a map, this variable is the map entry value. + // This field is only set for comprehension v2 macros. + IterVar2 string `protobuf:"bytes,8,opt,name=iter_var2,json=iterVar2,proto3" json:"iter_var2,omitempty"` + // The range over which the comprehension iterates. + IterRange *Expr `protobuf:"bytes,2,opt,name=iter_range,json=iterRange,proto3" json:"iter_range,omitempty"` + // The name of the variable used for accumulation of the result. + AccuVar string `protobuf:"bytes,3,opt,name=accu_var,json=accuVar,proto3" json:"accu_var,omitempty"` + // The initial value of the accumulator. + AccuInit *Expr `protobuf:"bytes,4,opt,name=accu_init,json=accuInit,proto3" json:"accu_init,omitempty"` + // An expression which can contain iter_var, iter_var2, and accu_var. + // + // Returns false when the result has been computed and may be used as + // a hint to short-circuit the remainder of the comprehension. + LoopCondition *Expr `protobuf:"bytes,5,opt,name=loop_condition,json=loopCondition,proto3" json:"loop_condition,omitempty"` + // An expression which can contain iter_var, iter_var2, and accu_var. + // + // Computes the next value of accu_var. + LoopStep *Expr `protobuf:"bytes,6,opt,name=loop_step,json=loopStep,proto3" json:"loop_step,omitempty"` + // An expression which can contain accu_var. + // + // Computes the result. + Result *Expr `protobuf:"bytes,7,opt,name=result,proto3" json:"result,omitempty"` +} + +func (x *Expr_Comprehension) Reset() { + *x = Expr_Comprehension{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expr_Comprehension) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expr_Comprehension) ProtoMessage() {} + +func (x *Expr_Comprehension) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[10] + 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 Expr_Comprehension.ProtoReflect.Descriptor instead. +func (*Expr_Comprehension) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 5} +} + +func (x *Expr_Comprehension) GetIterVar() string { + if x != nil { + return x.IterVar + } + return "" +} + +func (x *Expr_Comprehension) GetIterVar2() string { + if x != nil { + return x.IterVar2 + } + return "" +} + +func (x *Expr_Comprehension) GetIterRange() *Expr { + if x != nil { + return x.IterRange + } + return nil +} + +func (x *Expr_Comprehension) GetAccuVar() string { + if x != nil { + return x.AccuVar + } + return "" +} + +func (x *Expr_Comprehension) GetAccuInit() *Expr { + if x != nil { + return x.AccuInit + } + return nil +} + +func (x *Expr_Comprehension) GetLoopCondition() *Expr { + if x != nil { + return x.LoopCondition + } + return nil +} + +func (x *Expr_Comprehension) GetLoopStep() *Expr { + if x != nil { + return x.LoopStep + } + return nil +} + +func (x *Expr_Comprehension) GetResult() *Expr { + if x != nil { + return x.Result + } + return nil +} + +// Represents an entry. +type Expr_CreateStruct_Entry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. An id assigned to this node by the parser which is unique + // in a given expression tree. This is used to associate type + // information and other attributes to the node. + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // The `Entry` key kinds. + // + // Types that are assignable to KeyKind: + // + // *Expr_CreateStruct_Entry_FieldKey + // *Expr_CreateStruct_Entry_MapKey + KeyKind isExpr_CreateStruct_Entry_KeyKind `protobuf_oneof:"key_kind"` + // Required. The value assigned to the key. + // + // If the optional_entry field is true, the expression must resolve to an + // optional-typed value. If the optional value is present, the key will be + // set; however, if the optional value is absent, the key will be unset. + Value *Expr `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"` + // Whether the key-value pair is optional. + OptionalEntry bool `protobuf:"varint,5,opt,name=optional_entry,json=optionalEntry,proto3" json:"optional_entry,omitempty"` +} + +func (x *Expr_CreateStruct_Entry) Reset() { + *x = Expr_CreateStruct_Entry{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expr_CreateStruct_Entry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expr_CreateStruct_Entry) ProtoMessage() {} + +func (x *Expr_CreateStruct_Entry) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[11] + 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 Expr_CreateStruct_Entry.ProtoReflect.Descriptor instead. +func (*Expr_CreateStruct_Entry) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 4, 0} +} + +func (x *Expr_CreateStruct_Entry) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (m *Expr_CreateStruct_Entry) GetKeyKind() isExpr_CreateStruct_Entry_KeyKind { + if m != nil { + return m.KeyKind + } + return nil +} + +func (x *Expr_CreateStruct_Entry) GetFieldKey() string { + if x, ok := x.GetKeyKind().(*Expr_CreateStruct_Entry_FieldKey); ok { + return x.FieldKey + } + return "" +} + +func (x *Expr_CreateStruct_Entry) GetMapKey() *Expr { + if x, ok := x.GetKeyKind().(*Expr_CreateStruct_Entry_MapKey); ok { + return x.MapKey + } + return nil +} + +func (x *Expr_CreateStruct_Entry) GetValue() *Expr { + if x != nil { + return x.Value + } + return nil +} + +func (x *Expr_CreateStruct_Entry) GetOptionalEntry() bool { + if x != nil { + return x.OptionalEntry + } + return false +} + +type isExpr_CreateStruct_Entry_KeyKind interface { + isExpr_CreateStruct_Entry_KeyKind() +} + +type Expr_CreateStruct_Entry_FieldKey struct { + // The field key for a message creator statement. + FieldKey string `protobuf:"bytes,2,opt,name=field_key,json=fieldKey,proto3,oneof"` +} + +type Expr_CreateStruct_Entry_MapKey struct { + // The key expression for a map creation statement. + MapKey *Expr `protobuf:"bytes,3,opt,name=map_key,json=mapKey,proto3,oneof"` +} + +func (*Expr_CreateStruct_Entry_FieldKey) isExpr_CreateStruct_Entry_KeyKind() {} + +func (*Expr_CreateStruct_Entry_MapKey) isExpr_CreateStruct_Entry_KeyKind() {} + +// An extension that was requested for the source expression. +type SourceInfo_Extension struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifier for the extension. Example: constant_folding + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // If set, the listed components must understand the extension for the + // expression to evaluate correctly. + // + // This field has set semantics, repeated values should be deduplicated. + AffectedComponents []SourceInfo_Extension_Component `protobuf:"varint,2,rep,packed,name=affected_components,json=affectedComponents,proto3,enum=google.api.expr.v1alpha1.SourceInfo_Extension_Component" json:"affected_components,omitempty"` + // Version info. May be skipped if it isn't meaningful for the extension. + // (for example constant_folding might always be v0.0). + Version *SourceInfo_Extension_Version `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *SourceInfo_Extension) Reset() { + *x = SourceInfo_Extension{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SourceInfo_Extension) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SourceInfo_Extension) ProtoMessage() {} + +func (x *SourceInfo_Extension) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[12] + 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 SourceInfo_Extension.ProtoReflect.Descriptor instead. +func (*SourceInfo_Extension) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{3, 0} +} + +func (x *SourceInfo_Extension) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *SourceInfo_Extension) GetAffectedComponents() []SourceInfo_Extension_Component { + if x != nil { + return x.AffectedComponents + } + return nil +} + +func (x *SourceInfo_Extension) GetVersion() *SourceInfo_Extension_Version { + if x != nil { + return x.Version + } + return nil +} + +// Version +type SourceInfo_Extension_Version struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Major version changes indicate different required support level from + // the required components. + Major int64 `protobuf:"varint,1,opt,name=major,proto3" json:"major,omitempty"` + // Minor version changes must not change the observed behavior from + // existing implementations, but may be provided informationally. + Minor int64 `protobuf:"varint,2,opt,name=minor,proto3" json:"minor,omitempty"` +} + +func (x *SourceInfo_Extension_Version) Reset() { + *x = SourceInfo_Extension_Version{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SourceInfo_Extension_Version) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SourceInfo_Extension_Version) ProtoMessage() {} + +func (x *SourceInfo_Extension_Version) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[15] + 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 SourceInfo_Extension_Version.ProtoReflect.Descriptor instead. +func (*SourceInfo_Extension_Version) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{3, 0, 0} +} + +func (x *SourceInfo_Extension_Version) GetMajor() int64 { + if x != nil { + return x.Major + } + return 0 +} + +func (x *SourceInfo_Extension_Version) GetMinor() int64 { + if x != nil { + return x.Minor + } + return 0 +} + +var File_google_api_expr_v1alpha1_syntax_proto protoreflect.FileDescriptor + +var file_google_api_expr_v1alpha1_syntax_proto_rawDesc = []byte{ + 0x0a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, + 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x73, 0x79, 0x6e, 0x74, 0x61, + 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x87, 0x01, 0x0a, 0x0a, 0x50, 0x61, 0x72, 0x73, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x12, + 0x32, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x04, 0x65, + 0x78, 0x70, 0x72, 0x12, 0x45, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, + 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xcb, 0x0d, 0x0a, 0x04, 0x45, + 0x78, 0x70, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x43, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x70, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x09, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x45, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x48, 0x00, 0x52, 0x09, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, + 0x48, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x45, 0x78, 0x70, 0x72, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x42, 0x0a, 0x09, 0x63, 0x61, 0x6c, + 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x43, 0x61, 0x6c, + 0x6c, 0x48, 0x00, 0x52, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x12, 0x48, 0x0a, + 0x09, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, + 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x6c, + 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x4e, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x5d, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x72, + 0x65, 0x68, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, + 0x78, 0x70, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x68, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x68, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x1a, 0x1b, 0x0a, 0x05, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x1a, 0x75, 0x0a, 0x06, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x38, 0x0a, + 0x07, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x07, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x1a, 0x8e, 0x01, 0x0a, 0x04, 0x43, + 0x61, 0x6c, 0x6c, 0x12, 0x36, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, + 0x78, 0x70, 0x72, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x1a, 0x73, 0x0a, 0x0a, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, 0x65, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, + 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, + 0x1a, 0xdb, 0x02, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, + 0x73, 0x1a, 0xda, 0x01, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x07, 0x6d, 0x61, + 0x70, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x06, 0x6d, + 0x61, 0x70, 0x4b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x45, 0x78, 0x70, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x1a, 0x9a, + 0x03, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x68, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x69, 0x74, 0x65, 0x72, 0x56, 0x61, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x69, + 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x72, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x69, 0x74, 0x65, 0x72, 0x56, 0x61, 0x72, 0x32, 0x12, 0x3d, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x72, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x09, 0x69, 0x74, + 0x65, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x75, 0x5f, + 0x76, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x75, 0x56, + 0x61, 0x72, 0x12, 0x3b, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x75, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, 0x61, 0x63, 0x63, 0x75, 0x49, 0x6e, 0x69, 0x74, 0x12, + 0x45, 0x0a, 0x0e, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x0d, 0x6c, 0x6f, 0x6f, 0x70, 0x43, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x09, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x73, + 0x74, 0x65, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, 0x6c, 0x6f, 0x6f, 0x70, 0x53, + 0x74, 0x65, 0x70, 0x12, 0x36, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, + 0x78, 0x70, 0x72, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x65, + 0x78, 0x70, 0x72, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xc1, 0x03, 0x0a, 0x08, 0x43, 0x6f, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0a, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, + 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x64, + 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x46, 0x0a, 0x0e, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 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, 0x02, 0x18, 0x01, 0x48, + 0x00, 0x52, 0x0d, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x49, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x09, 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, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x8c, 0x07, 0x0a, + 0x0a, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x73, + 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, + 0x0a, 0x0c, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x6c, 0x69, 0x6e, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x73, 0x12, 0x51, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x5f, 0x63, 0x61, + 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, + 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x0a, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x4e, 0x0a, 0x0a, 0x65, + 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, + 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x80, 0x03, 0x0a, 0x09, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x69, 0x0a, 0x13, 0x61, 0x66, 0x66, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, + 0x52, 0x12, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x50, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x35, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x22, 0x6f, 0x0a, + 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, + 0x4d, 0x50, 0x4f, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45, + 0x4e, 0x54, 0x5f, 0x50, 0x41, 0x52, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x43, + 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x48, + 0x45, 0x43, 0x4b, 0x45, 0x52, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4d, 0x50, 0x4f, + 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x03, 0x1a, 0x3c, + 0x0a, 0x0e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5d, 0x0a, 0x0f, + 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, + 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x70, 0x0a, 0x0e, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, + 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x42, 0x6e, 0x0a, + 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0b, 0x53, + 0x79, 0x6e, 0x74, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, + 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x65, 0x78, 0x70, 0x72, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_api_expr_v1alpha1_syntax_proto_rawDescOnce sync.Once + file_google_api_expr_v1alpha1_syntax_proto_rawDescData = file_google_api_expr_v1alpha1_syntax_proto_rawDesc +) + +func file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP() []byte { + file_google_api_expr_v1alpha1_syntax_proto_rawDescOnce.Do(func() { + file_google_api_expr_v1alpha1_syntax_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_expr_v1alpha1_syntax_proto_rawDescData) + }) + return file_google_api_expr_v1alpha1_syntax_proto_rawDescData +} + +var file_google_api_expr_v1alpha1_syntax_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_api_expr_v1alpha1_syntax_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_google_api_expr_v1alpha1_syntax_proto_goTypes = []interface{}{ + (SourceInfo_Extension_Component)(0), // 0: google.api.expr.v1alpha1.SourceInfo.Extension.Component + (*ParsedExpr)(nil), // 1: google.api.expr.v1alpha1.ParsedExpr + (*Expr)(nil), // 2: google.api.expr.v1alpha1.Expr + (*Constant)(nil), // 3: google.api.expr.v1alpha1.Constant + (*SourceInfo)(nil), // 4: google.api.expr.v1alpha1.SourceInfo + (*SourcePosition)(nil), // 5: google.api.expr.v1alpha1.SourcePosition + (*Expr_Ident)(nil), // 6: google.api.expr.v1alpha1.Expr.Ident + (*Expr_Select)(nil), // 7: google.api.expr.v1alpha1.Expr.Select + (*Expr_Call)(nil), // 8: google.api.expr.v1alpha1.Expr.Call + (*Expr_CreateList)(nil), // 9: google.api.expr.v1alpha1.Expr.CreateList + (*Expr_CreateStruct)(nil), // 10: google.api.expr.v1alpha1.Expr.CreateStruct + (*Expr_Comprehension)(nil), // 11: google.api.expr.v1alpha1.Expr.Comprehension + (*Expr_CreateStruct_Entry)(nil), // 12: google.api.expr.v1alpha1.Expr.CreateStruct.Entry + (*SourceInfo_Extension)(nil), // 13: google.api.expr.v1alpha1.SourceInfo.Extension + nil, // 14: google.api.expr.v1alpha1.SourceInfo.PositionsEntry + nil, // 15: google.api.expr.v1alpha1.SourceInfo.MacroCallsEntry + (*SourceInfo_Extension_Version)(nil), // 16: google.api.expr.v1alpha1.SourceInfo.Extension.Version + (structpb.NullValue)(0), // 17: google.protobuf.NullValue + (*durationpb.Duration)(nil), // 18: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 19: google.protobuf.Timestamp +} +var file_google_api_expr_v1alpha1_syntax_proto_depIdxs = []int32{ + 2, // 0: google.api.expr.v1alpha1.ParsedExpr.expr:type_name -> google.api.expr.v1alpha1.Expr + 4, // 1: google.api.expr.v1alpha1.ParsedExpr.source_info:type_name -> google.api.expr.v1alpha1.SourceInfo + 3, // 2: google.api.expr.v1alpha1.Expr.const_expr:type_name -> google.api.expr.v1alpha1.Constant + 6, // 3: google.api.expr.v1alpha1.Expr.ident_expr:type_name -> google.api.expr.v1alpha1.Expr.Ident + 7, // 4: google.api.expr.v1alpha1.Expr.select_expr:type_name -> google.api.expr.v1alpha1.Expr.Select + 8, // 5: google.api.expr.v1alpha1.Expr.call_expr:type_name -> google.api.expr.v1alpha1.Expr.Call + 9, // 6: google.api.expr.v1alpha1.Expr.list_expr:type_name -> google.api.expr.v1alpha1.Expr.CreateList + 10, // 7: google.api.expr.v1alpha1.Expr.struct_expr:type_name -> google.api.expr.v1alpha1.Expr.CreateStruct + 11, // 8: google.api.expr.v1alpha1.Expr.comprehension_expr:type_name -> google.api.expr.v1alpha1.Expr.Comprehension + 17, // 9: google.api.expr.v1alpha1.Constant.null_value:type_name -> google.protobuf.NullValue + 18, // 10: google.api.expr.v1alpha1.Constant.duration_value:type_name -> google.protobuf.Duration + 19, // 11: google.api.expr.v1alpha1.Constant.timestamp_value:type_name -> google.protobuf.Timestamp + 14, // 12: google.api.expr.v1alpha1.SourceInfo.positions:type_name -> google.api.expr.v1alpha1.SourceInfo.PositionsEntry + 15, // 13: google.api.expr.v1alpha1.SourceInfo.macro_calls:type_name -> google.api.expr.v1alpha1.SourceInfo.MacroCallsEntry + 13, // 14: google.api.expr.v1alpha1.SourceInfo.extensions:type_name -> google.api.expr.v1alpha1.SourceInfo.Extension + 2, // 15: google.api.expr.v1alpha1.Expr.Select.operand:type_name -> google.api.expr.v1alpha1.Expr + 2, // 16: google.api.expr.v1alpha1.Expr.Call.target:type_name -> google.api.expr.v1alpha1.Expr + 2, // 17: google.api.expr.v1alpha1.Expr.Call.args:type_name -> google.api.expr.v1alpha1.Expr + 2, // 18: google.api.expr.v1alpha1.Expr.CreateList.elements:type_name -> google.api.expr.v1alpha1.Expr + 12, // 19: google.api.expr.v1alpha1.Expr.CreateStruct.entries:type_name -> google.api.expr.v1alpha1.Expr.CreateStruct.Entry + 2, // 20: google.api.expr.v1alpha1.Expr.Comprehension.iter_range:type_name -> google.api.expr.v1alpha1.Expr + 2, // 21: google.api.expr.v1alpha1.Expr.Comprehension.accu_init:type_name -> google.api.expr.v1alpha1.Expr + 2, // 22: google.api.expr.v1alpha1.Expr.Comprehension.loop_condition:type_name -> google.api.expr.v1alpha1.Expr + 2, // 23: google.api.expr.v1alpha1.Expr.Comprehension.loop_step:type_name -> google.api.expr.v1alpha1.Expr + 2, // 24: google.api.expr.v1alpha1.Expr.Comprehension.result:type_name -> google.api.expr.v1alpha1.Expr + 2, // 25: google.api.expr.v1alpha1.Expr.CreateStruct.Entry.map_key:type_name -> google.api.expr.v1alpha1.Expr + 2, // 26: google.api.expr.v1alpha1.Expr.CreateStruct.Entry.value:type_name -> google.api.expr.v1alpha1.Expr + 0, // 27: google.api.expr.v1alpha1.SourceInfo.Extension.affected_components:type_name -> google.api.expr.v1alpha1.SourceInfo.Extension.Component + 16, // 28: google.api.expr.v1alpha1.SourceInfo.Extension.version:type_name -> google.api.expr.v1alpha1.SourceInfo.Extension.Version + 2, // 29: google.api.expr.v1alpha1.SourceInfo.MacroCallsEntry.value:type_name -> google.api.expr.v1alpha1.Expr + 30, // [30:30] is the sub-list for method output_type + 30, // [30:30] is the sub-list for method input_type + 30, // [30:30] is the sub-list for extension type_name + 30, // [30:30] is the sub-list for extension extendee + 0, // [0:30] is the sub-list for field type_name +} + +func init() { file_google_api_expr_v1alpha1_syntax_proto_init() } +func file_google_api_expr_v1alpha1_syntax_proto_init() { + if File_google_api_expr_v1alpha1_syntax_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_api_expr_v1alpha1_syntax_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ParsedExpr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_syntax_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_syntax_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Constant); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_syntax_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SourceInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_syntax_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SourcePosition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_syntax_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expr_Ident); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_syntax_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expr_Select); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_syntax_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expr_Call); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_syntax_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expr_CreateList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_syntax_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expr_CreateStruct); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_syntax_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expr_Comprehension); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_syntax_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expr_CreateStruct_Entry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_syntax_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SourceInfo_Extension); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_syntax_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SourceInfo_Extension_Version); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_api_expr_v1alpha1_syntax_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*Expr_ConstExpr)(nil), + (*Expr_IdentExpr)(nil), + (*Expr_SelectExpr)(nil), + (*Expr_CallExpr)(nil), + (*Expr_ListExpr)(nil), + (*Expr_StructExpr)(nil), + (*Expr_ComprehensionExpr)(nil), + } + file_google_api_expr_v1alpha1_syntax_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*Constant_NullValue)(nil), + (*Constant_BoolValue)(nil), + (*Constant_Int64Value)(nil), + (*Constant_Uint64Value)(nil), + (*Constant_DoubleValue)(nil), + (*Constant_StringValue)(nil), + (*Constant_BytesValue)(nil), + (*Constant_DurationValue)(nil), + (*Constant_TimestampValue)(nil), + } + file_google_api_expr_v1alpha1_syntax_proto_msgTypes[11].OneofWrappers = []interface{}{ + (*Expr_CreateStruct_Entry_FieldKey)(nil), + (*Expr_CreateStruct_Entry_MapKey)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_api_expr_v1alpha1_syntax_proto_rawDesc, + NumEnums: 1, + NumMessages: 16, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_api_expr_v1alpha1_syntax_proto_goTypes, + DependencyIndexes: file_google_api_expr_v1alpha1_syntax_proto_depIdxs, + EnumInfos: file_google_api_expr_v1alpha1_syntax_proto_enumTypes, + MessageInfos: file_google_api_expr_v1alpha1_syntax_proto_msgTypes, + }.Build() + File_google_api_expr_v1alpha1_syntax_proto = out.File + file_google_api_expr_v1alpha1_syntax_proto_rawDesc = nil + file_google_api_expr_v1alpha1_syntax_proto_goTypes = nil + file_google_api_expr_v1alpha1_syntax_proto_depIdxs = nil +} diff --git a/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/value.pb.go b/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/value.pb.go new file mode 100644 index 000000000..0a5ca6a1b --- /dev/null +++ b/vendor/google.golang.org/genproto/googleapis/api/expr/v1alpha1/value.pb.go @@ -0,0 +1,721 @@ +// 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v4.24.4 +// source: google/api/expr/v1alpha1/value.proto + +package expr + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + structpb "google.golang.org/protobuf/types/known/structpb" +) + +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) +) + +// Represents a CEL value. +// +// This is similar to `google.protobuf.Value`, but can represent CEL's full +// range of values. +type Value struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The valid kinds of values. + // + // Types that are assignable to Kind: + // + // *Value_NullValue + // *Value_BoolValue + // *Value_Int64Value + // *Value_Uint64Value + // *Value_DoubleValue + // *Value_StringValue + // *Value_BytesValue + // *Value_EnumValue + // *Value_ObjectValue + // *Value_MapValue + // *Value_ListValue + // *Value_TypeValue + Kind isValue_Kind `protobuf_oneof:"kind"` +} + +func (x *Value) Reset() { + *x = Value{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_value_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Value) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Value) ProtoMessage() {} + +func (x *Value) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_value_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 Value.ProtoReflect.Descriptor instead. +func (*Value) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_value_proto_rawDescGZIP(), []int{0} +} + +func (m *Value) GetKind() isValue_Kind { + if m != nil { + return m.Kind + } + return nil +} + +func (x *Value) GetNullValue() structpb.NullValue { + if x, ok := x.GetKind().(*Value_NullValue); ok { + return x.NullValue + } + return structpb.NullValue_NULL_VALUE +} + +func (x *Value) GetBoolValue() bool { + if x, ok := x.GetKind().(*Value_BoolValue); ok { + return x.BoolValue + } + return false +} + +func (x *Value) GetInt64Value() int64 { + if x, ok := x.GetKind().(*Value_Int64Value); ok { + return x.Int64Value + } + return 0 +} + +func (x *Value) GetUint64Value() uint64 { + if x, ok := x.GetKind().(*Value_Uint64Value); ok { + return x.Uint64Value + } + return 0 +} + +func (x *Value) GetDoubleValue() float64 { + if x, ok := x.GetKind().(*Value_DoubleValue); ok { + return x.DoubleValue + } + return 0 +} + +func (x *Value) GetStringValue() string { + if x, ok := x.GetKind().(*Value_StringValue); ok { + return x.StringValue + } + return "" +} + +func (x *Value) GetBytesValue() []byte { + if x, ok := x.GetKind().(*Value_BytesValue); ok { + return x.BytesValue + } + return nil +} + +func (x *Value) GetEnumValue() *EnumValue { + if x, ok := x.GetKind().(*Value_EnumValue); ok { + return x.EnumValue + } + return nil +} + +func (x *Value) GetObjectValue() *anypb.Any { + if x, ok := x.GetKind().(*Value_ObjectValue); ok { + return x.ObjectValue + } + return nil +} + +func (x *Value) GetMapValue() *MapValue { + if x, ok := x.GetKind().(*Value_MapValue); ok { + return x.MapValue + } + return nil +} + +func (x *Value) GetListValue() *ListValue { + if x, ok := x.GetKind().(*Value_ListValue); ok { + return x.ListValue + } + return nil +} + +func (x *Value) GetTypeValue() string { + if x, ok := x.GetKind().(*Value_TypeValue); ok { + return x.TypeValue + } + return "" +} + +type isValue_Kind interface { + isValue_Kind() +} + +type Value_NullValue struct { + // Null value. + NullValue structpb.NullValue `protobuf:"varint,1,opt,name=null_value,json=nullValue,proto3,enum=google.protobuf.NullValue,oneof"` +} + +type Value_BoolValue struct { + // Boolean value. + BoolValue bool `protobuf:"varint,2,opt,name=bool_value,json=boolValue,proto3,oneof"` +} + +type Value_Int64Value struct { + // Signed integer value. + Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,proto3,oneof"` +} + +type Value_Uint64Value struct { + // Unsigned integer value. + Uint64Value uint64 `protobuf:"varint,4,opt,name=uint64_value,json=uint64Value,proto3,oneof"` +} + +type Value_DoubleValue struct { + // Floating point value. + DoubleValue float64 `protobuf:"fixed64,5,opt,name=double_value,json=doubleValue,proto3,oneof"` +} + +type Value_StringValue struct { + // UTF-8 string value. + StringValue string `protobuf:"bytes,6,opt,name=string_value,json=stringValue,proto3,oneof"` +} + +type Value_BytesValue struct { + // Byte string value. + BytesValue []byte `protobuf:"bytes,7,opt,name=bytes_value,json=bytesValue,proto3,oneof"` +} + +type Value_EnumValue struct { + // An enum value. + EnumValue *EnumValue `protobuf:"bytes,9,opt,name=enum_value,json=enumValue,proto3,oneof"` +} + +type Value_ObjectValue struct { + // The proto message backing an object value. + ObjectValue *anypb.Any `protobuf:"bytes,10,opt,name=object_value,json=objectValue,proto3,oneof"` +} + +type Value_MapValue struct { + // Map value. + MapValue *MapValue `protobuf:"bytes,11,opt,name=map_value,json=mapValue,proto3,oneof"` +} + +type Value_ListValue struct { + // List value. + ListValue *ListValue `protobuf:"bytes,12,opt,name=list_value,json=listValue,proto3,oneof"` +} + +type Value_TypeValue struct { + // Type value. + TypeValue string `protobuf:"bytes,15,opt,name=type_value,json=typeValue,proto3,oneof"` +} + +func (*Value_NullValue) isValue_Kind() {} + +func (*Value_BoolValue) isValue_Kind() {} + +func (*Value_Int64Value) isValue_Kind() {} + +func (*Value_Uint64Value) isValue_Kind() {} + +func (*Value_DoubleValue) isValue_Kind() {} + +func (*Value_StringValue) isValue_Kind() {} + +func (*Value_BytesValue) isValue_Kind() {} + +func (*Value_EnumValue) isValue_Kind() {} + +func (*Value_ObjectValue) isValue_Kind() {} + +func (*Value_MapValue) isValue_Kind() {} + +func (*Value_ListValue) isValue_Kind() {} + +func (*Value_TypeValue) isValue_Kind() {} + +// An enum value. +type EnumValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The fully qualified name of the enum type. + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // The value of the enum. + Value int32 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *EnumValue) Reset() { + *x = EnumValue{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_value_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnumValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnumValue) ProtoMessage() {} + +func (x *EnumValue) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_value_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 EnumValue.ProtoReflect.Descriptor instead. +func (*EnumValue) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_value_proto_rawDescGZIP(), []int{1} +} + +func (x *EnumValue) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *EnumValue) GetValue() int32 { + if x != nil { + return x.Value + } + return 0 +} + +// A list. +// +// Wrapped in a message so 'not set' and empty can be differentiated, which is +// required for use in a 'oneof'. +type ListValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ordered values in the list. + Values []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` +} + +func (x *ListValue) Reset() { + *x = ListValue{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_value_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListValue) ProtoMessage() {} + +func (x *ListValue) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_value_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 ListValue.ProtoReflect.Descriptor instead. +func (*ListValue) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_value_proto_rawDescGZIP(), []int{2} +} + +func (x *ListValue) GetValues() []*Value { + if x != nil { + return x.Values + } + return nil +} + +// A map. +// +// Wrapped in a message so 'not set' and empty can be differentiated, which is +// required for use in a 'oneof'. +type MapValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The set of map entries. + // + // CEL has fewer restrictions on keys, so a protobuf map represenation + // cannot be used. + Entries []*MapValue_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` +} + +func (x *MapValue) Reset() { + *x = MapValue{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_value_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MapValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MapValue) ProtoMessage() {} + +func (x *MapValue) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_value_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 MapValue.ProtoReflect.Descriptor instead. +func (*MapValue) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_value_proto_rawDescGZIP(), []int{3} +} + +func (x *MapValue) GetEntries() []*MapValue_Entry { + if x != nil { + return x.Entries + } + return nil +} + +// An entry in the map. +type MapValue_Entry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The key. + // + // Must be unique with in the map. + // Currently only boolean, int, uint, and string values can be keys. + Key *Value `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // The value. + Value *Value `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *MapValue_Entry) Reset() { + *x = MapValue_Entry{} + if protoimpl.UnsafeEnabled { + mi := &file_google_api_expr_v1alpha1_value_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MapValue_Entry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MapValue_Entry) ProtoMessage() {} + +func (x *MapValue_Entry) ProtoReflect() protoreflect.Message { + mi := &file_google_api_expr_v1alpha1_value_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 MapValue_Entry.ProtoReflect.Descriptor instead. +func (*MapValue_Entry) Descriptor() ([]byte, []int) { + return file_google_api_expr_v1alpha1_value_proto_rawDescGZIP(), []int{3, 0} +} + +func (x *MapValue_Entry) GetKey() *Value { + if x != nil { + return x.Key + } + return nil +} + +func (x *MapValue_Entry) GetValue() *Value { + if x != nil { + return x.Value + } + return nil +} + +var File_google_api_expr_v1alpha1_value_proto protoreflect.FileDescriptor + +var file_google_api_expr_v1alpha1_value_proto_rawDesc = []byte{ + 0x0a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, + 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcd, 0x04, 0x0a, 0x05, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x75, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x64, 0x6f, 0x75, + 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x48, + 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, + 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, + 0x00, 0x52, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x39, 0x0a, 0x0c, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, + 0x52, 0x08, 0x6d, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x6c, 0x69, + 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x74, 0x79, 0x70, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x35, 0x0a, 0x09, 0x45, 0x6e, 0x75, + 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x22, 0x44, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x37, 0x0a, + 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xc1, 0x01, 0x0a, 0x08, 0x4d, 0x61, 0x70, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x4d, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, + 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x71, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x31, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, + 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0a, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x3b, 0x65, 0x78, 0x70, 0x72, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_google_api_expr_v1alpha1_value_proto_rawDescOnce sync.Once + file_google_api_expr_v1alpha1_value_proto_rawDescData = file_google_api_expr_v1alpha1_value_proto_rawDesc +) + +func file_google_api_expr_v1alpha1_value_proto_rawDescGZIP() []byte { + file_google_api_expr_v1alpha1_value_proto_rawDescOnce.Do(func() { + file_google_api_expr_v1alpha1_value_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_expr_v1alpha1_value_proto_rawDescData) + }) + return file_google_api_expr_v1alpha1_value_proto_rawDescData +} + +var file_google_api_expr_v1alpha1_value_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_google_api_expr_v1alpha1_value_proto_goTypes = []interface{}{ + (*Value)(nil), // 0: google.api.expr.v1alpha1.Value + (*EnumValue)(nil), // 1: google.api.expr.v1alpha1.EnumValue + (*ListValue)(nil), // 2: google.api.expr.v1alpha1.ListValue + (*MapValue)(nil), // 3: google.api.expr.v1alpha1.MapValue + (*MapValue_Entry)(nil), // 4: google.api.expr.v1alpha1.MapValue.Entry + (structpb.NullValue)(0), // 5: google.protobuf.NullValue + (*anypb.Any)(nil), // 6: google.protobuf.Any +} +var file_google_api_expr_v1alpha1_value_proto_depIdxs = []int32{ + 5, // 0: google.api.expr.v1alpha1.Value.null_value:type_name -> google.protobuf.NullValue + 1, // 1: google.api.expr.v1alpha1.Value.enum_value:type_name -> google.api.expr.v1alpha1.EnumValue + 6, // 2: google.api.expr.v1alpha1.Value.object_value:type_name -> google.protobuf.Any + 3, // 3: google.api.expr.v1alpha1.Value.map_value:type_name -> google.api.expr.v1alpha1.MapValue + 2, // 4: google.api.expr.v1alpha1.Value.list_value:type_name -> google.api.expr.v1alpha1.ListValue + 0, // 5: google.api.expr.v1alpha1.ListValue.values:type_name -> google.api.expr.v1alpha1.Value + 4, // 6: google.api.expr.v1alpha1.MapValue.entries:type_name -> google.api.expr.v1alpha1.MapValue.Entry + 0, // 7: google.api.expr.v1alpha1.MapValue.Entry.key:type_name -> google.api.expr.v1alpha1.Value + 0, // 8: google.api.expr.v1alpha1.MapValue.Entry.value:type_name -> google.api.expr.v1alpha1.Value + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { file_google_api_expr_v1alpha1_value_proto_init() } +func file_google_api_expr_v1alpha1_value_proto_init() { + if File_google_api_expr_v1alpha1_value_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_api_expr_v1alpha1_value_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Value); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_value_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnumValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_value_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_value_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MapValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_api_expr_v1alpha1_value_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MapValue_Entry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_api_expr_v1alpha1_value_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*Value_NullValue)(nil), + (*Value_BoolValue)(nil), + (*Value_Int64Value)(nil), + (*Value_Uint64Value)(nil), + (*Value_DoubleValue)(nil), + (*Value_StringValue)(nil), + (*Value_BytesValue)(nil), + (*Value_EnumValue)(nil), + (*Value_ObjectValue)(nil), + (*Value_MapValue)(nil), + (*Value_ListValue)(nil), + (*Value_TypeValue)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_api_expr_v1alpha1_value_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_api_expr_v1alpha1_value_proto_goTypes, + DependencyIndexes: file_google_api_expr_v1alpha1_value_proto_depIdxs, + MessageInfos: file_google_api_expr_v1alpha1_value_proto_msgTypes, + }.Build() + File_google_api_expr_v1alpha1_value_proto = out.File + file_google_api_expr_v1alpha1_value_proto_rawDesc = nil + file_google_api_expr_v1alpha1_value_proto_goTypes = nil + file_google_api_expr_v1alpha1_value_proto_depIdxs = nil +} diff --git a/vendor/google.golang.org/genproto/googleapis/rpc/LICENSE b/vendor/google.golang.org/genproto/googleapis/rpc/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/google.golang.org/genproto/googleapis/rpc/LICENSE @@ -0,0 +1,202 @@ + + 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 [yyyy] [name of copyright owner] + + 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/google.golang.org/genproto/googleapis/rpc/status/status.pb.go b/vendor/google.golang.org/genproto/googleapis/rpc/status/status.pb.go new file mode 100644 index 000000000..6ad1b1c1d --- /dev/null +++ b/vendor/google.golang.org/genproto/googleapis/rpc/status/status.pb.go @@ -0,0 +1,203 @@ +// 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v4.24.4 +// source: google/rpc/status.proto + +package status + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" +) + +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) +) + +// The `Status` type defines a logical error model that is suitable for +// different programming environments, including REST APIs and RPC APIs. It is +// used by [gRPC](https://github.com/grpc). Each `Status` message contains +// three pieces of data: error code, error message, and error details. +// +// You can find out more about this error model and how to work with it in the +// [API Design Guide](https://cloud.google.com/apis/design/errors). +type Status struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The status code, which should be an enum value of + // [google.rpc.Code][google.rpc.Code]. + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + // A developer-facing error message, which should be in English. Any + // user-facing error message should be localized and sent in the + // [google.rpc.Status.details][google.rpc.Status.details] field, or localized + // by the client. + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + // A list of messages that carry the error details. There is a common set of + // message types for APIs to use. + Details []*anypb.Any `protobuf:"bytes,3,rep,name=details,proto3" json:"details,omitempty"` +} + +func (x *Status) Reset() { + *x = Status{} + if protoimpl.UnsafeEnabled { + mi := &file_google_rpc_status_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Status) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Status) ProtoMessage() {} + +func (x *Status) ProtoReflect() protoreflect.Message { + mi := &file_google_rpc_status_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 Status.ProtoReflect.Descriptor instead. +func (*Status) Descriptor() ([]byte, []int) { + return file_google_rpc_status_proto_rawDescGZIP(), []int{0} +} + +func (x *Status) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *Status) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *Status) GetDetails() []*anypb.Any { + if x != nil { + return x.Details + } + return nil +} + +var File_google_rpc_status_proto protoreflect.FileDescriptor + +var file_google_rpc_status_proto_rawDesc = []byte{ + 0x0a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x72, 0x70, 0x63, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x66, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, + 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x61, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x42, 0x0b, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3b, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x03, 0x52, 0x50, 0x43, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_google_rpc_status_proto_rawDescOnce sync.Once + file_google_rpc_status_proto_rawDescData = file_google_rpc_status_proto_rawDesc +) + +func file_google_rpc_status_proto_rawDescGZIP() []byte { + file_google_rpc_status_proto_rawDescOnce.Do(func() { + file_google_rpc_status_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_rpc_status_proto_rawDescData) + }) + return file_google_rpc_status_proto_rawDescData +} + +var file_google_rpc_status_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_rpc_status_proto_goTypes = []interface{}{ + (*Status)(nil), // 0: google.rpc.Status + (*anypb.Any)(nil), // 1: google.protobuf.Any +} +var file_google_rpc_status_proto_depIdxs = []int32{ + 1, // 0: google.rpc.Status.details:type_name -> google.protobuf.Any + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_google_rpc_status_proto_init() } +func file_google_rpc_status_proto_init() { + if File_google_rpc_status_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_rpc_status_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Status); 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_google_rpc_status_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_rpc_status_proto_goTypes, + DependencyIndexes: file_google_rpc_status_proto_depIdxs, + MessageInfos: file_google_rpc_status_proto_msgTypes, + }.Build() + File_google_rpc_status_proto = out.File + file_google_rpc_status_proto_rawDesc = nil + file_google_rpc_status_proto_goTypes = nil + file_google_rpc_status_proto_depIdxs = nil +} diff --git a/vendor/google.golang.org/protobuf/encoding/protojson/decode.go b/vendor/google.golang.org/protobuf/encoding/protojson/decode.go new file mode 100644 index 000000000..737d6876d --- /dev/null +++ b/vendor/google.golang.org/protobuf/encoding/protojson/decode.go @@ -0,0 +1,680 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protojson + +import ( + "encoding/base64" + "fmt" + "math" + "strconv" + "strings" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/encoding/json" + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/flags" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/internal/set" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +// Unmarshal reads the given []byte into the given [proto.Message]. +// The provided message must be mutable (e.g., a non-nil pointer to a message). +func Unmarshal(b []byte, m proto.Message) error { + return UnmarshalOptions{}.Unmarshal(b, m) +} + +// UnmarshalOptions is a configurable JSON format parser. +type UnmarshalOptions struct { + pragma.NoUnkeyedLiterals + + // If AllowPartial is set, input for messages that will result in missing + // required fields will not return an error. + AllowPartial bool + + // If DiscardUnknown is set, unknown fields and enum name values are ignored. + DiscardUnknown bool + + // Resolver is used for looking up types when unmarshaling + // google.protobuf.Any messages or extension fields. + // If nil, this defaults to using protoregistry.GlobalTypes. + Resolver interface { + protoregistry.MessageTypeResolver + protoregistry.ExtensionTypeResolver + } + + // RecursionLimit limits how deeply messages may be nested. + // If zero, a default limit is applied. + RecursionLimit int +} + +// Unmarshal reads the given []byte and populates the given [proto.Message] +// using options in the UnmarshalOptions object. +// It will clear the message first before setting the fields. +// If it returns an error, the given message may be partially set. +// The provided message must be mutable (e.g., a non-nil pointer to a message). +func (o UnmarshalOptions) Unmarshal(b []byte, m proto.Message) error { + return o.unmarshal(b, m) +} + +// unmarshal is a centralized function that all unmarshal operations go through. +// For profiling purposes, avoid changing the name of this function or +// introducing other code paths for unmarshal that do not go through this. +func (o UnmarshalOptions) unmarshal(b []byte, m proto.Message) error { + proto.Reset(m) + + if o.Resolver == nil { + o.Resolver = protoregistry.GlobalTypes + } + if o.RecursionLimit == 0 { + o.RecursionLimit = protowire.DefaultRecursionLimit + } + + dec := decoder{json.NewDecoder(b), o} + if err := dec.unmarshalMessage(m.ProtoReflect(), false); err != nil { + return err + } + + // Check for EOF. + tok, err := dec.Read() + if err != nil { + return err + } + if tok.Kind() != json.EOF { + return dec.unexpectedTokenError(tok) + } + + if o.AllowPartial { + return nil + } + return proto.CheckInitialized(m) +} + +type decoder struct { + *json.Decoder + opts UnmarshalOptions +} + +// newError returns an error object with position info. +func (d decoder) newError(pos int, f string, x ...any) error { + line, column := d.Position(pos) + head := fmt.Sprintf("(line %d:%d): ", line, column) + return errors.New(head+f, x...) +} + +// unexpectedTokenError returns a syntax error for the given unexpected token. +func (d decoder) unexpectedTokenError(tok json.Token) error { + return d.syntaxError(tok.Pos(), "unexpected token %s", tok.RawString()) +} + +// syntaxError returns a syntax error for given position. +func (d decoder) syntaxError(pos int, f string, x ...any) error { + line, column := d.Position(pos) + head := fmt.Sprintf("syntax error (line %d:%d): ", line, column) + return errors.New(head+f, x...) +} + +// unmarshalMessage unmarshals a message into the given protoreflect.Message. +func (d decoder) unmarshalMessage(m protoreflect.Message, skipTypeURL bool) error { + d.opts.RecursionLimit-- + if d.opts.RecursionLimit < 0 { + return errors.New("exceeded max recursion depth") + } + if unmarshal := wellKnownTypeUnmarshaler(m.Descriptor().FullName()); unmarshal != nil { + return unmarshal(d, m) + } + + tok, err := d.Read() + if err != nil { + return err + } + if tok.Kind() != json.ObjectOpen { + return d.unexpectedTokenError(tok) + } + + messageDesc := m.Descriptor() + if !flags.ProtoLegacy && messageset.IsMessageSet(messageDesc) { + return errors.New("no support for proto1 MessageSets") + } + + var seenNums set.Ints + var seenOneofs set.Ints + fieldDescs := messageDesc.Fields() + for { + // Read field name. + tok, err := d.Read() + if err != nil { + return err + } + switch tok.Kind() { + default: + return d.unexpectedTokenError(tok) + case json.ObjectClose: + return nil + case json.Name: + // Continue below. + } + + name := tok.Name() + // Unmarshaling a non-custom embedded message in Any will contain the + // JSON field "@type" which should be skipped because it is not a field + // of the embedded message, but simply an artifact of the Any format. + if skipTypeURL && name == "@type" { + d.Read() + continue + } + + // Get the FieldDescriptor. + var fd protoreflect.FieldDescriptor + if strings.HasPrefix(name, "[") && strings.HasSuffix(name, "]") { + // Only extension names are in [name] format. + extName := protoreflect.FullName(name[1 : len(name)-1]) + extType, err := d.opts.Resolver.FindExtensionByName(extName) + if err != nil && err != protoregistry.NotFound { + return d.newError(tok.Pos(), "unable to resolve %s: %v", tok.RawString(), err) + } + if extType != nil { + fd = extType.TypeDescriptor() + if !messageDesc.ExtensionRanges().Has(fd.Number()) || fd.ContainingMessage().FullName() != messageDesc.FullName() { + return d.newError(tok.Pos(), "message %v cannot be extended by %v", messageDesc.FullName(), fd.FullName()) + } + } + } else { + // The name can either be the JSON name or the proto field name. + fd = fieldDescs.ByJSONName(name) + if fd == nil { + fd = fieldDescs.ByTextName(name) + } + } + + if fd == nil { + // Field is unknown. + if d.opts.DiscardUnknown { + if err := d.skipJSONValue(); err != nil { + return err + } + continue + } + return d.newError(tok.Pos(), "unknown field %v", tok.RawString()) + } + + // Do not allow duplicate fields. + num := uint64(fd.Number()) + if seenNums.Has(num) { + return d.newError(tok.Pos(), "duplicate field %v", tok.RawString()) + } + seenNums.Set(num) + + // No need to set values for JSON null unless the field type is + // google.protobuf.Value or google.protobuf.NullValue. + if tok, _ := d.Peek(); tok.Kind() == json.Null && !isKnownValue(fd) && !isNullValue(fd) { + d.Read() + continue + } + + switch { + case fd.IsList(): + list := m.Mutable(fd).List() + if err := d.unmarshalList(list, fd); err != nil { + return err + } + case fd.IsMap(): + mmap := m.Mutable(fd).Map() + if err := d.unmarshalMap(mmap, fd); err != nil { + return err + } + default: + // If field is a oneof, check if it has already been set. + if od := fd.ContainingOneof(); od != nil { + idx := uint64(od.Index()) + if seenOneofs.Has(idx) { + return d.newError(tok.Pos(), "error parsing %s, oneof %v is already set", tok.RawString(), od.FullName()) + } + seenOneofs.Set(idx) + } + + // Required or optional fields. + if err := d.unmarshalSingular(m, fd); err != nil { + return err + } + } + } +} + +func isKnownValue(fd protoreflect.FieldDescriptor) bool { + md := fd.Message() + return md != nil && md.FullName() == genid.Value_message_fullname +} + +func isNullValue(fd protoreflect.FieldDescriptor) bool { + ed := fd.Enum() + return ed != nil && ed.FullName() == genid.NullValue_enum_fullname +} + +// unmarshalSingular unmarshals to the non-repeated field specified +// by the given FieldDescriptor. +func (d decoder) unmarshalSingular(m protoreflect.Message, fd protoreflect.FieldDescriptor) error { + var val protoreflect.Value + var err error + switch fd.Kind() { + case protoreflect.MessageKind, protoreflect.GroupKind: + val = m.NewField(fd) + err = d.unmarshalMessage(val.Message(), false) + default: + val, err = d.unmarshalScalar(fd) + } + + if err != nil { + return err + } + if val.IsValid() { + m.Set(fd, val) + } + return nil +} + +// unmarshalScalar unmarshals to a scalar/enum protoreflect.Value specified by +// the given FieldDescriptor. +func (d decoder) unmarshalScalar(fd protoreflect.FieldDescriptor) (protoreflect.Value, error) { + const b32 int = 32 + const b64 int = 64 + + tok, err := d.Read() + if err != nil { + return protoreflect.Value{}, err + } + + kind := fd.Kind() + switch kind { + case protoreflect.BoolKind: + if tok.Kind() == json.Bool { + return protoreflect.ValueOfBool(tok.Bool()), nil + } + + case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind: + if v, ok := unmarshalInt(tok, b32); ok { + return v, nil + } + + case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind: + if v, ok := unmarshalInt(tok, b64); ok { + return v, nil + } + + case protoreflect.Uint32Kind, protoreflect.Fixed32Kind: + if v, ok := unmarshalUint(tok, b32); ok { + return v, nil + } + + case protoreflect.Uint64Kind, protoreflect.Fixed64Kind: + if v, ok := unmarshalUint(tok, b64); ok { + return v, nil + } + + case protoreflect.FloatKind: + if v, ok := unmarshalFloat(tok, b32); ok { + return v, nil + } + + case protoreflect.DoubleKind: + if v, ok := unmarshalFloat(tok, b64); ok { + return v, nil + } + + case protoreflect.StringKind: + if tok.Kind() == json.String { + return protoreflect.ValueOfString(tok.ParsedString()), nil + } + + case protoreflect.BytesKind: + if v, ok := unmarshalBytes(tok); ok { + return v, nil + } + + case protoreflect.EnumKind: + if v, ok := unmarshalEnum(tok, fd, d.opts.DiscardUnknown); ok { + return v, nil + } + + default: + panic(fmt.Sprintf("unmarshalScalar: invalid scalar kind %v", kind)) + } + + return protoreflect.Value{}, d.newError(tok.Pos(), "invalid value for %v field %v: %v", kind, fd.JSONName(), tok.RawString()) +} + +func unmarshalInt(tok json.Token, bitSize int) (protoreflect.Value, bool) { + switch tok.Kind() { + case json.Number: + return getInt(tok, bitSize) + + case json.String: + // Decode number from string. + s := strings.TrimSpace(tok.ParsedString()) + if len(s) != len(tok.ParsedString()) { + return protoreflect.Value{}, false + } + dec := json.NewDecoder([]byte(s)) + tok, err := dec.Read() + if err != nil { + return protoreflect.Value{}, false + } + return getInt(tok, bitSize) + } + return protoreflect.Value{}, false +} + +func getInt(tok json.Token, bitSize int) (protoreflect.Value, bool) { + n, ok := tok.Int(bitSize) + if !ok { + return protoreflect.Value{}, false + } + if bitSize == 32 { + return protoreflect.ValueOfInt32(int32(n)), true + } + return protoreflect.ValueOfInt64(n), true +} + +func unmarshalUint(tok json.Token, bitSize int) (protoreflect.Value, bool) { + switch tok.Kind() { + case json.Number: + return getUint(tok, bitSize) + + case json.String: + // Decode number from string. + s := strings.TrimSpace(tok.ParsedString()) + if len(s) != len(tok.ParsedString()) { + return protoreflect.Value{}, false + } + dec := json.NewDecoder([]byte(s)) + tok, err := dec.Read() + if err != nil { + return protoreflect.Value{}, false + } + return getUint(tok, bitSize) + } + return protoreflect.Value{}, false +} + +func getUint(tok json.Token, bitSize int) (protoreflect.Value, bool) { + n, ok := tok.Uint(bitSize) + if !ok { + return protoreflect.Value{}, false + } + if bitSize == 32 { + return protoreflect.ValueOfUint32(uint32(n)), true + } + return protoreflect.ValueOfUint64(n), true +} + +func unmarshalFloat(tok json.Token, bitSize int) (protoreflect.Value, bool) { + switch tok.Kind() { + case json.Number: + return getFloat(tok, bitSize) + + case json.String: + s := tok.ParsedString() + switch s { + case "NaN": + if bitSize == 32 { + return protoreflect.ValueOfFloat32(float32(math.NaN())), true + } + return protoreflect.ValueOfFloat64(math.NaN()), true + case "Infinity": + if bitSize == 32 { + return protoreflect.ValueOfFloat32(float32(math.Inf(+1))), true + } + return protoreflect.ValueOfFloat64(math.Inf(+1)), true + case "-Infinity": + if bitSize == 32 { + return protoreflect.ValueOfFloat32(float32(math.Inf(-1))), true + } + return protoreflect.ValueOfFloat64(math.Inf(-1)), true + } + + // Decode number from string. + if len(s) != len(strings.TrimSpace(s)) { + return protoreflect.Value{}, false + } + dec := json.NewDecoder([]byte(s)) + tok, err := dec.Read() + if err != nil { + return protoreflect.Value{}, false + } + return getFloat(tok, bitSize) + } + return protoreflect.Value{}, false +} + +func getFloat(tok json.Token, bitSize int) (protoreflect.Value, bool) { + n, ok := tok.Float(bitSize) + if !ok { + return protoreflect.Value{}, false + } + if bitSize == 32 { + return protoreflect.ValueOfFloat32(float32(n)), true + } + return protoreflect.ValueOfFloat64(n), true +} + +func unmarshalBytes(tok json.Token) (protoreflect.Value, bool) { + if tok.Kind() != json.String { + return protoreflect.Value{}, false + } + + s := tok.ParsedString() + enc := base64.StdEncoding + if strings.ContainsAny(s, "-_") { + enc = base64.URLEncoding + } + if len(s)%4 != 0 { + enc = enc.WithPadding(base64.NoPadding) + } + b, err := enc.DecodeString(s) + if err != nil { + return protoreflect.Value{}, false + } + return protoreflect.ValueOfBytes(b), true +} + +func unmarshalEnum(tok json.Token, fd protoreflect.FieldDescriptor, discardUnknown bool) (protoreflect.Value, bool) { + switch tok.Kind() { + case json.String: + // Lookup EnumNumber based on name. + s := tok.ParsedString() + if enumVal := fd.Enum().Values().ByName(protoreflect.Name(s)); enumVal != nil { + return protoreflect.ValueOfEnum(enumVal.Number()), true + } + if discardUnknown { + return protoreflect.Value{}, true + } + + case json.Number: + if n, ok := tok.Int(32); ok { + return protoreflect.ValueOfEnum(protoreflect.EnumNumber(n)), true + } + + case json.Null: + // This is only valid for google.protobuf.NullValue. + if isNullValue(fd) { + return protoreflect.ValueOfEnum(0), true + } + } + + return protoreflect.Value{}, false +} + +func (d decoder) unmarshalList(list protoreflect.List, fd protoreflect.FieldDescriptor) error { + tok, err := d.Read() + if err != nil { + return err + } + if tok.Kind() != json.ArrayOpen { + return d.unexpectedTokenError(tok) + } + + switch fd.Kind() { + case protoreflect.MessageKind, protoreflect.GroupKind: + for { + tok, err := d.Peek() + if err != nil { + return err + } + + if tok.Kind() == json.ArrayClose { + d.Read() + return nil + } + + val := list.NewElement() + if err := d.unmarshalMessage(val.Message(), false); err != nil { + return err + } + list.Append(val) + } + default: + for { + tok, err := d.Peek() + if err != nil { + return err + } + + if tok.Kind() == json.ArrayClose { + d.Read() + return nil + } + + val, err := d.unmarshalScalar(fd) + if err != nil { + return err + } + if val.IsValid() { + list.Append(val) + } + } + } + + return nil +} + +func (d decoder) unmarshalMap(mmap protoreflect.Map, fd protoreflect.FieldDescriptor) error { + tok, err := d.Read() + if err != nil { + return err + } + if tok.Kind() != json.ObjectOpen { + return d.unexpectedTokenError(tok) + } + + // Determine ahead whether map entry is a scalar type or a message type in + // order to call the appropriate unmarshalMapValue func inside the for loop + // below. + var unmarshalMapValue func() (protoreflect.Value, error) + switch fd.MapValue().Kind() { + case protoreflect.MessageKind, protoreflect.GroupKind: + unmarshalMapValue = func() (protoreflect.Value, error) { + val := mmap.NewValue() + if err := d.unmarshalMessage(val.Message(), false); err != nil { + return protoreflect.Value{}, err + } + return val, nil + } + default: + unmarshalMapValue = func() (protoreflect.Value, error) { + return d.unmarshalScalar(fd.MapValue()) + } + } + +Loop: + for { + // Read field name. + tok, err := d.Read() + if err != nil { + return err + } + switch tok.Kind() { + default: + return d.unexpectedTokenError(tok) + case json.ObjectClose: + break Loop + case json.Name: + // Continue. + } + + // Unmarshal field name. + pkey, err := d.unmarshalMapKey(tok, fd.MapKey()) + if err != nil { + return err + } + + // Check for duplicate field name. + if mmap.Has(pkey) { + return d.newError(tok.Pos(), "duplicate map key %v", tok.RawString()) + } + + // Read and unmarshal field value. + pval, err := unmarshalMapValue() + if err != nil { + return err + } + if pval.IsValid() { + mmap.Set(pkey, pval) + } + } + + return nil +} + +// unmarshalMapKey converts given token of Name kind into a protoreflect.MapKey. +// A map key type is any integral or string type. +func (d decoder) unmarshalMapKey(tok json.Token, fd protoreflect.FieldDescriptor) (protoreflect.MapKey, error) { + const b32 = 32 + const b64 = 64 + const base10 = 10 + + name := tok.Name() + kind := fd.Kind() + switch kind { + case protoreflect.StringKind: + return protoreflect.ValueOfString(name).MapKey(), nil + + case protoreflect.BoolKind: + switch name { + case "true": + return protoreflect.ValueOfBool(true).MapKey(), nil + case "false": + return protoreflect.ValueOfBool(false).MapKey(), nil + } + + case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind: + if n, err := strconv.ParseInt(name, base10, b32); err == nil { + return protoreflect.ValueOfInt32(int32(n)).MapKey(), nil + } + + case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind: + if n, err := strconv.ParseInt(name, base10, b64); err == nil { + return protoreflect.ValueOfInt64(int64(n)).MapKey(), nil + } + + case protoreflect.Uint32Kind, protoreflect.Fixed32Kind: + if n, err := strconv.ParseUint(name, base10, b32); err == nil { + return protoreflect.ValueOfUint32(uint32(n)).MapKey(), nil + } + + case protoreflect.Uint64Kind, protoreflect.Fixed64Kind: + if n, err := strconv.ParseUint(name, base10, b64); err == nil { + return protoreflect.ValueOfUint64(uint64(n)).MapKey(), nil + } + + default: + panic(fmt.Sprintf("invalid kind for map key: %v", kind)) + } + + return protoreflect.MapKey{}, d.newError(tok.Pos(), "invalid value for %v key: %s", kind, tok.RawString()) +} diff --git a/vendor/google.golang.org/protobuf/encoding/protojson/doc.go b/vendor/google.golang.org/protobuf/encoding/protojson/doc.go new file mode 100644 index 000000000..ae71007c1 --- /dev/null +++ b/vendor/google.golang.org/protobuf/encoding/protojson/doc.go @@ -0,0 +1,11 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package protojson marshals and unmarshals protocol buffer messages as JSON +// format. It follows the guide at +// https://protobuf.dev/programming-guides/proto3#json. +// +// This package produces a different output than the standard [encoding/json] +// package, which does not operate correctly on protocol buffer messages. +package protojson diff --git a/vendor/google.golang.org/protobuf/encoding/protojson/encode.go b/vendor/google.golang.org/protobuf/encoding/protojson/encode.go new file mode 100644 index 000000000..0e72d8537 --- /dev/null +++ b/vendor/google.golang.org/protobuf/encoding/protojson/encode.go @@ -0,0 +1,380 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protojson + +import ( + "encoding/base64" + "fmt" + + "google.golang.org/protobuf/internal/encoding/json" + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/filedesc" + "google.golang.org/protobuf/internal/flags" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/internal/order" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +const defaultIndent = " " + +// Format formats the message as a multiline string. +// This function is only intended for human consumption and ignores errors. +// Do not depend on the output being stable. Its output will change across +// different builds of your program, even when using the same version of the +// protobuf module. +func Format(m proto.Message) string { + return MarshalOptions{Multiline: true}.Format(m) +} + +// Marshal writes the given [proto.Message] in JSON format using default options. +// Do not depend on the output being stable. Its output will change across +// different builds of your program, even when using the same version of the +// protobuf module. +func Marshal(m proto.Message) ([]byte, error) { + return MarshalOptions{}.Marshal(m) +} + +// MarshalOptions is a configurable JSON format marshaler. +type MarshalOptions struct { + pragma.NoUnkeyedLiterals + + // Multiline specifies whether the marshaler should format the output in + // indented-form with every textual element on a new line. + // If Indent is an empty string, then an arbitrary indent is chosen. + Multiline bool + + // Indent specifies the set of indentation characters to use in a multiline + // formatted output such that every entry is preceded by Indent and + // terminated by a newline. If non-empty, then Multiline is treated as true. + // Indent can only be composed of space or tab characters. + Indent string + + // AllowPartial allows messages that have missing required fields to marshal + // without returning an error. If AllowPartial is false (the default), + // Marshal will return error if there are any missing required fields. + AllowPartial bool + + // UseProtoNames uses proto field name instead of lowerCamelCase name in JSON + // field names. + UseProtoNames bool + + // UseEnumNumbers emits enum values as numbers. + UseEnumNumbers bool + + // EmitUnpopulated specifies whether to emit unpopulated fields. It does not + // emit unpopulated oneof fields or unpopulated extension fields. + // The JSON value emitted for unpopulated fields are as follows: + // ╔═══════╤════════════════════════════╗ + // ║ JSON │ Protobuf field ║ + // ╠═══════╪════════════════════════════╣ + // ║ false │ proto3 boolean fields ║ + // ║ 0 │ proto3 numeric fields ║ + // ║ "" │ proto3 string/bytes fields ║ + // ║ null │ proto2 scalar fields ║ + // ║ null │ message fields ║ + // ║ [] │ list fields ║ + // ║ {} │ map fields ║ + // ╚═══════╧════════════════════════════╝ + EmitUnpopulated bool + + // EmitDefaultValues specifies whether to emit default-valued primitive fields, + // empty lists, and empty maps. The fields affected are as follows: + // ╔═══════╤════════════════════════════════════════╗ + // ║ JSON │ Protobuf field ║ + // ╠═══════╪════════════════════════════════════════╣ + // ║ false │ non-optional scalar boolean fields ║ + // ║ 0 │ non-optional scalar numeric fields ║ + // ║ "" │ non-optional scalar string/byte fields ║ + // ║ [] │ empty repeated fields ║ + // ║ {} │ empty map fields ║ + // ╚═══════╧════════════════════════════════════════╝ + // + // Behaves similarly to EmitUnpopulated, but does not emit "null"-value fields, + // i.e. presence-sensing fields that are omitted will remain omitted to preserve + // presence-sensing. + // EmitUnpopulated takes precedence over EmitDefaultValues since the former generates + // a strict superset of the latter. + EmitDefaultValues bool + + // Resolver is used for looking up types when expanding google.protobuf.Any + // messages. If nil, this defaults to using protoregistry.GlobalTypes. + Resolver interface { + protoregistry.ExtensionTypeResolver + protoregistry.MessageTypeResolver + } +} + +// Format formats the message as a string. +// This method is only intended for human consumption and ignores errors. +// Do not depend on the output being stable. Its output will change across +// different builds of your program, even when using the same version of the +// protobuf module. +func (o MarshalOptions) Format(m proto.Message) string { + if m == nil || !m.ProtoReflect().IsValid() { + return "" // invalid syntax, but okay since this is for debugging + } + o.AllowPartial = true + b, _ := o.Marshal(m) + return string(b) +} + +// Marshal marshals the given [proto.Message] in the JSON format using options in +// Do not depend on the output being stable. Its output will change across +// different builds of your program, even when using the same version of the +// protobuf module. +func (o MarshalOptions) Marshal(m proto.Message) ([]byte, error) { + return o.marshal(nil, m) +} + +// MarshalAppend appends the JSON format encoding of m to b, +// returning the result. +func (o MarshalOptions) MarshalAppend(b []byte, m proto.Message) ([]byte, error) { + return o.marshal(b, m) +} + +// marshal is a centralized function that all marshal operations go through. +// For profiling purposes, avoid changing the name of this function or +// introducing other code paths for marshal that do not go through this. +func (o MarshalOptions) marshal(b []byte, m proto.Message) ([]byte, error) { + if o.Multiline && o.Indent == "" { + o.Indent = defaultIndent + } + if o.Resolver == nil { + o.Resolver = protoregistry.GlobalTypes + } + + internalEnc, err := json.NewEncoder(b, o.Indent) + if err != nil { + return nil, err + } + + // Treat nil message interface as an empty message, + // in which case the output in an empty JSON object. + if m == nil { + return append(b, '{', '}'), nil + } + + enc := encoder{internalEnc, o} + if err := enc.marshalMessage(m.ProtoReflect(), ""); err != nil { + return nil, err + } + if o.AllowPartial { + return enc.Bytes(), nil + } + return enc.Bytes(), proto.CheckInitialized(m) +} + +type encoder struct { + *json.Encoder + opts MarshalOptions +} + +// typeFieldDesc is a synthetic field descriptor used for the "@type" field. +var typeFieldDesc = func() protoreflect.FieldDescriptor { + var fd filedesc.Field + fd.L0.FullName = "@type" + fd.L0.Index = -1 + fd.L1.Cardinality = protoreflect.Optional + fd.L1.Kind = protoreflect.StringKind + return &fd +}() + +// typeURLFieldRanger wraps a protoreflect.Message and modifies its Range method +// to additionally iterate over a synthetic field for the type URL. +type typeURLFieldRanger struct { + order.FieldRanger + typeURL string +} + +func (m typeURLFieldRanger) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if !f(typeFieldDesc, protoreflect.ValueOfString(m.typeURL)) { + return + } + m.FieldRanger.Range(f) +} + +// unpopulatedFieldRanger wraps a protoreflect.Message and modifies its Range +// method to additionally iterate over unpopulated fields. +type unpopulatedFieldRanger struct { + protoreflect.Message + + skipNull bool +} + +func (m unpopulatedFieldRanger) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + fds := m.Descriptor().Fields() + for i := 0; i < fds.Len(); i++ { + fd := fds.Get(i) + if m.Has(fd) || fd.ContainingOneof() != nil { + continue // ignore populated fields and fields within a oneofs + } + + v := m.Get(fd) + if fd.HasPresence() { + if m.skipNull { + continue + } + v = protoreflect.Value{} // use invalid value to emit null + } + if !f(fd, v) { + return + } + } + m.Message.Range(f) +} + +// marshalMessage marshals the fields in the given protoreflect.Message. +// If the typeURL is non-empty, then a synthetic "@type" field is injected +// containing the URL as the value. +func (e encoder) marshalMessage(m protoreflect.Message, typeURL string) error { + if !flags.ProtoLegacy && messageset.IsMessageSet(m.Descriptor()) { + return errors.New("no support for proto1 MessageSets") + } + + if marshal := wellKnownTypeMarshaler(m.Descriptor().FullName()); marshal != nil { + return marshal(e, m) + } + + e.StartObject() + defer e.EndObject() + + var fields order.FieldRanger = m + switch { + case e.opts.EmitUnpopulated: + fields = unpopulatedFieldRanger{Message: m, skipNull: false} + case e.opts.EmitDefaultValues: + fields = unpopulatedFieldRanger{Message: m, skipNull: true} + } + if typeURL != "" { + fields = typeURLFieldRanger{fields, typeURL} + } + + var err error + order.RangeFields(fields, order.IndexNameFieldOrder, func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + name := fd.JSONName() + if e.opts.UseProtoNames { + name = fd.TextName() + } + + if err = e.WriteName(name); err != nil { + return false + } + if err = e.marshalValue(v, fd); err != nil { + return false + } + return true + }) + return err +} + +// marshalValue marshals the given protoreflect.Value. +func (e encoder) marshalValue(val protoreflect.Value, fd protoreflect.FieldDescriptor) error { + switch { + case fd.IsList(): + return e.marshalList(val.List(), fd) + case fd.IsMap(): + return e.marshalMap(val.Map(), fd) + default: + return e.marshalSingular(val, fd) + } +} + +// marshalSingular marshals the given non-repeated field value. This includes +// all scalar types, enums, messages, and groups. +func (e encoder) marshalSingular(val protoreflect.Value, fd protoreflect.FieldDescriptor) error { + if !val.IsValid() { + e.WriteNull() + return nil + } + + switch kind := fd.Kind(); kind { + case protoreflect.BoolKind: + e.WriteBool(val.Bool()) + + case protoreflect.StringKind: + if e.WriteString(val.String()) != nil { + return errors.InvalidUTF8(string(fd.FullName())) + } + + case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind: + e.WriteInt(val.Int()) + + case protoreflect.Uint32Kind, protoreflect.Fixed32Kind: + e.WriteUint(val.Uint()) + + case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Uint64Kind, + protoreflect.Sfixed64Kind, protoreflect.Fixed64Kind: + // 64-bit integers are written out as JSON string. + e.WriteString(val.String()) + + case protoreflect.FloatKind: + // Encoder.WriteFloat handles the special numbers NaN and infinites. + e.WriteFloat(val.Float(), 32) + + case protoreflect.DoubleKind: + // Encoder.WriteFloat handles the special numbers NaN and infinites. + e.WriteFloat(val.Float(), 64) + + case protoreflect.BytesKind: + e.WriteString(base64.StdEncoding.EncodeToString(val.Bytes())) + + case protoreflect.EnumKind: + if fd.Enum().FullName() == genid.NullValue_enum_fullname { + e.WriteNull() + } else { + desc := fd.Enum().Values().ByNumber(val.Enum()) + if e.opts.UseEnumNumbers || desc == nil { + e.WriteInt(int64(val.Enum())) + } else { + e.WriteString(string(desc.Name())) + } + } + + case protoreflect.MessageKind, protoreflect.GroupKind: + if err := e.marshalMessage(val.Message(), ""); err != nil { + return err + } + + default: + panic(fmt.Sprintf("%v has unknown kind: %v", fd.FullName(), kind)) + } + return nil +} + +// marshalList marshals the given protoreflect.List. +func (e encoder) marshalList(list protoreflect.List, fd protoreflect.FieldDescriptor) error { + e.StartArray() + defer e.EndArray() + + for i := 0; i < list.Len(); i++ { + item := list.Get(i) + if err := e.marshalSingular(item, fd); err != nil { + return err + } + } + return nil +} + +// marshalMap marshals given protoreflect.Map. +func (e encoder) marshalMap(mmap protoreflect.Map, fd protoreflect.FieldDescriptor) error { + e.StartObject() + defer e.EndObject() + + var err error + order.RangeEntries(mmap, order.GenericKeyOrder, func(k protoreflect.MapKey, v protoreflect.Value) bool { + if err = e.WriteName(k.String()); err != nil { + return false + } + if err = e.marshalSingular(v, fd.MapValue()); err != nil { + return false + } + return true + }) + return err +} diff --git a/vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go b/vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go new file mode 100644 index 000000000..e9fe10394 --- /dev/null +++ b/vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go @@ -0,0 +1,880 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protojson + +import ( + "bytes" + "fmt" + "math" + "strconv" + "strings" + "time" + + "google.golang.org/protobuf/internal/encoding/json" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" +) + +type marshalFunc func(encoder, protoreflect.Message) error + +// wellKnownTypeMarshaler returns a marshal function if the message type +// has specialized serialization behavior. It returns nil otherwise. +func wellKnownTypeMarshaler(name protoreflect.FullName) marshalFunc { + if name.Parent() == genid.GoogleProtobuf_package { + switch name.Name() { + case genid.Any_message_name: + return encoder.marshalAny + case genid.Timestamp_message_name: + return encoder.marshalTimestamp + case genid.Duration_message_name: + return encoder.marshalDuration + case genid.BoolValue_message_name, + genid.Int32Value_message_name, + genid.Int64Value_message_name, + genid.UInt32Value_message_name, + genid.UInt64Value_message_name, + genid.FloatValue_message_name, + genid.DoubleValue_message_name, + genid.StringValue_message_name, + genid.BytesValue_message_name: + return encoder.marshalWrapperType + case genid.Struct_message_name: + return encoder.marshalStruct + case genid.ListValue_message_name: + return encoder.marshalListValue + case genid.Value_message_name: + return encoder.marshalKnownValue + case genid.FieldMask_message_name: + return encoder.marshalFieldMask + case genid.Empty_message_name: + return encoder.marshalEmpty + } + } + return nil +} + +type unmarshalFunc func(decoder, protoreflect.Message) error + +// wellKnownTypeUnmarshaler returns a unmarshal function if the message type +// has specialized serialization behavior. It returns nil otherwise. +func wellKnownTypeUnmarshaler(name protoreflect.FullName) unmarshalFunc { + if name.Parent() == genid.GoogleProtobuf_package { + switch name.Name() { + case genid.Any_message_name: + return decoder.unmarshalAny + case genid.Timestamp_message_name: + return decoder.unmarshalTimestamp + case genid.Duration_message_name: + return decoder.unmarshalDuration + case genid.BoolValue_message_name, + genid.Int32Value_message_name, + genid.Int64Value_message_name, + genid.UInt32Value_message_name, + genid.UInt64Value_message_name, + genid.FloatValue_message_name, + genid.DoubleValue_message_name, + genid.StringValue_message_name, + genid.BytesValue_message_name: + return decoder.unmarshalWrapperType + case genid.Struct_message_name: + return decoder.unmarshalStruct + case genid.ListValue_message_name: + return decoder.unmarshalListValue + case genid.Value_message_name: + return decoder.unmarshalKnownValue + case genid.FieldMask_message_name: + return decoder.unmarshalFieldMask + case genid.Empty_message_name: + return decoder.unmarshalEmpty + } + } + return nil +} + +// The JSON representation of an Any message uses the regular representation of +// the deserialized, embedded message, with an additional field `@type` which +// contains the type URL. If the embedded message type is well-known and has a +// custom JSON representation, that representation will be embedded adding a +// field `value` which holds the custom JSON in addition to the `@type` field. + +func (e encoder) marshalAny(m protoreflect.Message) error { + fds := m.Descriptor().Fields() + fdType := fds.ByNumber(genid.Any_TypeUrl_field_number) + fdValue := fds.ByNumber(genid.Any_Value_field_number) + + if !m.Has(fdType) { + if !m.Has(fdValue) { + // If message is empty, marshal out empty JSON object. + e.StartObject() + e.EndObject() + return nil + } else { + // Return error if type_url field is not set, but value is set. + return errors.New("%s: %v is not set", genid.Any_message_fullname, genid.Any_TypeUrl_field_name) + } + } + + typeVal := m.Get(fdType) + valueVal := m.Get(fdValue) + + // Resolve the type in order to unmarshal value field. + typeURL := typeVal.String() + emt, err := e.opts.Resolver.FindMessageByURL(typeURL) + if err != nil { + return errors.New("%s: unable to resolve %q: %v", genid.Any_message_fullname, typeURL, err) + } + + em := emt.New() + err = proto.UnmarshalOptions{ + AllowPartial: true, // never check required fields inside an Any + Resolver: e.opts.Resolver, + }.Unmarshal(valueVal.Bytes(), em.Interface()) + if err != nil { + return errors.New("%s: unable to unmarshal %q: %v", genid.Any_message_fullname, typeURL, err) + } + + // If type of value has custom JSON encoding, marshal out a field "value" + // with corresponding custom JSON encoding of the embedded message as a + // field. + if marshal := wellKnownTypeMarshaler(emt.Descriptor().FullName()); marshal != nil { + e.StartObject() + defer e.EndObject() + + // Marshal out @type field. + e.WriteName("@type") + if err := e.WriteString(typeURL); err != nil { + return err + } + + e.WriteName("value") + return marshal(e, em) + } + + // Else, marshal out the embedded message's fields in this Any object. + if err := e.marshalMessage(em, typeURL); err != nil { + return err + } + + return nil +} + +func (d decoder) unmarshalAny(m protoreflect.Message) error { + // Peek to check for json.ObjectOpen to avoid advancing a read. + start, err := d.Peek() + if err != nil { + return err + } + if start.Kind() != json.ObjectOpen { + return d.unexpectedTokenError(start) + } + + // Use another decoder to parse the unread bytes for @type field. This + // avoids advancing a read from current decoder because the current JSON + // object may contain the fields of the embedded type. + dec := decoder{d.Clone(), UnmarshalOptions{RecursionLimit: d.opts.RecursionLimit}} + tok, err := findTypeURL(dec) + switch err { + case errEmptyObject: + // An empty JSON object translates to an empty Any message. + d.Read() // Read json.ObjectOpen. + d.Read() // Read json.ObjectClose. + return nil + + case errMissingType: + if d.opts.DiscardUnknown { + // Treat all fields as unknowns, similar to an empty object. + return d.skipJSONValue() + } + // Use start.Pos() for line position. + return d.newError(start.Pos(), err.Error()) + + default: + if err != nil { + return err + } + } + + typeURL := tok.ParsedString() + emt, err := d.opts.Resolver.FindMessageByURL(typeURL) + if err != nil { + return d.newError(tok.Pos(), "unable to resolve %v: %q", tok.RawString(), err) + } + + // Create new message for the embedded message type and unmarshal into it. + em := emt.New() + if unmarshal := wellKnownTypeUnmarshaler(emt.Descriptor().FullName()); unmarshal != nil { + // If embedded message is a custom type, + // unmarshal the JSON "value" field into it. + if err := d.unmarshalAnyValue(unmarshal, em); err != nil { + return err + } + } else { + // Else unmarshal the current JSON object into it. + if err := d.unmarshalMessage(em, true); err != nil { + return err + } + } + // Serialize the embedded message and assign the resulting bytes to the + // proto value field. + b, err := proto.MarshalOptions{ + AllowPartial: true, // No need to check required fields inside an Any. + Deterministic: true, + }.Marshal(em.Interface()) + if err != nil { + return d.newError(start.Pos(), "error in marshaling Any.value field: %v", err) + } + + fds := m.Descriptor().Fields() + fdType := fds.ByNumber(genid.Any_TypeUrl_field_number) + fdValue := fds.ByNumber(genid.Any_Value_field_number) + + m.Set(fdType, protoreflect.ValueOfString(typeURL)) + m.Set(fdValue, protoreflect.ValueOfBytes(b)) + return nil +} + +var errEmptyObject = fmt.Errorf(`empty object`) +var errMissingType = fmt.Errorf(`missing "@type" field`) + +// findTypeURL returns the token for the "@type" field value from the given +// JSON bytes. It is expected that the given bytes start with json.ObjectOpen. +// It returns errEmptyObject if the JSON object is empty or errMissingType if +// @type field does not exist. It returns other error if the @type field is not +// valid or other decoding issues. +func findTypeURL(d decoder) (json.Token, error) { + var typeURL string + var typeTok json.Token + numFields := 0 + // Skip start object. + d.Read() + +Loop: + for { + tok, err := d.Read() + if err != nil { + return json.Token{}, err + } + + switch tok.Kind() { + case json.ObjectClose: + if typeURL == "" { + // Did not find @type field. + if numFields > 0 { + return json.Token{}, errMissingType + } + return json.Token{}, errEmptyObject + } + break Loop + + case json.Name: + numFields++ + if tok.Name() != "@type" { + // Skip value. + if err := d.skipJSONValue(); err != nil { + return json.Token{}, err + } + continue + } + + // Return error if this was previously set already. + if typeURL != "" { + return json.Token{}, d.newError(tok.Pos(), `duplicate "@type" field`) + } + // Read field value. + tok, err := d.Read() + if err != nil { + return json.Token{}, err + } + if tok.Kind() != json.String { + return json.Token{}, d.newError(tok.Pos(), `@type field value is not a string: %v`, tok.RawString()) + } + typeURL = tok.ParsedString() + if typeURL == "" { + return json.Token{}, d.newError(tok.Pos(), `@type field contains empty value`) + } + typeTok = tok + } + } + + return typeTok, nil +} + +// skipJSONValue parses a JSON value (null, boolean, string, number, object and +// array) in order to advance the read to the next JSON value. It relies on +// the decoder returning an error if the types are not in valid sequence. +func (d decoder) skipJSONValue() error { + var open int + for { + tok, err := d.Read() + if err != nil { + return err + } + switch tok.Kind() { + case json.ObjectClose, json.ArrayClose: + open-- + case json.ObjectOpen, json.ArrayOpen: + open++ + if open > d.opts.RecursionLimit { + return errors.New("exceeded max recursion depth") + } + case json.EOF: + // This can only happen if there's a bug in Decoder.Read. + // Avoid an infinite loop if this does happen. + return errors.New("unexpected EOF") + } + if open == 0 { + return nil + } + } +} + +// unmarshalAnyValue unmarshals the given custom-type message from the JSON +// object's "value" field. +func (d decoder) unmarshalAnyValue(unmarshal unmarshalFunc, m protoreflect.Message) error { + // Skip ObjectOpen, and start reading the fields. + d.Read() + + var found bool // Used for detecting duplicate "value". + for { + tok, err := d.Read() + if err != nil { + return err + } + switch tok.Kind() { + case json.ObjectClose: + if !found { + // We tolerate an omitted `value` field with the google.protobuf.Empty Well-Known-Type, + // for compatibility with other proto runtimes that have interpreted the spec differently. + if m.Descriptor().FullName() != genid.Empty_message_fullname { + return d.newError(tok.Pos(), `missing "value" field`) + } + } + return nil + + case json.Name: + switch tok.Name() { + case "@type": + // Skip the value as this was previously parsed already. + d.Read() + + case "value": + if found { + return d.newError(tok.Pos(), `duplicate "value" field`) + } + // Unmarshal the field value into the given message. + if err := unmarshal(d, m); err != nil { + return err + } + found = true + + default: + if d.opts.DiscardUnknown { + if err := d.skipJSONValue(); err != nil { + return err + } + continue + } + return d.newError(tok.Pos(), "unknown field %v", tok.RawString()) + } + } + } +} + +// Wrapper types are encoded as JSON primitives like string, number or boolean. + +func (e encoder) marshalWrapperType(m protoreflect.Message) error { + fd := m.Descriptor().Fields().ByNumber(genid.WrapperValue_Value_field_number) + val := m.Get(fd) + return e.marshalSingular(val, fd) +} + +func (d decoder) unmarshalWrapperType(m protoreflect.Message) error { + fd := m.Descriptor().Fields().ByNumber(genid.WrapperValue_Value_field_number) + val, err := d.unmarshalScalar(fd) + if err != nil { + return err + } + m.Set(fd, val) + return nil +} + +// The JSON representation for Empty is an empty JSON object. + +func (e encoder) marshalEmpty(protoreflect.Message) error { + e.StartObject() + e.EndObject() + return nil +} + +func (d decoder) unmarshalEmpty(protoreflect.Message) error { + tok, err := d.Read() + if err != nil { + return err + } + if tok.Kind() != json.ObjectOpen { + return d.unexpectedTokenError(tok) + } + + for { + tok, err := d.Read() + if err != nil { + return err + } + switch tok.Kind() { + case json.ObjectClose: + return nil + + case json.Name: + if d.opts.DiscardUnknown { + if err := d.skipJSONValue(); err != nil { + return err + } + continue + } + return d.newError(tok.Pos(), "unknown field %v", tok.RawString()) + + default: + return d.unexpectedTokenError(tok) + } + } +} + +// The JSON representation for Struct is a JSON object that contains the encoded +// Struct.fields map and follows the serialization rules for a map. + +func (e encoder) marshalStruct(m protoreflect.Message) error { + fd := m.Descriptor().Fields().ByNumber(genid.Struct_Fields_field_number) + return e.marshalMap(m.Get(fd).Map(), fd) +} + +func (d decoder) unmarshalStruct(m protoreflect.Message) error { + fd := m.Descriptor().Fields().ByNumber(genid.Struct_Fields_field_number) + return d.unmarshalMap(m.Mutable(fd).Map(), fd) +} + +// The JSON representation for ListValue is JSON array that contains the encoded +// ListValue.values repeated field and follows the serialization rules for a +// repeated field. + +func (e encoder) marshalListValue(m protoreflect.Message) error { + fd := m.Descriptor().Fields().ByNumber(genid.ListValue_Values_field_number) + return e.marshalList(m.Get(fd).List(), fd) +} + +func (d decoder) unmarshalListValue(m protoreflect.Message) error { + fd := m.Descriptor().Fields().ByNumber(genid.ListValue_Values_field_number) + return d.unmarshalList(m.Mutable(fd).List(), fd) +} + +// The JSON representation for a Value is dependent on the oneof field that is +// set. Each of the field in the oneof has its own custom serialization rule. A +// Value message needs to be a oneof field set, else it is an error. + +func (e encoder) marshalKnownValue(m protoreflect.Message) error { + od := m.Descriptor().Oneofs().ByName(genid.Value_Kind_oneof_name) + fd := m.WhichOneof(od) + if fd == nil { + return errors.New("%s: none of the oneof fields is set", genid.Value_message_fullname) + } + if fd.Number() == genid.Value_NumberValue_field_number { + if v := m.Get(fd).Float(); math.IsNaN(v) || math.IsInf(v, 0) { + return errors.New("%s: invalid %v value", genid.Value_NumberValue_field_fullname, v) + } + } + return e.marshalSingular(m.Get(fd), fd) +} + +func (d decoder) unmarshalKnownValue(m protoreflect.Message) error { + tok, err := d.Peek() + if err != nil { + return err + } + + var fd protoreflect.FieldDescriptor + var val protoreflect.Value + switch tok.Kind() { + case json.Null: + d.Read() + fd = m.Descriptor().Fields().ByNumber(genid.Value_NullValue_field_number) + val = protoreflect.ValueOfEnum(0) + + case json.Bool: + tok, err := d.Read() + if err != nil { + return err + } + fd = m.Descriptor().Fields().ByNumber(genid.Value_BoolValue_field_number) + val = protoreflect.ValueOfBool(tok.Bool()) + + case json.Number: + tok, err := d.Read() + if err != nil { + return err + } + fd = m.Descriptor().Fields().ByNumber(genid.Value_NumberValue_field_number) + var ok bool + val, ok = unmarshalFloat(tok, 64) + if !ok { + return d.newError(tok.Pos(), "invalid %v: %v", genid.Value_message_fullname, tok.RawString()) + } + + case json.String: + // A JSON string may have been encoded from the number_value field, + // e.g. "NaN", "Infinity", etc. Parsing a proto double type also allows + // for it to be in JSON string form. Given this custom encoding spec, + // however, there is no way to identify that and hence a JSON string is + // always assigned to the string_value field, which means that certain + // encoding cannot be parsed back to the same field. + tok, err := d.Read() + if err != nil { + return err + } + fd = m.Descriptor().Fields().ByNumber(genid.Value_StringValue_field_number) + val = protoreflect.ValueOfString(tok.ParsedString()) + + case json.ObjectOpen: + fd = m.Descriptor().Fields().ByNumber(genid.Value_StructValue_field_number) + val = m.NewField(fd) + if err := d.unmarshalStruct(val.Message()); err != nil { + return err + } + + case json.ArrayOpen: + fd = m.Descriptor().Fields().ByNumber(genid.Value_ListValue_field_number) + val = m.NewField(fd) + if err := d.unmarshalListValue(val.Message()); err != nil { + return err + } + + default: + return d.newError(tok.Pos(), "invalid %v: %v", genid.Value_message_fullname, tok.RawString()) + } + + m.Set(fd, val) + return nil +} + +// The JSON representation for a Duration is a JSON string that ends in the +// suffix "s" (indicating seconds) and is preceded by the number of seconds, +// with nanoseconds expressed as fractional seconds. +// +// Durations less than one second are represented with a 0 seconds field and a +// positive or negative nanos field. For durations of one second or more, a +// non-zero value for the nanos field must be of the same sign as the seconds +// field. +// +// Duration.seconds must be from -315,576,000,000 to +315,576,000,000 inclusive. +// Duration.nanos must be from -999,999,999 to +999,999,999 inclusive. + +const ( + secondsInNanos = 999999999 + maxSecondsInDuration = 315576000000 +) + +func (e encoder) marshalDuration(m protoreflect.Message) error { + fds := m.Descriptor().Fields() + fdSeconds := fds.ByNumber(genid.Duration_Seconds_field_number) + fdNanos := fds.ByNumber(genid.Duration_Nanos_field_number) + + secsVal := m.Get(fdSeconds) + nanosVal := m.Get(fdNanos) + secs := secsVal.Int() + nanos := nanosVal.Int() + if secs < -maxSecondsInDuration || secs > maxSecondsInDuration { + return errors.New("%s: seconds out of range %v", genid.Duration_message_fullname, secs) + } + if nanos < -secondsInNanos || nanos > secondsInNanos { + return errors.New("%s: nanos out of range %v", genid.Duration_message_fullname, nanos) + } + if (secs > 0 && nanos < 0) || (secs < 0 && nanos > 0) { + return errors.New("%s: signs of seconds and nanos do not match", genid.Duration_message_fullname) + } + // Generated output always contains 0, 3, 6, or 9 fractional digits, + // depending on required precision, followed by the suffix "s". + var sign string + if secs < 0 || nanos < 0 { + sign, secs, nanos = "-", -1*secs, -1*nanos + } + x := fmt.Sprintf("%s%d.%09d", sign, secs, nanos) + x = strings.TrimSuffix(x, "000") + x = strings.TrimSuffix(x, "000") + x = strings.TrimSuffix(x, ".000") + e.WriteString(x + "s") + return nil +} + +func (d decoder) unmarshalDuration(m protoreflect.Message) error { + tok, err := d.Read() + if err != nil { + return err + } + if tok.Kind() != json.String { + return d.unexpectedTokenError(tok) + } + + secs, nanos, ok := parseDuration(tok.ParsedString()) + if !ok { + return d.newError(tok.Pos(), "invalid %v value %v", genid.Duration_message_fullname, tok.RawString()) + } + // Validate seconds. No need to validate nanos because parseDuration would + // have covered that already. + if secs < -maxSecondsInDuration || secs > maxSecondsInDuration { + return d.newError(tok.Pos(), "%v value out of range: %v", genid.Duration_message_fullname, tok.RawString()) + } + + fds := m.Descriptor().Fields() + fdSeconds := fds.ByNumber(genid.Duration_Seconds_field_number) + fdNanos := fds.ByNumber(genid.Duration_Nanos_field_number) + + m.Set(fdSeconds, protoreflect.ValueOfInt64(secs)) + m.Set(fdNanos, protoreflect.ValueOfInt32(nanos)) + return nil +} + +// parseDuration parses the given input string for seconds and nanoseconds value +// for the Duration JSON format. The format is a decimal number with a suffix +// 's'. It can have optional plus/minus sign. There needs to be at least an +// integer or fractional part. Fractional part is limited to 9 digits only for +// nanoseconds precision, regardless of whether there are trailing zero digits. +// Example values are 1s, 0.1s, 1.s, .1s, +1s, -1s, -.1s. +func parseDuration(input string) (int64, int32, bool) { + b := []byte(input) + size := len(b) + if size < 2 { + return 0, 0, false + } + if b[size-1] != 's' { + return 0, 0, false + } + b = b[:size-1] + + // Read optional plus/minus symbol. + var neg bool + switch b[0] { + case '-': + neg = true + b = b[1:] + case '+': + b = b[1:] + } + if len(b) == 0 { + return 0, 0, false + } + + // Read the integer part. + var intp []byte + switch { + case b[0] == '0': + b = b[1:] + + case '1' <= b[0] && b[0] <= '9': + intp = b[0:] + b = b[1:] + n := 1 + for len(b) > 0 && '0' <= b[0] && b[0] <= '9' { + n++ + b = b[1:] + } + intp = intp[:n] + + case b[0] == '.': + // Continue below. + + default: + return 0, 0, false + } + + hasFrac := false + var frac [9]byte + if len(b) > 0 { + if b[0] != '.' { + return 0, 0, false + } + // Read the fractional part. + b = b[1:] + n := 0 + for len(b) > 0 && n < 9 && '0' <= b[0] && b[0] <= '9' { + frac[n] = b[0] + n++ + b = b[1:] + } + // It is not valid if there are more bytes left. + if len(b) > 0 { + return 0, 0, false + } + // Pad fractional part with 0s. + for i := n; i < 9; i++ { + frac[i] = '0' + } + hasFrac = true + } + + var secs int64 + if len(intp) > 0 { + var err error + secs, err = strconv.ParseInt(string(intp), 10, 64) + if err != nil { + return 0, 0, false + } + } + + var nanos int64 + if hasFrac { + nanob := bytes.TrimLeft(frac[:], "0") + if len(nanob) > 0 { + var err error + nanos, err = strconv.ParseInt(string(nanob), 10, 32) + if err != nil { + return 0, 0, false + } + } + } + + if neg { + if secs > 0 { + secs = -secs + } + if nanos > 0 { + nanos = -nanos + } + } + return secs, int32(nanos), true +} + +// The JSON representation for a Timestamp is a JSON string in the RFC 3339 +// format, i.e. "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" where +// {year} is always expressed using four digits while {month}, {day}, {hour}, +// {min}, and {sec} are zero-padded to two digits each. The fractional seconds, +// which can go up to 9 digits, up to 1 nanosecond resolution, is optional. The +// "Z" suffix indicates the timezone ("UTC"); the timezone is required. Encoding +// should always use UTC (as indicated by "Z") and a decoder should be able to +// accept both UTC and other timezones (as indicated by an offset). +// +// Timestamp.seconds must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z +// inclusive. +// Timestamp.nanos must be from 0 to 999,999,999 inclusive. + +const ( + maxTimestampSeconds = 253402300799 + minTimestampSeconds = -62135596800 +) + +func (e encoder) marshalTimestamp(m protoreflect.Message) error { + fds := m.Descriptor().Fields() + fdSeconds := fds.ByNumber(genid.Timestamp_Seconds_field_number) + fdNanos := fds.ByNumber(genid.Timestamp_Nanos_field_number) + + secsVal := m.Get(fdSeconds) + nanosVal := m.Get(fdNanos) + secs := secsVal.Int() + nanos := nanosVal.Int() + if secs < minTimestampSeconds || secs > maxTimestampSeconds { + return errors.New("%s: seconds out of range %v", genid.Timestamp_message_fullname, secs) + } + if nanos < 0 || nanos > secondsInNanos { + return errors.New("%s: nanos out of range %v", genid.Timestamp_message_fullname, nanos) + } + // Uses RFC 3339, where generated output will be Z-normalized and uses 0, 3, + // 6 or 9 fractional digits. + t := time.Unix(secs, nanos).UTC() + x := t.Format("2006-01-02T15:04:05.000000000") + x = strings.TrimSuffix(x, "000") + x = strings.TrimSuffix(x, "000") + x = strings.TrimSuffix(x, ".000") + e.WriteString(x + "Z") + return nil +} + +func (d decoder) unmarshalTimestamp(m protoreflect.Message) error { + tok, err := d.Read() + if err != nil { + return err + } + if tok.Kind() != json.String { + return d.unexpectedTokenError(tok) + } + + s := tok.ParsedString() + t, err := time.Parse(time.RFC3339Nano, s) + if err != nil { + return d.newError(tok.Pos(), "invalid %v value %v", genid.Timestamp_message_fullname, tok.RawString()) + } + // Validate seconds. + secs := t.Unix() + if secs < minTimestampSeconds || secs > maxTimestampSeconds { + return d.newError(tok.Pos(), "%v value out of range: %v", genid.Timestamp_message_fullname, tok.RawString()) + } + // Validate subseconds. + i := strings.LastIndexByte(s, '.') // start of subsecond field + j := strings.LastIndexAny(s, "Z-+") // start of timezone field + if i >= 0 && j >= i && j-i > len(".999999999") { + return d.newError(tok.Pos(), "invalid %v value %v", genid.Timestamp_message_fullname, tok.RawString()) + } + + fds := m.Descriptor().Fields() + fdSeconds := fds.ByNumber(genid.Timestamp_Seconds_field_number) + fdNanos := fds.ByNumber(genid.Timestamp_Nanos_field_number) + + m.Set(fdSeconds, protoreflect.ValueOfInt64(secs)) + m.Set(fdNanos, protoreflect.ValueOfInt32(int32(t.Nanosecond()))) + return nil +} + +// The JSON representation for a FieldMask is a JSON string where paths are +// separated by a comma. Fields name in each path are converted to/from +// lower-camel naming conventions. Encoding should fail if the path name would +// end up differently after a round-trip. + +func (e encoder) marshalFieldMask(m protoreflect.Message) error { + fd := m.Descriptor().Fields().ByNumber(genid.FieldMask_Paths_field_number) + list := m.Get(fd).List() + paths := make([]string, 0, list.Len()) + + for i := 0; i < list.Len(); i++ { + s := list.Get(i).String() + if !protoreflect.FullName(s).IsValid() { + return errors.New("%s contains invalid path: %q", genid.FieldMask_Paths_field_fullname, s) + } + // Return error if conversion to camelCase is not reversible. + cc := strs.JSONCamelCase(s) + if s != strs.JSONSnakeCase(cc) { + return errors.New("%s contains irreversible value %q", genid.FieldMask_Paths_field_fullname, s) + } + paths = append(paths, cc) + } + + e.WriteString(strings.Join(paths, ",")) + return nil +} + +func (d decoder) unmarshalFieldMask(m protoreflect.Message) error { + tok, err := d.Read() + if err != nil { + return err + } + if tok.Kind() != json.String { + return d.unexpectedTokenError(tok) + } + str := strings.TrimSpace(tok.ParsedString()) + if str == "" { + return nil + } + paths := strings.Split(str, ",") + + fd := m.Descriptor().Fields().ByNumber(genid.FieldMask_Paths_field_number) + list := m.Mutable(fd).List() + + for _, s0 := range paths { + s := strs.JSONSnakeCase(s0) + if strings.Contains(s0, "_") || !protoreflect.FullName(s).IsValid() { + return d.newError(tok.Pos(), "%v contains invalid path: %q", genid.FieldMask_Paths_field_fullname, s0) + } + list.Append(protoreflect.ValueOfString(s)) + } + return nil +} diff --git a/vendor/google.golang.org/protobuf/internal/encoding/json/decode.go b/vendor/google.golang.org/protobuf/internal/encoding/json/decode.go new file mode 100644 index 000000000..ea1d3e65a --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/encoding/json/decode.go @@ -0,0 +1,340 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package json + +import ( + "bytes" + "fmt" + "io" + "regexp" + "unicode/utf8" + + "google.golang.org/protobuf/internal/errors" +) + +// call specifies which Decoder method was invoked. +type call uint8 + +const ( + readCall call = iota + peekCall +) + +const unexpectedFmt = "unexpected token %s" + +// ErrUnexpectedEOF means that EOF was encountered in the middle of the input. +var ErrUnexpectedEOF = errors.New("%v", io.ErrUnexpectedEOF) + +// Decoder is a token-based JSON decoder. +type Decoder struct { + // lastCall is last method called, either readCall or peekCall. + // Initial value is readCall. + lastCall call + + // lastToken contains the last read token. + lastToken Token + + // lastErr contains the last read error. + lastErr error + + // openStack is a stack containing ObjectOpen and ArrayOpen values. The + // top of stack represents the object or the array the current value is + // directly located in. + openStack []Kind + + // orig is used in reporting line and column. + orig []byte + // in contains the unconsumed input. + in []byte +} + +// NewDecoder returns a Decoder to read the given []byte. +func NewDecoder(b []byte) *Decoder { + return &Decoder{orig: b, in: b} +} + +// Peek looks ahead and returns the next token kind without advancing a read. +func (d *Decoder) Peek() (Token, error) { + defer func() { d.lastCall = peekCall }() + if d.lastCall == readCall { + d.lastToken, d.lastErr = d.Read() + } + return d.lastToken, d.lastErr +} + +// Read returns the next JSON token. +// It will return an error if there is no valid token. +func (d *Decoder) Read() (Token, error) { + const scalar = Null | Bool | Number | String + + defer func() { d.lastCall = readCall }() + if d.lastCall == peekCall { + return d.lastToken, d.lastErr + } + + tok, err := d.parseNext() + if err != nil { + return Token{}, err + } + + switch tok.kind { + case EOF: + if len(d.openStack) != 0 || + d.lastToken.kind&scalar|ObjectClose|ArrayClose == 0 { + return Token{}, ErrUnexpectedEOF + } + + case Null: + if !d.isValueNext() { + return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString()) + } + + case Bool, Number: + if !d.isValueNext() { + return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString()) + } + + case String: + if d.isValueNext() { + break + } + // This string token should only be for a field name. + if d.lastToken.kind&(ObjectOpen|comma) == 0 { + return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString()) + } + if len(d.in) == 0 { + return Token{}, ErrUnexpectedEOF + } + if c := d.in[0]; c != ':' { + return Token{}, d.newSyntaxError(d.currPos(), `unexpected character %s, missing ":" after field name`, string(c)) + } + tok.kind = Name + d.consume(1) + + case ObjectOpen, ArrayOpen: + if !d.isValueNext() { + return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString()) + } + d.openStack = append(d.openStack, tok.kind) + + case ObjectClose: + if len(d.openStack) == 0 || + d.lastToken.kind&(Name|comma) != 0 || + d.openStack[len(d.openStack)-1] != ObjectOpen { + return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString()) + } + d.openStack = d.openStack[:len(d.openStack)-1] + + case ArrayClose: + if len(d.openStack) == 0 || + d.lastToken.kind == comma || + d.openStack[len(d.openStack)-1] != ArrayOpen { + return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString()) + } + d.openStack = d.openStack[:len(d.openStack)-1] + + case comma: + if len(d.openStack) == 0 || + d.lastToken.kind&(scalar|ObjectClose|ArrayClose) == 0 { + return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString()) + } + } + + // Update d.lastToken only after validating token to be in the right sequence. + d.lastToken = tok + + if d.lastToken.kind == comma { + return d.Read() + } + return tok, nil +} + +// Any sequence that looks like a non-delimiter (for error reporting). +var errRegexp = regexp.MustCompile(`^([-+._a-zA-Z0-9]{1,32}|.)`) + +// parseNext parses for the next JSON token. It returns a Token object for +// different types, except for Name. It does not handle whether the next token +// is in a valid sequence or not. +func (d *Decoder) parseNext() (Token, error) { + // Trim leading spaces. + d.consume(0) + + in := d.in + if len(in) == 0 { + return d.consumeToken(EOF, 0), nil + } + + switch in[0] { + case 'n': + if n := matchWithDelim("null", in); n != 0 { + return d.consumeToken(Null, n), nil + } + + case 't': + if n := matchWithDelim("true", in); n != 0 { + return d.consumeBoolToken(true, n), nil + } + + case 'f': + if n := matchWithDelim("false", in); n != 0 { + return d.consumeBoolToken(false, n), nil + } + + case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + if n, ok := parseNumber(in); ok { + return d.consumeToken(Number, n), nil + } + + case '"': + s, n, err := d.parseString(in) + if err != nil { + return Token{}, err + } + return d.consumeStringToken(s, n), nil + + case '{': + return d.consumeToken(ObjectOpen, 1), nil + + case '}': + return d.consumeToken(ObjectClose, 1), nil + + case '[': + return d.consumeToken(ArrayOpen, 1), nil + + case ']': + return d.consumeToken(ArrayClose, 1), nil + + case ',': + return d.consumeToken(comma, 1), nil + } + return Token{}, d.newSyntaxError(d.currPos(), "invalid value %s", errRegexp.Find(in)) +} + +// newSyntaxError returns an error with line and column information useful for +// syntax errors. +func (d *Decoder) newSyntaxError(pos int, f string, x ...any) error { + e := errors.New(f, x...) + line, column := d.Position(pos) + return errors.New("syntax error (line %d:%d): %v", line, column, e) +} + +// Position returns line and column number of given index of the original input. +// It will panic if index is out of range. +func (d *Decoder) Position(idx int) (line int, column int) { + b := d.orig[:idx] + line = bytes.Count(b, []byte("\n")) + 1 + if i := bytes.LastIndexByte(b, '\n'); i >= 0 { + b = b[i+1:] + } + column = utf8.RuneCount(b) + 1 // ignore multi-rune characters + return line, column +} + +// currPos returns the current index position of d.in from d.orig. +func (d *Decoder) currPos() int { + return len(d.orig) - len(d.in) +} + +// matchWithDelim matches s with the input b and verifies that the match +// terminates with a delimiter of some form (e.g., r"[^-+_.a-zA-Z0-9]"). +// As a special case, EOF is considered a delimiter. It returns the length of s +// if there is a match, else 0. +func matchWithDelim(s string, b []byte) int { + if !bytes.HasPrefix(b, []byte(s)) { + return 0 + } + + n := len(s) + if n < len(b) && isNotDelim(b[n]) { + return 0 + } + return n +} + +// isNotDelim returns true if given byte is a not delimiter character. +func isNotDelim(c byte) bool { + return (c == '-' || c == '+' || c == '.' || c == '_' || + ('a' <= c && c <= 'z') || + ('A' <= c && c <= 'Z') || + ('0' <= c && c <= '9')) +} + +// consume consumes n bytes of input and any subsequent whitespace. +func (d *Decoder) consume(n int) { + d.in = d.in[n:] + for len(d.in) > 0 { + switch d.in[0] { + case ' ', '\n', '\r', '\t': + d.in = d.in[1:] + default: + return + } + } +} + +// isValueNext returns true if next type should be a JSON value: Null, +// Number, String or Bool. +func (d *Decoder) isValueNext() bool { + if len(d.openStack) == 0 { + return d.lastToken.kind == 0 + } + + start := d.openStack[len(d.openStack)-1] + switch start { + case ObjectOpen: + return d.lastToken.kind&Name != 0 + case ArrayOpen: + return d.lastToken.kind&(ArrayOpen|comma) != 0 + } + panic(fmt.Sprintf( + "unreachable logic in Decoder.isValueNext, lastToken.kind: %v, openStack: %v", + d.lastToken.kind, start)) +} + +// consumeToken constructs a Token for given Kind with raw value derived from +// current d.in and given size, and consumes the given size-length of it. +func (d *Decoder) consumeToken(kind Kind, size int) Token { + tok := Token{ + kind: kind, + raw: d.in[:size], + pos: len(d.orig) - len(d.in), + } + d.consume(size) + return tok +} + +// consumeBoolToken constructs a Token for a Bool kind with raw value derived from +// current d.in and given size. +func (d *Decoder) consumeBoolToken(b bool, size int) Token { + tok := Token{ + kind: Bool, + raw: d.in[:size], + pos: len(d.orig) - len(d.in), + boo: b, + } + d.consume(size) + return tok +} + +// consumeStringToken constructs a Token for a String kind with raw value derived +// from current d.in and given size. +func (d *Decoder) consumeStringToken(s string, size int) Token { + tok := Token{ + kind: String, + raw: d.in[:size], + pos: len(d.orig) - len(d.in), + str: s, + } + d.consume(size) + return tok +} + +// Clone returns a copy of the Decoder for use in reading ahead the next JSON +// object, array or other values without affecting current Decoder. +func (d *Decoder) Clone() *Decoder { + ret := *d + ret.openStack = append([]Kind(nil), ret.openStack...) + return &ret +} diff --git a/vendor/google.golang.org/protobuf/internal/encoding/json/decode_number.go b/vendor/google.golang.org/protobuf/internal/encoding/json/decode_number.go new file mode 100644 index 000000000..2999d7133 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/encoding/json/decode_number.go @@ -0,0 +1,254 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package json + +import ( + "bytes" + "strconv" +) + +// parseNumber reads the given []byte for a valid JSON number. If it is valid, +// it returns the number of bytes. Parsing logic follows the definition in +// https://tools.ietf.org/html/rfc7159#section-6, and is based off +// encoding/json.isValidNumber function. +func parseNumber(input []byte) (int, bool) { + var n int + + s := input + if len(s) == 0 { + return 0, false + } + + // Optional - + if s[0] == '-' { + s = s[1:] + n++ + if len(s) == 0 { + return 0, false + } + } + + // Digits + switch { + case s[0] == '0': + s = s[1:] + n++ + + case '1' <= s[0] && s[0] <= '9': + s = s[1:] + n++ + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + n++ + } + + default: + return 0, false + } + + // . followed by 1 or more digits. + if len(s) >= 2 && s[0] == '.' && '0' <= s[1] && s[1] <= '9' { + s = s[2:] + n += 2 + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + n++ + } + } + + // e or E followed by an optional - or + and + // 1 or more digits. + if len(s) >= 2 && (s[0] == 'e' || s[0] == 'E') { + s = s[1:] + n++ + if s[0] == '+' || s[0] == '-' { + s = s[1:] + n++ + if len(s) == 0 { + return 0, false + } + } + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + n++ + } + } + + // Check that next byte is a delimiter or it is at the end. + if n < len(input) && isNotDelim(input[n]) { + return 0, false + } + + return n, true +} + +// numberParts is the result of parsing out a valid JSON number. It contains +// the parts of a number. The parts are used for integer conversion. +type numberParts struct { + neg bool + intp []byte + frac []byte + exp []byte +} + +// parseNumber constructs numberParts from given []byte. The logic here is +// similar to consumeNumber above with the difference of having to construct +// numberParts. The slice fields in numberParts are subslices of the input. +func parseNumberParts(input []byte) (numberParts, bool) { + var neg bool + var intp []byte + var frac []byte + var exp []byte + + s := input + if len(s) == 0 { + return numberParts{}, false + } + + // Optional - + if s[0] == '-' { + neg = true + s = s[1:] + if len(s) == 0 { + return numberParts{}, false + } + } + + // Digits + switch { + case s[0] == '0': + // Skip first 0 and no need to store. + s = s[1:] + + case '1' <= s[0] && s[0] <= '9': + intp = s + n := 1 + s = s[1:] + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + n++ + } + intp = intp[:n] + + default: + return numberParts{}, false + } + + // . followed by 1 or more digits. + if len(s) >= 2 && s[0] == '.' && '0' <= s[1] && s[1] <= '9' { + frac = s[1:] + n := 1 + s = s[2:] + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + n++ + } + frac = frac[:n] + } + + // e or E followed by an optional - or + and + // 1 or more digits. + if len(s) >= 2 && (s[0] == 'e' || s[0] == 'E') { + s = s[1:] + exp = s + n := 0 + if s[0] == '+' || s[0] == '-' { + s = s[1:] + n++ + if len(s) == 0 { + return numberParts{}, false + } + } + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + n++ + } + exp = exp[:n] + } + + return numberParts{ + neg: neg, + intp: intp, + frac: bytes.TrimRight(frac, "0"), // Remove unnecessary 0s to the right. + exp: exp, + }, true +} + +// normalizeToIntString returns an integer string in normal form without the +// E-notation for given numberParts. It will return false if it is not an +// integer or if the exponent exceeds than max/min int value. +func normalizeToIntString(n numberParts) (string, bool) { + intpSize := len(n.intp) + fracSize := len(n.frac) + + if intpSize == 0 && fracSize == 0 { + return "0", true + } + + var exp int + if len(n.exp) > 0 { + i, err := strconv.ParseInt(string(n.exp), 10, 32) + if err != nil { + return "", false + } + exp = int(i) + } + + var num []byte + if exp >= 0 { + // For positive E, shift fraction digits into integer part and also pad + // with zeroes as needed. + + // If there are more digits in fraction than the E value, then the + // number is not an integer. + if fracSize > exp { + return "", false + } + + // Make sure resulting digits are within max value limit to avoid + // unnecessarily constructing a large byte slice that may simply fail + // later on. + const maxDigits = 20 // Max uint64 value has 20 decimal digits. + if intpSize+exp > maxDigits { + return "", false + } + + // Set cap to make a copy of integer part when appended. + num = n.intp[:len(n.intp):len(n.intp)] + num = append(num, n.frac...) + for i := 0; i < exp-fracSize; i++ { + num = append(num, '0') + } + } else { + // For negative E, shift digits in integer part out. + + // If there are fractions, then the number is not an integer. + if fracSize > 0 { + return "", false + } + + // index is where the decimal point will be after adjusting for negative + // exponent. + index := intpSize + exp + if index < 0 { + return "", false + } + + num = n.intp + // If any of the digits being shifted to the right of the decimal point + // is non-zero, then the number is not an integer. + for i := index; i < intpSize; i++ { + if num[i] != '0' { + return "", false + } + } + num = num[:index] + } + + if n.neg { + return "-" + string(num), true + } + return string(num), true +} diff --git a/vendor/google.golang.org/protobuf/internal/encoding/json/decode_string.go b/vendor/google.golang.org/protobuf/internal/encoding/json/decode_string.go new file mode 100644 index 000000000..f7fea7d8d --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/encoding/json/decode_string.go @@ -0,0 +1,91 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package json + +import ( + "strconv" + "unicode" + "unicode/utf16" + "unicode/utf8" + + "google.golang.org/protobuf/internal/strs" +) + +func (d *Decoder) parseString(in []byte) (string, int, error) { + in0 := in + if len(in) == 0 { + return "", 0, ErrUnexpectedEOF + } + if in[0] != '"' { + return "", 0, d.newSyntaxError(d.currPos(), "invalid character %q at start of string", in[0]) + } + in = in[1:] + i := indexNeedEscapeInBytes(in) + in, out := in[i:], in[:i:i] // set cap to prevent mutations + for len(in) > 0 { + switch r, n := utf8.DecodeRune(in); { + case r == utf8.RuneError && n == 1: + return "", 0, d.newSyntaxError(d.currPos(), "invalid UTF-8 in string") + case r < ' ': + return "", 0, d.newSyntaxError(d.currPos(), "invalid character %q in string", r) + case r == '"': + in = in[1:] + n := len(in0) - len(in) + return string(out), n, nil + case r == '\\': + if len(in) < 2 { + return "", 0, ErrUnexpectedEOF + } + switch r := in[1]; r { + case '"', '\\', '/': + in, out = in[2:], append(out, r) + case 'b': + in, out = in[2:], append(out, '\b') + case 'f': + in, out = in[2:], append(out, '\f') + case 'n': + in, out = in[2:], append(out, '\n') + case 'r': + in, out = in[2:], append(out, '\r') + case 't': + in, out = in[2:], append(out, '\t') + case 'u': + if len(in) < 6 { + return "", 0, ErrUnexpectedEOF + } + v, err := strconv.ParseUint(string(in[2:6]), 16, 16) + if err != nil { + return "", 0, d.newSyntaxError(d.currPos(), "invalid escape code %q in string", in[:6]) + } + in = in[6:] + + r := rune(v) + if utf16.IsSurrogate(r) { + if len(in) < 6 { + return "", 0, ErrUnexpectedEOF + } + v, err := strconv.ParseUint(string(in[2:6]), 16, 16) + r = utf16.DecodeRune(r, rune(v)) + if in[0] != '\\' || in[1] != 'u' || + r == unicode.ReplacementChar || err != nil { + return "", 0, d.newSyntaxError(d.currPos(), "invalid escape code %q in string", in[:6]) + } + in = in[6:] + } + out = append(out, string(r)...) + default: + return "", 0, d.newSyntaxError(d.currPos(), "invalid escape code %q in string", in[:2]) + } + default: + i := indexNeedEscapeInBytes(in[n:]) + in, out = in[n+i:], append(out, in[:n+i]...) + } + } + return "", 0, ErrUnexpectedEOF +} + +// indexNeedEscapeInBytes returns the index of the character that needs +// escaping. If no characters need escaping, this returns the input length. +func indexNeedEscapeInBytes(b []byte) int { return indexNeedEscapeInString(strs.UnsafeString(b)) } diff --git a/vendor/google.golang.org/protobuf/internal/encoding/json/decode_token.go b/vendor/google.golang.org/protobuf/internal/encoding/json/decode_token.go new file mode 100644 index 000000000..50578d659 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/encoding/json/decode_token.go @@ -0,0 +1,192 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package json + +import ( + "bytes" + "fmt" + "strconv" +) + +// Kind represents a token kind expressible in the JSON format. +type Kind uint16 + +const ( + Invalid Kind = (1 << iota) / 2 + EOF + Null + Bool + Number + String + Name + ObjectOpen + ObjectClose + ArrayOpen + ArrayClose + + // comma is only for parsing in between tokens and + // does not need to be exported. + comma +) + +func (k Kind) String() string { + switch k { + case EOF: + return "eof" + case Null: + return "null" + case Bool: + return "bool" + case Number: + return "number" + case String: + return "string" + case ObjectOpen: + return "{" + case ObjectClose: + return "}" + case Name: + return "name" + case ArrayOpen: + return "[" + case ArrayClose: + return "]" + case comma: + return "," + } + return "" +} + +// Token provides a parsed token kind and value. +// +// Values are provided by the difference accessor methods. The accessor methods +// Name, Bool, and ParsedString will panic if called on the wrong kind. There +// are different accessor methods for the Number kind for converting to the +// appropriate Go numeric type and those methods have the ok return value. +type Token struct { + // Token kind. + kind Kind + // pos provides the position of the token in the original input. + pos int + // raw bytes of the serialized token. + // This is a subslice into the original input. + raw []byte + // boo is parsed boolean value. + boo bool + // str is parsed string value. + str string +} + +// Kind returns the token kind. +func (t Token) Kind() Kind { + return t.kind +} + +// RawString returns the read value in string. +func (t Token) RawString() string { + return string(t.raw) +} + +// Pos returns the token position from the input. +func (t Token) Pos() int { + return t.pos +} + +// Name returns the object name if token is Name, else it panics. +func (t Token) Name() string { + if t.kind == Name { + return t.str + } + panic(fmt.Sprintf("Token is not a Name: %v", t.RawString())) +} + +// Bool returns the bool value if token kind is Bool, else it panics. +func (t Token) Bool() bool { + if t.kind == Bool { + return t.boo + } + panic(fmt.Sprintf("Token is not a Bool: %v", t.RawString())) +} + +// ParsedString returns the string value for a JSON string token or the read +// value in string if token is not a string. +func (t Token) ParsedString() string { + if t.kind == String { + return t.str + } + panic(fmt.Sprintf("Token is not a String: %v", t.RawString())) +} + +// Float returns the floating-point number if token kind is Number. +// +// The floating-point precision is specified by the bitSize parameter: 32 for +// float32 or 64 for float64. If bitSize=32, the result still has type float64, +// but it will be convertible to float32 without changing its value. It will +// return false if the number exceeds the floating point limits for given +// bitSize. +func (t Token) Float(bitSize int) (float64, bool) { + if t.kind != Number { + return 0, false + } + f, err := strconv.ParseFloat(t.RawString(), bitSize) + if err != nil { + return 0, false + } + return f, true +} + +// Int returns the signed integer number if token is Number. +// +// The given bitSize specifies the integer type that the result must fit into. +// It returns false if the number is not an integer value or if the result +// exceeds the limits for given bitSize. +func (t Token) Int(bitSize int) (int64, bool) { + s, ok := t.getIntStr() + if !ok { + return 0, false + } + n, err := strconv.ParseInt(s, 10, bitSize) + if err != nil { + return 0, false + } + return n, true +} + +// Uint returns the signed integer number if token is Number. +// +// The given bitSize specifies the unsigned integer type that the result must +// fit into. It returns false if the number is not an unsigned integer value +// or if the result exceeds the limits for given bitSize. +func (t Token) Uint(bitSize int) (uint64, bool) { + s, ok := t.getIntStr() + if !ok { + return 0, false + } + n, err := strconv.ParseUint(s, 10, bitSize) + if err != nil { + return 0, false + } + return n, true +} + +func (t Token) getIntStr() (string, bool) { + if t.kind != Number { + return "", false + } + parts, ok := parseNumberParts(t.raw) + if !ok { + return "", false + } + return normalizeToIntString(parts) +} + +// TokenEquals returns true if given Tokens are equal, else false. +func TokenEquals(x, y Token) bool { + return x.kind == y.kind && + x.pos == y.pos && + bytes.Equal(x.raw, y.raw) && + x.boo == y.boo && + x.str == y.str +} diff --git a/vendor/google.golang.org/protobuf/internal/encoding/json/encode.go b/vendor/google.golang.org/protobuf/internal/encoding/json/encode.go new file mode 100644 index 000000000..934f2dcb3 --- /dev/null +++ b/vendor/google.golang.org/protobuf/internal/encoding/json/encode.go @@ -0,0 +1,278 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package json + +import ( + "math" + "math/bits" + "strconv" + "strings" + "unicode/utf8" + + "google.golang.org/protobuf/internal/detrand" + "google.golang.org/protobuf/internal/errors" +) + +// kind represents an encoding type. +type kind uint8 + +const ( + _ kind = (1 << iota) / 2 + name + scalar + objectOpen + objectClose + arrayOpen + arrayClose +) + +// Encoder provides methods to write out JSON constructs and values. The user is +// responsible for producing valid sequences of JSON constructs and values. +type Encoder struct { + indent string + lastKind kind + indents []byte + out []byte +} + +// NewEncoder returns an Encoder. +// +// If indent is a non-empty string, it causes every entry for an Array or Object +// to be preceded by the indent and trailed by a newline. +func NewEncoder(buf []byte, indent string) (*Encoder, error) { + e := &Encoder{ + out: buf, + } + if len(indent) > 0 { + if strings.Trim(indent, " \t") != "" { + return nil, errors.New("indent may only be composed of space or tab characters") + } + e.indent = indent + } + return e, nil +} + +// Bytes returns the content of the written bytes. +func (e *Encoder) Bytes() []byte { + return e.out +} + +// WriteNull writes out the null value. +func (e *Encoder) WriteNull() { + e.prepareNext(scalar) + e.out = append(e.out, "null"...) +} + +// WriteBool writes out the given boolean value. +func (e *Encoder) WriteBool(b bool) { + e.prepareNext(scalar) + if b { + e.out = append(e.out, "true"...) + } else { + e.out = append(e.out, "false"...) + } +} + +// WriteString writes out the given string in JSON string value. Returns error +// if input string contains invalid UTF-8. +func (e *Encoder) WriteString(s string) error { + e.prepareNext(scalar) + var err error + if e.out, err = appendString(e.out, s); err != nil { + return err + } + return nil +} + +// Sentinel error used for indicating invalid UTF-8. +var errInvalidUTF8 = errors.New("invalid UTF-8") + +func appendString(out []byte, in string) ([]byte, error) { + out = append(out, '"') + i := indexNeedEscapeInString(in) + in, out = in[i:], append(out, in[:i]...) + for len(in) > 0 { + switch r, n := utf8.DecodeRuneInString(in); { + case r == utf8.RuneError && n == 1: + return out, errInvalidUTF8 + case r < ' ' || r == '"' || r == '\\': + out = append(out, '\\') + switch r { + case '"', '\\': + out = append(out, byte(r)) + case '\b': + out = append(out, 'b') + case '\f': + out = append(out, 'f') + case '\n': + out = append(out, 'n') + case '\r': + out = append(out, 'r') + case '\t': + out = append(out, 't') + default: + out = append(out, 'u') + out = append(out, "0000"[1+(bits.Len32(uint32(r))-1)/4:]...) + out = strconv.AppendUint(out, uint64(r), 16) + } + in = in[n:] + default: + i := indexNeedEscapeInString(in[n:]) + in, out = in[n+i:], append(out, in[:n+i]...) + } + } + out = append(out, '"') + return out, nil +} + +// indexNeedEscapeInString returns the index of the character that needs +// escaping. If no characters need escaping, this returns the input length. +func indexNeedEscapeInString(s string) int { + for i, r := range s { + if r < ' ' || r == '\\' || r == '"' || r == utf8.RuneError { + return i + } + } + return len(s) +} + +// WriteFloat writes out the given float and bitSize in JSON number value. +func (e *Encoder) WriteFloat(n float64, bitSize int) { + e.prepareNext(scalar) + e.out = appendFloat(e.out, n, bitSize) +} + +// appendFloat formats given float in bitSize, and appends to the given []byte. +func appendFloat(out []byte, n float64, bitSize int) []byte { + switch { + case math.IsNaN(n): + return append(out, `"NaN"`...) + case math.IsInf(n, +1): + return append(out, `"Infinity"`...) + case math.IsInf(n, -1): + return append(out, `"-Infinity"`...) + } + + // JSON number formatting logic based on encoding/json. + // See floatEncoder.encode for reference. + fmt := byte('f') + if abs := math.Abs(n); abs != 0 { + if bitSize == 64 && (abs < 1e-6 || abs >= 1e21) || + bitSize == 32 && (float32(abs) < 1e-6 || float32(abs) >= 1e21) { + fmt = 'e' + } + } + out = strconv.AppendFloat(out, n, fmt, -1, bitSize) + if fmt == 'e' { + n := len(out) + if n >= 4 && out[n-4] == 'e' && out[n-3] == '-' && out[n-2] == '0' { + out[n-2] = out[n-1] + out = out[:n-1] + } + } + return out +} + +// WriteInt writes out the given signed integer in JSON number value. +func (e *Encoder) WriteInt(n int64) { + e.prepareNext(scalar) + e.out = strconv.AppendInt(e.out, n, 10) +} + +// WriteUint writes out the given unsigned integer in JSON number value. +func (e *Encoder) WriteUint(n uint64) { + e.prepareNext(scalar) + e.out = strconv.AppendUint(e.out, n, 10) +} + +// StartObject writes out the '{' symbol. +func (e *Encoder) StartObject() { + e.prepareNext(objectOpen) + e.out = append(e.out, '{') +} + +// EndObject writes out the '}' symbol. +func (e *Encoder) EndObject() { + e.prepareNext(objectClose) + e.out = append(e.out, '}') +} + +// WriteName writes out the given string in JSON string value and the name +// separator ':'. Returns error if input string contains invalid UTF-8, which +// should not be likely as protobuf field names should be valid. +func (e *Encoder) WriteName(s string) error { + e.prepareNext(name) + var err error + // Append to output regardless of error. + e.out, err = appendString(e.out, s) + e.out = append(e.out, ':') + return err +} + +// StartArray writes out the '[' symbol. +func (e *Encoder) StartArray() { + e.prepareNext(arrayOpen) + e.out = append(e.out, '[') +} + +// EndArray writes out the ']' symbol. +func (e *Encoder) EndArray() { + e.prepareNext(arrayClose) + e.out = append(e.out, ']') +} + +// prepareNext adds possible comma and indentation for the next value based +// on last type and indent option. It also updates lastKind to next. +func (e *Encoder) prepareNext(next kind) { + defer func() { + // Set lastKind to next. + e.lastKind = next + }() + + if len(e.indent) == 0 { + // Need to add comma on the following condition. + if e.lastKind&(scalar|objectClose|arrayClose) != 0 && + next&(name|scalar|objectOpen|arrayOpen) != 0 { + e.out = append(e.out, ',') + // For single-line output, add a random extra space after each + // comma to make output unstable. + if detrand.Bool() { + e.out = append(e.out, ' ') + } + } + return + } + + switch { + case e.lastKind&(objectOpen|arrayOpen) != 0: + // If next type is NOT closing, add indent and newline. + if next&(objectClose|arrayClose) == 0 { + e.indents = append(e.indents, e.indent...) + e.out = append(e.out, '\n') + e.out = append(e.out, e.indents...) + } + + case e.lastKind&(scalar|objectClose|arrayClose) != 0: + switch { + // If next type is either a value or name, add comma and newline. + case next&(name|scalar|objectOpen|arrayOpen) != 0: + e.out = append(e.out, ',', '\n') + + // If next type is a closing object or array, adjust indentation. + case next&(objectClose|arrayClose) != 0: + e.indents = e.indents[:len(e.indents)-len(e.indent)] + e.out = append(e.out, '\n') + } + e.out = append(e.out, e.indents...) + + case e.lastKind&name != 0: + e.out = append(e.out, ' ') + // For multi-line output, add a random extra space after key: to make + // output unstable. + if detrand.Bool() { + e.out = append(e.out, ' ') + } + } +} diff --git a/vendor/google.golang.org/protobuf/types/dynamicpb/dynamic.go b/vendor/google.golang.org/protobuf/types/dynamicpb/dynamic.go new file mode 100644 index 000000000..1ba1dfa5a --- /dev/null +++ b/vendor/google.golang.org/protobuf/types/dynamicpb/dynamic.go @@ -0,0 +1,718 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package dynamicpb creates protocol buffer messages using runtime type information. +package dynamicpb + +import ( + "math" + + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" + "google.golang.org/protobuf/runtime/protoimpl" +) + +// enum is a dynamic protoreflect.Enum. +type enum struct { + num protoreflect.EnumNumber + typ protoreflect.EnumType +} + +func (e enum) Descriptor() protoreflect.EnumDescriptor { return e.typ.Descriptor() } +func (e enum) Type() protoreflect.EnumType { return e.typ } +func (e enum) Number() protoreflect.EnumNumber { return e.num } + +// enumType is a dynamic protoreflect.EnumType. +type enumType struct { + desc protoreflect.EnumDescriptor +} + +// NewEnumType creates a new EnumType with the provided descriptor. +// +// EnumTypes created by this package are equal if their descriptors are equal. +// That is, if ed1 == ed2, then NewEnumType(ed1) == NewEnumType(ed2). +// +// Enum values created by the EnumType are equal if their numbers are equal. +func NewEnumType(desc protoreflect.EnumDescriptor) protoreflect.EnumType { + return enumType{desc} +} + +func (et enumType) New(n protoreflect.EnumNumber) protoreflect.Enum { return enum{n, et} } +func (et enumType) Descriptor() protoreflect.EnumDescriptor { return et.desc } + +// extensionType is a dynamic protoreflect.ExtensionType. +type extensionType struct { + desc extensionTypeDescriptor +} + +// A Message is a dynamically constructed protocol buffer message. +// +// Message implements the [google.golang.org/protobuf/proto.Message] interface, +// and may be used with all standard proto package functions +// such as Marshal, Unmarshal, and so forth. +// +// Message also implements the [protoreflect.Message] interface. +// See the [protoreflect] package documentation for that interface for how to +// get and set fields and otherwise interact with the contents of a Message. +// +// Reflection API functions which construct messages, such as NewField, +// return new dynamic messages of the appropriate type. Functions which take +// messages, such as Set for a message-value field, will accept any message +// with a compatible type. +// +// Operations which modify a Message are not safe for concurrent use. +type Message struct { + typ messageType + known map[protoreflect.FieldNumber]protoreflect.Value + ext map[protoreflect.FieldNumber]protoreflect.FieldDescriptor + unknown protoreflect.RawFields +} + +var ( + _ protoreflect.Message = (*Message)(nil) + _ protoreflect.ProtoMessage = (*Message)(nil) + _ protoiface.MessageV1 = (*Message)(nil) +) + +// NewMessage creates a new message with the provided descriptor. +func NewMessage(desc protoreflect.MessageDescriptor) *Message { + return &Message{ + typ: messageType{desc}, + known: make(map[protoreflect.FieldNumber]protoreflect.Value), + ext: make(map[protoreflect.FieldNumber]protoreflect.FieldDescriptor), + } +} + +// ProtoMessage implements the legacy message interface. +func (m *Message) ProtoMessage() {} + +// ProtoReflect implements the [protoreflect.ProtoMessage] interface. +func (m *Message) ProtoReflect() protoreflect.Message { + return m +} + +// String returns a string representation of a message. +func (m *Message) String() string { + return protoimpl.X.MessageStringOf(m) +} + +// Reset clears the message to be empty, but preserves the dynamic message type. +func (m *Message) Reset() { + m.known = make(map[protoreflect.FieldNumber]protoreflect.Value) + m.ext = make(map[protoreflect.FieldNumber]protoreflect.FieldDescriptor) + m.unknown = nil +} + +// Descriptor returns the message descriptor. +func (m *Message) Descriptor() protoreflect.MessageDescriptor { + return m.typ.desc +} + +// Type returns the message type. +func (m *Message) Type() protoreflect.MessageType { + return m.typ +} + +// New returns a newly allocated empty message with the same descriptor. +// See [protoreflect.Message] for details. +func (m *Message) New() protoreflect.Message { + return m.Type().New() +} + +// Interface returns the message. +// See [protoreflect.Message] for details. +func (m *Message) Interface() protoreflect.ProtoMessage { + return m +} + +// ProtoMethods is an internal detail of the [protoreflect.Message] interface. +// Users should never call this directly. +func (m *Message) ProtoMethods() *protoiface.Methods { + return nil +} + +// Range visits every populated field in undefined order. +// See [protoreflect.Message] for details. +func (m *Message) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + for num, v := range m.known { + fd := m.ext[num] + if fd == nil { + fd = m.Descriptor().Fields().ByNumber(num) + } + if !isSet(fd, v) { + continue + } + if !f(fd, v) { + return + } + } +} + +// Has reports whether a field is populated. +// See [protoreflect.Message] for details. +func (m *Message) Has(fd protoreflect.FieldDescriptor) bool { + m.checkField(fd) + if fd.IsExtension() && m.ext[fd.Number()] != fd { + return false + } + v, ok := m.known[fd.Number()] + if !ok { + return false + } + return isSet(fd, v) +} + +// Clear clears a field. +// See [protoreflect.Message] for details. +func (m *Message) Clear(fd protoreflect.FieldDescriptor) { + m.checkField(fd) + num := fd.Number() + delete(m.known, num) + delete(m.ext, num) +} + +// Get returns the value of a field. +// See [protoreflect.Message] for details. +func (m *Message) Get(fd protoreflect.FieldDescriptor) protoreflect.Value { + m.checkField(fd) + num := fd.Number() + if fd.IsExtension() { + if fd != m.ext[num] { + return fd.(protoreflect.ExtensionTypeDescriptor).Type().Zero() + } + return m.known[num] + } + if v, ok := m.known[num]; ok { + switch { + case fd.IsMap(): + if v.Map().Len() > 0 { + return v + } + case fd.IsList(): + if v.List().Len() > 0 { + return v + } + default: + return v + } + } + switch { + case fd.IsMap(): + return protoreflect.ValueOfMap(&dynamicMap{desc: fd}) + case fd.IsList(): + return protoreflect.ValueOfList(emptyList{desc: fd}) + case fd.Message() != nil: + return protoreflect.ValueOfMessage(&Message{typ: messageType{fd.Message()}}) + case fd.Kind() == protoreflect.BytesKind: + return protoreflect.ValueOfBytes(append([]byte(nil), fd.Default().Bytes()...)) + default: + return fd.Default() + } +} + +// Mutable returns a mutable reference to a repeated, map, or message field. +// See [protoreflect.Message] for details. +func (m *Message) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + m.checkField(fd) + if !fd.IsMap() && !fd.IsList() && fd.Message() == nil { + panic(errors.New("%v: getting mutable reference to non-composite type", fd.FullName())) + } + if m.known == nil { + panic(errors.New("%v: modification of read-only message", fd.FullName())) + } + num := fd.Number() + if fd.IsExtension() { + if fd != m.ext[num] { + m.ext[num] = fd + m.known[num] = fd.(protoreflect.ExtensionTypeDescriptor).Type().New() + } + return m.known[num] + } + if v, ok := m.known[num]; ok { + return v + } + m.clearOtherOneofFields(fd) + m.known[num] = m.NewField(fd) + if fd.IsExtension() { + m.ext[num] = fd + } + return m.known[num] +} + +// Set stores a value in a field. +// See [protoreflect.Message] for details. +func (m *Message) Set(fd protoreflect.FieldDescriptor, v protoreflect.Value) { + m.checkField(fd) + if m.known == nil { + panic(errors.New("%v: modification of read-only message", fd.FullName())) + } + if fd.IsExtension() { + isValid := true + switch { + case !fd.(protoreflect.ExtensionTypeDescriptor).Type().IsValidValue(v): + isValid = false + case fd.IsList(): + isValid = v.List().IsValid() + case fd.IsMap(): + isValid = v.Map().IsValid() + case fd.Message() != nil: + isValid = v.Message().IsValid() + } + if !isValid { + panic(errors.New("%v: assigning invalid type %T", fd.FullName(), v.Interface())) + } + m.ext[fd.Number()] = fd + } else { + typecheck(fd, v) + } + m.clearOtherOneofFields(fd) + m.known[fd.Number()] = v +} + +func (m *Message) clearOtherOneofFields(fd protoreflect.FieldDescriptor) { + od := fd.ContainingOneof() + if od == nil { + return + } + num := fd.Number() + for i := 0; i < od.Fields().Len(); i++ { + if n := od.Fields().Get(i).Number(); n != num { + delete(m.known, n) + } + } +} + +// NewField returns a new value for assignable to the field of a given descriptor. +// See [protoreflect.Message] for details. +func (m *Message) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + m.checkField(fd) + switch { + case fd.IsExtension(): + return fd.(protoreflect.ExtensionTypeDescriptor).Type().New() + case fd.IsMap(): + return protoreflect.ValueOfMap(&dynamicMap{ + desc: fd, + mapv: make(map[any]protoreflect.Value), + }) + case fd.IsList(): + return protoreflect.ValueOfList(&dynamicList{desc: fd}) + case fd.Message() != nil: + return protoreflect.ValueOfMessage(NewMessage(fd.Message()).ProtoReflect()) + default: + return fd.Default() + } +} + +// WhichOneof reports which field in a oneof is populated, returning nil if none are populated. +// See [protoreflect.Message] for details. +func (m *Message) WhichOneof(od protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + for i := 0; i < od.Fields().Len(); i++ { + fd := od.Fields().Get(i) + if m.Has(fd) { + return fd + } + } + return nil +} + +// GetUnknown returns the raw unknown fields. +// See [protoreflect.Message] for details. +func (m *Message) GetUnknown() protoreflect.RawFields { + return m.unknown +} + +// SetUnknown sets the raw unknown fields. +// See [protoreflect.Message] for details. +func (m *Message) SetUnknown(r protoreflect.RawFields) { + if m.known == nil { + panic(errors.New("%v: modification of read-only message", m.typ.desc.FullName())) + } + m.unknown = r +} + +// IsValid reports whether the message is valid. +// See [protoreflect.Message] for details. +func (m *Message) IsValid() bool { + return m.known != nil +} + +func (m *Message) checkField(fd protoreflect.FieldDescriptor) { + if fd.IsExtension() && fd.ContainingMessage().FullName() == m.Descriptor().FullName() { + if _, ok := fd.(protoreflect.ExtensionTypeDescriptor); !ok { + panic(errors.New("%v: extension field descriptor does not implement ExtensionTypeDescriptor", fd.FullName())) + } + return + } + if fd.Parent() == m.Descriptor() { + return + } + fields := m.Descriptor().Fields() + index := fd.Index() + if index >= fields.Len() || fields.Get(index) != fd { + panic(errors.New("%v: field descriptor does not belong to this message", fd.FullName())) + } +} + +type messageType struct { + desc protoreflect.MessageDescriptor +} + +// NewMessageType creates a new MessageType with the provided descriptor. +// +// MessageTypes created by this package are equal if their descriptors are equal. +// That is, if md1 == md2, then NewMessageType(md1) == NewMessageType(md2). +func NewMessageType(desc protoreflect.MessageDescriptor) protoreflect.MessageType { + return messageType{desc} +} + +func (mt messageType) New() protoreflect.Message { return NewMessage(mt.desc) } +func (mt messageType) Zero() protoreflect.Message { return &Message{typ: messageType{mt.desc}} } +func (mt messageType) Descriptor() protoreflect.MessageDescriptor { return mt.desc } +func (mt messageType) Enum(i int) protoreflect.EnumType { + if ed := mt.desc.Fields().Get(i).Enum(); ed != nil { + return NewEnumType(ed) + } + return nil +} +func (mt messageType) Message(i int) protoreflect.MessageType { + if md := mt.desc.Fields().Get(i).Message(); md != nil { + return NewMessageType(md) + } + return nil +} + +type emptyList struct { + desc protoreflect.FieldDescriptor +} + +func (x emptyList) Len() int { return 0 } +func (x emptyList) Get(n int) protoreflect.Value { panic(errors.New("out of range")) } +func (x emptyList) Set(n int, v protoreflect.Value) { + panic(errors.New("modification of immutable list")) +} +func (x emptyList) Append(v protoreflect.Value) { panic(errors.New("modification of immutable list")) } +func (x emptyList) AppendMutable() protoreflect.Value { + panic(errors.New("modification of immutable list")) +} +func (x emptyList) Truncate(n int) { panic(errors.New("modification of immutable list")) } +func (x emptyList) NewElement() protoreflect.Value { return newListEntry(x.desc) } +func (x emptyList) IsValid() bool { return false } + +type dynamicList struct { + desc protoreflect.FieldDescriptor + list []protoreflect.Value +} + +func (x *dynamicList) Len() int { + return len(x.list) +} + +func (x *dynamicList) Get(n int) protoreflect.Value { + return x.list[n] +} + +func (x *dynamicList) Set(n int, v protoreflect.Value) { + typecheckSingular(x.desc, v) + x.list[n] = v +} + +func (x *dynamicList) Append(v protoreflect.Value) { + typecheckSingular(x.desc, v) + x.list = append(x.list, v) +} + +func (x *dynamicList) AppendMutable() protoreflect.Value { + if x.desc.Message() == nil { + panic(errors.New("%v: invalid AppendMutable on list with non-message type", x.desc.FullName())) + } + v := x.NewElement() + x.Append(v) + return v +} + +func (x *dynamicList) Truncate(n int) { + // Zero truncated elements to avoid keeping data live. + for i := n; i < len(x.list); i++ { + x.list[i] = protoreflect.Value{} + } + x.list = x.list[:n] +} + +func (x *dynamicList) NewElement() protoreflect.Value { + return newListEntry(x.desc) +} + +func (x *dynamicList) IsValid() bool { + return true +} + +type dynamicMap struct { + desc protoreflect.FieldDescriptor + mapv map[any]protoreflect.Value +} + +func (x *dynamicMap) Get(k protoreflect.MapKey) protoreflect.Value { return x.mapv[k.Interface()] } +func (x *dynamicMap) Set(k protoreflect.MapKey, v protoreflect.Value) { + typecheckSingular(x.desc.MapKey(), k.Value()) + typecheckSingular(x.desc.MapValue(), v) + x.mapv[k.Interface()] = v +} +func (x *dynamicMap) Has(k protoreflect.MapKey) bool { return x.Get(k).IsValid() } +func (x *dynamicMap) Clear(k protoreflect.MapKey) { delete(x.mapv, k.Interface()) } +func (x *dynamicMap) Mutable(k protoreflect.MapKey) protoreflect.Value { + if x.desc.MapValue().Message() == nil { + panic(errors.New("%v: invalid Mutable on map with non-message value type", x.desc.FullName())) + } + v := x.Get(k) + if !v.IsValid() { + v = x.NewValue() + x.Set(k, v) + } + return v +} +func (x *dynamicMap) Len() int { return len(x.mapv) } +func (x *dynamicMap) NewValue() protoreflect.Value { + if md := x.desc.MapValue().Message(); md != nil { + return protoreflect.ValueOfMessage(NewMessage(md).ProtoReflect()) + } + return x.desc.MapValue().Default() +} +func (x *dynamicMap) IsValid() bool { + return x.mapv != nil +} + +func (x *dynamicMap) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) { + for k, v := range x.mapv { + if !f(protoreflect.ValueOf(k).MapKey(), v) { + return + } + } +} + +func isSet(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + switch { + case fd.IsMap(): + return v.Map().Len() > 0 + case fd.IsList(): + return v.List().Len() > 0 + case fd.ContainingOneof() != nil: + return true + case !fd.HasPresence() && !fd.IsExtension(): + switch fd.Kind() { + case protoreflect.BoolKind: + return v.Bool() + case protoreflect.EnumKind: + return v.Enum() != 0 + case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed32Kind, protoreflect.Sfixed64Kind: + return v.Int() != 0 + case protoreflect.Uint32Kind, protoreflect.Uint64Kind, protoreflect.Fixed32Kind, protoreflect.Fixed64Kind: + return v.Uint() != 0 + case protoreflect.FloatKind, protoreflect.DoubleKind: + return v.Float() != 0 || math.Signbit(v.Float()) + case protoreflect.StringKind: + return v.String() != "" + case protoreflect.BytesKind: + return len(v.Bytes()) > 0 + } + } + return true +} + +func typecheck(fd protoreflect.FieldDescriptor, v protoreflect.Value) { + if err := typeIsValid(fd, v); err != nil { + panic(err) + } +} + +func typeIsValid(fd protoreflect.FieldDescriptor, v protoreflect.Value) error { + switch { + case !v.IsValid(): + return errors.New("%v: assigning invalid value", fd.FullName()) + case fd.IsMap(): + if mapv, ok := v.Interface().(*dynamicMap); !ok || mapv.desc != fd || !mapv.IsValid() { + return errors.New("%v: assigning invalid type %T", fd.FullName(), v.Interface()) + } + return nil + case fd.IsList(): + switch list := v.Interface().(type) { + case *dynamicList: + if list.desc == fd && list.IsValid() { + return nil + } + case emptyList: + if list.desc == fd && list.IsValid() { + return nil + } + } + return errors.New("%v: assigning invalid type %T", fd.FullName(), v.Interface()) + default: + return singularTypeIsValid(fd, v) + } +} + +func typecheckSingular(fd protoreflect.FieldDescriptor, v protoreflect.Value) { + if err := singularTypeIsValid(fd, v); err != nil { + panic(err) + } +} + +func singularTypeIsValid(fd protoreflect.FieldDescriptor, v protoreflect.Value) error { + vi := v.Interface() + var ok bool + switch fd.Kind() { + case protoreflect.BoolKind: + _, ok = vi.(bool) + case protoreflect.EnumKind: + // We could check against the valid set of enum values, but do not. + _, ok = vi.(protoreflect.EnumNumber) + case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind: + _, ok = vi.(int32) + case protoreflect.Uint32Kind, protoreflect.Fixed32Kind: + _, ok = vi.(uint32) + case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind: + _, ok = vi.(int64) + case protoreflect.Uint64Kind, protoreflect.Fixed64Kind: + _, ok = vi.(uint64) + case protoreflect.FloatKind: + _, ok = vi.(float32) + case protoreflect.DoubleKind: + _, ok = vi.(float64) + case protoreflect.StringKind: + _, ok = vi.(string) + case protoreflect.BytesKind: + _, ok = vi.([]byte) + case protoreflect.MessageKind, protoreflect.GroupKind: + var m protoreflect.Message + m, ok = vi.(protoreflect.Message) + if ok && m.Descriptor().FullName() != fd.Message().FullName() { + return errors.New("%v: assigning invalid message type %v", fd.FullName(), m.Descriptor().FullName()) + } + if dm, ok := vi.(*Message); ok && dm.known == nil { + return errors.New("%v: assigning invalid zero-value message", fd.FullName()) + } + } + if !ok { + return errors.New("%v: assigning invalid type %T", fd.FullName(), v.Interface()) + } + return nil +} + +func newListEntry(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.Kind() { + case protoreflect.BoolKind: + return protoreflect.ValueOfBool(false) + case protoreflect.EnumKind: + return protoreflect.ValueOfEnum(fd.Enum().Values().Get(0).Number()) + case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind: + return protoreflect.ValueOfInt32(0) + case protoreflect.Uint32Kind, protoreflect.Fixed32Kind: + return protoreflect.ValueOfUint32(0) + case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind: + return protoreflect.ValueOfInt64(0) + case protoreflect.Uint64Kind, protoreflect.Fixed64Kind: + return protoreflect.ValueOfUint64(0) + case protoreflect.FloatKind: + return protoreflect.ValueOfFloat32(0) + case protoreflect.DoubleKind: + return protoreflect.ValueOfFloat64(0) + case protoreflect.StringKind: + return protoreflect.ValueOfString("") + case protoreflect.BytesKind: + return protoreflect.ValueOfBytes(nil) + case protoreflect.MessageKind, protoreflect.GroupKind: + return protoreflect.ValueOfMessage(NewMessage(fd.Message()).ProtoReflect()) + } + panic(errors.New("%v: unknown kind %v", fd.FullName(), fd.Kind())) +} + +// NewExtensionType creates a new ExtensionType with the provided descriptor. +// +// Dynamic ExtensionTypes with the same descriptor compare as equal. That is, +// if xd1 == xd2, then NewExtensionType(xd1) == NewExtensionType(xd2). +// +// The InterfaceOf and ValueOf methods of the extension type are defined as: +// +// func (xt extensionType) ValueOf(iv any) protoreflect.Value { +// return protoreflect.ValueOf(iv) +// } +// +// func (xt extensionType) InterfaceOf(v protoreflect.Value) any { +// return v.Interface() +// } +// +// The Go type used by the proto.GetExtension and proto.SetExtension functions +// is determined by these methods, and is therefore equivalent to the Go type +// used to represent a protoreflect.Value. See the protoreflect.Value +// documentation for more details. +func NewExtensionType(desc protoreflect.ExtensionDescriptor) protoreflect.ExtensionType { + if xt, ok := desc.(protoreflect.ExtensionTypeDescriptor); ok { + desc = xt.Descriptor() + } + return extensionType{extensionTypeDescriptor{desc}} +} + +func (xt extensionType) New() protoreflect.Value { + switch { + case xt.desc.IsMap(): + return protoreflect.ValueOfMap(&dynamicMap{ + desc: xt.desc, + mapv: make(map[any]protoreflect.Value), + }) + case xt.desc.IsList(): + return protoreflect.ValueOfList(&dynamicList{desc: xt.desc}) + case xt.desc.Message() != nil: + return protoreflect.ValueOfMessage(NewMessage(xt.desc.Message())) + default: + return xt.desc.Default() + } +} + +func (xt extensionType) Zero() protoreflect.Value { + switch { + case xt.desc.IsMap(): + return protoreflect.ValueOfMap(&dynamicMap{desc: xt.desc}) + case xt.desc.Cardinality() == protoreflect.Repeated: + return protoreflect.ValueOfList(emptyList{desc: xt.desc}) + case xt.desc.Message() != nil: + return protoreflect.ValueOfMessage(&Message{typ: messageType{xt.desc.Message()}}) + default: + return xt.desc.Default() + } +} + +func (xt extensionType) TypeDescriptor() protoreflect.ExtensionTypeDescriptor { + return xt.desc +} + +func (xt extensionType) ValueOf(iv any) protoreflect.Value { + v := protoreflect.ValueOf(iv) + typecheck(xt.desc, v) + return v +} + +func (xt extensionType) InterfaceOf(v protoreflect.Value) any { + typecheck(xt.desc, v) + return v.Interface() +} + +func (xt extensionType) IsValidInterface(iv any) bool { + return typeIsValid(xt.desc, protoreflect.ValueOf(iv)) == nil +} + +func (xt extensionType) IsValidValue(v protoreflect.Value) bool { + return typeIsValid(xt.desc, v) == nil +} + +type extensionTypeDescriptor struct { + protoreflect.ExtensionDescriptor +} + +func (xt extensionTypeDescriptor) Type() protoreflect.ExtensionType { + return extensionType{xt} +} + +func (xt extensionTypeDescriptor) Descriptor() protoreflect.ExtensionDescriptor { + return xt.ExtensionDescriptor +} diff --git a/vendor/google.golang.org/protobuf/types/dynamicpb/types.go b/vendor/google.golang.org/protobuf/types/dynamicpb/types.go new file mode 100644 index 000000000..8e759fc9f --- /dev/null +++ b/vendor/google.golang.org/protobuf/types/dynamicpb/types.go @@ -0,0 +1,180 @@ +// Copyright 2023 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package dynamicpb + +import ( + "fmt" + "strings" + "sync" + "sync/atomic" + + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +type extField struct { + name protoreflect.FullName + number protoreflect.FieldNumber +} + +// A Types is a collection of dynamically constructed descriptors. +// Its methods are safe for concurrent use. +// +// Types implements [protoregistry.MessageTypeResolver] and [protoregistry.ExtensionTypeResolver]. +// A Types may be used as a [google.golang.org/protobuf/proto.UnmarshalOptions.Resolver]. +type Types struct { + // atomicExtFiles is used with sync/atomic and hence must be the first word + // of the struct to guarantee 64-bit alignment. + atomicExtFiles atomic.Uint64 + extMu sync.Mutex + + files *protoregistry.Files + + extensionsByMessage map[extField]protoreflect.ExtensionDescriptor +} + +// NewTypes creates a new Types registry with the provided files. +// The Files registry is retained, and changes to Files will be reflected in Types. +// It is not safe to concurrently change the Files while calling Types methods. +func NewTypes(f *protoregistry.Files) *Types { + return &Types{ + files: f, + } +} + +// FindEnumByName looks up an enum by its full name; +// e.g., "google.protobuf.Field.Kind". +// +// This returns (nil, [protoregistry.NotFound]) if not found. +func (t *Types) FindEnumByName(name protoreflect.FullName) (protoreflect.EnumType, error) { + d, err := t.files.FindDescriptorByName(name) + if err != nil { + return nil, err + } + ed, ok := d.(protoreflect.EnumDescriptor) + if !ok { + return nil, errors.New("found wrong type: got %v, want enum", descName(d)) + } + return NewEnumType(ed), nil +} + +// FindExtensionByName looks up an extension field by the field's full name. +// Note that this is the full name of the field as determined by +// where the extension is declared and is unrelated to the full name of the +// message being extended. +// +// This returns (nil, [protoregistry.NotFound]) if not found. +func (t *Types) FindExtensionByName(name protoreflect.FullName) (protoreflect.ExtensionType, error) { + d, err := t.files.FindDescriptorByName(name) + if err != nil { + return nil, err + } + xd, ok := d.(protoreflect.ExtensionDescriptor) + if !ok { + return nil, errors.New("found wrong type: got %v, want extension", descName(d)) + } + return NewExtensionType(xd), nil +} + +// FindExtensionByNumber looks up an extension field by the field number +// within some parent message, identified by full name. +// +// This returns (nil, [protoregistry.NotFound]) if not found. +func (t *Types) FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error) { + // Construct the extension number map lazily, since not every user will need it. + // Update the map if new files are added to the registry. + if t.atomicExtFiles.Load() != uint64(t.files.NumFiles()) { + t.updateExtensions() + } + xd := t.extensionsByMessage[extField{message, field}] + if xd == nil { + return nil, protoregistry.NotFound + } + return NewExtensionType(xd), nil +} + +// FindMessageByName looks up a message by its full name; +// e.g. "google.protobuf.Any". +// +// This returns (nil, [protoregistry.NotFound]) if not found. +func (t *Types) FindMessageByName(name protoreflect.FullName) (protoreflect.MessageType, error) { + d, err := t.files.FindDescriptorByName(name) + if err != nil { + return nil, err + } + md, ok := d.(protoreflect.MessageDescriptor) + if !ok { + return nil, errors.New("found wrong type: got %v, want message", descName(d)) + } + return NewMessageType(md), nil +} + +// FindMessageByURL looks up a message by a URL identifier. +// See documentation on google.protobuf.Any.type_url for the URL format. +// +// This returns (nil, [protoregistry.NotFound]) if not found. +func (t *Types) FindMessageByURL(url string) (protoreflect.MessageType, error) { + // This function is similar to FindMessageByName but + // truncates anything before and including '/' in the URL. + message := protoreflect.FullName(url) + if i := strings.LastIndexByte(url, '/'); i >= 0 { + message = message[i+len("/"):] + } + return t.FindMessageByName(message) +} + +func (t *Types) updateExtensions() { + t.extMu.Lock() + defer t.extMu.Unlock() + if t.atomicExtFiles.Load() == uint64(t.files.NumFiles()) { + return + } + defer t.atomicExtFiles.Store(uint64(t.files.NumFiles())) + t.files.RangeFiles(func(fd protoreflect.FileDescriptor) bool { + t.registerExtensions(fd.Extensions()) + t.registerExtensionsInMessages(fd.Messages()) + return true + }) +} + +func (t *Types) registerExtensionsInMessages(mds protoreflect.MessageDescriptors) { + count := mds.Len() + for i := 0; i < count; i++ { + md := mds.Get(i) + t.registerExtensions(md.Extensions()) + t.registerExtensionsInMessages(md.Messages()) + } +} + +func (t *Types) registerExtensions(xds protoreflect.ExtensionDescriptors) { + count := xds.Len() + for i := 0; i < count; i++ { + xd := xds.Get(i) + field := xd.Number() + message := xd.ContainingMessage().FullName() + if t.extensionsByMessage == nil { + t.extensionsByMessage = make(map[extField]protoreflect.ExtensionDescriptor) + } + t.extensionsByMessage[extField{message, field}] = xd + } +} + +func descName(d protoreflect.Descriptor) string { + switch d.(type) { + case protoreflect.EnumDescriptor: + return "enum" + case protoreflect.EnumValueDescriptor: + return "enum value" + case protoreflect.MessageDescriptor: + return "message" + case protoreflect.ExtensionDescriptor: + return "extension" + case protoreflect.ServiceDescriptor: + return "service" + default: + return fmt.Sprintf("%T", d) + } +} diff --git a/vendor/google.golang.org/protobuf/types/known/emptypb/empty.pb.go b/vendor/google.golang.org/protobuf/types/known/emptypb/empty.pb.go new file mode 100644 index 000000000..a5b8657c4 --- /dev/null +++ b/vendor/google.golang.org/protobuf/types/known/emptypb/empty.pb.go @@ -0,0 +1,150 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/protobuf/empty.proto + +package emptypb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +// A generic empty message that you can re-use to avoid defining duplicated +// empty messages in your APIs. A typical example is to use it as the request +// or the response type of an API method. For instance: +// +// service Foo { +// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); +// } +type Empty struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Empty) Reset() { + *x = Empty{} + mi := &file_google_protobuf_empty_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Empty) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Empty) ProtoMessage() {} + +func (x *Empty) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_empty_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Empty.ProtoReflect.Descriptor instead. +func (*Empty) Descriptor() ([]byte, []int) { + return file_google_protobuf_empty_proto_rawDescGZIP(), []int{0} +} + +var File_google_protobuf_empty_proto protoreflect.FileDescriptor + +var file_google_protobuf_empty_proto_rawDesc = string([]byte{ + 0x0a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x22, 0x07, + 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x7d, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x42, 0x0a, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x6b, + 0x6e, 0x6f, 0x77, 0x6e, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xa2, + 0x02, 0x03, 0x47, 0x50, 0x42, 0xaa, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +}) + +var ( + file_google_protobuf_empty_proto_rawDescOnce sync.Once + file_google_protobuf_empty_proto_rawDescData []byte +) + +func file_google_protobuf_empty_proto_rawDescGZIP() []byte { + file_google_protobuf_empty_proto_rawDescOnce.Do(func() { + file_google_protobuf_empty_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_protobuf_empty_proto_rawDesc), len(file_google_protobuf_empty_proto_rawDesc))) + }) + return file_google_protobuf_empty_proto_rawDescData +} + +var file_google_protobuf_empty_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_protobuf_empty_proto_goTypes = []any{ + (*Empty)(nil), // 0: google.protobuf.Empty +} +var file_google_protobuf_empty_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_protobuf_empty_proto_init() } +func file_google_protobuf_empty_proto_init() { + if File_google_protobuf_empty_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_protobuf_empty_proto_rawDesc), len(file_google_protobuf_empty_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_protobuf_empty_proto_goTypes, + DependencyIndexes: file_google_protobuf_empty_proto_depIdxs, + MessageInfos: file_google_protobuf_empty_proto_msgTypes, + }.Build() + File_google_protobuf_empty_proto = out.File + file_google_protobuf_empty_proto_goTypes = nil + file_google_protobuf_empty_proto_depIdxs = nil +} diff --git a/vendor/google.golang.org/protobuf/types/known/structpb/struct.pb.go b/vendor/google.golang.org/protobuf/types/known/structpb/struct.pb.go new file mode 100644 index 000000000..ecdd31ab5 --- /dev/null +++ b/vendor/google.golang.org/protobuf/types/known/structpb/struct.pb.go @@ -0,0 +1,791 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/protobuf/struct.proto + +// Package structpb contains generated types for google/protobuf/struct.proto. +// +// The messages (i.e., Value, Struct, and ListValue) defined in struct.proto are +// used to represent arbitrary JSON. The Value message represents a JSON value, +// the Struct message represents a JSON object, and the ListValue message +// represents a JSON array. See https://json.org for more information. +// +// The Value, Struct, and ListValue types have generated MarshalJSON and +// UnmarshalJSON methods such that they serialize JSON equivalent to what the +// messages themselves represent. Use of these types with the +// "google.golang.org/protobuf/encoding/protojson" package +// ensures that they will be serialized as their JSON equivalent. +// +// # Conversion to and from a Go interface +// +// The standard Go "encoding/json" package has functionality to serialize +// arbitrary types to a large degree. The Value.AsInterface, Struct.AsMap, and +// ListValue.AsSlice methods can convert the protobuf message representation into +// a form represented by any, map[string]any, and []any. +// This form can be used with other packages that operate on such data structures +// and also directly with the standard json package. +// +// In order to convert the any, map[string]any, and []any +// forms back as Value, Struct, and ListValue messages, use the NewStruct, +// NewList, and NewValue constructor functions. +// +// # Example usage +// +// Consider the following example JSON object: +// +// { +// "firstName": "John", +// "lastName": "Smith", +// "isAlive": true, +// "age": 27, +// "address": { +// "streetAddress": "21 2nd Street", +// "city": "New York", +// "state": "NY", +// "postalCode": "10021-3100" +// }, +// "phoneNumbers": [ +// { +// "type": "home", +// "number": "212 555-1234" +// }, +// { +// "type": "office", +// "number": "646 555-4567" +// } +// ], +// "children": [], +// "spouse": null +// } +// +// To construct a Value message representing the above JSON object: +// +// m, err := structpb.NewValue(map[string]any{ +// "firstName": "John", +// "lastName": "Smith", +// "isAlive": true, +// "age": 27, +// "address": map[string]any{ +// "streetAddress": "21 2nd Street", +// "city": "New York", +// "state": "NY", +// "postalCode": "10021-3100", +// }, +// "phoneNumbers": []any{ +// map[string]any{ +// "type": "home", +// "number": "212 555-1234", +// }, +// map[string]any{ +// "type": "office", +// "number": "646 555-4567", +// }, +// }, +// "children": []any{}, +// "spouse": nil, +// }) +// if err != nil { +// ... // handle error +// } +// ... // make use of m as a *structpb.Value +package structpb + +import ( + base64 "encoding/base64" + json "encoding/json" + protojson "google.golang.org/protobuf/encoding/protojson" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + math "math" + reflect "reflect" + sync "sync" + utf8 "unicode/utf8" + unsafe "unsafe" +) + +// `NullValue` is a singleton enumeration to represent the null value for the +// `Value` type union. +// +// The JSON representation for `NullValue` is JSON `null`. +type NullValue int32 + +const ( + // Null value. + NullValue_NULL_VALUE NullValue = 0 +) + +// Enum value maps for NullValue. +var ( + NullValue_name = map[int32]string{ + 0: "NULL_VALUE", + } + NullValue_value = map[string]int32{ + "NULL_VALUE": 0, + } +) + +func (x NullValue) Enum() *NullValue { + p := new(NullValue) + *p = x + return p +} + +func (x NullValue) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NullValue) Descriptor() protoreflect.EnumDescriptor { + return file_google_protobuf_struct_proto_enumTypes[0].Descriptor() +} + +func (NullValue) Type() protoreflect.EnumType { + return &file_google_protobuf_struct_proto_enumTypes[0] +} + +func (x NullValue) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NullValue.Descriptor instead. +func (NullValue) EnumDescriptor() ([]byte, []int) { + return file_google_protobuf_struct_proto_rawDescGZIP(), []int{0} +} + +// `Struct` represents a structured data value, consisting of fields +// which map to dynamically typed values. In some languages, `Struct` +// might be supported by a native representation. For example, in +// scripting languages like JS a struct is represented as an +// object. The details of that representation are described together +// with the proto support for the language. +// +// The JSON representation for `Struct` is JSON object. +type Struct struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Unordered map of dynamically typed values. + Fields map[string]*Value `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +// NewStruct constructs a Struct from a general-purpose Go map. +// The map keys must be valid UTF-8. +// The map values are converted using NewValue. +func NewStruct(v map[string]any) (*Struct, error) { + x := &Struct{Fields: make(map[string]*Value, len(v))} + for k, v := range v { + if !utf8.ValidString(k) { + return nil, protoimpl.X.NewError("invalid UTF-8 in string: %q", k) + } + var err error + x.Fields[k], err = NewValue(v) + if err != nil { + return nil, err + } + } + return x, nil +} + +// AsMap converts x to a general-purpose Go map. +// The map values are converted by calling Value.AsInterface. +func (x *Struct) AsMap() map[string]any { + f := x.GetFields() + vs := make(map[string]any, len(f)) + for k, v := range f { + vs[k] = v.AsInterface() + } + return vs +} + +func (x *Struct) MarshalJSON() ([]byte, error) { + return protojson.Marshal(x) +} + +func (x *Struct) UnmarshalJSON(b []byte) error { + return protojson.Unmarshal(b, x) +} + +func (x *Struct) Reset() { + *x = Struct{} + mi := &file_google_protobuf_struct_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Struct) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Struct) ProtoMessage() {} + +func (x *Struct) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_struct_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Struct.ProtoReflect.Descriptor instead. +func (*Struct) Descriptor() ([]byte, []int) { + return file_google_protobuf_struct_proto_rawDescGZIP(), []int{0} +} + +func (x *Struct) GetFields() map[string]*Value { + if x != nil { + return x.Fields + } + return nil +} + +// `Value` represents a dynamically typed value which can be either +// null, a number, a string, a boolean, a recursive struct value, or a +// list of values. A producer of value is expected to set one of these +// variants. Absence of any variant indicates an error. +// +// The JSON representation for `Value` is JSON value. +type Value struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The kind of value. + // + // Types that are valid to be assigned to Kind: + // + // *Value_NullValue + // *Value_NumberValue + // *Value_StringValue + // *Value_BoolValue + // *Value_StructValue + // *Value_ListValue + Kind isValue_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +// NewValue constructs a Value from a general-purpose Go interface. +// +// ╔═══════════════════════════════════════╤════════════════════════════════════════════╗ +// ║ Go type │ Conversion ║ +// ╠═══════════════════════════════════════╪════════════════════════════════════════════╣ +// ║ nil │ stored as NullValue ║ +// ║ bool │ stored as BoolValue ║ +// ║ int, int8, int16, int32, int64 │ stored as NumberValue ║ +// ║ uint, uint8, uint16, uint32, uint64 │ stored as NumberValue ║ +// ║ float32, float64 │ stored as NumberValue ║ +// ║ json.Number │ stored as NumberValue ║ +// ║ string │ stored as StringValue; must be valid UTF-8 ║ +// ║ []byte │ stored as StringValue; base64-encoded ║ +// ║ map[string]any │ stored as StructValue ║ +// ║ []any │ stored as ListValue ║ +// ╚═══════════════════════════════════════╧════════════════════════════════════════════╝ +// +// When converting an int64 or uint64 to a NumberValue, numeric precision loss +// is possible since they are stored as a float64. +func NewValue(v any) (*Value, error) { + switch v := v.(type) { + case nil: + return NewNullValue(), nil + case bool: + return NewBoolValue(v), nil + case int: + return NewNumberValue(float64(v)), nil + case int8: + return NewNumberValue(float64(v)), nil + case int16: + return NewNumberValue(float64(v)), nil + case int32: + return NewNumberValue(float64(v)), nil + case int64: + return NewNumberValue(float64(v)), nil + case uint: + return NewNumberValue(float64(v)), nil + case uint8: + return NewNumberValue(float64(v)), nil + case uint16: + return NewNumberValue(float64(v)), nil + case uint32: + return NewNumberValue(float64(v)), nil + case uint64: + return NewNumberValue(float64(v)), nil + case float32: + return NewNumberValue(float64(v)), nil + case float64: + return NewNumberValue(float64(v)), nil + case json.Number: + n, err := v.Float64() + if err != nil { + return nil, protoimpl.X.NewError("invalid number format %q, expected a float64: %v", v, err) + } + return NewNumberValue(n), nil + case string: + if !utf8.ValidString(v) { + return nil, protoimpl.X.NewError("invalid UTF-8 in string: %q", v) + } + return NewStringValue(v), nil + case []byte: + s := base64.StdEncoding.EncodeToString(v) + return NewStringValue(s), nil + case map[string]any: + v2, err := NewStruct(v) + if err != nil { + return nil, err + } + return NewStructValue(v2), nil + case []any: + v2, err := NewList(v) + if err != nil { + return nil, err + } + return NewListValue(v2), nil + default: + return nil, protoimpl.X.NewError("invalid type: %T", v) + } +} + +// NewNullValue constructs a new null Value. +func NewNullValue() *Value { + return &Value{Kind: &Value_NullValue{NullValue: NullValue_NULL_VALUE}} +} + +// NewBoolValue constructs a new boolean Value. +func NewBoolValue(v bool) *Value { + return &Value{Kind: &Value_BoolValue{BoolValue: v}} +} + +// NewNumberValue constructs a new number Value. +func NewNumberValue(v float64) *Value { + return &Value{Kind: &Value_NumberValue{NumberValue: v}} +} + +// NewStringValue constructs a new string Value. +func NewStringValue(v string) *Value { + return &Value{Kind: &Value_StringValue{StringValue: v}} +} + +// NewStructValue constructs a new struct Value. +func NewStructValue(v *Struct) *Value { + return &Value{Kind: &Value_StructValue{StructValue: v}} +} + +// NewListValue constructs a new list Value. +func NewListValue(v *ListValue) *Value { + return &Value{Kind: &Value_ListValue{ListValue: v}} +} + +// AsInterface converts x to a general-purpose Go interface. +// +// Calling Value.MarshalJSON and "encoding/json".Marshal on this output produce +// semantically equivalent JSON (assuming no errors occur). +// +// Floating-point values (i.e., "NaN", "Infinity", and "-Infinity") are +// converted as strings to remain compatible with MarshalJSON. +func (x *Value) AsInterface() any { + switch v := x.GetKind().(type) { + case *Value_NumberValue: + if v != nil { + switch { + case math.IsNaN(v.NumberValue): + return "NaN" + case math.IsInf(v.NumberValue, +1): + return "Infinity" + case math.IsInf(v.NumberValue, -1): + return "-Infinity" + default: + return v.NumberValue + } + } + case *Value_StringValue: + if v != nil { + return v.StringValue + } + case *Value_BoolValue: + if v != nil { + return v.BoolValue + } + case *Value_StructValue: + if v != nil { + return v.StructValue.AsMap() + } + case *Value_ListValue: + if v != nil { + return v.ListValue.AsSlice() + } + } + return nil +} + +func (x *Value) MarshalJSON() ([]byte, error) { + return protojson.Marshal(x) +} + +func (x *Value) UnmarshalJSON(b []byte) error { + return protojson.Unmarshal(b, x) +} + +func (x *Value) Reset() { + *x = Value{} + mi := &file_google_protobuf_struct_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Value) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Value) ProtoMessage() {} + +func (x *Value) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_struct_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Value.ProtoReflect.Descriptor instead. +func (*Value) Descriptor() ([]byte, []int) { + return file_google_protobuf_struct_proto_rawDescGZIP(), []int{1} +} + +func (x *Value) GetKind() isValue_Kind { + if x != nil { + return x.Kind + } + return nil +} + +func (x *Value) GetNullValue() NullValue { + if x != nil { + if x, ok := x.Kind.(*Value_NullValue); ok { + return x.NullValue + } + } + return NullValue_NULL_VALUE +} + +func (x *Value) GetNumberValue() float64 { + if x != nil { + if x, ok := x.Kind.(*Value_NumberValue); ok { + return x.NumberValue + } + } + return 0 +} + +func (x *Value) GetStringValue() string { + if x != nil { + if x, ok := x.Kind.(*Value_StringValue); ok { + return x.StringValue + } + } + return "" +} + +func (x *Value) GetBoolValue() bool { + if x != nil { + if x, ok := x.Kind.(*Value_BoolValue); ok { + return x.BoolValue + } + } + return false +} + +func (x *Value) GetStructValue() *Struct { + if x != nil { + if x, ok := x.Kind.(*Value_StructValue); ok { + return x.StructValue + } + } + return nil +} + +func (x *Value) GetListValue() *ListValue { + if x != nil { + if x, ok := x.Kind.(*Value_ListValue); ok { + return x.ListValue + } + } + return nil +} + +type isValue_Kind interface { + isValue_Kind() +} + +type Value_NullValue struct { + // Represents a null value. + NullValue NullValue `protobuf:"varint,1,opt,name=null_value,json=nullValue,proto3,enum=google.protobuf.NullValue,oneof"` +} + +type Value_NumberValue struct { + // Represents a double value. + NumberValue float64 `protobuf:"fixed64,2,opt,name=number_value,json=numberValue,proto3,oneof"` +} + +type Value_StringValue struct { + // Represents a string value. + StringValue string `protobuf:"bytes,3,opt,name=string_value,json=stringValue,proto3,oneof"` +} + +type Value_BoolValue struct { + // Represents a boolean value. + BoolValue bool `protobuf:"varint,4,opt,name=bool_value,json=boolValue,proto3,oneof"` +} + +type Value_StructValue struct { + // Represents a structured value. + StructValue *Struct `protobuf:"bytes,5,opt,name=struct_value,json=structValue,proto3,oneof"` +} + +type Value_ListValue struct { + // Represents a repeated `Value`. + ListValue *ListValue `protobuf:"bytes,6,opt,name=list_value,json=listValue,proto3,oneof"` +} + +func (*Value_NullValue) isValue_Kind() {} + +func (*Value_NumberValue) isValue_Kind() {} + +func (*Value_StringValue) isValue_Kind() {} + +func (*Value_BoolValue) isValue_Kind() {} + +func (*Value_StructValue) isValue_Kind() {} + +func (*Value_ListValue) isValue_Kind() {} + +// `ListValue` is a wrapper around a repeated field of values. +// +// The JSON representation for `ListValue` is JSON array. +type ListValue struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Repeated field of dynamically typed values. + Values []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +// NewList constructs a ListValue from a general-purpose Go slice. +// The slice elements are converted using NewValue. +func NewList(v []any) (*ListValue, error) { + x := &ListValue{Values: make([]*Value, len(v))} + for i, v := range v { + var err error + x.Values[i], err = NewValue(v) + if err != nil { + return nil, err + } + } + return x, nil +} + +// AsSlice converts x to a general-purpose Go slice. +// The slice elements are converted by calling Value.AsInterface. +func (x *ListValue) AsSlice() []any { + vals := x.GetValues() + vs := make([]any, len(vals)) + for i, v := range vals { + vs[i] = v.AsInterface() + } + return vs +} + +func (x *ListValue) MarshalJSON() ([]byte, error) { + return protojson.Marshal(x) +} + +func (x *ListValue) UnmarshalJSON(b []byte) error { + return protojson.Unmarshal(b, x) +} + +func (x *ListValue) Reset() { + *x = ListValue{} + mi := &file_google_protobuf_struct_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListValue) ProtoMessage() {} + +func (x *ListValue) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_struct_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListValue.ProtoReflect.Descriptor instead. +func (*ListValue) Descriptor() ([]byte, []int) { + return file_google_protobuf_struct_proto_rawDescGZIP(), []int{2} +} + +func (x *ListValue) GetValues() []*Value { + if x != nil { + return x.Values + } + return nil +} + +var File_google_protobuf_struct_proto protoreflect.FileDescriptor + +var file_google_protobuf_struct_proto_rawDesc = string([]byte{ + 0x0a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x22, + 0x98, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x51, 0x0a, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, + 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, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb2, 0x02, 0x0a, 0x05, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, + 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3c, 0x0a, 0x0c, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6c, 0x69, + 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 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, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x69, + 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, + 0x3b, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2e, 0x0a, 0x06, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2a, 0x1b, 0x0a, 0x09, + 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x55, 0x4c, + 0x4c, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x00, 0x42, 0x7f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x42, 0x0b, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, + 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x70, 0x62, + 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x03, 0x47, 0x50, 0x42, 0xaa, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x57, 0x65, 0x6c, 0x6c, + 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +}) + +var ( + file_google_protobuf_struct_proto_rawDescOnce sync.Once + file_google_protobuf_struct_proto_rawDescData []byte +) + +func file_google_protobuf_struct_proto_rawDescGZIP() []byte { + file_google_protobuf_struct_proto_rawDescOnce.Do(func() { + file_google_protobuf_struct_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_protobuf_struct_proto_rawDesc), len(file_google_protobuf_struct_proto_rawDesc))) + }) + return file_google_protobuf_struct_proto_rawDescData +} + +var file_google_protobuf_struct_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_protobuf_struct_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_google_protobuf_struct_proto_goTypes = []any{ + (NullValue)(0), // 0: google.protobuf.NullValue + (*Struct)(nil), // 1: google.protobuf.Struct + (*Value)(nil), // 2: google.protobuf.Value + (*ListValue)(nil), // 3: google.protobuf.ListValue + nil, // 4: google.protobuf.Struct.FieldsEntry +} +var file_google_protobuf_struct_proto_depIdxs = []int32{ + 4, // 0: google.protobuf.Struct.fields:type_name -> google.protobuf.Struct.FieldsEntry + 0, // 1: google.protobuf.Value.null_value:type_name -> google.protobuf.NullValue + 1, // 2: google.protobuf.Value.struct_value:type_name -> google.protobuf.Struct + 3, // 3: google.protobuf.Value.list_value:type_name -> google.protobuf.ListValue + 2, // 4: google.protobuf.ListValue.values:type_name -> google.protobuf.Value + 2, // 5: google.protobuf.Struct.FieldsEntry.value:type_name -> google.protobuf.Value + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { file_google_protobuf_struct_proto_init() } +func file_google_protobuf_struct_proto_init() { + if File_google_protobuf_struct_proto != nil { + return + } + file_google_protobuf_struct_proto_msgTypes[1].OneofWrappers = []any{ + (*Value_NullValue)(nil), + (*Value_NumberValue)(nil), + (*Value_StringValue)(nil), + (*Value_BoolValue)(nil), + (*Value_StructValue)(nil), + (*Value_ListValue)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_protobuf_struct_proto_rawDesc), len(file_google_protobuf_struct_proto_rawDesc)), + NumEnums: 1, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_protobuf_struct_proto_goTypes, + DependencyIndexes: file_google_protobuf_struct_proto_depIdxs, + EnumInfos: file_google_protobuf_struct_proto_enumTypes, + MessageInfos: file_google_protobuf_struct_proto_msgTypes, + }.Build() + File_google_protobuf_struct_proto = out.File + file_google_protobuf_struct_proto_goTypes = nil + file_google_protobuf_struct_proto_depIdxs = nil +} diff --git a/vendor/google.golang.org/protobuf/types/known/wrapperspb/wrappers.pb.go b/vendor/google.golang.org/protobuf/types/known/wrapperspb/wrappers.pb.go new file mode 100644 index 000000000..5de530106 --- /dev/null +++ b/vendor/google.golang.org/protobuf/types/known/wrapperspb/wrappers.pb.go @@ -0,0 +1,623 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Wrappers for primitive (non-message) types. These types are useful +// for embedding primitives in the `google.protobuf.Any` type and for places +// where we need to distinguish between the absence of a primitive +// typed field and its default value. +// +// These wrappers have no meaningful use within repeated fields as they lack +// the ability to detect presence on individual elements. +// These wrappers have no meaningful use within a map or a oneof since +// individual entries of a map or fields of a oneof can already detect presence. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/protobuf/wrappers.proto + +package wrapperspb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +// Wrapper message for `double`. +// +// The JSON representation for `DoubleValue` is JSON number. +type DoubleValue struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The double value. + Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +// Double stores v in a new DoubleValue and returns a pointer to it. +func Double(v float64) *DoubleValue { + return &DoubleValue{Value: v} +} + +func (x *DoubleValue) Reset() { + *x = DoubleValue{} + mi := &file_google_protobuf_wrappers_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DoubleValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DoubleValue) ProtoMessage() {} + +func (x *DoubleValue) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_wrappers_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DoubleValue.ProtoReflect.Descriptor instead. +func (*DoubleValue) Descriptor() ([]byte, []int) { + return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{0} +} + +func (x *DoubleValue) GetValue() float64 { + if x != nil { + return x.Value + } + return 0 +} + +// Wrapper message for `float`. +// +// The JSON representation for `FloatValue` is JSON number. +type FloatValue struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The float value. + Value float32 `protobuf:"fixed32,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +// Float stores v in a new FloatValue and returns a pointer to it. +func Float(v float32) *FloatValue { + return &FloatValue{Value: v} +} + +func (x *FloatValue) Reset() { + *x = FloatValue{} + mi := &file_google_protobuf_wrappers_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FloatValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FloatValue) ProtoMessage() {} + +func (x *FloatValue) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_wrappers_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FloatValue.ProtoReflect.Descriptor instead. +func (*FloatValue) Descriptor() ([]byte, []int) { + return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{1} +} + +func (x *FloatValue) GetValue() float32 { + if x != nil { + return x.Value + } + return 0 +} + +// Wrapper message for `int64`. +// +// The JSON representation for `Int64Value` is JSON string. +type Int64Value struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The int64 value. + Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +// Int64 stores v in a new Int64Value and returns a pointer to it. +func Int64(v int64) *Int64Value { + return &Int64Value{Value: v} +} + +func (x *Int64Value) Reset() { + *x = Int64Value{} + mi := &file_google_protobuf_wrappers_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Int64Value) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Int64Value) ProtoMessage() {} + +func (x *Int64Value) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_wrappers_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Int64Value.ProtoReflect.Descriptor instead. +func (*Int64Value) Descriptor() ([]byte, []int) { + return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{2} +} + +func (x *Int64Value) GetValue() int64 { + if x != nil { + return x.Value + } + return 0 +} + +// Wrapper message for `uint64`. +// +// The JSON representation for `UInt64Value` is JSON string. +type UInt64Value struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The uint64 value. + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +// UInt64 stores v in a new UInt64Value and returns a pointer to it. +func UInt64(v uint64) *UInt64Value { + return &UInt64Value{Value: v} +} + +func (x *UInt64Value) Reset() { + *x = UInt64Value{} + mi := &file_google_protobuf_wrappers_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UInt64Value) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UInt64Value) ProtoMessage() {} + +func (x *UInt64Value) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_wrappers_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UInt64Value.ProtoReflect.Descriptor instead. +func (*UInt64Value) Descriptor() ([]byte, []int) { + return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{3} +} + +func (x *UInt64Value) GetValue() uint64 { + if x != nil { + return x.Value + } + return 0 +} + +// Wrapper message for `int32`. +// +// The JSON representation for `Int32Value` is JSON number. +type Int32Value struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The int32 value. + Value int32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +// Int32 stores v in a new Int32Value and returns a pointer to it. +func Int32(v int32) *Int32Value { + return &Int32Value{Value: v} +} + +func (x *Int32Value) Reset() { + *x = Int32Value{} + mi := &file_google_protobuf_wrappers_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Int32Value) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Int32Value) ProtoMessage() {} + +func (x *Int32Value) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_wrappers_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Int32Value.ProtoReflect.Descriptor instead. +func (*Int32Value) Descriptor() ([]byte, []int) { + return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{4} +} + +func (x *Int32Value) GetValue() int32 { + if x != nil { + return x.Value + } + return 0 +} + +// Wrapper message for `uint32`. +// +// The JSON representation for `UInt32Value` is JSON number. +type UInt32Value struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The uint32 value. + Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +// UInt32 stores v in a new UInt32Value and returns a pointer to it. +func UInt32(v uint32) *UInt32Value { + return &UInt32Value{Value: v} +} + +func (x *UInt32Value) Reset() { + *x = UInt32Value{} + mi := &file_google_protobuf_wrappers_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UInt32Value) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UInt32Value) ProtoMessage() {} + +func (x *UInt32Value) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_wrappers_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UInt32Value.ProtoReflect.Descriptor instead. +func (*UInt32Value) Descriptor() ([]byte, []int) { + return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{5} +} + +func (x *UInt32Value) GetValue() uint32 { + if x != nil { + return x.Value + } + return 0 +} + +// Wrapper message for `bool`. +// +// The JSON representation for `BoolValue` is JSON `true` and `false`. +type BoolValue struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The bool value. + Value bool `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +// Bool stores v in a new BoolValue and returns a pointer to it. +func Bool(v bool) *BoolValue { + return &BoolValue{Value: v} +} + +func (x *BoolValue) Reset() { + *x = BoolValue{} + mi := &file_google_protobuf_wrappers_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BoolValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoolValue) ProtoMessage() {} + +func (x *BoolValue) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_wrappers_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BoolValue.ProtoReflect.Descriptor instead. +func (*BoolValue) Descriptor() ([]byte, []int) { + return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{6} +} + +func (x *BoolValue) GetValue() bool { + if x != nil { + return x.Value + } + return false +} + +// Wrapper message for `string`. +// +// The JSON representation for `StringValue` is JSON string. +type StringValue struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The string value. + Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +// String stores v in a new StringValue and returns a pointer to it. +func String(v string) *StringValue { + return &StringValue{Value: v} +} + +func (x *StringValue) Reset() { + *x = StringValue{} + mi := &file_google_protobuf_wrappers_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StringValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringValue) ProtoMessage() {} + +func (x *StringValue) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_wrappers_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StringValue.ProtoReflect.Descriptor instead. +func (*StringValue) Descriptor() ([]byte, []int) { + return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{7} +} + +func (x *StringValue) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +// Wrapper message for `bytes`. +// +// The JSON representation for `BytesValue` is JSON string. +type BytesValue struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The bytes value. + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +// Bytes stores v in a new BytesValue and returns a pointer to it. +func Bytes(v []byte) *BytesValue { + return &BytesValue{Value: v} +} + +func (x *BytesValue) Reset() { + *x = BytesValue{} + mi := &file_google_protobuf_wrappers_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BytesValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BytesValue) ProtoMessage() {} + +func (x *BytesValue) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_wrappers_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BytesValue.ProtoReflect.Descriptor instead. +func (*BytesValue) Descriptor() ([]byte, []int) { + return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{8} +} + +func (x *BytesValue) GetValue() []byte { + if x != nil { + return x.Value + } + return nil +} + +var File_google_protobuf_wrappers_proto protoreflect.FileDescriptor + +var file_google_protobuf_wrappers_proto_rawDesc = string([]byte{ + 0x0a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x22, 0x23, 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x23, + 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x23, 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x21, 0x0a, 0x09, + 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0x23, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x83, 0x01, 0x0a, 0x13, 0x63, 0x6f, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x42, 0x0d, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, + 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, + 0x72, 0x73, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x03, 0x47, 0x50, 0x42, 0xaa, 0x02, 0x1e, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +}) + +var ( + file_google_protobuf_wrappers_proto_rawDescOnce sync.Once + file_google_protobuf_wrappers_proto_rawDescData []byte +) + +func file_google_protobuf_wrappers_proto_rawDescGZIP() []byte { + file_google_protobuf_wrappers_proto_rawDescOnce.Do(func() { + file_google_protobuf_wrappers_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_protobuf_wrappers_proto_rawDesc), len(file_google_protobuf_wrappers_proto_rawDesc))) + }) + return file_google_protobuf_wrappers_proto_rawDescData +} + +var file_google_protobuf_wrappers_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_google_protobuf_wrappers_proto_goTypes = []any{ + (*DoubleValue)(nil), // 0: google.protobuf.DoubleValue + (*FloatValue)(nil), // 1: google.protobuf.FloatValue + (*Int64Value)(nil), // 2: google.protobuf.Int64Value + (*UInt64Value)(nil), // 3: google.protobuf.UInt64Value + (*Int32Value)(nil), // 4: google.protobuf.Int32Value + (*UInt32Value)(nil), // 5: google.protobuf.UInt32Value + (*BoolValue)(nil), // 6: google.protobuf.BoolValue + (*StringValue)(nil), // 7: google.protobuf.StringValue + (*BytesValue)(nil), // 8: google.protobuf.BytesValue +} +var file_google_protobuf_wrappers_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_protobuf_wrappers_proto_init() } +func file_google_protobuf_wrappers_proto_init() { + if File_google_protobuf_wrappers_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_protobuf_wrappers_proto_rawDesc), len(file_google_protobuf_wrappers_proto_rawDesc)), + NumEnums: 0, + NumMessages: 9, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_protobuf_wrappers_proto_goTypes, + DependencyIndexes: file_google_protobuf_wrappers_proto_depIdxs, + MessageInfos: file_google_protobuf_wrappers_proto_msgTypes, + }.Build() + File_google_protobuf_wrappers_proto = out.File + file_google_protobuf_wrappers_proto_goTypes = nil + file_google_protobuf_wrappers_proto_depIdxs = nil +} diff --git a/vendor/modules.txt b/vendor/modules.txt index c9a472818..934acd388 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1,3 +1,6 @@ +# cel.dev/expr v0.18.0 +## explicit; go 1.21.1 +cel.dev/expr # github.com/Masterminds/goutils v1.1.1 ## explicit github.com/Masterminds/goutils @@ -7,6 +10,9 @@ github.com/Masterminds/semver # github.com/Masterminds/sprig v2.22.0+incompatible ## explicit github.com/Masterminds/sprig +# github.com/antlr4-go/antlr/v4 v4.13.0 +## explicit; go 1.20 +github.com/antlr4-go/antlr/v4 # github.com/beorn7/perks v1.0.1 ## explicit; go 1.11 github.com/beorn7/perks/quantile @@ -61,6 +67,7 @@ github.com/fxamacker/cbor/v2 # github.com/go-logr/logr v1.4.2 ## explicit; go 1.18 github.com/go-logr/logr +github.com/go-logr/logr/funcr github.com/go-logr/logr/slogr # github.com/go-logr/zapr v1.3.0 ## explicit; go 1.18 @@ -75,6 +82,9 @@ github.com/go-openapi/jsonreference/internal # github.com/go-openapi/swag v0.23.0 ## explicit; go 1.20 github.com/go-openapi/swag +# github.com/go-task/slim-sprig/v3 v3.0.0 +## explicit; go 1.20 +github.com/go-task/slim-sprig/v3 # github.com/gogo/protobuf v1.3.2 ## explicit; go 1.15 github.com/gogo/protobuf/proto @@ -94,6 +104,28 @@ github.com/golang/protobuf/ptypes/timestamp # github.com/google/btree v1.1.3 ## explicit; go 1.18 github.com/google/btree +# github.com/google/cel-go v0.22.0 +## explicit; go 1.21.1 +github.com/google/cel-go/cel +github.com/google/cel-go/checker +github.com/google/cel-go/checker/decls +github.com/google/cel-go/common +github.com/google/cel-go/common/ast +github.com/google/cel-go/common/containers +github.com/google/cel-go/common/debug +github.com/google/cel-go/common/decls +github.com/google/cel-go/common/functions +github.com/google/cel-go/common/operators +github.com/google/cel-go/common/overloads +github.com/google/cel-go/common/runes +github.com/google/cel-go/common/stdlib +github.com/google/cel-go/common/types +github.com/google/cel-go/common/types/pb +github.com/google/cel-go/common/types/ref +github.com/google/cel-go/common/types/traits +github.com/google/cel-go/interpreter +github.com/google/cel-go/parser +github.com/google/cel-go/parser/gen # github.com/google/gnostic-models v0.6.8 ## explicit; go 1.18 github.com/google/gnostic-models/compiler @@ -116,6 +148,9 @@ github.com/google/gofuzz/bytesource ## explicit; go 1.12 github.com/google/gopacket github.com/google/gopacket/layers +# github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad +## explicit; go 1.22 +github.com/google/pprof/profile # github.com/google/uuid v1.6.0 ## explicit github.com/google/uuid @@ -128,6 +163,9 @@ github.com/huandu/xstrings # github.com/imdario/mergo v0.3.16 ## explicit; go 1.13 github.com/imdario/mergo +# github.com/inconshreveable/mousetrap v1.1.0 +## explicit; go 1.18 +github.com/inconshreveable/mousetrap # github.com/josharian/intern v1.0.0 ## explicit; go 1.5 github.com/josharian/intern @@ -196,6 +234,28 @@ github.com/onsi/ginkgo/reporters/stenographer github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty github.com/onsi/ginkgo/types +# github.com/onsi/ginkgo/v2 v2.23.3 => github.com/openshift/onsi-ginkgo/v2 v2.6.1-0.20241205171354-8006f302fd12 +## explicit; go 1.22.0 +github.com/onsi/ginkgo/v2 +github.com/onsi/ginkgo/v2/config +github.com/onsi/ginkgo/v2/formatter +github.com/onsi/ginkgo/v2/ginkgo +github.com/onsi/ginkgo/v2/ginkgo/build +github.com/onsi/ginkgo/v2/ginkgo/command +github.com/onsi/ginkgo/v2/ginkgo/generators +github.com/onsi/ginkgo/v2/ginkgo/internal +github.com/onsi/ginkgo/v2/ginkgo/labels +github.com/onsi/ginkgo/v2/ginkgo/outline +github.com/onsi/ginkgo/v2/ginkgo/run +github.com/onsi/ginkgo/v2/ginkgo/unfocus +github.com/onsi/ginkgo/v2/ginkgo/watch +github.com/onsi/ginkgo/v2/internal +github.com/onsi/ginkgo/v2/internal/global +github.com/onsi/ginkgo/v2/internal/interrupt_handler +github.com/onsi/ginkgo/v2/internal/parallel_support +github.com/onsi/ginkgo/v2/internal/testingtproxy +github.com/onsi/ginkgo/v2/reporters +github.com/onsi/ginkgo/v2/types # github.com/onsi/gomega v1.37.0 ## explicit; go 1.23.0 github.com/onsi/gomega @@ -209,6 +269,22 @@ github.com/onsi/gomega/matchers/support/goraph/edge github.com/onsi/gomega/matchers/support/goraph/node github.com/onsi/gomega/matchers/support/goraph/util github.com/onsi/gomega/types +# github.com/openshift-eng/openshift-tests-extension v0.0.0-20251218142942-7ecc8801b9df +## explicit; go 1.23.0 +github.com/openshift-eng/openshift-tests-extension/pkg/cmd +github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdimages +github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdinfo +github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdlist +github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdrun +github.com/openshift-eng/openshift-tests-extension/pkg/cmd/cmdupdate +github.com/openshift-eng/openshift-tests-extension/pkg/dbtime +github.com/openshift-eng/openshift-tests-extension/pkg/extension +github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests +github.com/openshift-eng/openshift-tests-extension/pkg/flags +github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo +github.com/openshift-eng/openshift-tests-extension/pkg/junit +github.com/openshift-eng/openshift-tests-extension/pkg/util/sets +github.com/openshift-eng/openshift-tests-extension/pkg/version # github.com/pkg/errors v0.9.1 ## explicit github.com/pkg/errors @@ -236,9 +312,15 @@ github.com/prometheus/common/model github.com/prometheus/procfs github.com/prometheus/procfs/internal/fs github.com/prometheus/procfs/internal/util +# github.com/spf13/cobra v1.8.1 +## explicit; go 1.15 +github.com/spf13/cobra # github.com/spf13/pflag v1.0.5 ## explicit; go 1.12 github.com/spf13/pflag +# github.com/stoewer/go-strcase v1.3.0 +## explicit; go 1.11 +github.com/stoewer/go-strcase # github.com/vishvananda/netlink v1.3.1-0.20250206174618-62fb240731fa ## explicit; go 1.12 github.com/vishvananda/netlink @@ -277,8 +359,13 @@ go.uber.org/zap/zapcore ## explicit; go 1.23.0 golang.org/x/crypto/pbkdf2 golang.org/x/crypto/scrypt +# golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 +## explicit; go 1.20 +golang.org/x/exp/constraints +golang.org/x/exp/slices # golang.org/x/net v0.37.0 ## explicit; go 1.23.0 +golang.org/x/net/context golang.org/x/net/html golang.org/x/net/html/atom golang.org/x/net/html/charset @@ -330,12 +417,24 @@ golang.org/x/text/unicode/norm # golang.org/x/time v0.7.0 ## explicit; go 1.18 golang.org/x/time/rate +# golang.org/x/tools v0.30.0 +## explicit; go 1.22.0 +golang.org/x/tools/cover +golang.org/x/tools/go/ast/inspector +golang.org/x/tools/internal/astutil/edge # gomodules.xyz/jsonpatch/v2 v2.4.0 ## explicit; go 1.20 gomodules.xyz/jsonpatch/v2 +# google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7 +## explicit; go 1.21 +google.golang.org/genproto/googleapis/api/expr/v1alpha1 +# google.golang.org/genproto/googleapis/rpc v0.0.0-20250102185135-69823020774d +## explicit; go 1.22 +google.golang.org/genproto/googleapis/rpc/status # google.golang.org/protobuf v1.36.5 ## explicit; go 1.21 google.golang.org/protobuf/encoding/protodelim +google.golang.org/protobuf/encoding/protojson google.golang.org/protobuf/encoding/prototext google.golang.org/protobuf/encoding/protowire google.golang.org/protobuf/internal/descfmt @@ -344,6 +443,7 @@ google.golang.org/protobuf/internal/detrand google.golang.org/protobuf/internal/editiondefaults google.golang.org/protobuf/internal/editionssupport google.golang.org/protobuf/internal/encoding/defval +google.golang.org/protobuf/internal/encoding/json google.golang.org/protobuf/internal/encoding/messageset google.golang.org/protobuf/internal/encoding/tag google.golang.org/protobuf/internal/encoding/text @@ -366,10 +466,14 @@ google.golang.org/protobuf/reflect/protoregistry google.golang.org/protobuf/runtime/protoiface google.golang.org/protobuf/runtime/protoimpl google.golang.org/protobuf/types/descriptorpb +google.golang.org/protobuf/types/dynamicpb google.golang.org/protobuf/types/gofeaturespb google.golang.org/protobuf/types/known/anypb google.golang.org/protobuf/types/known/durationpb +google.golang.org/protobuf/types/known/emptypb +google.golang.org/protobuf/types/known/structpb google.golang.org/protobuf/types/known/timestamppb +google.golang.org/protobuf/types/known/wrapperspb # gopkg.in/evanphx/json-patch.v4 v4.12.0 ## explicit gopkg.in/evanphx/json-patch.v4 @@ -389,7 +493,7 @@ gopkg.in/tomb.v1 # gopkg.in/yaml.v3 v3.0.1 ## explicit gopkg.in/yaml.v3 -# k8s.io/api v0.32.3 +# k8s.io/api v0.32.3 => k8s.io/api v0.32.3 ## explicit; go 1.23.0 k8s.io/api/admission/v1 k8s.io/api/admission/v1beta1 @@ -449,7 +553,7 @@ k8s.io/api/storage/v1 k8s.io/api/storage/v1alpha1 k8s.io/api/storage/v1beta1 k8s.io/api/storagemigration/v1alpha1 -# k8s.io/apiextensions-apiserver v0.32.3 +# k8s.io/apiextensions-apiserver v0.32.3 => k8s.io/apiextensions-apiserver v0.32.3 ## explicit; go 1.23.0 k8s.io/apiextensions-apiserver/pkg/apis/apiextensions k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1 @@ -460,7 +564,7 @@ k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1 k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1 -# k8s.io/apimachinery v0.32.3 +# k8s.io/apimachinery v0.32.3 => k8s.io/apimachinery v0.32.3 ## explicit; go 1.23.0 k8s.io/apimachinery/pkg/api/equality k8s.io/apimachinery/pkg/api/errors @@ -524,7 +628,7 @@ k8s.io/apimachinery/pkg/watch k8s.io/apimachinery/third_party/forked/golang/json k8s.io/apimachinery/third_party/forked/golang/netutil k8s.io/apimachinery/third_party/forked/golang/reflect -# k8s.io/client-go v0.32.3 +# k8s.io/client-go v0.32.3 => k8s.io/client-go v0.32.3 ## explicit; go 1.23.0 k8s.io/client-go/applyconfigurations/admissionregistration/v1 k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1 @@ -804,7 +908,7 @@ k8s.io/client-go/util/keyutil k8s.io/client-go/util/retry k8s.io/client-go/util/watchlist k8s.io/client-go/util/workqueue -# k8s.io/component-base v0.32.3 +# k8s.io/component-base v0.32.3 => k8s.io/component-base v0.32.3 ## explicit; go 1.23.0 k8s.io/component-base/metrics k8s.io/component-base/metrics/legacyregistry @@ -916,3 +1020,30 @@ sigs.k8s.io/structured-merge-diff/v4/value ## explicit; go 1.12 sigs.k8s.io/yaml sigs.k8s.io/yaml/goyaml.v2 +# github.com/onsi/ginkgo/v2 => github.com/openshift/onsi-ginkgo/v2 v2.6.1-0.20241205171354-8006f302fd12 +# k8s.io/api => k8s.io/api v0.32.3 +# k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.32.3 +# k8s.io/apimachinery => k8s.io/apimachinery v0.32.3 +# k8s.io/apiserver => k8s.io/apiserver v0.32.3 +# k8s.io/cli-runtime => k8s.io/cli-runtime v0.32.3 +# k8s.io/client-go => k8s.io/client-go v0.32.3 +# k8s.io/cloud-provider => k8s.io/cloud-provider v0.32.3 +# k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.32.3 +# k8s.io/code-generator => k8s.io/code-generator v0.32.3 +# k8s.io/component-base => k8s.io/component-base v0.32.3 +# k8s.io/component-helpers => k8s.io/component-helpers v0.32.3 +# k8s.io/controller-manager => k8s.io/controller-manager v0.32.3 +# k8s.io/cri-api => k8s.io/cri-api v0.32.3 +# k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.32.3 +# k8s.io/dynamic-resource-allocation => k8s.io/dynamic-resource-allocation v0.32.3 +# k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.32.3 +# k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.32.3 +# k8s.io/kube-proxy => k8s.io/kube-proxy v0.32.3 +# k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.32.3 +# k8s.io/kubectl => k8s.io/kubectl v0.32.3 +# k8s.io/kubelet => k8s.io/kubelet v0.32.3 +# k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.32.3 +# k8s.io/metrics => k8s.io/metrics v0.32.3 +# k8s.io/mount-utils => k8s.io/mount-utils v0.32.3 +# k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.32.3 +# k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.32.3 From f519c43a310312bfb1f72ae3bd8a967c50686d61 Mon Sep 17 00:00:00 2001 From: Anurag Saxena Date: Mon, 2 Feb 2026 21:52:19 -0500 Subject: [PATCH 2/2] Implement OpenShift Tests Extension (OTE) framework for INFW Add comprehensive test infrastructure using the OpenShift Tests Extension (OTE) framework to enable standardized testing and integration with the OpenShift testing ecosystem. Changes include: - Add test/cmd/main.go as the entry point for OTE-based tests - Add test/e2e/cli.go with OCClient for executing oc commands - Add test/e2e/util.go with GetKubeconfig helper - Add test/e2e/operator/operator.go with OCP-61481 test case for operator installation verification - Add test/Makefile with targets for building and running OTE tests - Update Dockerfile.openshift to include test binary in the image - Update Makefile with test-related targets Code improvements and cleanup: - Remove misplaced defer GinkgoRecover() from Describe block - Remove unused OCClient methods (Apply, Delete) - Remove apigroup annotation from test case OCP-61481 Co-Authored-By: Claude Sonnet 4.5 --- Dockerfile.openshift | 6 +++ Makefile | 9 ++++ test/Makefile | 47 +++++++++++++++++ test/bin/ingress-node-firewall-tests | Bin 0 -> 40263864 bytes test/cmd/main.go | 71 ++++++++++++++++++++++++++ test/e2e/cli.go | 53 ++++++++++++++++++++ test/e2e/operator/operator.go | 72 +++++++++++++++++++++++++++ test/e2e/util.go | 13 +++++ 8 files changed, 271 insertions(+) create mode 100644 test/Makefile create mode 100755 test/bin/ingress-node-firewall-tests create mode 100644 test/cmd/main.go create mode 100644 test/e2e/cli.go create mode 100644 test/e2e/operator/operator.go create mode 100644 test/e2e/util.go diff --git a/Dockerfile.openshift b/Dockerfile.openshift index 73e309105..deec7c97c 100644 --- a/Dockerfile.openshift +++ b/Dockerfile.openshift @@ -14,13 +14,19 @@ COPY controllers/ controllers/ COPY pkg/ pkg/ COPY vendor/ vendor/ COPY bindata/manifests/ bindata/manifests/ +COPY test/ test/ # Build RUN CGO_ENABLED=0 GO111MODULE=on go build -a -mod=vendor -o manager main.go +# Build extended tests +RUN make -C test build-e2e-tests && \ + gzip test/bin/ingress-node-firewall-tests + FROM registry.ci.openshift.org/ocp/4.22:base-rhel9 WORKDIR / COPY --from=builder /workspace/manager . COPY --from=builder /workspace/bindata/manifests /bindata/manifests +COPY --from=builder /workspace/test/bin/ingress-node-firewall-tests.gz /usr/bin/ ENTRYPOINT ["/manager"] diff --git a/Makefile b/Makefile index 628b17588..f7440d8e4 100644 --- a/Makefile +++ b/Makefile @@ -480,3 +480,12 @@ podman-build-daemon: ## Build the daemon image with podman. To change location, .PHONY: podman-push-daemon podman-push-daemon: ## Push the daemon image with docker. To change location, specify DAEMON_IMG=. podman push ${DAEMON_IMG} + +##@ Extended Tests (OTE) +.PHONY: build-e2e-tests +build-e2e-tests: ## Build the extended e2e test binary for OpenShift + $(MAKE) -C test build-e2e-tests + +.PHONY: clean-e2e-tests +clean-e2e-tests: ## Clean the extended e2e test artifacts + $(MAKE) -C test clean diff --git a/test/Makefile b/test/Makefile new file mode 100644 index 000000000..b2ebb2714 --- /dev/null +++ b/test/Makefile @@ -0,0 +1,47 @@ +# test/Makefile - Build targets for ingress-node-firewall extended tests + +SHELL := /bin/bash + +# Binary name +BINARY_NAME := ingress-node-firewall-tests + +# Build directory +BUILD_DIR := bin +BINARY_PATH := $(BUILD_DIR)/$(BINARY_NAME) + +# Go build flags +GO := go +GOFLAGS ?= +LDFLAGS := -w -s + +# Version information +VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null || echo "unknown") +GIT_COMMIT ?= $(shell git rev-parse HEAD 2>/dev/null || echo "unknown") +BUILD_DATE ?= $(shell date -u +"%Y-%m-%dT%H:%M:%SZ") + +# LDFLAGS with version info +LDFLAGS += -X github.com/openshift/ingress-node-firewall/test/version.Version=$(VERSION) +LDFLAGS += -X github.com/openshift/ingress-node-firewall/test/version.GitCommit=$(GIT_COMMIT) +LDFLAGS += -X github.com/openshift/ingress-node-firewall/test/version.BuildDate=$(BUILD_DATE) + +.PHONY: all +all: build-e2e-tests + +.PHONY: build-e2e-tests +build-e2e-tests: ## Build the extended e2e test binary (static, ART compliant) + @echo "Building $(BINARY_NAME)..." + @mkdir -p $(BUILD_DIR) + CGO_ENABLED=0 GO_COMPLIANCE_POLICY="exempt_all" $(GO) build \ + -a -mod=vendor \ + -ldflags "$(LDFLAGS)" \ + -o $(BINARY_PATH) ./cmd/main.go + @echo "Built $(BINARY_PATH)" + +.PHONY: clean +clean: ## Clean build artifacts + @echo "Cleaning test build artifacts..." + @rm -rf $(BUILD_DIR) + +.PHONY: help +help: ## Display this help + @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST) diff --git a/test/bin/ingress-node-firewall-tests b/test/bin/ingress-node-firewall-tests new file mode 100755 index 0000000000000000000000000000000000000000..90e25e60f68144d05ebae212dceb8c469faeb02b GIT binary patch literal 40263864 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≧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�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

bW$3FB~*1ydCMI9C^db0@l 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 z±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

1hk+)-kyDM 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 z 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

9~uePfG7hGx|b6P zy==+>{0h-2u@lXwwvx<>q}tO9Yn93Al+N)`GeCAS<-d$)93rEY4*=21C%hK%!Dpf( z99{7%^cM}_lab)kxsBw~qbDMNFB(#E2v#tV8y@Nt1NS6;AXcx%uPq%6w7(|2MnL%v zk^{h4zR&2VvRbd~gP$Lt{a6{mNQ}?!QjhrTVcbv$6l9S-J;3_QkHLpG`elW6564f- z`0OW^sj=A^3(BJJ0dI1A_8lzah|k_3i>v6BTHFVg8Pd>y1;DE1sc(+>?4~OORvn*x zA^-w@m%QX)1b`$$30PvtIO4OrX^?_wCJ`iQ=Z)o7J8i{h?|9XT|Nr~rvp1Xz(i|>6 zyHi4^+KbPo{W4D}A8HY;e0GxlutWFD@86U_L@;z@92|rPaTLYXkagnUU?RR?H;(DY{h7S!&3xmbvja?wcWAp^wVfmmO_`!y=F zoZ@gb&zEbk6a<}RxTrG&h=R3J$zy_ox{kF)zg@~Pa2%Sid2}GufU4H~+hTwjQN`RI zwe0Hd(UF&g$KB&%^nV2$}RY2qo|RhZo$)VO0n zBZn{Sk|YE|em;(6y1Ku7-Ha|(a$(B?p2DS~wrJZD_TXY7RoSP?Dl^A!(vl445sXSl z2N%qPNLWH+01MVq6aY79fC(s|J0Jf~=P8HNF|s@Q)?BPo>aDq0hft5oYPYLkgx66a zj*TDwy)q`CH|MC0OHGRRyy(esD~tTSSn>B8fLQZ)Bbx+qRi_+$ z-4$hor8CLW!|`X+;O5~x4G8wLCW>NfuaKrx{+4S36_~d?AOs3_r>BlzHb(yw-Hm2Bxk;tDud1 zg^7_mqQGJ;mNkF8UWH9SxqSpgGcOQ6SS-ybSi~`|z{GhJCE*pZvC_Fp{M8nfV#7-F z?)z0Qy9$DUo>)JsMkY|9qrK8E*=kf4mCZ2n9+}BrZH28_zoVF}n=)~@d-!|m(vPbW z_waw%cmEm|-h#x#{xEuu<1Ds=9UAdT>+E3meW`U$(D`*p|2c~OYvc6ajrvIcbdnoR z3o-DV^6g~2h|9MVh7bOH_~37#LU5iQIYLgomG{xhEVjUzEEuchEpZ0?1Pn|&OwVtC zHZ96*(E{SKcXoDHKtsn7IpaEV2F(KSSLTEn#GyWQ2uSw%+&H{jPatt$s_)6t!Wk#d zEbRdOIbnt3jh)hn#T&vY5DYABZo5|T1}ydW{NWENFqG8OvryQJicu73egrRrcbf1i z;`6Q$_8^bR#R6PlG)SLS{%-TNhM$^Y{?5Z2#UW}phyM*c(5ZIbM+YZQM+^|y5(lW$ z&>zk%7YD(KnCS#PuW$Ef9+)P=2chR6sSzA9sRbbDM{Bzp(Bf90v% zN_&3xKwL#C)_Kfgo$5P$NY7M;_sCe~t~-YpAhpaaK;k@MG+i3oRq}ZcZHoMmRHu`8 z3r%Vzc=kOD_}1jr-l?jCX7n8ll&KoH;L@rKyq zBthtjnMMVb5GhC2s^pCnN6BhF#67>@mks=7eyB!lxs>$cFl%d8vD-jDs#KFE%z!K$ z=w5SvVE2WJPYhRoxBF%-5m z#I)rWDTVdl;}xi}29-iL1yCV{?*D8c#nmxmVhmzVV`M*i8Eim3ceKE_!N7?mS?1Og z5b*9v%VocbDWVUli6A0ho8tjK@?S2EFB)6#w9%=i3Zgx2l!=d@#=Z``K^Mjz$32 zPdLT#MLcQ{j77NyYkezFnDM~WF<|i%^@vd8W~mxC_*9J$RaM-+9FGd!lHX27g^JDJ zt?k%OT@ zUM3C(o}ZK;AN~W>s1<(m4jL0Sb|Tpy+$r3@13$w3R*l&k)r(C@FWTb%xQACS8tvhU z@U6_Wlk|aJH0r3vg_?hVjIQhTAs@}|G7hpz?RkZM<`|fRGF%s`#xGS7tajMNi^ltg zW8-*#tmB6|<0_OB!`|-Ux#$P46GgJ{o-@8?qyS+X1hswfFziOTKnSCwQiYjgg$C0Hhe05)?c-~{=# zAQIVU*~Vsd$CBu}yO@`f0%WpM`PJw#z>DU2*?>zYu>MpN%-4vn68xJG{p8 zOPKSG1oUPsxkI>nDSi?tDN9{&2V6xr2Hj(=EmM5^lp4FRCs__Mq@dMhii!4-k{q8p zerYELj1q#YsyR64;hrO50e|D0x3kse?PIWcTP=xSM@dO%E7+wnaqqQnOU%Hgx-IR(TZUz`>!AEg^`3!J=nB^ejZb?l`FxoDvpyzp zjFiEuT)VR6?C34YUx9sX=_msmbS-_m?zeRSJU`(0K>GWt^c45pRTZ`B|Hk68|gi$lf8=<}9d&5&@+q?OphXV6b9fIazl?a^)} zDPyLTk^FSi?P3_zNxNmgecDDD^V3yIQQ3tEZ#<*k)mB-|8=SikZyW)9iErNFGdEo0 ziipPSQ-2aP=IA-NIe&qL#{V)u-DCuE2?|@}r^|W;D17<12`JpUz8w_q{S#5B^3zSg z%B*DzGk(FjRrMVyhy0gznU*+wj%AbtAr4QIqKCy{|KY9Tu=@pq!>_QDL}8d*l5Sq{ zI}3+xQXb`gDdC$f>!W*^Gm>Q=XnYE_5Zyc{EmD|;rHd&E!;ugBF=kgIdF#* zSzg5c4bWxox62T}C?ohq8AR)KU>U~R!mkDV)~TX$i}hWMbrow13n3m%L;Ox3>cDSu zi2mh&!b^p8XNbNg0+gpwbbcYpaCWbQ?UBI@J=QuE8ln)Kt!qwaeBSUleJW^rR8x*( zULYn2heDl8Q>n^4MW_TH+%72u!jUI@G>Sl5cxX8>EK@7aIDc^==yk=z3G{k&sZB3T z;*!MkZ=Y23>WFpQxLgTDMrwNbK(8rMM#-NYi>-2sW;po~d2<6{A80n3PR*{kC;lCC!tg*N}2*{BTmF$B$rJC7Ea|{<#7avSwgh39S1qyDB{-6UUlH#9V1o`I8O;8PgSY?wBG)W@gjs=Q*!>~dcCtspkc$H<6 zZ{`t{%2y&SCXGNd?BEI#~CjqB3zV$gP zi?tc2nrIn@u7hfHKUh>d1|PQ)-+IXlpxUPoCQ$90741;1|L+vl?t7(es-?0_%lOv$ z`jh{haM#e_Ng$jfzP0Xo9pBnFu^R*0>&DejsBWym>SbHZcOJ{ot7pfzzNSm-Ct6!V znzV>-{mWT|SmImjegt2s_|`{hbcp}2){effXGtUDYL=3x?F$C;m51A5K~XaQr{Y_8 zWN4*(r17m!{w~gQj`-Hi&w=M|ZAjp`X^ooa?#-#7avpfI`-wZ>2(jwB*nL$ ztjmMveolO=Nz10y_||s@lWav#e=lVFPvTpDoO?I|wjJN9&%b;v?w_M8n9ExW3Pvr9$f#{j3uUVFWRO3hekiJa9r`0BHWsPJ(nHz4*R4Zyx&Bnx z!(D#@i*UvtI~_%^O4c0@R52c+D`gJh{luDSI7ioA{~fMh=Ugigc}fn%^w<6i!I9sh z6((j|fH%c8GgGd+@tT|6^_QS<05-*Lme(-adqV8Ya@H!X)o0lyp*zk6zZd0e9VVeM zfKxj2B`;`QV{jNfV}dStXd6+O#x6_&T?H1+*0Kh?+$p~bSM*pCE?IBJ5upD~9h4|S z7gR#JsQuN*cIB>nnoWXSBD(3i_DB4Hys3F(13({om}bS*ZNaZ9vEXKcG(-oC{P{H` zV+8PqO1Nkm>Z;a<>i33RB!$^`+V8&rHO?Jz>`3fZY%ArX}Gh?2(P7buMpevVX)-Yh+b z{p2NzavoDd7t|9x2d#FM2l?}~55wcMea$cLcS^(P6^;#?YT9A{Jq-N+MskS+_;)b@ zQs-9TFMn9UzYZ(1aro1L8ffBShn(<##M3d_fq%gNU+@$0Qo1T&ry8= z7dv?Ay}9g5*NMpQ_Ggpr|;UK5A zGLU6nNNa~HgX6pqkg1{Wh@4pe7x-d1L}I6j(1h^F+>R7>OUQPyES^t#(B-aY{#m>k z-493q2tk#gxD4|!!_}J!nTFi0(CAG-qwyP{Q8~w$)WH3m!X?B)ft^+($kAR2*+V}j zAr?WR?CQLRSXZ2`g>&3u9pFu1qTK_&@IK(06C%U)_j5C0?_^)m5h*<<58T}%5h8n^ zV`km!qyz;AujNDeJZgt48dpfPi}*($!>`=?`fUN$!>{L5*$iu{4q#R%ZPm9 z984&|Dzrake>P1xp^`m#UMH&IJDKymH#K&KV7%w+L^Ym0@=rYLtLzUMKRfaKb>bT@ zyBrTmSa^9>Xb?&4Wj8?Q8KkpzLjiLmU}(S@vk~!8mqwfG8bim3?eH!4s~Z_xO|kFu zWegl#4640StEh$n?x0%t1|^ZF{>heM7mYB8K{#t%TSo?fq>PINvsTxSds;;qF>iuqap_ULBT&1r{P(TO&V6n*Bz=>v&| zhy`K|zBdo@33y?`bqJln*dnIQ&shIUSpeOD9{_B{MM$0m9^;JC5Ph0@+3TMJr3On4 znVNdp+ke0_?0u~Uy;vOb??+r|`epl%D^B$nj>`%G5;zJuCE&63 z6oDVcx~(=DFw`nYU2uY+2!JF9e?S0SKY-Mh0a+Gv4c-JR9HOfvyxAY#WTxLL^j82( zI8$i)BQkTD?%eihN)eSWp_M8SX!H9oQHo00!)>~0)`AfLc$;%${38W?z zl87|(#`<>f7L6q$iun28T|XXK*A93|WIeL{%TtafZOsRecHb9voo9^e@XM9vwP+^x ziOdhC6lmH5RhSlFId%1+D0IEydhs4?v0Jkerd6}KDIF={Al~wD+J?rNrUhbNbL;ng7?{D-7aL`cSv(g408tl)VjuGs~({SKQ#x5JR%^mA>ZXNSHbd@&=~|-&ccoh}23;A8z=5S6qFd_Y@DV zmdRD8;_Cgsg15}LJarj_bxK2QCEhjRU6-ky_%!x1N(>5lst=wXJi{&)dmK+s51q`X zCsZFC6zt=x{pq4RdoccHZx9AYbQ)L$kl6pRP#4-?C^xGk9*6h0N=7ArI>HAOw+}>X zQ*|n>4gF2ghqXBF<}@yCrbRw`6~K2dx~yY!^}!+Tx@U1$eefK2T>~zpv{Ub+E`RO8 zPN7S1jIy{N&V&158r%;P8$ze@1m4bq_SitA`^fi&_wytfQQb5hV9AP=RRP1Q5r$PG z46DXEgc>Xd{vhi6TuF3#l4N$W>ig53M=m3ykG2O%&9<#5Xt-#$7)ES2Rc%plH`& zxGoKx2LJao7#gV8Bg4ha04v`_1Tb(yz)53?b16t*8=9O!^+ zgmv*sqOIqkQr^hMgL%>d2Mj=YM!%_Y>zH{)TT5}=H_A(OvIpPOM@d-t5glJ9f5Tn* z$wC(GF*Kdmjp{m!*Zc&}^B8P|Q%oU@5akFKv!fCX*IcHA2yd2CmhH#-Y?lM(qNmU` z=$;B9XD4a{uRrs*I|H5lv4%!eHuJenq$!^P3MVH-d`Y?1c2Y!c{r{1k#VODl4EG8O&4tZ$BvCBiC zwOU?c(+6?OcHBKuSy-O;DE732yMp70yA4UWYs0*W4;9fL=JXjyG*qHL*dd1r2BO$M zXIb_^LnI>xbVFwJ1ci3u65av-7o|8q;Ty^$*N1#0o*T0R8pi&lzb91J;zsJfTGtP^ z0aAw+j!F-~U4Lm7?RQ^cX;$bQ3I>QYiJ8QK4=Lss!#QgUX44?aN5nQHl2|4~aWOK> zT#eTh(*VWF(<-K*dCPPsHthVCUw|G?80-M$214Vme*^Dv{zR6q5Kz^t9fe5{T`CZ{ z>mHP%twNQrfWF;=HHQK=-&Z&yC-f^yRP-ay9JO6~HrgtL-l;E}0{__1lB_P1QSACz#{ ziRVLsGZ{d_E2iw1!l?!B`k8{1$zEUKRBz~Z_oB%@Z^2X_5B?Zg<|`ai#{U1R)E60A zYIYlz*#B~?Yvs~^%)Lfem;=x$kl*fqrB$fX?muR)qpR5et!?#xT0;MOw(dW4FG?@y z76PR-V;&;`nT4Y~Tylgnrf^i2d#>0$7RC~Pe>)q*%`*SY;#!M(F4)^Jx@pb$E48Z2m55{oyMo z|6reIVNZAc2J(c>OE?J)a4_Zu=D-i;aI_%&L)QAeaF1~MNB{tsoa1veM&zARVpg87 z@Q%Dt2z$y3a8(eRp!8B24Y$RkwK zh&thZ@NN9m+SBO|Z-lQVx&<#r8NK>6p!lqHzKA#7&r_9W2f1dwWv0V)l6>KAcEw4b?ZbjZ+b~8JR#V7y%EhIGpfkfzG#Ze zxdhcZ84Hk&|GCYhLo*{$Y<_8m(*^UlcxIm1d~zx?^DI?~Cyc-8-8Xjfp0&D2fQQ^| zEeU_tP*S+zP8>|ODSAA+Sh(Fi``ivGDPxRY^Zm;|O&e|G!cbVMcCCcJw1=&I;cS1B zuDry!w%INaDE!1d`yZ?u6kPxuj5LOz$|(z3Z3><{I&g}vz>j_M;jerx!S7=A(3pYQ zCEh1h5EaAm7PPgZxrwpRk2S`rYi;#DJeA3*BpJairV|jBGa$tdDR zjJ`7PW2d~=P=Kc>0it)a|KXix+HZE_cN_HcgS^;j{vf~G%ou)4FpMq#Fy{Kkw^-aJ z{n_b~@CUKcU|s#*LH<)EOs`%3O}C3!0;w5Htavv;vxz|V;Rh=%G~<=>lh1#R-LUl;JT!M_9b`!@KO zl2jsI08V>S$|5AuO+F^r#o<*JPYkd7++BAiSd8*X(3OS?TkpOhe3O6Ssqb+V$NPv

3dTn_(M^ft}VXCY(*3~in&zovPTzVC})NV)cAYv$Hloi;*z0hP8+p16FYbN9C% zrk$vNu|TcnF_!+d*c=*@MCTZiU!}52!Ylm)fAGWm=&oDqB9AInRTAD%GH|8vH(!R* z;p>TZg`O=jjvMUX7#m~c;t0NNv$~apzbF~_7L;u4DE#3aY7GBq>3s>~lJ+cpuQWGh z(@x+sb}1uwcxA~MYB+%uY$uRf4hRNMu_nk7C12u7btj%nPHH7)d0OcLRH^u@r0_HM zeH_A@Fr1TGc(Efig6WAB)t}8Gave!Wk_>$M}sus27W=paP*fH?wnO2 z^e-tiXJShv&>)k-posBXO)C^ z!T>UJF{}nfx200pqx8>UDoA zTu+u9{K)12ON%%J<0NQ4+Fyafb?(_+Pz#6SLLv&*FU1vDDxAzxj_*&^-?zy>U3G!B z_~+{fGynAV zIJhL-MEd!N-_KZ@xcyc>D{T%KX+Z8yjMbxLaB-OWnAqVRyWy7hK{u=N!j10PkD?~O z3{9u~R8%P{=S;DV?-l!r6N8=7tgAFem4g_WJ?8M6Mde(GC&?r= zw0F`uMu-D4*>3zsml3ggQh;T(CiAoKZpOEmJMasBGdJVcdsqB&s* zBkjR<_%ouvZ<9Z7vKnZ^ycwzA+wv`o<|kYB|9{NA34B!5`97Y3L`E=9K)@)X0V4)+ z2@0BsDH8;|0~3sZHZ0X>k;XlS2?SXTBrM}N8e80|wpjPAYD*D>DgkA2K>~^_u64WP zxPYi^E%`ssd(ORcCo>6w+VB6z=R;=ZF6X@G-Oqd8^Bx??j;{nJ@`13Zy3YGVgz%@u zcMcZuI{mk(B*iKJku*udpKGm0f~$SuV$z4x$?yk!I)A5U?x*tFP-Gc&UTk3g1LcoH zd6jo=X#q#~@%X*YYMh)dVMM+io?Ofp2vAMILpRv`Nu+-w-K8xt9b5?JeDWG$&WH77 zH5TpM-_Co$io9wwr)6waKNi*~f05Nr#x#rOQBm$Nhsfs!#McJkn|Ut&9K^|SBrcd& zlZ)vQA&&wP7%N{a=I%HW7rO0E?)c~k1lMm?sNlmDskZZDaV2R_VGtC6TelElaDq0- z^_9NfJAAzx7#7&Zuz3!ICEz8XnKL@q!l&5i@4b>MaYo;tBfB6owb1gN+cRH5UH2CC zUdddHT-;}2>7w5C(ZBP>2K_)DRtu3G&AnnV2e?Lz4Eanlg92Rju-%J^*3HHhVt@Vl zD?H%_f*bCf;iu%ihaV%tC%7@k{ypc|G9i{ECx}g%gS)EnAVzC9-9a}kF8e&(vu5d5 z3neuL7hER{=3|Hg7|DX8J@!j-m*fQPG>d*GtTj|$LyiX0Va)S*6$H(qx)U5DK!zZ& zLNv)LE2wZ~wYK9Cn9z14({Esax0pX6dw@k(zLn3f>`^%Vqv0WCo)kXAz#HW+HoiXk zzArq*WjEl@U+oD`KzIIdc2}8fFcyh9T~|1`@DamPXwiT2}7Nr0n$ z#*~isTrCV4heIL>c_S2~7V=>-+_6$7i%1M@|$Rw!syJSHa<~ ztCe7qWu0jBI?-6l$pFv@4rT6lu9fHS#|bY$G5U+V!m+}~d8CFI{lt7gK0kKgsjVJI z43CbRUy6mf0k*LcQ*bW^yWSIKJxtgO;16?Srs*NB1N^DLg*Z5Zzn|i*M>QUF(kG;w z7ApJ+_iPG;`<ZZ`3_#TMOeyrWB#100z~QlN6Twg^gmOn& z3I>!R+n3Y|99WPuA9q`DnA@+=9Y+_j8|YwkvqHLg`Ij00QdV%0#7gr_yI)xjjAa>^ zqb)F+*rZ=@{C#J|#@{YB{>xh&KQU`zHJ4aDg~dEFDzOgYuFh|)tMqsl`&>1jdaC!j zSm8tB^uX|7_CSPY2tr>MguZH%&Hi!-^t)@O4gZ%%*zk928U90PzwfPf`*UOMFZ)f4 z_&J33Uu1y`Sr9gR#o8bDi?x6Abi4i4X*PcLkN>6M-x-5{VyyiKe!2FmZ1|6ewLjqC z?R(}jn4xump}EyFXD%)xzi36^w^RghlVHkl zS+dM8C6w0m{kd=n@6fyOn(xd3gs5KcX1XU_D^av-mQf-vaAE!|c{T&&n^;Zey zz%%DM{G=>IuELjJM!$@y7Q7)_++5$*0-~vY`Ejg<>3^qRZjR}fp*9@mG^^w0^{Z#@ zZ87@g*z^lp^usbe=oZ56`F*Ja`WI4s%0;-g;Wg_rq<$CCzk@K|^3I;r95q-MB{g+O!V7>%(= zi6&v5B4L>(q4>vncKLk;Y*Cq`}6AR${)P7KZ9i9a#z%&(|Mz-jmFg+fByOz%RGxO zINMv>82HAz`IMPzk3u2+YK`>B_;`F%|9a-8Ve+Hp-||sBbB@48%D>)p!{H!1aR7~O z7PlHTz#AUVtwN#-a_Yb^>)Uogrqfn)=!v8~p99m#l0UMNqo*!Gj2hGO^fP92vmU}E z*w^wJ5QY+`6J9m3 z&@~7T9D9*x@loxOPCDsaOzgac^Uoh1z5pHEiYDH#cq-aOI%(*;!n}JjH<8u@yV1D_ z6mo~bpen#fY&V$a;j6i^kvY>0^qcK|tyvfO+1q9Aq5UUpEW=OHKmWoPOaJuKxN}>U zek9vL&N}i%iLM;_Xi%Em{If-JuiehvYlj;XzD)PrM9oC+B}XD?59jI;@dX}IJSg@v zyJ`OrW$+&2r6FHtTz}^2RtM47V=XpFi*LrbI`&Q4Z}s>v+Lp)n+@-(t__E^1=eIie zpNtQLY#Yu2IX-fR#g)fXe|jLMJ@;duA`>!^zhG|rH~2p0X>J!@ zc+cVhq5lZYUzt`*SCO@I$+vlI6L~w`f7@$#8%Z<5qD7a>@k3+_!PW*d?{5*yal3(? zHCatF?;DkXwCFrSl!NnI$?O zky3UATPim|)vY2hZUJSBfU?oh`B+XQBNCNFKI3b$r3C z`+rV;OP-S1As$+U{6NQR_E)~YJNd1+_uu_7`9s$De{5#_Xn)L(!#s!=cZQ%?uJ7;$$Z;8K>;qP$h^W)da;Y-&3;m~I^lD-{ex4&Y1W12x-9DW1M(|1g3 z=)0g9C1ufP5gZE}D90DTcU&{1lc#vUCH_c;zr&%=XoP$nVA)@jwSPGDS=7uR$$!nD zPGGR~+q=y$G2d@SwBp|Xu^Ilb=+n6w{uKM@)%MYvdsTXA72$+2Cl+f6NV0#v6je=R zDm82(Tv3@VaeiTr`^mD1W}RQ#!RS*oIC=K`<3%w#&)7(Jd~w=$4|`4Ry8`pDG`1Qu z>R(C&pE%yLzBcpz>p!;geHs5*di)s{H(W?axW%AgcV`wLnEO}kj@@Z~-)LUXhMPJ7 z_YO~V03IjwS<3#mFn;O(MBTsbf1g;JV*U#p3p`t%wt2SIN%T!Norxs|tlx=IZ^8dX z>I7Kmo@TgT$9GR?+W!gW1k7uly)PPO(e`cWUHaWBWZ7iVBH1VUk7S~)WcPSY#-F7B zY{X5R{rCGX`rmS}{*&T=HZ-Oag1`AJ3>-TC&uvEgzV(*Hafj=_S?^<}3RyjpGu(r@ zfbR*_-cb~34*#ED5s&{xhBf*_r~iFut3~>sqWLe&8qHv;t-M;)=QkhtOvsRxe8P$I z7cIb=&Nv?pH50O9i9BllSez(V;1N++36v2tdz}pwb zVW2+7qHhZY)->t4DArlPb6;#SO6g<3OwJciNhZnH))kicD70Y>r3;6WD?_>eA`az9M#eL+zc$_6D=V1xV1Sa{ zOF0UR2nbSx!7dc$tTs4Db*0xD73=TGsMKgsCqzcW`NP51SDKYC%YW$hVaxopeV~)0 z4}*VbS;WbH5t)B+xaSXnuU8Y?R}Q4U&z1P2IkreNu|;grTEU@ggq2|EzEzuR`Z{SIse(t`OjC$=0Cqmz@f6A|JD2l=ydwuXIq^d z&ip4CX@pinpCt2-35qKA>}yeh9%A&+{ohQqmB1MKLUa9Rj}We~`|tN(^uOg`{agA! zZvHu2Io>t|f4jiKz+udPlDXD`0n0yj`q!n05FfSPZ{lCK)I_3xorM0MkBrCvq5;p;w*#s5eX=#2|7za+wGE18Fq0G#~&pJ8^2|L?D2DcHhY^0j>Vx017}zus2Or==V#}lt@v?UzhwL^$?t&o zTbADk`a5|d#-)coKWk`K|0c!HUy|V`Jr0^^Yw>g0;p1o8LGUxJ-!Fxqj_AoEoBb*D zYjJ+|#|?UZcJp0L=4alMFsT`LCg*3bogX(p>vai%wx=|)`C0eplFiTVJx7o6e>y*F zc*mZfJzm#jepY!RhEjJ1hq5=n$^2|gaok`qKl}Bwt(l+IpKXome>p#!_D;+4HNb-6 zzxHoBq9>bgtS^@RKSH8|jzo#?IiJS-_ABej@dqWru*j<6DAX;qcf*fE5mB#UKm|g!7t0cyRvvW9Me* zmz4i*KeKhXll-Xv6aL$FOf&E++-*N20pLUCzuua@UQ2!huRxI)|i?mk9nhJe=N#MhdDUsh2$Zsj-w~X?ugtw3zaX%d# z{2tYe8il^19pDs6+>~tMO#Q7^Fv?W7?%ptBtO)8SAzDLC=yIus#M8u1(&U~ z|7o6=yqS)dcgV|MtNC|J{537TW&985{eOi2AC8Ix#9W!9J8lvG!Y{}$c^6hH#&xl8 z*8K$?li!cyPdomI8k?x{s^Z@tiGPSNr1`?BC>g$<1X79Q+XTn&#yU&#?V#5 zav5Wy3n}_L=0chy0Ab5J<0IU_Bwj@<|L9=rPxkpdnV!WNdB;?alpUEY@n@jSY8FbY zW>x-*Bg)~3a*fb9q_TK5{ip3PS!(k{PRDSI6(C2m2K*p=8J1ONj>G+=r3Tx?jV02; z`8<=SYyFERQF`#0O1R%KV1@%2o^8It%&nE8hgcU=5WwaH08{?Zj7mT@0&kDaG&`t= zPGTe=$Fukn1Qs!-yir+|M`5RAkG$bM>}`@@i?~%E^WsyS=vVuTxPL4OUt5=msHBC> z^#kO8&)mw`{+MzWZlG7f!pwE@sn1&oce(R*oJ^6wsq!qvH)8(=)Ns(AIj5ruZg7@Y zv5#I}4e3|88af_Jh<9x0>{^zBG(m2naYereGd-x@SaYFUuCKW;gP%18Bl}>QI$#}L6icYDCmr$;`~xm@WyF?BY^$iIH7~9WH`WOXRgcqyqDU~t%l1R zIBqOlh5tCu2&~T?hp6#X=jgtVBZapLw-xXABu&#Wy^&?fz@pKH819IIT*FLrzG@Sx$P6L2Yt zbI`d-s!{eC;3UC2?p6;%WXi4jyFYklZ{k%DAPeB2aDV|nho6w2stlv|Zlm`PzTke} z?(M$%{R4eHb`1}oaJ-Z_YM5A8D3zq9qoyh=I=BX55AycP4oJ_OSqnT%_;_qyO+jjJ zQZd5}W3^NcE*j+Z1$pZAFt2_rlzz$g!%*eE%Se9U1uTs^M7+3 z?wVck2du)qS=aT@91!V2x-0tL7^80n1~?t;$Z8hQhB-jLp;*>i%+Kf<*ycES4~No! z3O=OJIW)a0di}PPts>J)ISlM_16u&=IlkaJR0r|rzd6(6&o|sNkHj|aJj&l&Mt+HV z26P&B#FBkJ1g*dto_RcHOlVZFXSejW7avkrq`}y|&8Xi8Mp`*6oZ5*ciKKV7KC}+K zc@Y+XuzB;)1VsIJrxMQ|#0gN`WUILjOPQq68n2i4adJ=PasE)3-?RBp+8^){J<=E4 zilUxFkUs#p@M6yJ@KGHAUqwG({+m;J`9oR$-rJZ@U_r7Ckn{v3C<}@cr!+jQ@3 z#k>c9P(#jK&mTejQN$4E#N2w4Qzj$V#)+e%&*y+s+X$i08G)0Urx0{sv?s}eu%TLE z33Y${XQD8DH9jyVeO1XAwkU3_>`74E=Fuz+rV5!9=hle?(u~lAVDIH7!{gs%xFD9j zH}QlH5{;Sw+1eWeFBrYI#!&v_DMUF+L|1vuF<7|u1qWF8mP8C}dEKeO2(EQNN)}aE zStVN_`4gRIM6gF7sghFo@xa;E_<_zCkDb;i(T)=0T8qrtcx!)37YwO`Es8A|i@oMQ zu!_l2`I;vLM-Xlsiz4V+?-}{fEpu+Cnsbc5Uu^KZvpM*54j%r2v}})_87X@3(k4!^ zQ~*OLJa;|{I-^loa&H#gDV&ejh;x&ud4kk3f0BkX%u}UJD8C9Qj7dNkv<&u{-u@Y2 znt3|*xq^sjnD$f3GOZF=adNn4ao`B3jS9n9Gf1QvE(0it*Vhcv!g9XqgKdlbeE{pH zzTi1{zzg7LTmUz0U=_H6fR+oOMhIWIUl$4$Wlo$xM^08+u0k4$1DgA92{-F!;5 ziu@z_=?7~4)-(4(Akfx7VjA@DaDJk>6&0#1rGcG{#krLzBo0A?zybfz6CcJzmgxY|av0-f-JPCskwjY5Y)%an8n>?TyAa*lS(X4d8RZpWr9* zH(t+wW6~*-?Otwp=lAP~`*8+R45Df%xB>a$gfGFZvM(t8#R8lfQaF0>{ejlmKP$9? z&&qTB;i2#VU`kONExc5qDaQ7F$~SE0a>_Sdu4nj#zSa)g*IG?(nhfs8j_{*$vH5%0 zU(RnM`@V++-^70KcE0>|Gp{W~F$p|?%$n}k4m-aMDiaOAIDFLbqOcDKk?wWP?2nt- z+4ysPu4_o%7Zv&VisOyEDMRw!o`R!2_qLhYsSw&Fmpk*TD~`wCSEry<0&ILG6e0HU zppMd=IUtKI7#I~t1h^~DqpHLYhjRY=Nijyr#G-2)qsZw!n7YurWC6;#PbvWiP)Fq! z&e~gzpVJ3YBS8LvpIRa;e`m!MczQq&PKDHV+vxFwFPsXMg?+Yr&5TVu8VmKopwTpS zV2{WmS;?Hi(uRz7PP53nLP(SGF zw$;~{@%m)^(MD4^e1vElVk4QrC8DMEcSER1=ol%oDwBE7j&%3 zHC)i4`#iH7gco;vX8)64;B@CA@lWu+JLWGLJvJMz9Y!z}hxtsW#Ye&_y391s_|j|~ z;`w#s1b?XCDJc1?6$^|+cnygN-^5T{g~LFKwP)EtuaGl?JCSGxKMSLcP1oSrE%}z7 zUH7Hhw0?j zwC?0q?O|>=e~0y0U$7f!;zeU9*}V#JZ8(QT!3G~{1&^1K#;Dzieo$P`7aEDggRyim zk25H6a5HbFn>nE<)YBIn1~3q5de67}Ltp)W1{U>*7P&t2;blIHnsE{`XVHFC@f*^2 zdr`Qw5hb#wcY-iX$N)A<9kyr#PW|);*NKz*5%?4l8P@hX4|yHt50EnYsHgGA7tC|u z^kT1hJd-}~xe=EXkAhMe=E+?&pL)2NBC?3gn&hA2ukk>z)^A?&SFxP(OZ=PDIAh2! z====~+8oL;jWC#Sx|%p=@$p<`!b0gkM`__;Ja?HVPvQv~INvhx8!}`TeNZ@gco=8D z`7;`Eq+5FBNnC6!E(%?eBj?@OfwXf`jQY5aK$M8zq1JZlDmmyXu(X^K_dWgU# zBY$f}KQ0AwUcuH^p_mU(^Gz{4L*BsuZPpL49dLg@bcw9mK*qP4#Z0aUr}chSCVGDf zUCZ;Kw!dH*d$aBsO_Io5+goOR$StZq%S?e9l*O<(YZS6ZN7!fb0V% zLoK`uRYi4)$$Ri4&tml`OTykKE${?T$Zk2wRc5}hAEe}Y#9<8BsvnqNkpDGFI|J9~ z=@zq^XPxeUzI@73GiyYK(!1bUP2fQ{M{s@;&p+wTS3^3~gXy;$CKk{}uOl6x9UEa{ z!f7KjMxyu^E`zpdL-4~0?#B!$+<)pTon7X;TNw=E6!>0!Sex@vBf&hN4^U%imIgU2cm63(=u$0`2e>z2Zjf5ktV9FchGe^m!+jIYOY2 zr&mL6$y>2*!WZD!yTJ!Q_|XUUu+uWbwX&w*sZ8h=Pc4tEHP6ICE2ggC>H}sGLItR= zG6L7xouCqIT0%&nqcxH-)k2Z> z{vG3_{c&5`6Xd(x4C1B~5fw=%Yv2%DnZqzz$(RDG8kT}eA206=4F*fH)g1jk{aZxE z2$V806tzq^&y7)dW2|v=G-uZN+h)!br+yni6i0_ny}$PwI`#e@@1Ra-9%?m?8xhLh zIwCZFD;$JfK97G_QU1GuCF~sen)dLZ%3i?+5Usj+k)^A)fU(2?6>~vqe3L_I>Lu%Kus=|M$k^pOS5U zN^wQQr6Rp@rY=zvBT*HmdCRk_@vM9ip$)4DEU0Ea{L)^G2yErQa}e3-u#6YI10YU(rjRta74IU7B9EM|*#1bC|3 z2pv~fSA>nyo%~@XsYUr~1KlI{L0$N5I5oWb35sfobtE7g6Db7*1PfJVar%!w8Bj-9 zQRd%M(^K3EftdsY6P06GnyN9}zuU{uE|cF=+9i($y;uZnJLz9u7r~}Q41Pg&H9Dwc ztR>LZ0*?02pT9EDC9)AWjj(!%c;LfSKcZzdbYzxXBM!vDcq)JEq;6_d;r@3n1uS2` zOISEec|ntcKx5#PEf58um4Px6ACxRtx%pr+;wVazqDon>q&t+qX$r!X5D4~Bg-W($ zD4Mesfi&})q1dPKDE>ggXDkt0wYeNY$-Ym^rEArtRk+0dyWy&Xzu!8l34af;RZUX< zR{G}wi?wUM$stP%ji8OG-`B)X&&;RsENr(r9$h#LB3OYhx4?(^8IkzV<%sjAopa3a zHbo(KXmUp6b1)PHloNQI0ose$^V0f*SrB{)73APif2iHy(D01NReTl!I0OSO%cKy? z!$6gxf+Cqjziw-LC5{@aK%lztSaa&wq8Ahe;5PyXCA%AI$u0+4qwOA&59uH=}2ezXhv_Kzs6x1*BL(|JW%KYmb{k` zfm#yxezzv?3+{@7Zxr>Y_tk%z3Kj36iVvJ!6dvX(0$o1?+uhTV^^X9wOBIxJsXUtg0Jw(WDKJuLx}#q(ml9YA@S86GrCco;$X<`C%p>> z38iP@!@@sq;dE*a6H8_{<1~vI*HhDq`~fxBl44B!srwAM&{QZ-|j6w(9G9kg@H&3C}2R_ zU?=VdnLkPa+;XTTt_JReUShp&tgV6Rc6#o3g*<|Fe9xRk{02oUN)94{O5gPIM(`+) z*&t{MS;A==q)H!#JT7wz*%uQ#)Q=} z9GSRAL+S6a#_xLH$lo6T_XeoJ_JC_Jf7c1CfJ+d>TY%RPQpyTmF|+|=&qU*XupWM6 zmmlM=24((lsf}&FNS&UT1b$$>C@#tQU;3ezOX_<{7`;iUO>i zPh|mCNvHz<=9;7kkb`HK7$ET^`EKw#Vp(#F_ICh?OYM2IdfR%Ehl{1eIs$WTnJ6a1eCx+my~==Ffsu8)QI^3T9E6&*93i+Use_;yim zK|@iGx3SD}I?grmd;AR&B|#EH;5f;LX%P9g@?Xn|uRK3i-_0BZ#>p(@6fy9es0`6c zUKB{i**Tz9WQK5`i0as){7n^C18?YL9Z-@1lw=_W>_gs*q*1(Yxb`tnaS|GPTeWCKV75|QlFuC7FRVJQw{niGz?8OqfW8*#irNbr5aOoQTj`wZ{NPwft_9BS&;;QPcGF zlBG%m?cfaOqy);aco5mCTgrl3n-G;E8}gOxRwfviCU6EEGGu%>O}LrfJhk&6SALf_ z2S+C6L7F_ZJaRX(U)mp;i76z-$%=R!&!!D53Dp$5+*aA&3$d6hnN$uhO$W&=Er^w% z*MLbLVUp!zX!ge`vW5C?$s-r^EPz5kE4&YW7d?gn8xE4 zJf3RBNF@x@DEMA1d zW8^Vh_2;MeS%=y5<)mdE8;2Jwp_=q=xGvJN$u!1Fp66*X~hLrGS;FHD%Oi+LAFE`5ufawZ2r41Q648H&p=@O@&y&Y zd3o>0LyU@VB|K*axrw2bGf)*Cuzv*xf_A=9b&(?;=ozV zrl~oq(KTl$S(IbWk2ux(ER7cj!z^+k^GQB}`1}@p`a?rYp(<`{;0k4zEAT;A_ey_$ zTH7_lSPyz*w3yp?IE5vrKn5?z|MYKHlUr86{&Xu*N)cSDd)G}h4WktwZ^an?j;Y91z@o<*-LnDg8`#h2Bj)!8fuiPN8 z{~aHM{R+T-5ug*;aZs@e=8D?Vu=iE4n^*q&V2~42qN8GvpR6EX(0GZqzul6-9!)QT zneqpR7K;zUgQrKQk_IE-chAhNDHv_Pza8tCSgXa@F{NO}=H&ZtQ!;lKor6-7|5?0-+XVT#4katU1SVk3x8WZ*~#%xlXxN<4G^!|v$6 zBIV(Z-;>K4O*RmAETMeNZY%H)Dwc)v?|@N%XjmRr#d$0|&XU92uc*gL4u<+1sU0|oX@}vt zc&CxSC2$G_bp>I>jQtDDt~e_Bt$U&^hdLbO#ebuw;Kl!d#C3?c?1TQLNIwT1D1O-+~WFUf?1lKkZq3mon>T^IW|7 zcu&l#X3cwW*IYN6d}+z2eh9kN%eBZSFuj3%KzKS@@ZFDP*P>ushzF!+IHYH2S)`h? zpfy9w30Pzje?ZV_tObZuZ6LT5Awhna0$68}?T!RuumEAL0O%DxY77F=lMMzh2N1Xa zn{tq0b^#2sFsLLLj9wP`x6E7AIM_W9((7$O$g%h!EW@Cm^3(2LsZnwcQBtQ-0-_5v zHMnao9uFpb2}xXHv zSQkBy>%$8H1QjThcL~+qfqFcNDax4|4!IBgR>Eu@B^$Nt0zHtG2b@%CAY1@~k>`+6 zrXqFaWe)4W6vkr5Z=+^rX-WX0tQEH+lr^HIR~m2osd z^eqv{1KH(ve4zi*H(~K_#VD5G3seft=+z^|#E<8^5}I3!S`d*cT!4-m1|9XnJ|MFa z(<8OG70ooyl2ussQ+%Vb2&7@NN^n@#>OoUojO5+zuz!$2IPV%JtB=qi#fKMI_Al-J z6`KCYY8y*z*WrS>>JpON(gBW^YF7}^6+pCy0D}4M%MfZqO9-MNzD`6#uT1%qtOBK6 zhgG0Hb7Bn7OCaj66?}CK3(|SYr@&V$l;D21&ogkQ99e*qmnggpNqfm-w~k z_OA3XY>6G}g(#N5Qc-`>THSd7zD1ET2qmK2Z^Q*Xepuu?N8%^7Pae)u_0{Z|;JJey zn~LARD6+Q0JO)|_K${)#3HZ%bOt!#6$bNj9i}jE1_~R-3sgo&)#J_iHUnkNRd6MzL z3H(y?k3L{89iIU40f=`#QWXe4kEOxB!tIq^BwE633>*r@gI#LW?gI!RC%#^J%?L81 zipkp0=ozcA9MRs~wjv>=iadv$G9*YdT*?f&M~QwU3ijj-DUUfU9n|zFRXKnKhmjs*(7ZzZ!}ag3AqVmKE=Io0w~zhE03p2hXHjn(_oD?1wDVl;yxY_OYw z{9?YNT7i}4!UVlmG?#R|rXNDBkjrsqaGaS$R+jnu9SKgQXEDQD_rvi{z`J$9+JD(u z2qtaT8KDai+qp2uv7Pc$+3L65dMoy6y^kbEriT{d#X|j}@Xx{OFKDX6<5VXb3LUcu z2UNlEOn?H{zrNyR%t0{!7>${SkN47(I4iInj#vn&nUrQnXyvZ2gD8{Co`7 zWZ#GmiG z65D!|@HdWq2lA^^X5#{v@NbuWmq1oke=sYC-xsB`r1jldb#Tf0<{5zUH`#*E-v4Cr%&fWFb+6O9P2;7FoB32Eee?F)Wj*nLkX@}DP9;iP@mvLWP!#{Z&Ti~B*5ho@Ni+{F2LgIjO{Adk)Ra;wt zZ#z!4h{a|P3%*RW?*J+8YZJ-y%;A)e+^wxo{I-zeG2O?u5Ga)N-@eK@N|y=vhz`Om z1v?himJqluNp^(v;j((D3OhouIcQCM$`P|t#j|0MoNHT{$)q9$BxWu>b5JfGlND4= z;r?L92om6*MfeetuDM0+XF*aARy(@kHvq@HJN@Zb1n_6@5go$#6Cqy@k3ENw57K*C zhQY`WlJ)zwlK?x`IBp^AN8ky)n`Mw}5Nis%IUM;M3UJ&0CY~x98-S%zE{>UlI=D&* zq&W685Z`ST*r^1&TXUNlY(y&84E~8IlSf3E=o9^7ee;{u|3$K6=Mwb0k$Wj_hF7(D z2Kx>DQ_yugKG^SOBZzxz3N;c6n;^mA68@E))a-@1+fulKecM5 z2@QTC;?klCee4UT)WlS*GNHGL3AO3d()n*n|I$h6gl?NculxrPr6~S);d{WIpOSr)IQxf<%bwGYv9DKA@(PxN0Zn7V& z&$nsOzXW{u9t1wif3ofCNa8QfzFMaB*?$Qln=`G?edfewjPB}uOJ!Q)q#;J%k!U#) ziGsg#HGOUPMkl~0_Fs(uZJS$!utReY-W@ak4~x7$KxmxyKP7S|+Kz{j@&6Sn{_jWp zQUIOxjf%3=X0H`x$dG533zs6w(hKn-xRL3HUO{r76`#ev z+uAqL4gx|5D9PV4`K!{O#a@I`%u!>3`EdF-cQQmOI~JHZjo6H8u+VMxRZqO3pC}^^ z%N%`SllqA&dr8r521x}7h+(VWNGw1Uf`e5~v=x{`ETv8L5ZAIijynt}UPTNR z=Ins^?y^0Nh)EGKvOO2Ee;EYk@)(vu=gO=bBSYw|y9fVK3E6!YW|%jsC)(*J^7w=| z_Cx}72p>q+H{dFc4stC!MZ=ZzDuS?ttIizI1hC~2?*vrKv!CQMvF_dG_ay@0{5yza zD=?}PknQIZfLI_65k)UZ_h~nk<9N<4@?ACZDmX{5^w*aiSmNN^=D1I^L`CjWE5h;o z2U`W_6-?E_{<+ChEd5?x)hQ()&NJ{j|2`Stl7;edA7iFwI_RbHJc56e+ris-yQW~( zmyD$yWBUK|J%io;&}=@hRwU$W^e9<%558lrV}Lt0#WL^z*c!o2@xB8`LisV3{9KLq zwEVDbG9UW}Yh=oHEOW;iNOpcfa54Am?3G6l_oMF*Mv%k+MkRo?GKko9cuI1ZcA57T zh=|obC#~sheg^hJD3<}pAGY?LDQQ^2j~>emrf~nSZbP2>AY_s9bOwZo&?vY6D6vuj zcV?^LPMNt(a%ClN%ZdwMmPZtp7{SZDH3heQp`)ZqQV=CQ^54XV`iX6$SlP){c)SeI zNWuiRy+qoIK49Oth5>PWfE7)1%t(YT75xud(taA%XhxnzS6xKSKEuTx(OPAq!yPG7&Y%; zB1F)M2gd&wk=~~fA0qA`Llr#V+i+RtdkyAG0~CRohD(7ZER1z2wpsc**hVo4QD@)3 z1aa8HJZy7BAomjNTz+HHKq?E+*cg566P}P` zAOyloep?-K*9jNSv4tN%NO0$URjGMix%@No3Y=uc9GqWAaBgCwxp{9=mH~Yt zZ{t2805=O>G!ur1#LE$_9_p1HRB*62AOj$>(pv5|+kC(_p<*Ic$(Oc8(fGrUX5(27=y{+fL~J+-t^HT%*%wYSQb z_JLbw?MvB`l2VZ|IDA_Q5-+ePy78oplqpxu+V`Kvl$5~OA&AbN$M*|s_Vf%4$KUk8 z5d3W)7+5%KkG$(C4A=49S^MPGQ*mA1#hzenn-S=iXTRWpQa0aVD|f-#7r{B9{_F6e zg1B43ha8XM!;l)31dM(#kfb4vVC`bgrvTp^CaY!GVTc!MZb?n4Ok?`k@3<`FmEM+T zFT`^+5MrC{Mfck5Jlr>j-AyJ?@8=J~vF8hr8l~=$H{~6GP|Y^b`9gdaGE+b`KZFV6 zmqCv*m9r1m7q$mPxmK&u+PXh`^vDLG`Z{k%TqXzRT*MSt>fa2y|}OAyVJ3mI~OzDu;7 zex4ZuNasS59MnUpy}G@|TZX5w_EufZPy9m?T~^^g0cc9}VvD_iTs721YN$55Sp=}S zEV#ZX_!^fWFzEZxMp4jYHePTmGiabvly36}C(!OK5QeL+>WHinnnRMOoR|VxGVn>3 zbj$DSv#YRVk9{PvC#>L!!eZAexPkl>b6L(l=3mbE6`7AubD0JCP79%Eq%@hUsX*W(QX zzr#m$^10rQX=XJrCX6g3KpHvBv;YNw2Y*P$FLFaH`Ge0Ymcjn0_J!5?P&xUaCh?#| zP}xD^Cl8N@klCb>f&9p>GXCjs&6UejKJ&NKU!473X1X!{5xJuR{~$5L256+1tEYXncorZsZY zjL1q^PxFPx5?0DM%Vo|E^bp`wE!rSj1Ja<70?wYW?YyKYG^QBEG%&Hc#wg1F*Q7!} z)RjnE(8ShLe-KHZYheA}n+1<3_aT}-s}c2_FNlEi2a;*02J8<$svCG##FaKN1>+hX z9^4&+tv7E=QTmU)P^)p!u=&L#Gap0(Oi4|_s1L+#Vt3WJ2)AkD52|Wg2bC%>Y)~m_ z6%QSn4vyZk#|Yh_)bpQ&FQm6B_U5&EyW!kkF4G;?+iiTMreL;om|=FX`>WFZVVZ@g zj%t#g7LrZrV3hlVsTt&o91IvqAQ^7LC7v-1?CsY=yNN{jP-4s`IkzB;JDPV?lBlou zs-obBcIh}&DBG^<`IO0o#? zO`s`gMJ}WVDvQWVCZ0l;X4|6hIHXKHC~x^gSC#rh*A^o`Wb34Gy0U=`+k(SdeW(c@BXP5bY!zfwUkauzsX&$`GNX1qZ>gWktd3KLBS4 znT^mNtMQl&@2V>HPx#6laQXXzLB6`*36o}!D>YbOe{X?hGswZf^4Z`>_x|v8jlTLX zz(v!u%P$UIa5_m&F1k24{dBi4JPgjjX1K3nSwM(dkvoo=W272cD4&`me!Z98!!DFx zSixu2y+y(;$e*k@60bl}8O+amu8+$+?JYI6C^dq@vFw;rC8WwEEhJF~#z(lm$}E{63VDUQyj^vzt0@qX@7+|+I06(K7+^fH z&Zk_R6*Pd=7>dPBmdT_c5VAs7r2ssCP-o)eI)?|z!#pUE?e=5Zpq1}A3lo$t(iGr- zt@GSIh%;WW3RyO?o?EQ+Vcs*XPTD@Eby}Exh^=bz~ z%ZBQpSf|Pgt@_O}MxmL8FE|afxeSVx6N_-MD<

p4s1$Bq~7VZaxvZNuS5;0s* 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%0AeMbIW8@mfd~}RpOx+5N2Wf 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%0D7V}-F!=n9s(WfY(ft@nmDI}bD_Z!pbW@o5WB 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�uDX1a2FH^8B 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:~Y=TxYSQV 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 {{VaBOFsX&&gzSQxbc9eQ}o1F z%pc(^?my+bj`E<&YKzY^>7pgZ&Bp_|tu3#zRg8*rjt2CEPZ8+G11UX`2>eIKLb87j zDC2k~2-f|xV%Qql8LMV(Qs>{q*`ge@jiGiqNr8m91wqw9l=QoNDVALll>{t6qya)ctc4S8H24t-EhV7UWZ_gPGh=o#W9<3Tb zk&z?OeLNm)O7`S2p=^XFpr7)XrPE-` z*@+^&g?PbtKot@$Nh!)CT8N%RWf30;kfS#CSz|t>jBkZ(TO;uGOhnl_QGG@N9JwmK zW7iVQ^*av6l?ZQ&i7*ML&B>C_jbf450gsj6FDfm??>zavMp`W%C_E-FH6S<+_%Fb~iF1&~rDfRv(Pa22461WuLE zKxofQ(L+Qh;~0enzl|_d8|ze}0O<5}d=Oo^xS713|5mb0Hq7;D1t?(;5kLWsl*P^8 z9s5G%!DcpJXjh+axhW#F2YVU3p*O9!gr-T^g@|YNq2m&m9NO)+s9hKA9BAMf*2}ia z-Y%T?`3}nR<9M7ETtc_k|G9L^B`~izbR^+LC;O~!pHNwj zTAlEDMw+sZr(&Mo)JH5#_1OlV`Vm{-PQs+EYkixJ=|QLr_2P(p+B-7i*PbJ*2ynPd z>oK7&GEFiKjo|!XF+XEH^aG#SQmGFg)X61T;tFm(`#j#st*HQ@^jZk4PzRueS^zHq z^W=jr1O4Vi7;&7qQ-@Ur#QNjGlx!SbUJjb+JsvSu?gW`$Gx;7Khz+BBkB8pQzqu$e z{c{>sfB40&{IpkM{pS3xaQk0bi)R$fbWkD7`X?RDvdee1{=ukfJ?!@|3?xAU#s@qa zap`bM){)F-Wg4!!=Sut{CP(=(b<8bj4@LIwij@`ReD&|3mn9 zOfDzj{4e(}fdQ&DIv(0+JY~bnXsP6r}Z@cor$Rx2TJI-CRUx1(N!BsR=QnlF~PFG{0gzT z!Ot+}P4^VEFYAZh<*5oE>@QC(>%raTveO)^FP<#yK+oc(5EGHUFw^Svvxaw_EBdy) z;-)Wpzis&SC;fX%IY)P;I>x_}Y7g;VkI$mzSYsm7!J}$(&a5GF z;_U%!6|#>V7q>F2Lvd2{H+XdyUQwTy-GM@jmQTta=E<$*>{1Dga#PQD2R*o> zz|(E32WG@qP{)?xU=3+BC_@m;aZh+Y`~!2ql%MMRqqkIWl>kJ`>41mzA-*aPPWzI) z^XY@Z$A_QTUK04|W8ipg$Zuz8E$)rU9u_#!%2@UR(g#kYmJL@*Gv>xv&X7sj!yr%;x#b0;~m z9QOf57P!c2J}k7a>eFP1@}6PABL)uK?)d5@Ns!?-?eH%d^Dp(deR0upU-pP19Oea~ z&^1Ce$oIpyqsBp~5#`}E{v#zs0Ho*TAzQPP$kq(vISG@rJO$_!$_Q0@D+ijvgEpv^ zSXPacNLRctZU@Vk}F;SDK3e$%3Fy=H@#O zR`FuDexPG+Zrwje-!WuV*zw;y-@vF)7n)!c$@b$yN8BE=5h@OXJh{6#)|~4xy9~lG zKo{uaH6l2#2le4}9rQ;Wixs@5bc9s!=65J69am97B<5qB)(P0wPX%nvme4w}WNI{f zG$!=&26zRsSRx+JQQ}G3$AfqM8<@bX3r8Sz^hC4Oz8o0;T?GJkQz2ilaZr|WHxVLFQJ3a?)v1gru{MWA%KWg6@8zWR< zL`o`EUgbf4WTfkApz69B;@FfB+Mp{h3Ggy=uR@h#Wtub~Re?{k7Vu5_ytYfxry4S< z3x-h|-04EQ&#gbp;d-IZ85}h}k+gj_HYtk8^|2v~rsSSyej1wHH64I_aEF@8=V2-z zyd2Z&P~eRGGdQIM&GJ#1iID-=4<3G6Eg0HrS{;YOWg3|8Y{VG6!#0eE>7Xps80YIo zUnIT2!lLTo0KvctPRU=xAu`#1WaP)w0AC5<<17$taAal~BBOC_HOr4IPCz6Oh1eo6 z&_?@-od!`93mPl!tuT_X_PpFA&lr*)K)x6-LjH@13+#ZzR7>Vch<+ zG~wSSnme#dg_0KRMYu97T6P6Mov7;&AJjwJV=Kvd{Na1SI zI={^dJR@0`h`#seWL`E7>aMotf@pj-_0yu_rn*@h}6txfP`)dipFv^EMV1v0l> zG6XOudrUy5dX7VhAreZH)@IfTxMxnAGvsKpo(v|C>V!6Gq^;UULYrnRNg%}KxtHi{ zHVtUhUxi20b1!Bpo9ij*1Nd;Lu^p*QHVQ@qvqry$+4L>K85p%){Z%HLbacik%RW@6 zs-IXFb>)oYpeetYzveiSBXU0YNOdHK4u6BK1C#9qwoWJ}hNm<_$-@ahe?Sw=AA{0XUNu4a9#^Ks7e93BY0 z*FjkhZbrSmN^-j3-~d_F*#ukW+E#6H!KnEWLnmVNOLSrq&a{U}op6RT&&))7lJu15 zp~CcFW-yQ-SdHEyB~_l8LwUf@!gU@%+cwWkCKVvsaA0wdRmO`=2+w+T8^R}Eg?-~y zc+WP&WQyw@Wb?6UC9YoSxwz|!o6=l2t+?dI38Cq)ZX<`0CGl!(8h>yS@CQ)N946!`r-*vW#+Wfi62%JGNaS%>@1yicBOWylSKiAO-b-zwlzCnzMtTru(2n9b1DU4hQm7>3Oo&L7 zfhJlok+R&MNq&$O=s=TrTd;WX3u5=)hw~Deur}Z&4V$)HAJ1);tNI!Y>@iJm4utng zj6p&5&xt8!Bc5<%tYAgdF`w<{yQ2=@tUcyiGiIgKP=M3ed-QSvZJXL3!>@zqMZM+P zYbdsqYvSHa2IU7hZ5Klj`c-GN6}fvXnEPpA0>tth zO5$xLS2b^A4q)z^JT46Pm3XfU$cvHO7bb*<@1ki?G4=3W^hS@9f^!9!$3xX=f;^*l ziF^|J{1*m2J~DcVFVf>suz3ITLZ6Y)TExW!FUbH6xKcq`DOY@_N}emdopYj@&m+!L zwvt|l;{KCOD}-o$@R&qXr4-QwzpMBj`ciY@{h1;|hlD+%ryv~8xk^WGv3Bo zpjnEJZjzb36A2cnArz8%Kujf@pB7^B$lNW@A6MHW4S;NNC<>szzZxvw{+zJK!)TU! zA#xa{ULHZkwFb|LsF`A~f+fp&+?Ih3`_2CpHps+13CmKPyBvqTlJ6k0*g0RysG&kh z)0oq2S~-b=6QRX{3X~Eq5b3!ve&P4zY-m#W z%}IsU*#EdtpI15eh&5L)Syh_l*5hW@G|3BsLsy-L1@-}*ghlu#%1@gMYVUw<4|NR! zvj?^~YG_yV&YeG033lsc`aF6Fowk}scluR|8&k}m^ zAnZgJ8zuU-$yMdnr=nuxw@<5RY%8v!u`N;2S}h)_6d=ao=hp#@mxda+BQ0mt*EUQ( z9rJ}J+<$Laz>qJ6Cg`f=8G@#o|8Js6g>)w~>UTp^6VN35BaxS53=f?Gv+#KEkQMHO zy{%$TD}wvTWbm=<0EF6+5qLBgtlWiM)eL&#NO`SnE4UGYEU)2G6D%J7tW4H0N^rW@ zup}+qqR}c-S;SfWH%v-?pY(uz>QgdJXYdJFOUj#R+KcZ%=b4GQD&{LQVa1pOqIU!% zqp?7YUaOZwPLHmxUT|SZKZF^JVSzozV162df4Z!V964rgSI*UDb$@|d1+zwfBp3vH zeTx^cY1CNZ5inOEX(4_CH(TkyrO~A@I2w=cKv(G4U~u%-VDX`6fH41ctXjjWKo(Ep zFWN*D0q6sEx8Dki&f^oHh$1I0$-ejvQN${EW5gKSk@-Qjy^YvH0+S{y)MKlj_FZu0 zj6Wa4S26@?N}7y#5=6f_JeS;(10T2($VX z5=M+~H!l~${FYC+L5fqQf-k^KH5g}tcMXBq7^PQ7*cN?88FvYkaE+@-$hQ{akh*gP z5cB`mGLS6(ccqAb*guT?SNOpM&6mAc`u{`nKN&wefuHCqm?RSWQ{W^Gv+DZ@t@D3F zp>I z!}@nn|GrKCo}+(XudmZ^rCvW3*N*G;nU8i{uNV0g9d-EJjI;$)zpq#N{WY-CY5m@& zB!YTP!i#=CMl5&<{k{PO4zJ%+VC!`PE=N*S>-T%acB>U)C=lF2a`Uzbg{a@lnxs2! zrPn*26jed80b}*!c9JS7m2e||Q}z0izYcWN+lPK7Of>>Ok~M|~bSV3~CcXy;s?|^r z8QQ6|5237-eC`**8r=3)N%-8piam9cwjzkeAd8{a@~Jc6w`lds*oZBFX!QzLN^2mh zQ0fAs*T*Jye39gU%p%D)^&-h8TQ8DMpv=r~Su9V-njnkA*|In!7D_hSYN2G?trkl5 z5nm|(3-U9uQ2L$_qH(Woh}3qCT)dWYK-S2zM}=B<@rhX@34}d@FOt^CRC2XhBZaTp zBNPL2Dx*&%t&zzq0LX}a&T6qGXoW{<3n|y47y0VJa*t~eYPDak9qM=2|0 ze1F9Cv7^|*ig5tNp=HEZ(f?bpqf&}}ckFz~^>Kq7{WGP7jbSQ{_Mz3v40o?w8|+&3 z8~I=Li#fPb-d~Svhvhx&>&GwYxWtd1*2aH|@?FO#T$&M=@B0BaSK~Y_M3orUPGS(l z6n>QdZoXH^E4mX;VnLOhhCW?BH%oWscr%|J2>!t;0GY+>{+JXojw!4uP0J2l990w-JkMDlQfq^p9+~ z=a;m+0k=$b%69}JCev-EK6W7K>Y4vx11EhpZ0<>TT#1)FS5jD=7{0u5+r-cSe0M^z z5Qy0sMmm0&^) zhE6xhOz1`U0Mj{4PSM{%+RdoRDNqiP`~ahis^OUmBOv1I00|;_VDOvV%-_r8_W=B! zn!&@5#qv8BzY&H^MU8{Ow8euPfZnG?apPdQVJ4w)uMC153b)j@9y0kc%<7gs*+8qaLpyXIc%th*%jE_SK z7T>Z|#LY2a3Tmt@0HN~cOE4n;WUsyDM=^!75q4TC6iT90r($oV*-%x&TZX)CfwFPmD^^l1h)amn}5VE^v-RB<-jzmaRR{iy!^2(BH`XzcO_I;6@(tt3w+ z>M#G3|KNY}A5eGse)$i6(lO?1lmB3PZiBLqtjFe9+ecPX=wo^0%Au1VEW=yqx7hKh z<8HlB?n*iC<_ZJt2@j{k0V(+)O{^?a&<53VN?|UWyXC6BSIgCz<`}NZvVXza!$rz~ z;e)G|Iu zcp$DZg@?aOm4mP%tI4}biYgcp?^CWZgyMT(4Cr!+|5aVXf-ElZ3TJ3iIpxGM%|i<7 zaw1BoO?SFXLJ{dvLu_pZ7!$(-ULjj3#0+?a%A3If35qe|nU{ERxS*#IFEk2NV*ewy zjOREOy>i$>S<#oF z0@1pv?5leH$^<`a`LRe4uC@v(`2jdGs!Wm}fOO*YUZx-Bq~r$}7a4s%jtH3_;1%!s zHL$QTKfo(E`VmZQED^6n3e;-coCl|$^^h~nQQ+_uy?)0p%Oc~Tb6n0O0PlJmcOePD zF1d>#34prWg(LvG$_8&IT9E``%lyvXVOy-C{jR${0%TstmvABZi`sv(+g2WM03gYe zgu4uGWZ+vOIRrGL!wIAZoIu{Jr`m+`KUZxg5JP_U(D0bgt_vv!DrgQUhvwe@S#jX9 z-?&%QsqXkm(_@7d!3=?aBOhZ@3Nb+8JWhI2gkq88;{HFM5<)`!!2rNE(NM_PL2P)+tm7XM}q$Zek?F62tO7a zN|Csa6zrcHQj@t^LzVU;|6?Pon~*?3*h4f^jP|Ze*0KT+d^-A`?<0 zcF$X=Xw(3DQOqdoI4;OKsziNBwLTHe<2_dXP#7@749tSs|mc|5h?)B&@^FbDDhwRnyY zM*YlVo)J{toJ4!x^$*NZGM321D*7*!!*mlXhj>S0-U_S~xK0IQ#a+N0Mv*|HqHK{< zsIn}>^Hl|I{G)>nNSHO1_skTUdOvkj<=8{U|dPY zUL4m4Q&(rDA8uCbb6FzzYB@0gJT~B3x=01gkOOS|<|J&!mFxC4{*GJ<{cFb@L?6P| z3SX^wlzH=T1f`9#2&XQJ>B6d{A)7*=i)!1;dOF(t_(ZgMv)NThz0ao*WCY@^k9;9PE2W_ky2q=ty7bFT#yEaEtT zl4ZDJ%vNYU!tlO0r8`cNfrdl&c^5$6$2j?(tUxYmHw0Y@U>>RhYCdA}9xoxSP}Vlv zi=nI~LeROc*B}Ia9MuA;B=O#wZA~~eTUCMRyfY!t69Aw6oAXUL^;L-f84lUYQ1o`2 zON!5Kzrk-#MuQdc2K~|ZAZjEWeG+aC2VoDc_iPaON5%woZ(#f_n{>vTyfJ!@G>MRO zs$VsTM<0KF zz9%s1_;hTW+b5COJlJA=Ov2Q88y`QLbfU>tVd_DYNouccr24FTQzO;eMoNz!tUevlzAfvHI;WA&VbG_TR}5O`>_*IKbQnaTiCF&=)Fno&{}mGr z2A2b_JNX$kA9iDRKY|;EQq&MKh#`t`gsA$E3qtZgY_=i;x>ylJJTn{L_9Y*-*l!lb zL)WW7*?0mM6~BH39#L4%q&kOe4TxXQmp)Ydx>^y@=-FJkD47^QH>`oZc?ZkK+$rhG z98l4g=GO3iQIiTQCuj_tHtVP{T`30(6*j%?Bw+T;^C$;(PuORO{Lu0N!P7?4akzX% z5wna}2XuOgZGYg`Y(T%2@b-Jv^e@s8?kpZV$xNrD2=@y1|NAkh&IotaLhB&+juUm9 zt%(YU86oNvoCc{d_sdk6`-NN#vA@WbFn3uafYxS!*GBMzNe+I3_9$Sv`>K&bdeQ(? zqBr^#4gj?8olp-E@BBys7J=z1{-0?G5b>_IRSbHkWlE6|pS*v=Lh!qH@K$17 zjiyci)J-b>T?jcoK}fU7HiQI)KEN#LaUyVeO$kY1XsEg+XDnmup-qWEcs}4FK{0LI z%%I|RQR}2S-+x?@RZDV4#ZOmJ@kww6$xlGW4{3?K!q)VO;N$aJFmDdvovxDO`WCAX^PErcYc`ON!44Q8bX^F)K0)axW z7*N=Y&rQV5FUNBeH!t)#^a$t8X8S8#?Jw|$KJFi@E6(@rCGy^c&;LzcG}=yFJEF^# zB7EFq|8X8+KdLSVWe26BUVK8!FO0{?-@!R7wTy>nB$>TX5IS}ne z&yE&+pV)tUI|I2cK9Ht2Wwe*-LbCxi>}6Kbyqv&TD?AQ&6Y~T3r0hJ8RW#cZD8QgF z&L8L5SD|@+ztN8sdJ2(v8L*=;hMRF7yM+D6I>9L;xGtMKLjnTdZu^r!%FwghAG#o+ z4gK;haXbqZxn2Vd5W~Nq?ns6WUCf@ zuwbD4G1$&bMtPJ*A}3_4s(_6ao+-g~`C=-uu*B$lbZ(zy;D>%V^$5UY1d<=?M$LP9 zrLJD{X)dA7M0K0hv_!gX4P*v^bQ>Tu43N*L(yf5ZO9E2v3FMuAjpS(c5kNdDe53v; z_%b^V-_AMz68M(U2*60szNKk3zG;h_auC1wni-F)A#1jQ7MqdCs8X%4S!~~3ue3gx%1`@ z)Bj8(yUW5ea?0vH42*tvKXn1Y_o|3t_v6syJEY$7inDz_V{s7ZHVqVk!BAwhgO*+ZBVy(UFIMa!p9q;0I z>>^*f_!GN;{P{ydmbZ7uo=vaEvDagCuUD*faer>##(vnWTbg}WAb%^~l&Om?qvf_v zAscN#T->Z&oqta%?UG9G#VaM9muyVLO8;O_Zoot1%E>ydreOkkihIhZUZ->>`f@Tj|k@UWhs?bb8 zG`Fy^z2bf-1%y3Ey7_~2^K25Z?cADvarWqOC&9Q|Du1fv?YD9;_O1uILZzMP%TC9hDAydXE$Z#_n^I z=4P>q#}>&jFn?tv_X{xLcEI0c;3xeuK)>vNl76j6HsfVa4pv5_TNI_HI@=odZM{|W zmF1fFz7^>)3S^l*+A4Z|-s#q`gGlad?R$snzcu)6=57q3f5$-}=k|28L%oil-_``$ zZ@Yj8`xQ89C@N9D$oRrCzPk3tr`GSSm_Zs+Gsj$YyYZ0vK%oX1>{kW0*>lH;dTYH$ zE%EC;vQSHjx{ZO1f{j?t_r|Wb!dW}dF2TNN-Aob_^%;ATB8NRJciKldana;w7^P8%yp`a;#&BrivY(1Q5r^fbISk|1yg z>HF&heJeFbyXu&=8nf%*TaH)yVaqY} zOdyd7$hUDmVF7KV{*R(lm_b1ku-v5OdS4B}{>e`j>dRS4$cgoeJwq?A0Qo9OJ}i-o zsDxg1y`~ehKDnc3f*hny6*<~fcb=in*+)>GKp|0Rh5EH=QP(58TT>EGZ+W!M(*(Ii z|2kJwInPJ~3wT@en8F*_)DO|b%yDZA8tm@(d?>;SS|peXgE9)A3@UP6@}OdmazuqP zN1u^7`edSKb!U3aYH!LV$5X+dPK2@I2g5lFB52f256Lgxjn&uW+igf z-7Wk_hU?evJc$jbSecI<4Yz+HDIp;47z{Bvh!Rx#r@X}HO(2^^3fi0Q0XPxo6MbYU zcz-*Vf=jy?h}G`q7z42^1<}hiW67fCs=LlG)|J9o24f>@s&mo;ZY!L5naH)Qskp>A zO(D&dMCxj_Y@~$d>`_7~i9QL9CY40OU)Q#lA~(8TuySfQ-j1ysR%+LuH)5FcyIRAL zJhEK+lzg_s>M_zKeX||*3s>QE2QqmaP-;aoKMNMajGw_-8FAj4ekFcze)U=Wp z`B&r>?3FMJZY*fQ(xP~3u`8}h{%wZg_PfaKIk3M$T|I*SAn={6;ma`GG=gFdg5z@P zG}I}!A(>imU51u_GHCls)0a|N{=g2irN2g@(kdcA+Rts>KJtWO%6RbKo1N0K-NQ5* z`)i^-sD4nlUu}ij1b&CN#_w?A*KJM9hIr^77V!Y)vTy1cN7Un28$|s{5G8PLlz!GG z_apEd`I>L=6Ceh#n!wx83Qx`$8)_`!vi>b|gNmS~Ma%KaZz-4ZlaZEK=RJ%3xp~ZL zJIr1@UBe=XOsx2>7g&U;ZHGnudK!2H&>8|N@+CT3#6U90Dfa^Z`5Hfk2LAbkAIqO) zSh);jnCvbIeL0p{Dqo|TjfolBffPkp7wxk*$}r6KP-x%oFt$uP`Y>+L!?272iogb67Z-9T{$_~Q6_{#q);UD}| z2jSmV`EQ2*YCV6;_55|IRNt7xGdUBheBrCGeq09!rdzXp;c<}Jlk+@_M&wewU~PR1 z=^}B4;AQ@pW|-HJLl=pJk<^ao15*(z4JlQAR4KLR$44LK1U^AxTMZQed_=Qf4{d;eida?ZFQPM&0OtI~s`X{k=!*oQmT-XbR zi?-{cac&J;&Q&g?7=u6S}cqFev z)l#YYCtdaYc-0Y!s>4*(aRl=tkJS2s)Vf>Oa>r}+Ow{VEYE5A+m#VeDoG6*ZTJ^xm z_FD~3KEVr(lXr0ooD@$(wQZlu=(b3;{<^cr;2>j5YJszCyq~FS{6A+6#2f+E4F!Km{d+}aT~8+P7@`(W|wS1F`a zppGhjW1{#p+@j?3(`d=a{DWMwe!)w~dHNi@3uWfx5-bksR*scc@TELw2A+FEL~YhL zvr$s^$oA~1AGb(0-!}8tb=QXgOV1w~oR!L5@XlSXT z^}!|FNiQCFL+}BT!CnYD%4P=k?MUXm`znDv3%DyU zL{u_mv$OAdm><0ulo0HODBgen{C_8-~R5GwVA z5rEPq8wAWI#Q-HXAYv}F{T0c}2%**nB$&qX=#P>g{j$9Xg{1ul+LmVXi2q=5uO9>7 z_5K0&cASRFnqq-!<1@UW+b~Hi;C(!bSDvz zoZw#xpYnhzP5xq~3E)woA_(^EIoOwt>o*n&2!bCB!ndBi3pduFk&?Y@a>`t#+hgvr z1x-9Tj&;>H#BX_R8g^8^(2jz=Fkhk?>(^$y zs7(uB=x+S9XK-g%n2meCbd{qe_bo`@(4-$Y;`*yqwAEF20BfIxq!kdll`eNl1_MiG z;wD={lnCBTGDanw;W`IK%~*JL^$md$HMe$}1^GK1R&#H#Ixo#X1o9>)R_s_c6`jKf z2PyY0{FA@^g5Jvwct%ohw!59^fLDmCb_bqV;o_$*7gPMxxcI`(XXF>fDmtyE6HX0^ z*)RMNw%*|W7FQkJeCVRa0phI5b<+g<}SchMR2~!=Ru@3O!LE% zsh+ONVU0(Bq-vlqx`k=)F;m9wbU9zgdwTLl)6+1t7`+pnV!U6zd$wa$0b0}JwLkkN zdAJehQ!k)Eeo}!~QwwA*Ik&e%h~Q_7VF+)=2!<~eS%vus6&&0GIa++>RKe6$xByer zaN+)D$qNcKaI=Xx3tE9Q1Nrq+`b&(bY97V|Zb`E*O&%yPh~7mK%+Iw@|IlSAXehcF z)kIYql2i?{0HXMH`!yD(S>@FP$s<|&i}eui=Q6xlb2h7hbk87rdv6zx?-_yH&X zTH%;DBSx~WD$R!fi{gJ)2u}h~w?H)CoNa}Vlk7UBz|N9lUB8}%lIs8JoZhDXi&9@m zS8hm`Z%F5{_v1DEfC5R}G)|0=K?_g2x_KiPI!gG(nGZ;n`y8AQ5J@?nMe}n9$wG)lsfQb1 zvvAdJ1hm9YNzH+CTy;<37v{tT6(vw?xA=yw@kJ)9{Zm=p8?Jlj<2CZ_<1?XKU3b0< z>~TTkf%_&LyZa*7ws`lw=WYDv+_J&{3&~_~gtEb(j-?IpHv>Pr1hb8CaU1RX`%?iG zod!AqLIiRLNw}!QNvZ=lPwhs3*Mg1FGa$x=O7+o`aLevOo8&>XAAaM57V+O*@!Nxs z*!3+fd_B;qK))*uHAX+jxo17bcak3w3I~P+`lxE9q1XBLb-cy=z?;#oy2sS`PXe&; zpX}r-diC}@AmYKljE}zaeZJ<0o?gKX2DR^EZWG?(d4`;A?-4KIM*G?0WcPm}wKNa; z5X?x0n}e3|@}MxUL~;kkVB>CEN(!i=EiZ$p2IR)*Aizsv1^VKXEjVRvfgzSy;8;52 zUE-CSY zjW~M>w-LYu>~gWbh%d&8s_dxn8#1)q8{&qfq}<;58jE+A;<8Drie=e6f0feQCxmBP zYWFb4qFZ?lpde2Htjv+~Djo8%N&EP#dCUtvi$nF`Re$qJ>6f>if%kO{IHru0V^hgE zX=DSt^OsaZ&T(-3cs0TMzhE_|7J1U|!4qohd6uuCE zD4>*IK$u)xNfnL_OBcFz@?I92W^>@h)j~)+IEVa4=Ymi*w(FfI>)j`6$NJcHasrBb z*~hvS(}1ZAyb2g~q&d)^TV0Q~ili<4@P_bV)k5sAz<~Kg zS`~2hbqFghLsaaWFI4;mjOb<7L;WcJG%|4gbh9dt#Z#af1u-J6gx-8TF}wpuNJ;|o zZIwFX-Ma_c%a;RS(9*r$5pU_xWcDiK8aETPsI=%@KBfYnshd-1zNb3(>uwHvQZGsZ zmJE%X87$sXF8fEfed#rN&WyvRn+8c#4xydM_!hCJ2pfkk&j4zE&N>0H43x)?6aC?M z)Ml%|G|VC+u>ItIy$}9x)&%8DCKp)Y689?l^4WLa4L3fSN|EAIo~(5InF@y(*|#gC zl-sq_hzzQ#vZ0YS!d^@8gK!fbd^`Tp7x`;P&C>i9_-TTVqc1?{0s`Q_2@;{6Ede64 zIk!KSpg%st-~bqQHV{Y1Os3YJY|@+*K`?wvhB5SB58S=5Ks} zto9Eq5Wcw3_0rC+uHchWe0A@Ih8}KDIsCUvdIIV(B zLKv3IRdvNV#kLscz%FB6xF0k@7gd0!{LtDTJg|QCTogpq!0MW2c>o8R(HsnZGKk?2 z?4aHXw)DZdaf%KtfSoVWP-li?dz0vuQ6XLw2i0UsP90*ny=UhBFEgz+q96B;+IvC9}E z?jXE4E!J3a)lQc$ps5cgOC~~dzH9AUQ;EWUC(I!DMp!uO`XU$;!(W6Gl{gAhO(m&X=0p6>#hTlG9f;4nC;BPDY|!(bdxs{>9efFq(h3L4lQQ6cUJ@sVUA{>PjMP!3O3-$s1LZ+Q zK~vPzowVI-U%NCpew6BWkjf}XE2a(1y9OB|bPL2nsI(VyLkor6G@F~O;=C z>OPYPh{?g{|~aEmqvV7%$=3!ewj1&UdpS_jv?d=MQ+660{4oXt@Zvi7jS&YIb& zX-5abL7ghM!XZ|X$%QLs9vWc|H)>&(P{`7Ad6)5WX|8*!{Z`K%En{7mwBT#jBZeY^ z6XSzQM)?KNH6OuzG!7TNGN)Vg0M;eGti%hyhhVEl6@54f1fuo`PM=bOOuQ8AjsBhc z(1>$Y0Zy~$Q#Qv`@xfWs%jPGMZ z5!yLH}_Pc{X1U^Dr^p-2~OO#@y2J+9p>r4x>Q@eKr|=ed zUydt;cs1T*@pjc-CBMg2Azd{@g>z!K)B)cG(o?;c@7DqL{dhnHgewR?k%gvgmMPjW zXQG%r880UC2`k!~Uk!Gish-t9EVTdclhD0YKSp?Iyv zkJFK@5k{^%HV2D~JdnQrX?#_3|V9Zpl#SoIH?~aY%!G@sw zg2tl>Z$E(v=#u>_@LwnJqtr5vK6voBzz^e`0)B4bQ($a`T-8TXxo2C9->@H@W=tco zTNAa!z@*kA?k`nUm2Z(#gH`Rpd8iNi2gY!%90=L@Y%^9X^ho|tHl})eNjFDYthe^M z*8FSV)zbki!Bk3aASKz%k63ks26nRscAH$)H&_gK_WB_h5wyl*l9*Y|40Dj=JeQQk zzLf`gi_w96C4`wo%+JJ4XgBjGTnGmW`#$lapjnJYF0*79?b7J)&np88-fu?BMx*97 z7oWu5x?lnok1APjcj(>h-2bFtf8FeqjUl8JR(5}m>B;$Y3pEr2Xo@|d)uP1jdu;Z{ zm!%KXid^Brvb1X-q%jbh0T7S2ES+`55tpTk*in|He*K8;|JKEv!?d409&i}EfgcAw zh-In&-+_pTb51!Fp<8|ZSW_+#KA8D}vrvQ5ob46x;nK|X?v9hqY~u%W~ue&1k^fR*MhZ;2LpCtstx zHK+(ZKgICc$}39NM@AY#)If|HQ>==tOE^YV!~fIRV_RQopUuN`RQB1Y0GXU)E&Qw; z805NCC0C=UDg~8m3x$rXkML?a2i02759S}lDy3FHu2#($qV~v}Pmes4URE+MUmEw-pm5cW8!LM9;4nJ>qhffEegOd0Gs;1WI)^lBpCBFm{GQ$fNEbk zprVZ^jb=z~u&d-r4E|`D5Ao4}N^t|xV-*-#59sF~%ZMn8v!cS;3g%G>nEypo zK;{$J-{0_`6-Tt%+Fe`mX-nLIE$hhwh&R}Dmr3MduW*$+`ZR20LNZtI?-)$H1=}}K zljWXDvM0Rxxqgib5D^%y`tx$ zUzVKPAAkD=x_N_V1CI}{jSa zf`fofR7N@PXwm#|Z0(2s8wp~di#I$uBX&`o7xnt|N8+a=6SYlOwEml^j*(mFE!qP~ zK0yqBmYKgjki-hO7%>I7xG>(gJ$+|#w`OzLR!}C5Orb8`BP0^h;wu_z<&5p*ccNDw zuw;(GFNyPcRqW@Z!pd!-GtD<*BC5ktPip~X064tFP6EW=ThX`&eTgDNFTD^$D}cRJ zuMx;YD499i;0ptg40)<^F$f}??CZYJTgcFDpD{q~=IX|g*wFaFfui0XurC>p!&DGi zgejOXN7!KsSFwlU8#P&C@H=0>tl~@V+_^G(2&hj6R}TgK1mz%w|3cNU>9E28X0_He2wAdeJ;#$UyiX9a6TdZ0NkHhZ-) zeo56|E2DMwa_}j~=;~GCPM)~+2o-Kn+Y&vI(KZRgW;thsC6rjafAXg-VqPbD<%Xz~ z8$n-WGNI=d(#Iyuy{}BrvZ_IxV4%9C5H=#nrdy8 zm3GuIZ_%3zD*3?*s(VU7@P$6H|GI?g5B7sbtCM}9vO*(UZ=z?@nNrZ~zwK^OCael& z!jegVv^L`Iqkdp;pPU1-jrjp^xZabYH~WPP^k$z*LdA`>B{VAAYE&4Ij&giwfL{Od0Trs=Ev_>WCuvyQ?!g zlTXPQx|nrXw~0%^jf;St^iNwe^}=CF3U))n*bXstxl}kTLtlk%;tYM!(0?sM;~P6< zS}g_1&=1}LA$VUir~>+rCjAE}`fFR<-~sK}mA>5t@^AlhyW~HG_Ysc?AuqniZ%Px!afpNrsq?<@MBP5L8? zBj>-NfB*LA{{iX08mNdkpJS!W)JmTn*G{F4tn@f49mP7xh}}Z@m;`tGmR&IDXqG~z zjxLlhO3)&P94W}Z*%Ujx@esyD#=mV)#zTHjPa6+c2(ubT8f5{4Fq)sMvWt4;zFhuR z%HJyatNd-aEx=FZ>mvT0ud=ytKVSF)c$!Rvr^zMot5ESpqIA=&2wS5T|JZh^oyCvy ztneKZSucQLHID>kV%VO6k1WISJ6MR6>Ki?y_rcl)DPh>0%ws) z*)(p{NEZhDNqjCq;IIXTh}i9v0~@4_Ijviye$q1woBmU1NN8Yzg!c#wDDROPzCa6$ za8=)~Y2cHvw}Qyj<-$oVLblhigs!7~pOL{%zR^Y}1dli&pbUSM^9M)FACT5T!J!)Iq51Z>*vT)vo&*<(=j&aBmkz(a}2?zO1lY zE3UNNIBF#l1Yuz>)Ep3ACbpjH_Jjv1>M~Dyxf>2XbesaX?;%}fb~U-ivhY>tqL=5+ zL*RLph4XeWo&(y=0B*p7vg(g&s;-+58U;CL+JdOX-9*S!{TlR4N15s$w-hG_nNDtW> z9F1ql50}i1txs1>e!pL!UmYKW3C$212rD5Qm{Wj?V4~R15zDUw;gLVA3AUA z5mNr^@Bi)U9GCyg0I%Xwe8!O;80TYxa$>55!F=v+5yyzcbC{5DmMF)$4895#x6HX1HZpianb91x z7QrSTGMx%0h8hjyO|F!V-1esW{7`-aZzfub*y&A*ZL_VPcK^CFLArhdH#XM%Tt8(zpwq=-jEbIG5|Jmj>B_&(2 zUtZq=F~fb7d1cR`!=OR=*(~&^G?QRL_A3I~z96YA5WM1a6Bc!vyue{*LV#%W{ymn| zyr6fChO(S&MgbFDL-#2I!Z~D+q|)i9;tJ-NvT4-T1x>k6k~5 zbfJngQ-6om&rh&Q#uw4zF3+ui6%*c_ROP_;h^@ucSN1z!(RNoI!rEb|dd*db2rBzt6DC+U*1tq7(C1CouqdJ;0BC{}Xwyt149kv%OlaHm*Bw;=mw5to3Ul zMO*B3nz*}BP0g_92C@Uyz^c>n*d_i8OOhVPyDqd#aas{CO6(yEp zjupY;#0&JWN@`yo>iIJ%_wo=**};-PQXm(eZ15gKIIkN2dxD?3`(*s42hrat8|0>e z?_|ep`@*6D4E-}#Z|$=Mgp0f~*!9>as!}a~Ql(UVrK4j0pA^tJ8?1r6TrGm2 z8U0o4=L`|XnhkFF9`=mq0+sPu0_rMyq3iiY5{f!!+ z8rBBboHlW$@Ypx0QkE_y6IQQYEG1;fv%RX+5M64SZfiNO5$CL{kfEbo?g59Sw1RuQ zJz`br$h5IsA$4C!px?Y&p=+~lahq!Kna;=_kSq7f8(%Fnp>NgveJQD7^#Ag~vmC3A zLunIq_fkp$NV}PwTOJ8&#yo-)tgz})@wv5#Uj6(`nk6!jjyMC4eu+oKpJiWk4xby} zdIY>ioOjAgvHYVs`^@ALjD0AtBz)W-4MP&V3e0`xU&g@}xVJBQz-NfU^ZQ~_dn&~^ z&wRvMP&EU5^ZkLQg0}IC2{#&i|Ja=@zc>-HIY)9hTk??qcT_8Z)=B}Qd}~(nEs&6J z6!Kgu8srLpI=SlA6LN0_e&b`?CBf!FIG*3%!*zErNFLld0;6lrLFlg}-G!!nPW}(! zC9)F7UEqz(-9-#OUMrbf5HK;8J6LG&8|mMK5?8GCM#{g%S#$clOVL*6dA(<_^-ck3 z&^==(AWw47*g!l;4;*8;{?aqn3-TR5op?X3C$#x+Pc)|@Oox_z(xMqavIHb`5!~O^ zb?0jkFCw2%|Co6L@VBe#Wf*QV0#4TpJ!3y`{jq0#EE^BH1=0ZkToCqmSEW+=+CKhp zeTkgrNspRIYNvx%db#dCMgZ^-{+_P8pTOvGml^2xmCN1bE7xTWvGhH-+rtIkBMuAv zM9%3WaZ;S6HR#Y5;s2>?VF`vB9k%lDf;(ld>=9?@m%2F$nqJIC%l5oCKWfqUXcaB~ z6q()~XI26lgoGk2w(eT(;LBp(eXvlyG zof->LsNDWwINeq7X+;on&5?#rLSai|qO%jyO{GpN>V5uEJmJu#vuQ-mz9>_7_(0TgTiyKJ@pF`B-Fb ze~}-!?FVs$_yO0$Yhr`(vwvW?ILST6SciJXA@`=G;T`THA6|nmz21X;YYz2%{FU>^ z>Y>>FZB19^R(;&Eaa#PiB|CB4a^EJHPOp8kt?AV6)2$7X1it7YD8;R0e)3QHPkJB) z)DkcVfxKG9Rh}OvxO}w^=&98{`8t3+Nwo10n;MZ@uG-wVUTN>ZzS3G&;s!kIra6%! z0qh;?>}_fA7HxJ#GI~-=9*^(rY;XlbZuyZ>cKv3Aq+H$&At|}N=r-e+4Tl#@Z0@AD zp$VEzd7y6Wk8s^lUN1P2D%gws0JZ26@h14jlLj7>Lx98#5U~WN<;j<^KygZQFyyS6 z_0b;zIou;vQ{R^ZbcmPzGLDB-$7rtxzoF3gDl7@^yu%wjnBlr_7gkeQpANcRb?2fz z`)0{Wpex54L(BD|(AbmmwGYH@v}V44u<+ot<^NG1xE3LjzxzGZBZNp!0!PW`^2~sc zWc+KO>pKlFdOJ5wk*q22WH_R?qvM4KuRY;`ErA($=D{;|cwM~1+uZR^LR*Eu>`|`o z+H<<<`JL?67!%<50@go zVqTuRN+p6^nJMr&%I=cZFL1ii2^LMsJvTl)n)L14q=IfCcu>A-d@g)J8)^=o>UwBR z^f9&^Jdo|GdrP=T2b@xG5zA_14k-S-0sy&1Asm*W1~?{?`PcxH8ThB39RjOmU`^Nu z2=r`eS-F-dpz9hIoWO;uA{k)Yl}V%{jD>3nzO@NBf3D$V(z3dhh&6-5F=CSxFDP@) zaY8xG9g%@=4+cpwf%N`-m5l#8@J_T82~(h-A9T3tE(XyLHy3|K(L@9N+Y-8)Dl}#8 zQbk$`fXdWt#zgi3EB7_y5l4%>J6rVf+*g+8KFZ5pX?0kVnLp$zlm@wn5IHm$~ ztfN9Hu^@qJ@_WI%6g81f2hVRXPC;BS(rLN!GbMs+OSjr`4HU6P1| zV{HG{-N~g8TLD+_r$W+J?cI`t_GkwCmJFidxr#CwW(;G?S}K8s0wl(rH55R` zdeXi(mC(SESmFTEykTMG6uE@=pFb6r9Rzt*WxtL0`=mBW1wg@wZJmdWhu;3P zq*mJGVQM86m(N_sa=^mT%i18PE5BJ@=_qO0tosK))Yf1#8Z7~p&`0Naz3^A|+`VHt z*mL)e^~VD+A@tatcl z2d)-lLJZ#wFb`*3Icv_#CFxfyyF$`vNtn~2+`{4}7m7Zvx?R$- zp=f_}Y5!VnYPh=eTL1vzQht&4kK)GglOt z%-?f1Ve7Yzrxh(*G<%8FpfcHNpw$mf6MLI8LG1QWR0w!mp(wHb5$3N1@!w$$g8uU7 zuUc9ZetQko`txr|;&A5gx>AvlaGG^QN-H@gm7xFS>RJy;narv2S~CBlzaeZYG;|v% zfgMZY;DZFP-}yb{0Y`D}cO6Ca;2ty)agKN!=Rzl-6TSHt{yX%9*f+Ty;}Nh9hsPOq zHfdKs8)*xi{Z3FKo7);CuzAN>&y9>-_`7JrF&&`#)8*Syka9UJ2F)su*NF4BF0ix? zCBH?KJH6nD=G#CD6bsjBaQ=Nadhs;z!WU(5Jc>iivqln(OAdpEH9)Ceh?svVj)=`1 z>t>Em{CBIIa73HB8Ui1f;^WqiXq4~B?{ec&1Zu@&M#co>s7ypHD5Z$dfn8?w0NpYZ zgV?Wp^YoY^&V84_H*3#I0NR1^ZHSL=MLNcJ+bT6aKK_p5tNzvZ9p7?^up6 z;=H~Oj3F<7h5Pk!-?JyaQpS*!IN&>19ZUbEsXyh}fpY|_{X|#OHk7)_aT^LW3FERl z4)yGztR?vY57AK|;+*n0HrJ7XKc5QEgADaj=D*#9_YwoL(cX;P`okKl?ECklO&ATZ z?`a#!8h!AKcI`0AKGg!^BSrz!0hJTLxE){@tCvU~^ zN48aj1A8RPbT3JZkt!(7p0Vd^3{{%_nQAtuo9!XZLSs&9_8!$NRuvqJEM|EtT(6#O zK$x92hqYq_#Qd{I?Q0*aa@uSBQ@%!<8h_bDOg{0KXYdy=0|;DC`~kTv5pjB+0P3cG znS#24yAA4wJg88Y2j3|*#$SG;P?v`zWAX4!8e=l*fHiiYiI%`x`PT|-Xi;OWOt<(} zZ?^c)Vy*2b9qi1#ZLk&Hek2Q^;=lJ2_;V9=IU02{>iyT5aRe$C(UUOZJmztrEq8Yc z+78wkw8idMXv>MCZRS4|+P*wiqfPihr5ZJ8<2PVoUe#<4DVk`(Ex>{VvWS=edco?*3k z3ek(h^y1^`W(EFRIkrP;@`?HykZ!-oD!k(@RE|O3m~#dDYl%WMvN_s?LzjPwzDRds zyF^ZO?M@}trsEdY5ihU18cU(jyZ5X0dZ(1JU8 zC52!bpAP|SxxGlqgJ@Vm8~ll_45k1ZA0C}CKJ3rHbifDW3zUDusP}+<@ZfWbDR3^G z?Je3euP5BWRHUPD43nGR3?YP-&W>VwDP|!8AP*LZ&9Fa`yzba}wCrWuQteBkw~?ld{0LPjD~O$|HZ3pJs*J z&m;w`a1U&fK?RlsDRCl&32H^?r`UCy!pXx{@Ut3f)#YwqBpo(O3x28P8D&L{b4IZm z&hOwugY(7LVQM*JX*VR{+h})N$q9s);%0|Wo^GR7o(!ONTnBN)?-^m9rLSEJJ;EHpCr6 z%a#|BSOzjse21IqYG_V8<-q{E`W1-(tFoJ(qm)lsx}vD@m;1{C1Tr(aOq# z&3T`BgXl=Dx$o+lxJk~(` zIuA`^8TQ6%wa10Y>7fQy44XPBo{$)VD&lw57g}B>w7Td8aq*$@_YcyrW2q9|4cb#d zi(Nw8DB+n(0sES^ZN^?`iyJ;s@@WvTt^4q>58>xZu|FN=>q9?qy)e5UKB^o1c#s$0 zI9vEy4WKF6+mPdPmA)1`7Oofkx)SVrIMUw8A2eMsAsW&!BhLa$6B&?k2r_fM^zkvX zd*d%MCiuemN&?bV;?Thlv-)N^Z2QuFsDemE1|^)SC+(4W8h$B{6oT?4rigRX5-1O! ze4>;G_>fUu9dnh65|K^WQz7UNrt~jZ`o+}JUtgJ2dO@OeDvm{9k$#6H`mh~F|CKPh zP(0;}#i?{q_&9_l zr>6}2@ZYzheBP|&^I0&P$RHPfwp_@s;|_2%L)hyv21+EFACI+yw`QaT_JV&p`$9W? z;UQ&pANn)Aa6Qd%_&=v~Unxx(H?P!C248p?1v&K>)*Dt99-bR4_Uuu5;>HYmBA?<5 zuVkSzq}%s}mh(1NM4?RQmM$9yJM2dhu}je_h*j#AiIh;?GG7A3C?WB#2M54jfTO9C zgT-%s$({y@{0}6clwdMc$}uum@G3eiR{OAs)c_80TY>KrqZeSnB#c(eJz_Dy z#De-Ldk!2UfvIL#@Ja3z_%SF@0RLwJzPJ4=B$Jgd61=3=34WE}IayQH-YZ!AU%NTX zAJ{8R$s&Hc0E)NU3co~z;wM&iq@GYaw1w+Pce0@BocLk?b5#GcRR51itG(?Zrq#pt zf0ORN(3CuK|FU8wU^rT|##K=Nu-q%BD!Jj1?5D1TypCknKE##P1SupGiOobbK16^3 z5XmoV-=@k>(dF3&*>@SQ_}U85 zjY!sATaI-Il3K%YIpK(8%{biq(dzyAhkHMO@0nZnkXa2b#0-U;fNVbi>mQ_rS|w5$ z&d&O{t(NjA_FWR+xLnEidvVCA<-5!RsNOUWbCxJOu*xujBTam=0lGyEu#SbB-)dmg zAH5J=ciyM&Z|#gX%RU`6buZME3^Joz&!3ol#Y30O@L z`)9u;#|~5@p;=I7H?V7nN+sLjWNSZoC+Z|gdvLy4pSFn(vc+~YjTtA12~1Gp6b|@P zGdNCJvh`*FxlwD-2hJPURN@l2G!E=5-BW=*$OKRXHp{b3P8Un$^1>q4ruo^Ncv4M= z%ttROD=mAk*J){8b^CF=hCY%$sPMFD06}P5>^Ys$4NpO9QtFFZKd zIU`(+_=#u(j>CypS5PsvVTKbr@dFhi^J=d~8FR1-xy=}=t5>=t72hrQrMYgtpjQVKupDkdQl`Is2wp0*e~c#X zR|u|jbgx22QaAN?tNtq~TBPX0bz~}SS~EYSMjXRSx*812qNFkW*M|)rik#7{@Qs4P zk!j<`j-A7NV$8U&-3cMnG5~%-gI(o-A}?ybNWm0D*cYAxBE&(6IL|wu=>gQ|2<(f0 zxr0j2>3jwuyiA6veK3u20*V|qg_E!;+ydVPZ|Dtc;VU&LShBZ~o5DA^6U3Gf`wF2f z5&3c%E%pKjNNT$mL`{T(LW?5lBV9FzUnhK$b<3w7cy1kA8m{2{RMIPDV$Vbc;~ydO zTa>PFR!*W~S?Jxe!CPrCnGl}UAL&GF|0!jW%X5)W)2apoNnnU@ zygdqVOa>gde`^2n4!g@X+$YZOK6+c74y^aMQCA~p%`fHrZpp15wFmw{f)Dvk_?s2{ zB{txH`WGF6|HLD~&s8K9{(gl2fh7WeY#-o1|Lqj`hqecQCk21gE!=N7pJz2!YPB!k zYG>H5{sPC3zec5c?$!&bm3X)$!H_^v=X+Nva)q3Q9*P<$t9TJTb8lkPU^Wl9(tmq1 z_7h6Qd;i3^inkoQd2(ZeT%nlZ>Rq_seNtN5f{{XcJYZ~cvlLjZ6Xik|l;6+|afN>v zq8jVy-V_^Tg`KB8&qZtC>AYa4h7#N@f{k!zZ@CIRa*Hv84u|O4mIWbALG0A zpZzaj7L!dTNhIqEJc9+D=jP8#d0)5-fyzUJF8BG^XV>QDt9xvHV5oki#&SBWdv3~3h4%+$Z7Y5cC%zgdsnEW$Nd{MZLHygC7E z4CKQ85Ko0I@0A9@0S|nH;XU&nho`e>L`L3@XI9Z3qDU%4vS#rKpdl3aiXZ_I0D5^c zcrTsz@~Dqv2mqcuSKTAr6#!{DtOQX)(om9BiR3aQgfgHg!BM)UebMBh!oy>diaS4` z=BllgDX1l~-BgN|3hO#de{gf{8#q%`juh|ta1Vit}F3d zId9T4uzOlUQKGqi)O{Quj&Af9pzQ0O4!OiNYuyk=z=jm0Y|23Tdu(JmPC=wXT%7egIQ)P@w9XIx_BQ}cE7u%l zR}Eu$sy*YJd)T@2We54Wd2iG<0uP zC8J-W0-_c6gE7rksyKQmL2d55kGqG6z;0w>1xS+`v;mojkHpn2Lr;dqj4)F+xs6bo zDgMZd{QesfCKr4@7O{JJ{_zk%eH;afHKxR7nUiXcq9)>?HsA>k?jZ=a;SOgfT>mOC zLRFy>ccyF8k!jq368(}k13)1{7U$GxcBXWMeT-b`B0&p{dRK{O^=wp02yNNK!!&!- zPk@a08&h4+H7q%-YF~5fkqY6!$R0YLIF%1-m<2!pN|B1>Z}|6MZNvU-Jh78OV2KGm zXa!$uDA>V=wDk4DpR688QPg#R%RAT#=wwGL;y~sWt-Yj?__i8{&7Qih3qQ zks2gQ!Csl4bHRG(;y72`Tx{co$ue=I>x*PAJTT3H@BgXkPDWcH`%5FAjbET%tASgN z){yjn^Y$+AQB_ype}Y7!5+^EwD4;0PRJXO54XB?}jt%A1Z|NX6f&SVk-VxRYY`FzNn zbM|fRwbxpE?X}llTL)wq1_|g$Wx?N`VF`(y{%*TIOZ&@H5dWL_%6S-XX_*UA{hndX z&x7VTMTw)11*N(q(78+EPfsgh-7VC}c$0*A>|go>&E(S>6J?1Bm7kFsN&Lhn@VZL2 z`lJ5E)yL!3Qp_0xmfp;NTkd+bqgfYLyW&9!2fo_k%KE9{#7!s(GfFrkS6YZ$1bzd_ zqE(+=%4)S=X;^zRWE8c zzAD7XxJl2=UB3CJ7Qp9hhftG6{~XEET(;~cA)SiF7A@#D>%H&YhR&EQ*r*&*XEch` z+is)jzki9vdjLsh{T^s*4m5AVb&hi!9W3z`G-7XayJM=-j(@qq(shrV&&L0#=ryjJ z&J2~#8Q4%g+Ml7~#t05P%J%^a+ zAnr=W|DSnpcBEOWpW-wo%pfVgcyFB^4D~DAd!89;pP7P@&q5^k(~rOfG_u%`*~+t! zxyDE4dLNng{-uz)+;}4knQi*uYadg&AH^(QKBxM6Zl|y*-`GXm;FPoTbWqM5VnW|! zPP@k5WR5+V%(18Ji6D>?*jGLVoM39p+y7r(rZ(~CsAdiK!eQ18X17Nj`ZF#Y|M=m_ zx!$b5Gi1>4G8-CBy(l;L^UP)Y{ggFel>WN3Fel2t`zNi1a6(~XBO@ouKYmB6R`+W6 zBQo8{F!1Wvv&PP;JJ7xv3qQFyF*v)2>-Ak|E)?)6wT?(k4@8U zl?3F_?e-4q<)b+BRG4|%N-39GlKCd;a^F1F4aQW5&5z$vrHFlYzWtV%DFlIb!quXr zw}GGVyTeTAy77p=KLw=JX0{5|4#a9%kUFZy(%`qM=~8rP-KT!*J}V&gTnlFFvCpLD zd4Q9FG`G6M{QSCO<`+kj^Kl$nxrt9Xb)kBA0$6zF2o$YVWO}J@>ZQJTo6q7!c8~W_ z1&p+xLK9Hvdd9z|X@~YkL*Ejo@M4>-N248#ePV#<15+LPJNcOb8vcA(ZfY#gnbR?x zkMhg6T9=Xq$C4*Znbv_S!=P<7RIKstcp8EN$fcm5x$2+m&BH-l2s$he@ge?%g<`)K zM0hTrsf?7zeLVhnbc>S0UCL66j9tKsUyGEzKzZYa-@@y*)A+k3Z4{;V|*awhz}6(pqi3I zR8vkK64s0kd;fa3!=y^aJ^UCxIWSs}ld$)ahGXm@u} zX`>bQsf>4{I;tzS&N`|TM4~q!GE}*M zuwtDYz62@ke7`kwUxUvZb(=)DpO2Et7gR0!vQAUpSPa$^Oqu;~=D)k-S(_{x@$22; zEa1?txXa+|e{=>vSyc8g&H$sSzbpMa$AG~Ob$!WWdQ`svXZSy45avcEIC%qe(3#Y) zvJfUg5+F>OiC^erOj*-x5_rPq8M^7M==Pk?Q)1V>>IFFBA(8OKZJ#60;&)$$W!&XZ;JEVsUcY3>(KwVu9x7Y zhc-CVXb*%A3K*fKYck1BR35( zg#h6~(FtGf<2MrDApWt1Y|%e|YX+Eq*-y9A)WPLSe(OFmeRnbkN_uZ1sq`vuN1Rsn z(2i5Rwxxa5>o}8lMay68RK0H0bkYsLbXljmlhJ$J9)0KQ8u_XOuZE2GK!$L@6|>bj zq2||wDU1)eOQK-Y&;P<}w zy4F*HD3Ic=fm&lwIHQp_i#1)!Ec~Rn!oK9DocP`wG0H^GbxRcdijc|z26?sIfO^Ee zw|;B^u+I3R09YS8AU7EV0bHNhb}@tCK=aiS04b-~uzIif(YQ*K=s@Sb;Zsv|uyfRDg2r@2xNI{zk)r(ScT zD!J&kBf59q=)=2<^<@`(R)*O)e_-pMmr`@lIeJ)wWY#@ziuI;hzqRh!w2lSHB7Ir8W(PMsu`69fmT zQsvS~0=Y)FJ{m+9ufO@V4llm-?GCS&Kay|W93JYL+X>lgyHtyJ*myeotMo3Jg=#{D zwv{-=Jy+XhU(@}Uk`SAWjl6LDq)^MTDc~AAfeW-+{&A`aX-#CH*!R$z=PuFdpK#^6 zQ1dji`8MQ7u6b&5U9vYOl-*gYMpQCqvcV`20v8%VAg>v7p%DZ-yU=Js<*ob+sE`PI z*Pmy%8CCdwgzZYmmHNasDLJj;8=s+)Exz9>%K*^Y#S&t6kZK0cSwx0qo~GDS`eaEb zrHd+na~iGwm~b%$5PTe(9}~0X)Q9TVq@x&taky zkAKv9RpPuG9^FP{wXkz30ymKFJ4*bmY3}K`eD^4OaHLS?hg01Nu3((IkFSHzPMf_Z zPggo3Aa)wx=WzoGC(mkUmdy=)OLiBtKiL8s#;3>^(O;-X_yV{Byan)e#Tzbbc0Xk& z-o%wY!}=hnjuMEwf`4B>(Tq6pPbECX0P3emQp6L?yXwCfSW1u>TB=CEu(ql+3Gjr! zqe2vV((B^?tS1@{=$C?D&jvmfOOi$6sk-=I4YP|3v#B4+njq8S2I7NkMtdNpP4-NATFfs6)oiNnAo%7=Fd99q1w&qCnR4Q ztTlh1h3=H`UcE3{dZ`#9Y>D3PDd@VBgb3fFPoZr-Vy07A*q%+tg#c@b{%J?&Os=0O zA%q|fA%*m5;YtKD)mkIv>d6#qq+N|X+_ZBeot3)1{aBySirUgk)8qf!sj6TDBd2h9 zD?x~nj&Ll@XrfS`G*@ZlHOtCR+aX>E*~XXD0TPm#X+QJ80&(MCAOyMMZ}6Vuu?LsC zqvf+ETZHLbvu$XkZw*_G!t&7#ubIB3&lv~2Yq~> z!R0)6YE_Gu_n=i>GaLW1@ssudz{U)KSFHlTvwZ;dxn}?yx&gTLpd#WYIQSk}FaNi$ z@V)n75AdzKLH=)NOC`^nuR^ap*rijC_EhLj75XNH%xR9zg^NnjGlFx;is5VLI?B9) z-%v3NwS2kHp%Mirlr0*zou^Jc&*9%r2RixB=`K9yKQ|Gb%0D7eBD#UojDFy>3VVOT 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

wlL14(}hA_-CBk#Kdq3 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�AYP@B0`UfcI*i0A%7$_sg= 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 z

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%0AM{T(*KXGLp2>-`~c*)o4Qud+T3`7$8|! zN=QPcjSX1IOoZdTJAK6YsmiudZ`)WTZFDhhM3b~}x4(@Iwhg`iV}xyJj5O5Ls1X{S zq@hxOL+1|$FgSg@liK!#L8zCsajmqmpKgB#)-MyW>gsRkvp#4jgAM(~Hgx%Eq|6{T zq)(cllNLWzePLU}M&z+jw{yj9!ZYGq{T@GkD11R)Pn#YJr~MJX;GZ?^{bpNT!6&y7 zt)A*~sgEJBOQyeW6GEtk<(%F(+Dq~j41whGWU1p)5hRcL<^ z>TzgD5IGt+^6j1}s%ssFOC)3AMHp(4VPXE0<9g4P)>G9=ta%oNhp?KC$Rjit4P0fY zqFYKkC1xde;p4ACMP^(jLky?>_GUAhEUb>(6&J`N>Rf3}2E2Q_A{wsw7hsxpvmV0R z0XW`u@prc1Y_LEC{0QkRZHaV-5XHl{I-Rj9Iy=mC#-Hswi^DBedz#L+>dx+(ucg>v zcI?$gis|1sJx1ix<`+|cpugkX{#YCRJuB;(bF=xgeSb~x;?x4}h6Odbmxq(+1xG14K=vl86jomysesehUzU{=`$X< zIa1HYLaC(b<~cy{d)fS|k7JnQ?_`LB(i4veN~?=ZC%JAXmFVQJvTTY-c@kufCFACq zPAbsr0DmW)olc5%Ck?ifHFF$HD$q%Z>7*h_C*#BD^pUHs!7}HwKMN*{ zhZszzx}B7x6D5nC*ae=XlOrkcD`giePsoG+=P#m% zNC6uX{X999LU+FDq!gWef13}J{cR_l-|KFwLZ+L0!Xy|>4~|!h_riD6Pic~VenVaO z;|%I19^DcR-0JV=u0h&Kf=^sfko1G_!{1ZC_)&|$t^Zr8zoWt6pQL`er~dq6l)E{B$ufXbSJN!NMS3GF(xAo7L`a9}@zdqeE zGd_U+uWiV9%(Ah0EH%Y-W2~m2yL>5rVTF>5gsnF~OMI+PdUV$?cXB?!0Y-N~E8?_y z+?a&8W1fG}zY1;28f*MjH@J@{t$#f0!&nC!&82mmufrwZQZ8N#8)tEY{2s?aXb{?6M4y;GDhi`}~nb1(c&Mf>Qu&vHhH9JkQrBUh@~4 zfZ9a<06RysI6y-^GsD21u(BrWPrEoD#B)ExYO7@J{S57o!hD=y!H-?a{}FSJC=S3H zPN(r1d07N|P%md_;t*gQZ8bcvwOZ~V)phh8q-=*+(}V(<8c%f)z*Z-fa8Xo?=b*w? zo|FIz)u@x+m4gcFo2&L2+zbn{5KZ!2eG8mEzYy_Z%mC|~ad={L9MtxoAW8qKuY3>I zzX1zGFbtT5ENj4wrY$%e)-}I1*l;_}kV}MEiZ*MEa6Y0fdK!yjDHVJDC9Honr0@E4 zM7!Gtf6vo5_b!f{gzHVmrpNa@dGM-}2R9ezuM0MeA{Zb^WhlHA7en#xnm#9E_KH&y z4iyOL3F^hG(#+yWSypl6!tBbDhEL)>?b9e83EJs7{z3epTS??H?7Bz(K^8k|J9+RI zCHe332G#Y&;dpWQ9rf&JX}>}95AEY1y6`*Ub%VbLPylUIc(tm&_Gg@3gHs^sIy)nv zqLCt7*}nKGy11V;z^a^8^T<~aO-n!bhk4{cPR`L^%Dv;FOmn@2hXh(?d-$%8Ja7L2 z=ch*lWdm`hcF!t31rr1?zdVcwlo#Uslxg~XBM^I~6Mcuh9t-0BH@=Rh_2ZfHoc5hm zOTC4aaC>l-y+nMO$U1J%+9(U9o{5CLQ5Vf{|XNPan_;0Xq17xR=>M?8`pm|*r$jT0qnUq5p1lr%*|#o1Y_f}tf_y} zOXEDof)XjRT{ojJ$d3;~uLw>>n4evXm!bTS^8i*s?l10j$94?S8+gGpT%OO#gP-ik_qX|8>=X4Ly0r;$8YMVXRjY&T9$K7OhW^gxyJ*^bEQZwp)I*;<7xVh-sS$C)A;%(s z&m>dwaKd4ac|;g*W$ua(5+&hBqqfr#Bt>bY8la^t=xmHUZOG6x^dP3t8p6!r)8=R^ zC`xfzlPM#Y>T287yP|b$SqBv6_-fV32}juRHFFCs2Ng`S{J&Qp4v(R>Nq#Sr_#Vk! z9ttnZUMw%IvN9KCp|UphLMHewR8i1O>8u7pz6OrR7+gt*cn==3_z;3Jf+{mNY}ug+_z$w*KiSMG`@GCpI|J7A1afLi_sTh`QVfd(^1)gDm^ z7HDM#Bj{cN_`Fdsp5XwZS&Z=(h>~+!wkv3U+fnC%k<-fv=C}<3-H=z_**6vhkeWdiCDV5Q{$OX=oN#J3iWCU*c$#l}M zczV>cYsusj_%izVaO{TZ80g3O1<;ziU6cZh3Z0{En~L*Wg15YhceHHfMI^&K{6YnT z{M;L)f@FjLGqmlW_I?}Q&u~jAzvXWb%mV6?;VwoQm*u;JmP@cMzzbZ01%+Ukxn5ou z%j<{awakIoFRz541=0A7_cRr3IL*^Su%U;qqFaytdB&!^1Q^!gg}rK6b6swhdIqnn zFV{2@yxn%%@w@(noiS%BzoLm8$nSC?3ykM_Gk1r7zsjYM@xcmlGt%j|*xRJ`9F0qn zW`6PpM2Zu*Gke3z_t=Z$-3lCvAL>f;1thc@sCq=@e1O@))zI}8=aQ2_#sa5 zA9|tqGE-cOGm2m46u*wezx&t%vzo;l5?jA~u5En`i@)p?U&P{PB({FMQ@k&WFK~)q z#^M8693g_P@b8+IywRr4xF3I>z!R(~Y2YAr&E4o0nxT_={Y11g&S@tb?dbS*SGI-A z-qclWsT*6m7*9S@9_=(Um(6r_nt3k+;4EYl-d-m~46=Z43M;(zk)_TftZ=cZ;1Kf= zTR|Pk;tx8-Z(#Af#P;94(_n@6cZ@=XYn%$jtk5;F{fBG?wU)(Cb&B_6@lAUoQFP}n z81*+CPz*Zt+e?ToO%G5`r}Sh>p1RC&5*%Obe`)%`vsz(iJ??+c{O3GqAb0*_jjNvj z;F{)OLzGq&Y`=l-5^cAg712x6E}bb27h*9B+j&s_x45{0XNc}l@naaxsUD=x|C~I* z@K$B!3GA?Dd%ms@w~PJ6M;o)drS_bcJdZTWe8r($8aixwDEt;wU#R8h6GHu82_4o# zYSa`(56C6G5Cp}gk2?e`7Pqcm$ZqJ{pw?ZDoL^}Rn&pY9lg)2xv60@0EL| zs8!RU9RPTxj@IHVSGW|pq38j}g(5T{)B1B}T!;V}F2i}gCm7uOXtIp&q-6LN?aaVs zg}23xM$s<4*a=+EAJm-Nb>TcRv@#Sv1MN$5XCQUq>?=&X1XJ%gZkX((HrMOoSaC#z zZO;-pN*=9o)&kiGaW*n*Gn~NKHKK#HQ^0Tu=d*Nd=`6$#WhbFuM#B^~1j2xZtfL9J zNj61pP?4)N4MX;RHc(RTcS406B3UMsTyZ%Uz!2Y>eti;Z<``n8e%&V#fQ4P+$hP<1#F2Fi_O0 z)-QS+t^x&8-G2+OFBlEIHw8~>0soB0pIr=d6}^Z6>}+ty#`rEep#Of&DaJR+~Mn z`x**gmW|?8rnU3nTAWi=!yry1ZrjKZV*G24k zzpKcEUK_^kzRtXd5j7L$2}N+XJoz3C42kcPqOLfXjm@9~U4yy$Yrm!RV4sGa*38dt z=3qKNos5NI`&#Df`io9%-~^R(eu*>S@Mlijqk&_t;Of}DGAz}De(~!tykV_=ak`mxv5A+a_CCwvOXQ{Ui)BIMf8x5@Fn1Lz) zs5;OqdQokiqmjP$5|TBIA6Y@JtXJROq$$cbF6xc3am2mXCt8FSvwa7B-W!}8|5*XFv3tUs6c}w`zCAVO} zMbhgxSMN>#M0^>TuK9YFjZi#m({vR=zsG{4VKgw*(*oI#uF);(H-$CPPOKo&(n&PV z*5ycg+J~kaHQo5qrCY2w$i}iVEF-*Jw_b)O)C8DWPVRny8t8fQ{C!hY^%PP;LYoXy zy?HS^!_nnB?~1kqyj&)-i(7gwHhr=M=~Lf#0-4Z7bifMKF(+C>>KC)KnJdbHEfo>) zSf-;vb+2G+Fy}mNtt2whz@1IOTNSjh6C&Eg+L3)ZRzso4DQH}ZlTyhgqwO{9pC0Xit?yA?|MUdfhYGuzp8G*I;n_l4@$YT!Yj z2EMJAZlzDXtVkz_4H@Erl4VGh>@voUi%kUbtUw<~) z630E`#m7M<09k!kqPqSlLRzn5WYNG8d0Lc62$%jd5GQ{Eaz&kyH`NRuea~d_C~3HRGm-~orn^jRDTQ-jar=BSrupL;iAEld9h}sFp=xX5Hyl0b~8F2 z6PeK)$nrFW*wy%*-~>~Cr=Lst^;yK&Ev`>X|JB?d{u}sfVhCq$k?{wbJwqaanax5h zNE?hF>4NN@aYYm1iDhOln0YLwhg??6*F>Z+28i3TsEfeYFi{ zfguB!9t0Ou=r?+>;DQ@%a?Yl(VT_cbYnq*0xoTYe!6L|NF;>;1fgUIH!v4=PT@@u@ zp(1@SL@?Z@UI>m>rK)w;GpPYfqnY@OA#xQAekr`dQ_T0rk7J=57qL4cd?*nZL6rb>k8r*=&mO@H9?}Q3X3D7Lg=Qju3)t(Fa!lk z!g~~l3qvS?MWRt@{3a`%XEODS_-MrvQ)fYOYzmLhWnw! z_T|L>Kq3C>IuhR=lCN#wEQ(Duuq_e2;pgjF%z=-u+;33VT(gi>BdDjuDM04Zle*srVJGigzBFO+GV+ zuC18}IK@JB=%7bVf8T9ScUl` zk-t7YHNH?HKWo5aVh!K@u<6!Mr~cV-mf>@310>C%n|%=f`@iEK^h)663%vY0^QN8f z?|KUWQNy6`kbjvS^3SjLz(0!6AGI99K)i+f~cd*EH7WS zywvL-UxV{z3>I<>LUkebEc4T*ceG{5QBRnsJoTV?g07UMZKymNHfISC%9V2jIQY4W z$u71S!1ETv1$?;wf>8$34936rdoI6A+&mh1BMSZY)p%SgUQl)}m6@y%q9d8aK<2SR zxK)-!t$MV&jROLdf|-S$L$D$Yw^(0$M4AxWbk*xjLl}{<*k_hHHoxo%D_V71DmgdO z`oS*A*(Ex=9-$`&gEumvi2;JP<>XPV5W<$>dwo+P{3U>hIK`&mttX)$DsWv^=VFn! z^r=i%TLr3tN1V@sSV&5X2DYCMIfT1JsMMctN>OzO$B+m2Y#2Rqoy`7;N^x>#3X2%Q*=#KrFLwRhj+}9i& zQgg!=-fMqd-GMf2b&)HRc$BN<(V-RZqq$$Yk_eA@m^#{~8X-!tFu&=Lyu)8H1YGlh zfK_3*4m{ny8W9?~Lze<8 z4-18*R`O9%jav(45=|S}_CqHp+<=y4IH98&kua5`OQo1n(hN#1W^>WNlDYvYO#yk< zVF%~l&Bmkt$vK1`6d#|Z2SqDNss#*L3e+4Fy(e=}h+|bAdj;H93uG}F(>s~1>16-d zBa|e+45=?Bw3D3JI~}+_Vj?~9<-c3`sasJ?>;)f-y@?bp?KY4LfCp>%u#>_hn+irpcPQNYE6a@Xs>-g3_flV9LE7UPTi-C7 zN>A0XUWq1ErDN_9xbhqqcCs7eW(K5g;dMkoV#q{7Vz!(%1f_iwT%sSXZj~Mv!K0E}uq}&={@*}a zSt`fYVtcOK$nj+)eY=LOb;5^2#;@1lLPec^Q=z`>qZ@yNcy?G50t>ap9y;#d$aJ14 znp!j`4_1)?EL7L)Yb!wP{N>fRZO64q>r=HTK#+g#m4oZpYi3YZ9I6S3k zIBP_83s&VI{-N+z-s9Lr>E+dMFv`|KB^ltw^=5C~AZXqcMizZO#UNRMyf>EaG&2W7v86f3JrA6T#+{~Oh?b@W0Z@%W{3%#X)eBpS%S8Lr_Qr_wbn zm_&_%{aOfO;A6Zy`14zWqJPut38#Y*HE``SJ{-esf{ZWhDb=6|=4Z1_WZ_<9YVoJk zGUf--1Vpl~?a4^i{-Nme*|`FPFF^mD7!#Qx{5${(2{OY{YC{R4B>PdjN9*N{$YhDkp1o;b3{6;rpJ5P+!|T-S*THOhsZ16lm_-bf;zcDM5TQ78fwpcrdk z(HCU4GV+xYn8OlWWQQ|=Hpf;lA%{w4^pP8ShY!ePY#b;l(B*;K_)$5ux#*_h+T3f$&?Ylw*(#*2hLU#^4#D!nT(rEgI5N zN^BOB%Hd|~0lYrtO-?qc?50JaQSR1&3LN5W|(!^pHf%ScLm$W|Ap;f+>x{6($yxfpE8d z_XD7okWPINz>+OwCy-@DAd0|&%NDVp?!w$pmk~c<&D4n=*1S`sN4RbZ`I>{9V^hE> z;eYG}@(h@=12yO?tWzHb=hme!wlvt@wO#;!`(qXUrAj^S$H427#UfoQb`-o(^@=QC z>Nhgg!wh&@YOFhVXGA7vd6Dp}ERJvyc=-?y0+~P{p6*dxYN|nrdX1@P^;tq5EDG5K z1}uOvgx^pC!Z+$=Isy@6l7T9|ke%q6p-1VyNGH;0Gnh^qH%3#%6cBQ? zA3A5(f(9wd^#_kB*hKWS{(qd0(ZIn52llO=xRz~)Z;Ro!mN>z8uC#o%Yz*cQBwjVTgYn-}y{@DJPV>NVVqCnEv{;Q_IvAO__ z08)e{w*T=sEn&%)awD6Bt-l(Jfcoj z^VBWp8H1oh#IYHaMZG4eTYm-Sn2Vu|&wsLyhvDJu}uIgLMj-Afne;gqpj*w2mgd`*6AE$DJ+^#Ods;qYr zr8d659U#)S9w24T0J-rj>O%}s?P7TpyYQcLiNJgJU+$3g4-(KSf?vZ#!1-CS=A6z*vL4MZ&=7ox>JqjJPnA5QYi^!&j&HVOXNB zNDf1U?6HmDk>FSqqk$hX(dK@p%|+6t%+Oe>G2UDC@i$r=>7)ZY$a~PkqX=WGh_^8|ET z1%$_qg9+(|g9#7A%B|yJB>I1%y+wX!?N8;;!D5B@jT2;v+)C&GF^KbZn>6>E0S`$A zDJi#EHH8FJi{dgvUdMZy&GOMeKXjxrFNDl&t~wbegF~@`z%G>UzIo}{E_|Q%(#A=* zVj}Q^38MHvnw8rBfk0?oAEEP8GF6M`8>5YAnAv7;HBpvX6K9)nBqTe_3TeWa75|5z zs{PP8(G|E!5Uw^_8N&O;#E1S5H*Dj48bN^Zs-}xHL?;SFP)abL@%z<^$rK5nDUIKz z#$nhta+Je8vHMn3p8^);J8(=4TW0KJyWdo=k3EIn&H7j_Ylg@tXcMl|iO zRlLq(sT`=vLJ7OWjopkj?L1l2Mz+Vh-Zky@IyOn1WS4W>{nz+&!=@j9 z7=S)lqi;;UNDt~*3UIY|+kV7noeue`OU@IF%7}Ir{d>6kSa+#Ceo*znq39Uc4eyeF z^Z=}?B3k@UrUs!H)B|(@=3#-9Q`qX)q43+P7n;-w0Ki$oQ%SKudPIBd`|b>TyZ-mT z;@{JUfBFB8KdCx%w2MEQ{3ZAw_kYCSNsXx6LdxGV8^@TPKa?Xj?b1$&g+=@A7ds8i z&~C;C^$Nm#D0jkLD0iGLcaknQ*IQ23e|6FCu7(~D>Y|yt=y`44Ca39gYuV&yL!|4i zZAY`~vy`{oSY0kVkH>QrV*OZ`U7^cHy=Aq3qsuQFfuojg(`6UxvNOG)s&DDw)~!IA zuu^$E-vs(e;+GfN{hbHe{R4J?r{2fOu)`*5FF1Ft^55?J)bmd0BfA!4b`L}Y543fM z|D&@4)wA2cTo`St#zu9-b8ftd^y_PW8-uWAD9^t-hV;?RLjxoK=>)242_*<9aB=j! zWSIoQaXP{>SrVNukcxMqOUME-qGD_vA%t}56X-pJ)wqm~JS(;6S;8ZMbej-Zm?!J_ z`oKB83XvnO2hLr=S^)Gc)q`H7gpL%SMD&@nbZ~Zdmfioz<*hqOHdI34B23YAo&oyI zWvdmT$n5n(S6LHxJ=G9P=Cb_?H4Kh7p``7I1u<^$wwxrYm8Ll@yZSfUko-_UT44$e z~v=P4` zaByZXIsbdG=9Lx=CYRO-07D5~vp}c0Lcdh3qb!giIphO;qzh9k{}JelPf(W&pq`VV zEk}{$W$H^V1ls^VG27PdAQLFdwgvACS{Ch^Yp0n)a5!M&xFUZS#%Mds zq+e+Jv=97sW1j$`V}7H7zxP7);hCdJVv#UU=%M>a@R{*}>#(Nl%_=+#_MFRuTSuS( zzMo~k!|F&@;aR|$S%vFNfjp-`j*dM%Eg!mR{URSt^kEW3cmk@-Z7rN^E)Uw zz7VOpAv_n>6qrkOJ~IAhk7X+ zTdUQULrt8vl-q97>U_2Kk2&v#zTmkGJhN^Kpb=Jy2IhD3nz&hK(Zp4k(8OZ|PDUvk zyu1{nPfeBYRfmL_q8}(@T@e`ZF^lj~8?&r)8m%?Y0#=buP2e-8HObQaCJyo9$>uUi zf4P6hgHPfk<>wlE{}pg!{vo^9kC#R*TA^UaI^E=11>p8yE_9N{lJKw4h zim`4*s$rIzZyQN+zST9}`WO<05Tc?ifBi`v)E5^t0?7%tCS^0eL!!zcQOUn^{d%De zUW|ke6(N|pzlx~k^2VgZJL4(SQJ4r^n|@_ zgL;_~0 zd&UP>>jd=c(qo6ql1(f0`{$hZyA6T77A7O;(AJIWslRHgyBGkdrT8Js%}eo19;n{r zq1isH#{-2Bs?o;&pi%jQW!d3k{>SfUfu_Wq6!Sw%42CUeP=H%md=)m!Gd>jhO7sBCWm@Lr%&+Er99pR z51zC;Bhvo#9lbkDWLnkZ2NA`zFyBD2lyWi%!8LP@3i1mh!^%XsR$#E)tZ$}G7qLRI zIQBe9X*vhb{DggLB5?^V%uZ}!Ps}Y=#fvk(8~kDw84(IbFG$z(h!%zJp~etFJS0d&kMgWaFG z;scbYB3mPZb`eaB>XP!clb;ZjQ~fe#UMa&bzPI|UA2EC<{wlR>|F1*QZbeu?wxjp0qKvsVRAUo|#LI&1qjToN?hH!sJE8>ofV%xd6df-T}$%x%$qYc(-xc{|( zvl`mY*k90Gq7LxIm8#a8S6PJjoUVF)wCGR> z6`G_WzU^{I*&Mv6EBN*pN>+ExcA2O{tTJ(e`k#vkI)uT9Q5MChD0~vYVg7MshzJpG zvcVVztb3r@O<7PGL)cF=?Z{U-oI^Qv1@qWLW3@zVGUI9Ln~-ielMPe0IECl=2m=0i zw9jPeIkiAiqkF%g3u35kNE;yzIq2*NAf{d!ppoJzV)0@r0KF)2G8 z@#}u-S<^8w0wNG~d_j7L3=2U7v&=wGB5?)Vji#Nt)*`WXFv%o1qyvXRrYS7lxHy=g z%me~SoG?%z2KMXt}=LGY! z2#@z2cEDvEgvZBIzM^YIz``Ej*g)xBOJjI zIS0yMkyJFKZ_$43;I6Lb>MFxDJ^w4z?Lod6i}SZPXT3-W-{#U!VpIaqLSO0S5BPOo zx4q5JS@;aaBA@Z!_qlEbXhTUrp$Wi(Nr{njf$KO3A+(NMG+RpfBr^#|I*FC3*5r7H zHoM7;o!K#i>0fQt{?#e)NsNCbh6n0zF-6=u5GDjbjv_jparJMxo3Ha|oKP9Nn@$X( zidYP*PZPhu1|x{nURcpd&F5Anf4OBs*8fh8)O9#hYCOqn0NN)ksiCUt_}#A9Xt z&fgd8p$_>2eV~_M(KyQ=#(FbXkS`F6XvP5i7WtIMn6@9Q*A1Nk)ON-o)5g&#(KW#8?-shV`@aFUF+jJR1-iW-6XvW*N z8V?mEE6R!^f#t=6JC{UK<7IkHKt{4e&mm8>EQhVF&*r2w9WKvsA#GBlYF&r)K$x-c z`zF&*qb;OxXn><8!rv74e=QUpdQC}W(pG4W^;LtAvy9Z5>JK?8Fr+}Lz;S>>WyEP2 z5gz=fj2>}x;(HgNUOF;)wsM12b(+6}x*t=jhBb!je(YS`(1>=fj#KF(-21+bWXSw_ zQ5sSHAr#)`@&}2P<*3m-p?8XEItVHo0tT6bt9rnZ)Ys5k@EqgmjGs-HC0+c~lkik$ z5h8L-UBMSepg5-BXP}T=xKRlWFahnnAs;w@A0eMOf6sKq<oO$Y& zLrhcgm&Hs;{ezO!C+^VFb?y}R38(66*TPBtp-Jkq|3>PUk^5A4eHH_xQ#>$oZ+q0T zg$MbyPOHn@R^2CQ|KRrR7jel1%HqyuFNpg(jjc3IbckPVJNz~rY)O-d-!9?{3lWr7 zuWR>!agGFwa-D6LqXzN^i;@suNJf8S1wHg1Y}<(^!k4VR=D(LXUvrluw0^3$zS#E& zqktX956ttP5} zVNQ+%Tjg)L{H-JcArdlAwcHI2A5EJ)m6_pYIj@Z0VXDxqx=(+$5fK7+F^bV$1eG?6qPOV_Xrq_zz>1$^MheX3G1 zh8orq5CC6_cw)Not6Q}^dpRIp0?3wKmb5|vc@~rSOAwO^$*rak)mNbq_|futFM2IV&xsDZ z@l!f3Z$Y%GUW4_^-%vf0dkGE>MNUmsGZ%=5BDzryEsq9XTLaOoTM^QWpz=i@;;dhy z(b&G|1?`RgSfBsTHhX~dOUfpssMGjOsjth5vmB?Pw&Rk7`kYQFR}51>wid9iMVy zTXu7CG;jeB27Qb3mj@f3LP^%&zc~NY)M~VH8V+TD76Oa;A~uB+xi^S`p$8Br6Zgk#RvqH)u#}`zCwRZaSv&NPs{lc!KXKZoIiarF$G%& z)&u?V5WWPw@wTZUIeA2SdRQJm)UBVt6S^Zh!rWwmV@QtqvFuwZV z(N2;EwOX3fGfq0b{-WFa1o+7O+dpPsy}ezV?>cp# z=gyEh5LmmA2}m6Y0p@X-9~vNw*xun5Na({%bw_(Rn?J`)vExSd{1u}JThf@X-HPK0 zIR!(ay(SKg9Sv1FsfyVR)??L{-p2NEEWvl+2QJjcdb(%QxZbzkKW)yxUeeWxZ_q%y zc@cJbIUzqn!nfOXqz8=EQC>QG>sdQe1UJs67+}pu0{UpfP&4sARw%l)QgVW z%5vL+#|0k>ibK<A&)2 z^gnjz{ezOtgcfwB#|Y2iIMkvDl&bV?0Nn%2ifil{d*8qRDmRtZUn`D5;M5BdXFk|K z5=sKeD=Pp=%ZfH6>wy%f%hK9nbVpI;7Dv6ihcclDT42$wxV|3iCICpUtU22#cf9ak zTT)Us%2c4eZ8^M$wk`f%IY8{1os*_>?Naobm8{o>j(X*I5*Ixea)vSGF;ITWs^ys2 zi+@txrG6E>FN7>G*}%3X?#_$v!Bblx1%=uOS*jE~0K1^b5O?q+gw%-dj{hs?7tm}hkHR7Mbx`rUFCMHMl_WM0$ztTU}-|O!cJ03Wa z?)<6yY9Xsg!rJ&Iu=dmCyAbjLm0HLvk{}fAH_p@lqW3g>be=4HAOFWd5BR3*@AW?s zd906K1<`vjO~Y4~1ipQi1HMys4j;%+rVbuV!()%(H!F3J5wlKu!8f!(WQ}$&rWtp$F698l!iw1V(Rm(-^@CYNuBE5TmM= zol+baRjT#baPE(o)6O<8d=1XM14`YF{euk+00aVaO5;rJQ zZp?GOezjTi>Lq-QT`K0h--FKA4d(0pp1M~$U!OEzc@}<*r`I|1+c(&75Pk!ki8ti~ znyH5an!YF|@w4etuX>`Djl1nvbsoMzKUU|(K46d0eit~OPSKUH<5mm&Am_`G8jSi! zS*0UeG|lrR%V$|&$2j8kq6oU2Q!oINi`CCUFLu(~J&bY7kyyC7v(>jWp&t5pYg@8m z5hyJY5xV>Gq#^|Uk(a1Hw6Qcs-{EjFyZ;^cLxLLciu`uJ@AeLJv*-ut_=Nv_AxR-b zkXrm>=y$U|+=3giaXw)DaN5T#6WZY_4P2DHFhZ_6c47)9MOcAnAVN>(+pixF^{gLD zW});(!+9RsS99OsNVJQ`rNpKzVdXg3FrBG=;Z~8KDP%N&G?vG4G-11WK9L3PjbTZE zv;LEMdS5T~+Mh2JK_@0g3B+w5mOfKS3rG&%J4PeP`L>a?@89(YYR=_Gp&y1Y8LKKi z6an+(C^ir;i{TS#kWI^PaWwQ7M*@(amgWPU>5yLkPV@J7F8pw|(nI+@gAFrDIPQ+h zpO{*GEuQdtVmi*RN8^xg_~tlI1f|Eq3a-bVPSu_J!f-pES?D<&8gwEW(S>r&(Y}&wHZD)Sgn|e)Gy^yP(Y}ZK5gL(zkQX^4zt>DL zyaBYxP01gdT0P2(1rE}~{bg@cw^ad34H(D`z#0L5x&s;NkHh`f9YNOE%}eTdJwcK9 z^H?hzC6TFFIBqi7Ak%zDQ1q+^{&|Sml*qZ1xh@wZHi59k;TG(wmjz35-Qlh4)k_X0 zYvsy0>#C~{5ZB2kN=OZ5Il8Wt&)5{uuNVgt=a%FjnH_An7(a``+1askHC+Y%K?(3z z7aNI|rF~EeJ{|6+*%^px+CE<5xG=?k=k#9v5POdQ$;-n3g?<={|2O)r!dkm4diLQx}Fuwg_+1OgF6iAj*KtVBgcuwci6 zq9UUBRjQ##5l~R*IYQ9@!dxlaEitJ4@CP{R3;q9@S z@EE%=nPV{jIqAYDRToPC+53B@{xq2jIO=+4KphFyXPsaws8}8<@lz>rwG9eKK+3N& zeH{)*U$Axz79TNv9o+P_G8I&Zz9W>sSx1b2InVh2H~!Jw!{FZ&qjL@?KdOum%wJTG zLwJn9f2<}PF+TjR`m7U71=YdF`C2|Fn(=il$2W#HcPBBvF|6;Vr3bFoA`zuZm!E!U zh^zAuCAFfnS|nh_WDd<#u}{f}e^AC}z%eZCplkfw?K>wl{&}re*r5TdwyXAvg;Jf= zR4z3wwu@K#$@QB44z_+mg^)ZLOdjNsy5ZzO0dL@$fN%Welu1kz$jNn%64K|VhLJ-J zBNzMs8_>EAN^OZ?D3l$XHtB{Os36D6si~L-#Zk6}$#@v1z<8!Zp(q*YcKEf*;)njO zw3fa`YvHF5aR>?jI)u>&brxiyGv!D(JZ;&C;Z%H;CWD{G3$;2S48!5d){GjJbahDC z+A+ekS~YpBY4V-nO^$5;mAd`VKdGDNU&yWjGDQdPg;{{Bg7sDz4<;@ebvl)+bhS0i z6x7(v|Lope-8RLyYX57nk(C02g67xuq@)*eDdsW@OH z_`|mZD~Lj0-5h zgV#ful-!-NS4ps0#g(K&_ zWVWm!wvo3Z1Ttqg!6_-BO=VpV2Z}OB-3&%Ol;KDt?YlzPl5PdhP~%F50u%`T+$Mg1 zYwy3ffAs)Xw&gr79_KI5O27l7OI&i9sI;6{SHY`$7ZuY~G%Nk;rQAPiOiE(^zDd;n zd#M%r?|Rf1(SK_WZHm%=UG4r0csDizZ;JNEk8Y~F@O_C`lxo$xTz8}Yfa%5sq(=NB zR2L32#k>apG+V19R_V1k3X#G3pPxSBZeXjnMey&3QcK#3aRo=h8iT8oc zrjL00#9y`O_XY=05fe0?j0)f&-S2U*G6Fv7FvxfC2Mgf8aqoJ^4NHdraJd1iD6{TK z91L(&@E%Cw1th?rRW|z|K0~3kK4yplgy*|3QmuF3Qc=e060FJp!T?DbAoH87FWp_@ zdJ}x6*u5kkhm+>R;CaJ;0wOcZT5V0S6|VeM=^x+3dqVt4hm1G}B*l%s4oI?mTO@F#|`>9d!Q~$p>>#e=Oj|(t_kXs;FUQ|%w zl#e71&JbDYXiPL-neQ2g`QD+D?>Lu(EjN8gjaDc}MW+0m82L%RZ{oe7{z)c&+t&!k zZ$m3F-fI0HS)lO?3>PHuzhwT0`Ocf$K#L~6bmfb{_KO$LAB3&Ha4B!buo7OB4uV-p z4fuVH?G9RVz;w_Js)M59^JU<3=|ML>A2vCU1fTRhHW)zLr`Fem+z5z{6fp=}hDw!F9rQCd`6m;jV2ChR%IX2Od7_6Sz?A=ij= zzX*T&n6_JUV7F(p-1FPJKHzuvo{;=I9E^LQ1r^V;CgO+qLYL-d(1|V#U$Vgne_$ra z$5QRcttDD!uJ;pq6+ z>?rehfBUHFZ@>I`JO3Z~3FvhXLu>rF?@bObq!;A&ixpccWKiSB=pW!XNTQgz$h_5I0%~uZJdU z6){5AAPcD2S|d-g<&XcbYRaE5{ULo8L!9Q6KkqR8h}XEvaG-WD(Xp?ntp^iQ(+lWs_X{$C~iDkPu1 z@NS8e&yDIpKKJ9{$MQHY>n~7NB3i2sISogb`=u;YwzuOb@~Nl-))np^<|k%k>vkKY5+_-xG%aKaL^(j~D#c z94+|gOW_hy;>7X^&4){MS8vb9eC;0#G0GUGk3sd^nH%zh84Jk)}{{~U< zUz_;n5vTGvR(5#&@2U>|VOHYhAi#gX@5fR><{=z^rkYHaQ9rLtKOQ|+>sNx!lm8CK z=7O)G8#kbO<&@2GPkJhZaF+z>t>XlSt@t7mc?s@;H830wbA$BW?}mSD{0TQU!hu4saA*IfxlvX8IqW})(eQW0kF@_-fTUUA|TxK2zo?= zFbnr6ST!F-gaRRLt=1m+Cush!;P1Jk8v5r~NxuryKWAg{Wj$Bn#^*>==rO?O9W^wK zBLDbOxP(MG@cH93kf-DyLt*$lj@*F!YZ?Wgt4al*H~ekmQ~0wH&Id;R?WiVy9P-b; z!UCHYA^Z2Ylz-b?_>9y;8RIs0p?|E#Xv|T_KeCMTa|Y&T%+Yimcg@cVpW*u9Bfp2^ zb6PU+Ih85|@k!5bm{!p~hjsNC@yfydvH|bwaqVgt|Hu8u3sfIQl!9uDhtWA2s#^i2%kHt zMW9)!++4Hq`R-T1=eggz@ENHmM#twk{5t$$@L8FC%iuGX{uo_;{`G4FKHtOo<#(zW zhmoHR{*%6|BcS~6U-~1`_CKu*J)%LGh)Kp;$_NEYoP3V6-iFVE=Km!AlKWA}&pa&t ztQ&rI7Wq{!bOgiC?wG;nWZL?ae(X-C9?m+m$Z@-7kXZEDhZPAE27> z03sB0F&)KO``~w=yJpP~Mw(Wle@>bSd@kMQ#^=K(=P|(N)B~Cj%FnTUDO|#qJMdYH zL z&#LO5oza-X;FI&W+8-d!sxp6nwmlqQn~uX>BkQPw7<|#bgY!F~-v`<#UNtg*|F*Af zX#PGy@U{_A3U9Xrz1@C%3jR)meP_fMk@zdm0#(R?-b$v|Od|a(IJ3L;Ol$r( z0O2&3;Z47gB}X%VGe7a01N}1>a&mAOe)*m9H!sEpmVEck&l+CIckB%M3;coU6G&>9 z2&ViU-9_^+u`H0(|NHZ5;4+^E=srJ!*w)_Bt9`un=cS(mrk?Q!a1TQu@8v@r zWUOglgF|mca!AUr%kr&ys2;a(4`oWrq~!0b%*L%5>I$s^Fd|A@3V&VCo-E27x2bK7 zIA6&rw3DvyhA72zU^~nNy%j$&2DfLFXYsTZGI$GAR4Ss< zb(BX%Wgx19j(X^O$(V&Gzm7UhMdctWS4X|}ounF!s5~9jQAG_$RDq8A_*E>A6A$T0dLKQFR7tTNT1*>;*zKz5y)(b*!-aPn=L>nUM;@jG?zr{lLYylhu{b5*4beDcPBwUg#`SskjrAehjZgDmWcDI`=n&=O@9;jNkin3ax)*O zR({(9KM9i{Wj~RY$Y;P?pc3Du5|7o1{gP-}T8>Vfs}kR;65pm0->wt$atr?0jO_ZO z8N*fLOLv2Pfuuh2NXg*?%_z``C&&{=7FFUdD)B`saaWyKx)LQ51SF6M@Rx4)2j>aR zjvq&v0Mha4wzOS-xU256)<8m&J(gAHAIN^s_v_o%D9W7t9dXmn8u>SS4M%A_pCVq} z!{|9@Z)*l2;5;{|AjGVvKm}9%r715UE!4M6FQWYAo&$fiCMS7hu zPDkNP<9f6n&ZQ=xw#w4sim?D6aDWi@0lbu1e{I=xXa`m-5gRB<|GW>0wG34IKi@{^ z2eoPcqzdEI55oMXJ`(pHXb44_6}up}#DD5bgp^{CgFCxKF|Z~wM2(;fVw?U``51M2 z_PYd46@}o4{ipm>p&vB;!mS_d*{q8_68#{|f9gabj{Z~s{tn_WMQQ)3VfTS9(F%$Y zisnBxg(-rbtLsJ44A$q%%6`X>Ml(>nxf1d~^X42wL`?rFthFNN|MPc3ZjIm>Ue`oV zh=fh_Yd**1^s1Sh@HF#tEdA1a&%*re$2^-8Hh)K7-(2=}IKKW|g!N4yswf6uT-7-2 zn~*Ehe*?4WddaQzBEHD_X8!~YE92jkUZ~NfU3-!-G&KWverB}I%GNgz06*J4cjM=6 zlk-UM!?{S0FSdQ%PECl|hxiiV-;_q81WBD33ezupFfQn6X`HnM{sx+LbJkY@ zKk1WzpXWYx<7cGFc?|F~)zXBBeTXj+{ue)v1r36q0}O@X=QvV`{h#Bb;HRY}__^V0 z8$ZH?jc|F;Oqk8zZwH&JygwF_pKAb*Nc=qZ6Y#TPrQnB^9Tq>$(SoDF&u5>7%sAM;Ye&J)CAW$e z*L16mA7R47@KexC$XioQ{Dl1DgG5J!{Asil_<5+DgWqY$p(qN|?{?zX+9UM4qp@#` zeZy%#X}aFFpCls)`^lS~U_Y6cDfW~9?ch2xr`rA&nD$Bq3Y;Pw94 z7Vd4`P@dQqx^Y+syuWV)l$3ozhOx3QFo@rO-@qZ)z^cH0Weod*_l=8OtNXZ>(O37p zOeAf0KXaK#)V00*kT}~HTEG4V1jbn2A7`;!l4{E%C4r9^%lq=;v?f?L@V*xie4@(d zQ~45gz8EWg>|d~w8Y*#3ojAry|M?%l%0SW!@<@4+545PNi+6h!j}d3D-@W2ChxL2< zL5^)to5fteuL4N9et#RArfU6uI^y;E{kNa(^?TFp66E^5g9<_iNcn4#TEDMBLag84 z#{-;^_4@%8wcQa_8yS)6PaS11+wFi-)$`ygQD$9)ABe~Ol8y13_m1^gcrg0<{jYW5 z@_p1_kng{*cIXFD{5KDY*3D3ZU$XGZet^G_J@nm5DB&GZ-J{L@Yfk_h=e=4(i-w-$%X_bBUkFDi(T@0ID7 zB%a^1sYwiQ`@V0$Y_opf#uw2aI^L;aW!CR`j8OUmNwjh? zG&KXy{@5_ElJ$G~c;KgLxf?%wmg}5Hf}dhE!?AvEZ3vwyjnhEKKl&bo798Q1O{66s2@1t;hQIv)04|A49 z!PnvRhg$rNzUasA)cJI${;;Rq)*mbcp+DSpF7$^{?L~k1_j}GEDgVjCdx#IEKQv^+ zs-!>svNX2-&;%sA^@qj_MSnN|AX+&WVsHjMw{+$#U7YqE*n`)Bi#badYa6_d#;C$9 z?Y-w0nWa}k5Clq-Q3ft6u+8uM1$pQEd?{caV}AbmJCdEWT^=bGAC=F~>^jWPzo~q` zt9-k3z8LfK_bTxZD)Ba*IL7>(wiT!kBsG&qN^?Grc7DEH-0CntPujz=<9X&i&d)8O z1aW@m{;ryzA4I&KpVxkC&(Af{Uc_>KPF6wA&o?10jp=ic5Hs%#Jir;5pTAU5<&LQB zDr%FCvZrM`V9i+!JNgR8lq~wMxt}IcBzMqLd*=!9R*es$oG-r}`MGk8eLukNFE}@u z`vJbjo3)^kK3M+yLXl}WxG6IW=O?Q({4Uht@_MH1R~<@%w9k1zz(Z0#?*}ME2>b6S zT#X?$TUEf{pv+pn2!n+F`C97nW`SJE$@>8=MhM8C^c8MSb=(gymsuTkGw3)98}>!L zO8Y|l*SDV;ZT@>V4m+N2y$|`M&nLjYM-X1s{p-CSft;xO*HXXhe8GDkhtF*bEX-|h zFR5g1E6NHPP4VF_xI1V*T>7EmLk#_>ce7~txMCC6zYD_WuPFM_&i?@j&hbIw4mW@Cd#nkJ z_=!Bfoxdy`Lx27N4BfFP3`1`FZt~|~w$YDj@YeX)=kI=$`IqM(W&KB)fBC4RtN*8w zN0;{Fd*hRW7YpUSXO`#;!s03_%M*@}V;S zIeYxO_b+d{)q&q5xS!#Lp^p5ueDkY&Kg4oZ{_5W^@zasy&rV*tYUs8f5Ol2e6}!L{!IG<_am))*CBr*{eQ(VNBn<> zt#SDOs{O?Nh*I+CmTNIMwLFsj#OaJs@`$!@YZ6>3)KonL>yLRxB30S{SL9RIcii%+ zfhp%0$fv2Fh@e&HyT|e+Vt=vt8qg&2X$C`K^65p!!T)z>6!}zVpWKpEbFnR-gefE8 z5~1}M|Jz3_pU%cD_L26(^H)MXjhG|yiIp8zfBE>Ws>&zo&y-&spuc2=JJ$mL{7(C# zAK!D3E;r0Sh~KFn4USEQ(0ru(bc8&(H5H2p=B< z9>@Ir#yrRPi1bg&T_vzl`=ed?BJ=Z=R{;!qJjnj&Bu1$5P>bWC0In6f>wCXxMnh%# z`)yqRy%mOklk-^Mf2Agb^Yd7~MC^|i4+0Ge{|trWpK-wdFVXP7T=v&%erV%gm@x8F zn+g88)x>}3e9+mAqT&DV7l{8?1plJHSL1xp!Z$D!V&6YUd{#DpD||WDN8(?3+5B*P z{W$^W)A~?_h+#h`+%U+zd&;G6JhBP@4POLge_jcWYmg=2K(*C$AR-jVxLId4fd7RC zne}=#`5Sh=*TUpyEq%j{zlTks#{hpmLnHBb;A6obi6XPj{a>V4@OKJBVfbs#IGq34 z9tD4^^5lG4(Lx)4!k;~BZT_s7Q%(Ma@HeMnH2jTu4*1*sk_&&4>qu&jZgV^IQ>!x? za~S*`&H9oo_2B$ORt)(YU4MAw?Qs0I8xQkrlt+CS#F@w@R=UCuGUZ=Yo{ zMvs&8L!I~%aX&}5%R!UicOXMy_#MJH*gt-Xg5Q=m34WI@u<wk0-x)qNlR5ux?p0q8u9U%BsNIwKT*A;h5nt}I(qqvLnsONYfT@rUIh?q`fVe@XdTeSEfm zJsh8-)&ifcslre{hDSWQ%i_X#bl&e7YF+$-J?%g=w z0w)4nzAk*R+W4G382EhdB{x1tnsSZ-K7apE@R=a^{E{z)5%+)OfF{A`0fxfxc^oN* z|L3<+@OjAvg3lY?w(%)U*$B@AEnjE9aK!iw;;d&RKChSwd~SH!g-?Ley>T{XV z@!1%SIgEZ#nSN^Usn&0i_jARV|6dKqXS*RdKRlHxP6(g7F#kCGuO1T*9>M21|8w9| z-T%=5QF{LGgU-?TRQG={Lg7>0{{jC88=sAzuQoncT+R9a1vfr7KBvn$2Kemrf#6f! z|Ivvrk@tUG3YygX&rldXhcFKF|JPCQ*>a4WA6`1w#;3af0}c>o{x_r?!TgW1BJug| zbk6@zy6~wy01uDPanBw#KB?dSU){e<{ImSr82YdIex&w^=;PpkuX)*Vc99SUZC+vQbS|n1&&nXOrji2U>!}{-wDC1}HHnG1I z&9TRiFl7%s9`yKG@pLuid&qxbPSpEJ{^tEoyB~LrACd1>^avSfBc1jL+!f>#yg-$Jeys zy#HsG9$zq~M7{qX9yD5mnlj(k@4aGb8HorrzDoT7mmXjK`p}maFhY$l9xJzI!;8V5 zpT<2|?eVqZa*VGVo^p?`wx*n8FuvY+N5+>|^rsnoDO^HI$ZT`|;bPDvyv*Gw1u$21$Qx5z_+Ml<)E!}#e;B_fq#5DLt zcXXD<>s;LbY9;hQgu*K>eZu`e@K(@Wvu1`tYbEw){{YJWnQnYOY;qn0eEJL_V*h(f z@X3}t@L7vQDf!P(7(Sab4)T9v6nwU9EBbxWOEx}*347kRnXuyVYU0x&|Eaa3S*h;z z=NFX!4@cs&%JLsAI&%3>{iZViCD;8YMNioNw*?5o|2DpMd)$9=yz;-DPe;_0|K#C4 z#D~8BWI9?{CI8!@Oc~?+&NrA9-Tt?)P8I*#8Tfz>z4RJ50>1nZ7#Z~5_jvfxokWRo z9o>0ydf3sOptq%pa$bG%?qiZF3kQ7s=s?uuEq+v@oL8UJQ&EHMt4{*nA#-KK;f9fu z*}#CeHzU*uAX+u_4I>N|We$FdgSvsW13Q&5P5^nlj{zww9uxw6h3FzEf?lak7Lx636G6>+yqzar6qQ4r*1Ckz&4_J5MhXbAlio1Kaq5x1RqzMTecyk92Vc>9rXZgi0t2R8!V&tI1& z)bULmp_=eNMwAz3VTg12jG$i!i!#>(-t3Pn?G|*vH+|mlbeyP15&YhR!G5E^cek?<22Y8S*xVUDD0+NXg?PhW|I%ewRu- zRwW*%6UT7+zD*^*T_ql-6UT7+?lTA63?${qBc(4NXhs3HGI&?Z1bN!muUw=OcU6hI z>BLn%!R0%x82!b9?ekl`F-=iBv+|Zx_In--&_BG+O!i_sYY+B6m4A34;0OW-0ZO)M5xTV^+^@qv|knf zUmj=vBk=$FsiUL*TGjXeT7D$?9sXZ0gz_Je|5r&Uf7RBvVg6q?h4LSf|JP3!A07WZ zq53OdU&p}DPaTe~{^duPzx@lL{FU=xt?$FvM@f%_%g8_9#rnuc#mOln-Tw7kUW70) z{`E`wBI~2~I%o-L{Oc`7sP&Nu?k#X_&;nvk&A2}B~ z&L8>=A+kPt0fa>O*Z+9Fk(37*3R@o?M+&k3@o^L>Ir&Vr|1rZzNi}`*_4-@fTmoml(3(dAQqSvYGWpa6_^CPBjh~H^ zbk1XdpF5t>gb+Ui`4Ztj+pR5V5c~{eC=5SC7>E6@B~kEG=V`&u(noCk2ou`E|3Nb$ z!H`mY`4s*9z4#BDd!OJ(?2CuP&&2zW4nOT52*=N#Z_@rZIZXb9ov(jd*slCfxA8^U z|Js0=8b9KHns6>66n}GgAJH83*~Z z``!?Ks^Ndy8I3v2{{G?o|EgvGdw7y<|C@v$?0?7aX$Sk?U!MU)p7GDo5Rr0^JiPbv zq3wUgXlB*ye@q#}{&zD*m)rigaGcoxI^hF4^nsqV|J?&d2EEr8h8u)-O%P*MA`EoN z=m*+w#;d4Q`|6&cw~mT(n#UfyS2AWf?0;!0DhE-yx~w%xNJgf>(;!NBduG9 zHaIUca9C=JF_vQ7WYFXp0w^g(9x12t5yO(@zG)~;utLV2Wozz14XRXde~>N(=J2K&^CwkB8Oad|V+=nsN)HO1(qzD9Rjp zKgouD_aOEy1$o{s_|UVoR{~gb9+PqgDqCs|L^~>`+Xphj0%9L?)&G>LUmo7^cvuV0 zQ}r_n_2W^Lxo4uTpZl-6eta&FLEKa(2zt6BdOs(yKR$KzowXs_sJ6zazV^p_a=L-pf>sh>#={r6Ol{+X(Nd3eX; zVRg{;GYa+N0s2k-2eH4Z>Bk3CKa(2z4_m))Vr{rpXbfgpJ8s`}$odig$^92w4{a1h z06vjR+pNSKamgK?c5nCku zZ7j*i7-amdS14Hx(D4!JwDvvEl1M+2tac>1_g9oea;(oJiQ;H(5h&x2QV&Q=Evrbj zzL4!!ypTVE_CH)qibg_AByC0zMQ+Kj8^2JBFa5%L^&-qI7`Us-1z&R(yFQi8T4r$UpKS-6AjIR<~?n%2yYTTkwVehEIemfh58A=y- z5lTPACr#->9W2UhD1{{rDYIsp;=B(^aUx$QB4{oCCv0S7+=gyn{eVJf5?D}_`AMNY zGR~EPh|tFp&B*xgR)cOC8B=xMM9Etg%DeY5gYNsM8FVkP^Ro3;f1MXUz>Inagz~;` z=e@O=sdu8CS4Ku7otM9$QIwg?yu=SiL75sD^Q8>ez<92^Juu?us5X^)A3&t_@t0C+FH>CrI?K@@iTSpXn>=+)@x20A*c5)1HM;>$hx zI#`tXfG)9-U1IN0i5IC78?!_+K7PAEn%4`T^!V`WU{PilUD&Eebo0EaQkVcbiG>v{ z%fRoav@E~|+E4qn)*|{rcRe>G_6`h5?OpO?es`MvT3}l&t&H1Z^`W;kK*$=lb{|*1 ziS`9ban?b=-g-23ty%o79z%Zfil*nY@v{%9y*su_%b(k`G%c;-l`!3euTp;}qaT_2 zJF)�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%0DMBcXG8B{ww*IV$2f7@2U z)B;Tlt(G8oMyypgkiKpm4Al*xP_@=j?N(5=(NLKhD&DrBdhMiIv9x`Kg{9)gf~7UU z66`;X7Xx~vP3x+3I*#6Rx-MT_?!XcXrp)3CLhCDULoke$rN{;K{EeG|(N#=S`|nj< zgJ;~5BAd>|62NK|O~UTy#K9N%rr~YecK%=^fZoFL0m{uzkM2Mgu@rtzy4T3Uebi+7 zVn4nQXoR=26#Rk9uik>K#pOy~B8ZdQX!j&&k!R2#>Qn2{f5#|24b3<%nk@AU4|o!K zDjZ)r-7E8l20Xhn55U6zK>^GKh>xxD9SRv=cX@{KVI(nAZ)V$z@LfPYUHQ*+uj9e7 z1Zv3%B0Jf_mK#H3!vj^kYhG3l9uF32u}I`2*%$aYmSoX>wGF1myzvfdh<{d|(@K!o z6t2r_4S^4|NeKMtQo&;PvgMH-HD;qX*cEn%rZ2@AC;3GIsF^*4Zr8i=HQg^#i^UV! z=8C)dM1OW=!Os$;1YnjFQ_cavGk3ri3 z`hfp489RIH8d%FYn16nCTOhiE?@K!VfG@W}t zs&~4VaUl#6dEEcV8lj_{89S+<1)ed$aGK7%so~nk`?x;JYoBY}5C_uvjg9o7#on1(nWV6s%P;?AUY+|->CH+?F(`X2Z-B+-Cr1%iP@XaJ zi>+Yvbpn5VuA4I)qvgBSXqEhpn;Sml^_3WMouDCK{axsg*Bn35kOz%%$c56{DvKU~ zd^;5Mzn=d+%FM$4`N0nnv!!=9%0118dPmkr-R-uV(}(!_qj+~4&jzq_`uF}qcG_-^ zdWz&xxBbg6_718a=YRF@H91Z2*(JbqK{&d3;2Hwdz@O-}-ctf@bVIsvrp9mypy)rVA zR;i*?l$#^Ipg!OOlqgHG5t&Jpnpchayw>XK&6{=ACf>(7Cv4yWrvzt-dfSyjbCt%% zvqCZs8`Q-^*@Uf~WHo5$_nqW>C=SDmJyN~nqftI(FL+@AFk4$+ZMVky(P{ldTRAJow*JcSHW&o7SDixlrg%ryJrqV_s~8^Us86QL;+8!y;$ygt8Fs4aq&HCDsRqD>3o-@uU)|wEK}pZwm!e-YKCjdtsd?4<+Y3!`mZh72IH-->HA*|H{xhp zGkT3QTE_1|BmNpJ)At88;5vQV!fb4-;2lKy2>?g#$qw0aogtqI5_%%0n79_k%{}<{#M04leP4>V;)raok-)_! z!u5!9$tX40J$evHTkcV7J8uVul)U%;UdcNE5j`g&zMXM)!8*g@a{gY1zqB*^ zm=|NZq7^2laKe+ zY}aN+Z6k&~0)-lI9G3D0uL17a$vsAVvC}Ws+#x#N7d!0P;nC(Z-DG_W(kD#nk>-=p z1A0+K;`k7HI7^&;X>Xo_ntMYi2T~0t=-_R9Veku4{b&)iP+D%0Gy!I25(QdN*-4cj z@l4?-OZW!9pFkP{6Fd<@Yd$goKgz=^%KCJ$=g**e+=X>))_m_<#hQcpvBJJ^XHRP7 z{B;#*K^Z5Wb?Nb+uvkFD z20%zOzp#6qoU`#q3IFJfKknlnNlJcGUB$d= zhTC)bM??Ja2>w8Itf&C=z&_39>;cMqH(M4hM3q$hQF`%CY=2I4n(_oY1f?(p!f1W5yPMaCDwY)zLTj#o0W;rcQBbM)&faBN@#CR2crtUzntQ>K{E=r@^Y+8IK2#q!X$H`J~VCbNpWyG@(lUw zh#4y8pa8;b`AHc1tDX@Jr|ef<3$+D%b0s&)<}En~UKO$ecm*aDR;ho`m*5O|QiAXB ztOIBjw515b^m%p)dE`<-OE)v_LP6V$%@o=|D@q=oLpu;{`v%MN@?3>B=q^F4_R$P#v_J7*#+V*3N zq9BFjGa=r-`0<0Onzwqo8(xG4(__SHeGb9tUMliyw*9`M#%#%vi7<8H`+C_V=zkn+ zw0w7`;Df`=>$c#4D*aLrp;e@q5)QJ86o)~N28)+Ezr@=AJOca+2PybFve+5Nw3V2r zKd`CB{BEEH@NvEn3~=2rfLDBSLV%}l3d6Ag4EyoN`=8tTVS^O}TKeH#y%C4j3*hHP z!q-}Fc#B0{@O&@qLeauq=%%5N(_&={2rc!{r>A`YeR>KOlAek`sI!-%9kYLD_!m6i z=X0^IN=M-B+xhlscstkmc5}SVm)(w+X&+NvFIw*}alZd;ihX|WY(i~8!^s%@O$aE3 z>abf0j0%n>xQp6z3_jO$9;Vpg-W)7uq6~CIt(lBIS?1B55i8V=~l7X(xNKR4yRnE!o6~kNgFRnnPPdfGy z%-=|i^gmphlz|gU{0&fjj{lZYzhH7ncpmW~83-FE;0O}4_hZ%s&CkE=s1XWTq$we< z1wnHop#cQB0O^9MN)ua}nvNZ!N)+)VKKpZKH0J(rD5T+CMqDyS4arg6t96hyJ0^+z z9Oh$(t_Fka6b)i0DA9gL?&Z*DVkxl?E~_jhW+2@g<40OSiiUcyKPeh2HM}M4Fawj9 zp&jD*YR{FH-O=-b02mhcVzIcg38UBzg&t)$-WvwH(Vam0V65#;L-Mnk*)PMKp>`_S ztMWdBFqV1&F=olr861m+UhwSkTY*EEx7;AS6T`3-!5P5JkI4HGGJr>FKZ94<_iN#| zX&aTx_+$|WW7&1v&gch`$;s*LpMj?8dAeFn<@Xsm;A;}@aGu!*gw~z=UjmK^Bm{6S0-`Xo=J|zVs&FsPr9JMU8Ihzk6+{b7W-eS zkHaZ8MFyN$z}KH}#q;bk^i$zub9 zrP@Cf>yLU_kiF6SPqel94Qb0=_%@mkZBHz-4ywWBF-3ATX6q}|(U@7xl1*TQtQW3H zn){SQqx~clZZpoJ7Tw?3ubJ$R%eO6UW`RRL+$M8q-nQ~;XW7ho0XW%OT$1_Bi1RG|K=KX&La2 zjjDs8mPtoVj73H)|dm&K@S4(7yt|yF)aW|qQj4I7WwQL(!bsH$&=vRhjv}O$~pEwb-wCz0s4dVl4FvIR7axe;Mr6J6`m`o z4SMKmI-RsJ&po_}M#25W8uyBASR--jJYi>UW7C)41?O)DeiF*ghu^jHH`uy0?D6M; z#}T-|T=0%_z!b&=o!)`|Ya5=Ea?(Qa|JQ$F{M}{z?xK6~E^%;;;pMS2qhp{0*W8`T zNUd{)f%W~fynMrZj?uXce4Kt{r#f@3)QH|^q;3>#iMf{cW`}}J*#FPgl?U#zRX_vw z6^t|Y$Due|gDENfk}r1O=FrEB?Z;*oR8UEPHz|(L^eFA1{TjD2GV)|kWNZHM#XrW+ z_HKe7&qU$|0Rxu2VVxatv-K|82kf?7mxJyyYg3I70wH3n#-oeywHdTJmhR;l=*hG$cOP?48OL%tZX^VY(@CIZ;#$ zZyULe6_F99 zrmVlSw55`t3Gg?yjsjNZDM!yfeowjO9NPpNWrh=5AFN@pgV|@|8IIZX8PJF{0pe1m zwve!^aHTxdb9$)%?m7(h-%v^JqL1Z?PR4utkT_}9A$QR61L9~SkoA#tzuvoQf_c?v zJDFc)pcnLjx&xo*sGa4q%-cWRNvgE~U2ZuGRPZG}@>K@;bu#degT~aotD9jA*1ZeW zyh0T3NU8V=`{JK^FbPZx zr#i!@-XR^ZXECN#ti0NnUj*`Mc1OBnZ)OscY?!1d-d}^%n!D&nW}lIZ*dVA}uHZlb zs^DNYO;tm@o1DiteDVE00~P^6rr{H*#i=QzY$gw!;#$DV**)|V7679+7UqLMyZJ3b z5sq5*J4pJ~^X;jw=`VE0rqX5dTI_AO;8%Rx^fgty`h;$RfHGM8=7OoMId#4D8>6hM zy|LO3IHPxQ2Uu0`F5V{A2$UJCt$@>rh6o@No4*HU>;jG?tps4#Z`u^~2V8;*#gW1^ zH2+AG1;yma*;gSS{PfGg`QSJ1mwYg3OT}T2rZWa0^9d==k*tlg=Lb4Nx*hLdFQZ>7 zBaFSq`OSU!h8v19{X_)*L!<8&GWwV}jK0$=YV=UKL8F&6r_Yrf6=AT5|8#B=0W89? z+?W!7T`Atuw?PP!k+Y#o`0I0JeuV1lv*d3z$6=>u_lylm&jt|7ag!w~WkmE8n{aR+|vto|JfXx zvZJh_yERs%qv#tgPI>&;7r#c{M&8(JZoTI&e0WLV!`|{?&Lt$%WUWnFTB^i82;PX^ z%Bo~K5`p8xef1idkDiLrN~H4oY2dAbby-UMb^imx`zPQBr`mw8Y^(rp5Da+3@DIwty5YU|UP3bF=nIqpD;YCpIRyau4D3>b`t?}zosCKY)PZAG zI%Z%>09T3M-$u!Gy?%;)5Bnp3LPj2sbyZn6318xcCJqFXE5tEFN8pNn?%AhAzuyU? zHkS!|4 z)aQ@BWGO-G{84@E5A>iIJQWDNn_LQHYb1+b9f*oP=gAKA^K0Z4ooC2~(il7i;ZbIc zavzjCuZz`u@$XPRXy)PpK*0O!W4rBe=^$d}{dp`puE`leR7_SufX}u1d1!#ci>U$N zAz>cBpx@}F)Buu>olNaZPd7rCtqq1jwY!01l zX@Yv4oSzfjQ1zd`#qn2&T5uQrhYfmT@3{p-zpQ~8dKK=8m%`?Z^(ttIFh>mwO;<9EEag{lv$x>h>#%b7}_PIvfpLX># z3U#;-)U|t^sDtsxJ1W09<3puACj?>7zQj*&mB{u?+&1UpR!QyJ>G~H=q)Sf<)};{2s+&al zw^?3mey+FHEx>rNU}FEK*>qsWCnuR_PqKJpF7Jh8?TGaR^ONVpK=VHltk6QPM88}4 z$pp62+f1o|eOY|6h4XjXgB2rX-qrkLgf3qSbRz9{)#KCcFG2f8%?7vB|Ma!{8D3jI z=8@;ZhxNSbBU1Y&0&~0l%0z1%`%kWA9Off`t^Ey7_-EMd-(PF{z5by65d2Rj{yW+2 zrq{Gs@t9E|_Dn}DCT0RP7$KaYHGMDH-R;%L^N;lH$)hX0Q;IwL{Vzpgo}orTy1iM1e>{(0YU_^Pf8 zSa6}=gkbp0jkUmc{kFW}I8zt^taQyhc*CACTMgq#6^<=!WRxAd!03$Fx5E6ftp!(9 zZE%^-FAhUm)olTw0_>~m52pmfX9#?l{WS%PjgEf**}7%V+|SjZg2+b3_1of_K<9Se zZmcYxtNvpg@f*H+ZH%&`E~D%?fZeJ2-v)PhyIRm_9(g7l+^ZG1foq^T*YNWLrT_Cae&Bl|op1_WEaU18#>&bbD?Xp~ zRoj7zNXXN18+Hx#eNq3~Q3u1H4To5Mb=K!Wplv?n32_nF+T zkZFn=%g>|R-5X8&Q31djKk_-WAu{2O+ZZdOvMxFr%Ld)AmziC5?5sIpxVvm%O`PNp zsv#_RS@|+d=3qpb=D)w4|v6`txzJ4kDujOm=wh;MReK?|g6;{?NU)L`Ru(}9bR^UcJ zzP@c0CSTng?}f=%^GF>AL~e7UV= zYLTz|-v6)V>!vLs@-^;YMEOeIS*v_Cd?LW=B40-r+BX97RnQ_#zA7B=g~`{l&m(jg zkgr3J*?ko6GwZLi8>LdS$@>Rd?-;l52;Sl~Wlq{2DG_S?)h0Ul*5I@-=zYUzM-J^ZpU}dfjTK7WwMB`oEU1#+yUr>-aAb zLOnY0yhHk)v0Nid}TY{3zM%)BXt;%ulYE`(sD}ona{KMLfNmj z{L_~>a=ggbkl!0bn@dJSkgw+R{}1Ks;hMAmdi=Hj!7vE_7xFb?QLuc~8RL|%&HKaU z>*z^;M!tT0&yug0xBseqJzV^c$k#BdnOfv)%iI68e7&+EM7|#18&STl*;=c7r9T{C zb&;>$fg1t&S{oZCUvZB2!sP29lX{^6UqHTk%nx+B&%AJ%EnlnO6!|)oCGz!CHRQ_} z7D2w2m4tEc|G)Ta)Ng-7zU~i)@P8p+2Nnj)*E5$n;SV z>uZ&-&hrASF7lNSxDk-A#dX8vYoFKtFnmH_`$rKv49HiDd+cwK-#GO}TfQD&BJ%a= zP?4{X_d&i=21k&u2WS5u%GdJ;{)T+r8V=$ALcX>=5G-G_E^*3N#=pbmEBALC3iZeH zUrR0dn)~8km9LgF{}K7xGULSl;jowfYx(N3Iz+zOejQQ1{=GH=yX*O{xdB!e`C1vc z5s~X{4N{nmDcpTBPZ_$eo+@1D{A#YA!wrpRbPhM{@7<;)qJe#3o75o(mI*MEt2v# z&W~~uw>g`#Cvny1=FrtWL463{$V7Ec~jcNHKM36^CJw(r-hft7OYOz>&%4 zc|ek$B0kUT@siA`}m@+ zD+d`zenxFcJJf6%Wxu0h!2mIP zJ*Z6W8gM2mbM%Ua2+Ki;YbnyRx&v!0;P=23yH^#k#?|E!%QIfZB5`#5(J>%-xlG!J zQ0|pGLAf99a8k~g6H2)ko`^)b?%?98D}{3vyK!dQFx&hFO@js4MQa2~)}LF&5%8aZ zDeGJeU7v{SrFhdme*g$;jYf&E_<+A6 zfiQMJge}7F2@!_WBci5)H!mDn5?+* z#ZQqBDx|iBMJBmYgW(y2?^}d^Us=iTbIws!EZF=3#jV^&H$4UG!peC>Tm_3pKK&JJ zB8w<~{1wVvFQTxT4q3?X!2nsvP}(+lAwwk>GK`bL9fMUunLyXtw<0cNC^|J{A;Y2D z!G&F?lMAhd3?&8RLMdbJhBD>@kCKL{J+k;upq+Un0Bz!FfD3(^hwOX6wZMa7CDxw~ zof*alRVQ9QsOYy3^tO2bq)TIShGjpnF925q_sqK&-Sh0AfpPvDX;{*+eiQ4TfN`w7 z^JWv{hlz34bfI1f_byF>C}7W4j4Q!N-6V^r<8|2*mM^3Jw{oy^!--di*b5cb9F$RF z>wqElX%s`eBfH6I6upPwGzxyt6DhtX%k>tJft@dW5$6 zU@K!Tga+rYxX_rtkx|gQX$gwf(J(j&oZ_8oaga9`b!)%pG*|_=qWmc&RT}nd1v6pO z<74Iv12@$a?2C4~GZ)_L*q^Fim zJA<$$rF+|zV$~Sy!yd=_jKWgS(^fZ*p0T$c>hmG?B>`Rph7!y8o?clW>CM6~_bIOcZC%T;_YZ3O-;$r$75ItB-r7Fx0k!oQ1adHP49x@dSHZE9aVZ?9(!}c z*Cj-h@p^8f2HW=^B^fg9cA=x8&=1}zf>i1PU}&jbShU&2 z+cEn6I%wBC=cX^^y)3?$Ci0jaSgD22Ca7@eWxoh#;mJxkv)Ohoo6X|$G}Eh|Un9?T zzzvj(P4~Gjd9!2mYV3U}BAjjQGiDynfCvYWv;n@axd!DFC2T#$eB?IG3RSV8(yI9X zU5oSudx0ugKFE4|BtHxo{#|TkDbyIiYFZ|2-jWX-{ z%y?oj^*~Mo@l*U0L0`U$-ENeBN3$J^e*#;Gm5^U%B*7x4_+5h`yEPf9A6egbQ$!s6(#eaP_nYoheJyqDd=f}L0dcboA-^DAi z?J(j<$^#IJ9~H=&p+*oA(Sf3-dk%KQ!-M zIHZ7ihyOYQ`?JBmKNq1lvG0}lTVy8V#hEW>JH@`Fs%d&jl4C>EOd>I&J%yg^ee~G3L zH$HHPpu>a5W^v+DWBs++wvS4gseP-NFepLzOvvxtYVe!Qxm zc~(EO`M$TAevxZ_Zx?`iPLvn>UCp0@nrQdzVe;lsys=zBBAA6|@g~p%wiX3<1s?Z% zA)idrz&j16YFgZe&1Hlo@S9$|KcmA(M%nlEuwPj(#4lguv`zQj>WE)(o+g?w-8hni zdjJgT6-O#hfL(+RRmw%yp1k%0Vj}EF)Dk(OH?dv>_^;fo;^%ufdgxPplx|ob>GKT` z8_^9U>yinfa@Bhn#2V{WIRg|%0sBwyufaB$T)1p$)HI4pl4xtw|Eusj_k==Rs28H9 z@R?z5!86!94B3GNSezqwHjXxL>$15<-G&GM;l0~xfF2|}R^zX9#ONKWjj}yJP)182 zXje{~bYCVAg!r!9vl~q$W0N)Wm$Ni}TGoP}d%susX$Jf}uu<@{dK2;EIoleujT<1u z3p=eagI!vLqqEGDY8k`SnHa-sXKdDB*8|u}dy7~rmv+ldPT6LU2~~Y-Kf8jG&irS*{cQ1H)<MyJ>-${)X@T8d&fu#) z^~`pn54B)IhGYiYS!34rP1}>KIBw+=KbD|)6UX64o>#hOkB^~j)iH-bSHmv3i{2Ax ztQ~}1Z!g3?EhD&)8Kl`Q-Mbb~XhQxq`{H&%zh`e{t_K2RZIG%CTEYGmoy^p^hBRMJk=^96}BHlPV96+LkJaaX&!+J4wDWN z(4>DpT}ZH#KS1~Fk7YOUI_4Jodc;4Es^##M7>LtK!+;~3-5}ip`8@tn{Lue_D!-cz zfHvYcBYHQB(319_(A;{$3XO+tK3q3G23pR(TG4W+48k@2r8wv>+$-o;IfaD87Na`L zFDY^_&Z#EeyO=(iqgBtC$K&Jl;!9&dRD>exHEb=IUOW|nEQyK`0xqr3wfu4r*3E8x zu`!J-!rm;s31Ov!ICFE6A}lZefUpi4Lld+;GelG!bf3bFjbPLa0J3RCYjBl{4hF$* zo^h7y@F-D%00Y1{;)65!r8n^`X+Y-`#9IA!Hce6|ZTz_8{aN@tSz zkIq0@1u3wt69CKCk8uB^tAG@!QXq=k7mdAz1OTzQg8}zHDkOZkkhE!`-pV2dUtcv| z_CMn1I3%UHh11s3fZ%ikiH7};qzN^>5ecWjo(tdy2~Z9o$c%&hGTYVF11ylyioO#p z*)FQ)=LUT4O^o3W`FW!FI#4h0ACDi?Jk32^Aqt+x0R8!K;D%^I4ph$N1D|W#LqNt) z6Uc<4ZYB;egn9B1LwHMOSJkCPL@7TjCL*%f+A@3zJj~-ZccL_!vJp9-Vtz8;MJrRJ z6?GX25l)WsxuVf5&X;4mfHDtFpsy~3@*;t9=}k72e2Dhl8cJSAM{U|)f5yBh!F*Z51AuPX94|Bep%7tO3XbAabBs78*p6E>LLiy?&7a|jw|G21b z8xTpy$Ozu3txT64gO9HCQUlytaXvi8{Z>;0fh+!czIma5_QUmOSiI)1q#7G5=wgBd3P zK>zYPSODr7Lc?#Me`5iQJR|Y+W2gR=rXBiMhQ};Tv0*?NqZ2CQ)3QM5S?t&sTj{n~ zargBcJM5F*IIV@qZ{Iw{j%+z1v9aj>bMU=(eYct$aUrBp^j~dVns4B*5}KhHbM{0w zioZ&#D&da?hlD{_8NO$+F1@BkxscyAwq3{s&`bL_%o3$YEXZK$EMyoduuLHg!ZP>% z1-sj0oXwLnqX*O^mtoER1`OGXzcNzSxQmX%GqtRA3IgwL{um@R4|Du@&b_!=a{p&Z zbsi?;E+AFFQU+MPPO@ykbg&n9PC^iJ#GE__F1bYaaV382Y2oUXg5+H@teQ5~M`7Ov z5H$8nY$ycH`Y-uO{D?oYJ7Oj>c%vuV6334GEzBL5|4c7#OVaQTDUP%qR5U>-&W4~f zfzfk)b~`ka4Qj7JRzhnHBI@$B820@bwhXs%V7M^R$fjdpm`Th?E%Vg#HUc8c!L?lg z_XRV-wPVLAu4PRK*r|)C+~rN<00Vzh>m9C52(gB z@u*@pzW-W`tAr;D&sQiz8bGv6vN=auSGOVas&)0$@ZQxsy?90(I1a5}2xRRG;xo~S zHp@NPShL)tjO%o2D(O zSkToX*>+G=>$ta}Q~15Y(0c{d^>StuRJ(E}7F5^Arf9zS^q1)Y&QF$OLBTI^9`lk$eEG3o9=|I>W{e?s*`nr&a0!SCe;O~@r(s6wB-5r7aQAxO!c5McIJ*%RtNZQB4UY6jU1ZNkPAq ziCW>#m-r6~SIw`gOJ%c@f`k+>JsacTzvGNy{wDwN{0`y2z7!*9D%xEuO^HFK)4E`W z5CuQo(5I351^Kz5Vqtygs^;r%ny<|UXw$C0f_;!}x53&KLLQfy1YE2gsrb5-_tr;2 zWsjQuf(H*eoe0u{dO{W+T>I4v^0RtJ^7LUJS9IeO{-oZuJl{<@KjK%-p=q| z6f>lFU;=)V@S8+V=givri{cRM0D_AWO0Zx2<54n9bxc#EEYm#uQ_-GIz z9NNB26y9KofwG$|F|1YnHTEuAHKf z3UxuDvC95eV&9^n=oW>Tq|iwu2J2rWdp-s^)$}xB)=Dawqa2^a97xbF!A19)s#5?Z zK)<+w=Jw}=AzW=v4i*VY#3b~CIUMMB8Q%=`W?Y0f7vfEMXSA@DiaY@{d^EDvVLT(W zLE}&HH>C2+16V*CT*4pZ4>f5matHq|l740Wjp!af2Crzui*k@*t*a*$A|MfPoVF$cj(C?lrD4k+ur77?iKldk_9c1Fz&S6yXy*8_vIoYJ8rf;O^}F;Q+WmbF1}oAw}rxV z{>RPosdhXjZ0ObTSiVDqtV|B5JwmbfHqF=K-$v3;;O0y_DD}At+9~@vE>mXpmsV46oh12lWjl z5+;d$8h4ovm8$k1h!81Beat95cb24mVcFHGXIUHi%OlVwwjWcuVOU$U(Z4vskrT5L z0u@!FCOHx~0n&}A?`{70CCE{*F3DNZVqP{u`RklFeFs zx=ZCwc@ARZ;UIl_w-U?v^gJh;jCTMLj@TZkwaK734^7xL8&OWqP>MG8aRUxoAQ14m z>ZCW}{L?r-!2aSjI8s5(?K@*hc35l7e!zamnyqgoxVX}>jYb~E*IWPTbH&#jh72XX zhB+;>d|%K(S?2B5a0Rzjje-g#^!zAjrN=*+Q0DS*>O3F?kagtF=a@6Y;T${FhdE*P^Z=^y|$ynnD7h<i)W<}7xxcmH1@CUqV-lHZxK+3Zw(zc>*-#2T{2~FG`K=6* zQXO31J%OAbpC>8K@(Of_IVha1W=@) z&vnC4RN_8|CCnURZwdA4%a|ntmO?NmLOgyuZUf;37p8%dJ*d1+btuh*x>AU4v=@HVD z+u4MMdCYnX<|!L&Qu$m1^AOOq13cgpaO&^o)}vnt$ATxwEv4@V<6 zD14T`H;dGSFE?3!=OyRL@51D4{(2u&?%#$ID8hoH4c&A8!`lT%8@LM_fLERMM@M7a zMb-(<(pY{qw-2Y(#y@!~3n!3gg4CA!o3pZ5^@wDY@_*@{7ClI=Sy2JU*w=n|bh@tv z|D1U2Fm@KT(pkz)%)sY6@iI@RNgC{4VYC`tys>}5H|>WMZ%WTE&%>kshu0(xaSz(% zj~U#(65SxL$1`fSXJB#|k&hbQav83|UwiBD>-{Mdd7)zGRM+hDaYRrLn8_miL0^Q@Eci1Y zU!v-V7Bho{0g)wa@kM-_>MF-K?jn(YZ|u6D29RGHr@k-DB;_?ijCV-znws`lfQ91% z<`e+|dc|Jp0e4dt4Pk%!2kX&)Y&!^S4L(l8_pk$ahBtt4*F;17%i{xu?MGG<{hY2F zlc`nkeEA0HoRyQP;?$)|=g_AXwT|=CXUh3CN+?$|4Ps8_ZZgpEa5Z#E0OHpN;N;%N zzF>jzfIa;(O!uU+Oz3H-^c0xh$M?NCZgGg;xCpaG84BE@V-~nCS&ht>SJ6mA4KBY7 z12@A7u0;8G;Wc6Z*bi`FQPKS3c_CmSksKs&+P)tUP16I(I7nSj=HyDlgf1r$ z2;cgvF#6c%!WbQHTo1gEc?st~2W+kZih2M;0VE$TJc)-bC?s1@>;7G>0j-=*mEZ)s z6Tn9P6`@JdF{W=c>%lF~;@`PI4lA_gDnlcy7^qg}5#6C`g{I_EWEL^Nk@$%)KzGsE z_z>ej5I0XN`E*A|=KS~_!iL@0K7t1c%i*9+FstAAOr9j^CkgTkZx|kaH=G}flOG`a zpB_|dS%Di^!6?^|{dVpZ!&?<^FWA!_r?VLO8}mS|!)ueUND}8xBi1N~e}(RHRloth znk(dt1S>f-O-{Y~N=F&$Pz$ppfn!*YNZ# zNHX7Sa!aUQ@wrxUWYB+$!`MRnPpbW*9HC%1u&h5cQ(M%6TCuN>FRcZ=1e5mCeDpoh zt_Kb%3@;#JfS^ShL2~_PG0f_7e4EE_f$r?c+@K=^Vv-ofTPk`p&uaCD7(Qdq2{HW2 zP2m{MMI>!Dzks@Dp7yt#!qvLKDO^5RI$!_y`C+d^LWdqg{Cs`C<6r~SaY|96&vknz zm?cX%OKh|bc$aRmng<30Ke%6^H%8c7&-y^n`jp30)C}LWeY&|7xOkate^0~%zL#5!E?9?|;-mz!1 zHtuB@P{vc+uoT5coQ=0etBE(uytLz>EaU?AjD0|(7A&zq_A@&cR&n3r0pWi66lD7B z%#r#-#m7$}U#{anXb7zw;AtpXPzTB*!00uMsSbo*rl3E5eFNx3$yac}!5fQ|p?F#z z&Qls@m9o?|cVh*{G|X?s9+%Wq{BQVy4^ICKnP3iH2mv`mPDB@OFuTz10>nt8^-{|e ziKbT?G@Ft^=q>r5D>+ic+CdT0;&&yq$;Dc+mG1~f(b^}gtefnyM933=)liNKj22Le zGHzg*Z+M16`^N{3bp2DbEqQn-_GOT^FS@;^CvFcm2H&C0>+3tQHx+FnJ(o^C*Qj84 zD%%j0F+AN^@D0M#AB~0^t<4D#o|aBB+;^3lJ62jF>=J2&cMm!72rmFMZG)is?n#ai z`40+PtO$UOukKcB7JsbubVma}x}3v#RvJi??^#g5VL7o1$(osL$iFa?@o(W{#9Xg^ z)jC?vs3H$!ivGtk4SQ8|7Fl}&==f@`V^y?aFN2vuVioOibX&;J>_WF^_;f*uq4)7yHIuYB;G|piW1@ z$7n3p0dGJD;I6Fz(py*7n9uSXiNROd&Dsq%upj;_@GwNa*Pb6P-(6948d1K#01)B% z9Z2+@Y@ZU%5Ll&fI9C$evlWKyO*|Jr@OI)Lp-1-P^`Uqj@>$Y)`5dGUqK`IhgX44fGN`6>j-PGE}7u$72Xj)=VS}kb_b4kB&)Eo+= zyn--9PJuU%te9lF?gXm`GF>-e$d3~iVrZgB0W*X%-G)Q0RRj`Ef0*Aw&Iu>exmT2< z;f`*5DSEHBhDNWo(p(#bVdAewzpSrf*GyjqGF_6bxW|WkVVSP+%ydOR5uE9|=x=4Z znljThsl-Z`fenzKbHYEdi4Fhs<$xayKLx)q;|89r)%r2NTGCTc49*V!nYZ91b@!kOaTBS0j}lHXrZdMA&a>L>THU?EL1q(UEZW zofAFgkvA-~ef(w^+Tw?Xpv~NHUTrA5H#J-{d=ZMWApM~5x4ky}^&>pwFJ;pu?MnT5 zN;BcFQ}F}-YG8EUV5!aF$~HmcaI&D^x!|eXbDSvJbpcT%^IK^$zm+;F5{A~2a>797 z&ZQQ5UVFp3X)Dgd8KLNTv2ShYnbJEPJ%7Bu``CZF&^)#oT!=9xCA1>eD1 z7OacW)12nPUb=681pI#)z(3-v@tnXiV#Gf&QZI?I)`Pa^e2{_7C=72~^V?{9F=(b< zKaaJbC?muaTk53=o>=m05(*jOK%h?0ZfXTQX4$$K1s_42IFriV8l*SAnp$z^0Kw)^ukil^HvWlVMaLc-j_o~ zBEQuZI-|rfk>x+vNrRFeIN_m{P93_-x#PoA2pj zc-=IU5QOG|=^#`dP2)xf^|=;%ewj=xV#-M`RjJ$2SlO>)@)?`(>C|L zU%CLZw?1ZF+=XlLH$@j6sCu%&Sj(4zlZpH1A0r33=iCQjurtiKOOACHU5dLIzSzd! z9F7{oBWBORb-GtAJ1a$><^wNd@RLJ8F*-~??%1t>xh!@3p^XnW}E z!%MJhtbqs!MfCaUlGMtqEUBsKF1QZSBDc_$+MsTecj8&uCTqm*+2xG>%bRm<}$e z{G0G%4?YF0NmqidY5va>LGvznX2sQYYYxr3_8`qcXv#-zq&$ud7b?+ednLM|y-RNS z!P!v*!Ks`f-eV`BIpL>X97%Z+x|fpU53`M-`>Fp>bbp=~=V3+<-Pw-IL#d%QRisMM zKNDxv4cT{<9p+|{eGhOwu@1XB5Odr|`1}&Kla6d_`k(diZB3EJ+wlup?T=PM(;M&| z@=b*10?;!3M!*VtU&MM?urm-uhdoi{mE3x=nJjm9w?{-3)~*Rv1#2wWf?;l?|Fh*~fJm+}R)fb9r6v1kX4$0MF z85oU1F&_@C?gK=m)i1c2EXYA?~KH9BTOk-a>;h?a)5k$mR)qtvKIRf_y_iQ zB*w#5^R7Q3AiZ(1JQ}1PUB^fNRFC#hk1pY(e1PFB>vYtJXZdfUGp351SBS* z09vij%D>`O4cfl~%~)6ldY7_3mvP|ryq)cOCPN}~dSzez3*o;a+rkYD_`R3?QuVSH z9te_Hf3a8$*c;sPR9leWq>2?T*)1~X7sS8bd8u!w;gLCq7nlCDpsF--%YvrlzNjee z_tpNLaIaI*zVEky^L=Fq)`R7v%Pe$JFSRT#oz_y@O>AVc+?=mc<6qUY;g_Pzw`=&N zq%`v91<3*49nA$x1!Q+>&%~8{M$O5 zjv`@b5DjcCbNhBmd<6S1ZdjpvZ38~KZkWAsKTUUb&P_zo!Px`QKhpOTF$}5wBN1ST z{ym_y70cx!fFk6crtUfq0`mDPDkRSt+j-wXKG53ex9YWZ5yXtQguU*6Y9?NTq{GzBTYlg<0b;f3a6e5(_W%3*nWZxZw4xIY+=V<@JF zCk0?w6!<-MC_Z1=9&e@*CM6%zi=EDPk8$F7`U$><|d+)o&03Bd_Kg1-wX@%K_l> zp)dMS+Kaglil0Osfm~qU)ECLUQwuB<03`>|`WBW^DC8&UCnKPN>daxvN)}$R3r%?8 zs92Xb?au4zU}2@Mou8cU0m;=Hwf@X2^eNAI0U3ZqA@V?r`Rs^X#M6TRDTzDeegyD> zKgoCX`_5^9XMI;C&{iUFEW9r*0yKxRU8z!=7VJ~3xOO%m3C2Eo`Csnn-h(ZjpnJ;c zvwtpx1msw8B~JFJeUvtmRTnFu!MrvRTP!@foEV@S0=wdWE94+Uh zqZV}OwSRs&WT%F()R#vwaWYFlqOFZI4pD@CMU0;~aH4H7=t%GLYq~+R&B5-O;>y}D z{TUF%bCv@jZfvAAbW_|tWN$Bnhk~6aOrAdU4Oa~f|7+jNBLFU5;P z!7^QJdUyf%1o4x3Qr{{C{j&cR?&z(i_=MnBb>eTRNEBM#gF#%PVN*0usMGuXq91{@ zp`1Pv51fka%kCoidfx<)*&sl^!!AunzB5~pjDq}-e0q;krS>TQB!T0y<-k88ccgPY zTi0NBvKz%tXm}*a2ajV~!BqC4=s7feZK?9_cKezFCNgCRD2?gg$!3I9bO>1P*_nv{ zGeuTBO|=>hRKa-wj5%ga`dx`V2+dbDGuQOeAfIA?;QEN4Ms>%cE`HjK)8MDQj(=cv zX1^l6VsMc)lswN%Oo8z<$b|g$pTED#wXb;q1o|Vvx%UYZ z3$SzN(f@$EbO_v~pR9OaT=tbUY}LB}|ze%{Z@)YBZ< zJM0Bhzc-d&Vn-iwmFF`&YGt+TW6_M0hza8Xvj)K%X$5tQhj9a{B+i7z9diA=_N3q= zz%|f{j#I~&-ad2~eIQXtbvmfV!gZcF|6NF=aXq23jEQ>i%3dsqSM`Jy2Uurt9YEq# zuKk!_RX(Ldy!dDb@z*wb5bwRGS>uEblknAt;2Ro2sB)=`r3a_M42Oxm(=JdY;%ks+ zhH>IqCt)so5O303Q;Y2b;$@|{VVH3XOHbW+(O#3TY|PEN*%o{#03X6%7?^6vOx6O%tHe z`NMMhRXl!VjNq79!RzJG`_-YxMNJ8w0-!o!{iM|@d5=!>RCWL}I1on%4i!FJ%VTPU zrYp0{qpv3}0cd6M%1qo0cky9xfl;WeVomWOea^-8_;bGCBITi#>5rQp%A$+RlnulB z4gfuB;l_Pv-*@=(mNC)2urRLPh!d+g&AJ4O`Ra{wz=*)Pbbj$CL+2;JBO(GaC^}at zI=`{ELucXyIv<7MDVPdHBZj2&9ISO}J!!!un0{h#nMQOs9Xa5GMy^l5g`~ZLF!Wsv zzs9crLQal7mcTnQ#lOwwvXra*&!Kw|4wHpUln0EoHi4_cz00@W@>|}LO_SlG_u7cN zTqnbf^jODS!QITw$ZgW=xSRWm`iBc(dA%&w|26p96k<5_qm=OnnDLRF!1&P~7^&Af z-wZRH8L<9LX?=WIKL+Yq@`!DrU41LoIoZjLy$w6LU2n%uF0h@F^+4d?)YnTtSrd|v zy7;L0!{^|+o}-YoFJ<|LQaqU;m<%Yod(=G(od zP_WoO-aDHO=xuWQQW1TV>?db+e+II81^4_GM-m z_K(cr&oansGDzvPpX$2cmh}Fm#osw8{*rGh;LP`341+TEX30--`;RMQbdECmGY@&Z z;fo0feTZbfy_#>Ya0E;U#3}O=pK_}s^dINYA8TL9PEM*zGFaT#@>tnYX5(@IKekkI zzfU0!C_>0s7*sMU7vS>5wMk34OSe722S76JG6$a&e{OU6lV>Ryt`b=wvx?N-+JPZ@ zslaeLrv?lo00YyACCB8}jk026F~BK#_StAe`2es(bi<4Ci8mTvl3&*!{R;WJRdQ^h zy!8NA3*s$AI81KugRVe@TI1isH|^%7WMVjsUPtNoHV+7Pkbb-RrVXLrrK$?nd z9bYOLpN*s-^~%r^^ctP3_(}g!L9`zQ1JpboukyRd@kW-xFC9TVR|lK zysM8mXOlRZzmul~;5*9;5BMqxz@_%nmk4o=Hv9shieI@bkh=(p<4f{bs18Pwhr5%9 zA^bZR!-Vp0X`TzewXWJPU_2TfsRgL;%M*0{Ho4T|ZxYglPx)Q-Ydb zhv?y0Q2UfZdsCety{o2w8DvmtR1s(m`xCBHS$-mV6QYK0iSJ69V#Kvhkv8 zkPY5i6kV#;r#`>~5(|Y%kq=4*STQ<3tyDn1Chp=R`gs9JmHsob;D<5NI4eMZpB-vc zRJ+WO7BCwd0JfY0As(Bj;Gb11@K>0Y9wy)oSEqmpV+-v=)NoJ&Wm3Qd45#eFF-68c zoKlR&#rAe+94cQmJNr=WZ{%z8z8bgeF|kScV;cVtrwyTySncFcG2fY>-U5;B4eN>t zM|{yYsF?5MqvZ&;D*VQj>|ap#Oj)#`Ao*A-_x1j)AUHpq1ZZ6;{$G}dQyiW$lE-^% z9Fl*RNo4$GGX9dZ;~!*rXYe~#*&3{`#oW^7#4_xg7E09&EUKN2SFSaY0$5c{^`L!_ znb_UiCGR5$g#yBp0>Z;7Ac%aoXa1eub>^S(*O2+2>*ZyhqH}xazc_%uI!)`R0Sc4N z72xrl1NyU|c%gpXPOSHe53vQOo4}y5{qRLF9dj1K(>US_XXzh5QaOt+W-vG0m$ywMlR~YcQFyJ3S26+4TVSi}i z?%jwE;^g^bGBMDu{()A@K=12;Li*!=zl!dxgRH43Xa5i9`2g|v7ycg{pnsj^r~M9* zIT`l2RsYd$qUM zOFk|?FXVnw_BTd8cjBno;3eKIgdWZQ9-m2%j~vdZ4_^3?IGSI(dt^>_!+N}%h&99? zf9B}d_cO+F(DR%@mH#BNzd(j=4h$_{z2iIb|LO-y{&!dM?+ht}`Q_K!e^0`<3*ZA} zBVEYuc=ad5a_r@EeFVZCo&^Q)4??Z73#nRPJ7bg2nXHDdt2H$vjk|H@Z|>nhU|aUn zED?H_D{s8_8Q@(LnTJ}+9m`|KXD7EGE^iK$f9j?%-Niu2=y+c!Jv`|TFa8aq`^Ai! zAkK<+OO!`fqV}e89%`eWTcN|O+(MT!7=U)zM^k2?u1p(b&WH6Y$4Quhx-z#)2PV+W z9zTP@&z!fwCPcW@p_zD2fh!jOMnvjQBA+oYT;}r@!#B%?uObY-DLEmEnSPDOKXvryPH|A_GaEmr5?Zt0bY=0VG<>m9vb*~>mb%>} ze_Ha6Ed01a2>SP)ed&tD;!mn2fAq(WNvfLWEcqWipNg9DZ#Qk9f?wiTv*sK5J<+WC z~s`iJaMW13nT_Tj2~K@-;-uzvJHy;YirhlxEvg z8cZP3q($1Xbb(0&ZLW zcgp-H`2CaJaO?!40E@N6j{Vat(~7@qo;CBcPcCIG&+cj<@i@!32uuRcy+XcOWKuZ( zt<3*eVE&0=^H1L{Md*@SY5wi)0RGQ};lJ(Xf9zZT{1e0GpPs$V@L%%1fBrR3hvC2N z=1&IZpBOg(^lt6N->bjk751jAtAkg~uriTZ&HWd`BK+_a&~(kr2O`1mZif7h{?Sjr zSsXa%>%ZBxz3_|v922x}$IyQ4OH6oRtom#o82h$aoh7~QN@MWWUM2RM2CugRg+0p5 zo&1Yy@SYNUA92j8^P$7~n}Yw7VfbgY7k@AR9Q*t2VzIx~cvk^%E8z?->q6}BVL|#G zM*8hR`YD>7bcLbWdCw!?E%6BZ(U)%26NB+J-6}v%kgeIweH#Hgw20r=WUDs@;qn$ zFCPoTe;dy~cz0+1bHe7ovD3E2|2ud7FCPuVf3xQI>aX~B+u^mo#=RSfl7T6l%hldc z|E^v7vwRPSegnhcAD6jp>33s4Xa0vC38CNejLn@tGW`|T|Ic^)|9NJeAdvJjOVdfv{Nbu^XSm!;sjFGMgQ3@(|+O? zl^=wkhYOB&=*FzIoB+>D=GZm669f2v=Awpp&VMe$cDRSVbG>Yi54;o$j@k9*(}BhP z>A3$%`>#t|(2AMB!~nfPDAN1eA!dKDe{g@$e*3vR-=Y6NXHJj(8fRwr_^fT)Pp|ws z>(32uDE}XK&}031=^>v4hpazo_a_;skD6?jp7oD8OV1<@shs{<|J6hb-=DOfKF>am z~7BR9{LP66Lp9_?Vo?#6VCkC;%=uDpXk~DXhgTs{DYrz=I<6Z|KM#r|2W(^ zpy_|@17Z08d)wmw>|dSvyM@g^cpJ|@?r+Zg*WMq7zZ_mSyTs z(uZ?xjrC>Rs}B4N{t^QJcR1M>sB>rs{O#AD@7(#14V(X>Z9M<8xC2(p?}Gcn@c(&p z@b~i1v9IU6D)w~-?yiS@oxs^#4tCJKPPq_ZNiol|2Oay`)j_}>YQPS+uO?!%H&@y# z_ORsTI%0ZcF{S(Vf3r*!+XH@%-bQz>a+_?utsq|EJBt->W}Ib2S%-P9hyehz6f_ zk%|VhzR)V!(VPG3ea1p3(mVNlNj`mxOP@TN_Oytdrg?`PyWRrNf ze!!*1yMzb%w*^6n{NK&^dwS{P48P$kPzGZ!_Kz*Oz2w^*$@KTbx8~qEE3f&u&ruG1 zJ+~@+&hP>s#%>$F6MXb5J@&XG?`$c@4oA~(PbGYn$8MBs3epST`{P2n?}=!K(|5d= zzP{;6VoXorbEi)yd?$uaf1e27Z2#2q&G0AFBN{(Q>u-F&cR`59(`3CgNt*gc7HHFw zAV2HwFPGw>+Fw3`PsA@}fB6jqak1Wv$Lakgcb9xy5%!mO3jyR)-p|CZxNpq6-R%7B zcDx_U9{RO+$2oiBLD+HPAOO8TR4C*9r;>m4Z8~S1C!5ZD&xOH^=Unzj|EAO4=T2i? z*?;1CZB`RIVx6Y`6md<(JA(0*R7m9ELkMNnBU#@}{-jh>+pVvuWQ}XJob+Ny5gE4( zJMk}B=t}ke_YMP%yVsJ!SRPuGBi}_Vo-bzRy3~FG@3sgmf>JEYdN92A4d)M8{9VlS zb*cCdPJK;l#AAH={nofsX5Dk(T+|I}{q9Ts zK6iD-;yZ_?SylRs4Jx+KPq6!oOnjGbV*SO;U+&d!-}KaPOuyJVcd?p2bXA!>COEyP zzN3}-g}zmqzQqO_btW@UPG%Nbajg3GP5nsijro@hu;SKQE`=Mg>|r(Rk3z0fyWq?- z@A!NoXDQiUeA??TQ@@gD0}T`qRTZ@!+Gg@1S=g{)f&|5(iJ$FSq@kLuG-`d@8tb@<=eZOh@`w{JV)Z~k(t!~Y~` zx25#|y_3gjOa8Y${NEslwWaVcZZG|Z<4|PlzGjE@cP!@i!*AA}UM?}4P~nx&6rg86 z@~K#dHU7T*X8Plmuh~|^rJjBs|0zvvIQvuoeD!ng{^oA(YOsJ{QIX5na3Z1!c608ga3ViQbnbX$Ibh{a4sZ9U@4*b)Z3MDW{D~DEiqzWYPEegxYgB*w+fJe5RS+& z#Ro{1?y^&+z2sxTr;CHnK7x;vWXk zj|i?$7n3h$#dp>xccsKpKrB^h*2};mZ%;4~rd`?-lQrn-tj9GJ#suNl^*@7x@JXai zJ0pZ@Fph#DZ*fxECH#ZWQn;MF-(4KjN7{rw#(#C{8^@78i1f+%ozi^!)>AONNZaER zMcUwmxeDizwlS%2$eNeDjlihlN8fHl=08y5@60dJ?AY*p?jM|~2l=PAKmAnWoP60G z{7q5x`Hlq0_ydCD%YiV3pZ&6057S{Z#mo}mZt?+l(pKst;Z`RqQ&tTJJjebZMIPJz z?gzzhUiYtZ9d6P7S1b0%*smR@A%e2|>1u$doB<^NUDuBOAcond0}|GZ;!e`&!Z!VX zGr!o+*l_flkf-c!`|aoC(*p7zY2<-LLR3r{ETw>1RJ#g#zvFO@%a`MPBt)yyiI2dLFvOI0%VI2|vc>I2Cr&CrY4XjC_uPf!G+q5rjmfte=e$ z9H~eg=8(X6l($vd+gYNmb=`VI}? zS9ct=0SoLo0VFQCwoN4L*gsNeb z_?48sDw3$06){uR<8Gi_50T%UuHH|fSEhK@5vx%%bLmP(FnMs3@26P(Io$&+29R*R zpJJ$_W%0!n&4`))`^jRa5r=X0+BMSwCfT=rl!9|8k0P2!7Id4(hY`P3+~VbbBK~Cr2p@b#B8X2>1P|#@$*~4$(0o!F z8rTo5Nx|2VKda;Nx7qyvHh}uO(*md;v5Nfvz>E6oPXqjyv}zFdzn_=}_ki;vp<(;B z)hYD&_4xlyfC!5l0z@cTN&dg@CBg@5{rs2IYLEuaC#0c){m_Rg_--!$&H4xBH0x(T z&#)|?JgbQ3Mf1Ke>$*fN-WF5R&itBM-*-?0z57oyP`lUnJ<`I*>!>_CrIiBJGGpKj ze%+?w{vTh%Z`iOY`K4(Y{?})pP5iBH0-@1X4r?-2c}Covw_D@ZaJ_ir{+|%K+Fz_p zVW0?XQnJg+%bu;^yCobh^Hkv5!u7c_6`Ev+)@QSRwMidrwN}X+x!a)6n{pVD0_oH` zZF~CUdmXN9E_&FdVxwmlr$V!h=mU{z7kwW5;C~=Lh3V*%mkP}`q7VGucF|}0`~L&_ z_#Aex{A_$L1)6O{9~h!`(PvUBMB84!iqpx@s^wcqpOM->bK*Od)LsySx5@D&3#)s0 z0WdE~QZIJ=-ad1GiNm4{+ujA2M>PcuwLKyPsz1?@mVi^8RNElF)gJrYZu^LxV!QbF z;Ib5oZF~NersH2;Dl{FF@09yj4kk15$V6;oEellf-GU;v*}iwFmk7xh+;~Q__yF^` zM#}ow+Wjh)Z)CgN4BCz;`jWmwb zn`u>llm6-}abZP2P5jj0Uw0HW9E&|&Yk9#C@hVLlJ-+R&6p)h-(i{}3{Y5MBO__h| z(O(7e^2>Qo#%9ug@sbo|{`d4R1^vgRb&z*S1-V1?AFJix#LrFrn6m~z5DF=_5D8!0 zQ^z=^w4tofr-`yg1h%pan5t?r`)s@xqxIyTg!P)7`Z0<9r{2#b^0RjU{yJPJ!Vom6 z768jmF47Yx-*6W!Qw?u+b?)D-DW8Z2J4GOyFQ5Aw1Oj`rZD=31aDQ9BFooA0^G{9) z*yp;sP>U>nH%Act9+St0O zba0e?y(k#5bY+L1M1GD9!v9;ZeTAU%ZDk`MtW3};kk7uu0r}D+(||1ZZ}drpSlus! z>o;(IRU$=g)yJjOui*ZRkobzw)ZVwCwfYG=_GUN*)7*dIF%!siy|Y&^KQHv_5Pa7a zwF+PI?^^)h0T?@kza4`QFDyg8J)H!O-Xi!gb_je&2IcRxQ2u&WdZRzB0D9jWX$Uz} zR(=t@+hrqgqaP&SH{tK#AbiJ!=*MK}$B4X^6`>&6y;7l3_eZE;UhDTqbc8-?C2j|O zu6g~}rH|N;v@XIAucbiKe)@DszV~fizW&^houbXG-|_V8 zK>peI&&GeM!yWIA@089H5zKJ^E8kB6zd(grH}C$ALajf}{O~j|-tkyfhC^#c`8_k+ zp0B4&HoGoRnrwpTXG;Ccsp0m6E*Iv-WdFzZo&;aQzGR0Y<*lD`?ckB?o0n4)2B}= zaKAQvZlAk_^qHvr7q`Cb9>ia1Oj*1Ko0^aFR>exl!zRoJfj zB?-RT%U?{v!X;!tZxcuBaDc8hYvX*4$v+wVbbZ0cK^))Lc-5IQ} zIb%?o`kJ%>a{GWe9pF)>=8>+*;_+IpUWsgP#75Syt5Rs=)|c(PIEepmgZMv7{BaGW z2me?6_)97?1^=Qn_}j<6kb>ss))x`K$n-7Y|DquNrw8$WhWO(GM-Tq<{P;_PG6nww z)8O9<|DR7GOnM#NO8j3K#Q(G){!bHsT=M9_|7Ab^lGIGW|9~|3+s8hag65X+fAW@} zUo4_)RLrg2W}aWHeKrN9^qfn%pScbDYW6>A@>kfBmSSs~{s803XHtM`Z~nyWPk!U> z55kfjDB`>EVkzPq|2MPuaO1PDi&q_be~uYn)$ff}V?>-W+P#0-t9AGSwRy`0AbR;` z{w=ECt4>+pnO`MD>DL}+RqOd$)~Re7&+2tpV6psc0`)L;vByr0Wee$2R;pD0pHC@{ zBRV2A4y~5zoBXO?>^q)cO}GA+1W<~kK`C2eMIu-Bej0KJwQ~(wo9q9Rpkc}y_dN*< z9#nGlDvn-F%Ui=7A1JS0>{qT|d_Yd{Re*E}I=>z;i6>VEOyZl5!6atlmPywnp80~$ zB)%aj%b-adyN}l-wu_T}p6mc8ztJx)a0}2?wf2wZ{RLl#zQ3R~|KO+Q05L|L93aL^ zkAfIK;7UW67$-jOBgTu83=I-vc%hdVUKtqpM2fxIlJy}nee24{=ko(3IrO9eNgjLz zB>5D#9J(YK@tlt&_e+*DNRk5vdP&kQ`PlT>|5iR$yc!_Jz9$BVamT|T#{0PP&?Ux@ zXMM!DO%kX+7?evygo%JPGR$;z?{br##bpzV5HGXus&j=Dh2-uK!m(-+jUOAno=a z+VF2&_*_q-L;lSc`4^iRKWH8lSbuLgo~oJZQh0PL{odrphf;(fy@$J1;s=>Q_}{H) z6Mj4SU<#PqG=8w+<)Hl&Af57pc-9?%q5Z>^haUU)gx~&2DmBIa^-p8}((~w>2U3tv z&!erge_ZiW5dY(X_WwTOk1H2F_&@H)Uvj1?_~)m=-|m)*=9bw1Es7tkm>a}@Y!Lr@ zi9fD(^x*%PAAiY_rr_T%4gRh0|1ZBj|6dH^KPHI(J;Wc^FnaKR)Q`X9N>lLPBMts` zw^TGYm;Yw}*M|Mas`TvHvMOEtlv!IkWdGIrbiNwnKxd40uTTHe{jJ&GIq`=rJ)d^W zz2S2Dzd4^a_ns7JI+h=5H+`^eU*)SENOOK~Kq^FH$G0hc($?18e)q3MpTc(1r)w%i z+nzpY&!^S@`PZTk>Jr)|KVRIH0@1doPulZom8sBdBmKfIqh0iQbN2s$K55UV6{kYe zG5T!Q`Lx%@NL>rhr(H5KATGv$Aw!M6(J)c&8XDX#SbiTQb^IaCC zI`!;jLM~zP^3y!(SN=|J7!y zErLIAK5c(9=vJgZV&7r%(|ns(Y&Tba0_W4tGlO;n{{OG)n;yN@OO{{deA*V)H*LHn z1>#?0{aEO%ABP?hvVNQy0@Y@&ADgwledfY<+prM$Ub{J!YQH9YofbLt+i-XYe0%f9 zUv+gtdGvF8fdbt+?RC`emZZX-J^=QwrWB;aF$_CADEv(f)m2oLDpShR45^|zLRC=- z{fBG(ocsHS6B8W5L;?!0kd7|2Z&|Xm#cs;R|3oOFm4F z=bQHnwNn4inN5t!xj+1=6Qxevo-Ox>zf|m#ppg5+i-YhN6aK#H{nr_Gr33c?L**4s zcq@T@7DpACv2VXY6E*pafGvV5*%;hU(Vq9Oj@I)#^?|=-O1_jSc}r6=w;V?+%6XQA zcW8WKMc*lpzFr<(WUpB%VvI^hd+DJDBu~A-rt4EU-r@JpoAb3rhSDb!v4-^=p}C?`AUU+f0ks{?dtqwiKdTd{ul^ifglx%An%k#H{x1#PzLo$ z_BpM>WZUr+lBnHLy7|rhpU(X7c!57_B&+S!kGGQm7p9rk)jefj6ahMNzlk}Yoe03NzUge7~6Y3Ck_1sNc)tf?WEtJG!ShY`r%@Q*6DZOyRE@( zH^jCc{fz%>-tSU3h4P1Oi@e)qX2DdfCU(yQ1s=TCC9smET@6Hk*IXA4r%P4$jV_7v z^D4yW!e!lBx5J9kZWi{WZRS zT?yr{SoC+^^8!ZdadJB|6@ui`lqq#2`W4Dl`}`9VzjEfs`;$;m3)fCLB=#YGAnfVW zHS+rXNovNh_b2(}cXRxoP4Bw?&jDfnPh$!nI_&=#{n{M(`YdzcD++^e;{O=FSsys? zHT@=pe)FbnIsICb-&s$jli%SXGjAjL-PsR>{boaloOnaiFX%2?2|H`Q5K$~LP`d`;vkq-#_iz_>% z|H1qN?_VnQ$z2Euq^|ftLIyG|I%67emVR(E8xG(xqs^*VaKn~giTHtPpe7f zr>*;!T9cnXkNQ|g!GzsiIO6*s5 z%y#pXaLbS=)LTe6;2CQFI|NT?`4ju&gKPZpiS{8f{lPH&pCbPHV%%6g2yg}uYKT~A*!fO7epY^Is2E>YG92rp# zI0+f#{k9+SrKE-urwtHFeDM`1v16W(5_a=tUi=e-4b}=}zWzy2E(xNXf`6;)&qNig z3)#O6_sy^FWZ6dk(F(tjw%@$8z4C1$qQgZeo0Np^MuWI)t<`MzvtD+%67Sn7*_ppI zuBpqp`cty5agl!Gx$j+@&x;fBq|nife=LLPk(WO`^5R|j?$l+lv59`xJZJFC50g2# z`-5o%{?1tzVHOdP#^qtNJjq#_k`MXVmGXsJYhai_Kd%gc5X~)xgl`{4{Kf9mAD$j< zWv-Y?xphBzs{=>SawD?AOG%?$3TQBZE?*rM%jrF2|4y_RZ|_fCS!OK8V#SZW+p-uK zhXcx3_yBu>m$~tZHg~(664_872H~soX>>0PT1zM|7bq_{SfCs-P@r6IH2NJt35|wb zYeSyX}eyU@46As6Btm7_{akzSoBD$DVgMRgsPG#u}tV z77Y4n_+0)-(_V!8jb6sm)Ywv+J!lQyH8daZ^KKdR6PSnOSis@4*VTCqniv#!|Df|* zq3@>-!e4hOxeR*^pr~>u@EuRgMBox%U@)VSLal|B zj(qX$LKLWa{!>AuEJ_2p^Ho3L&R$x+CLX5vgJ{3B6#3$h9IJ+?X<(^vDO6_-> zg;tfRqIJu~DYQzQq1jcf7R>M%v*eO#?TL4QW(esovt^gied8A& zyz$(9f08$&bED858-?5*z^#4Wv*t!;sQ;`DNh{uEH>-JLmesuJNNb-}${YtYn)acO zf#3Cl6I5cc-0FU?NF!hUD5_E&R28BBAA?rBMy$9S-@Ntqt&N0z)`f=dB(%HEGzy%T z8#o2NR`qvQI{nQwGq{x5X8P*~!k%8Ek!w?b&H94(hI4&Ve*Ibc)vG4|-;VbW!uiQo zK9zM=v$|l-J%7?lf1&RmH2*6c`|-5MuU!3pxjGC#gHPc9Ae!YQtjggv@Z@7QPi8`4 zk-pl943^2yuR(sr-t@Y}S1XX8FUm^|YAIhIPC}u3IkviwXv77YhA#Wum{agRB5pt^ zLsiPw498c>5%M$bx&PhBmp6Wb#Y*M(-w^pq8$X$KemI!w{g&;EpA>2OJM$kV`d4G} z3qsKE?V1o!>^{Ev)%}@j)_J5ryXr5F3hKYqH>mu|tedI&h;O*IiDoOy`or?W8Qh32 z3^h%5!yi-VqUsw|F2q;gUoA#wow{-U9 z-t$s1+(!GeTf6#zum_l_+q5r&pNaoE^%0fg7U=p72C&*w!1Bx=Qt%BZfbE{9J4HYvQZI-n8~>&ABP_cR2prPW!d= zZ>gZz6Mge{*nZJ+m^IX?e|zx&RsU9}>fd(s?XdmzZ$Zm5k(v?MUn2@7fwy*UqZc67 zgvAmYG`*D`v`Cpq*BIR?#^`2jSAz4O=~#Y7#Ju}wfuaN3ieY35XGPXN^#(J#1a9(%yyc4k<_d6ZzhE;Yp(H%E*l({U~1sm{e z>t)Xj-90mS-nit#&QAvZGZg%ak?G=7xhg(&?t7&pA{oY;T4c@r^S2MZIr`8jVqEX3 z5Pr55@39krDSba9vve<_>jma!A?x)5h?yS|_YTId&Rrx>s1WB_%RNwR_zGEsY%6nF zS_p0w2xe|J{&wdKFaB!|p0o0rkNX_u;NMf@U-;g?E?*$*-WK=^6fXV_6oP+Gg?~5% zsrZ+7i2oUj?;Ps#UkIJC+puKkXYX}c?YW=&FGB9SgyDgI4FAV%2LA;L2mf#=Bxu;m z{1VTYmXWymv6cS7yoS^K{=?JZzl;BHcECzS8XNTfpolxtLcA^7oU61)UkW3y-nNVg z+bP)%!>WIe!~C_m_Ie~W@sj28*ofRQ(W4MH8U+it(TaW_>OjiI0Qt+IXN9j%i8Hm! zFaBhtk)?TLL*jS%;4(qrKUu?XaxZl!b0;&DEMa^hRs%p7RKzYOj{(bk1R2g6(J#}A zBiUsCj0mkN+dhuZBz0h)y}en>?K{rY5GwyxCBl9F?W7d?x$%LaQP7M2bufPzzo@e{ z_ojlf8~HyAwY?j@urgOz%RWZ318>9aH5vaui5_@-c;`?Gs`&DzGg9c+;rM{rADZ|^ z-T49keDaK~i-di&fx2DyZyW!|fzOkFo^_o#9U=LZPpeWWv(4fIejw~gX6p9&@2%lC zv?(2anPw7q1HG;An{$H?2z&Z(HEFjTzgc(thW5l~`gw~l|4)|4k6pv8KWWRDYsNT6 zTV|N$lJ}70jUjK)_hY2AE=EA0$2(TZhmpJI!`$Hr3PTUkW%gmLmf-TU%svnw?ZsJo zVjQ0-mHc$wV>0;zDU;)YtPke=lw&_e5{klrkz4=4QoRnWTv48B-?ws&evgrTGN+W- ztUdEoO*s|+QNfN@>Su!Z%Xyb!vMd4reFXo*1^=GdPrQRX-N#n+@OOL^C}tsqqQGzP z(O%faP(Z&QqAmPQeYb=EFj>|qiy;3vEY(PwgWgN+F@ye{^71A-Z=%Lo1U31%yU&>` zgnu@S@cNn1zy0&a2Zzjm`zf10KN-EfI0AA|>vde@v*Q4{$Y;+B#%8|$7Jtv;{kg9X zn*VwT9_8_~3mzULMGnj16A3%7{(33hBlO%3jLb`@WX$XW8&5|@c6_Da9`k`=R(UdC zeYhO{M;yfu&hY|B)p-T$EJQZf+2bkbu|H;5bEoS6$R%`;SCLFB;9&OGT`3FG3LeH6 zE2ieO;y25b@M?Z@K&MRM=6m)v7cXv^)HH2PZ4bPI#Jc(o!VIN~Wex9#-LwAgy?@4j zdV-hE3EmH;^yjx)it~uGc-l-10GVaaNXjTX&DW}CRFimCr}3aY@844Wq&xC z!{Qs9L#SL?bUXx3=bu9z8+)J+5cbVWTE(X#@b@ziD1^WHTZ_LJOHol9{Oys|Du3VJ&!P8y7i#|Ii5(jO`*{jJj>BjFBLI*o&>xPk@*n4&>|=WHg4k60BGP0Z^Px-M%gg|w^p*bM@;EbWN=e0h==r&i^M5)GC}H!Q)%n1=u602)jVe9 zt4kWtxkB4zW_R&=Pb;QwD#i^U_|f8zXe$>ws}{(NsuqLRv@DypsIIHj2^`3VrOJYM zM=us~U|?X4gfT{?YPKxmp3b6y$As7+Mc*ABoi8N_{9QmQR9h!(q5uSH6Qt+^fK-gc zw_f((m0UhY7F5}V`cows+;?ElOnc>Vy!;LKyID~yuVL7sr;@`vtAWk5Rh+gmS!jPH z2~P|w<^q$6!2n=YWzmTcaR^$&#~_M323jD7oMyv8F`|H|X{7ceQTmasPN=G{XAD zwUX->XXE;{mfz!9e=Kn9!E5I&#&Dn=(qz%4^iaNs5hK_>Hf|c{V`GoNG9mOk-&wy@ z@b_{k2Jk+fF$f3;?D0N0IS>>Ou0Z0H0K^XK<%7V#j{`rThTaIQBV1T-s|Boq zsqN2>_Yx*K$3L$5mMUMRkgrMax$&f}IDZ6xcis(H+EVy4!Z&bh z{E19|2HK%%Tu2<{{fiV@PW0hW2f^#l#TvS%whsbdXTh*bRoTTbJrfHD&3_e|labsD z4)FZml0KPmYPpVf4UaB5dY@*iWxmz2pbQ;>JZ#ws@Kc+tl2uo1H!{{``tXv4SFXft zu_fIy?XIJgK}V}>V}v2`G;E!nQ9VpO={PSD69Zk5C;d|K8_K>0zn>3t@O!da@ar41 zy0nJiC%pv0`iX5K=*Mpr;D2l}@EcH;7QelmK|T0Q9@{#8SGoKX8O4f%1wU3%*p%!x zXt@<E_m79GmORx`mrJSZ9;+yh)f}GrUgr9SO_{YPQa>8k zTxr4r6@~DamY1x)qQ_kDmjciGFQg+-1-dnb!1gCAj#`q2*Z*ssg$mgWtK`key<)wt zL54*-ye{YzSXqsHJF;Gkn)nOI< zlRXdl(Xwb~IPTaPjRxE3$Ya7XUW>8{D<9Rkx;%GDB{A+ zlwHZ_>`3D$T)wfam+~omUrT;PgFg11y-CZ+v{%?9cC%_CTb1Wkvy#*EB8@lk*TyxG zY4_lRcpci=c%^_#zC6k2pbeX{uR080FNb}=RvK(`Hqe`-ROXKvWzGhgj4dw52D+G6 z&~PB=%p+N_C-IpDoB;HHOS!FZ&J1jPTlr;qiBAE^p!x7Qi0Wx@?3|DI8D_YpF0VXx zOd;f{wwm9%<5L|XOD(k!wJQrVYGJ@e6j`y8G4$#9|5#p-8Sj1FYdl1_w6@z^44aXR zSn-_S_N~aYpM7|7OT)U%Y49iAshVDwR?f`+Z{k_dFkqG)tk{)W=@)kClxZI&+bO!s zMOMR`zzDvE)$%SS+Cf$Pzm}`!S~0~6paWeQo0r^2>aWTg=Hn||>@sc-JpD|2)~{i! zbUinXtP{(Z8n3cgc3G@m!*V!b+2sP7?Yc)@ygagLmy~(MGI8C1g87}u^f>aBTEC$` zcyk-2x?cRxMu=7=ewHWdx0r=SxbaSYZ`ha}x%P9&E$Dp1$73>E3YxV-msJv}dhCF} zLFA`J%iV_*9Z1WXD4$k{P8D(k z0L6A*7s|B^*jm^8)UK0IAKtaK&JYZR7I?031>p)wCVCG2>N;oIhXHs#p#OXQp*flM zK74>~Xl4~P42zDX>x(@O%e!d>le^mken*xm|F?{}K4l$ulN}oOV^L(VvhKMYv{^G; zjaDT4w0O>v|BOb2iUSwP!0@R#W{!R1*~&m-zqb>%amDQ(|@0t1Bpx()F3{?docUbiEa)yTT-3Qj^;CJ0Mqtbbg7|#Uegp7SZGcC`jXS zM#DyAv*ckZ`76)sxyo^0{`kRrWzO3b28hl_g<7ei|F!@4?S~KsQWCmqWPH_S;NwoE zJ{iY=&~UmFmmTd>-_if}s;@pDwhK(1)?XNGxf(?P;&zxhfe_XDG15)N+Lu({qtXeP(O`OkwFOc291+=_$kYQvP{_oN?B{-gONNtKC~`sU#`NY>DtYqj7;n{^U4vPxE5Ie{$6qw@tSXX1s> z+4dorykXdpqi9J`$;_W6+S3Q?FS3~8|ConX?C=$3(J7FwE-SGAz%jvFy)zOoFiAnJ z^g~-T8n7`Jz@k;-x<`Uc6L)#uj+yq!d;n-cC9Ak$*o$R^L*h?RMmgLfx5?DPuRGAb zPSUD4KCk0XMJE1)u+v2NXh#X`FaSpY%6ytKSSyhqezEZX3Keteis|pV1gf(N*C%rN z8vIs>Whnb+V*-C8kcbH^g$cYtGM+eOlWGEi4k!YBBVF_CtPx&O;oy0RWxj<|J8(*V z<{7`O;cEb)XlLQgXHC=>xN9@`H#WXVq{yDJv85%_k68^og-_O4%jHuD8k?!xGJH5q z`nN2zPeuo6c$97kvN{d%*=cxyY1mUYEcP^nv^Wj31cZ@#{*NI3oF8KA3|r}Gy>f$| z|1sSV>~I=l3Nx&dZVXiI`5l~ee;=u~4nWT7FTzGbDN6x^LoUR#&isAnOy~#iZzOCy zxN_X6yiEHmJ^(`~4Orzy9ZO-u3+s6p48m4Le;#upj7gsiI}v)P__e4UzZRCq&Mv4( zo?)LY$zk--Qi$Lu(kATckAiXt%ApK{vKtJ5p~gf~22euv-E^w@nwF`l)g782c6a5N@J zgnFl+j8In|LyQ3|tacNm`Xx!3;)`FZYs95)c%vPENnfw@cRMmw`gaPGesex~xobax z8~G0=LKDPHYO&{Y@C*i-8|yB;cgmFgXCFz($ZDm$2FQlvNfixRltkW^&QrsD2nB9^ z1dEESk|kHl6}i7UaqP_q)jSfdH>zSpLzZ8;k*N?Ldt2 zK4e|RFyd=@tjh*fQ`KbyE#geEh&-nSj@6j8tX@ed*hv_G9E?rYymMg@Pr_x61ceLb zR~LhUNAm&tijaciu!{GNx>_ZD$>&nFkF50)LkbCO(s9XbnNgMu+P!1QiycgCP}{ zgG;|NRMDq zX>=9ieV<}jCD00{2pWcUAK_>PBkwbj&DB~_8q|s#L@RhOHl8)|cb%2~P8^~{zX%WC zCHY730YC<$Y5AbJ!yX*YIovHy5wXlAh8(@moWzd>I^Z3@n3U z9+P=kUuVhqcto1fXu{e+>A7Illt$*9P_WC43QN1wMOrD`zux)=kvn@yaq8OfqM@c= zH~3A__cyM7U|yPZkQVeU=OV71Z~ORfHGMaD=?hz`QmuNY0sio|4p4}{fCaJ#(G=PN zQfoglSV=6c_g{B_`+7SbGz`l;lC&55j9%JnErfl3=|p0rIlv#h_8FA)+2=fv9Vk>3 zMdp-)bkqQv=O53592aq7VVz>lJ^wPSX*@zJA@~3}{!&t>nkVj7y;zeUe@P^8$?;cD zJT#T+_qzL=zq<4VRmBMtcbP%lp#6FD3T1z;`Hu?RSp*r)6qRcN_NTNJ`%`MU_U8l~ zYamrYTF98#pT4pxUpGvn4o3_2rw35i_6M$;e^plYrvlh(h=jWaBI3pM_t7fw`0quE z$Fxc%e+2EH=L2+u`p|3aC9?{%VI>hD5x)Y=eoL~wrWgW0c$p3R@&AJl`+7#sX?}nuEd&e*> zQ~I@o%m4KHwLYo!YgJIcgwCR0R4ve%WE}xI!+uOWP!X1bkEr>)p+r!slZuiN{N6|M zvT$4i_RFicT07Tm5Bs&f9uFo!Xg3sB%P87a$3 z5LEnww&V9_7u>Fb_g|V#;MHHR1qIdl1_`}P1^KxxWQHCYjZ#)6BB~7A#xU;X+?tf; zGPVmx)XHO|7uyUZKA17V<+eE53)cWQ+!mEb&xVX6QiDpGp3DY;4=?v;`tH3!i|mRQ zl*ZOG)UM{b2=$OZvGpNnjnq(9k9@ZN9f1+JD0Jjmq%Bd?Ei)0!}v7 z?ZHQYw3fiZGIRe^&#hEV@?gsEJV~>niC#Y{NPlSwhdNhUW4DAzK6+rc1eFo44y!1A&Eb#&xjVjMJEq@FJW0o=86NWNAKnz zz4l6XyDae@f(#+S0qYEVs4ZGshbsYP->qP;2JHPw1aPa=-cXMG0DQeYim9C9hgB!9 zSN`uTNv)cVa4yZAToeLd&!rGpCN6;U1aqnUp1r0>D^6m)KQgJ-de;9fRQmA>BI&XT zxccj-L3t{~eEB=OU?Kl9NO=IG?Fg921JgjNdR95%f!PJOvw1wn8iwR+$-=t9xRB=Y zANT8Izk9u;!Wt)L;dd_lNC)jDjh3SMuKW~Jy`|4o_L-&ooWLZ3?(^;89GHFn$xo&a zj_&82z&_`oPo&>eK#_sWTjLC-M|9Wcovx31yAs3_cHLi3w~zrE-Dj%PXL7L5?(DNM zuFyKz)2H0&Gs4>kD^$+~W*aQulkx+I(P! z6(6Hb6IQe=lLX;Ce2ioc&Jvcwa7`0Q&Z6h`Rj#|#*2hE*yz!zi)SsQ7x#G~S9ld!qLjn0$;NNz z?T!q~0{#}yS^K#x9fb|U_8y{_-J2z(mdv%MNv>9XRl9{EE#Ymz_J4yn1-YizJ_U zLP33pV7YjW=G#Ur#@|J9JAW71Q8|o1p9yGg9zfb4^NFAE7(bFkdk~&W`BOZnrvuN* z!K9GDQv-NZeih4G2t3#yr6bOs|NS2Ki;8@oME@Y>h|*{*28{H?yfQWZ3_$tK-T=kO z6hFX^uyPxQ9W4-H9dm^1ev2~U5iSYJQA0-U2Am$?K=GVC)*2djc5$i(PQR1xConw9 zWMMmXw6Z!K9sX@-RGw0z!`+%ja{{T_fe44eqtcGbP%Zv z4-zXG>f3Yd5051(_!a_7lhlJEU+mbF=n~-7_4|Kk*jImvsxbMw;X8c2$oXpX>sij% z5Bc>3=j&pAJ=*y?k6#bL*Ct{BZO5L={$d}!=t(3jvCGfCoSb);tNiabApbi4C9j4- z<`C69od+#P{$+V&S{Z&GiDR9^o9&$84QnH?u|VR}L&jz{jX*xVJf1b=AEPr-{8D!W z%`f;&_o=1`mz6Ca^b?A& z34{$J?u8NIKd|$WdQkY=u?h}~V(Rje=DM!X1zb58IeGphD{|$0JNI7tmnbU4aEQ;} zC$}x@Q5oUFsADvoL(>ciPqaJWT!e^;-F%OCxSIf|3*=#HxW9d*(C!z@+GXHDo$Lb= zWT}B*tq+23s>@@#iyT1$rGiL7u<&$Tw$P4nz<0Li_&`~Bj~5hPvkA<0(&HXZ%vfJ0 z#A*E9v0tGta!qimtaG z@`1anmvTr)EBGp~g(xj*N@fjOj*@su^rEI_IoIxSkYf1W+;9|uksn{^tlHRkI7{|x zOSxn>#ke*=)TlXp0YvSk_&N z|Ci;#^J{n`TL(YzR}|4c(?F4&=T*4CXQhAh!9yqhj5!8!4)K3E(XJd2=GK`FSi?0d z5PED7&m=S#3dC+{#2nPu=G#NQLu690UT`oAw4#^}Hm+Xyl+=Ak4^fJnQgy zSJ==0Gv>!WZ*NWe#GVpz-U|423dir+QXhV!*9m^T)SI{3i{BqP2=E*7MH>80E!rOW z3?^wcj=BEyPC$|n?Wcn7#f0s1!afDAk4*EvqqldD|?UoM?LivY;hsys) z*HQjmRL|Sfuwtvpf7fvQz8mJlZ{oiMzqj54uS7Z9rQc6*5XwI!JQTlw4+JYuUhA-O zX8)~@U$=1l2K(`geJ%L?P~Rc@^{>MfekVd%Lh-x&j4qk>C7(F>J)XbS@yia!?;?Wc z+UMtzg5O8WI>f)_cR_v5a@2I80&@Zz$8-Mpg08^S-4>MM zIn#W54S-jzPEy%3kjLeQb3th?e@yJozSt|MIDx7>Avh}HQc5W2q8+SfzA7ifgBg4P z;BpBzHX@}aT)>v>sJEGDn(b+l$9=xrgeAgU3hTMysWIcgrkh5H4EMt-cxxBzS=QtF zLxQQMX0Une-rOo+L71uGxLHp&TZ)faMoZ!)54U?u>RL4;>eww4EJnK+-XR=r^^xiY z_Y2W5Rv@8?Q;LDD84l(GVSr2*P|_$Cwqcd|+}!k=f$UE_=a_dPWzn(lvyRD4{Eaa! zm%RDJ&LwX#$t&?NH_YYI&X5=Jkuv;W9a2{06|x#m01h?*7rae23X@1){kzP~$_RsV7mmQ-%0j>L6{@<$z`&tg7f3NWWUdi8Ad48|-|6al0m-6>`*7px1_`kz0 zip5j;ED8>vw--4)DvZN|95^gU#9omTZ{(_*R5g&ANeY6FEs-RanRQI;JlsyMih@Lzv;^ltmf(*V zS%L@|d4f>X6!A+nq^uN`LLj`nu+OSMTpUznVpM|TRyDtXkgA9XvUlfOE{+MlWgw^~H*g0_oTH2kGVf12Vdjl5_qLyW^-$#Lx%tzU6~(OC+?M4E@V%PKr#(l zl=!QEF371nS3pzZSu>ZzQY`2d5Tm_`OC9ptuAvaaus7->C3EV?gQ~XHbcme-3osEX zj|~a-6%qpe=zzMzE066q_6HnN z#^H8M9d3Wv1Ohxwf}m29K+ApV!0zzhb_($0mVQKWH!nZLoWT?eUyAIJhj1Nr*y1(V zsx(Tqv|<;7MRHmhBy`pWFrXq=+v9xDW70y>V>DQIRBqw`ia6Tp<*vd{k9^XjiJWR} zxdWn#9&D-TF`s?hwG8pqKXpTVb!gAvs&)GwDacD-7x`l)yX!-qE!b`}Ft&h^6I$MA#FhexNAFddvW0kLt|q z((HnJFq}PSUnZCo5G~ClsOT_$7Wpn&a@F7YBXu1Ry1H)s2(2LE4(N6eC%2s*57ezu z;dY#ZEbPwsmAxj{PhUd`DAIwulhEQGsF81Wz#`Nh_u!|4l(Z>7K->c&VB7N!3*+7q{(!I-ek_E&W}w{9BOwuW zwSpPb`&S`^s}<7R)L}K$7iL6m2@mdJAoMQ+Q;XB~2ceOWhLaOReKaNkfJ^@&0Dd|E z@$XhxFJO{U>|cTYmAZeE>VI!X`d6VpnacSqRR1$N(!U1%>vjKJ)xUpx`m6Zee_i>5 zs8GFu79!PPctv&+B`>{S`G_>hd3$e^Kr7WR1Gr0@j36N}3E?{)WW3N~haoZP(0evJ zK;Yy6iLwMDc)C5vc44KopQzfO*Lr)9>B4Ghzn^MT`2AwtjV3aec@5UVAK=(Yfa2Im zE#G-oz)-RX>Z-SaHKXLta%PX+!7Dn+Yp{M{^Sv4T`TO?mL;tO9i+^!P@y|)Yzgye* zga49nfq<$-95%3gmDu3Z`nS6J!oF+!O96+=6M8=nl9Q$RY1V&{j}otc18os#kYBIJ zZldkz{pw0FeoOOd%f#+E4vowEaXoyvKd3}~F8$qrOnQ}o@VDi^P(KuYvLz7xxPQC$ z2}r8^(?{TlyfMM60Is9pQGjA)-^1mfjzU2GxA)Ni^3T+p7vJD#wf;N}A~`w=k`_^+ zJqa-!8?D=$9t(b8@@oP-(dD%@SXl67NZ~*gX&t9BVI?a>bS^s6jU+F%`u}1zf5uGM zU}VA;)$UssuaNo{X2U+A1z;uoCj%HwUSfB9OGjIg|7SjIu$vEid^F<80~eWiE6;yw zloNwIZjpm#d-3bk3VziD3z1}v--RCtey5z#Vf^}O{01&bi(fhMJ9eRq-<0jz#BcHu zj{b=6p!|dItwHFnz*V9gGn;st$$LBO|HE|b_`c9*&)v=akMz$V@yb4+!MgXPK_(is z%fD;Wewh2GT;B;w2FWz`<0_djr>U>sc?$SW0I@7je3j#*eeWu^SH6B4Uj^&$nr>c| zOPm)F!jAgqVf&{b{hnSf^lR?3wdi-SBR{Z)u6?5E9Vv6=oQS#7o8FbYG!q$fkeu$u zV~+Nj^Btb^Ggu^WdX6>DDDma7KNLb+EP^iO9*G6~k9^%D)9#YVZ9Ve}48Gw*1@~Fl zDp^R=4(xJJC%nn@Jx*8oH`p%yUel59Gz>coo|T-Atc6pt1M1r(H;ON1(Sxig?AMSB zmyvwKuGx*!P>(o4H+HG*VK<>ETFI^-ph22y04-f2?BsFr-J7MwjNhHx6DjMnGZcLI zfdRJ@U*s;IIf<9yILZ9*Z8(1)nIB&mVd0&6a&J%;CwF}|(geTAxh>u!0-C7u4AQCC zzJzBa9r}_QSR&XCRoN)>fW2m&b#dZ`R99KqzxLCgrRLQvJg)+#{gU9sWi2#T9!^wg zPN2GW_q#f|oTv_P;%WF$Qf&<4t3#K&*<&PqtGU60n24z(P(2>V3&Fu35r-N)s1Fh! zsqd_>b3yzs|EoYMQp8{Nf+7AenG%+d#8>C1W=TRdNdLyX4$xoTr$xe8_P;u}ixaGN zFD-|3T8SyCJn^W9KL2zFqAXemML%lFqw31pa$Qu)>vbe38GT;ozjPHmc5}BDz8}+1GwZlCUbLrL$p-(<#BHx|x&fjAU2jqIjqt zvZhLUA;UP#`aawr9a>{Vn2HJ3F@V8?0_1j8QosL7&&6gkmp(uxtyQK4Jye;Yl9ss{|K#os_QQgQu>a=}(3sPdBEu@;gFm^TRT|=S4Q5%)xVoFnbfj#V% z_)H4#WPefX+78hXIi9`{#e(!tE@8fn^o(acwLMUM^k=0Ppd0ZV`n16_!;j~geZ%l9 z-^q(-c3|PM-~O*c1)SrG22}EhN`B&mfL~;6U=V(S9?x2Nd;iRNsFlF|VSPOCf7>1K zf3?vE|CFZ;{H0kwKHb+R4E~utQ{lIF@j;#7eXd^kBGc~$C@zhKydH-oZw_*f<26{2 zKsL3*12{c*}MRLulTPsR+5A1oBTj z#tGp{;fS|>>R8vlKrFCqamj;KlM;YhO7i8ju<*iY?rOlHk%`RA^5_yIbXQ-g1S}s% z()Uv{V>PIb^|(&CI=i8zeM_!M5an4+5HZAwRyC-9UwqYKjCb%3$P-33DAr;s<@8}< zW<)1-CN)uINjH##Q@Zk#d(!@F+Eq~nO9<9|{HBsN_+6!LCBq5iJt>-cj9Q2#B~PVj zvTn}?7jF7V&21^Qc;j)yg#=t2%}Sol9j)hsG4uFyLvn=+I2cX#2Gt_q&xt=_-?u58 zG1PjGQzx!O;>2`bg!1oLqa2XWpjUlUXJnn9{81qZ6R8LcY)RlO7e`(XaZaA1DST!l zt}qo@HQhj`Kj(OS3jdWs z{72&W0i?(%sb{AV&noK;KMTufj*DQe@`z$GB!c{8Co$YIOQA7}(g5+6$`Lcol{1j}!TF<);W8hq2iG*pd(_bAt_;%1=bvucIZUfxxJ!ZyQkdGBJQ2@g z`{bWnp_uFsMiRv0#5*Zsr0BOeNWV0syS^JpckcII(k*To43u2bSs>l98Ye?KD}{6w zkUOYfMeduW`E=`hXF;@b^}w2J&pd3%Hc94iR^Ww_vJ9@k&-Q3jv?vBe_C6ciqE_My zhfazNNjZD=)+1hgvDbiXeE{S7~;#vFD;7;8FjgMF&-2eR_hf2k? z;*_FHjfz+yKJ!SC7<45>P()}tOA}e}khP=}sP*PLAGHpB&`_(d%!3dIeK|RQKSgq@ zL1Fq`_x2G??ax>K*cR2){`_4Z>BPlIrJsu6L=nd;1_rJ|eu~Kdj$f1y5TYVP4Tw zud`QweGjXuP%6X#ACG>{m%pgKx0w=e-2lGI}5_XR4mM42Qir-t2;UbVI3KBd@x2CxwrOaxQ1m3O#9&9!i6TZHu?n zT-ZvEA+2L&Mf{aLIFY*ZQ4z`J{Un4;Hk*JUTMw%{!Vb6{rxj%ISG3~Z$1{AXztu(! zB6mujR{8!`rFyJtwst|qR>hss2kK9d0D@YhhqwHoTIo8H{?e7lTmii8pAgP$nh6_q zuNwAR>+dD>4yEXEx>qTCJjXiw(Cz27%2|xgNI4ixsWMI`--wt7?E-*V+zi|(m!SbL( zxc02of~$Wmq=YC9w0ErbXmUL3vrXN3|H>L3i6mRtQNTO*9s}M1E_hUbfESk}DWWy_ z>I1K~b2xaSzOD(FDznTkSO>=>8cG6yZa2! z7f4fw5rz40=-pCI>(We21A#L4_rjG#DIsBkedpwVx0UV357>v zqM8`2A_i{Rsk!bQdrDrJ_{{I%H+}t_M+o4>Kxoz4z`j0`4nk#%hh}1<3?o_0hWQ@$ z&c{3C50?k&WOJc#f$p3s+17LVY~^C!K?;njIKxsIP<0XW$|)633x(cT!q_C9bj)7z!($ZTS1+cMg9!7WjLDo{?XD{2iJR&R?<8hTgjN8~kdWcGvTw zRnV@Iv|E^-cKL$fY*oS>&)V=aXt(^IO61WOv^z*J5ZbA6ZZ2Ra(C*P}x`n{or5%3> zqg@dp(6l4nF4zFN{a)tLwdtZ4*|QAY{<@xY13zX850ZHQLLWU{3gJ4nz(ou(h_Wae z!i{8j7e&TG3Qt{qAs^sU>NC61&9PTJ?bixeEu|Ig=+%nk1s;_Mu;?C$H?fTV1T3e? zfkYF1_WF;b{_BN1dg?CO)Z`j+q=9#oo`giHa;R|QAmUp~uDpzn-$p7AT?jUeK^G{V z+7o&)o6lyd!xxZcwsr15Sr(aogz#YnD<~|i$TZ$ow976H!^W%wy(7~mBPL=mM-sLy z+6UYHU9z#3W+!;;EIqal6CMa8NtI7X45<(~Bb-f&!k2@>_9b$9Q3{Ni;#~QyqnFZ( z5ov$~*%~W}U@R}_to4$=7}=^8z=5|$RYXhe+(`J`A3^x-WiFM{fFwgLFTLG}*Xc4b zVhvc~Ibl!wSCSi54}6Mw-@ko)T52Cp6>fuHWY>jcSB8*0oL$*^u_|R7ATMo8z$eAy z5I#Nd4JcN7jeP)s_3{Y$pWnC2rKicIc-D$`!h~G= zkuFNX73C4Yn^sVz36Fc}zXy#U(j&>}LgNQ+Gc^9?U(R^!1=BY{kH@b*3YTsQQ21Nc zLbQXz7m&i)tx$OScS>|EO<`$E3cn(qLMVI`!3KrjLW0&yVJXN+uLY|_3sff5tZM5p z2We&p!z~)Zudk?g?@A!F<9FEX! z)cFW@l|Tmr;ICrngEnye!$DvID|piv5f-2GHCZC3Wyn)A3(X9N!8`qa;$5-mXIQS` zFfKS-sc1NMj#?C;`aqA>>O{>G5T_ z@T*TscKbOXC5!$aac=@2Wp%xeCrBVDaRvpA0y;>Ph+BeS6CriL0PlnegrypU+9*nc z+BQOhVG)CqAmhu6QE|n#xNEhpl&bh`6HwNw0XHOCcfI4dAXY?a$^UuIz3)3SNkIGm zZGJwOnR)Mf?zv~X=bm%!z0}yBASGfp{iIXpX47|kF_LG~c%&+@tPp~(&>KN1Dg(G} zEZT{vWD|E^{X8fh?8i!EY*Pg0BBPMy0x*;qFIxNQ>py19?cwh?992#C6~0 zES7D?;wKA$vS}qQw(cQyg)Ha4F5s!Ba0zk=;dVlRf4Uh#nh)O5?9os;n;0TAY<>=C zuq0*+MMXr$>Hp1pL!@RVQk4A}c?Z|vt{jaC^2LA~52(k}C`S5c(1aUg_yjAqOo)=7 zd?+LCQA}S9v_x?thF2rQ#emevq*H>5zvA|sAkL>VXbNdWicVhPO40I|Cq;w{Df&WE zp$Hz}Yl;-TwkKJNFw{Dd!Va~Y!*?B&0Rg^)L1c3fPDXGO$hh)tO-B9fN6Gl;yDk~G zDIniS%L~qG?9UMF^;go5bn4&b&n!0@b|eQ7twOTpcD{&mqXB4*R_^4eDa#@`3zYS! zDK5#LFQAWKw`xpfj6%tGZ*nPFOqhBWFqFJka+;k`^7?O+DTzC&3!%A<6tPU&Ja80A zTh;Y_n7GumVQkmuiM*&AAmjOdEjl=MDHKiuaf?3}=YqDA?0|9HB!6M9ggxd!c+p>d zBgtAaCbGASui;W*tGn}2dnSCF2HE(snD;ot+wT5WPF{xs-Mey z?sInqLxfc(#>w6Sq(`L-54_X|w8`Ga;~+n2U%+Hf+exly8w%fO?I&aeYM9+Q1sTcs zF>07(VfAm6YlLGfUB<5>Qs5_mphs4S>5S5G$S6^jj(GuM`meWiH$m+a4ZFeRe2H`@ zAqWD34n6#DvQE3MDLPaU5zaq^W;z7Xgir3Qm!KeP@a|vV6Y5L*y1;ad1!J-o-1`8q zgh~lm6|`E7(#?SwW^v#ZF2mTC3`=3iRi9~wu!*~gmr`j)_p0d&!kh^2$DhT`xhs(uAQ!yztd4yFENL4GQTi) zq?a4UMwG%MYfffqtT~^yaB^lfFSR)u2a5TzVGtd*;DA^a8NQ_rTRNKBS1GE`-cIiA zC*2?V|EK>$4%Gi;|9$^gCdLl~j|=r`@PkaLEak8<(WR-$55P-nsvbe6L$Y{FV0BI& z)^B6{HG}lk-{Z5@Z_egXoV+6zm1({;G%~1XD<}#0R+#&&JJ9R7)?|9cE{A*J8c+Nc z{#=s4Pxyl?;1k%5gJs~hj25-4P&z-|pjZNd28veU`0ScveQV|if(45LJkRq&{2S$0 zi|^mu*4QZv2c@D^n~G8rb_Tz>?eLqPj32HKmZJ+rYDzVV!&9l)j)=Ls(SJk4nw=>` zoate#^Jh0;)=0(C*DyyW`ve_R@Vvi($D_i&(WeW^oFi;EG=*-|Ln9dv0Cjy0gQUfL z+^?`G*Vk~2{wDQ}_@%(t&|Q8pbnkH=CCOL68}EyFKzc+@C|3ATlB+(scXON8KQ`Q) z)DYsRAq&om;CpfFy~pM_(BzJ}}M;RO~hLA2E7pNW{vbs?1*F&R@< zb1_gUN279e9~$ZNVXI5sh81qZiW(esdqE`{R;mRW8oJeZRk@9-sx$JN8spfibpb5p z_*yj)EjtyrXLh78FO-}G75P8S@XlXq&kU3{d{i@zh8q@D!V_}-KZ@CS)J^JEL0xTx zDvyAglF|p&6WW0X@jrx}D{=y*g{S7!{3#U8$%)_BQNB-X-~Sm_V*g8G^R#Dn)hE1x z-Sdv(&n5cUAbm7>eGsxcsw24BsJrY~#2wHV*I|9^V#bj!d0)xny+gT~YU4U{MixvG|h@H**WxY`+QTvlO zlE(^#OD7HeW0>Gi9Qd! z_WyuBxd)<8c1LXfJNgVZ`jzSG*HCH=l!>uaFH08T8I}okQg`DL_=J$e|3Zn)7S+Mc z#4uEHtfk0jPJ8${mJN-dR)q54EhiwWunRQ)VglYafw$EY`lJs6|3~mI&{@7jFC3U( zy}$i`2majQn1HO7xj_Gy@IObB9`*zCmV3Waq8Gtm%o*|%Zik7A<@le3bTYpRKYq-9 zxbug{f9#cHB*8mSG|{zsWSgN{{DlOAT7*GclKA3&6#o2gm>-9_-6n?le{g=>(2^n= z2bmu^KHriH;6E7|$0|t*=9$`r5|xuz6<7fs`A0v_zuuzPYFJjv`EPG>v4-**Tt9)5 z(5bcRB%ES5yo8cBhn%Xv6(G6B~FTYix{@5zqxCmB{ZYF$=O3Utz>So-|u#49t z!@uNhaxZ%KX4&V-##!uXJ%R`G@_k$$F-cD6#Z1THatnYu$-+pSthV_$Pg~E=`nJu? z`keH&r_kARFg1Ed^&UMh>2&?b3l`1HE^}v-d?`+j?U2Bj$f~h`;r@+Rl3A6Qs_5on z{)|ma_SRgfO#J=P{nI!fB;B{7=|G#1SzlEJZ(fIxdLU;lawWe68Lxxy zgA*~}3{>&#W}JuY(HB1t58LNv#xrozaeiC4aD%TQldmw;N6#EF2p!(T8buCJo_Tw+ z|NVk^?<;g$>}v+RA-IBEcY{dKLP`<}7{gdq@iy{|Qadev2>OCpKL0%H;MXH5uzdmu z2|<8^Y(Uww{Wu;V>G~A_3F4jHd1UK12y(!`@4G_32GP;4)y)s2RYTgA3C_MXQv-0S zTbE9k*2 z|C_wsodt@O@m^{fUM%HZmiUS)oJ_ocyIUZA_)vg<_-o~%8m~C#jN+xi0AS?eSJbQ5 z3%aGYg$vs^S9e7-Q46douzAw9Al>uvcQ%7dxwYS>se7joLzhw)_$}voUB-iZUA*NN z&c{#O?{e2Jz9ILgj9JTbdQrXsRZ#O@+R_&LURFTM3=j2*JeuqJL~KNKpy50?xHS$x zx>Z8typ}MH>^{@77m(dJXPfNCgoiz8&`N!(pnTZN4)kf^ON)VslXcNmWaBb9c#xvD zOHkmJR_Jhnx>&awZd&R0QO8DM!zR)?Pm?u-ze8XFZoew2NmAy;FHjF~^fm89cfVK+ z{_0pH>VIUfyuSQ_oARg7{6Kg~TL!zR$6x~2rbqCIjdFC}{W+wiuKk8-sYp?e?Z${A zEE>O0*@{%gX9;$ps&jH?d^v%M2HCT*)pS%r9QBOVuy&CRxZwxF5o+7yHi3fpmM=ud zto{v>kdSPMGtV+7mou(^7M;KN#b)%9O_Nul3P=*@)gxjDYu)QbOwC*!2jOIV^cGGj zKT$p-66cye=udSg(@p(H~nt>1w~q{gks0P9v*FKS@-XUz(~z#8{^k z?=oeXNZdf*7^meuN=ZugGnqq0$=?5~Rx-9yy)pB~ui|V5N+Es?so>=Un?*Nr$v~|e zSBw;5jjqaqp zh$9}mu)%%yzY_P^ApX+8ExN>`jDJ%n30MtkK^Xx18psT?s#5o$_T8xCH@W6_555}N z7x5*Ac4&rl*MQs0w`Nj4GjF=1J#i?m_eHE$b$8g`G5PVXn1LFL3)a;vq)1<8MHU6q zY7WOAi#}0gQCS-H1p;H?yw<(L*MOxo?Q~ztOny&xIP5<^5GeLP!IlG zaIU*j3o(Q9L}(TNCeU82TU}sU5d>R3VOmvCS1mP7w;F0%5k6Zr@voE77{=g&@>xgy z|IYKQI1QZpyOi-I30~Ol61Gb+%S`v&Db^V7nP0k0#F`f-yn5JnI>^)&XXo8{Wc2@&J zQFP?YX|tL?!Bij4gB#Mkl>&t0^0vp1RHFe$+=!le^dj(MINCLjyct6M)SlWNpvxJd z_Gw6E^y_eRqx#}=EsfOzELj@Ak%Z)rN+SjgthqcL^#TX!+00iHHZ$S9y8BlKf_`TG zQN@{PELl`XPVnR(Xr*}Uyl)TU6a>m2k2o?Nmtx>b*=g5nTI$xb^Dy_q*8#QiTjP0X zxuAIn+&3n)BD{(l0Cw#4CQngAtL+t%RRA=!`Id{^!wV^+*am63un0<;Mx8mJRy74$ zsCV{Lm``gy;d}~H!8a&(VE=3^jPPzepml(sT`4#T=&QwoIn)FD|F(d4zWQImMyc!H zGqY3mj=hwDScsO(AP;h?*g8X4+K(T_U*OxnTu%!x)+y2qKV*e$gAef}MFTGSMsajw zX|yFA-4a~7FsE32lN`*EJWfIDtKPWI6#~tbh2s^(LBrN;vA?b_#rZO$9;j4cPN(-?L0)EYKD>5GjI3It?P@h~gkn@Sa2C~9hAj&?(i7t*6kT^JE@(}#b zLbraQ!!n@`?OM#APS%v3939m3*iBSZRDZZ#=@Yt9ym#Y2wImY*aZmIU6b=D_vP|Ea>YTB` zrA!i5qo-&U3#~5r|G`6#M1KTW( z?M&?b7HqHB*a2HM2euzd(o+w@V9O`T*p6|rt^5&eQID??rX1`76!2ywFb@&)GMwfD zOB=feztfaf6eD{)+TgwkKZ4S0ST8m4Iid8HOoRIq8#>_5=D>YWN8I@&8TZjH?iDWX zp=cAuR4yLD_d-duTAGA`9MvC^Zk_A&Xw|BHi^_` zr!|_2FWkq_&<7AK#`PcsNBtTAx%wu29(EOI2q%&iyc4rXAI}BFw3yv zQWTOmpXn}U=`5Ucb{_*!+QdI@bguga=i9tI*s zW6i@SyoZood6*k18f+fk>^;O{T^>p>0P8=&=upy#n8Wc~il#zY{Y$Bhdg5`Y0E0@l z_}0LVvRntcu;E$$jn9z$w5|Q8T>PYdJq$cUJ$+@Ti-3my@OgfYH!Y{#B4EPIx7v6& z7-DSyM05p-7T3~a;o+-48)mkHrH<@N_ch#(Udav-FW#Jm&3=XRGkL=fEFI*u1__zc{OnrFL_!PL*dJw5~Teq)}!;XMQMx=@Vs5PiX1$#%j=vX7$= zp^9qG5Q{K!?o5%q?e{qfBx7TCrEp@^*K4Tl)e?pvK3g1Kmw1X)G z(^C0>kTBz0o=VYGM*M{PL+K{RChqZ~3JDKc$LBYoyF`3mjribh;oS4C-U)T46=n(reC!iN=x_5u5nQ0@$~Pg%)C+;V(;kSncaYYT^}hsayT# z>L3Cck+v>11$ZB>+QHvn+u{A1DR>XQoxu0iA5Qm}!%FR4U5giIVtro&;X?OvrT`q= zpv32@IfLNX+zT@${ly@?%_FX`Is#!sDEJB4SkYO2P$IkS4Y=RZMA8-K!B!zYO$NZz zuMoPrO<)la`+`irYeiqi0l~NvEgWr9XVG$M8030#{%hqL!+!}a5m92wiFry*pff;uc7+r#x3#v832)yxllLBB7pl0Q2REoJZ5U6ZYm-`t{sUAo# z61?;VgFz7_`md0|1WA%&0%9cyentZxLc?&TnhB$Z@dP{8C#bF5c8C`tKP+aI@%#)d zN{DpICq2H86633+J*vZZ+M}iNR|1jxFfEL>1f!jV(PEHc`vQ!1I+t8}w0WR<2+1MH zTJ+s;w51q_nf{O^14c}znxi?7Tqc6Gw3^Zpd=Tk~TYJ!<48M}Y#~D1vI+^7mIt3X_ zuoquI4in|Y7f1rMhr`CY6L!lBmCzc2S_GNOeaQr=J63m~7)c!v`Hr~ z=t!BS2ttQ4q3krKd@|Yh^%kkp%<@> z5IVDXT}9xo`v-a9)KAkb^9L4boA}+yIOkV%fRJ%|OAVcmo`DFsu01_Q_1KJS-8i(Q zD?Bi);Al2A5x7r8Hz7+wRxD%JS%okAmhT~S`)raH`K7k%!Hci)M|*zpQca(*lQr)2 zQrr~#im$$zts2_mN8*3@{Y?BG?~V_H@qs!FSw*z7vAP&<7w@WSs2LJ=`n)7>zlqb} zmN{D@2|vTK;LR$(+?CH?Td9GIlfkf9y7 zC6N9%x;SdmBRhq{FiWr)63nZ^@A83a#c5Oc1GOW+RP$i4#OZVAFUcfV!E{=MG6LNK z9JNxnsy3|z5;!f>xRY_z^(UmS%_ek5FULHki%eq>wn%mScr{rDhhKRPD<2@&j)f&e9?bSz(LAy2SnL8#2D>D_P)pwy z?o)M68P>yjnCM~FaaN0*A%^*b_h-MnD8R8pYhu{)N3L^O7J2AegCUdZ_Y^Bs*W*-n&?LQo(!<#N;&Jf&m&vNh+&WN z4}=?v39E=?5KJ<{RF>Uuon>ID7R=<7j7qDmiAr3hrMz(0LYzdr%=Aa+$jKNz_1m=k zR_2d}S8G&dh6fFn5>@2f-2J_Y@jovmI+A*uS;^GfT^ghV_ke@G@iA(e%!%4z$ls3h zH%_GR!%gU&PdugJCeyHtx>8F_A+q`zBcSz5#9m#H9m;?eO-j#Wdp(7Yq- zIU=8`A1kKcOb^w-hmltprkSr*BqMQ0WTC7u*yJEbu$~QyZP44;Z4$ef(5&4rWaQY101i1r7 zklZ=E5x^dH0)N46#d#k7Xh-`|r3LnfjUur7_y+=;O@YmYWjsTyUEVL(KLcXW^}$C9 zK)@JFSRZl;(vV9j3es{Sj5%TpyNB~}E_}6d=pt-q+y>ZTJL`7*!D0P#CsD)#A-mru zOvk8n*_5{*CFwQyxE;EK%H^QEvCELCj3}vS!F-JuZ@`NNvFN67bTjp1?bep$-Dk@F zli@qj^*6@)ikVH}dGZ&{f1X=m_>Y@GU_)01hYWRjdY%c#m_{+!%KRFS|Z_>hZm{6wxJbng$-7CVU9)r+~sC| zJVPhHA*qOX;m9kY+!rqh<-WupL=xss;Xv}_WdVaiEy~`0guW2FQWLNY#@h2Fk_L*p zogzA^fO0|+g}eo+FqRsN6cK)H0+j-C?L6K+5+xX#PD{D21d_s(fZF+>A((HCyWkW@ zD>i^D3q8J*6Y`lfJ_-$7Em~3|v&o~hFiI4LKt8g%%P9L~$|$${mb^j*=SYD{feh4` zZ@`nmm)hyc<31nLHpYE{H*QuCjLMI98%akvjoL4(+H83AcGey1Nz*=e;?K;+P~?a7 zxxWY@6;d2+;t1gfF*OO1!tu{R)MsF5q}5NM>sP=dL01vmFjA<`Y;0)*u|ed=@ToH* zlTx`HW1hPFfzHWIj1U|}li1QEk=69?ouGdn=~X5KrxBpZ?eq9LsBz(&HG{dDI+m0T zg0h&=!~tgW=$8CF@xmm_YHT0&M?hk7_4P#6w6z<=xh17wYh^voHGAQAi!NoKBz!Q1 z@JVbA01Xg+0RDsuch5bKqZV<2!N!K1iHHgH{2FY)u69)qzLEYcP2o;{sGZ|eE0u2Ze?tG=+lwWf%a z4cq7Y7ylq@&7-jJx+qYZ4*&hl>Hxm1I3CN>;fsHeb?mYDA%Y*69|l|GOa)?32j1y3 zi%pS_?Nh-IxJ0MV`S<`!-&Q@O*dFU2xp=SiaX6m*2T$0AKYlcR7T|{yWDlVi_qWuy zVoMH)lZFakmN3b5-|bYHsQ4VozDx)M!oyr+Kq8>_V2k?j-j+6&K_V~8r;q|n(R>Oy z48%TmDWvI>6dwT$u2TRF6TH~B8q>dAG6;UlGREwYhChq`cF;BjxQ@m%D4Ka8Ncvzl zISacs7k@8f23fLt$e6cQXUF@`Y+U@k4Ejj?o_`!^vDNKP+c&@Qx5W4pt8CQ+BcteM z$_&hrWyglmmUZ@@9$ysnGxi(f6E9kXfNLi`T&|~_jFE91eiZJ!rUi0OM-#}J0gw4(%7Bkf8n8QX z^OxhFJImuO)7#u1J%LLO4S%wqgZH?mcT1l*i>cIVOiZ$z7$s&8ORq86vY8x7S7u_y z2YCMc<|O_k;dsvdTcO+34mvbLq| zRdVnpnK;C1wwSO|Cnj{m?~})-P3Y`S2gvwxla4R*;0{4_@#l2Qn1^WLUoP2C;Pj1v zhXj@pc;1oRz|2Bh4Yj4xG3Cc}t+xI@&CTJ{@5pf^nYr%6w72n+Z zk=&T`BF%rysu@V0$Fs0bd9(5iNb2_})Z=6e=lLA&FK@#a-*TpiP=3h@(xS(8JFPt^ z$%H!f5_Q7;>=Rh)_bL?kp5xFlu-%iQl8LBpZv*iGthsvPjXT(h7E(4nDjLD}Jo{;2F)hG80fmjAyK0C!MeIW0e@o zpylvv0>_F;5_uh!yRw6H$}|}JUB^fZ?eM|o7s~H5T7GZCs>#T2lMzo5QwTt2-SE?W zE7nm4>QOKEE*`t_ugLf5zH2AoRSS7y;AlbBtnYSO%|DzI`5@g&M}SDzcX2vY<0 zE}K$ZSjj5T_SwbXr>WOgXfcNjP|SzkO|n83^)*VU0=W6F9JKzbt2CsFg@u`mUm(8p zEi-;YSW68oph8$`l?RJKJir=jVDamLU;#hM5>S^8MMA6 z{crSf83rU4Ea-X!^p=#clCKE5MZ|`mMdi^ zt7TnDx`YbVt&5O*F`+?bt#lvt(g*t@S``1F#75+uSWlWXCu83=K>sMBZ*bB?pF<=x z0|^X7-!6&W6$1N!M3>Z~m!0_|VLx}1mW)ab_}B#C+cn^M1~9)K5b$cL7cGf)1)maB zK)f?+OS4Ob#;XrT1(+$fMwK^%)rvU?N8c)i_W+e<48XT+I|+pV=Cwn_;7g_*&v<2! z1j5B$N?IRmEknieA$_%BXH;9L`Ms_s(dpeFFdKglUis?Zgw0i9 zB$FXD;hY7zCZ$(SM=EQq9R~{<|v(pKgPVZ)jR5?oqi_*y6kH zM$-G_bv%$x8#il!aHz~m-$G}QK?XP<<=ogPixtisd6I5I%)Yt@>%8!x1{?J<$}T#i z3$vn_hMkPz7JSa5*1{cYWl;qjF$)_sC{b_{tC0xY`Pj>Cy8cVNL~h=I5iuTPvswTx z??9h!w{)b>Zg)wWLL^O}PZIPIs=x|M@`U%Z@qp;a-a~x#50C_rz1?eq9Bw6cTUi`( z6`rFt=qe!-lPRums`(9@6`&c&2q(I2o4Nrr8sefoy)l&2>!mRgy)ex|0%^|IVWx^s z{+qFWsGtp@f*i!*M0{})T>vKqrom4-27WI2q&v^ae*flVBE=3&pSga@jzT?9ntBxG zA0F!ccsKr`CtnNjtC6o<@buSX($m+XU>n5&YC#|Lg5d=u8=N)ee~gf!SrE-o-wj#Y z7|a9&RD_MVlX`*)+pq3H9+T$G>GSZDxMKxXrB24-c!Q%4KwM|LkW_67i0|(p2t<>` z|5MXEFqIydjiVD_CjU8*E=g~dZ@^%h1}0At4Dug>%TXSXTmI_ea%~cjJH7YmvHRqL~wAbK>@6L8i&<`QJ; z8kZoaC&4LM>!NbI0ii|Y7y;q&cYz0H#p5oRPtQ#d#eU8OGcg6s_S=&9dzJ@ek_Y6T zBp^c{ahcOIWjGFjXc775&+c#*t#T>i#{Lw61fh}8 z5!QuvpE1+9M8pY}PM_6}Y3R|ceEbMImZgqQC=Y{L2$4ss9Oh_ZWCiAOAxxL0@i6fb@AFYukbBmI5+%i-+O_ z59HbhU62csKtA)di{**!Kng`XEN>N%SkCwx)xJkuzV~?8g*hk*=C@P_5=(7cqeo6h zmXu6|IVyqXLmtRKJX2yU-)lD{Mt-7;CjE~E2C7TXRH&b?@CHB0gL<(?&qYa4CwPeF z9u(vq0@BmJeaLreGyT0s(?LmK_fd89`2TXy@h32S$OF0jS#SKy6XQSmDZ?fizkzyy z@!y;nzX$aa579+QP&dMwX%WpmD9AemWMcftH|p{GJg|e3z}8{b(O|c&PL=#rPK`=n z`j7|mfd^cXdd*3U|BgQylFIlER9C8~WC?xx{HDbCJ*X{zajCi}3F(em$U6jN zV*C%e~3g<;s4XA{HIVPFddb^^dS%Aau3tjmLMzeDU<370h=&z@uER$07A{Q1O`_%qHXMY%@d zm%}y`i?)O_SgO!mP-gaN{j^y@8;_Cc6k!_Io8mu zlW->ie{q+9=-QzHn4{9##+cWHQ(P(q@o)!fkUUhKfe^nfQZ|^YrjJ;O!io zCNc->n29_kV7RsMT)#+jn}v1Oxp+P;kdnk$yd;^Gu}PiA&o%y8P%$GzezRC|6LpPN zq#&(kXk(-(AZYegG2}OeIY4K!VNMzTazA4VbKrx$vl<8Z*5bHDdXu?`AYm`wj%8F1 z3=duK{_sM{m*R^q+YLmD)<_Ep>ITpt+cXHcb-i}4NYPDfgZ0so@;)p8qy#XJ(YZ~G z0>t&#cZn3uV#DfwYKV*W1;BM0{*41^%Q1#&z?*xtAjoYaQHs#X8JTJrcTsw3LDaJ) zGGpQ!$0z6qV3JWqIxa!Fk8R@6S3QOV>Q5sbR;=JEYnYiBcQRHy4MLuAjV5HCCgcr- zs;vxfo&8!8p6J}8<8KoUc%^KMX@D`~Rtvx;9ZLkYBh@!}*f|v;%aNjiE~qIvx$yz& zV`+`pCW{@1exos3Fnw>0|98$LWFw&8tk9Q1_X!-1xLSK+ph^+H# zWBtB{e?k!`w~#QG_$Z$Dh0 zYy%-&jfV#z-$zjcN|WyaY5m`j4^fxS$fy$%w{bgQs&q<10`v2aoiCv2o1UOAG)HoI z(8mOQ-!k-t@ky;qK>Ya$(Dv4aDH^_KsYkdx5UyOZsmTiddZGa(_h+Vokz6g9PqGd5 zdn%qDgtSo?7Bae!%yH5>g|x66Sh{vDnMghgX*(t%g|x`OF7BMRrhZ-1@111(pJ5ed z*C37BsOg7l+UH3=nG|GBc=I~SOm7{Zn1);{MrU<4F+3&>`>CtkHhN;v^P!m)FdJB6 z`7n_zlJ-8;UE0IhfKh~UMi1lMdXahf8FH&~IR#B19%AA+gwIFHbHCc+K9>m>4azf< zwO0+UOD0HcUq_uyo?tb7Sa9dfk4T=<6>e)W+1ymNYJ`+mrxWTNO9^Q(@sqUp2kVDvdRvp!8bQ-7$}5;8~-07c+3 z(3ygALxi<6HDB8FQ|G#Es=!t13a5KlXK;=kW#7icR$^ejdM7CYyJ2+Z5YBq1nTKoS zAt;hAUPcthw~5YV$#cKD)qQ?2ihRAW14VE?8 zm<6QPOnWDJ@J{yp36sE$bM+*E8H8@$*Vh8OMm>Gfi<@)@hi}T!aNN;!NY@00`)E^?A5>|Fh*Kqhza+^I^ZNAo~b<*%a~S{a`iy{im!p2 z=khm$KkwoLrrv@S8+g)!WLCz`?RH5{c{I3hR$)nQ@@*9< zo`dR{(%X-(pQZm_7~RHH?C1R=MOd#V-7ive8dvjJzx#O_l3vMsca8+0)KExh?l)?} z8wXg`&#g_SLHv4GI^Fy%&zp4Z3)FdR&bMi6(-4c{&fDjH-qQ9gzr_1n+uqlz?_}hl z3DUOUFCJ?GLE3Ujz&!k(-=@}0{f9gN!8Tp};#H^)UQZu2&s8QEn&z3PpMt73s@JbV z0)gk)CNR^Vgg);1`$77qqY3ZGp||FzVRiA{(Vc%Oz3ab%wpdg(szAM9mwV#n_|jrHWcTagQyh@D<0zM zy8I@oE!gFI@~I~L67;Ru5Uk%*lVds8^1C|rZC)DYp1q>Chj|BrIK%d#4e>3v7O!J_ zTH^}Kkx~Ne;bwOXBNU+a6z8)e!#x#qrGbK`Wu#1*2ha3F8fj{&wc|l4nvo5`YydKQ zp z!;!4T*w2OlKpBwBrwjmQxn)P|C@kO;n183PLBZBX*1(HAP=zpSpkX76i^6st+l1Ph z!uHaK_(S2kInz-ZB6Skm+@h25HNJEe9ZoJ1aP)e<8!76xKu^*)+-N4U>j^?HFRtZB z;#7gEln`q@ATj7T9MwHKLDZ?d*EJOF2Y>5-<`YmaHAVm(7P6DK{(_z?ecJGz0ZaUi=b_w>LA3;>bKfeRX zPw^ZN)gwktawnrjH%^(9buSE*E^4?JX4jiF;ZT-N&n$_t ztg|8)$;{5AO)Z_>ktCcN+uK%t*Yp{IT!^6$xN7#U*UI`8Ck8C*ipN&r?UWGT^6!v0 zAeky?f@^hayHSvB{;+G`KVv&aW!^k9PDZ$MT9p$%VgU@m;HJyL)~R2U`E7NEG1@yXy_s)c?E~*~*0dIhD2us{LB{>)HhFBl$*e7}EDt8Tw>J*_+I&o;pGSQ~PJcysU7e?$$EezPZv zyQbvf&F|&SAMj=@0t`^l7aFja)pe!vyb$%W(*df~8JS*+>gac4r{fz2)8%(^zFgna zDNHSv(?5S_4{RFG`cprM*yz)?m@ReFpq)IYbTa?q{@-Ka_c;AO{;I^(hfnL-vHnX! zM=Jey9n?@veQaq`p@htDRib;)y8z$BMm>1eJRk=`$^zO4YiJd7)f3BTXofSTLQ5m( zKHx+Ie9p#cf&u)Fr4v?o(ON&xfxyuZ0UjfdqXi)~;~@MN&R9BZX-YV!ol_)x1m&0+ z_7DE5;lJ&C6f$ASenB4RfHO_dTu7U0Wh91;&>JjR$K(l`A{Lb0=>r2s=p*-oFh=$J zYEr_lPO?b}tjA^ancTaS?CGf`zez?q{#+_f$=}d_;9&iu3#bi_;6E__1qXdUT7J;y zGQJ7M_GVMj(3P03vY@uVIMNzBXwqwrQe{*{i2|!jd6a_L(3g>&Ei!rK7bWTHA3ZvX zqq^#fWOC4wWvBYLcfr6I9KC^E1IOrW#Sew~*VY9FPFZ_V`fWA--R=8ZZ zwaWtBd;rrvFObGsb!?r)^?ssRpGL=}tL>Azq(xD)i8q!`$vIvNhTQOi(nM{+fLJBh z?1+i^Vdu>65MJ?UCW1U-#8{+^{X@8O05;%U$T=5n*hPSE<1?`VbniCoX10&D=Q4je zSHiniVp~5xx<8>WKpBY+CIR+0*qTB2iF=#5p+nCCr_f`mgW+%xa%>9dBQ8RAy=6OVxQHr#c5V=!=>UsOB`N zcUI9(Xnb3yB5tnVX2)h`aAx~jV?RO(c>=lK27 z0pa_WaFOE4FqD#gAbr;Z^p}GRO=gDugSj5lK~~Toe6^?IZwO?c7MQhb;%R^QNAm{X ztUWgmyRL6!Pxs~xS3=CSkWz!ul>z2fBrW7owfP$ zE%AovmgZPi{@=rm&v&=bgHq=58$-NcglOA0Bg0`U0_bWa`Zk0cmIXT9`jb)vr^3= zCx60qxb^0e^pR3^3wgxM773)Qr>;e9J9h}0ZlU276e$Z`p=fs4_RnyyDy01kF?V*> z#f2zFz^$3jZIG>MM6fB2J0HyJ;9UiM04o_~L>IU7`U!+(>?#;CT<0z$U7gd!zwHpG zeN)p$19_Mq(8C;C>hyo*CJ5cdi-|9s3<^IK!))4$%qvK{rW>wK*c1O!cuo7eh zz`3TSG3n}uk(iWtzY0%mX3aSq5ac=RiGCWWO1@VGV}t#{8qa%r6HhsN#zYce8Z}AP zOx@(1BlJ*~3Zi-~oEQt-kD~0g40a?qYB4g{5!GGOZeX8rbeh6X>-+D?Hb<#;5u}DHQ zf>>8f6<9{*p+9W<+D-k6?V?u>;$oM`jd%?uz z7jD58)9)@b#KLYg#D}L!1{I$rJ}hjsz(zPZkRQ$zIB$3=IN7I8j*=Q;&-2G#AU%+a z0KN0-7Lc1_BgoCoa^NVq8C}IjE;lI^Y_0b|XD_u3H&HTVqi9C^3Lri=4W8#B2%i<) zEEfdv8FKdH+(aZ6`HfU=COOxs+~i@F1HQAGKgC)nd~{|AnZH3Hrxsqo<{EO-*$i%$ z=a8EmfI(guiP0R5u9%O}f$dZ#${GXy`O1qs@KUcbMhQc;{$2ay{F{6?`1kU3Pp+th zr_Z7iW~$qe;5?`fe!?@CxN3wBYS#U)=%7(SXvsV>4^_f_ej>& z)j{m;K^9!^_d&T>LJ{Y5P(-eapo9R8DeAvc#M6@%aW_tPBK=SBNS3UMJdrU;6=Pp? zR71T=Y_0eS{F|8IA0!Xnly8ky2JP#8V227Ke`T(As^$h}?G<-tqiY zjQG3r_s*QEA5xvFzO!28?e)G{t>SdO+Poev)k@E$@V1jJz4B>{SXN#ckvo@zVZXKPrY~!?LAJ}O_2Gy%b zQqz8A=pVbWGYhEo=SB4F`L~$0@@V=nb@jRQakD<+#SF4Ox(*+FYpTkE1y`2U)W8k0 zurz__M&{vcrwh1DDTQ3)$F}NXVWkFzL*ShLkAI#4Z|{5c;34TuJoTe-gKO5m?J@L1 zgQ-e)!DgZ#z1V;(V+fF6HR{<(r6su+t~{9za5 z4_B5${_&Go^eX5RY!;Ifb_kM+`2pcR#GhBV;r>l=^-R{xv6in!Ds5W|N_MWV$P_ z7g1g{f1XO%2dl33%rsxaG7=brEGOA2NTW(53Fzm4_D}8S{|rYzEIJK7zC8^TZBg5? z;R-^BY5;M!*HsNH%SjT=G2Z(T z`I_hhFFAF9CvL#4S3SaA()bhF&DLl2mg4@!P~q2MU-;#4w4|VMWL-g8b=SrXkbm6& zAej2qO~|ooL>Z9-O-2QhJ9aXz><0OC`tNMT;^xG?uXNls+Hye$Rc!oe=l5}~W9(B< zi?*FH>I4RB5jR%_Z)0JEPkB(1WeSxVpH88hR(6q@RNa6Fi1?D^MCGg?@V%NjRTkJ# z)lg;Q^eK7-mWXwoh%aKjIs{8Szh(D^qeeZOk0ulG9F=$&X!A@e=hy0(Pe@OKfVzOj z%p4V#WM8u$!X9+j6t7Kn#d>hU_`n8f`MxY6-&I^U*I~RofdsuwJ0Eu=?1ARA;du0a zT7_1&Z~3Vr{IX#jeu3R}6BwwYs#ucc(Q;Jad z<`&^iJSp%wY{i0J0DE_tM!-&=d+<6pqFZ`I_*5CYN+dn0UE&$3i6bW1HLV5!Ttom! zfrJZp&cRf$BOGl-pxI5e9r8&ABFwm7Hqe6mSCU>EjMqYJ3ZgSErqi^fNU1Xe+sZ%c zIzHNSV5I2EUr|4*j|NrL9^^xDH^z87JkZ=l^3C{Y@xV;P?_UtdWQT;mm`_3)m;BCD zqsm>5)OI#8rpylv3L5zfX!~;mei7#c^LHOiewnI5Q zlCBuk`m&3t;Q2eCg7^F@MFrKQ^OLnNHc*Qp<$?a}w#yGcyDyhr(^w=mV9p$P)?^1QdywVpa>NZRaH;z&8OF4`Q_`8j-v@ zbM>P!iT*J2nC;54ag|{*y^j^IfPD+#4#dU*d89M<89<#2zn*iZAvkv+^u*-Z0%e=~ z00Oz87Xs^(ZfzlP}g-T3i%*{nKV(&?`K#iBiLee!s#cDtWX@k9Xj7A$S^LF%jySR1hf;wEn!2;IFa2OgSSwS_?<1 zaw<%u98%|3FCiys!Z6U5tmDdfKfC3}rfGBxu4VK)R(lQEs>^HIYw%-?x4sLn;mI() zhGPkh2h@vc7Sji%j1N-VCEbZ%37`Ddg&W+uMXmK}Z!^(vw|nSDpkIlLVc(8~zR*$W ze}tH8wu6}IU%A9oYbLrJ?3rXcNQk8SC3vZc5OVS7t0=H;e3Nz!k!VIn;f71Ps3L!} zj-ETirae}Y9zQ`!3UQWJ&!q#ldS8t1)lj;^dpeUoL8?G*>TR3eRs+vs2zcQ?1_@W5BSq^stNm zzJMD?ztLyajFR^H+N8SqL(*_5GtesMusI!o`3rNZa2f6pSj9bUAS<+~3ZJh(VFJ?J zy-`!a;s^(eIWLj$%4vx8g0bc3>#FSo(*M>QfD)&E+$Dh3tfY={hekoTFk{T5Azi9} z!>+Y8!TBJ%f7EFesO(J=n17PI1r4hx+ULH`& zT<8}A?Uw5jk^mO(+j!uAvodO-7DZr?e4C=JG+- zZm9m*7z_Z5G&O`pIKmvRvF(uou8s@g(P%GW#Dv{c7u_T?55}L;yB}2(h7E} z3{pQ4ONxxsFG7tXYEn)}`693CF9@%`G8x$V z>Mw_et0~BLmZ{{FylE{iR!vi5qo_26f>wydeWojZ(+^JP z11D?!r93vFXAaANGogBE&km9v7BatwQeI?e-~J(h46U|u>#&@IiFf*+W)DnPTV}r8 zrY>DiP2`eg_?~~IsXd?aYm0gra;=G>?kzE+j~&x)N=)$&lFrBcU8XlbGG5@(0V@;V zk`Nx!jBer+_vB36`2hFoR%-^963cSx_(+omc-`C94L3L={^uwE%rR$9#^?L_Gqbg9 z4*6POoD;Hq#V$SJ=zE4=3j zk%yRBQBz}Tu*WrEe8jW*2n`aI-x`W;9t|%(p9}ViP}|n9eV+_96m3Dtc!(#pX%rYk zz-eT>YwbN=IkE~Bv=1NpmiW38u$*kp3w`vwqbFWgPgSvcs*=|YYlos7 zhNR!Ur8D}LI#=YRhohAcE@K~fF(>Q$!gj46u)p#xc?jpngu#M3B9Dy#B~I^qEQj{` z(2z4F2e!Hl(a%Pp%9(^HDg9 z6k0U=b0mXqAFqx4fJbuxiRK?x z%DyGLq2nNL*uIm3r;C1ajzjs*afr5D1WW&MDN%l0{T7K=9KTm;UsOgbAOC%0yd-Qc zjiI!NyxJ(49E*;k6nrMC&F_(o**pNT4!_DJ-RA5|kXTq4-GcJQMI$X6r%q(@fK7rYm zUGVxUJqi&?&d2yp@^ZEf*+X%de>ju(x1s*_bUsB4rJNT+LfmhARKy(xV2!cQ*d@eq z75_RJ3-L&O+KoPq`3=QZLos$q*2NfnOhPaS{|fZe5rkUMD`ouMH;jR=h0!*&EgJ8= zg*WCx{0=;txuY!mDR(5LcF#O^4Zk6yX>n;fe2eObP#|p%&uv7;WD{nF*GqbHGJSb8 zCew$z$YiRTA^*IZ;92wcNzsSh;Q=pG0!!`bd5G_Y3SnP(fqclBjjVHP%{#IP1|_<@ zrR!f0(a`1?D3_bRGw@gUT{uztp2WUSL*MLkv~C6aK3qP*5+>wWAC^fIMr9&nU=O9x z1?yiC!We3$RQgYXVe5T8T)NU3M5_V2~{A0b+YUaAbK zU@0h>vVRu}dSTI~@888bN^PVCPZo5hNBv-= zjeiEU@8F+(L$idLE{_v!0b*|2Ey3JF&qM;KsFs7rnudedoeb+ME;P4l|8XB`7dZ~B zU8KU|dQCVf1&S1fEt397^*XYk5;uN|l+#I%Yxxo2rjCWsA%^#4J4hv%;7h6^MVSJ_ zuWoc<%&yP?MpaOV^APDfL@qJfa|{h^5c_O4`j*f~wCqKg=|@}#<4P%w zj)7c?Hxw$|>s!(a3+GwzPodmB3qtn70$PphuNJG}Yq(q5lvIYXfQc~w2L-6W`6pvJ zM8DeoOAc{(solGo!WD{+XtpBrvym(Ol^8uDg#+h#_vMmv@wP$e1}F+}3P;BSAt9c? z=Pn3**VG!(9P3LMsAn;>YUoC)OLPcHBrAGr9cdZ8bt(QtiryGQlyCq-5cPk87V@g+ z)#`-Z7^wcOG>?}3hbQm{HC^m+{nK!dza5 zRw2ZCu)hQML0yi4)kcacq*uR+A%iMQElmil2eFuL9`iI}=4V_qLwM*L$!JPBW^Jm{}F1^?qZXQ2Gu#Qbu$`N?m7a{6~0Eq1K!9N4j) z|HjEwyp*b0eT7;CER*=oM=VQ-wqSoQJ|yeWBeLJp)uYDP+N8|{DW1RnLjQl4u0Q3* z9TOiT8#pOyGRrO~avq_CW>GbB0(5k@b@G0c(ugMrH&6sK7@)r(jG$GA5*Yu)zzaD& z3#pVA#Nop7qoF$c)ZDHdjme8~3Rq@b9qp>~B0MJ}AC1*NUc^er7+cr#5r>Y_WV!2# z_)+|=j8|jx_B_di)nbV(w_)c}G=V@FBOXAHGmnFq7d})pqMwsLgVp}%XPn3o{Gx5B zq)n6Q|PmZ|$ zZeb_=A8*^tM>kP{%=ju~RL0LWQwKe@_~lsA$|WM(;BZhVm>xQhD~{{E6~{y@IL^bx zOwE>aK1hbVIJ2Vl3HUl{N>djkF%Qrg>dxT+j^>U}(-grJorM^j4+!?~nC3IEF196D!O;p+tw#${+Lys-7ryPqJl|?jfSsOQkPGAx9 zW30Pk!7;kyz*zQfj)#CBZ0O85KObU zMM#DsWN;xM7tQ%2FH`GYY>)THo{~x78(C{TD0r+k_Ivp%eC5tX_}}xyi*YTxsm|4a z(Smmy`Wi+Zw2fGgsD)W~_0M5n_4NfrES{~-lpM0QHLOLotID*wErXqJ@d)WU;9}67 zVYk%s&aQ82a0Sc8IL5h=1RW`?>6`kAWl`C|Fdu0&`g9Mv4D zif`f>78+@|pr4E|+|)<{=Sw9en~Za%!MQS4(E;P}#MsHWy{0rhb^Z@lZ2F7U7R z!2RlUUd6SD4 zI47E1RKryOiA%OYGH`ZOCPO@CbBjH(lD8d13aGI5#0tyqy{>M4c^Y^4oA)B~QAc{1 zwXq2_X~X_1Y}e@&l5Q^hZ_S(f6*@hYupD`u3Cr;T-nlt^0`)PU!Zq5=9kGy!ax02x z+u-4bce)WS5{XJOR)3XTkDK+w-Yy)=3Dnaz1pN>haSkmgj)}C;YE8nBM`kio!tV*r4;Ybl;$emnOyZ8z?X<^GfUnSFWuw^VHVB$7d-E<{yjqMFP%Axl8G%fA{H;R zA8T(hK_Ry_G!&h}z}S;iOj^b0R$YG`l;SFJpe4)+yCaVCKE%HnUvso;%7uVMM+Ls< z%_4#leZC&vM`{Kv#FW8Iv_M8o`r=I^cJE#|u%Q?BK4HuCaJ~)+3vweW?tq-~4b_nCVKyL^GER()SDDa_jb}`-!^Z-@$@quUJ5fq( z4;24!=bTFM_9gz%iX4>dwh!3g=lMpcv?NRnnB~0F3LwrX=ly8Baodv*ZP1-F#A507 zMf3$$+G#hM81dXtXAXkVh_6L^4viG`BsgDvJ>*Z_C?Jo7od6GDfW`le&7x>VSk+q^ zeZ6$R2Rih!@K|%cPbrq$^}Ok})cFN0Q(Mhju}}DhlX3Bj5}#Y}6_}#{ z5X2X$gV7eOKi1+?l1M5$FIff~V=E7wo2DRY`MV$7GV+J>c^F5T?}?$LhZYDsCD$Mo zk4cFkW`w=0(4U`Y1^ZUjut!rpm&*c(=XtsKmlr8|`z(^*uP!YW@-qyg6SQLjBy$i# zJOI=}1yCr8_+`imAu%AOqj(r*K^DOkZo7IXJxGyO$=9|(;HekxDk3x^8{6LD7Q)Re zg+*O*UrK`@ywQnpM&b3bQ8^pEIu|0MtDoEjP^LBG?2t3@5S?*pR=?{@`y*;pA|neR zzVPy#pCSGbKpKf+5sG%jFuxr}v0!|{SAQm$t7^g=Z(li*fZ>B!fBXs+#QFWGA~0*4 zUGB$boL?lYW>8=!K7!S1JN_m!`kvF1867(lQj=m?^cT%v2ctLq1>Tb@nFqJ*ryIpg zjCh&W0W?LV@o8}b?F9u0b^EZv5!2b%vtN(PPK5$mAJJ#p8oB%}8|x>+fa0RUMKra5 z1OhYBl>RT^E_@vv&6V^iv%8138^_MmQpPb3gh?7lQvNbM(_3HBi{p&CN&cGq=P-@! zz;`b3XFl5n^+UN_;+vqu#vp^>yy+zu?lLeo(+`Upoc{m33{DFzjb50kCC{{h)`(yH z6Z7G-gLJ5%mZcaj5a1&9RaQGl)2~Q@g!ni>MT$N;69Q3l1RK{$_lz>DZBK7VJ>uR;-;+D$VHE_ap1(mBat7?w-Fnb`_Q`A$zG{ z&UUBcJKEK<9f}lMQOrEz*BtjS*l(YkqA0az6ojLf;AG=bDBFj_qRAGv@e^p>RO!;%Lr9Mx1u-|{ zh(Nlp{ylWfTra%FaVU_A`IdZuIXu+-F;Z8Pk?@(`2N;F>z+sX#yZXyWTvGQAErj-tZ}H)~Xoe|>u-Q37|k9`{=I|71HnKj^C)@n})i{n5n9IE@Hpn*Ed&RunV-tOPm~6`-?e zj7CQ!$B?2kbe#T+Qv1P7RI3g}PqYo!uI`eK`FG_&Z5^tTt%Fe0>3{yEREmUIIb$_+ z7i7_c)R_n~PAr*xk%wjQH#N$ip6k#_mWUo)4|V23l(aehU+92Qm8xZl58|h9W9&VN zj??FzOV~3;fB6|?hJ-b%;#umY(HuIWBL`!H(|^gf6#5!{P(F6#UhAnwhB!wxsY3ka z1eGt}l{#6z?^Of%9V!$IwY@;);IP72DT}HFL-qvN2wrX`ULQ7vEpO#fM)-y)BqVl^ zZzMHX@(2lo^_+$DFEs<2%EOaj#AU21QG?BIYzB03qH#c2Q| z(ys`R@mzBAA-T}N@^l(%iU<5Fd70wOmrs>vQ`j?CG6ss%|I(Q>5m-laWy6Mtupxc5 zx70Bf>9be$;$J*0lbKSR7_jPMvMSZwY3m~T7b;x(1n}@J|1(Dj!&(+{58EOg`t{!Jx<;6T|3ymfdg{txDeGQMnSf5x61xKslu?X4NdYR z=Snc3TZ+W$C(gOTX1~y%dqS7o!*@}(z@})A+z%@Sx%O@ZBq!@SVacW%pvaeSR-8}3==!aKd_!aTnR0CeoJBQna@EN@=-pBXTK9TG-unVdR z|7%ZR#;5}7teg%+maQp>Fa3n`8+}Vy;9=-5RIg|k2t|qyQ8WZT8ErmGtbIPReCJR# z3isE%&qZW_JOis_PXJ?<#h9G!@#ZK8Ks2!vpS+%ko%rgv7=D6Ant!>Pf7yglK>T zG5pI;@b9ll{6qT={M#saZes9oXB?RAT#FadY9M7&`A&AqnR2ajXLMj?p0M(0u=4v~ zYF5HaL{;vFQI+XPeL7hm@MkA$hL{Q3D3MGw36R^+=%Q>WUFJ|AI$pj2{?ux|Ln}VdFfchwc{anc}X3p=A>62MUF}h z7VZJZQI+qJmAQtM(>Vss$~>GK{_?2ECm>qJi#LYT+j4e+Zl};9u?W|udxV#;z(okn*YG^PLw;9e z;AbbRD`{BCCQeqR=+u@P?7!B{E3k|U>vnHnjCPB4yB2;Psy}zVP`arZ;J$+{^!o3c zt^)L4Hnw!*+xU4O*kO7m+Zt#mk1Hi({2)oRA*1Lf4&ADn}jBp6S9*v9W7(&Lb|LneqK%8bh17=ApL)( z-yg`vn{?x&@j1Q-ZynALHTY0uSbi}lK$=nroYsFzU4!tdojf9iRE(~9X5-7kx+ELT zFJIU64sr8y_=>U}?|HWO{L4*v{;+;t=sn+ii~Ih| zd>+Mfv7sEFn#OtyC*v@$^%k%7Dz=`cp~c^KvH6qtypGR@>*rg&=hu7BEBL&xe*TE} z{4(!(kk9u$`-;AcS#2v4Oa|juct}tGo+nVI;eJyY?d9J4gT43D`2Je`e4O|EQ1AJB z8}WRl2meaI*K^0Obx%io@4T_XrO=~%=hqtMckj7lUgJGq#^+=8^EbWcw|dX7;PXNH z`Cq-~bG_$bKJTud-{w6(&wG9`B~oco_xL$&y(l6tNNzQb-8dr-4K(B zzrz-q`7LOYv)=xYH+&Hv9*6CfTo5qE7j`bf*?iNF%Pg_G9v6!IyNB<(ov>}ph{+lU zemEtZwSywV;suDS=ww~-MmT*`TMm_M@yp#1pPtsoUC1-r^85g^cE;gUad?oBj{@S3 zuaatMmtt`j&Z6Jj)??8Y;g))+arN=m#%AadR%oxNqpPrXls4abZ4g?-Bg7wn=RSMO zdlq62YA@_2Yi-BbJ>e)J$~(>uXT!OXJ-HdhBYHyopdTxHYy2^%1OI;qJp2nZ{?mS@ z@h>p=OKK=73MaOJJB6?k(bUq1L&4p%5J`PR0LmsK-Vu>ypc!fu=u!Qy*&R8^`q|mo ztC(T10u*31GZo0DvpSL#95z`ig9hqqZV6&?G`TVCdE#deTcPGFUcaPxKSOb~^a_`x zM|mV=B)7`@eg8Ux@c+l$o506iRsH`>X&^w$4A4TLR8k0#T9mYcHk3$Oip;bVNC6=Q z9?kQx7!)4TOoQfvbZ3r-jr1Za7V{f@p1RH#4l%fwjGY{a0()`q~u* zSh(za{T+SGIHYi0fBs00K0JMoJ*77?_SYB&;b$K%=(B4r4vvvU{oQE&<;df;lY4ij z6FV**nL}l@>%2M#47o9;!f5*YMfVq**~x$LU%K@ERVH=+V==qc=KCcLchZ9OkL9_^ z8c2;o(c%xf$IGFe3Ly*jgg!h)Tq}6>Fip^QjcP2u)_?k?tE9~Vw@tO zuO9rPP4?9mS4sCMmYH`TS9ux?*R9~bv% zD@LU4OSHA|$Gi4}zfZp>^=OMpuC@*5)9;af{BP23zaH(xDzvMfOuIMibLoU{dHUQQ zDPBMMS!#P#L%4p|{`@u2-p_lqE#sLES<9xoRFg25O1kv#0>bq@8XHlk2W_PtXhV7XHZ|jdX5|M!!*`N{r3Y+r=8u9<2ttRwFLJfP)Sp zORKjUZ`V$s8LJ9 zD+d%Wd~I8I@GHGzOuOh|bnqF!EYiX1raXA5zFw;!JVl@duOy`yK>R#d`ek{v&|q?Lj)b{<$M1eXNXJEKBv<37kUM zPQ29eH!ZHonV(7MI2_%+Ykf_ZPXD@zA%eKdc3oruDE;0J-Jf#@J!>d|=VlFcgML`s z4|2qjzT*fl#|ejJ2M1rt4~D|)b1(+B{<*JeOeCVxa7~|$4L!4?ZuDdXfOR;;cpf0w@m&w&M|5}-x%m% zP|X{uRm^9BepuU2{ORWNQh5#z)y(IL{CtpqdzjD4+jBrq4ZHINo6k=R$F4Ymv4{Gx zs~9_?u@7)#i;vyd&H1sb82c6CrXJxC{~pGkpBvklqCreCIcZGs%I_Uh@SBb^r%Oi; zJ*H&&kqj40&3)epfIC;qHATR0!v7CQ)8d%wuA%W53j>LTr81_2(PlfJV4dhvj>(-^L$p zx*gPDh+~H)+v~Xhb_i1;J{t{=$V~>T*d}8IR6=Z;$m#B|Wkbd{!QgPr?Bhj)=>5oo?;;(1AD~bQH`J$FxbXPm%cpB zo$7k^ahGNV5nNZ76Q>|C36z{$)eS{`YVAuUveR4o-K0j z4sC-KmRn+fAM&-heQGd~dD}^MwvVBHAH{#qgYzu_NIhD@iHflo3w!DSZdgP8%$Fi`@@Oy7Y_c&@g)zB)ilzrl}+QURuvEn z=DoBHL);CxW?U2z=_-WBI(KzP=3AgKH5nZ}WsFrU_3%G6!9R zFg%{E?;1+q&FC2MNFqIn>T;`MBQ|kTP`PT#-=I?FuG164H*r3#9~Z8aTrCmy5PV!=XkcsCggQl zZET%d;_1O8UUA$cmX2|Hb#iy?-DhGe-#@+cg=nng4fJjaJ?iElN;7@^7ImtWRr&xF zPfz7y1{O?yEcC?(jfgRL%Ht1WA*{19CzsF~?x@plTe614 za6<7%MH%uYUbo3x9-852s10pUcJv;nuD3SGb$oytUWo{+>`)mcJ0!U3c*jCPoZ+pE8;BTzvW-+m=O;@fp9&6cz-EF@Tq~(<5vRv?Goj1Y zllT^+{`nw}a-wyh{8|g1@>w3RR0DLOqrI`ZEWrkH2|G^h*LtpbRLHK0sz9)1+hMPb zFDL1RVMzZ7_ahRA7C*a)ac5B}`WCdt*Ky($CRPTpHv9WkvIDfNN-aJr zK1B^Fyv91KER#a=fy4~>K@5+}0{A%jv#$d+y3bL9-NodTUv@Tyc#me z!cZa$rYZO5aM+?R`)1UNy-~+wkL~@b%U_*-W~iTK@M}Yk<8bOgfP;O+ZZB39{E=v< zz)w7IA1irAZ95+yf$M-xSaB_wRO(49dzVz5(Pv#=ccU_i$+btj+XkB=4=%P?WNss! zDhsY;>*299KI(LIo_~YvfI`yk%6_MZLhbR@#y>Y)pC6hMRdOMLqpD!L;*y}DLihpH za`W|Xz=1*gziUzi+D!Z zcUa+%M9G6=e2^FV%z=@7@t>O??zmau{af3Ygd3`$Yab8V%x7|jioq|uKeRkH5=!JW z9o0N2%g9y-|DEs;1xFRB`?j~KoO z?M;a=28#Ja*=F_9qH5ST?b00Jy%=DH=T(t7ZaF4$D~J>M9TA{JKT8EfE^U?j#!jws zlSFEYttvGR3-Ot0wFOqnvsVn_e9U@jN4-t);?CN}{hiqO>(QausPbY1P|H4H8-E`5 z$qU#gmhgKNd1S}xC8@F2$_DBL-_5)B*$y1d{_q8R3Jd#;lC{T*1Gt6HQ+cRz3GjBT)YW#1vR0kF>fHN5Qm&;iwF?W$eEuolh%6|*ZM2@A+6}SCBK4$c zBHmSw_>{*!7}ftwPW*pVQn68|CcMV5%0savr-3jpuz0q)q;E_jD~Ns?6hu0Ebpm?m zyoN6_eHw)PMze;@k(_7h!H589pVS068({!pOq54Y*6X~#+5~;@iHPogM$Xxjg#liP z)0j6zKt9%yI#}B4KwVrjYI|lquPY9?LGphdc?GkqKN)AR4t+Gpzyi@6%jj}PrCUO) z_{*0;Z_R59Ok#grLY4`%d>WE@+rACV4dUN<4oVI$~Z(|cT)~N5;Po1 zxO>%{XA?EsW^FUbWTKEKcQ@`YDivbZ2bWhA$w=WBjj2?qk=v8%N_SVnZ!nKl(> z+Mx0IivX3U{A2DSNu5kD=Z`59?*TDoq8U(9X9Ji`P9n4SDrto=VO63caU80&t8zsZ0S>qI{3Yr zhaWP>3foZ=CvR;KE(k>5T1}JI)}o~}GrpwlIkB3?>e*;4TNr0}f-4v+FaNctwfD?E z$O1mj@z@WhUXVj<2Lq@{hFF8>Vw*Wx41e2eT&=yBfCl(21CH%@x39&wT+a=^>DpU= z+^cdZG9y?zgo=8HwgM8fhBNozhrMfYXf~){@Tl;_IlFs@G^}nO{~1O?TY++v?$rS0H!&Bm+bO**mDsPqYslVH*qhY#q)JsRnju0P)|K;!X#)&Eq74g5KogV%zxg$R~HJn~|Mcs5|9EXTUzB{UamWmTt zTV6Y>k@C|!^cMw!ig#iDzfduj6m?W|Lg&zQZ;7IuQqvIkJeo_tps(-t`npkbXYV8= zBON$s1#QD?|zRy+1*hhEJQyk0mPZoW3Qg-71sNt#fBI zhwAo&OHjA(Jq(0$7F(;-?8#VcS9g!{_haDrLe0K0L~54Ly-YUU(d&ID2rira2H6IJ zf{Bg%)IxKJjN{q)DdPQrrc^vdQ>^rT}gQ~Y(umaP`OicFP%y+!a zm(RV-g3PDEzYN+&HwBHF`KW&5rkw)9Zut+2b*-=?+tRgs1-{bm3(I@UOsC!J-|a$w+xpb*UO$KW9R|$V?<5d1W|`M=!CQ7967ufhAI93R?o;u4`sR6bZ_iCXkMy(; z{a_OWff=x79k3hhCJ#So6NTpYGr{G#>HIz?%KH3Z{VOs3jrmpN^49s(LmC)@ z)O%I%!?*j!lE}L%6ECzFZ2q6j!>8Ey&QVA|LnNPbhzAqhRLXlzAgJy=?7y{tk1SAb zub%@0%HIeKO@hX}l86L{yyNr(s==Q5`ekEZ*Uy3-J8e#($m&HM9N@D#nwci6=B3%y ziS$`)NZyY}>NiP0P<3XP6se!U4!R#Yfo=iW9U8oC;zj z8^#Ftyt&f4-w58d3LTbtFW51-H){sJd9xS3Ge2-T!0;RMu#IZS3J=l4oPTHeTW-(_ z6)fiI@_;Z!aOO_LuI2C6>U--;Ov2nFaA*(FSX!HTt zOqU!auMK?^^hWK)^-7`$je_p%Br0?A_WRQkLVCID!i)l_MQCtF0qCuei{o~)y+DB( zs4~DHp9=P+;Jv(VUU%DF#z5vfeD4bEQ%393`oJfOIT-myAuhTy|CW8U2A=XbV&&N2 z9!KUwiv@?j>2Snc(4P`0qRt$5kIfe#{KI^Vdss);{}=mW3A_Ydd?e*>_`or{(H287o^; zH%jN#C}+qjy10?zhTr(v1}#?uaOSP44q&SG{!p9lJnOi4x+Qy>Zq!Y8?&(F-z4at6 zzc&^CsjKRTH>YaNxH|mTIY)kH?yfB3Ls1bYl*qq* zt&j>0vYCZ>V+Fz{S$};i!f#v|f~2P{Ve+#&ryo@V5%Y71wgTy4&%IY)5}Z0GOcn9G zSELz(p+)0of1aa!_rcM>4p8|qs_>qx=wynYj0m+H*s=7!2OOR&f<<3-crFL9ms|%) zeku@Pm%Jsw!j-ezo{0(o9E`0dv$EBvNOU<57Y}k-bCC|Fn=U z;oZV7XYv1Ck^@YDmD{3U*~OyIbc>e!2E$(TRliyY>Wr#(IRDIPJ>ho*!23S^z!YC= zt|mWgMhHWe^rKfs_2+CJgB2KLf7s#s&i=Frf)0K+=HV9;ypSK#`JL_DWppL-vTgrS z+!hc^>k1xh-~;X4$VsZLH}??f-k6mUd@y?BTYU#qDQpL9NDMb41r+udAWyggIjT; zU^Q|v&8)1pe-W*cMQOWwNDB);5pdV&ObZgwnyyf6LB58rP`5VtMFo?xAtL5!4yr$~ z%jGw0&lz#6JET5zlT;VSW_;Q|22Ajpd?ZW){GeNOLmj(zwOIp3Fd5GD$3!j|C0eXt3| z5VgaHOf0c0XE2eur)GmaFdNqR#`gr0tAi&*EA#~>{AKR^+#Y-**ViZe7v6az`88vY z-H`yT__v>4k1i+Vy8PmyMbjIp2TY+s#0E%-HHgltIhAP_`gp%nRpvL?6jn)cb8yW8 zp=J*f8IS%{Ssj zy$XKI_m^{KXYgzOb`=P#&Y(zGsl<86Q-y!s`r31(y#oSqf$+$Kld2XaD$n6>9e>Y` zrS@^DPjO}xd5|aQm1WGOpCgXQnNN%}(*r5{mqR9&BqC>Si9C2dFV5dGZn@g=%U^tp z+9$h@E{R3X{1fzb?O78^Iaz^|eiZJOt?}fRU`>A^(IusHz-Ezon|NPL)u1Idy4!Rw zGp=t!v&9I3f$(@^@K_VeP7gV5_M0@PT!@-Ci|Lyz2nj_8nbk`D5ruH0Qi-R>Z~_um zjlqHv#+S#S>yg|T)j`AO)%T#xZABSJMSZ6W`o6U9zCRlFt@|%q3T0{V?s6nvzu>i-+yzf{94y5spu&$#VM@+NGD=u> zUx8Si;L|8rI3JXpk=)oif?YxAdOG&jw>Y2)|NfLYBVv#)mRCWljNTWj)=W6G`vi5; z9<<$3G%(zPV^aK00IhXkcA9+`!g`LZJ{fsvIP6bu!CAOpk1=hmeKeL$VP)*yr)}=c z4{>`&H1gatc!{)FXfPdZbS+0;;@+HHAsFJNTt9-vRRT!oMZ>*1sP2ie%eC zMUr~1J@ASI4lYzA$62sJUXOyl+Jm!meZ9K-=#t;FtLo>J(kVUq%1_Mr`7l4V;_ghp z?EYssz2Sq3ruTv#zy>HwuSoFc_N7P^q4bL6i|$jT8qP(sNM|zD{eZB`RiVab_S4m%qd9z!gY0+I7%{xUex4U}15g z{=uS)MCwC^i`4fZBOiU3UeZH8J&+{I5RM4Pho4C^rU5X{SA&U8q@^h@(#_2Sw8KgdaJnA!*p6o^6(=YL~UB)i7EQsIG-F@Y{$sha9V=Gri zu3Z1MQx*>Ge0{%_D+i?qCez8wzI6WIk{dc-AFwhL9krqJjR99~_|k^#{N#p}nL(pA zU%B#>pZ#i8a-|;1m@M=5MbH|K{BPuU<$UDnA*KIB0C4p#IYn}GAWy12s>DRn|970G z;!15uNps8$*}7YAY;uy*`_$Vod#!v8I30H1$GJnebP?QO+ux#8t8MaQeKMkb^NUaS zLjz;q-m$(=|7!H|;GSna9Hr)?8ml}rx=%*x>F?+%f&Xtm7yoW@`^Tm{|K5u{Q_}S= z`+HlZj4vgimf7DG&d&bpkuK5-#LcBX&zieukMayk_mRppeh`W^KA($9=00@Al2@q= z3jYLm_LH0B%anP;K-1AIpnSj}-Bf2v&eBJ0-(*Tox|fEUv>FcFPny8YJY}sJ<*#*G z#<%!Zjcd^^vp@^U)fMKuS(iS`oZO-`VWefUNQpWJ*S`69chGviNtF79;yoWCM2js^ zo7AwseamwC&$)&n((b7<2w}7Le`{~FZ-FvUz)wlzgFb9tz$gotl8GKm!1%<&ZWB|M|5YVC<+ zWo06DS7nE9W<`~?G z+&o>n%SUO<+xy>u@9wAnyYT%{Z}@8a=-~@Ay!8PbWhaGY7bYxnYYodTh@Tvsm2LsP zTVzWKvf0Z7R%}5-X%4LAF1Z>flLH|60RS+})lgMM4X5;g4h`$=)d`UY{kXtxi9K-R z0=YTg0BTCFfcP-p!n_7iCG<(G(%fYe*j+=P=p-v?8LZ#dOStuLoH3?effOK4A|{!q z3PDyR;v9YcfO&cNHE49;;f`(ycn*lpVixd>VBi$E{1RoW2xyJb?1h%WAfUkvl!_HC zo>$>u7IQGeAH>~?f*G*3cikwOe!Bo>LqTgU<-!d`Irces0jJOdw?{acThZVY-1Dao z1Cf~4K`8Uy9)Sa-{x8F)>i-}3EO_dF6F$>V7VUHq#Otgb`YcZPR-EuY|2vpLuv7sN zGW#GhluKP1(xST;(Fbq*vDci4uSOpHH_rbRjDN?UdyK!Ec;vq|{?tClcldv$B*!1k z@_%(`C0<=g-iThsGGdJmig3;UH7@{=65J@=t+VmG&VB#*Sz{{Oj%L%8yqOR~&7YJ5 z{x0<+QFEEuG^b_u{JHPnu;!{cZ51>dO*7Sp`cvB=8U~-BK0xLI-|ob@@8A6Q=}%Bi zEIs6zn_PF+>Zh2QnQGr^U)$eww{qRUg=Gp9y&ujoKj-i?dAKICd|PGt^2y%c(z-u3 z?D@MXB`|<(69-Hdt+VBl&}hbVf=^lZg~QB1sq8zyDwU1hkki)_e~rHOG60tyDmQmW2(KcZlwy*9jyBFc=hqHRC6(Ni zn^7o-b(YN}mlreU0J4N51OZ&=)K^Z4^(l^nv$yu5(Y)x*Z0chp@93umjClEqV3#3m zt3Zg>agebI$FAf6p5L(GDFOR&Wo@6t0Yn|glO!=&b8?9-4wJ)WX<&m)j>eF+c$|ru zo?ABRoy=p_#G1zevu|6}bCQaB>X+1Z?lqaifwy-bQ~a#yX~oYhoLSAWq!<1n#@R<> z+dwXuOaAa4ClkkQr>nTpXX`Bc)b_tsLWq`(#AgvKIoOYT_{OJO9kH230Z~Xp@(VO|IdT>-KmqNtUM7JG=A&*O^@*FyO%BjR#exc_o zur!%LLHfP=ZpA^VD~WbxkqL@}LOaF=zPqK?YreY}M77Oa+H`Idmm4|`D)J3&>p))w z2;T_~x)``A^FdCf^{qsvGIvOr7+dJ56#F}VGcg1vnTksrqA(ySJp0c%3Z; z(+|=2*4bT|3VVOo0d37fPP+31rA}7olnv{Fu;tRp>qqY7Vz;^cIYkF8V zsQ~S&a0yCWPCm_q$$b{8BLEwUWl7snsEti$t1OdTWTN!gZ=gADBy z($@?>Cg(u*LCYh8Y`S#bmWq<>1!`EQ_e?&tAl4v3Nt*D?3NL^(y)c-#P!@NA1u4(P z(!{qJ=b|yr%2Ii-y_`FkE1VPnRbkRzWAMO1_$Hwz5R+3=9g~hB|77Uj<;K;%D0Qo} zh73b`yq2D>uAmG2m)jPK#U3Ku!AXzzf}yF054FFC=k)`ocewBKd$Mr5 zo8r*kMJ#S&Rq(fgS_w-RQ$trS~lsW2H_=^Z)CT| z6|}=52a`I7G;mlG2M7S;K8kV#lO^)=it^n2+6JEOi>8+EzlfIpJ|g zBE|nMDw9`Z*v0=mx@4Is8LGOWY9d~75Z^C&_hmLuBqGn1S^&;g^B$I6yO#fI)kL%uA0K+1J4tB2Vg{rO(i|-15KL14bEjc1z-63>1 zns$>E@(6RfM3FGJ!_VJ0?S(nmz}P*sn>}(w69vezQBrY3PX3WG7Em{TVc01DQ>`QXl^wrFn5#8zp)=e9)l$bL5iI_KavOIn9#ds@=I z!oCvTRib&2H35OSGWtvtT=_i<)66LX4MnN|+E|{i(hVo-(z3D%q$6i$gEB!A{L0M8 zp{FXi{~TG?QTzd0S_ip%6L2DP5O|=~>A|@bPuF4o?VR-wQca{#5~+b)uz7xeb~^9P zc_C5rr&-Ucza}Au=>R_$pC)u2#z^R;=>GQpz3y*kJu$4P!79WC!O$JiT;?OdnPvdWwa92PHdVlQd-o&tEB4M+TqYa zw>SRb2rpucHem{rJ$^G=X1OT2h!}u&&(X&Wy$J&nW+9ljLi?YgahGzBOX`*4bkPyQ!)oc3WVts_;zO5)o6xyCq*bJO*V*4YD_7`m zq1J7d0_d_|Z}d;S_|_{BunNJo4Im8!=Mb~mUkJgo{a$z5A#h-J1a`MGO6ND zOwRj00A2(8irJr6&f-PVhbyeHQwC~uh3Q{4;~3lmyQasEft)7Hl{uT}(1{f#%W!VV zCOUgZJhX|9{j$EMYU9vV3uJ3O!X8}maZm)gkl3?h;eF(9zbUw6%S@PN4S zI+0$RAu0avl!?Hxt6M=x2_^QuY;>KWLVh(x{;j!dng#0xU%eRfrce$5$zK%DhS8C0 zzJ81il8QrE?lsLW3}l(b>GtPRPj2GvZeGQ%FnU1}#LHvJ0c4B1?R@@nEN|h$9gS$T zxU2NceW!{Bw0oyl14KS|^}P%uI$ei_7TiqYMNb|NE?Uu>X0OP3y2RhpkMXkIL<0b7#p5;kixa!#mkj*7a=TBB?X}wW-@>wU|hUNPm=xlaEL?wX`zv=xn?s zXnPuJ&FwdvgEK_{F1C{{{ldk>|E+GT`=y6ac<=YU0bClYQ@8&6^6N*n*zRo`wTJMl zUJ}Gh!rZs#p2Fr?ij?T*F>d~aXUMEe54x7{ecJ)nq~Aa!q9*j6IiB+xI4Um~*n*`^ zz5vcDy)>o^8FAGY@n@c}6rIM;2zet#M0=LQBP*5T%WKu}IG2P-;~S~c9o&dKaJR6m zh}@`DEB~&uJmlb_FGe-@hZG(1rApNV9Gz;9W@Cba)cb|{ zEy)4FI{ZtsL;bEyDmpkknt9!Q0uXB-;bV7j!7vRX$XJ{$&Y_3lxLf~@5t29@&AGmH zO+4Ms{iEyKUd(=z5$4w(;`1MOUnf{^f)NfrVSgoN+;AlrIF4V6a4M! zp%2ae(1jBW&02CQ@$WhD;_Zi@=jk8p&y;;-NeJe=>}@}Q7|Bi$HYWSY5RX;1K=(7B zy~be8`l-n7)O*qhtx?^fg2DC>>BBhJvj+g4s7#D&Ffslz>+ZZynq2PI(dLtWK{nj8 z*+2GJs%^)EgL*I4If#aY{N7UpI{tVyzy5M9-NM053V1duL=4X;WCQlAH7wjP6H-l= zp1zEOV@Ez90x)pJI5~FRN_qLIdgnO!Q9I3&9>`+2K zR0*&Q_o4$tS}x-iMa1)wUi?403!<2Q45V67mE415LkM76Oy+03Y%Q~X8p{~C?@S*^ zqk=R!K-zZ$p2sYWZV%6ezv*Xr-9=9h0Ng+)W^(|jasc2fm6cK|*K}>2IA$(YsvtPb zNZTTW=47ybsb6vS`>Kx%CiXIaM?VYU2tS90o}qmKxJC29L?I0C#BaLv*h3?hU$y;L zPL@I^GC9B=8=ol*I^^IAu4YahIU)6*(acLG&XjQqyHJEuch?My(tzunxy?B{(+qSr z{LLJ86;|+)tY>GA{}o>6{?p%!Di6^Z40M|%0%S)@KHNcA)`y{Za-xxlUQ~QCBKIClE+(e*Wl@ z{exH99lylz;7~tPyCRZm4t2Yt`sB;?!~Yy#`O<*1Q!|e#)BOm~wH{NSzTEC+{wsa# z{s?{Cqdw3#EVM535=1vKl{hAvk*P08Gre##-Gj1&9S?pOIro)cRN#MyhZxlCduoDg z$wG4=YcfPSt^q~kxvfs|#mJqjfYH1ytt7?+$f>kBw}JCvk$JZmIzPvYwO?XAiPV0n z>Cx=5AQ7`?*r*@L4yPQ*no%p39YNFJsV7bMR}0p!Cx#QcP^9ksPiz1AOzVhv`fA{_ zrR@b5zheI>AkDo-fR<)Ut}#gI1a|AEnaT8O7zH40LWyxfxg7-0E&#Y^cTv$h*&1g2 zi9VJ;-~nb@t*7|3{ORXie%(2EgNzC0?vTN#{HwtJ-c~7xiSmJV+247U&+}J&vd#WJ zU%W5aOU2{D7d`r zR`s5vIHr^A6_K<}-qR@IT4%ZHDxoLxg)fX)_jb1w$Z}&NTUpDz*FyeJva44`j4a%6w( z+Zoe@60`RCJ)V3d^EOhFJDQK8fF$w9zw@mR0e+$r;3mJHr?*Oa3r@=QmpZR*< zSWAt8TTWuGC0 z#VQ5qq(StTPE=v_=nWPPsPzV>3I>Ya;J27e6*vcKLB3_i;@|5f)$%_${r+-ZzqjNZ z4WXwbUHYjcholerv7_k*c}+UN6SfzWk;?>N#$eWbi{W#>;mSAh@c?_J}B zls+MKWi<0I^-LWfwkYM~1&YuEdwgQ$1U4xdQL>19k^P0ywQ%sh60svAAvoY|QTf&f zMdg-^(vTe-e3r~JaHh_kqCTB5rA8ceknPd4>pZrJt@RxO!H=T`y_@8R6sZW13Bz`I9bm;?!OCW6({aasQs)2>G zyxp)2YJ(3(BBeGYl22!p_nNmJf>l2&v=lOL=J!l_>L@xt^hLr3UjGSDO6^=BB%tS( z+TVvvb@hzs$vY*sX4a9HqSSx5*U=HQ;~job0;NP;f$VGz#%g+4W%=-uW#+a6)utVh zOuwKP_P}e`g~x%UzsIigo)c^lDJei*r=D#{PoYbA5xhd7h#PO@<(lM(G;Af2@1GK% zEg;j5!}4U>A2$hb<$0b?-Sd!6CD)m}dKH7hkxn}~QkB7C=&uW=ydi=;=KdVPHbJm= z5q9k zb{9rt+SSGDV%#F*T$)X6)UJgq$j%MR@K1t!62I1}z^*F{pDhnITCrI7)i#OeQC5N8 zl2j+lEy1y)Umf#@Ry;fI{*`0Ld30kHyo=c}3@@AS!2B1xAA`)<4ZX?V9(=0jIbIc` zJ}2stZh3I9F{_$?1O)nQ&8V=d>@yhlHV0)LDd-|j(L510&&&D!a!{1M8+ zv(K^MhSg^4v#-i8F*xPE!sTSH$hk9OBWSj*@4dC;lo|RplgdP6(O7Dzi-_T3xge^5 znDQ%TouC3qsZ;ZDv3&@Msc0l89#b>-0X%@76$7vR6%_F!qRXPyt+d|%`}lo zcC;SsjV-aFbucygm`6KBW><~cg8h(&kL1L_b#nSIM7#J!qQTvSKvhj7J!JPiDqYGe z{Vdx~f&b??nKoekfwsRyz6&xw@g+Ht!h5@Zu5Kd1TSn2>*Ub(+wM@SvSjZAFk zVnHCX6SAmteVU3T6k@D-Kazd{Sze!fq&`)VsQGK;#v71kk$Kbkx1IndX<~D>#Hm!M z>ltcZj7QG-b3A#}A&Hum@knA_JefEIxS^S;BB1lVk@Tl{F_8k`aZWZ~!c#?S4rjX* zPd=u-?m4Ne2A7?asywE?=Gn;2yO|>QE%cAL{LHP9>;KAZKqQLlxx|PkNpz?mv9Ufq z>4P}uteHc6<$I^chi{&g9(+I|ea;8WW7=7=G+5hA01paclKt&g@fc;yy|bsRUhCmE zR>fYhh}y*-V2Q>S(cdP1riai4ro{jD*a(V|O)Js%GoBtWI<8<-k_s2=gWI;aZW?6V zI?P`H6ink>08%dfnFJm72CfOj_sc%2*={oYAcvrRGY5g5`kFsSZZ6e_KHY3nYefhvF70vwaY+ z*{%yj%y(vBF?%co%hL(M59w2Wy5_)=pz15dAfcgw1leuSFt~`M9Z24bvHi}2gmDFu zmBCy~gSD)sK0(s((;|>;@v+NdkocSuVHpy0-)vl=74(?0K`3)^28)MewQ%RN)b$yx zegy3D`4WJj0$tY(G%kvz(HYrO?YxVK1Vts^Qkor^i$J7L`N5+i5XpB3j26)c2DGJb zv8%JcY%AjFlW{k;(go&SEKOD+RZ=J<*QrZB1TWDM?hs!=v%SZKAg3`*@SCe>8?J}B zKqGGNQ?f~2#9VDV!cxJ{jn!d0k&N1UD zaE7DfFw}GRYOQ_(o5G=*TakQOtTB);!|B;N&B+%n7fLb53Xu><1m|s8EIpoT?#~N> z{SglR%Q82z=b$pC>5s8UsoL@AJPJL;JpSbw?sS&ebnO7qosP)=B!;u)NOmg0sQO4;>Qd zMNe?utK_Sb{zJ{odPVt-A4EFeF#UiwcwJ(oJ~g-+HKFqBvcEP*ZqlJ}x7n@PIvYLn zbmYcQA|T!Kt#eBGWfteO?qEGkPrOSC(yAO3!Q$*TJF%*t*w(X_aUh6M7#;vwjd%T&o|1zWU4 zGLuNMS3hOuO8EEPW`WbhgXAfPAFC659b<;g<5VO_a0-^~I)o$9)SejecS#FW$QTVv z(U}AiW3nt!&^M;13V~XrLMrYxd1>BlRLJ*WVIYZ9NoDNz`nO%=@vWkdalRe9Emcdw8}t{=YY?DT*`>UE74<#cN87^MiSNf?GJEPl8t zK^@TaDOJA*S3kI15YRIyx=9oQPYEH?FWSS4n?w~&m_APT4mj0a7>0?rIoQWvIs!Mf zihP|l#%p4wKi-u?pElDM`mkwJ4;|_1!rEYr;~j5Cm8drODL!IdoSVtw!*^;9SQ&8$ zDQ{&Y(l|4-pYn^Fi4yztZxCmm`&2kCSEFQwEQ>Q+qkXeoz??` zUn*(b5=_n{W_4ijJ=ZY_C&2~e0J}%1>Z|WRx%&`bwRH&3sYXWxkn(*5b&DiDi+SPGxVaP9PfZ ztz(5ooehZ;R^57$4vHHUgdts@no!0@&pLer1eLX5_H%L3ynM&rS{Q7hM0FC-JWwnn(|6 z+IV!y*~!8EG6_r=0kXY|x&bR%BZ)L#6lTymI5U|J5^x?$T>t2S+)3K0$?+zKC8A2< zwGREn781UF9!3kN`D;z{AWf4vo!j8eb8V4IE!LqOW?3B`X+LAlgo^GHtbYI2;Oz;n z{uncp$B>OZvylFC#m|?gwtF~^L00T7xbd9UGCKZV!F|VuqiP^ED{G!dN&3tOfA+!T^dL9fFr*%6EmsXz&7oRZN$&Qv(l??Q(WrNKjA-VL~O`(Fr0IhsTcyBzu4;T*UnU6d>VFSynuL~iUd%T zA@&`R<8F+;R+u(gB3YO)X7La5NT5BOI*@I@m7f?hZNabg1X>i`^cj5ecu@qp~O6 zIrj9x^^C{F+EPXciGma}< zFU~bSb+dDg+m@{vW|#QA-?%J$n%EwJ8uG2r$4=(z!QK98rrDypdeF79P{WqImcajF zdNg^7Nc`zZLTFUD5;Q{DBxI<6ruMQfYcV8bK|Mp<^l#O& z^fpzO%Prm1vxHlZrT=BITlyD%Zl0?TUpo5b2E|%BKPchs`TTdLUq}_&80i&ZDnb{u z0!h3H#jw8FKMHwx{tZ2Oc;oN$JbcY-aLf09Y&iMJ7xp(4d*K;{D1it&AThJD`AqV-_EQO+c=vi_$n0`y zdrUBMW^iTQe__^LR@s=HPS$G4oI{9d5)n$_%>KL&9l#OnxqLm$T|lDs-lM($a7MBx zBv$?|4~Z|o3M3Za2PABl>_l1fFQ4o_J9%2fR5BAmn@7_B0n@}gcXzj8)zyAwB_ZD5 zm9ntxm-+Dn`|%Uy9H;!9PI_b;QQ@;cCH{^qI1o;+Pd=+`5pwE=mcf`q$;xv{qL?(> z>XX^}Ss6rNc@`Y( z$KNiQnrpEjq-ebRtvw9aGel8nx!8;43!S$o%^aE9$4at}JtpeJh>&S$Baz zb#PWh(nyKY>C!vO$&Gnup$edU{x%RswH+{1rEOMq_HgVYi)`|XzdWGYWsk_4OVlqt z3NA;ejl`%Tl(MJYSxB-aTGB@!sbr4D-R(8~es{ z=C{yKPpIabLBp1^ zEcv;dfkP0L3p{w-pJ2E2&g{==I}PpV8H-F!g>2a}6Q7Oh#|oBRdLK}d3JJ1POLU#@ z17c?2KP>wr_oOk{?4I1AClxLXWZ>{;`+5UL@*`ND>IIj~etB29TYtg%5@dnbz2SkZ z+>YTPpLEg-Dq2pRK=Z`95H!Jy-_OJ4V8I2Kg@X%3_k_T5xn6^k^(YS(XxV`UN7Jy^ z?$zRbC6vuq8)Ud^M$Vt~u+9FVv}JI=d-!!dYz%>;`s2BsCv||*r61D-fpcAO={=gC zyo+RqYlBLd^66=lMD`5@yMRkd_NRX9WWmrZGX={K;&g3RDv*8oWl2mdrdqyzCs^B`C!QC&nA+RffeN#T8@Fr~7shc>$_xN0a z6yC54`=<(EZU|t74LjK$ZrCNLb%Sq8-sI5O{uZ`Zp|74s}D?~j`YKTXtk0GpMbK?m?B zp`>VA8;RXz^Gdp?1=U&m&6|b2NN~(OLL7NNHSX?Z(pL|d2XS14YHG7K9~FOJ95%bQ z%prt4iy2VOb@~dQUq?#l3}oFD-4t>vDGE_rZ+EQ9(Z}xn1zo(q^Gfjl__6P~+Y`+Z z>}= zE~B!g#E%Hl|KJE`avy)@)uCz zNtAwr3`)QK>!Bq<`&<`RM8}q1bsZ^oU+_PmUrO(I`@Md_1^OX1=;s%zX4;VG%R1K& zqy8){*qQVJW4hQ1u{;J?uOa>l0K=<v_%si2Re9To|g6pJONHE;;zt$LJdy7qx7(tR>hLLBlU6HBFaU{ryHQgG0A6bHMSK?5V*3iy-rZ<(ToC zY$kVS&y;4?Lc=L_{ACSx0E8t>Y3I9J0&C<0*I(&uQgU3g@^mgn@hXEk8P}ntYeml2 zw#3$sb1PdruEJKhc3hSIu9@2*GN;Wl`8@P@34c3l$7-&v916Zgl1=)XP_3==78#9Z z*`xw0ztpL$UvmvfKdh~5(O{jmT`5f!u*TYhx4&lu!NYbvWF||^J+!vYFTc)~&2tZi zjumRhf1R~4>xVl)7isdrePLG}`l|odbad!XY;8xuN|!F-r_R~~b1yIEd+=rda(d7s za|NPB`jr`$u?|)iS2+fE#*W3Ae`9;62Tb4RJKVd%^#AO9mic=ikkpix-p+eCI+k24 zK=t`d4A1zDsMw}GjqmXH4Z83$ra*t3VEUtqXXuY1x9X4CP%ItUAS0BoC$D7Zm0AK;vpPrf8-!8iBw~a8mKwv`n|YGxPGf06&L|PZR)B-TcVBcTM}s zHWLRrzSD84^dRNWd1%e6xBbv_L*~wogS3O&6=1XBQj=TY({>SLh1M)uJKUfROb!Tz5Qy^xCk?)KZkHcW zePwW%2s}(%6V0DZiibz*GevMSs&PJ#R&^&iFqZl?O^rA_kLZ zV}3kY@UA{0bOi%Zd7m=MKL;v%c%EGR3*PVZUG?wy;}}Ta&#_UcYZi~Ubku%u(-Ekc zt8j-nAL-c-ZE|tTm{s&psz~xLIE~W7PT!Z(OF#bxmE7-pN1pFNog?Ilu`rZ&B&lIX z)>=W>)Dc(`X?}O19SXSD{D%s{T1bdN!S=m|^sXiP)4eK@GPRRPIbA{!=5q=lk=e42 zU2GU2I)5Zy$bU=_UbG)e-k?r8Yp zTuUrzL)RxKY~F=>5cm*pjfK09;J8_y0?aFud2p}xXJo-qdHBLbiBlApdu)xMxs!KEU05MTDhG-Ep4gU7FU_9jLOLhTcj3+OR&?|21h~Imki?%sb zRV|CEmprQ8`X;Cv@O72%tz-ZHmUZ=q6NE0)Nittk!@e}u(DmoT9lEM==(^!zhc4!~ zXo-4OPKjMmzdj2yE_QQHYy@@=g~>$*LOYBTlR;nl1r3J3>0dY>haM67!h%gRLM62( z2Tw!ll(6mWN@(F2Ef49J)RfISY=KvYDYyZIWg8*`!dFm-vp`j?iXwvw5u7v7h#%f6E(4cX(lwyv)nYFpW>%^ zPyTgHv&_F?N5=47VHVd`Wf)5IFen_y<0iciaf z$=4Oqv{~!OH=U}JpxDEIh}q^n3K!ln`8V2RiEc9cN_isPL}2^M3h9+tav&)a+bq!V9+}#Ssl9E&B=aUQ@F7+SLQx=p*^JbF}=-}9JC$%|A9Gq`3#L&95`oE zS9hUNoxHHS3Ua2x82mEQPc1BzfaX{+*yKh#yv35*WBJ0B$T(tG|GZ)*MyKbs23!Reva~MFGJV!f7?mO5VCE% z>*KbtkL=?)*y+O_-96EQ`JsoB&F_;1 z{JBU2aR2ixlOpVYzvgjgyF;fr7cZqvZyt??y_-@r0n(NIP7ykKedz_C5WnTc@VUQj z&+v&XI3lkf+RYwB%m4?BLPzITMzDLcsv8XX=rpe1eJ4vMhuJx;QAV`Zxmtrw49!pQ zjk$Ks$t%l*7aFA_VL|)Nn#B0FO>^aj`+3SU*Wz&zgA$$-ANL0jnzK0Q7%?&(^F4W_kv0A|(~N_539*SY!$_k=*4yTd8$@cgK|3r5*1n{0hCl!%37 za@!=6v0-^QDWf>RJGWY(0AfVM*AZ>#-m+|%-Zx8xbE2<*J1hog7UTn~DI+}SCWWHI zp74B)#?#K$%-*xJCi5yg_@bDoIoioj694JH7@uYJ=|9y>Si)bW-sm^QVa+f}yOUZL zQ%#MluvDZ35?&G47WJ5&DHM~VbeBucN)4{8CqAgrs+FL$&U!zwQlAA51tH6v9He*y zndZ-9*-ZaYqNICEBIWx)-HMjlW8K6Q-2(E9WK}Xkn5ZdZ8W-id&--K}RSG%2_vs;VabYF-p?ol?YMdZP{vb{CHe{|*g zqPy7s2N$vJWdK{>D8Ifk!Ky;c1%7M;eO@)ZgA514<*}NQ$Zad&X?)c^Dd6^&UXab+ zrS)0=;r_F*|J2uZ8DFUPKD!*>N0+};mqq`9ksEF$A9nzq^|eeJe?%YaOWD#)KkeFg zPwT?}v)s-HP7niznfTfJ@>8(>t8(-K`~aQ#t-iKX>r-^hAlR45Yw?l2_iz3~&Sp34 zjSQ~bVid9}a^)7?);DUy%2iy}cWeH#zB1j%x4H9mI@!}@eSHCsW!m~?`Sl@p&G9WJ zP7nF(8n}%OZ-+UIL^z$EsN-lGrgaJRH?Ban&f$|}s4z_%w zNFDrrScU1w-3yhRk_(#$KeqFL&_e-z_lvgFsXiV5Bz`0Q(po8`<8D`@9$B*{a4sg z0pk0VZ{K(X`G$XV&+@JB@y*`wvZoJ`{lXV}u~D|q@o(t*F!|ay{XhTj(SIM)D3GuJ z57YmDzWO2bzpe-USM$RE2K`^z3vvGg`u`#HUs^=}w-(X=kZ*bVzrF|k+gZnA`S&p| zUr~LzgL^53g4@xWYzmX>ba2NMeN}JUVM^Fz0VCWSYS=vf5v9?+m_mEifmd$*5Cu8V zE69QWT?Hxq5?OE)fb3I8{_7Q?d~4gOeX2;wm+gl{ zHIt)}+kCYSr!4;srTNwsy@j-tHPfXvP0GX&DjnqrKIzg+qx%~DZNDT(5nA{8 zYNjy4=qsU%E4o~8q?)M1trqmeFJQqD1y{(ACBFpFVZ?3Be%_B^jso0OWAf>h+32XJi`B(?yZoG+(774iQiJmQhCEpWSN>;j8hoJ8Cl=~H{dM%A z>;Jrdf$J>%j%Q2$2c<1c7r7+Z+Hisqe}fLPaPo{jSnd?d*Iyk_5=^cVS8Y>fB^=nK zMKy979Dm>6DA{sUb!YAGzaXdU!NFNXf-NF4v)X)n3|Y+)0QDFg$V{P>I`a(u{z;O@ zj=0!iuo0f7{}uQYTgEcaC*vYZBL}mDwDf#jL!G2jC3mfTY#fibM4t1 zlyRnhL@afbX2~IN?|2OE<3O0fK|NDQW%Kkou4TIR9L6)~#FM8%jwfC2$Z;ugS=2#& z3M$l5rFe2eHT?lk;)9i`Od=g@-lH|s+Gb?531m&6MhI`?qz<2b%*VR&YdTybsJ zEDe=^J^}@t1EO~N5LyL6<6n8|Y*6;XM+9yN)78n-mnJ1@%Vp~$1SbmB09JX7bPpMB!lyIgdks5e3 zL~%6bzJ}cV+@zBFn$2xSjX-br!!(84$O~vY%MoYl8Zf82pbxq8N$I0LEp~!(HaSsU zhc_JEcWt?7q(YdjhDIW{1C-3C#WP|)dCRNfy5vN$k9jLvX&6q~6&*E5uqG6M!BgZ~ zCE|@`c0myaXmt*kDIdp99|cd|M8=JM%%fkhE!W&D#8~+0A+O*b4g?BPtR<9Cmhvq^ zc1QU$FS@)OvmZkLBkP)2)=|^1^$`8O~}dOH9~?)*i1$g{zK{Qe{6h{ipai%$069ZPNh(JWv8#q=^?`$);$`vH35=*gYkTi884z{sVAJ?FUB z&=HYEwN;K6ZeTUIA?Eq zkWPeX>^c!P@@Qc~mSlc-1%q*Ukx%l?%4< zWL)=(Gv}|Eb+k~5%37d^zwEbQcT}LWK)s%%O1j9|uUfA0cScq&*1O#s=Wm~Nq)|Yu zbR9ngYo2z8KHD8KIc>)o?RBC06-XA*%*9VQ^($ECb4r0@K~AYf>3h8zOfdL<$ZMPN z-w!2mqbqp(2A4~xq(SR3lhcD z{V|TQ-@E|E-kfJ_|HOJNg}B-rbsOZh)_da z%)M0C08o@u+TQ5xc-Ft0agFq|xAhvFAEdtm7k@n_G@|D2Frq;x-K+l5QBIm-V~%g& z*eC}w*F_fm-7w$_LWFI?cT(rZCZj0i42IrYeUt6mZzk-n!CfttDNe}CsKwjCvt4RU; zp&eHr)KNmHj+u4nbu_VPj?A)yhgfFW^{-RhB<-H&lFL4JijvFxq99YZa1RIuXO0cb zSO!kIw&|8cNwA$<;K+lq(QE2PGYB%xy&SxFyao&33~SzU#x#7+WIAexU18wS{!g-D ziT#}j?U;Gb`4Hmw)7u262B$IxJRMwlWw*<$Ygsl}?em#+7ybzd-1ikAaQEXf;0Dd^ zCkQC6Ytk$=Y{+0+`+}WXJHO`^e)7pKtFD2-udpuy+GhSK5+A%_w26;h>d6^K#yY_r z=l9~8jOx=C(063PDdExn&K(FfkBL3pL)=kYcDVt?U3Pd@S+E%CXX%H{Jr{i4Q!IGd zms#-rkJ*CL-EZ20n>EcAkX?DGE%^3-xCQ(42eLlT_=Ll>BZ{ydba<(qtIOOmr>bA; z)u5d2WZI|Bt8?-lYDJkMt-Ux;U4-D5AL61$6|V2BZM{glAa$tL@5usx6YwUSN^*=X}^Kk7|z^`?q!LR-U2S1i!S!}~zI@sX%+1DKW8gm4*&uB+5 z)nZ*nW#7C~lM+0G1(FT808R*h5hu8*hfAF)ie{S?oJ#06R#Q6iSk9Zx`;!qg_M#bn z&>xq*cejq%Q#Z)BJ5JzrRJ(hlqrHk0)~&Mn0hYrp31p!n_Ry;fp=a`$`GZ!F8A^x- zmZL1T2B0t*Wd5*G$Q+`bNp+k&8_jJ@_SlH4k7@B+en2E+x|VB$l5dGGAu@jg(@_;{ z*S|f)ZwhW?1f-@iQixY~LNxfhK$6d$k%WvIw>d>sWydLdTc4SmdzT83eE0P=PR+~r z#ei9Mjyp$*<#CQ#GtK-AE(UdFXDBjDHx{$ zVsqC#Z(X?~p0V`(l^y=OaH41=-aQOA|&={`qpA8*{ZR8>kLY zQ;j0*2GrC;f0CL~l(9ff)elByUH(O-KQn%?d#y3vAKrJ2*CNJiSN`)s#&~~z#W7x9 zQs3}#F`lLYRX01_A%_G8x0iuTn?n?F{wBoRhqOfAuT$OHEcDzJJUZ9eOSz7CTrBs0 zaCUFGe{){$hqi{EUt;bq=L`NYj>?kBf zpE(M-KI}FB*X@6%fLcEWylX}UZVDw`bqFj@15yv9i-WDd8sd)W#~l3ccoO*YN*!L7 zleSYNZ(>ZxMt^<2c;4L7bz;<5_OPJZBDP2i^NsPFOBa^xNpezo(4ueakYWs0Wvi4f zU70?(1pDhOykl$o$wKR_{SWJvRAUK{gN?qHTl~|>56z>Rw{eY+0+~5K4>K3Wp^Y_R zbtH+rCh6zhM%D6HbRx^NE}WVX8@r{Gx0U{F9yPKb`JmhZ?;HJPPj}koPn@LNuYMFa4xK|?$1V=(<62_CNy zJBIo}36&@Ty%(JK*AIY}x4eZRGykO*?87=frjCQnp~t z<^=jmQzsa^C{cNO91_x=FP=Ih>gX?)y;M^UY@iU>4jEz*+^7yCs!8?>8mYc1M2>sj zVMzRynJrsp?rLFF9usHv#X46+#nw%VSIpl&d$HKFNvzQz7%sLEp;|>$!U;TN*bjb; z6(G|Lmvg8zcq@B%{_9ktH}AAwD!N&uj=*e({gsepYCH8sehRwY#b+({Mz_k5_$%BV zNN<{axHyn477i75wMLSu&Q4n5dPccy3J&2OJ2f;K#p)XuxowrqMmJnYvuvOo1Syj_ zq4M-`u27m^Wbgz`i#PD#{D2e7Gi%Kn3}?V%Gm5r+2ve>;>qD7xuBonyZxm;C=uvve$Nq@F4i-YA$d#WOcGo#GlHamec8^;BaCdhU7dD8;OQ?O2-F^*ynOBu4urJ`jr@pWr zY&)~>DQ2$^{ez=J)46E>8cMwTy`RKi<^#gTfL-X=&kS<5MoVzA%seQAQURswwqRzw zc)HAtL?UNqm|SVW%vf)+SG&`|ECtf+&nxp(B{O6A?L}tBMf15(?sj_1SsCw6Qm68g zQnPDNFva)RD6@qrK%p_SFh;HC{_)cj$wtmG*VQp)*xIiN;xHkCZvp(rxa9lH~X+zJl)^wM))J{6yw0w}-oe%};-z zoyAO|m8@_0A=J$AXN;lZytHS9!6sDg&wU1H+vu)j!rIf0Y& zAgmlNq2=q;L2&Cd4+v0`la$wD6erT+koJC6kq7;`};lT zq)qYr{r-KCbI$jBKi}8$b=}uJ6dm-;T(*3TH|CGFEdTvpAGMDAvZm|_f%k2aOxo>S zK%0x3a%{cce%Z+V(h1@q}M3EEr-q4%+Htgbyh+4zB?nL8w@pxDNSFV2d zDC!sa_3JY1Vi5KJ|Ezq8t*VwdO5z_<@#P{|Ts=ogKjy>0pYBLa;NgHK?j<;C;}s_-9w5L$RAY&#mipnO{V+_$!*a4DWs6cKlIZA@-^Gt~AQ%|bi) zE?>CiGSv1OU$`Gvt(Syb=TwpEFJdw~LjBc8tFq*eP}}3G86TD!q-+r+EJV(g2Q>C# z$n@`-uSo7(#?dT5Q6T4yeM5rC*M`e&z|pO8IDT4*wQpm7*+`8l=eApcUusH9g*T3j>4z3{WYdC&_V6@EqpL+-!Hrq_^G?+>q7d#=C zIpy3_6WGV5SOoVwm@^$5K?gyV;Ptr9j?^%*5zdo!1rHTF0gZ#=wND>&0ud0jb{sue zZWSvlivO&QWjl+32VMh3azzd6<@5_>4ESCNN|NOtiM0L)=&z1nDCqwaJ4$%YyYrs4$3=R~&rs`J zUht#5I{w2Ka#FkUmFTe+3g<+wh8gtEZ(O3ZQG2M`gg@zd>Nsb=;z@4PU@8>qUFr~P zcr?FD-Fs_Z?&0eATn2UUi&l)GsF9|<7$zflJ=FRSepbh4GJ;X-Q)F_VNtQIqyDJ;3 zE4GGOe@BT)?X0N?PE7)|WbP2}mfgKxwy z@zv62e&(&=tGAjzJLc?Kpt4D*gX5I*pZf*8xyO77t2ZU4jK8X&y#I$Mciocqok+`f z`o%f08eax(7Qbp|<>i}R%%>ELrF>3mzsZ1nQv01_y6kzIZ+;Er(?F&RWV{p0NF)wI zwr<%ewBV;y(b8#C;VgF&vLyP6BR;g?IistAZQ!Ib*ds#rl(3LF;C&~RgoSGJq5s^( zjpt+76$1_&(2?S{B~$PIuum>SHc<-^F&(TyJ8qcb#su13DTbW(q6xoV{GvD6Ya}vV zi2=Au&cC{4aHwsBKSUe81)rvyZQZhSXu*k~K-Tnbw&_jcndY~g=E;9C#l)d|Y$1Zl zPAGQ{$>%S3X5bph3}H>+AuBhb%DsP>_a-USKW_RN69H@yoiPK~oEu0_S!UqnFSz*I znbYyUeDXV!7M^?4NelHNuMKE_=WRKJ>}Po|J}+?qjUX*MEhrKPcS-P$6 z&tXL`tI|{rNT7Tsk}=@h7%)KQOe9__b4EUD>uee{t~2>FQO$mK1^LI6^z@E+zaigj z@{+#A)B9n-G%&QF%vL+_XI_SsfLT6n3wBk0xV1Nz^gCByWl};_=%(e!GOfLk$#DFt zs#Km$vT0N}aRO63vC3qveXYaU%&qYYBm{y%io#ce-@WryzpCw%CdQD4k2FvjeE8{{ ze7|c7AwKzFA7~i=+-3#r^^h~kp8Ix>_)&CUDhX6uP0SmV60y%k`b`7|W|UZ3?f9qx zP`?5BUd`W~S)oq5;Q&zvMjsH@`S4xW7rsa0tV-@{{iesCUQZvsbDIwBZ+6@5O-OTF zZ_B)WTedfOO@qv0k^(|@P-H+*ghRJGC^86>SKG?Q3&ef9=&o%YX(&5WXJ*a2D42J6 z#WJ?3H%m*mvi)w?wiA+l`hAT% zx#v@UU7+XR=eg={{g^zZiM+g=120f&$5cII)v%jf zCbgeAW`g(2@n1sN&1`Fi4I}GS{H0FvP=tw$?N;Bi;xGOH5cv9?p)7iu0TJ|F0O@CWe)>4ly4>C>#BUGr}$ye=+>r!?WTe;e|X z4InkaX0kzvg7d8ti)QkPzu6tprOVVzt<$PaD}nmBDVPT%6Q9^1(pV*3*w|T%hKGt1 z4s4E^A&Lzm)>`k6_|F81i&aSBi}48z`MPd?y6fz1l8AGiDiB+xgGO-SLv57=kye71JfO#JPdc?J9ZqpSKz@xlcPg((+9f@a7)zC13(r zATK08%~JULf`>bQ8{A*Sc&C)e`T=%LEESU|f!G%kki~;D$_UTF>^2Esas1@`aO^TT z>6{t_b43>-m{Ug98LNa%LiFHij$?VJbKOJg)@}L?ehNO@o&Di-IED|OJ*=REN6!|$ zZA^{<#hvD9kbWyGuG<0pk6{WSl=n6rFU#_T(4#XBM>;xm`SA*w`Pc}O_XqJKB%njv z)`b>4?eiD21p`F#UntH6T526t6r6b^F6v#+G1SL8oqz09)ctn$X!k^e67Bat>}4hgvx6Z1D`^cT`E z^n_7od%P!4)lOf8C*7HIk=dwFu=X6X?y_gi+Jh>sjX+61>h!~)lNyV8hzz3|hfG%u zUs|JFxqdw4S7MMpRi;uW54rV8mEM}=Dmj$*)jLRm!FFdjfe-L;D;j&wyEcr>am{@u zbIg2MGKW*AL^?LBxp?t=ADHCv-DjNPMw3qqANhsOd|+D<&uPmE=c$%g^Lu0@Fx5TZ zg=D~qVOQF^Psi?gb(achB?wGbv=^NUdK|7(%{IC9io%?xGcfectQs*Od{9B-;W+W# zJ(*>Y@%P(zXK7Y@_bADmQ5+E8LC1_DZYL{gt^DjLY;~kRx&{}r9U?lb(B-!}zL4N= zrZ!ql0!ap3V>jTN>xGy)iW$`xedE4@;$VBp2Mx0=GtWnH-p= zF`7u)`yS4ML4ZH&*G6wqjoj_--48vt``(Aw(BB@qX}t z5Zy?c!*bomYGwhjTqRV42uX8CLg%#as3+>58@|w~kV+v4RwQ7AcGzzpd#sUaAW%Wfth?cQ7awG>TcM zH7-hBm!Uv5zwi3C3o1$aFmR#`Iyxncl;>g?NdvQGu+pjO*hlY#8aA|68=BfBcvPz| zREhuuz>*0t!HLDpn7m!KA5pRi6(lpLtZztwwc8!4==;9r%icTt%q76TKgT*Q`yvz9 z9)=MxT{8+G|C8vK;}uY}C&Y!lH`j`XLbTk4fFXN@s@oW{OW@s4RtqvGR1!C`(>c&Q z-Lt?^uQiSzbN|~5A9Md(j|irUQi(-<%5Q;s{?&hs#k=_VZF`mDt70v^wlb=4!u(+R z)3;YONv|V=E`RkrUFL4nrFFGa?>DtMjG!z0sU4iG!Nhy{2*9TfnJkg_x8ukr0lPqV z;R*3+I^e?nkI(jcJ^Z1>%JrtI?YAhx{gK|>zuLox-NOPNdi6Z&&^+^P*S#VRHfBID zc|LZ5^bQ*Q9izSJ2*~k@Dn}?*Kri{%TDjs-(E}wiFY*q?7c9cMqN<27nixqx-Xq`i zyGT8dZrZ+N`RC*k_2uIwnjgZ{Qa)v$^X$_XuK3+;?|q~6HvYQ~mSEuXdBhKmhDR~W z8qvYcsPFy9QbA6=Z znNaJ!ysM7a%~jGBrM(<_C;hhc1b0ds6$DG4}23N$uy3 z$>kC^?{=C7*|^I>$>Gqb^9jkor0v#sD*(@P?_)j8X=%fX z>!{K7R~$dae(K#Z#$g6DS=HD@KvLDv@XNK*EQzYYSa8TwEqPz|iVJ_1IQ?>845vQ+ ztYOGbzwFlF0XL7&Ac9R8RRmZlq^86^?;PVSAAv6Lq_2+#Q9~|@2$udm$(aR%{*7`& zBL?S*ybb3d5uUP-;t2fcCJQBa=s?Iq(>{`rwrCV+8crW|QQE14wSV3*6EuHUL~@^B z%G3l*hw6ej|3b~dK@DLCK5-#yZwV^W#(S_n#xO?2n#&Z3!HmGV;{C=|^SDb$q)B?0 z{gUf@5SDL;cm@wCwzZ66j9ZO+C*I}C{LnAcW8=QbSDLYOTYP=|PJcp9=kjW=))Bx^ z+pqo7HcO7oHd}By8v8z6fH$CNn(wdtZoUR^8U9M7EDZjKgdTm^oN$<78xLoF+iZ8z zhCgpZGt$`APis@ZyDTW2$`8J&LiRvY3^<5Gc%Z_`h z*$@2vlI_{qkFh;-6m4HKHlIVhY!y1l!ZyMxqVeO)BUhK(bdCXi+H5}BU(9Mv+z*Yr zJ$q0Z&A64e|64E5nj8hwwNtxg{|dEPI6D+V;}$%LU@vlTi%2U4gR8{DUEa~*+zmRN z-u1=64%s(8nm-5`39^rod~;`bEF5!FXwgcf2)WTmePkJuC*{VH`r3vW|_ zcz!s(+lS!=&xLO8G7`U-j_u2m;LB3J0E9zX1tqIgfp*`(0LVV1w`r^h;`H4F1k#;) z57Az%PpWtGDKrBlBUQZ?A}P#_$V-e&lAhrjoA1_v%x~jW$GV9E^5s-t&dO6aEqiYQa!PvWfDECn^W6ke}iU0Ftm`7PL#7m(w^-w5)?~ zBGq*=v2phPEIjFXC$=9rpgNvEDL#YPJ>f*GCppaq;WKvuh$1C>nc5adnJy{%81rY`) zgphS4Y2R(k|Ht*Z?NfRjM~~I9 z_0^+S=`M02jRv^*jEa{VkE%|blB@WNR}pqcF5q&Q<6qI`c7df<*2_fYb<4!2EpWLm zIhfX_#U~AbulH~taq@F4_(ruhdcQsvfdEOV!I$ckPB{`EwO1rQeXsmU?FWxB!AvE< z;I-Zz|JFjvDC%}Vdy*B^a`*p;lm*Z-A@)3==*VC-S=b`xUPW%iy(%Jv+k5T2ql7>9 zW>3B0(X0qx%ER%Yt5OV^a7c-&KQ|sgWZg9f09mP#CPitdyVZ_mPskt!bbX_@L?I96 zyg`4v!+vyOYVtbx>K!x*e2MiibtgY6KEfN$Ll=4RLw>q%=kTpV_E*YhI*@k*s*8|n zSF2cx77oA2?SYVrJ}vnaAr)oRwZE179i%@LI;#>ZT_X7ucvdxDAf&1qu#AvOwdDEi zNLmqa^8c}{nJ@o`Tju2FgxZ`WsFS)AY42nPh276FJqc}TMh8)Zv5V2s0b#CZJr)J3HwB*I>JZ#J3zUK6M-8Sb9uXFTT95RNavGUq|`IaoyX-I}G9)1#Oo(Io^nT z7xKq~l~*34ezPfi^@z^s=oL1;aK%4nV~-sW-sRX0C>a(Tj`;GScUQ%8q95Kd6IVke z|GgL2BRvGtq!-rzlBGZ21B1%apPl@_*w)GyG|;>@*zbo8E2IwyU8E26@TmwGNmh!0 z`OL}%@s%!vIFNf95F1D_{jeP}77e`XZJ_8w z?`czO0x5y=={76@&s1Qkqu9)-3Wy$lqz_I*6st~Lv^ic((9tMCE6idN8@hDTa*@4axvOS9)j;(JDS8N+QjF2IG`1z}O>3vPSchr%3gvK?-p4l{)@b!y~rR7a8? zwg^b!cC+~VW?n{pZs#rf(2~Ch4xH2)jqf+1_jxGH5{k*V0Q9c)-U2@y{>}Z4;P;WR zQK6vBS5hIx34|3V5b@>=`&tADdaWvo6Nn_=PCIoR{rM4N^XU&5t<*7c@J<&|%LX0x zl_xt=CZtPTbwoyqxDvVmdFo$gn@vMG;ZI)-k3O~sye`tp^k`*P6ZYVp_iYx%tq<{yE{V{M(4a|2H{;<;XkP2!PaX? zG4`k)#0x@ip|>Z7HC!fQ2?XvwQW`pjJF{34mz65>cEy{G0nc4KW6%3sO&R7!Vs|y= ztP;DK5>;P$Rg5W;SH(UdhnX8GQI|MCoXFdwg*!zL(LgXDGGBcbvM=aA1FUx$Kn}WY-YCa8?Giql&SfO!Yj+rJhfW5)*4xcsXmp_d0#o0I}{(tk;k5ifdZ*$vG;|{3Qr-peO%)^Pkq`FA1 z?z~I5#2KvwD$EX-gLl{-4wax_{51IcI`^N277ont?<%!dLpMa&V!uM?BsEyPs)Ue| zc7__Zmgl(Xq=g&Yxe1n4q@JP_G ztF=++-DLG~W9=9kTJ8L*R?~aC&|k=otZf=l;e zS#-bBXNR~oiPx0*J6pD$5!ag@jL5dugq*DVm3mn~pZ-C#433c0WUzNz7pZr6gL1;# zB0&qI4%b7?rPs<2S<$T!L5o@nVu%RNBWui7U6o0MHw4N?QZS1C7fY*QXFt@sqb zypWv)e63eC=QN$(GN&-7v08nXsBb#r)=u@^p?g^b8+t>dWhvYvR`oK5Kd}}Sk%9V# z(=s;>R}kR0>{)j8w320M;~W~4hO*Hh$+4Xs5MTDu(cjm%TfeWjbdvu%uj+T*rhcAT zw{Ma8AZy(&?Qh*i`sJCttrkbRwNSQX!D{^<7t5B&8@#)}I*vYU{j$}u`&HS9T6U|u zUpL@zB2Hp8tPnTVu>$ZP!f7@zW1#>|(qp2Ee59Lqj>Jac zs6W)|5Ahze`n#e*=OSE6z>IRrO7sl>VIuFg$IM~)iv{=wqeL}zWN^hT{-?WcxA@6r z4ldmK?Us>GfCRg1iRcEFpkDD8#cB^)qJRgzWK9}O*BrO5gS;-Sx|=c5%86`_epIZQ zcVczCFiOtv_avc}N;BoOL~VW)SIj@pw`6-@xGx(wYqg95&?*H@7ft;>{k}9c$Txmt z1jVf!Wuvt_nfNnuBVK!gJ*{nsCMIwOZdvG>gLn{4Ohxc#Gm#|5l0Rd8c%xi4d#fu}&x*);2zN9o=1M7z;3tEQ##STZD@ABx{KaRo$-Arz zFa&#eghfFLSi4S?wyZ5tg3vq$~zn%3umbVg;65Q4!<{!vI4l zfqw4ZRE1lgDl~6qxc6B-w-O~-BInysaN;sxnc{i;FNhP&WG&=QpmMBWYZa+T|S# zspzojd%5YE@73ST9SxP~`^!iy8<S>L@>X-PkO(EE@`u9f6-fZ{pmzsMw1kD>yt$y#9vih_9`t+;*YXO6mjhHOZ z1moi`XwbpOZxh^@+C>UqtMZ~p_%ix4`4_;kapdV(+xX2$B8(MuWz!qBe+;EeHDl|& zaxSuP@Q2&sN%m@7Vd@cE_ihh}VaMkwn%S`Y5-7?dAcE5h6clyWMPwz-o%1rN3>V5s` z<@Yna>HSa7!CzMX$~64enSYSb)BgyGzjETR?5L}p9{s1-$N z01b`SGz%AlkeMMeCrK)j&i_BZ$Im5d79=(}`D$Gw=a%N=>+(BEL*&|i}WUf z!`=61&9Y+}ApS>k$!J9B$@`%zaLF4k10pbcJw!KPNFwj#2aNEHY(t6~xOjUhs=qiJ z;s1c`aH+pYo8HI z&!k1-7)1bM7dirXa$!;jWn9_TD`0Yi!>v~|`#f}@4hc>2d7?z7M8C1s&Dk0=FEDD9P&xy@q&gb8fZu^vljbSr0KpaJzcRt70XqT z{2WuXgS0PYsny-yE4cvZ4+mM1b<<^{`1Q|a6$>mBdfmF*zyQW-U{KD&%vg+ZnCj)Y$Q>m^H*Xh zn>8PL$m=~H-`cxfa1&wyM7f#YBP{6Qg{cQrCf}>h@u4X@e|Bi$H#6`7j@zn+Yhbjs zV0Z(_jgZcIAxf}qJfFbxDLkitb5?HB@Is>U+ZJIX=1G?!)2VFIXU- zhZSj|SY#92;FlaNiq)d-{xVN&tk64XlvtSTbiTH$twrU{rr5?hL~|_|Ogo~3M?c7ALFg+a3+t^mSzkngT37)k_#|6*am(M5`7W#Z|x`cI75%Ty}s~gtMy?^ zuDO zQjai59&v0*N#L`AR=|9i|9YF}p|&OJ(nQi>d;CB^e0aRMFhxV^AZ?NSWG7$bz#=(w zZ?|77e2b(n{%r}5{uGa)5Oyy>aAo6|NTRu~`1iZ>1oErBia$G$FG`V!e$rlrZfvm$ z07b$&D)fe1CtNi?0iZYzG4J%+)Xjk9pXULV6;GtW^5XvlVA9ebz`TkGeEP|X$s{c)s2VK8w)B0s^Y1}K}*@foD{JirvqwK_O3ajySKFmwrP+| zF;r=l9@hyOpS1m&pX-;*UURd5h1z~W+y1IQ`CsW({|;7K)*v<@EviW~-PQLuOEaYt zA4#A{tvYO%H5yDGS(|WlKbug(3P#l*oAB_HZWBsu6OLvR>^|(YfwR2tgfjL41#7%u z3usnGqkntZB#i!j72SL9T=l=+J2KOMhVB`CHT${z(v_Pj3(1>=gDOP;55bKx?yR@% z=>2#7HH;NK%TR#{sH~Cl0jz?5qHG7D6nH7ByMWlD;k$Wt{{Al zqU455iq9-eo^GiAW3!n0_t&%b)cdjNER4sPaE&ODMSSQymqI{hki6ecy1O^3;rIil zGk}JA?ga#`QS@yFq~pXd*a>NQ&?`vC8eFON-T3PapLCp9t7o(qyG<)^E!n1&f1OP! zH_mGJXLHJGUE}_~P~3R7=-9V);rL;}zLmXi`(|XSfi0JKH5b~mO%hjXTD`gBp@gpq$s=DH@jb+t| zGsjT<{ic6_#DA=VijXSwsmFx)=CH91XcP%pmi!*TK;+ekLdrlNlG7wI^n>k^kdZIF zt^fWK_#*!Qi5=s<@ZZ7LKQjEOOi%@ASr!nYrjV@{thB2nIS!Z0$Z8@+J9^PFV1(ROH)>`6zZ2s7M2haWGqzP|oY=A(v$ z-J05t6e%asNr~kV!eEx1Fe9y6?B=* zdu#wy2kIFT(vSb(163+P&Akd!3)KL4B-x==I-Z{fly7}RFDL)5PRqaK!o~kKYlyAC zH}|1FtK6g)tNb)TCmWLk;iddF$o01cFpJ|1TAzDAuLMhQx z>w2pl(<->kjhRHFwd!!+j+i&ImSA3tL1#|3~mi>$}30xXim6i?ua?BhS zPGe{F@RqOB-ClATu>5+Tbb+F#2s@B2ce87I#|EvU!>&Ce0PCbe;~WMh@*4CQ$X*Hv z8vZ1IFSHeKCzsf_e8p!r(gbtw%-*5n2=ZQ|9U}M?XJ1@r2(Dze{T=FMhqNms#K*1J zw8E69V0X`=?)rJZl&uv`9gZK1h7LH69j8oP>BJLll5k?xg5M-la5(edGZF z$CVO}Og}15{R{?!MeSCbjJNeYe;zyb|II$pr&1a_W6Po~I8F&R?wWl-G=5EhH3YLW z^k`0+c9dTp4Bq=KVGeE;y=#JwQ+M>CXnlWZ{brX0RFVt>od3Pm4ACE5kEeZw6MX5*nHtheBf5N}tDjW!LJGkEp1(eC-rZu0f%g8bg_xSkcWZ3{+A&QS! zyqf}YJ+S5oO^Eicq`4Fx5TSs+!QPd=8&8L0a2BPj8w}z%x(6HzfyB)_Pvb|1q!kIe z6&o)zj}}>=MPmFrKN8~~y9GV)$G>MI6Q>X!@%ql3xGl_w%Hus7{E@Ud!bgrQ^e(~U zsk?;|hSBx)NS6X!2yV?%R;FG zMc&QHY-(WunN;RZ=U-wZqCw9d~n~9dj?4pkvkH_a~eoFeaQgw z7Okq&VinwVBUFMe5prCv#G~nxE`QS+A@2~+-GK!cl8c+_1km8^T5lIbI@>5Ts2p#m>+VRuJ5b)-Q^l))W!)X?cbB;s>%gbgU9iT1 z@llqH8r#j}&&Bv!pKkWeBi`xn_^@NTY_M_uC$bK9&Uyyj&~FTa=v$9FKmCI|f0M6% z&k-4SNMDwYZ$s1S5EaOV4G~nVMu)$@#5aZ7Ch$*f}85btuy{z37Js^1wx?_ z(aiP*Q-`!xUh}?Bhr)H)<0kt%sK0#9FC`c+%JZ!RVjD4x;Eu)$O#pWPZ z>ZwWHEe(nwpCrBwY?D+a_>I*O-HM&B))OYh4so zR=m`q0QgtOOGQSnnVJ|1kYxo-u^e`3hcSaQbuxZUcED8Sw+NWpaKAQK#b6x38D;wf zOi>92A^af*PQ}J<)t%I1iK*H^*wl6bQ{GV)FlF@F8+nmy92j=16a-F@WY?~)61bG^Z@Vt22cW!(-IKhV~tMtOT!&+aGThVm0Yei)^K;rVZ39m41wKSps* zLu+N34P!S7)q6MRidXCeT}ZuFreJw6VoEav6z~5sm4HvpnkL*tf9Q0m&;8ZoS^YD9 zqXlyPy0F9--_`tr{6Dnp?5Gw*rr5-Yk_cPGAI%d*XG%_D*!dHul22hM9PE~$0nXQq zboGf%%qId(v5B13P3{8ik7Pmu>m0OylNQp@j$)Pt?axoJ$iRMKy{Zqazdiw2zbhNo z<=Jp2*V<3V)&~FRx)km`8-hEl{UMqOVG?f(~2&n&$ z;C;&xEcg(2}6}ELIyF=svlJtH)s6V4Bjk^gGym6FQ z(F~-^zPP{B55$8zAZy-K{&W}*Humq`@tOuDZ-Ye9B>oa`)uhZVbo}w9h!F98p^_!rw;Hon)j2Z z3gU&r5d1WYiGo%tfaMAlgSi(XVZ2?YOfEHGTLVwXE3m~0pd9rkqd>}MUf#o-`%H6x$f5M6Vb%oV+w(1$Krap3D(x} z>i6p5S?-8nopG=Su_PtM<+U}|4>`G74LCrp8r-%HZBAxvna4IK)2s<{7!37f`&Tq?z%-A+~!hY z5b6{#F!hQ*9QxH}1=GIraG5#tTtENi_p`*n1ioSd%nqxTWK}(os)#R7j;T@c1PSvc z>1WbZ?gjt{X(~7HYJ|E-6uhvu1kfNfOQm6};5cc7>_?C{mZNm~P2R~Zd=|KRQnFl9)T|9WPeLAosFoJVFKX{XoqVV*5 zE&{`8+M2LCD9{|X$Ov~|-69`=<RT(vsGn*C}we2?vl1A%eELHSZMb*zCmVo?-ep`sen>cRP5RdI$u~K2)vV#V zo%1_mr)&@`r>eHhEz4;_Cpe`v`MRJhK4gNKhFf@$VKb{1&PLsCOipQ z?d_Qy>blEy{Y=N?1#iwfOqo?WX*`l>-OR_N*c;xtXDS6_KzrQlpl7k89ZozNACc9K zmS95fGwS68^-{=E(@VGOMf%Uynd+!dgMJPUf1XOIVcQt2tU~aoXkP;`Mq?Z-TY!P@ z?l@d8`Hj$RSlzFN_*u(G;!8y!8ubu?i0(r>72HXdiRoAOSd9vK#y!U2sBrmz%PC}+b0-Sko#_ax)sy}!{0Q6Zg7n#o##HGy)UlRNpRj)Pdq*8> z{GuAMs@D6z-2@knsq?Eg^T}Q0B9QmL;;J_26>HFLpKW7W_;dtPgGr|YZtj6V&N_+F zb3YNrboJ8VSGi4}@#0r*)sE$z*ysqP-lhrUXOD?MZUZ6O%M3jBg%H6)5iLYH<{h7z zj|m~vCK0tdehw!#%w#@Bo`f{U`ivJ}b&DFkR8ZuqEJN_3O~G>v^CUqw%{hp*^`;*6Zj_qVoE0MstB{ z@7beVx0^LgT5w1)Af4Ft`dT6TO^!0oDdT=6QfJAV6rWP6%&9+pg*9!$WalysrbeJ2 z{!38remiD_>}kv>KfqD%TSwCbhK2=8=@+7xcht`$?7C#$-iTUS;KvpXDv|f=?<4a5 zb&W*cL#;c^(S9B`MwY|UpiJKLv3hlnZExKh$5z|?`0{+47Vk2t1g4rOe_n>Z!uo8E_<&+ZAWXT zSms5OStOL=(rRK6@L+X^7JaDJV=JO#p9?3xmn&QKqCu3dCaWO25B^b{?QLpPJRTL= zPhH80kZ8rq%O;8<=&dsDiBO7a8$BAkC6d?~Z^ausd6#|9ZHcu4K-hbxsq(2|*hSot z_Ja=D9iqS5TXu(vJ5UpT3pD(&C7`*!1M39}O}M1BvUC$Wg!uG3Jg?Ol4&t?iLgH%l zm=5gU{@WYv?M|2kO7#{KK`ApMpNfp#LqQCF6}DDxdMORTo%Gm&ICVNTwKe)}5S*3d z8>ny#pDP^MObKt5ZHU`2{70u52D>a1val_9fW*Q&n|{JE!Fc&M`oMT(Phh-_#?vtV_Qo`fs}?{y*>77v`@lHl&7Vsm zFQ)-8KgLFRchG{%l0^$USqtvxSAx0MbOVdR{nyqE^ur}n5&hWofv7Y4=I2+5pTz#1 zf;6f;%mG^T*#(W+n{?`SVu=&zwiQPNTVh55(-F*d@;mt$w@hKb+6uaQpZxwA*{`O} zgE}XQ^H1Rj#7>t8+SXK${#^N@rp6~7m>;d!+*n>sq!UQi^oDLcHXfYF`(~v=mfr9} zH_GSW2CIB2dX3*Zc>zX&Y4Pa?7AEWXMn`X7X&wFiWIFoE#R82Fy~`L#hZo(ML?eC4 zd0GiKSA+BZDY!}YqcU@(d&AcXR01P}xgVtbm&hDYYC&}7MNdA^v+WT;^S=e>#~?0K z@=4oocS`v4T;I+T zOTNN6f{ueUssgf*@X%}v-s@bv4*tvyED65BV4Dx=|MGP^{eL*Jk+1)+5#9kHo9**X zr>X+GJ^U8^$_M2|u3+#+t_t~-ij!lXPnrtbQu*`Eyl*OKsk~KRLT!q6NK2ivpLv@K zoaAZb49T-bq+6YMul-Y=e~hmF2sCBAv=OoUTl5@gP>{EQ7!Zs+t7btiF(7H>eFRu`v5!Mt*(E7?+b@H&bMY z6)RYj=j2zb#eUX^LWrnqZf;dD6zDhdtJpKi0BFA8(i@!+y2USQ%R|*dn=w`O$#26U zs+REEJV1$pTV}YbMSjs1H9^rb|F>I2m$^^9R`DD$QN6xd=&F`mQD54w3F`Ung!P+x zb$s%l>fOI3Y&L~jy#liv?6b|JZ6`8o{_busZqS(g)-!&7pks~)^%4a`uW*80vtO@8 zpYh^*7MWl-{Cp?a>1|rD>$=|wcAKrJgIw_;&wl%mic+3S?9k5*)5f? zyuxSW6-awt&3nEm+O47D4PqwprkN-@?TdYKz3bmb6pc-`5uelSMy$eu%r*Lq7k?bL z5uaP{My$8#5r=HVeMiQzyE=jx(s1kMp|GzW0mu?-UH)SB&;206+2kM1oBQ3^bJ5fN zvQft^fnNbaR_jfdVWA=~@27_hAU2ShYshM^rMW7{UHEP5*gB`2gCwboMCSFNMHeJ3 zm}yJe$S7L5<+7~~nxnyKWuZ<`C?Jw>50sks*I_>JpZ_Tizlh0iR%Iv&xf zl`ur)Y?i*Ia?;CeOh@B!D7v4{)>6ZF)L&v)X*Fxh&u;6!`0DFy#XmaFt+)yWD-M6U z9I;w6Tk>Cl*9}7Tu?67Zo8Q-%4*o+$I0v;p8^e=V-4AoDPu7$2*dZX_3B0iwlemnL5oCsJ<&v1mSDZXaLZ_Rz<+V!>K}UYl{WDb7v)|DLGjNOV zMtM4;RIsdANkHP+n|=p6=QsucFmy8G4!KJKG>sH98{hqrZW{MVQbGEdtIK4}Y({Mv{;1|I_7V1F!})?(%VUXz3>6bIC!1ty3d`y*ETj z<9Oc{G9U+w?B}y%#jFqlM}yiqm3AUdP41*}>Lx|ho(1~lHVq+CPC-!PI)y)WHjmb{ zEKxhL9#Ft1eH$`9Q*>7jy$0Lk-AlfOK#q&XNe*|i!r#vRzig#9YrfhX_MeruT$8Vn zNR2SOCTp=e6;n4n5EwD;Zh!@ZUMxE;<~cAuBGyp7lFOT2-IoHWsX=qBtT9Ki-#St zT551z{QLqVR+GP{+XE>e7Po0OvW(eKT@PO2TR#6> z%-hG!dj7lLP~wniE6)X>{}#3MnOwZ9E4|NSL{yu}U$g#IH1Mmd@6p z?h<)_IPAayqTe$YIGxRHa{yzm7lFdI`&?YyE;({U#%XU(jk_q@y1d4 zBtUJPTx~{`Pwb@d(KPJk_1mfsx&CJQS@ z^|e$*g>F}gKF|GVTa~eohUWa+2e78Te>*IvEWwXhDLH-3%^;=Bj|IOJt@)GCqKyVd zOY?X>Eh4 z^eNJzLnPGOrVJ9dRYHE7`>$1|ng>Pbg|1M9O`FI5*R|b#B<}?V{8cvnyv$$Q!s_^W zB{~su09L^KCtx|fxWH-)dspNC%JXU_qN>_i0&f9_22;zT+)G$eU2*W3Ch|Xx8IxMs zXY1^T^y_XxwdG+r1ue?guZ{dmtP;9_Hr@8=`-hc?SHI(@GndcC^?FT({9;j07qM$$ z=@tFg`CaTsTmL94*SRao0w<>4Vn13&URqHL{gl-$R+}-C4x9ZHK|X9$G(NS6ki2o9 zq`reyJO4*ePY8kyiK;dv2*Vm1iW`!*x>@7Od%1(MWVhfI7V+NY(TZp1jjWCj?IG{2 zZc{nAD8&WfRnUi%iyB{5@(yhLE@-c%GPVY;;rOF(RV6kH7~0?+!ckh4>tNKThNl&4 zZ(TVPN)%jJs~}EnK(<~ihCUNGtN1icLXjkI-wCa!nI%?8`Nq=In2_%+xyTt7#2(ZM zfbJI6yWW3e#LCbF;45<$g2VqCDFEndR+UmUXoCcn!>r#)B6&px7NO&+(Bn9k%gu)pma}#yEl<)aH95F6B?-!MRE|`lNZlWTd!_SJcn)uO0ik zAja7z7V9nl!)jl7N*cc(-^FYj^y4ADgU-4I_LUzr{!X65FjQ~I#jc)&2nE&DtKJ&> zk#RY9>o@f_^NAl<_4Yc$)!U$-)T>jy9{a%{Y?gjzed^`#+pm{A-PPOT*DF=MLY1cx zHVtt{Kd4l~=P=jVcV@`=g0AnEgE-#gn?ZazkKd(!y(&KUaP{`y-PJ4CE3mi5KHJRi z=*$^f-^a~VgE?dN^N22&ju!wAn^NyYms-C{oj&8mo93G660LQji{7S1mru3Fz-YTo zO{n4{Hs|Ln3hw)J*?^{b0?1BlYC^epz~4;8LH=y(47H86#~HkCp&9J2>eh)}+{2Ao zvbA!bWl#}30rzh7ZN?c}@$%!Va+e=p3VB!djgv8YLMo&d*nQZ#K+)-gQ_4GV=#%NA`*IXZMI@TcdIyVUY+|=gkxrjgE+x5Ek3GS+Sy}Eot9@R#irCo zS&<3lgY8Md>%P$G6KVP(MhitT!U2`giim8;rcC%WwbbVKY12d+NKoopXiZ4^MY3}% z!|luT%!KWo^G8i;dz*Fgd<^qxM&;xS;f&7%%f&ZAgDZu27O`zMS*#5fM&oFotd!zS zG#~a(zeqSBA;7Gc@rZUz=5eN^_ZubQA|0|(R)}g<`Gjc9uq-9dYVy#2G$$4QA>xb> zwgx9N|4*rHt!(dfP&wp9A1bF1-ZPa>CWc`|zj;DikI$}E`CLg6Nw$i49A_Qn?mtj; z_PZSEkS4h-oVzBKx70LAXK0;JmcoG7M`Cb`xBufiSiEO4qC=X$>zX^q-|OmeCO&g+74dNc5oBs$QWut3RdYlT5{%2y8JIL)Y<_jZClyUw_gu^a`GDl9{7|dT z{`y*pvNCkJ9;wz$HLsPJ1Mw%t&%cjmqP1Mi?7YFyHvKRb1UNRdR91A`q71fTQM(iJ zNlV|w`rKg?A9iGo#0HntOSO#=C7?VsnHC!!yvgy>%{&xUcL*BX(qv);t$U@bsUxl< z{yXyD5)1qQdWHi`4%_Q-U{aPE*__-s*J5Hxe!u{Y2`{w{)~NobLv3Rk&vhH)-Z(}Y zW_O@o1i6lj_wbsCPKp#ff48`!???z_7k=lcC4O&K zF@B2@h)0TXI>uViak8tLZ$*8Re~Dl3Hosnxep9cE&tg4G6udTYv~^jkSFC20eYTA$ z=hN{>4L=kxWBr zL$lfv+h5|h=~vJbEjK-jatPp-^68y>fWWg#_RZL%S@z9(Ug}_s6L_^?nyVUi0}nzA zGa-a(PHUoW0=)O`xsXbU;;SxpW;|ZEXcUCVSoNP$6CO9ZjP{Thjjc-ki3Bcq&jOUJ-|`i5y3uh{)VK$S7C_zccIw=p29Rt$?h!u(IoEU7b`2YcgFX7~Y; zbH+HLW%i9KS|IOv$qaC)THgTa=GjiPhJn7`KwZ!xf5dQ!{V>2IG>4%vm#uv^{Vld-jdnM z)ZzW^Gr?{G`I+D_jAUJHh` zI1;St)&5}G_iaTY9(I>8%bFZ2M08WG*k;P#>37OL=we-7)wo>OS0bMQs^o_<8Eq{b z;7oSPpa06N`9H)8r=E8&LWvJek{t7r@K@{ePI8@w5?hu03!+NoJeS1rsxMKT|k4mg~II@}cY(Ytr_M`_b)u`-KohWJLQa>fULei%gWSYWJh! zTbt|f4#F;hZ-CWA4>@Agu!Cb`q=q_?Bb2-<#`x~UkpNqYu zJJnz=ll<=V*q@8u1amR$rMpDI6JPY1%QOGP<}--K)4@mQTOW23Otmombg$M_T;BIR_k&l>t^uNfzN(59K*1;Hq_?_5d-!C0)NgjjX+3}*Lb8^7E+1CY3cAL8bslsF1zKG%<gCO z^h1**{vqcJ0lQ4E#-SCEno}RFq$rD4QAYH|8YJjcCm(?( zg^e5cK%(;FcXUSWze5Y|7QGa zus1uD{f$;^r3(IJ#({R{UUFZpCl>SB@(Z$<%GL}tCC$itC7Bo8Ei_hsKL5z*Lb4x zUvEvtQer@3#&riq$zO`VFZiTsykJ4;DVvJ||6y+~X%k{y$N zQ(l^8(ZGvu>3d?>Zx7WSpEsGMRO57jeG;;LfOw8{MOe%Up_`u4ZDG@dh)Zb$LUt9= z4~57|FGUkG36`}RWY^0Cfl5`UA{9(7YQ=v>AQ&PcDHH!K=IzsTrkDs;_7NIS_d)IqF!QtTt})yE=~R<^*vGD%^Fdn`0&rP7f;ay!j#vB$4lU-m%dk;_Ps+4dVMvRa{)d(=)XJa z(R>drH14Im&2OnATe&NWkY#kJyQT8aON}D@hIg0&yyy&PTQ_12Wms%=T$HkR7%xqK zt)c4Uh4v~#*Hsh(al@*9=z7gxq3az_K_(6=F*339DUM92C6S3*ea4G#KF`R+z~da5 z(AzYb_}xO02|u>3^@<__?IA&2Oh+N9MBVA{1UsA{F$*1X6z0T03OKpWU)&#{h)5aW zaCB$7#r}5eJfg!lT={VF1!%k36t~Q~3sLf^Xku9EwW+!6e|5!4`JuK)c%S+Q4v=Up z>8%7qBE3&XD*iKX?`iRaUyI12QXM}Pk4kmLsYQ)%K+ZXl9D5EDfc^I~K!JM$^hf#+ zb~HzvlAfeaeiUkHTDd+2aOlvQ_pVle`t?VdRO&xt39VebC~WDKXv0<%I|`p^|I>q- zuGkrHP};#iw1!aI)p~$5jzPzTd28`dr%oynMm}Ww94QkpEz$Qx-tspg6cZMc`3riL zZji3el= z&&Jo_U#ishk4hqM=xh8$j1S?>{OZg2=HW+~U_ft-?-#^5h`wz7GeA9~*ns-58VA&>ETC@D zXS}%c`v%nGsvJ=3Z2;8R|5{({O%Br-5_um?qkf{ee1F28@0zfEUZ1LVVwSxKH(m&O zvBSzuisDohdXyK*LQ+Ae1%LlbG?C8l^A|XcFZ>IP*tt`vJ*z0K8h#o|3}I~1_|Bh4 z69t1`otk@IM|DLwzwtGbytJ&qhqkZX1yF?^J#HK-H0&;~?Lx=1BuRKb*q;$<{`_EC zTgu>Bd;Uy3>&joJd6vCon^XgV`eQt@f+aond6wQdf!e&@lBO^ExDUg+>J8xV@t?cmoY0dT1t$bKISlFXn~35LvUN6r5nH}0vD2P3sQ?eU+WBVfGd_iCp{V*-A}F70NyehyVkW(k$7%ZIA9u% z+d(v6e&R;^*8i~d6m9lxvR9SD`=5e%fq#UJh1#Chdv>i($_s0CVu`kU&WD-v23wZc5I#T<3SNvI!$z!8Zh<=Vl@z&9& zzI2Hmzk)6;w%Pb}iFNiiaMMyU=19PMQ;h_SAFbErUObEjhl2#crX6Y!zU=n)a(hk3Y@q_@cth29Rr;d zdVI9iz(r)A01i^o_nr*6M^;$e=95R~dUGC!fehP=6-X5PGvXMCno&>P)gq4sZzEmfTg_*Z;sev2tW!VPmN|3*=EfLfUOzV{u-#Dhp z>!OAFC)r(+aD~1nhJAjqlh+^OCol**6?P$PtNfo?M<+>ZMO}o17G^V#*`JyF(1fV5 z22qn)S7*ib7nSyE%o6$-mA<0P!e6Ki8PXvF5D>D-5V5VKk!)_*NGMj%$rrO?$SdtC zo5&mfGT8s4TY(gMqEHwK<-@xG#||a;B_=}heG6ry@%yb#@=u_ngCBFlQUv}Hl&X$> zA5!T`R>v+ZOx_^m)h0j(*U*d;M`IfWpMUCux1vXI7}&Mh{3gLZ%e>3)%*J7j5m8D- zpgN^61j;0j$l!D~kC%PVqj!hm7iHp;I@k<>&|>?9ZS!feds*;B+n$!@?TfZk+p2vI z@|$JOzkK``jS|n)(iZ=p+IMyQPkyUaZ(*3C{3z##U_qUS9<2(5h10(83kxcHv}7mB zwx}%kdzC^k-o9A`W7;p%1jAlRSfCIDWBF1I1z~}ofv{j-bucbKP|=LaR3Dmg;wIoA zM&oG(H}wnkVG3>svqr(4Vr@G^w6EZ{XkE}^nmq-pf z$>3J8GL*OjUlZo=?nvw0qTHsWfPioUr(JQXn}etqltp9rTaZw7d@kR`X5uqT1<&QO zA&-gx3qX41F$0y%B1pe z|AM~P@x_Kl605v_y$EDn!udp}(fIQ*jRuY`ji&488X(8}d;tNP;UZ2_`*|~Lv>6cr zVnM=2|9yW_LX{)GU!uJTgcx9*uf4QrW)GsBq?oJ&FngQcHwR4KB8q(d&BQ-7J|Cy0Mf01;Qw@iW7aBY z7y$|*IoEk}j^1uX`e`aTMC~BOvIO5HW18y#6bX<(T$vBL+ zRM}@&$zoowCB%|iXP>$^?AHT`cOF(N-UBX6&DA@x5|tGjX|PW)9#e1f6j>7EjfWQ| zBlgWl#n`#@Gy3UB*PA;}iBJC~Vbvcs*2_>u?@udZ*9&yDFI|yx-MjZR$LVSUOt!9r zne;(t8MqePl4Xs9xb9#{lZ&x3oESg%o9t^qBHWOY3(fu@$rB<~=>7g?VQe6XCcp2Z zlq^0s$e&vxw5u|j20dc)%eX+H+>A0?b*1~Kc7+%e%+#C+iv_v^N3FV&(a%oKw~Q35 z_8d3$j_A{UhKDBSu(8=3v+sB5$9{guOCXcJe(Y$QZ~Y3)9_*?ZV>mGl;YmS!iM%gH z@67kr-cd8f!|V)~Qz#uqH40>%LJ3uT(iR%D+7-5t@o%F{O20wteil~_uH4f&y1zQo z^%+je~{+A8VODeX9~Jx z;mqOu>Ct9XsS=A|OX60-=y$TmM5n;Y#Aqy92E8{g%%K77V=sjk{X@%+qrCM#W~Zn# z4i~UqtW~s#^e99aaX1Ov@r96$scH?q_Yz;+N42FF%bZV}hkc4ypktyVaLz7koU!H2IEV;`xl3(eKfgCVa zgQ#|;?9;2Ae7Y;3ml$?asmqPab019;*c#H2M>k($kw?&&$46OX=@7G_&k$mE%Wu#@ zel*xxx}Z`z2)=azbOYwA+>?-{6M2^%BJBggKTthv|GbfxI{l-@ttOFRK{iv&CX#=D z|18NcJ?{_piA{a2w}h|WaZjwu)@QRY`TQR-jx-_3!sMEML}20XW+(i<38R0B(>*mhL*cH{-Bo>8fDH{9ikLoSF{&k0s zz0uL1tHQ!jdK>=+Aq4M57rfrImk*C_q_R$(kSsD-2VW#rA}u;$L*CsMnv~Z=c8!<6 zotNu9cAca5byAcK&k$ByD?_(RVnMdO)2blbUi@1vt^4T?72u8nr0gPdguLpCuFELz z!gEs~5HKXVFM7y*G6aOU%}WYMFrLx@xU#yTu_w z0RteL#gzD!%eP2Ini89|e2W+WGNf%1RI-!KBC(gak=qtRAq zvH!9mzWx1;(1M@wTFBm@rK-26eLaa6e7jDVzkxhI-i_}Y=0k@Jql4~z7y;n{b=SA} zq;vuC$$EM^T|L>B{M}@w|7raZ)Hg6l-a`F0Za{FvNKuqmKP^!8nH#Byg5O|FH1-c?8dl={@Zt|V>+UY_uI5{Z#*l9UMizxQA<_SQlZS4{>)rg$1DA|6aDOU> z4x|bOmBUG;ury$@fa+OU`k7hAA%W2OS%?=LvO-oxnS)03gc7398W!uovDMc3By%BRJnYqz90trsbZT#ZEKnwYGcKIC*Hxd2wolc38C zAC4f;;dQS&yEDVH88CWAcPyhz9&J^`^kS==G#c9gryVL^RQ!be=s||Q+YgM@7*KNQBbmNd>;`{n&2p1n&+W!+7K zUHXgY_ZmmP7vkIW>Gu*_VrPTO_@oF*vgZUT@tNg(7<7uWCoJZ%_wH_V3$-*JK)(AT z>_eY|K7MWx(CFD~Bd&2A`8tM)WkPXfN+4E8#V?yrg!d&jx&`Cy@zl!`{ z)`Qs}8+`lY)_c`77H8l72#uEgF^c~ojQ_z!3j4MZj@;!Pb8==b!vB$dr*r>aOlL)# zrc<`V>D+65?r=KwZaSm;PUrAdXuucIa(Xt;b!fdzC9h8vc;l>91OwlbQX7~=4)r}L zoh)Wx5)lDS%f51Xh`Iwp`)MtzB%x6<1aKT2|6 zAy^{s+AUjhy!~3WNpYxMP7~KpOjl93d1|nKAO}p=o%J&!@zcu9^UML|WK@wt4;!BJt`q%1*tNSd(&N1F zAjZjsB#gj(yl(WT>gm}$4R%7Dw7h!sYwje^q}@?>w=^CvmRPPcGZ2IqWWZ|CXcKt@ z84%6^@6d<@5f)BrrQQWr(kKEmMx3tXiLB6x@#yY_$w_=;Bew1$VOdtL(I`D{AZ?wy zFP;6Xk(3KORZJxZI{!{5SAVQdKK53IowQSBAmn$~|1SSbjr)dLe+bYm=AFEUxpKwk zzQ{j5U?lc$pmcJPmZm?Zvu>ewEzobX#L^1%;50qk_KWCSyQ6Ra$rxvQv~19*9H3}Y z`y#W8No*+E*%it99cWsVKMh$uA|I%bsPRKbW7IUjV9_k?_YJ>>- z;jt+3NJc9|i$<}0%8%kw!$j8WjxV(Db=9NSa=t#a@SkutHMh%d8!Y5VCV1bzK3SGZ zoo-M5)~vKX-`c^p+Lj7M7c({X=FbBK-&0DXMg*NKD?(9J9X}iU<004gjP+B6MheYR z9F5;?z$KIN2p7^AuWYAOB>o*UDJQ2ej0orcxZQxAKDpf8*5Kzp5PbHo!)GzArLyfN zbkh#`&92lpGSX_f{jqsZFGdPs4<6D(AlUdpqM+ai=iu7RV==*Lp+{Guz20)F4$AJf zN-i5uH4@H$l-6HgsPj+Gtl_Q8GKI8mjYIC#I5JMj17RXG7$UmDQ$$W$oW`AsC>{PY z^xNNU{hNGj*B$DHpq4bk4f>21kDO>)?xKC1k4oCsp#fI*=)@P7V%u~iO;Rq>1COTtJi*K`N8-6S$5KhpPxIes2~0>A}!y) zgNb;q$*x0OlPatxB@{7{lPB0jmKD2+=xur;7oRO<{p%vB_=m&K-&+?hI7283>+g%A zNY#nFvcoi>)n2K*KLL8h(#$Y=DfvwgOCyscN@kb$ z>@QH(&i}PC8aR3^lW;pFBBTE!)9qB5Zle|NHl83vv=`2LODtGAxaza_;O?=M_ZnAT zq;VaBu!MHRS07S)WZsy8UN=pa*<_S&nI5039{rivHk}pF+3SsUQJE~U5pQCX=347- zc&)S^aE736z&*AlGp7v@nF)GEbaPZn@R9sA+z&0K0Ak^$oV?BK!degUhbM?n@Mhfi zW%?`DurXzmh-fJHE}Gvzlhufzaw;dXQJ%bei(|U-e=dQ1Iu`q{{Im+O1~e6vZnjT9 z>k5n9W4~S2xTy!LXt_x6#Mr)gyE`mRq6I(TY5 zFAlyu6nqh{m&dkHpBYze7#6m@tJW26GXX(MqvpI#2U3(DxA9|Kr!&4{ihq^#1)U2C zT0e$tc&(LBw@Hk}H01K^{6Fg62EOj`{{L^qlp>}`(MeS1l$Mh=sgxp= z={B=4Bif{bYEvhrae6Eav$3t)7~6c^&8*bEOXxIdncfVo8Z~#H<8wSGb z=bYTM_}={fzyISw&nKVHb^E^F*Zcl@U#UI36a4(N9`$)ssp{yG%!tf}d zDpn3}mmo}k!eSWrnysSwMuX8w6S-R+>1IOk3!Bhd@{iskkC7^Muj2MBqJ!jSXFI3? z_9xf)`G?hBh^z}54gdvjH+&H|+H4-_`EaXcce0W8 zj9dt*jF|j_Qq2|96UHl^vno>}eo&VSPZXYdZ|D0f?NQ_rOE8(qPSRj4Z+AW$s!EoyFJseKyYZ|A%H&YD2heTrhfq$?-E{FZ8iJFhb5qK8g z)tHXiSN4QpqFKNX+xhj8Y`*kdMHyTJ{zijIZ>5p&!)~KV1hoyOz~y{^gMC<{XMfEn zACiCIWu z_KjR8d{caHcQ|$@Z}oRsb^O@wRIVNi)6pZo!Bqg>Y=CAUY4NqKav?a;y&$}(*p?at z@d3=2+$==b3ct)dafIYQh+Ncsqih3MTizANOPz69wOv%6&jI37Q9gYEf@3m|pq4+^ z5ICltv_k9}46epGrb`xTZ(6AB-G%|qP7<&VLT&%>Ly?1rjDz^0wreOEIH{NN+@F&= z`ngW(G_p7xHhkH+$l;3{=@R2|TBc@t(I7VSn>-Y(X|9-fo$ZHf?MvEoERSE-o_Hb8 z-xFIY)_YGB-_M@da3gzS{d=}2?iu6ugbHiP1{gXQRg~GDxOb%66Z)Fo6KB?D?TODp zU`~Pe!C`MJOD`1O;fyDM&4ziSNxh}iQ7w!Cw7}~S+ldDB7W^B$RrrT-QQZi3%tRs6f$UHDqK1UNOE$&wmw^*#9a(}3KH#TboWcqQ&HzQiS zaR`wZ-?ad?H%WQwf;IJXl29gA@#s}d3}@#F+@OLd0~h>DoVEHEI^?96wkA(A*~jO6 zCLeu>paP6W?gw5biq82sn&WluCYHMuSJ?UFH(+m?Kj0IuP1{uOJG@1DOys^a+G-u7 zS~mu@KJmW8S34^}{h2(s^=Gh%EJkEfeA&UWV&WB&>WqSeMPfi+XlSSfgu4w1C4~clDve|lDr<^SCW_T zM3PrKzX73)5J^%hKB*bjlI^*rUC}-PHzGWS4ZGATxCj(4UicZXNezw?h^$JGTJt_D z-jF7sEmAGg1l*zy@74xJZB|GMbTrWR{TBCRURH^|f8Db+<)5}sYUY}&)C_`m6_QhTp^(&Bkzj+3utmh(n$aXGO~=mP!)D4D#fl9NhGJLO^bd zc1Oy5!mTCtM&H=o-G<0USsc6LkiH7SvFM=Udx4xQLRsjwPNzl>;JdPE0+o773POt8s9|&*)VTpQ=ZE2Ri z*$Fi{ZpKh1oOkQK_<)Zrl~u4)q2kdWd>NAP>7`$WBqWFR^d>t0S~xIm#C;9LCZizf`g_-M+5TE{bj4IlL$ZBt+~Ln*a9)bpAx~AB&!{*X-ry zraEjbzqdbqn^JrZ>o*_YJm&yz*N0g5z{b6!vH6JZtY7$=Iy26li1=P+;`+RY)?j*L%& zZuLBbh^9y?*Mg$WbEpLt1n_;F1kH}=Ufb>cYL%UD#MKd3Gb)PqYgh`%1RPAZ35gGg znZ=c{rqIB~JuueVKx5~dEE|z1(J9Aa1ndk~$8T^F#F}vI7z$_!B9-x0VV=Z@NXs>@?NJj@1a1pyIgM%iQ&4{BDI%(bMqKlp5lU!Cg#RlE$!7l!BtZNbWL z$;u+WupU|&_>)_iq1h{QrVWA4daaCxg-=S$W3=5M9?TD?e0b5TK5;Gu?#Acpy4S+u zCNU)~%t!V)SeRmwx^T;V{nWA2!rf>*D9tje*AlJBEFq}+s1Z!m2UpT=4K?ygB^++9 zfsJ+vYJT||ukb0S!WRwyYAYc;C|A zz;drj&WGmrrWY<)LZqZkv;=waG$JD0)713S#PrkAJeiES)*EY&UEUae1>i){r%k(x ziR|{hyd3ZCgT+KPdPDRzk^84#gt>p^E1iDR?=DF<^E!`k8v=s77wm1Pw~k*ogifBa zL{jh8?`CtDWS5H!b)GWGkAD2+FF=3a{~xdn+vAEnL^wMZ0M0vF3F@Qq)?0zN0O<2| zNndAZ_oR=7oUP3w`>dKe=Lw7QsI`BQjgSME7xUiagWWb5z-!xxb-=|MO-R=$U)wO! z@F$tlZm@UkLiQF2S(P{eGH<>h1c$2fjyVTvchnFe^(Po1#mC>d`voZx_oVP?wft*jrALb=gW=?shqGYHd{E^r*r~yR0~CK#W6% z(Yorya7aCdGWgY;ay4F~QAM zyVIK@GU%=GR@=>yisb|zb=r+|V`S3>rs)sn0<8S=dFvX6R|(=(#7hrPU7ig~1EF@f zv^M$Dxum)%P{Y1i@PW<`Ew|(>D#<)%X-0KVP8!tB5k(^n_O2uP@kS)@%Z8@c8@AIh z)a17-fAMs;_b~r}&)*+u>Xi2s>eLBC48`ZUSI_EIse5&Sd-XW4=zo-6I=SlI)*g86 z)^~Yb59A)pcFpzy`|=Sy*N;D99xY>HY$=5&wg)VA@kqJB#PEVOx-$IrB+y}qJO)JyX(~h z?$veA?4-5^@k;#VHrL!p*W5X3t}~|x9ntOr^EvOAG1s~An{kv*=Iypeg0~g1^u}jY-_G~w88YXcK#5NxnIBWiDixv zZTq?MWBQ~ws?FqokGSuf_-@XrW~#Y_$&7B6Z~-Mbx8eH0HJ0U*zq$mg?bY+2(*1Iy zUNoKl!(F7)2Oef$X^a;w+Rrrmk3Ne6Q};Dc?!BKM?=*Wi9yb{xH)YH;B)4(EW6_P-RFX{F?C1KIoC$ z2`Se{0r^KW`ECD6QdS=Y>Wl=mxHDg%LbLsia>H+P#a*+764IYr2C-q35KbOB@v0m6 z6|cHc6%qv#Mrh$~vIH)X@Wam|{B$0vXbzY5e3q4JvCrvfj-8HUPCIe@0}?VD+JW7nfIM|tVG&TRxS6E1)R7hp zESv0s8Lv|j$+z-u+UXmD!XpUhP>9M}WD^Fn)S$A&ht_nyPUNe9^V69%F6V>mdpg`C zIEE8|_pB1T%9Vx&(3v#TmMx;)#A0&PX5>?fYzj>xhe@&%=}H@4o18s)sx`L8dKWA6 znPMXM-8Tm0c=0o3N$}sbh9o6e(L~<3SEhhpD@_#k1~0-n*{1ks=JyTt3!dg{APmTu zaT;(&Tp$P{E-qG6?Ki8ejElT`S7S-!w*3SOGmQQrQ0Wqm!qhu%dd{~+VK70Hb;`#7 zknhxW9)7$gTdvf0cb|>gxDt-wxKe#-j&B6s5sOX!&HBqw&$Dcw*ckTR{=f zAVq?61})S3MDA~IXOahU+_CQ@>)a%p&Pz|ywe^snYQcG!nB-3WB=y;!q-T$!s;*Su zNouG&nqhOry6?%}e5F>fkl7jjdfUi_XZ)*#SC8yZH(93VQ@%!mhRf%&;ToPbHdP(c zhI45G)lR9ca?wkpY{Q+bOA=vIYAU_qKAoTq=ek5cspA{MYa(}`no1N+{Tsyn;ZM|h z?mIi#t1`X%rCxEao4}=d1>tk7ZW@SRFriC`uXEit{^WT!f>T)@KOU}?0L~5z(mOZ3 z&*QV%eM+}(_aX~_mNHQ!NF;`Hl^SfYwGv>hrG^UZM|}N3uQ7m(yFtV`qLdjU28y?m4oixW0s6kmIc;w*&Oq zM-G(;c7RItMUFr>-GPvq++>!PfENB$dPYjMve)?$yXPou+s=%4;2z~G2bb@|f` zm6eHxG1x2r(fD`8%!UL*s6?@T6S+68R2bK4Z?C;YaNKM8FO%&| zV`}{D{QTs@nh+8kYjpOQd=nfjk(8v((Q**(=Y4c$A0fh0N=e2X4GW-5^1g0FNJHATUa)$WxvJn!>3@k9Djrjl=uc4(fB96k{P6DuUu$M zdXNJdq_wrizCLCG2%D~jjzpZ?Z&py(oOxO#@^6rwrItE{8d0KP)KTs#lNvR{kZiK- z#ybCR2ZWoPxIxt>-UA0!jnwZ0$GgehO@rEv5+4X*z9W*qo7E2WZsnK%RPSe3L+AL^ zrccx}hI_aD;d605F4f=4Bg1dLt9N0eyW-`3ePUfY?H4aRzi4BL+YJVOY~3?HeZCm# z`_VHd?mRP4)YoOe74_Yq`thP!yBqag`@W;Tf@eT|$^Ru>04#=w@!6OXcPOxJrm}a? z8tZQJVNPJvJ9X#jH_>YuCmiK3V}!501-A8V2yEr`%-|?DgFJr*Dy$}>`i&R;w7_N% z_Gh54!3?}d$7fBz32Y9J-3@ON*tBINuxSgKz^1+9=(mY&I&B($czP*@g|HUwtXRG1$)bz_qf>Gh)MC8K7V@);SN2R3?)v$s|^G^5qf7HGV5by#A$ToZ~oIxIo=&7 zi#(dy5Sc-$Ugp?UzR0mvPvp&eJ}vasdf_W2^z{(=3N=O+s@Zy5;*$`Qh-w0fXpR5P zNSrV7ZPmL(?oWOI&nsjsP8xD0dPHwsI5W-gTss+tr@mo$pO}NziK+cCJeB${F+AH} zedNB=Y{Ck$Arl({H9|wSVC&?*cWuT_?rV25{oRes^ss6D%{1!dzUH&iGwm(hstslu z_GhZk{Rp=z)pw?TG|+afh0PT&d<(cY%+)d$GdnNzmM`*^@>lOIdu)O&d(A~`*@de` z1@g}NOegEz867oICIH2YQX_23p8d8XI%+DtWp_HliG1n}kx%5-M82?^N)*+uN2Yk< z9krhOuYcRC$$E7^uMqbT`KHtpH`stvm&=6XMT`HWJ+c2}PGlr!)1>T#+Eb(*MBVYN z!>GSYd57ggc8>v-;mI2w@gKS-nmEYmLbnI$gVjAgS{ZL!tSamV{W@{*Fo}cj+v_EE zg(Q0{ZBltf??H-L0q={(kpj&S??gb)D$0`Rg26!^NJ5a~Huw5AkYs38e@Nmh2QzEa zNaETea8yuanwx1`^54Zy{?lh4NmL?`|5U0!B$>5Ci5#tDDt|I1e8KJJV1 z_Imqiq_RI(kKXJD+zmqbd%j_6bz-veV=n4$d_}~rgfS?JDPN;aq;a<$liLO03=ByU`n4d}-y0`qsikiC89O55A>KXrRs&8W9F zYoRE-i|y^^x7^;=*Yw^#J;aOU-_ zKMO1wlgPLDcJDS$OFHJ`kF-!0%^F9N|1m?m&D=G0X^ZBp)V|&#bJ?=7ZHF}|4VSZM z&gyS(LEv|wSU~}W4@Lp=KCz8;`d`>s9dGruXnGe__d&$ut>AB3;pp`s|JvMd8`{OT zKx#I4zxk%tQlSA-ciMnO(>m-vKRAi)!s}v!6IdXb+|AJx-+Pt!2k=u%QE2CqDWgwL z{^0(P1xi3v%J9=Vl=oy+_9&B=vBtf|75wS^f7R@Ce~ci=)G}`U``tA1Aq?e@l4OBM z27|S8j;q%)*f&me(#tI9CqjAFQOdnx$}e!Ta!8x6pO=%(_WQr^5rndeU;r7I;@JwP zkaWYu1cn;~dlb^vT{U=1;e(}VcF4`V$Js1u6QdlQo!sCDjYeEatJ)fzn*7Zvpb)1f zkG#O*VPObdwE;eY;A>RAL|p+;jVAUgrzSZN(lxI<8m|qxAgT3l=(J>X&+aHU6PK@_ zOWKG~bm&oQ32TtwHD;H~(iUL}mt4eIqMaLioF(#(u>+w}Z|NgH8Hb7nz~|S&|6dvS zb1ID68d_Ew%*_FBcg;i0t!pwwd+U{k_-r z>^`FY=hkq)U*EnTZ0z0l{c|#XdnaW2P2}Es-aa|YQ6l8o6F`VlIN?IDoZkujwqktA48qahdcg?ggRLQ3PkW9XBFQXSK#R zNe*B0%sW>aI0&jbXPcV@m~3t_Aves#kAjP~9z|qq(5>a6bgb8LThI%(&_T|gAe)@_ zKG{g%W*U+A@eLdaiLI#X0}%6iDonCO@hT)@&>6rBPRd>(1CktVKwIVLtklvFBwx`^ zm;BM@j8AWa00yLmTRek9i=W^4b|*ptCkaN1r!XN6I7)ZI|9OVVC70UAPVZoDWE8Ae zTJ0dN?hy*=3O-A-DrY;yvKx*zWt_| zLb+BjZ|!9=!Wh)GFBzqiLKJEpEG=e~rIbb$rs=#xFHj8^)gbUh^oQf_?*%$zr)EFzt zOmLzqH(DZ=n$+%I=Qmt8#L&Pj&+Z60jyt0x)C(jwm16*AbH#Hr496{5r$3RZ_$ejm zFY5>(!C^^&Be9jo6K84+t@RmQqS8*fEgj*^*p0-1(YgDQKWWrV=Dho(Hs^P?xH(5OXDDycH3MwUAHV4497)gl&SFPm)P+B7lNB|8 z>awqp1s%`bYhoW%NDfI0iQ*qi9sf87!s7D}ku&Lo!bK6wckS0FH}DT5NbnEw6R}$D z-R6qf)0ukXZp{@J>A}h8;g+BBtuny`SWM=0LcWv4emNfsV@u0WBLbHi^`3g072x$O z&A>>UjUg>)NF$J17c5k&o{gH8<>7DQM}kGo}$u}~s;5ZI3gSfRW> zk%L}Ct4ni|W__TwTD@)(8xccdaN<38T&S5WaS{iGK+oW8jnA-dRY59=AqhLEwBP~9 zd+yesfV16xU8V=ed+O4>XV@9w!;oc$4==yvc#q8oFt1U)cv1alW0jEdl^28+&f}g& zj3u@i{FO^H2!90;VGLUE9?eJIIHS68v{$abINeFzQ)&#p#Ul8g^@!IXj*mw>{{t~D zLkGXHpb?$*5qnVTU^QN8+1T19cCUwY37`64W`Oj6+t*I7 z^w(;|*ZEEdkT|jau+?4N7cuuX{ zq81GA%kPWz0qTn6MVQQ`VD6<#!5*-MZgyel6xRG#s=LuH#6DsCFrDa?d_Q zJ4?ei`@#{1_AvZHp+PaW*+{Hn`fJTS`UNB&oh5~$Q78Jnjp8lLkmM}=VqEc3oygVl@IQA?PL%2!Hy8oR00WQ0ZQ=6^F9 z9~V`+Mk%<>f&`inGKA^)zID2cgMxB;ul%Jsy@}~c9V4kAf^_pc-f^JF+r(`aBBK#q z4sZdpn-Xszd*Zn~nT3@8RwDs3Ud(b;qo33L1msZM1t-;thV_++ITkteYU(c9{C+f) z2wT< zzHzLNL^UX}8hHEPIb(`dsq>=f-LIaIVZ zz3gs%ug|P6TgJ2(b8O*2lIP+1zXPLP4|6_^IuVXo#q48%5$9vgs!^ZH^VZd9cvz*S zSaKGqO@GXa#;)*jt04#-A}7^S_7*&Eg^_HLm=q%D<;b9Nx}SE`A#YB{Nfcb-gk8|PF> zYUhw#XMhQ7Ut*TSm7C87ZkVv7Tm#Pc3K*=JeKJ@eOJ-EJT(ssP!@is5PbbD8b<$7_^?6TU%?YShPy*U)#6Ym%&$Jdi z@`yf*Z~Q&UeKFbolFZ7xC%3*`J6_+T=it^qVyttpiFm!CO)*+8gz9d=7nU)hMvl3% z#F~2~Rjl~BQRaDe%dSh??GszMx>YQuh8Yg%4-<}5Yr=#nHQue$gbBmAdExEDgbA!q zyeR$^Awk|#KQ+=iDPD9nFREL!-0Q_%t3= zYwas>mL-b*(yZm*Ggh&;-^-npHS6G+hBDFC=^+jP_m3K%9Nq^tlDPp^_*9#@iw3VV z?-a*lS1%}-Q>1G+qVd7Fv(Da2XothY=bq;J*kJT;IoR9Q8>=#ZJN(M>&#{Y*bYMUa zwy4jGBYHzaa@KrP$f@2n)H8eQ%T4k^gik*7rNeuwU&^R*MU z1mZ}BTA5|U`^KSt@Y3|jWM`H@E&Q1~!N<}vH30%~3{e29$9i3loW0OS$Ue$9x3F{vHg!Cgq$RA0fs5AT>yTq5$Sq5og@p@3{dAD~5 z6TmY=ml@3%Q=-s3JmmF~+@HSH*o#8*QWxsO17^$Pwj}DVF*{-%q`~PBhz*^M>;iw2 zeg%~Q`NI9pmSj-4OfB``+T{7*l)u>o4L&nXIiC$_t6QI_9=*oJqn#IG^L^NGY<1!U zC+dT5Uu9U>Dz*P^ONn~fd>FghsIg9b2`8F7k)DuoLix#KwflRnJNSQapM_7}6>x_j zzT))^eCwUWxNjzS%S9I&B~Fa5I;eCY7f$caASdc^llEmy=ea8rm8?S)$|)_~kwn%3 zI1TR89Qcj{1hU1xF3;4)%T@R z-Rtmfk=&p?y)bQh@~zn{&H}-Q3_JiFifsI+{Ds+wsL~8@ftv$;Z6NRs7(6t`8}%-1 zUe{^(tt94{{4N-?^2dVciw~FJLnHIX%))!O^N9i|&y}qcpvk5FRax^&L)F_Ijk z>W>II`uFhFd+vb#g|BJO;1BafYtRm?4`hx5N$xanH2V=I|M6Aq&Oi`wMOU_ix814n z8Q!FsL@Q(MsBviSm8dNI(wsHSy_axZw7AEeeDP8E`uo5U<$z}Y4yne>ks4%v&j!bG z*_T9h2+<00nSyc11{q_J#UhBO!?ug=t%hw6nLKV2mr7N}e;_j+3WD8g$N07Hxr|pQ zhcT|V@DV&Oe=fYJO50Byw**00HI?Ea*Z4@He`aiB(n17~Lmg(8ARROnMf(teN$oD@dY>j@c+ zCsC`Nxf$adQ>${gA87Kp*N_8I{gswwjp5RP!jc-Ne<(iGrA-t0%f0M1D7Y_zUwG!cfn=uG#tmv3s=qcU*{ykwIJa#Lv0JMDGh z&lIN$2PBe)$;r7oDLW)0=FMc$e(w4?DFu7^(UXU-P>lv?;a)R)|+tPG`3X6upQi+K?VAdjfsi^ld4+9P3mVioZWL$*+5z-~+E;)IQHH{B9y$ z%vB?m3{JeFzB)df)NC^bgi<5goO^!oxz8Y!atU1rq=Rl*O;`!n>r}Nq=Y8jxr@B*9 zXjODT+0;nAd=$ozd|-2}&xGv}L{|Cm0yaV*T}wSv2J*pY``7&!{+LsU0|YE6FXR5)u_@*(z*!aliV>=TIT`YC>Rrgvs}CIS>Js&0L!di3kM zMHErw5JZu+;TCeTc2_4Z;Sz$b#ut)L(^3y}Ts~CiuMJ}|<~ZO{15zEXIe=8pZx&MV zPS)8;`T59<$pdJlM+(7XXr!xG3c)CitV*bn)!vPMBT?gn$K*%ji?w_vo%;w@-_qWQ zLqGrFatUsvwa zhg2DV6$>g6a+W5yX2O*MvXK6D^g#(SeHw*$B>t}Tb@I(7tto0%eEa}GBL1~W#GsJO zZY6b;&^S3phABC3Lf$l7xKhPdMnd`sZ9?6Y7Cm~alnu5>DNtV5@YQOv>)QAgKlV}< zN?|`+;udYcm!0AP!Xfhj(^M`@tdzyW`rBZg%D=Pim_Yl(Qf1m-D0QtG3~3^iM&R&H z*B$Y+!7KtHBsmanCjV9>zc1BJg9jI1?T){bAajTHy`D;5JDPS>J+H*Sk2>kD@(bUKl$hw*A0OR~1%pe*B+9EpkCajMDg z`4OlnxPciRsmH+Varvp=8-#_w+eZ1IO_0PW? zl)-Pvv6w4lwKm`n(>4F`HvjOV*ELdLa1^r*4Qy*1t6SR3$B|MwULT2;UmDSIn5MES zj=PQ9g#GLQ6skg-6n3iKzs!%fvZs`PaMg&a`0$sxc3=ZHk~gHN_6kjw&}2#DC?Pj` zWmBXNPJpfdk;9!A10g3soyU`d_1-%ftZ&|}dw}=uU;6>|rrrC3x{v*YDT3fvF-^uVEsU1e7dDbjHv&OyZy@x%GG9b} z4AXMhL#6xy$`&8sQueRqhs}QB=Zif++u4w9)DQ!}O}hesch>g`7Eh*pnoYR^ejg#}c(b%3jdG#x++EPH+qf>f7m3|{-KEi-r0p_-JjQZv z$;fcbLbnsSb99nPQQ?eqmJGj+5e`v^eri{7zY7g_JG3S0m7i);BL}-9h5kX)U7_`B z=)q0c+HmT}k*A=3xHcgGPytbE>bb84`idnsQ89I~{ z_3Xki0mVuP92`)T3fFGe}3}_C|C+Pe(W=^2MK))4bAUU2hx}wDR}*KoMCp_Ni`@Vx+J}MCWQ5g`40})1CIk zYX#s_89}5L`SUg^scV#=>ENk&EGD@ap@J+R2ifBz-zVGvuU$KzXp#o7%vQ#>>ay$D z6)=R$_#R}JZ`{X0@%clU8cO>BW&`ZLs*yb}^?(y;zt+~JM;zr9xxwJw0Xu(K-mg?% zR3@0@w=054rVa^~LEk#OnMZ0TzpI;{YwWQT<=LCeqx(LAr#6i_w$Bk4*} zd>{}QU`0F65?Ub`7c5no@-+>)>-irP;wlc?i^PiFl8i;jNshHhG zZ;x79h`Fwq(N2$D8OmwgOUYFMG);JKYyJK56i|AsC<%2Mrpq|9mvI38g#*l;mqq;> zhXi%dZ_@>fXr6+V1U?4hBd7LC0a`n3&B-Boe>eJar$ z?r9=VZs%)5~V>#*mIlxo32Gm50JAo}+Y>Q7Vq%-TpqOYR-}e~bYS z{ModVBR}Fu0hV7RNrkb70<2RBYtg758?@loUlY{dc$z zjO2*4P?LpVZvLYOr{`ZM)M}ECp_y4P_Pu_@rkgR9+jOS;JGgbLjepeq&$vG(yl4a5 zKu$F)7I(D;h9>Wmt6YiutptrLVp;ae;3Ss!yuLue#w+yM^|P*FKMe$8fZISW35~{h z+ZwNgE)6n(qfRn}1{|+pk^N%j(+k6k-m@MME8}P8XL@w=@b1)&qO{Ly&rszl(2b(@ zgV{U31%%}MTqK`|hSO}ne5V)8ZAG`K&^1=5k%~6DQwyUDxib~Qg7H1gB_{0lWit*bb2nW&wFJ6P~!weBn#SMRV~Aj4N9uII^hp81 z&_0p-n*qq52jqgaz;BiaXoKiEj_HJ>Zb79*Lja6czLLfhEEvwSo^$e@=&6$BS~uKS{j=*N`~S!#XA zC32J99}V!%qx!~;3iUiiUEQFro*JaCd_1<^4z}Jx z-i=uufwQic;r_?QOdtIL?4y5ZWitS?y;ai>z`UofaNw%(!R4^Z{R@yoJxML_y)CpI zV*3lT>N@%|gbnV~*IH6QjD?4U1~e3k0SyQ*syAgKw{ne17`58bxyNSx;WV#(jQyPJ zD)}!5@9O$rDy!ExZh{dI^-Mv z5$j3~68|!DNO;j}LVBm}9MH43@FFS18a>BoKM~J_0oB9kSW5ARMDC)0f8_i#-nJZv zXh2(^TFo-0A?t7II71A9d}M7Ai(z<}LW!;R`49G$aLXe4;B+gELxOVaE(1}1NxQL% z;k%^wPn7+0@fa-za+8mdzMVT8C2IUV^lA!}h`IC{203x@PY0$D`ac^OUi6}ypme>@ z^vM0NQFlKq>Hc}qb9}P3Yd6(pv&Dt~`Uv~ZwgFl57n74^E|@>%GxHy5^M~*-e~Bpr z8@}b{j3SZSFqb*sM_aLq!aU6x>Vgu~#-uMdXQ-L%Y#Z)i(r>>NOd1hFlh^%Dl_gOZ zV&T2RE@B1||8K{idFSMfwe~ery2JjS8kF`PNSC}Tc+&m|p1m7*Y7>+)n~3i-bNlR{ zo(H|!{T>25gL z>Rm9`_;E{;MQg73X@Q*~TW>2Eq<(hIy7`ON${TBK1Ti%nf3*(CkHUA$3sJ8EiM*e7 z=@iy*m&Kgn4tQi2HO+Y_Yk|{CV*Nz5NB7qOaR>uPNz+-(H@(jp`)Dyo3}2mxOFfbI z*nRF?mbK0>n$%0YsQL*zm-U}NbLX=3)j8x_Kl3hl^*L72p9;B|_$HF#(r`-VxZm0! ziv+*k%tj}j{MJV4!!un7To}X(v+-tugqJ*^!L0TUS|xXXi=SAWl%Uq2E<7f2ot_8r zOxT7AIb?77U>88L+IzRlRaZpS&5zG`gcW! z%co&*S<4fzOR%4y8Lq@(!e7Nz@zYCib$7@o8@tP1)?mr~I{%+vjAi!m>iFKPtK(yy zswV%$q9+*v_ZvIGZ5PEw4rT$66C6 z&?@Kc)Lh)PJ+bxAChsb4<{!xSlUp`1ik5#gOjB+eVNzB3rf}>hAz74Miqcrc8#_TU z8+PY(fOiq@ScDNG2w&v(Sz_~Et!^E@DO$cQ9Q(TJw2pis`7@gfkbhNjvr!bbuPBQ5 zJrfawi=37EqI^|2wzu`>&dJ9rnyj~cFNdx;2>{&JR@<4L!Nelk1)Eg)8#cfoB1yzS zIA7H|{CS(4gH-FM5>U1SBqG_X64P_qEV1GIb9DI8O@4hiHrLv|Y0OgQf&X`iCZF%k z#>Z+iAM=9lvt`;Z2(b)-j->{FV1OImVX!Dx6O_OvpQ3R$;VQ1-iftp`j9$3Lm-vkr zSmXOM*NvKMb?caoUROBwnAMr4=DV!n*LJ-NyHG;2P8yf4L@<)wdF)#dSH5FTX5A3`8;7 zQ2xBY6Yo+7dO!NR_6A6AZ_tI@rU;0huNLiZ37P5HBD~%sa@oe`jjETx z>WjAMM*+bXkVH@goNLb>OlLtnUHP`Tq2zJ)W}Dc8AQpgB<1jMZ`Vzqx77X&dw@d?s zkabd!J^iCm^3XW;0eoLGeX(VbMjtR4bXgQ0AZIUWQopS)dlz4#6e5T0Vl1~^&H0qw zYY>5;k2WjWlg)Z(@X-i%jlL%G5{G3GY+%1#9{bv;ehBtu$`binp$04vq^#AE(#AqzIM zg|+`P`MqAWNFE*ScgN#Ru1n;VBn9Cme)5vQUKHG&fr-QV^;6_hRfpIm^?}Ee_jFa? zwdDd+!rHQ$Qd?#|S+AjSNRxSntcz|!aaZyv!Kw#~LR zyx>l^hBjfUl&Oh$(WlF74ZnM{TSI+Kui@?+-5MHZr%@fFMC+&CF^a|@cVO!(?{FTS zu5jmGdbvS|mws%IaMLdD`|hnCTQYAi=h5di(EG~r2=dJ$q!JEUln{T~Ip=#uZJ4)Y z9LJ(o&%t#SaJZcYI1bl_E4LSiqYa$eopXw^xZCU--N+pM+(vwY_mP4W@J+t0Ka%bb z#%}gY`^$#E#(mK6|C}!4J<6kAJs5ml>)mCKF23<`dGaWsy@didkfgcU7%XXmOM@50{* zo%9iZJ~}EQ(($1MYp8?XH~8ad;zXPi$A{)mQwwm39xeQbS}4Ie=W50=3|TBd`CsO6 zJmZ*H#i-A?$gkmH?~aisTvf#fe_Y*qLMU~IugkZ->m5w+gae=1e?J208BQqqUSI2X zaK2@4Wr|MM?Y6K~wcu4=!WDs=8f#U?nv7k+4ba#H zW@leK9ii#t-jHI&5y6e#O-ji|1=sgOz8M<1(mKN#sWS`hN&5`kF}wt2_tGGr9oNm6 z`~i3)Ic|vLc;CN(wGOr*_NPXA<93s#&a)ln%69=mtdHMN_wlT+g0%z<_b*sl!XgPRq(2~KhaF{4H5*U)#_;u1jIz;!vU40=6+c-gE2VLCrN&mqKFMk1I`5P7 zQ(VOS39&moBOoH5mO&t^;%A6XydXWMONxkKwARZ90fcmQx)$eXE=%yke=d>8Y+X9fV;vU2Z_qo}5&H`aP@}@pS;;}h4R^HevaX%@fOo=AH%ioTI-VBU5Qgk`(~h#W=9+qAr7Ap0ZvHzA0?`Hg670eFTLYC#06*Zam5 zPNvzR3RF3{Q0Tjmt9=n>M@X1e?A|RjlDthVpx&>29`FX(07Tmi^?Vd0G;yx$Ak0!l zSfOZD{M@p()KSdmheI)`uhS`89|h9}bpSKb0xMjkUZsm2083U^wZ6=U6qh)uqSHt@bYUwF?ScHp|yGG#k! zw;{FgK5m<+&6@Hz(J%ehF0|Hc6V=k#7V~`4-51zIb_C4R^aU5UgKW$PWp{Lp-%*Zr z#L~I}r1p0F?Mmy=z5Dz=9ru2dKms`O2HU$+Lbk)$ZKp(1L)>aqm9M{QrnTR9PvSO7 z@5w1{Pc8uysGixA3L2UntC+S`#QbLOc^sB7ZXzi+NPA4hs#uU3Yajh=ZX{MQMkO0} z()pRXRDt&^D%dlc-L&|aPHA@2T1R%e7#wq6Llh-nCoe<)f&_TGDL4WaKg|8YXB~XD zjnMn8-Us%(LHyU_(EwrmpFgsgv9PJo`;`s_im4bQ7Wxz>AI!e?I?aI{|J4O7K7T2; zU~R1I`&$39^Wu&+SMddW3K&bHVh)a8W@h?gu@`Yzj4GJ)6D{ zn%~?5{J9y8u)!_5bE=CU_pYoHed!r3>Yd-ClhmVq+YR1i<-gk<+Grgu+_C|9w&8Ec z2V#ZeKEiF${iMQr5}whVW8cHR`W5m)D8A^VP{S+6cVFOJ^OZ-CFl>!V!QCZy(@gGN z4?9t)$xGBTd*hFZ+|l!PCV%Aw4phb}?)azh&q8MFMGKk;nH_DO<$xdZF5rlXykC7y zG83U)B)BkbteKwdK}69WmIe>^^C02AnO~?Y-TRUR8(9OC&rL4TIxO|(Unzx;PlhPS zFeQyjzz~LhHwEqAZ1&gqPnKY!KViSYakdtAX~slx|O28Vb0pgO#)iMf@ zP|xo!nF2^_N~&6wTYWnFpaGGTWhb&U!iTc(!y^{w<6MatSP0ANiY6RXy))X#0LLb! zqQMbiHf^85ewr}bH=~b4CCswJYs@bLSm>r;;~!Csu!D92F5Nw=s4+f8<*1Rk*Df$} zAKW1v3(4agri!>G0Dy(!>EgR@ejp4Y@a7>`0e3DO&>0Joy1~_ZZ>YfLK3BHlvv!wf z<1}@pkaP2sZ%BqgyKAOXqi=(Kp@vmNC-8=E$=<%?|5={#r38B_``6K@J%E|Nhoe3s zfk16-rU{fOooIyqKvSrY9>A&t1t*Bv-k5oL>z#TA-HKPXWq9k9|&JTQjfh_;QB)wCh#*f-`%bigj^1~CdR(;Qtz)8z9+zXZ&;oVrevAk7Wc$`OCdks1=~HwA1xRDM_!gNy zR(t2)r$zKVPjNQoY?f0In>}vHumi8l)O5$2gQU3MXBv=8y6DOWZM34Owkqu5%6BBv zguTH-Oh1LvI(d=BU85>B+5u7FPE+Q(jPR1D4GZc+&f>EEOP$CIc6z5#>m_l_shQS`{~`gG3N;%N~?nTRY~QC#JQ|cwwsq z)7A~5e^p${k+?(~4A(6N|-UL7; zhEx}5sj@4nd}S-3d|cK@ZI)QY&mkWJ8k*_XJ7}=^6u3^~@vRa)QA?8U$iW)YxOjK( zgca$8{NNfBujvh+WF+6Vn2;>;VCUc0IN~rYLmX@u`0FRUy`_;$V;;}}M_x8F9PhR7 zJdIeAr!gtq&e;xAdw5F*`FIzE(2Q_W37alh!L#xOnx(Wtv?&{mv!|@6%qvwxvCjw= zX1WPl(AiX=U=_;OgcDzt5~bCF60kH*wJ?Smzp>3)otWRf&hF=S!PsIDCG7oo_aSxN zu=~+*D5}v9ri(@6z|@RQVHz<0OSI!Nh}hc@vBBfSsX9Iz(q{83pUwR~ zzZclRQv)A6t5#A?jb=G3nwVzvi=+7DtGdC_uV4Mf(Ju$?H2sS9L%+120{Zoi1%?K$ zax*#veFpSv`CE>DP0I1{D1F@zcri;9td^OcKY^JdfDt9NnJa%_qFwWjiN>!8O*Emj za{XpUz`CkOBRGB>zV>Ih_fo^fR2Qxga*MCN3rWTP$zJky&s)WsB1z;8zvq(y-nC1E zm|^7aSA)&7wm(Tm`oS`{fBp{Cef^-FF1(*-VjPKW>S`bfz=(ic5+lIBQu)sFd-4ZAjDvN?7jbWI~E`a`)8^X2d&OtbWWz+4$G zlg!R#K#tNPBgwFa_>U#%q10t2{tJpMRCjxI&f2Q-c8UKZS0c9;HN7nHf0Gmc*Etcb zRQUvu&ewRYH#!lm(9JMWRHp7tTt}qEZjTx&1;0d19ZFMvu7J|iO@T_|_uRS_jQI4| zU_|3jS9W_f?7%hwDC8aRN`MtQ|CLQpdp(hAYJDgf>l-Co;7{@XVJXIsN=-kF~X zo&<}xH8WvHE*I;uukd&8X208v@b@|Q`(QS18W6sDyXS)mw`z*UZ&i0}fWC($Z2ZN( zY@QF+{x%K?NED6yW)uY*{x$O|Qh|B}3@o+2*WC4|lkXp;dB2T_L}}=Y0ukah`5e0m zRd%;m!F3dxa(0R2qg=0Df+uOU7+p@+Tjx<;E1i*fd!39erd?S>bnM1=hQyvJYidr2+t zuVMckFl4)uA1xj&Ws-ds(0m1%qip?sMS{^rlG|2gN|If~t<)2#XQ!LO;UhF=Zm z`uMf&3gOr9|F#4CnwyQE!(9ENg8Iv?e&denhp&}X%t=)~gEXP#^smPtkuv5eb_bg+x zKOg;UPv)RnIz*ZrTBoN7r5_`(CcC5qg5#VgPkc@JPTsa?pg^|AWr53v|R;HAzaa!)HqE470_ z{IOw?ZMmP%1kg(^3o<)<6N8Z_&)7Z=8OPkg2LHV8ZvLNS=Fj#?o0^$#L}Efz_S2S5 zLlXT3bj$o=Dv>DI{cNVgiMzqrV!1yt?^nMWJJ8E1a}ZL2f6k-;QcamzwVb7a!p&c4G)>AeePg0a$UB;88XtqngcDdz+Zj9^JM*M4vdNku z#KN+o{Vy2@#Xsxa9s-3o<*)t{n0%U?xg+R1`ZM=vAGe@AMo`jZ+pGxjQ?YFg2*|;E zRjn&6(Xdg$9;=^);eTG=2M>(=8HT5>%V2@+zf-?-|1G50h2YG;1A@c-0jC9o#Lw}$ z!?7K_qp>Bw+Y??H+-C1wyT99Q1t`jmLmX>#n@1U(`b!V^6o?RO-*-F60~l=nll}R_ z-5lC@cjot&s=hTz@s%Mk!)#Iwhx_vNZCh;lIah9b(VM!?hkWV|L0SHT8m8n-9J?XX zSzimcl)!Ry(51$Hm$*nwL}$6bWF;)qZ#?(KA348*;sU+_J8u zRWplHBKM!g&abdkuaT}*U7xKOlDD;<$o={Zv8xVQAaAmsQ@KV{<-LXvof2wGo<=-Q zG!ZmhbkD1@|37AhO@G~Xk$UjQpC}k^Ev{9IEjG7Q?lQ(;zE{{#eJJ?{`8P8S&h#4; z9K3t2F&DOlz3eeNj?l}DQ}9m#*v#DL4tHj5_29kFL47R^7aAaid{wIf12Lgnh8lXb zVu!4A%otLDEl{kOQX4Y%9M>negUGJkPQ$wE03|!QD^vkFs$nQe-!~=iwdL`xZy572 zPVE{Prw{~kTh1Be+wvd1h4BLVLaX72r1d|wV?Inztz}r&)b?;wgLXx=P--c4mKlDv zJtB@_9!#dtj_ARim0VE~?bv!;<>-#8oK+0vld}gw+OXb}W_>->!@K(ox(VPhingP1 z^PO7rvK9lnNE8ddtz5&*01}n)Cah6=a|}SqRRjOc#&GOX5L_8An*o=I&@2fdiSf;= z2IY9SY5F3gYQ+^W*)QUf=*l_3(4J?U(;26C&;4wt09uLMzny`_xT#A+oS})rAX{s2 z)BN>WN$F-dH)!O0N1Eewi2=t%^$?~?Z8A0{NqvbRD}VedjBZ?9j^%4hReXri=c@8S z3tlGSNa}?QPUfwwVOwC>P89udGhVU63(4siM#NF-*~;!t@FhKe@{WYB$35NM#;pL~ zr(QLjoFv6(hKRK>K_$Fsp}>M`BU=8#oN4A4k)uT8uJU~xPJVIDqr~{Sqj$>jzIAh! zU&G2K3J#}zor+m(a8}q|tYXz)We?dyZjG9h8E|lGYz*8QWUbw}H93j(K@js3h&N!H z#8#~~vGvI6o0)piQ!g{&gDl#_FA{s4eXBa8+gjjxXq-czMBZgK z^)+hcl{$6skn1S+B(10p*D!Ja$jJbB(Ygi8+LGh8NJ7Qh~(hjr2 z@2h7v8|9S|9<}6BFs}i(cUS5#lfxkR%jgxo#ZqW7x6-JAO5>CZox-k>^7pQqp`MW( zEu7*Q<*VV`iBbrji%gqWH$k~PN5mK8rz*MB2uohq98wA7E0H<~%MwjOiI3~5;%$T^ zD#dW)^{HW5-3KEAj}!p)CVQchvZKk4|E6x63X_8H#fAx$i7Q+tq503=E3%t&IV}kH|&!b^c@gD+l@cfn7}(LOUxxK(kD| z&p1ebauR!W$y7-sYZ|Lio{N8s@_Z%rkv8{Nw7d#@mjV`EC>#Yj9js(DG9CFnR3~b>mEC_z>)_pE6<>WuG`Ya!qvfw_FOFgpDpU5iLQ`7L-aVAuli`}I zyl}-*`ab6g;(NL02s?_dx$8(}6qqlNij ztBmhf8Nbrm$0f1+O>0`O1;3TP%w42d^vT$zGu4YvDdQ{jPq9R zVA~|$NW1zReHIq`G@w|BRO+jp%Mai~3bdLbbKlugWsS^3Zzn?WrWD)#54^fyO%D}Q zgdsHU1!b}dR7rQypEyPL>Q-#cW(319@Pb%BtmZZ>fT50829De4C*It?stHLC6d3%Q zPx=#0j_Z#Se9rt1{(pXcxBdAG%un>oU%xsrCggZS)6<0!kP>-b6Uf^^8b9yPztDjr zvyoKn_gaz5wU(VjE$V&qWh6c5#w^D+6$OZd0ewIkU-Z%ZGEwM=kcB5nrr-!{z?df* z58a0Cd>7|8Tjq)_#TSH<-_t{E>!A6&zzLV5Xox-6i39MTtSI&jPJ4H(2&TPPf6JOC z^#5J`ZSN&n`rA8`pZe(%-f`+e?3&aIRx8QHg`lUu*G8=x?|A z4VwP;_SeH{(n}za@Sn-AQx9?KS3u*5Aq*N)P?bt7Jq8U!R>x+oE<60fpxO z2lco1$56;NY5HGCf4gBC#kc&ThyM1HO7yp7%lqhWBRhNRZ*$CDyX3#1zs>8TzwLB_ zn6>n`f3HIksXhA(>Tk~+|39L?-F-0n+b^%}tG``B`@QwIomZyyw>F%tIN<+V`rB|# z_&YPT4gVYZ+mmZ)Wwf=@ul{!aL;(Cb`rGk;65{+%=x;T<>_C5;S=3X1+usWRU)A3_ z5B(q3-wq-`;tT0-)9BedlN&g+`TvXh+mHX)XPy2x^|!C=P=9N9G|+0%+X7W?hx*$l zJ2=@F&Az<;w*3EH{p}Vp=l?zZZCr2ttvI8)v`mQ@R;b;;(rC-P?KL&CHrNE z$m|GjEPmm>>ev+2vA#;B^ta^UrdSr;6gOq;AIH*XpdIPE^tQr`-p1J;BDjMBPFpL_ zuG2$X!~P(Jt=w1Gq^of#vahao#w-2nY7c%fU2WMTeRjB6(rk+)KTYduX`wgk!Ra?& zUjDx&BmW<;p?~>*{r{)(|1uvYcI#HwgnKlT05$ae=Jh6qXMM7-0}BxWI_L}n4&)sjq%L>!Q}AkX^4TZUt;7m+hf|vj)sXE zNLUy4%4w4kCogzFC;Ha?kqzzQy9q^2<#|V#-<4hk0iQIK>6y>VB z?ld?_KVJ&aoC$Vd<_N|HW0{6yxBRJI z5pl8)Z+ph#-HzQg6Yq9&?{eOAuFyMw%QQB-PoW1?2u0Evf1UMJd{!gm3Lef81pPZ;e5^qzyFu+M{LxV7++=<0#Ax2GXaC&l~0R|`mM;?#feJ)h$2oNW4G~% zCDxkv%zH$3GXgUzvm8z7ir|YYa*to+Zo!EnU|BH2iN&r+t6yZPUj%GR7jbbF-uZqJ zXIDI1hMRPeQrF4}evvl6mD;Q#Wmd%OJKiXjOZX=A#P~aY#;M@I`N;ZYoqu{_qmTsc z8-#CC^yy|bO~-D!OU7)lzZFKwM;%$xM>kP-R7y4L^wHeqd|av;zOPP&oBh8der30m zzB`@Dvs8GN|Itl;iJywfKW4-CX8(J;-&m9VZJsH5^glYVaGXkiW4Ud&Uyz4i1`}ZSS~K#^ z(vna^r#i~l&YA68V)Ez5k40E)*g0e&8ARu--*2B@(K(Os2LHqA)!p9d2LlWIr)TT< zjqHew1GFuA@)DEkj;>P9B$m%v|H;Am`uCAvV!F9kB%Kp^H?0lgI<+hE%}#CmZ|41d zNK+|z0tfq$1b#{;k*x`mm~!YEiVKDSsaRNKAIIszQBACYV6 zN_T8U-lF(O&Y*A_Mi^IgIoUG}+GY-t@K^)fC%+HTv^-T_%_=~hI>ZZg5(?CHX;5ErJ%eAkLW3h{aqODDaP~gdamb#ggyb(BjQ@XwpGOw=#?NuQ zfxfeIy@wAppnd<$Uif+7_Y7!1tn7`SleOa6`1#>q`ohidbNPStg>>X)=1e)x0c>(7&)cPO9Q z_=|nol@I4Xq}GD9#~kLzZ*9Vu+UDJS&koK0;qL&?mRJ#6G z&I-fs;*`o!zXLjrmNljn+4Pn!Edl|cCY#zdc|?*UedcN}^MMAVg-=HEIX}spSjC4A zrt9aY3cR`0x1%{0$v&M}^ix?f=;n6hP4CaY?YrvR^js*MnGo zkvo|euc6a+9-kZ*in#EU>$&G`NuWS36P3Q|jp+-Sit2m{sEQz5|QnK0_cTpK8B~l%qfY(HB2V zYso^AQ;RVQ-+M7d1de!I4Ccw1LwSA>jQm zKFMh~kZUbHk^~Ztn;*hWRDth*@r?Jm-{BH~fh}g1@Qc78YU01tcwxd+KK{u`gSrpm z=oe&QjrZ)S$o4cGr6-*DyNN$XMSt6*JlaT{5}e-6o3_?4ey?+CEj!Tt!$fcT(4dn4O75;(k?7!dX8@%lc5i=a@0Wx z0A~z3cuPVEgBr)eNK}%ziO6ri+9C;Rylgwkkjr4#_LuEQ6>=S=F`_+II4$jk{h0qL zGFNWJKNv~Rk7U~$b11^5FCK_malgIz>gV?ODj#1}iQ#N}QmUdS(dSE<^-euoltF!I z`rFX>X8kRZ`U^p_Uznp7AhbT+L2D)w3>wZ|HwhkVj$EN2|15qt&Ywa4#eDuOY181q z^Jfd*Pm0!0sD-C4&OV{m7(MX`)l!P0G;uB-o6UdS7vcG@#_vnWy3tTK_& z9sFNWW97f_@v!`h@wpoH`)mXoFXQA4?jP!f`SY%ag=xfa!uj zE`W2d42Vp|c&O%e^S?MwANB4Dki) z@9|Q$IfORSO@x|r17ccn0TY6i5Lc!zJ_M6=xp5X(f8tTea+UYZ5EaX>Bk8}_P9p#3 zL396|y3o>p_tXUTUkvMS1Gyc^JeuM9{36@f%~_V%Z#YE%D>;R0d$FX7j) z{dfPr!u4O~_8Cbydp{liPe4!F(Ju#~H!0uMKI+ntz4STsv4?M;XkP zMr42fDfLfeo=t@ors)@V10U|#--gkWh5%DoyEK}=Qq{6m&JQ=y+Ldm$jHWmtoCL)C z*!t7|^*T4qI9RcJfohn`q_QkOJ|C`??@XXk2?Ij@G!n~U&6-_LaWsI$Rw1zqgPaM0 zYm@s_&AtKbeNxgO_%oPX6bpaG?+{N&7P$S%QvP=I=Fp)$$1d-o&VQdl>zh{|4za$0 zR>Nc!Kys^s(%|~T-GA=w*b|8Y&ZJ9kkPL?4@8t7w5@D6r<5vP}u&Wm8{__{9B;9{L zo-9Ym`_CVe-5&h@bK);Gu~18<)X}h42FA4;wNbq+uq&p@g#@CktlRS5*rOW?B$KETnjD+qws1 zalhd>l^?}4jU1*L>eE83uNpdk&i#i85R-=k?F;Bg?!Qba8@zzt#@jf%g*;*|M*+oG zA~vpkIW5^;wtv3X6`h%M0sRr*v5#`ygKFr#p!8n-jmSO(AD^%WN#EYXd${4p=iUb- zd7osA@yYE|>qF5#(X@QD%+!QMst%v&!unI(0bLHm{ya~jKmRf~+BoSsiG-H{OfzmTpY#;?*&<9s za1Ha}!rfFzwdYXrB0{klq^GQ&l0`LQ$<08gSUY7MU z8=hN;J#-&

~w-ETj2~kXa_meM{fxLq+5s~nkI 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 a4=RHwrp!cqmu` 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 z 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 z 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ⅇnS}G{Py0~&M;VB`q(!FowRmV$d&aPb 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%0AhN&>+n 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

    S{2qVoUHg1LDay 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

    nW9t1krf+#G{#}C66b){j}r-ESKJYLzRK} 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

    jVFdxjWvuiTxu* zSI9h`)0cakzML(6u{hn*Sh`Zt$lH}0wD?zdvAZi*==-hi_vlJ{Eq*_$I8lqA_Y{w) zz(Vd-o=$LWc~a4{&9n>s&rB*Bi)Y+sdPY*wNIXRtVs}p(>ig&1@A27>it@0i;^kU=m8Uo&VDmk^p@2cYDw{;)>lZv9h$Uxe8%y2P z0!F83@j`d8yCbdj{Y>|JeD)_LDA*<#Rs5+I5AYOMDPQN>F7(H~sB}C-zOXOqglcr= zN>VD=W_f+Dd|jf&i`>QT&YY+3Uw6MpXO7n5u~Egl*^6MCo884;`RYJat$bmNmbC$4 z`ML(%L=VK4a&7zm2Hu`*)#7}2vAZW5^!<(Q_vpzSExs_Sc#IYw?I}Khe7%4jKaTx+ z9M1>p$kj@%@_OEmT%pBV-No*XbkX-4-0#tmR4twpRs28pAlPP%rcIYH4e!fL-h zZyd2-Yw@i1YdM|{)R_m!bL+Q^7E#BrXc6VlgzTf12kIr1A#q*+yQ?&R|PcgZI z_)I;^J28r%R8-e?ihiXc`M_QIL0cJ`;O)w{TAb%Dc6VjHzVGjTkFLzt;tQgRgIfF# zPqFZ2x1i|Z3)jCS75x)0C|^|mGx4m-e^NDiltAtW+uU2n+oKvz-|xQpHBeW>p<-S2^(FCM}8 zLaqHm;6N%yWu*bnRx72ob1@zM59#O^XwYY0k@iHy$;4aP^8c}mB<5C2nF#uj}Wro~B7#sAjg9qvX@J4=h#xr!MdI^iCAtxccprs{F}(Ky#f zj4Ntuaeh?sciO$)QN_!(_-s!xEeOuPsffoOl|!9XH$QBJIeU z-XZ0QX6g)LitXjGXx_rlr|RebqGRXhwY{GY@OWckdpw z*FoDGLzl(&#*HIc1l@r^_xD#6-GQ;_F5u_CKP0{VnPR}tuk?QYw&!zybiD|EhgJ1l z$j!afec8e|Z6VQV;g`q52<8I8D{TwdyBxikuoXYQQa}Hxfkkk(_w#0+&;1b`o}s(@ zf5tj=$n`*HeEm!OwwmX+K9c(bD9U5Wgkb#W-N0tWNFmo(tt>Vt2sSd{#%hq{qL)>Y z`7^dl7ZJ#R6iB9{4_`kzpfEN_$QHu1YKhWM0+FlQ)nB?(Y zY|oBQupY2pGhMOf&seMKvs2GUfe6M1JVEyZ(w!y0-4YDS%erKA}gg;}k9tt>S zt^&F95euYg43NBNApTgJna?Vg^AyWAgx*J?-{nlHz5Pg-CaeY&n_1}m8H?iPUjgJu z1v1lFymU8#==r9)*&1NhOx2!-!T2MoW3rUl0b?Wd#W_V{D0V33H=t3DpHBFX(080O zjkb487fxM+a+CFE296=xseJz+fqrvziDKwn{nHBmyqh$R`5pKw~ zF4DFNoJq22!7xo(4G72EmiRLk;T5|8q^1HX!w{v|!|Mcy*k1u+?eBsYwd-L>{y3Xo z#w(ti70>=?LgpVP6bNx=KV_TQJ35RjtCIh=1^$f1wKZ|=tw3IPOv{`YAWfoy_@jv< zIXe~4Y*_=&uMh+VP91mSEJ6l&#hcBYQ(r(-(`NUBau(+v{K5XHmv|UwQeh_QIBv2i zpPgjjiujQS63!wd&y>X0rT6Qr9s`g=~KJ=O)%<0mQ7 z{27aMKR_~1Dv+NiTBLt_INWm!q*pYMY9KB0HS{SZbb=Ck`_E|ZL~Sna72Dj%NOP

    IP+&L&My(jHxEe1`#Id|EI>p*1c)>L9}USLak*KlCvn6!l?>jxa+%(`Qkbfx zI5dxMvB$L!|3YLg-xaq29KbVHq@hfY_rnb=3D@EVmK!Rbfw^TW)bX^^IP>e#=n!sT zc@0_G%FDOmqr~AyeT(~FCS*NPDUGKCggj&sK7_h{mG z27a5pd(luZas8>Kz;1M^e2sW8z`D3BJ$Fak0?aiDmi*qi*~(mh%@m$5vVflpo{s{8 z$tIqz@xM@xoZ6tNSLh1&j|<&DI=X+fb^Va}1-axWmc+deK;nBQ{TR2PwI7M6_M3to zMwI`GJr4fs+5-R4|4=%=jQz55epEkb+gOJBpkNgndO5Ar&KxnEJ+ETdICgwtb1eQv z%}@ZFO`JW9x^CR6Ko@93$wwkWsyMWoao*%8@=Fpx%!h*FIU*Kbd3qg5`ULR~k+HY6Q%m)wH z%McGwcK2^^mhBt1fy(`s+`Ej1R_gpK^}B0ovU#*ManHuVb~P4Li*NvI?fO8fg&Qez ziU)zQ<5&X?pFLkH$6gr z9vepA2Xd<(p>-?%HBh`SyLcNJ4@TnLAD)j=fLG3C9CBY5?>fyfzt?>Mq~ifWaCc*N zu{S_Lfm-Yc+%)ca2KKQD+y;!zs@<{sw+G0C9pS}m+m)G?*D0~2F~FQIFt6c_ z7qSagudp{~tRpV=HRL3hh~-dzL3zc%VDp!VxBZmjtsj_Q*Yayf_-yHv2)S}qF5n;( zlgd=!GvpKOL1TNZt|`G7~**c4WQjuYpVKfNf98cYvJ`wdF}TfW#f%SvdRqWz>^%9)B?d%48#IYM`Xk ztt>6+aGU&b^j&tQ0u=5KJ(^t0r5w^Li|T@-P{N|})4y0n zHbVx?;>Wdqin*sbp3waiu?*uBd=2cL=4o4%%gL9tKn&rS2tbV!zC&6K{Mfu0fnpo|ZD z2Ve@K%XK!=e?1uj9mfHsIGIXB2h`*Ar~@?AZb)A3$6b%=8daxsPMw-*hBK6R1IA)Wjs{RZD?X_rPa zK^5)U84_P+Uh7EN&TCvJWu#G|y0WEfQd7)Xk7}i4v%LwPfP&+svI6R)SRW)xU<=7+ zy^=Ps0Fcehek5X2QFGRZMH(f|iP54m0%R$xU9gJaoKrc)Xv%9* zuV+&WSmzk(zuG&|V=?xGXX?t=V(eK{jQvVH;A|gjJ^Gj~Vm)X8fg|)Irmdh@q6%E} zZO%Sdk^Tu%L`q~}q1rF~ey@>-JH*f`zArx=2Hc>C2n{jQJ{9|&4EsGp3OmfiA6z-6 z9)by=vXyexX|R5DkNk-tl2egxDVI0Iz_#q>*8k$2*~KfeVc47+5s@QrT0|W* zBl2C5?-oUW?YYMuHWMYA{HgY5CJ?te1fI*$ld41MrmU|@9O#TQW#k}xC=E1I46`hW z<5@GsIF)o~pyR4x{fKEAt#XPA4#UsE0HQZy@L*Q-IHi0683Ad8!kV{(+D5Xuy)iiy zQNNskx&e5Go#mqtZ@{+lK+A|KR^+++A7X0Z?xyw+^5panmR}t_^-iQ0_<{ivkcg6K z&(UA8uN8e1w}5#APmX;>Cv1Q-(Aw9YYEWD+s0;;Y*knLqO*F&Pq_PjVqwf6H%a_OVyiW%Vn462yiXw+G93Gvtnzi0 z_P>RB15e?ThElY<&=7Fn{9dALgGa3$0E_rGjHBt}!KZw*n?El5$gKRY+Q(BZwmIy{ z;k1w4s%alb_f}K01B~~v5srO4ez_G1D~rt8qAlEYV^k_2iDGcnv_dM(w)gq9Bfeql zDi#m?00-gsP3N<5g^k#18<^1S{n;C4uc2f15P#C}{ft62e6Owz8@@NCu)|yUQ+>nt zfPOSg{`_r*&(yi=z!E-LjGpR0QxhxWS(J=Ej*O?7ie4(;&^>r|v2QpzJrCB4fu}W5 z$=0}ar@lc;cwMx3Mc6+x9uU;HG0}p1ZBhOnzf2=ZGt6hBR5y@=H4(?#B2Z&j`Lk-v zvOJ1%`apNLWc(tO8D-Gi%7bU^-?fqWyr*N|sDMy|uyJF!9?5VEuhjEjOuur(x5$4^ zc@JZ$YmJ8$3Q`30@-7;~q z;-C}wHI!jJu4O7}UFwW)o<*85LEt$>Qb8hFxd@JfCp9*+7;N8TE`3Jni>_ELNsm}> z98p@v0K-~Xw37Jc*+>qqZhPRnvIgJbW}Lspz1%m1RsOmBFZv-dY?xbS3r5wz>yYaXFV0vEIU5a z0>->C$RVLG$+7k<8ULktwWZw2zLr8ZHP8D^9z4HKpDLx^U_ok67z!NpL4|SoZ6^9`Z2OS^GL>5P- z&EhRK_>eIi8JNRC331dg22g8^*EvH6gqG!;VoT!;(0FZnN~(B2Kyj3&osEzcpaTnl zP43p`E6umtgrVpD)9T$ZQk~-}axZufm>e1UgGy09g7J5+2B#BmQcgokFis6LVYUKL z!~TQ78t(2_*Wnu^k zBJ@KA&_D(#^vFna!y;AG4Aa*>!D5J_CXFa!oDCqL3zc5O=QfRt8<9VP%Uzw-;nCmf+G1QqFf>__Nr!0h=N;+FTFh}%c!s{ObH zhY==_W}t(LT3Vn)M6D-eqV9(fwaNV*qhduZO+{_bK#Cg941+Wb7%L<9ruRcCZ#^Mz zA)fV395P@#a_Qg5vvFsDXGte|c&7RJ&2IjLMn_pmwU2K`=$}LXCOQQH9Y~Ht%0?>z zA#xB|@AybXwgzMnZcs*&P{@1V1XD8+6mcb#cV7ZCd+G+zDggZi%9B#xi^KTe%A}&> z_$`2wHsvcpn~^stZF>3|+)a1V;3iu8GSX{x8~g);FaUyJ*H`j>UhH5L_@FR-7ib5E zD1EUVL)geJo1d@+gUn7dTb(DzJ03#>GgRSjY668@a=I!UfJPi6qJt>M7@%W3>v3fQ z`V-|Cb9f}L;~4QH7CGxd`40DA1`}UN2d9re-ot4>?KGWla&z8SGa+9URqG~0A(f9G zKpY$2fdn$VCy|?qLW=ply9xm&6h#Oi^&$k!uj;$SAl=*wc`+w^0x{_PjflZB$5Lfh z=HE-eX^?=>a!5eob&etSi;6zIof6Q1`k7f6#s8zg|L@PWP8at>)l^FW&jd@rz*4<# zhMa{wVj2D_T`xZ!bp7Z!4_%4>jczK2wnym?{qGL-zg;8#SNt0Eh~AR+Y@+zQVDKuqr*(DGON0F2T@w(ukKs;6!m{c!~O`0UGpr zk9ln@JHrVPI%9D_;&U8}n@8<{t>efEbRQKtNrET7;4r*d{Sz=m6&#LRfYxMvz?grC z?h7~v62Pi{mVFLZ_x_5kZu)wPb;k9q!gKlG-eq9-6aQ9r=lUxA_qUSW3FgxOSYFF0 zbAo!@R;|GB-_B8nQ-129Ky13$zkU>jqRRZ+t^SJbwgv#56@#@<7-e?6?P&k^_6ZK$ zy4;tn%LN(ea&Js_;^PIUkfit1G>91pgzoqFU5bKBt+h$(bnQDa;OpB${4P1hBYwVW zeaj7Qf%H}D(15T~tNxw`dRzU4HMc|EFh&u{>s2=*c^vHS3XN84sp^i=dhxhdggx%$ z7R_rwKZbTx%BPsdmHR*mXO@8@`u0LuVEpS#AWGe@RZ+_F6{QI`LzI#V&w>wC`K-Wv zD7|W`^{Sj*=tG-8uX^4oV9Gm3dzfNE*SQ%GdM3&ucoRsaf3FDr;URQPg4BglR*^q; zy~yT|t-p}&<}F*uz9tpzq0*thhz8>qm7>2_U!(m6S(!gd?l_{;Te(!3dbqzt`xj>0 zf@V;c3&Av(f27?Y%rxQzy7{M$>t;LZvBG)sbB^5;;T)%?sa61D#5qEDqMTzEjZ(|e zN>7oC401Y>HI8+8M~(mrSEio?t{nFd4_EwDMdP0wH@E!N<*KS#sQkm?9!G!BBMMt2 z+c)DcfJe(K6E=OcMA(#nBWp2#JZceG^!C-tBDh5ti;{0rt9I`LUJur?DL9mRmi1s} ze#Jgft18pR@o6AOlQtf5n6CeJcRSRfs!2M!tpt0PL9NK zl*pKwbpw#@KI*E}(=C+g6S}I2fLz{#@-~E00j=N&h`K8Hn?0u1!|VX%Me|15N^%cr zlH+5r7=xBKKyM{bGU%=F#24^Z0mcWd4HzT#nMq??IvzBy&>TRVmp^kOY|Cp~go}0S z)4CU+Mb)_@|Fh ztxtgTJ=w}5eSXSl-n_;wk^YK!N7!#UR#f#bEn+`GKZ)GK!e_>JQCHQ6Z$yxEUi`8! zrB^hDMtyRI5<1P~?pBS$oVSF8L#(5Ms7Ypsq*3O=A!;5+1yYIq!mPPj#(d9;)v&v0 zGHq?}JR3pCK0CjbxXxd;Ry3^N+=RU3;w_Pkf5h~JLW+oX!rG$pa!H+U~CA3 z%!r?43KzfWsgAdv3KwN9ldM4Uzf`axsilVvYXADV$sU>+W$Ki^FL>yCaQWYP8v1hy z15wU$V%eINxChRi|79`%TMohmplZzj-d$+(zhr(Z%tQY74k$A6N~H+&+hs7nyiN^f z0JFoQO;(Xi64*P4>^-Ptuf}VtGim0JSM8IZKfA9EwB^%dR9m3r5q}0*i}GgyTCQ$I zN^v0nmy^ABj|E#ZntRylt6jbNy4mcnUCB|rkK}j%g|hE2ziZY>nT)fGgvlw9{I2!? z+-y!aC6EVm;WElUa(%FQ{sOwhl^TFcd_E5xo^pj_HQgNk-@lc^0|t9JT&EE@-1v0I zCBF3QJ}4hEmjmQ1E?SLGiOEIRrtUT`3Z0s9ll@ACFUB#-%Be=ONx zC3M+3&FK8@vHC*)38yIiQ%t*^s&!Z^Aa3(e^1C3DH;NbYI|zd}zk7W(Wa;F!B16S}Xl;CJwzF}!Uh*DA^l&R9B-7VrI@*xu@Y{!$=4QKi%MXkFX+QlwD66zhKjr!yoi0DnHwU z5Xx-$NZ4?yTB!U>Sd01D{j?b z+#3BZN%HjDEV#_wzYs?AJnLs%?B{gWckSZiF73SDi8pYd`a-_&b(l2P%%7C2w=#(%oGgOsQF~t^_zSj znR-G>0bs)a1uLQRXF>7dKOTuI)r9M7)K8k*fS1#NN1I;*j|TMskHCiz_^Ia@7wf zty2F$lTnFj4J1v08dy>+eu-&<9WHg{R0B6hWM)`9Th(#p<}s!Yi64rf4A{5G8Nb4q zSRp3xE6b5EaZbWDdRNdKq^)S+A+0&(5;qyghRUk8Es^-R$WhG^+j9iLcDg-sA9MMcFjI-|pp$7Iu#<_yXFK`P?^GX=zhL~T8DPbLfEuixE`#-EO>pCO za^s+~po)nq`DtdS^W^6>^7cUH*ECU?hmAd87SzQq;f3Hwc@5;Oj+$r!3%-d?!Yb%| zT=bOJ+fBj9GwOR7>8m4`VEZb?Ac2i0`|HTb9)_#`SQgO_#F3)tp82h2>B>Z%{*_r> zSed>F12De2!_7wIKj62y@NKa1x)s94`EP3eBcs%k|GWYYPPtGynC9Z(jyQ1elw%!# zvv}J+bfy|v&eKgmo+Imd$YZ+naFZg0W!E0Rn5F99o`e4ngr z`tvLs#L+)dPMF`EGac;ww5xh23<71R=DK)#R3$D?y(-1pNK|it0!n8evlvTKBK`?- zC&TXk`OB5hIa=DoKDqOk53PTK@uq)T`5ScgxW=lhfNSTartHr@!4=Z(>n)r%w~_I^ z%p)LNbL)77%UAb43AhE$U-!mT;h&Ns_O%b`ikKoQf0?~KB3aB|rkt)~g)V#Ymz((; zzB~TKX&*6vFqvIc(Xw1jdFX#&$`Z_4vY8aqXR9ijH?g^fQYMZI4ow`F(8!@DVuA3i z)!XZ=P%*1Hg$4*!i56&@VYV!S1oc`f67=e8DnVQxXkC^kG5IJN)DFaZsBMN^tQ;gg^IdkRE*Z)YVSrk0%4y!oG?U(KU!e3evGz5L`+ zEW@DcrJ0AECqGY9{})K_jg3@#J)Q=<_RCMU*u|m$^$BGytnW2<{a5wlkn@wZ zt0FQJo1g4r=zjaVA}AMv19pCWKl#a5^+DQxmE+v|<4s9tHyQu_{3H|8N!-K`lb@Xb zo!jH~F>js#Gj;n+baE6_0{O{xQ~mOjQ=SJemS?KL>KQRu-~I+&_?XOKdNRQVP_Xaf zETc03Cgz-F#QN!Rj@P)%dGhlb8@5B{Pft*p_jnC))bQF|%UfeJwGVz|k9qM{r85No zFXt!C>w%Gv{m;WlUmbbvpKj**I}^YB1WWau{2e`s%})j&r%W6{veHpR=4Xa}>tn`4nVv#p*7 znuOU?7u3o7(?cCIKZS6};mA)ek;S%uB|o{1 zN#nufCqw6emA}s;E1RyFWP><&e)7ySU}uL6bx)d~M0k4fF7R~Tk=8_l`RAg58qvob z3r@Sn&medE$xr4$Sv9tsVW0MspQMGLt0QWwt^)2~%1N2pgD6zfX2L_0#t}yc7Ex}X|+M@mv?)JZMK}_CTxhwXhek% zH9zT^;;esD%w|7tMcX}pvgk>O_SGGffUf-HqMt#)>p?(~-|FTkJA;l4Z*!jfJk2fN zLwet@q0;N|H1I2a`ANqcl|I$ZPgd3hmAm}mp|YPyOMcR?qnrBvV*S_hlXw0Bk1=kx z2*|0=2^%8$$+=H}1)I)P7P#`0Wk1^dq#ts7$}#poZBRL`GCx^c1O4vtyQkk~XokCg ze_wub#nFc`KeC=bq(Ae)>f|RwU#I&<|nCO+d(|+=kv~Owu_ub zF=xm|#{G{CA5wnOvdw|=lje_s18=5#^OMOxNPd#p&^lkUZk_7KA?GLQ%u=n)#O5cL zzY0P5XqE`dfN!dkpJeR=X&3DBkk*v9ckAQdpPx)g01$5Ft zB{+Zbv|oNwG8Viz;dC`vuKeW45Om=*GUMR#lLa_?j6_c}Z#YkWUZee2koiY=CLQZm zWB#O;UBG)d@{@c11S5Ct@G#O>M;gf{!u{*Wq2wnUn^l>glx=jg5#t-+x2f|y*m%rq z!p8Ye(&f1FlMlv#gZ)oc4!ZJ_%eH}o+Y=mj^Pi9Rf!Ni^Px@AXIvalWP{-6h!!73j zf8{41e;Of%%}*A99`v7wB|mvh*5Lk?{A4wgMu>2==TFL}gO$B8Y{2=GaW;r^=O=qd zgPl)c*E4$=ou54L9eCQJt~HVHP`9B#^OOI8)78#TnquZowX}hK+E0Em>T~Gow|}Uv z{?+`XVmG8~@Q)tp^3}b^WIy5lb??yglf3m2$zp!e9~w!5BWCr?pX56E$qgl%pH!Tr ziss5s%(r05hwcNa zBX(u1U#8-kvkz~?Ir?{y`AxozDn@J~|i_T-ID23d{uT`iA*$N2RnVZ+6b zM&&2ZJ_Ht=jeXH<6vJW>7VP>;;;#ibkVEs6%U14_T2A#`7GeVy3nljn{=cw)e z@{`)tonQA|-}M%HdD!Mpru8O2{z`tbjQJpRR_9OtC*zL3>$}P()BZz;p}wzgw)sg& z>dP(&jyV2N1SUO(EzM*^4mp(;)|4J!!q_y!f?~d7j&cqPBu7#C9!mZ>`#X_L@Gu5v zL5WUkgco@w4|9@~I`&DD6xkxP2GVCuA*axbHahxKwlg|U+3!4hmGdaS?1J#zvCShq zzPj@8Ne9-IY2kTv)sOwI@47cxO+74|XMNXA_C$gd5H-IL97s-e)Wk7UAAbSjkFNyT zK-V;L`unOOhn%5|VV-KGW*AOJl1cvX3a?ocAu6X#5m6}=24u-}TUG13Chi1DTYv8% zsp%m*4;_81W`6Qe#Qx_T3tMlhz#%MC*pcZ(w8mdyCW|EyJ$78t9G$}=AX^hTK_6b}4*LP(;3s%m>umSv2QnAfX#6N+Z zxnSqj4}zV)VYe}RsriYUr!zK#r-Sz@Ps#pgP#_tK28u3H|ltCw4DvFn;L+nxFK; z#%Jl1n<>pUfhk|ZtP%vyKYmYj?2t2*jWeuN`DQ4)$3uh$JtrcxdZf)zaGaLk49fN& zK<1mi^pM#+CA$k9pA|wJ8lFK>`*ra7N$t8eKPiKJL$rS_vZC$IPaYf!(Qb8=5)hIR z@ikLFb@G$eIB?(~@{^f)jtozBo*ZxE&QFg2$dTWn#>eGUk)Ql**R%rFs5yJ2B#y|B zSQgGt9t?rld%y4y+gGNWr5sqM4>>=%Hy$3N*92k1?S;aI$o$El_ksmaVf(aoI}sKf zyFv1k)>xcMDaQGr3-(z_uVVknScC31@OIZ^9_{Yh-C{yIQCVh{{ifenR{It1^lC z$t@^w`x3VQS>$AHRr$%lyHt15%>esUWq$JA2af(^es_5ClPkWb{r~L1y7I$O zZh`W*{|A+yY^inN{N&TY;J`ragH|cK8b^w z3XVhpDcdRFF)y#4^DiKE!E_NCqKDs4VbZ=%s8n0eI|X=gILH?)>DJ z<;YJi`NqdtRFR)7u?t%dOMcSfTd;E0CJ!rpJ;~~p2iA^*&rhEGpEA)WKbi2Zn~mwF z0r+i}7lMsnLtMeey${gktjrJRC&h!n!PF+o!8EtmfBhqH@Rgrcoos%RIcJ|`wb$#! zoS$~YHy}}PqlZMuPZqRr6Xb8sPsS{a5X0stLqQK(-NTZf+|fn-(xK-kqnR`wOnx%q z5wNluh7I7KPQTve)86r5Uh ztDB#E`8kMv^*Rr+ePw#^kq4IPL(WgO;5Z~RdyI%jP{kvXpImbrSnvn7CyRV~S)3jUsoxva{gpT8M=EbPQV|_4-%N!Cz}aJxV!fEI8D|3dIp!dFg#H z>XU8CDCQ_nqCj#KoIghXIre}5`N`V;sypdsxqYfKKe^ytM}H=4K0Nu!TU%)VKlTWZ zudZ}Yb_*26HgnIeT}_=NHw{CZTmw?h#H{_R<5R&1{c;X+{$#-}4Q=%dS@Dw) zO`IRSu8B6Zmi;HbavXJ;4l@&v;=8 zSkaxVpu>1U2Dv$AFMiyaG#ujWLU;C{n9bLz+^3n3ohSMXOaFC)+-XYoe55Haed^;g zsz_5>+x5GDDNV7nD35FeFYB-J@X}XDPDpg~*I!4D6{c5j{^a)^RpuuZv)pXN`Oo0D zIbjIc*m)EMG_lp7sQe^!BRE)CS2>vG<=_{k;9$bHs!YgGa6Zd))u#i_pWOW^i1XtI z9^xQBY2DCGioZEO`RVltF>HQP26|8c4@-XXv8-|ZE9<+qGif}S{G{SPVC7&88^AwZ zdY4ar(yBk$IR{&s*-On&ygaS92s~~7wKb41rMuq?XDHw=0>ZF=+W-7X`oA1KJ;6Rz znV(FZ>-eXNb%!TEIdVP3Ys?Cdc=_tyEA`w0=dXLw`N>fc``U+IXrTHd*Zj%2S0j?e z{G<>Xsdi25BAk||tORe9^9O{_^bt&0iLf zzSYlPvimtQe!lbMm%qIKmLuP-*ZBCND)N^{?4sA|<}XLD1p}U0=3#)Z%+IZJV3|MU z{H5h~c$8m<3mXz|7dAxlmuLS47Mxu}S&-soLC$;_o&}$)e77){P2MMrsxp5`UxV(> zSnBDnDT{Y^?eEK9-a;=ATmCXFok;(s^86f-sxp5m zn&s$E*{Z{nzx=Wq!gI%BkMQ{F%EPtX0_E=?4k~}S_XkRjPyQ0-09Sww>IV)q+BdFJ zh!0J123pQ}8^nJC+wKS>&7ATApuwCSa{lu0Xe&8Y=Pxha2bno`n8-}#oBPjSCaeNo zo0WR#YA&qlrs3b3zf^ozMgCHAn%g5|{ns{_sZ(!9&jJsyXNlM4`sFX>eZhy3*ey*W z_XIOsKI8Q{V8z2^#X;pSEv{6#Pcx02rz-Q8(XS$Z*|yThXH=2D^s`HQ4@ds8<^%Au z`+FW<`s&DlI5&U&b>v|3m$SB3nZIOCakCNYzrb%Z;8w74_)uZvGXtXXmy`N{gUhfZ zS=7YK!5`lO2Ll^bnIwNHo3Kw=eV}dhZ>|J!PJP!y9ON(kD#Qvb2|7|Al?hL?X+} zl)_mye<}M!8Ixk}dKw^6^N{nGwMAC8eDjxGgCIz^-y?!F^7`uJFJCPK$@{(IA-O4$ zJ%WxtS2KUXQC!aWCCv2fR9PuYYUYp`+cr}#ArvlUoZvh;X^MNa>>n?| z+uXav$Jy!&kriG8KI$=(A?^;n-&lKJD{A$IIIg@nm)-3Y}xiyTL1rF{22BT9a@^57P zn}-XZ1!=KHUIrf!ndr4HPfOi}@(r(bA&l}1ST&bhjKD>X=+@XQ!8(uKX`AYA;RzNC zNWoWZ373o8`Mq2}21w!S$1cWblQr*!XbOn(_%37yz*yGz3LKzkZW#DHCKzFVp_Y*E zUUNQE`Cch?YvF!-?GnaQIGx!3HSpl|k4XW|NRC5+7;)2*oI!?ht8!P=3XSFRE%0Rr zA@-!Ed94Q#q1aEcPZ0}_@DDVU83eB2J#GpuIOZ=Gsq{zeHx{dg*YA$lUZ97}yIRxJ zQRRi4&^W#n;?QKyfn_{hwlq4Xg_yS>vMKJByQ{-1cXhBt$43l0XJs7rMYKJ9__S&H zU!^3N&7r06P*X2RInLjDly6Dmbu&TY?2nYhDdwBU@B%nE<~UbwVYvo#*!wwk5#Twx z34us6otabuf0^_?jr<2Uhyj3Rm>ce}{J#se!2h?D|AjYs#*)HIMSCp*5!bxsA)=oD zC;R6dqQ%_*r}Vi$tXcqIYdW<33A8zkMVAgi208)7?K}z;A9e{ONqlz zF0=QiU43|V1m{+%k%_AP|wLfEbC}SWOzBqJ` zu~#nQh|Fm~Y5~lO?twi*g;?xsu7_>qv!hW?5 zYDcV}XgD3rc?eF#@e>si*;iVG3q|bP68pw?k@`cFs)wXz z)z5BytLFONo?+G74*FFmeoy_>#_tu7UZ6Ys)E_jy`Ar2kP;y0rUOm0u>@KJY!7NKE zTF!Su*QQe)|By-IR)79s_4!tE%@XIyaSZPDQx{Bd^3w@(RdUnZXP&?pM0p3u!5)*; zN{4j<f@xS9mh<{6@ zWK@+F=Jn!zBK}oo24m);_w{CYdT%=Z=$6P3E_QWIh`I8EdNrL+EGvlEe{1S-c)P^< zPM+Y+51MTNVn7jw{x9YS4Q07-#M%#`6o|El-9NCkKb6@mW5T4PUHL&BiLJc(L6`m- zA1=5_7}I{WQT_QPR)6L_VD*P#0J~{@!P-gS&d?=V##xL-D4^)}G2h|DP95KdLy$dd z`*#TW{{$2|1aqr>5`Td6O?ZFfYOhByPr)N}c`Mo@OpEpiQA$z`CvnMa$j=AUJ@VtL zJ>UJ{mMQWmHkFt}C!ziUd-NUsu>K(;KW5816&@G`PyT>AdZ+`pOazsiE>DBc z8|`^rKpxWuxx5kc5^{N?*pRG1vEMDjb@Qy0kiNTzWk=@@CteRfF!@FijMg8DVC0_> zrLiv#tttKic2)MLi{jD@A+Y8wb=V^9eG@dzf5}5rGd1Ls3HA24}s-~vu z_frrh#Ig}Q=m&k#pcGx-&HS?8N19*oiZId*{!a6Y>w|8OjQt-U!%PKxq36?~8l0av z@duk<=-I#?gEi$oc0Wt~iUdo-taqOWvrH+4-|8P-3yymiy%7$l?I-oP<6I(1HR$g= zIo`!RY_x406yW?>ssJ9x0_lo!ENF9&nQPb2iXrhhmgvh!qI588fceSJ*FmM* zrg*4?`*FW_lf-xa!saK955_;?5-L>%EA4p?yU8%b^oLql<@t;G$<=bvM#N*mPaRBt zGL*R>J(i4Q)fO%F<|pH?1+$u5M`kts=r|kZVZ$Lf?NQ0b_gFVI)2f?wQzuOTzcwsT ze$h>}K!La^+J{Us(wRTszmr;4CMQ95R_N0j^&4)UM5)h%ECD)&@4opHjt@L$zG+{xqUUlsXHlTmK@3Ygl^NXi$? za8!OHcJhhw;rM&LGA6~Wdk~*g!?R^+#^USQIKS*j(=ZIc5rIg4b7?)OJDjvSOeX63%hv8Dpr5hyB6DkP7T*d>Wiw*MUx-ne97a-jH+z%d&Gi@&dp zLFGmX*&R#sjt&Ixsc~^pY5unwVBCz#rU~qlP^vs0RBMFqWU?=i5-8qWxsJc!w`2oy zH$*xZMXOxr#CH+@CbE&fAOAL{gQG!(_6e(5nq(r#(?!IP7LEa=7-psEyBr>={WZeIyu3h3;_fr{!#%9E4|9)KIEp$g#}`JGnL=ZBl0_t@!3SN z!1r?;M5oC)WTrvev-a+JjnWXE>^Ae3%IM)`M!Zpv4DwKZdRQKG zZ~+^4eYoybD<~-m@H)OVd!JX#zyQ{zMdMyDDne>U|i`CFK}nSYsTLKubw zN?K`hwA%~-si>OsY<*7Nk+TE2v8P=nXEMJ+Q8w-)B*^TNaRRFRjBJQadbi4@*~OoA zE8g6#_=9f6OQ>Z62+Tq7_pD3>b}RlhP`od@cpICB+~;vPa$#x#p%sryr9tGCskzx` zHOCBQt{Dyjcd<8NpbC$iA85v0fqKAuB0lGR6;I1wx}{+JV^iRVFUJ0BRw(5QfS4$M zZAF0SV^;NMQ{%Koam^8(ioe0dvw6wp2uvV%D{f5^bt~=xl3k7e*S0G&<1rygn9>+v z5_hUkE^*4C*6v1$dGj>lWM4yub4gIVmSGpgz?}9AKt(<+UO^lQ&*aJ1YXT*+rJb%x za~-a3p)3-Lne{uqE~?CfDQMdN<))b6%0lL{DL<3*#ToGE-I6ZYP2Lp%BA$1^euTP1 zx=_D8>XX75Y=Q4X?eK#6f2VGXeyfo`gxJEDO0ee4h0j)7ja(uNnsgHC!CVK5e=*-@ zjKh2nhNDV4mA{A5k`CMDkNpsIfhh*40b|RLW*5cuhf9eE09xq7m#qXkP)Z-ty6_Ez z>p^V58QyORlw0t+-4vM+?K%oJ!}QqVRxW>A^wOW5w>^UxEl4TMU7 zJHs|vVf{%nJ(;jtEg6e#={dr(}T9~5{Gf8rAGf1u;XgX_+VXX&+C8iy)cT8E_<+0r;S|JVaC0BC^tWC9p4 zHWrz&WB_jY1P9gj;uIY;n;C{%UXl^8cUw$BLXI z+VU6jpRm6wq_0DHzlve{C;01{wLc>Me(m_!pIZM<*q^o4wm*Jk4fE*#=zoaz|1i-X ztA^tS1Ym$*qW$#X|KvX|&e#7|ll~Z-B%$boyl#iBjhJ{MfDWLAD{wZZjhYg*ADtrcQ5FIx+nW=e-qe%c zApWnqKhhTAm-Iwtjsqp?1!{a5s4NZC*oRdo4_s1m?r`KM!z&9A3Jj{dh_PDv7x*oK zTD?UK)Bt}KON4%l7@?Ifkl+6wdv6{XRh9gUCy+o`J19#O(4bM{GMXr8!Xk+Vy$u}= zh>D^P3L@?i5{QBt=tSvh+KD4NC^&*&m=;~)Z~2_X9@ivofR?ze3h+#rD3zt5-6 zIk%T|(qYE;d+*Kr=8yDU&QevUs!mm%I_HvpuZns0%&TILJ!biKC!(O%&lMdkf2IJ@ z6<{eKRD82=&F!Q8gJ&5yTpA81{-oh)FYtt3GthJpXaL{ee}mGTkClA2*IMI?Z|+x5gO7s0i{`s;Al*#ZxgxN9d=@ z7{yaDMhBRuDcZk$9dEQjDs7{A3Iv|U8l-tLAvlU%Us&Vg1z-eOq$t8NgAB`P0XR|a zBPjK@utH!^+JtTeC2a>cCl(GEA|E$fuo@<0p{6iy>`R1wkhX*H))UUDb?(+c7aGh2$k{Ye2p{`2B za3$UGzaq#?i*P>|Z5;g~BC7NYpKAT0o{E0qQ>|b0Q=?z_M(Y>z2Kt3hqxDO3g0AK# zS51S$sv192Iw`;Y&$!0?q2xMs z@Fmg+}RRcjF_D|2W#;p-C_Q zaY!kF!D$T7h=10Mfp+`l2+$P!8aI7b+|YPrNj_aKnaVpW>tu_jZ;XBNiZRxl_{g(y z=Gp@7KWa;{r{6!&Vp=w87YXgrn}VxwkUnU%3nSof!uV%OscT&-{w1m5#NUZfwNN+t!tQRyjrKvq$Xaz-r%h7HB&&ZZ>J{Bui=;(W#SU+N9OqYZLC%kgIGU)NXjI16M58)UH-=C7R5Yqy zKtKc0vAA@ZFPID6VjhjikJgcgs<`3;v;^U(!H=LE?cY}GM_jDYD3u$ObiU9y6&fT$ zjNe3}sJ}E$!U9_UT{Zu;R7fhcz|G9{Hy+{Pd<{i-w+NnR0r&1NZJ>@X5 zi?K&*{1|n9*U~A>{YB}b*)!UPga3poG5+@1mUl%PR_ZCL36)MpCEI6eSib$<&+fEl zzEKVFXZ4@0hR@s29*t(Eq8TTCz{&JtwAGevWrusWn18>`<(cwCBjDVT^9e~^B%;n%yOy`mqdCcwJgW@0hrx=ryM^pZ9ZVscpi7*112{6)w7mJY| zyf}>X;KgF32QLmIJ$U&|2CqO3o^EqR3`p_OD+IXFW%G~QhO311xynlrAIUt zDLtZbNa+!cMM{ro98!8jW0Cp^N~$1kI9HXl4X0vrM^W_Vj>sk(yIeLJnoZ4-tu?`y z_C+>)7{^opa(`(Fc!j`ZS?7`#wVoyh1>Rw0!Ckm~6(?^;8^J8y(D2(kX zCBD&Zf7JUnt;Fy}Z30^LI7g!?q|qlmUInXE?Z2KnHV(ep%@t>A810>niQv0>q=9eg z4T<1uEu=VKtrehhsXdOa=2qxCUc--RTehY4g4a+13XkSthkNZTjRLp%SpGvu=);Jf zA@;m7Fz|QRH^HL}TSCM6d(2@jX1h;>Bcdoi`my8`FH3-ivOnmgX&lB82W&>thrIZE z5sfh(|G635FKFe5Lpdeb?^IIa^R)euhDVtd#x^>X;f^wHG~;eK3#lHr=hKQQ^LJlj z#?rMnYAjzi=s$Qq(Et9rhr*#JG`ctxg;2Dx%k1huB}ca((N*{{Y88v0|Kbee-&LHc zM#}qXqvd_Qjn(jB8$KwrH0~V23-F7kBtF24v7F=;wu47K#sy~w--~W zO8jZBh+uspq`>>gs6Tq1%#R1IB_^gl>7xV$ED603X*UTm#ypyw7~e<>|6=IDn{N{##t0{jQ9AD(z5ImE5h4@NK!3}`gHjMBe@r@TBL6|ALdBvSbJv3Ys1yH;b5(Nv(SwMI z{^%rEM&ADe{c+WB(H~2%CZeXje@lO4{UIr>f-UNg3pIZ$`vP0)+RKMQX=B*Ezlj=B zM}Iu-Hu~ehgoo58D@$1CAZ(1Q9!?51*B8bnAK$50HGv;n0+(ZCheq(YV0RQA-OSwe zE~0sML9-~dR?XP=FGz|^aAYD(M1Nl&uV1KMJdS#q_q76D*aV{^F@e4cHG@cZB69Qi zgky0qcF2bL$r0gkK1Rrtd~s{P#v!@=aV${41gY3X7`|Bxq)?_^luug{8A;z)dL%`D zVT}FF5W#gWh;ZFiP&5l#J^Ai@C^^Etq7XKS>tBUGi5x@M|s+2d6jR78zU?oef6nmI#xB(Jke_PmYNv4ihC`bW398t0n)&!}A<)FiP9T zmbJ@iA~Kf0JAwgn*w0@3SD!}>r`y#`{20WU0UY1N)_U|EDeS ziS>ViM!$@ZE29o#?H726pjpKK$?*8oeva~g=s`L>@o2H~e=bw}t^6q=I338MgYkdv zPfDtm?U$DH%UC;VM0=VM{iMj~mq8l-gVZmN%}omPFQ#ASeHMj+qhF2!3eca^$13{A z!{2KCvg5v_m<0bb{j&X21%LDU<)Wbwu;(vLfXTt=m&{gR^1oTX{Ogmbp>*`i#b*Nj z7cMy{{c`m0k`CMdkNV|@kAauiFCn@51@y~VLxjKQk5OFlALy6Hx}>CPS--^kN7(Y; zUOqf3lmCH_qDIuwFSUb>e%X2PL+X>5_`n$aqt;t6XC;Tawf@nh82g3r^T>kb#{V4} z!RA-d*mN`6@})tX|C&Xl)vD&^-zFc35wQk<*e^-^qpA<1^b4?4{*gk;pz!@bpm6?0 z3CH4Kbj-8&BuC*t^^br8CQ!vLEn6_kKSKGm{gE-e_5;n45&uYA)n6Ba2*WQtDF0|_ zAUVRnw13ppez|{_(Jy|viqbDp{*fkG#6QX)X_N({{G(W=c)tMj7&w{;ng)g5Y5)$x zKYCzJaw4_hADyPPU5r{w%4h{LB^nv!Uws+z zuL_6*Cflg>6|4i1(q?@{VV0-iKk$wsejcF(mc#PvL)|o}1&D70nbOoXR^i^;N0#_I zFLCP(wGPEEW6e9IF7!U0Nd8?$@yl4+PYJ!w2PsHd!2`(<|ED}ajtL%cc{B8E@ypEd z2tDTUt+uD5|NPCN!xc?=BA|cp1NPM#s$46)TvKrQjCUNcl1b01*~!^qxx_nU{A1iZbs-rj2A4%Q?m?&BtynMl4P6Ex)ez&0b_-{8t& z++-SNLUJG?@?8`!KbZfbXJ|)|ZgPN`a4^7Z^CqXrlqRAhGqup?>;&*tz-G|%^Y*Pq zyfHzq$4!Jvk*g#VbpKX>Se^hxfv*+wbFMQ#TRI-7^>=Rp9%tm*-Skyc>CQd4`FYZ; zpQj~~ZzulOqI{2iOA$Y*e7gcnIrI2C?~fPocj5(neY}8kT1Vx`6#aB!0so!e ze}rkg6yg3(#V<24GFXLyGaHcF;LQh9x)i_6G(_w_xQy?(zQVuM(!wBXQE>#R0I>|I z{;Ernh>th2kt-K(lq#tU_Q5sP$pvqUI_VRoPW*$nBL5Z7n<$eVtyL!Y{!Df9!A$af zgQ;=$LyUfzzs2a6dvVojc}YtS*1w@&x;nt59Sktj?o3XjDHx|X+n=|s(Jxh-qx8%5 zxQS3Ha+O5Cym?1*5dW9xm!+G`_&%?%{$u@;(F$CCG5vC2qayzQ>-y!pHxlcYop}DA z=$An=k~3y9{W2(KewO@Edi0DB*@FNdy?WpNO&>OdkIdg@A5TnF-eOX#8~Sg0a`>ht zmTgDA-Er{6S~oBwB>r&k>v50@{L}HYwb0sM-Ig5K>tcWv{o{#&&-gDVIR?(&e`y8e z9~dFyhj4Rb%crq-19pZ29nft3@VbDbpXJ;cG#Dpte<%5){aK&HcL6j}@u=Z~5rx~(gy{HKZ zUggr|Vz?s0G=IVCCfZ_)rnr20rNy+`u2sp2{b%Fa2#tk*n)(;obccV_TOg8eMC`XV zeP}g=am>Xwe4i|uyOZ$rv}wt~YH9v2jhDY>{hxItUlU+2#^Y8C;JT^Fft~0utkBP_ zKdbnyj!*V?)Wi0*T0K~PL=d8=$oTG3yo|sWxk^IPoa9ipe*JkyQ~ePizohy&M}C@WU7gl)J8i~Tc#Rk>U!{Iv@`W4-_V(o z1jJ}p>MgzzSBeCTcBQsW?W|lWw46aE3#p-E3xGbDE+9&ME=S(|5_B9F|I|uW{=J}SI4Kv0ua|C+}CWb$kv-MyO~Xx z?;U{!pu&L|NwmkOvZ=3S0HgBv?}(wV)^ES&@B?DxzpYeb zT~s|Vr74YX>kDAtDrlC*m-78T^!q3px0>3AwE~#|irS7@;argZuDf^$tj2L1N!Q~3 z8GOyCrCl>uP)nA%7Ihz}xzOIeq6HQl+Xv_`I>V6XPw`_ti0>cJ?^8lvO_p&W=NnE3+-V$1=DF6Khf=bZ?B#*jXfV%CQcawaFlt`8yCP}aA0E?4tIk-bT-Br&Z5 zpMDC5x@cU+02i*=?!Em+($2!iyV3>@!}qaH(Zt9$@_KS_5W{ymX9Uv@2g6e0yClAN z_;3`zG;wi6nWMS~P8rRA6YC|}oY*2MgIf~QQPJ=B5&D@N%!|>Vs83le5;=OVL6Iug ze!^VEeBBdt=GQ%sCss8BNCbRKSAX3T@A$zgG>L^dF5snZ=a;b1?moM5o|;0js)w)7 zao=HqMje?CEo%zo=VJe0vaNup#moY;@?Z34@LX~#NU6G z?9ju6Doab`2wDGs)llMIbCrk^-LpW6n@?*!B|dtfHI%^mZHuA-{~!AvlhI;tV%eaM zQS$L_gg#C5FIUj<;jb9>#>XOsy)ohMvkwzYxPj5TJX3N{-QhK6Gox_3=6kHo<0F4} zTIyB65A_7)f5?xcd~gIxX@*L!t1rUt z$z(*_oREl$etRSI8^f)ivvIHVG{{y(V9PE4uc2{7{@aU&upc>jei)zpJB1xXp-UN- z#s?W$-|qKMMTb1Qm${1JJa8!0(L+6mf1bi0%16G^jd#ewrZ|I2%!!B^uWOMyON;Cj z(ic|QVFaLz03hQ5wW8Frf5419ejYLAy%iYp=^6MMqj%*P<`*R4&jXW^llG;Aq?IX9 z(YIH`e*k^s=08^r(N(w+V95R7 zr?j5(Un6H!D4&e#?M_KV_43m-)y<~G*3f@Cwml|e?cXP(e^yiaN9)h8TcE$6pCJ{t z$F5*ZjP{>TYnun6WNjIo~KE_yagIi|*>-hQnuxfkP zA}BU|>=AIM7#%k*qGG7y*f-)^gBBZk%QsgXY3F>p!c8tOccMp)`cs)0^|mL)jk;LU zMK$4y?)aSRYbRp(0z=L`O~z}Ia}WToh>fshCMlLhi#Ized20kVBPNrVYa;TZ^b<)H zXJ19j$K7~Mf`P)u?8H1*{F1^v*FM8s#qc;ZH#N-?7qIPdqQW*eVs2{Hj?wYJs8pj} z#L@QY6j?DhMWyFOEUU;>5;~lXy^KldK>gP`|K*_V&tn!D+VnP8iD>hOu9W}do6x3N zQ~XAqO)IpCH^o~`o8z#>F$rygG4^Nc{ExhU7^IIiSBa2*x(kp_I|!t!bS`Q_q+4bK z$fs;yY*~LL^*{b2`|@SUU{%^H>ld&u*Zy6TS?2Gh=1!BkiG4Y+Gsu1aadA9$aQ5XM z*}B&<5fj^&p1@-{Wl(?W6YAZOo+Wx_<`=n8trkAlUBF+z1;sE&zT=Ir(LkN)Z#4UV zw@_5in($_prOM^!p;M&J9Q~PSH}rUo)D3SUH8kl+h{`4S9CMe-ji0AT zO27T5uNUCE++A{h(>+z91NnR0tKll*yUW4zAA`0wA7{Uere%|Mb{`c=d9^e8u*a%) z-tjeQ=Mmiwl`FNsXga{!q_Mv_jdfLx{kCaiquCffo4#1^s>mtBl-ZsRixqyIq^s7Q zU}mk!S%VwSa_7)L-s8Hb56|twjQf-nnwygi`g!nKdVUF>rn<*}xCb=bjZ3$8f2Z5i znS?vi7`A(`GCz@B?@$eyOj7FzQJ#)sVvAE%w?8=alu9a1`h-;VED>f3H_!MbOu zukCsMld?;F*JqUaR-EVSlU)aV+Pi8=wc?qBrc_L*aMeDBn~B9Ur>9+eq2S#an(MJ2Hnemz=X=lS5}l39_^}q1doVE#BbI`QwE6QE9=io-@Uon~VKLfWK+%w6v z=Ngz(0WQ&g&dgw9n0LrY3Su(I3s~D!43ZgPkj&uX zAE`~XZb6eqw}{j-Hpm5vF%XDhz6SfeNAMwe2v`PL9}<%(A|M}jkEk57IzwwB7uC4Y zmAkPr;*J($R(Jh~95%AN>SuBW*Y>9zmF=HoLi4y z&U`gF3;D#`*wa<}XI!}!d2-IFSzFPCN}GfY^5kq?TTPnvcz~+@+0vG8JFdNrhgEbo zHE{m-^$9B2Ph79$z-EJi^j<4pPq9ahn#&1wJ*Ife2i^Sq6;Kv+l^xj@%Y`y+m#oFA zTeq*1<-^&vzJ?HZUjfL8Y?o>>t$dq`PaGI2&5njfMYAkf#}cUO9daJKs63WDvXBqG z`+M@bk=GDqky6Y}#68sC-c+G9317Q?hnf;@-&i!OO1XVgGU?kbWDDMKPZE`}1It&I z>6+Ux+mkbFwgs1KOt$4K&jsfHJo}v#dyE2cq!f$;@tMmB;t7OXfi>3wYZp5~XH+5{ zj3aqIRAgT#V5;II5)dLHZr=q0CTkfmS<~&C4x>`lF7=%az^qJ;yaJTA6ae*A!2qH( zdDnvCR)NP?RKy44@BnV41=C~&SxIo6xstXST+Vt-|MxwC>HiS)Y5(r#d0{*7`h!q_ zD}edN@bBm!ejk81Z)9 zg&ZJQnZZ>*m;@!-kK-Ks(T1kc_M;k>7jrDYS~9yPrwqU3A2Il#LGt9jCWp9)pYI=z zp`8p`yqL2P_~1H^*K5>uQ6wTU8ICKm&rtwmsbElXGN|~X$eC-=s4OhYolyf(!~x-m zpYccWG$mD^}WvI1PX75`KOVfKG^^SqAMRNsCgwIab@c?CJ+W$Bft<=3i z8&5qkMQLCag)+=-iL2W(WyXP_1XXaZpbADJs-aWJ43syww;qgvfUG;b)>QZS)_Z7= z$p*7!V(?kDJ6-o&4}C{~U_DZ|0P9JXPrru$F=WI37M?Z>A70l3al#eAvWA+s)}ZINkr!fLGB*W2=sgi!&O z_g#{KrU$U;-KDDO4BfPvsx`IIR<(4sOn3RBz(;>;oPE)X1!2|iNxENYgZ*}7zm**r z*2JiWdfC6hx@Qys`UT;rqhcJeFxE(w%(#8ukRPmKP9a>E21Znv3BU`~Xb%GCoPJ|3 z@A-3hVqHzWtA^Qi>|!3OdHhiL@j$Rsg3FEyoSq{+8bX+!4MCtktimD3pZ-H?MSC@I z7Fzx;{csQIvwYuCzwG?mePQoz#Q24Pg0^l3CRmwoxq+qz>tr9$){DUc`)_*u%!pqf zQ!dhw%>Ti^X!|ghtZE5g&l=XumDENE%_YE`ByC!5u27Pq`kc_3*jT=89^a}+V=c$| zK0043OKJ#cHiiO$aW-k33mTW?3*Y1Wj!MPpC>ROXN_{szlMpSm8$}3fmV)) zfIG^QnnCm-R7gY_+C2t9e{Ec%v>^F_MqHizdUD3tdzLQ<=dTTc`;>EN1^T1SWvYFA zZa#1pfTyP&UQe44o_gn=W_=Ut$qmRTCSXnv7ldjwH;ERiW-p?VWbsL`;uOpU>W!n4hMao^Rnk7HBz&Plv@xg%1prypUcdjG45dpXL{da5V<7P! z>e0Lav_hEX3;&vCV!3){Wa~EDLhFOYFY_I{}8ps$qJUW(c-{*;zr{KpBd&-K6 zj~_s39Uq6N$p__KHSggexiZ(nDzN2SZ|6;dRXn5`kEe7Ie+c{&e1fHh2=%lRCnviP zQB+fI+bmUvL~F0MD93!Xd<~w8qY?Abay})wu(s`d8w6i#$5YZO6!Xz?J|&Gpy-nGa zYE_m53Z=`oNe(^O0%mPmN6Wi1Q!GIFjl@{(8%9Kv3Hz&dVtC_~O4L2|%Tr3f%!Q8B z`eh?}wfvo^-)qG|8Hq{0@1z@hq=wq%Z_eKd*AP4OFQTOHVo|s~dF1O{(i^Jcf-H<8 zVuFDg;PSwoyDZ-gIlHX@{@GLIbn_eOmh8HIJ$m8VT>w^%J<>B5_G#!y*r+pC5(19D z2O2W~2Oi@OJppORCbHR<7cJAib=8pHs9vjTQeBy;ID;jp$dy@~$%`^vWb*=cG$I8k zEF+07i(pn&RB=8a{PqJgz!_*4iY@)RLt)AsGmO1K0g>WRYj9>}j-<}Xus_FwC*2cY z8B`?HUG=TmDPnkBc`2oQ6{Wl!uSS9s2O_Kq*4rK4#-iC6!Qk;Qmf0u_vd)G2N-R}2_+J-DL%u>7_8d-6Az z@>4F?OVbDz;FqRlW$a7Jp$=&XzXkDEA^T$9Zp%Nfo&3Sqe&jA%DGtQtvFY0?Ts7u#H&m+>Y7A@(XvK zbuG9PEwYsT56&Xs7J(Ms3bdFkx8r4S3)Q0^?y@#<1L?=^c_k%(r}!T`yP`$NNr7}0 z>D1`wh-6$A>3h{AN`{8lz>u$Ds1{_Ddx4V?W^fdr;xqKmk)mg?7{8Gb1K?5sElL3( zzyh)!HFG67fud%7e3{2-&-zBc-Dm}B6a@~I-o?z-1t}S{kVqgb=vEA}0+*(`$7foF z+owEFl~83Og}r`w1yC)gX7_EfpC(06xr(1`@-;v_LbKSrxJjr6aoZ9p-TSr2=(Pf5 zMfc+5-Tr(sY%W`Z!h^8^Y(2hhV%|66X>k}-o&h}shhjSc z1WZyInnu$GV_z?C#G$yQBQ0@P&0qNl8VaVJ3Y- zNg8yymNFEqmwt3)!;xJbX@(pK90mjo&M(!q5&*r3BfO9CrSRHk$ZSXXkYNIbLTs=! zUxTHu6#>E=%Yhh&XT>!s#Zgj$>xfwJCXrky#!zw*iLX*V_K+d~4{WEHiIm@nZeV{O z0AF!HY?cY6Z|DSZxqC=6;_|LriOV@SR5nUnSXabFq~+yNNu@;yQJzd%6i4c)%p_{c zdO<{_Oe&xjQcXvx5UZeLN0ZnUrM zK+%Yi3Q?`nxEf>zG(buLFp$q@c#I25hd)c(IRf&DLXiRrX}xaT#s|EuCG ztf`XsqwN1*EBhZ-H{`+|iAfOl|50N96M`uFzskN(rbrsmup($ZnD_(YMjogNp4bCt zx*GLr+PN~@(d@TendgWjFa{Um2u!l{e$Ni#0Al^*d^|}hf=k$59Zxls_bKq0+pE*5 zPLcbF=Xa#?d^6Aw?K`XRTa*;Ht{_=!mx^p9Kdbt z40GMxHu$9I9UYDv2Z|4}j)#8f+)dv4_!bPEtr=B0C3z92M2}3kUfWk|rgU~K>fg3# z&#LOmVCY5rH#kSRjxA`P<>u<)+eGmp*AHf+OT~hIq-jz-DNJsx{dQsUbvz;{{+Dc@lSH`OaEjenxWbh;fE2Oh38Z{newYZ(Mu0a z{FDBGoOR0tY~?l3qEl_nkxA1EXg>vQ8f27zLQ|0@qd?&JCzIG#tbbB~iB0<_k6xzy z6PB`j$c%^uB7%x;Ni|M11U+~g!Vua&S;&q8>30Pk|71`bw21k2mvpu)$8_4%KUpS8 zMk2Y#vTp+~uo4*V9jtsL>4QcpS~UKNC={T*i~ZB{-z0&uc9r}8!Zlag5fWUd%i#zm>Hqg|ACBnrqk zPr%h)O7K>?>Of+;+^K5ou?DCCxA40mmGQJFH9{dFM`1dJl2U{nd3gYZloX)pf^;^tGh|Ack=YUYK z9&^zitj7zaTWyYTKg?Nt076!?a|h3woHbGq&J_vg+amt+f$Nn0m&tdq|59oHou=$R zw(mG_)RXTH)%M>-j-I5u#JW-TpVh?v6R$+|ZX&}9I+%d391bYOYoeaeiz4t{UsMal zYU}0^hFCXz405avV-*&|ogwfs(*%P{;zp2Fl;^&-&NLi%3nj#G?D*49;%3QmwHYik zQhI2De-oQ+nF@D+GYZgn{+{5;fRHS2v9It7_wl=ti0$6H-QCbQ)Dt)_wY1+F>-fE% zRB+JToO<*rhrb_Bi6l=LB%b^TNVE|oR59b{5Z=Q*fwV!Tfg&UYy)m(lpFzgdkNM8v zMq@KDU;>(u@mu;cXq6(tjCZqS9+|;Nc#mmLGcl<$H###G=rsQ_1 zVKmx{+Pzeo4gTP6)PYt*f4imNixNKIxJX4v#V$VQR3X1+B}z5)OLQGx#rSUF&r>qN z-D#&5@2Rh@{9MKGp`3jC6#bS$ln8|yA1$MRPN)RVodi7WJ*O+xFNMIXYlI*s(a=%B zu9~;nl0oO>l%qf~1AB}Zfqzs=2RugvaFwf%YX)&^Bs#;Jhz5gybfRI^A9qFT?el&l zv+4X06L4Bp(kZOeR#d%}G4*=J)KfvEjjWd$2}FH+cZ^cIP@_m)E1Mikc%d1Z1XIe~ zs1rx2*(Xd?3N4G}5&!w|HN<~TZbqSX9;D+xBV!aA>qf_a&Q7e+gwu_zf$9V)xkdvH zGJejWM+RG1)hB9deB)2XzvW<3q=hBav_eJ@{&D6OHmT+oUYX$=@;)@py!}Q*?@O%K z`W}p0TSIZd;d4#2+NSr=*GcG$>PSjyhb~^LQK#W_j~O(+)%Yo$R>uZH`=T2_nHYT* zD<{-zLKLIV?9$6=STrG35-Rm#$CJ^qQe-!3MW#k6qR6Bxbh(QZfMPKsYs>xrYDK03 zJDm0!*&nz^DKZ3XEG93E8xH5-`6YW>JrGE zcCHq41h4`&oC<3VZvy0Y_!>@NE`j}j0eM&1|7G+&uy~I3@jUU``-#`ic9qwjWd*QS zfcbkT-g6esqEkEu*5F!phaku}XT2`htk)Ho^*W1%^PoXc-Y@03j7$IdcHUuFvdG|s z+}<%x`On!CkNK&jD_J&qb>iEPJze*DZP{&VcwT^85w zj@D~;mW8#uU=QBSTxoE29NueBCY=mN1aE_P8$IH&*YtmRoTVC~y_g>L5S3A>LRcp8 z7n=lX9umw|_?6aYHC}LaZMGCtQ>s$|6KWNo`@0%n;l7=8`E1YkP+u5y;d`usiAIn0 zG2ev1=y5*tJmp}pFM6*mZ9grOl_XVbKW#IjD6r~$>tQu$r;Xq%r){>tEgM^9ub+0> z*c8UsUaDKO9B%}pRzxF~CFzYvJ; zc?-xE;#aLNeJD>9YuM{9SN6p`J`AMK{~jW7(XqNEz%{2JUQ!2W zMPjx@-nBT_*xgTvRx0cR8Zb7UEco1krkY0O$Be*uh+gr2kwxv9%P5NEpIMMEBxNIE z)ZZgz1`_xDr~0chgBu98uYvoM>MM_65(w5=kp$u&a9}zMomt{9&J10GSZv6J+Sx!x z!q8ce`P#LWC$rgp;J%-Vwx-zIk0$p?A`Y~&?LHF>>RpMVkU0586dPc%1!xg@QtE4P z_iJ=F>`FV&Ke}CpyKr;GNu`0})KVNB`4QT!Bow|akl*Q_bJr7-NU%r(#>ov%hdLdO zTCm;MV7)mg2WBB3vEN>+;WI3edIqAswG}70168TeFKa75M1yJ4;ClNcX^xpJY!mu} z=jVV|2BI}ARc{Q2c<+oA`p=CXnBbf^ZLjFRGeZ9{Bz?IAuq1vALiNI)I(&*Pz5ccz zQcL|ACH}I^;H9X69)26JCTeO&oI;C$>>VF>#MTd@OB5_Xsr z{1wVjiq_`$y6 z*l2bj|3E*)PWdr+ia#F3AZq!{BY#-bk7e2gVU!Ro0VlKaYBhjh2c1fYL8c-@QCS(0 zbp>9bL<4Ee!hz@n zdK7^fXRXGP1RzhTtAo}E^mymkA5&jJt(4ua=TCLbU0$=f5`nbz*YMcR{mp!&5%=gP zBE-zJK##xRIVWc;ZNF?(4hbyGFzz(zm#^No%hiMHUizPsfYH>$W4lek4_x zWQ)oS51aCq6EStxAtCJTVm)_?US(ET-@8!LD9~m6mmVJbd0s3H^N{XVs zK7acZ&3l<^}Zce!fgwjKj#*6(1{e?=Ap%i;h^#7XgvwwlcB+FSIOXV&hi>}z*L6EytQ zq;8gFO;%HRw&kzN4P|0ZWd~qb?=BiA=5Re2!~TpVWzU!)kU`EXI?x$`0rF`=ky7C7#A@Mr9{f zpD6X`(Zo@v)kWa@j>7|KZR@a=gKK8Z!D=d?KN>W3AAfhr@Qe;)m6K3iw~{KVW~)t3QQ7U{~!6x~lgRho zxTQO<7s|DMhI@9TJ4p53nwe7Rw*19VWkv=%P^=Y!edJ#Z%lE$dRMs4bCP1U?89i& zAiRtgSYLJT9>)d<9GQXT!<)QA?mC8E(qWhkzPx0oypdYI4`6@J@5h;;dk(!5^|Y52 zz$q+&3NC;*V$(=e^7D>i98!c(yj2-#GrB_PXAT@QX3VcKfrZ-SZ^pheYzD<5GGGcG zCt87~wOIfx%jNRG8Uaprm)2SSF+~)~dOnkc*?iGg*dB;7TYjCLtn3M-a6sPymjqWvKzm za@`#uQ(~|c*w`5xNPlCI445o7vLfsQp2kM58m8rYO<|0d~%Jd_dT!2#@A!}AL0$#9~xbAD@*@M)!eM!9~ob_ z3+leYa_M+eC*ZQvzw^UMtdYGRT zeU|aneWoJee*sSb|DCGpvwY7@_f5Kdh;J@2HQ8kypPZ}e&EfSRT)S!>z`hOFBE^F> zm`m@%JxUMU{V$x4*Bx3Q(B-cgcm(SW!%Bwb9s%zVtDl}Bl&8Qr`%ie5vY``nbD>Zib2Dm1SeUc&5i^WqEvMxxoM%cFs5B@YNoMN2G-K ze)0I-`mI8KH^~%8KjEEC*#DyNxuUz^6U)z4M-Vq;+bISnysR4PV}C6twK{xl-VhT& z3e~boRs|$iH-&_6;vfn4 zK;bK!fH6sfA$$`^f7^@G6S^xfZbS_k;3?8I965EI0fc(99L}n4O^#lm%K}zFAx`Nq z*7LB{9iO#ZfrCl2MZURGIhw4u3*aHBY$DqwCvAmz6k&hkyY$L+1HR#T-XV>BfHihv z&qRl?FS*^5+YT+?S@^9dHf+oCp`*Z*u+{KsI@zcm&q{rr^B_@bejhg5lP3(eP~Ld* zV9Y)&O?R`8RZW-rJ$YH+J=m@#d0D~xk)-N?viht7`iGLl^%TV>fJHRVtE714Le4J#E30UAt(4K;+6WcBfDu=C|i>UT*9~^04YNCY< z4OyoAz9ptypIFDc9grC%@`ARsMqvcmN=-UH1Mu!(4iOg#$!dqw6@%R5le4He@# zusxc#6FQw(H$|oxjzj1KJZV40G4HTa6Oz+s6gO^-P@-ZyF;Zx5v3J}CNP$HU!NR4m zcGK;<1gZ(&xZX(GLUUVVWX;Cj z_by36-Qi|xzU~>cRNMo~*o&TJCkdzw{snmU>G+o)w!fAUYL<=2K|L#v5;o}5gbgY? zKmf?Nj0YqFV$-eYX#@VDr&`?;2F*~)Fa#O4&Y2_FrK|QyG|O&XvmRDgu^b3r0FOzu zNu+cyp)}Iz2V5~A3n6B;Y#BN-o&suqUqR|2CHQ^pdId!r!<+0U-$_c*3C}2s$|z&_ zz{C-P3lv#|qHZ$5*w#M^40zhH17SBVkAQH`Q^bT&fCTVAcwANG*$D|MTF#z6;16Ig zOqt`U9AO^U2`PGRc4Av72*jTI*oM(k**=Q;>|%;g<_OvR?-ogq0ZIFBa@Gbj2PJVpqW;S8(`4R~iU z^z9jMa?;YFymD%zGQG;8c00-bs7>~B;wqU9P+Wzl`O5Wxc>77`KsgE8guph!ht8o0Cp|I_L z`r$B8O2om2lW0LGQXzP1Uy2G2=gYe3ZoO{W2JvYRr225Pa{7T1{&`pYkZPa(ulvHG z^x^)JHkp(G8TL5F5QbKxeE(@O$`zGZCcYKb^~lC`$Ih^hW|nEe46}t;v>wi8r>}3| z(u#WQbdGg2@V)^-F_4{8%Jf34Z_3%sf%J;2Hl)~ZtVQ)e`XpYjP}hBq-I!ueONWoJ zx+nua0_NZ@H%(BT@^)Vru=k0kyV0 z855qh+jrDcD>WgGC~RzLetj&b3U;!J&mMtUOi!`mYJ%{MgxRmASVW+42o|PTks)T( ze24Q(F?IE-@k0K-PCc1`f#)Q~1eL*<*witlTlz5&cE^n#CZ&4z2 zA%vBKucj#lH0g|KVxx5YqD-8!Z0`1La{G3aBI8!$WqWFISQ%j4&Z6FWXi2Wf<5(Uf z$K8|8F@;egW|)-l7cjS4wTnY35Tsv&iXJFsr7xSq_O)r|K(6_xX#LJ_1mSe2`Il1q zyJ1Dn#rYwq($W^_bZ1KXtterCyhcg-Jk$!oS}WHUT^D8W0%yucX5Yoq zzK&@?pB@c;dKL8PC&k{6p-(?^&)iUrBE@@NqdxsH_zG4%h9TPw$B_hIh`N3P*AWu? z_FDb6!Usm)M@iQVW^2{l%)okJnmV5b`DK+mf`jByy6Xxkmg`;v`0l}yTR6z|&Oz0D8wZ!ZJ9L7s|j_<|hnu#je*Z`{7+!aAmT)w$iF zg_iGGPU`&<*xR!z7tnq#OmA3;`MrbXM`Y{lj8Iqm>0=*8+ycsNIrInV&)NL@Hki$E zu1siv{v?3*y#whx@CFmKnb12uj|qL^22SXz2(h&YGPJffY@oNszy|Ojf5zU4q*+q9 zUf7GJI4#&|cgUnZWSg4Q7xFEtKP9Eq34}6!u&RX@4$0+n8DAg?));8I?c599fxHykF#Tr=Ndv zmUu4ZmcIZO;mXVC!DUmSXVGEF6_3_`X(sIN&9uKCd^lX^9r6d*PAQ1G!&J%*9j5rV zcRw9vlH8J0Rip_fnxuG0n^3{KvASw^+XdE%OB4b9Wh$tvNUs24Fp&}t`AfIS>h6jjPI3XKaj0a8lM*%Br39j?_$KoA4KaW4# zTu`-HhKAq5x&d5Xtcr&&IIHseA^X}a15Fp=l1tm15H}l9y-M*9mZ?| zcr2${9^Qb1Pkd`Ul7Dt!Bj~s1_neD#P?@P!W<3$B;r71wD5qwjQ~XW9O11?qf(LN$ z&|mfVbq{{_fDEcJl<(Q-(;a@TwD9XGNVrq?9^WpHFXZv+nIBRTH9NBC!a(TFol5d!>9R4!7aSR`R@wXG4YUL57pwtm=;4zqB$=1n*3L- z`0pqfA)5ahffq@wCQce>FKVmcifp)P5TD7g)094?u<^Q{b@b7DP%@)($&%&v{7*3H zfi+}$LzB-*(^Nsl*DIzGor5wQCFitI51KkSgoE9 z;U27!UnG|>2G0%{0$wP;$QFYqqB1-KcL--H2%s<5+Ma1(=ha65GWtta7&`^=YxlUH zu!3U=OPw^X_=bw0$lf!T6~ypp;7FF+Y44EfP1;5UrB&%*0z&9KXdh%UDp#YA*1-78 z=ENI?;Wr*^5jCBm@SOMKgZS+|nkU@wHaGbviKXL`Opn0>anXIr~?p5M96UBL| z>m~-s`9iYR+`ip*zgJ09TBc^=F-%}^*H~*%XJ8!u0!P5k?aPX0e~%sqG*rYfD}&9* zFckd(ajF**7&sWgu9Uhsf^*0pyqnaRtJy=~Srz;MLg?{rE=E(N**G2)-+fw7w~1)w z^Sxp{x@`KJgItJvm0~`!kh&kHd*VZ84aUn3Y;9+byu3 zmCaQWPWW$Nep*dr*TM03Q}8(o(F00^7E3LY1xC^O^ctcRm26FITVS8^5FXE5*@*H` z7lHKmd%+DHxHo2k&b!E&pvOff=pSCe1ikUWmNyenZx2(-xj>ehx-yf=^0iYrh*28%d)Zg#kRjbn^P<07mtQz?ypvz} z1X^odexai8$_Rad&Ddh$M>#Q7H)1I8 zHA0*yYfD0tcV$uZ6sAozlVM9J^K4fPk=Y?;M6(HiJ>&(yfRIPeaEd-dQzQJ>y8POj z0|yf2*WQT7_L?i2I2nNPQWyGr@P^!_MX7RpILhEJMM-b(aOhdN>g`~ z2KsdN1g`lxc)y4`5|}Ny)Dl*s`l_fsel?;&5VK36Oc)*aJ}p9i#yTmc}&W? zkAJ7sw@V+*;O@8GI{s~%8f^OfKp)Y_lW6sj;53~`Viq6?#IGkxW`t;6Gz8mhVI6_*3x^#2_V=l-+EaMr z?{WlgBzbg;Js-Ofn33=)s~r@n#*j4Zjigd0H>_;wpnM#bV8azxau{j+bNH(8#^ZY| zXCdzEgn2AHk&7|rViL>vt1yu*u0}B{^*!35&*72@)+R2ho&>wJWrGfxx7lT z+UL;>6+LD}<4wFMgbRjXJ`qa=ra5R-6A|J-G#E`IF)>beG<3(_jR7z5r*N;UcA7NY z<+vq=e0BENk&1piBg}NipaRxWYgC`xq)n}e{B7#c;1h>sY5l**j$>;XXa%W97rPz`n_GNB$>Sq! z9<2va(39|+Lpl(htBsn($d9}g=g&7~>$qVV%|c9O{?1X|tRt+gM?IwYzN)H_VhqgD4b z61Z}tdmxX>bf?(O^=kK2gl&VDGV&VeyRiNf^ws5(-+Yi_SNs*-grNaqRW%jBZs9L! zN#7LicLh#|rYQ}iZ7Us*pU&G#1MV~&i9T&<>G)LqPX0TmP~tD!9eNWhfB!=f%iH6s zRVJqsAbr_`{Im+}Tg3TCdx#xU^GsF^)>O$N+4krzI*b?l#`5>+sJ0xXb+pTGp8jR=7VnG-V2qai{3Ow`mBo}3 zp$^8uMk!I%s6|I%99M1|cD3b<#TH8ahnM=V!Y-QYG9~U<+MzLYY@EcG`c@ZvKfBXC z^NniMICu7pKKPoOjmZ}AclXRjKAe29JG`>A@RKQsC27TP0+bg#2tW0&FFpuGh4Ku1 zjx(LRVYm5KxPAYkT2eYiLk=z=+qlW@msznvv;IEVk7u&&L|ukYi>D7_`5Q*(*s`~ zjSDwnZ`*ayo$k)yYmSe~Pl42O=i)3jSaBSgs7@e30A-F!QiOajLk{%4Us2Pl*RD*J z!074**{+degk9ZmL@=%?^Qe$6{^)57K||M_ZjRUJw%1u3A?2K16N>lbq}*pl8{l_}Ty8RVS3uywVw z>T`6 zZwr^^J0trS^D$;fE3ix*qZp`QZ2t!H6^VN@DFoO^g+|mdi~4{q@4ie|?HBBS2{%?% z-Zc4Ys}PU=#YeA^1(mk5#E zj9X7Ym7x>5nD^va{L-LgmhVk2CI`|9uBVYFss7kgQF|a0?L*9D4**w=8tfJ4;M@;& zKJ>ft7Ajr0$nkRf%El47?SO_gg{0_>S|G>;#|Sbw0zZPQgCY_udRG1lR?6k~Bd;1M z_bGPf3lQac>;|A?nxG1?i6$oH-|cPe>Z<)6dUd}{f?i!!akZxqB=h0X%&Lr=rts^g zGjKC;W>x2#rnqWl90NnzW^i^~mQx3$NZNV$uAJcZlwjY;gwj39)Wag)8G#2NqJ%iDOo)b!sB zYQYNVq{xV1l)6`76Cch!3G{vW8Vooz3JhT6zx00YcM0*2RIaJ7M1HE0vo4jxI6x`D z$t^^i0&yuV%&a`Q7=u0j%JGvbbBe30I$vGcw>hc@-_|}{9vUIi1^f+kIbjPv?F>v) z>@~;?aQ3G#Qt}Txb(ow7$j#NeWoq6 zRX6sTYC^{>55C~d zgg*PhDWD_1&sf>Bx*%VzX|dj_S#@}eEM{UZ4K*h#7BVM5r;4lU*pJLPfgUS5WFZ3x z_S;5R?MhBhctzD^|G5o(e1z}==?hT=^7F9%G~vA+B@?RR5FWYPXe#K?3g*4k+gjSIzlooQH04N%8e|th>{7SDy4Z2DBl|sN)vxjU5=h=+WVd ze@5*OBYfXUPgvOTUx3m`5H=%oPc`589w1|RhumpX9y09=oD3`9J3FsREeBmu1!|r8 z(!X&2%TCyUfi8Cm`=LEO#f$4*#Om0(is2%mL)}F`&DZC{@{vUO%QEHrQohysdoYc1 z(GMfT@wLk|o2$VdZWYTn2i;pf#9UWYdf3j=emmUZbspcSG3rgp-J>#NOc{^=kYemE znz>TjGC00D(B-zLU&H>7hwtN8W-!sLPo-sHOcQ6H48g-bnbU-;P`Cqj^pu1ZUia2*Id7AmJ97_259tmA4+Go}<3#8ph|e z*1GO_i-QK)&yrtVj^{#P9HHCFSq;`z6@N)Y;Wst&^!>h_$RgGXSyVZPDpe92JjWng z0(KSjf$$XC7{f07);QSB`8y*f*E~Lk$+b{^VRFHqc5JS`?X}GXBZviEa=z|-IrtoA zy+8$^rDYf_(nOcX%8WYPd^5y2(B*=TO|)OuM$vw$uDhPpC@QvtPLReTTJQC@00K2$ zi4-&&Hs|Vs3vyU7_z3UUr}alBW}jdN`jGD%+K*_>qnPYA z$l2s9k?Q0A`9;dhN24b6t37BBr2F&>jdXXO4e4He>x1FN=mCTMw*Amg)P@_ae*3LJ z_fZIJY(<*snu=50fij#Q!}G;HAW`ZFrYH#aN63$T>=7tR-wqrgG27Pv-AmQk<#@~IJV!M9;#wDW-#)sbxjNhult#=g|7v~b0a1tVgL<)=R z_b?O8gKtki2OeWsH)@2$i0=O)LqPpM>W~q65hJosDGP{J7#}X%@UG zbwMGUP=X2BhOt{X%8R8})mE_*;d(q8#&5}`C%+ckwuVDYTJs(-0js@czUgjN= z^?{mZAHgCpqLN5+EW(~|=!vsbun0_}+XZPi;our%tz$f> z!%P9w)3E%HLj^6pggMb{O)_SY4C;cMdXm$(+T;5avz0voUGeR9J_Vk!{_odXhUppZ zKvKkFlunWFx7h0?M?$T`S^g-g9{IACYJ1YRVDRxH4TBfffWg17sQGb$93qaG1We{^ls<}}2fDQX(-*)CvpO39C*;X51d+ceT7+K?5{e$#21_<5 zTEJHThCE5?W$+iWR3=psb<WsI)6kdM(+xxTlA4^HZm;I+I%Y#10K8v^-Z2vy6)I9z1Gbs%XjUjfz`bY38>9^b*(HO$owA5HHz z9VQfxT<{}%5jo{^{*H1uaH=Z*M$6b4@o zuk5o?(=L_2AYCyJNu}39rFTAriq{6E7uFPhnTT&!3g2GZ=cARZInT+w=nj>!~ zqoq+$8V%gT$ZZf?>=Vdcss;3xVPCpg;}T@RJsw1^FW~57y}oc}PDBK$b)mqYl3$3P z{Hi!=oldL@bV>i|&{Sb7`2VZx(SF!ow;bLSV*sB*MKjNiUnBM&Ku~B6A3$ayxH<$A zxD^qh_pOHTQ154XR_ba`;Ow6`J9K%r-{&byVGN}poeQQM62>{tyDabOOm}z<`L;;l zk9^}xan^zGQjn2FYWWhP2s(SRb1hjhy_ z8i=X~bcakY0_0jmh+K;R68-~Dk6*f0{hF>$W3fCqfG0%O2MCgD*36@5KVA-3a7V-y zbO$>3BFOD3vx;X9EuVaIMWt(E@yt8ZZa%HDoie=Y_`Z{C4%3I2+5tJj?5&A)hQjMl zcLFa&Hd5^JhZvu)7(uj8qsX%)C90fxq)iZuMd^$fl#124Zth>8DMdoy(Y|sZ@SIXH zp`!9c!SmW1aX#8%#npGVySlP75mjNAP%mDGy77NqsH5DZ@qgtIYYD1PsGNLdg}bm< zWiDIExb|jgqvK7|M!VvrG=@UisL(ESxcu)f|KV8t)GpG1tM+Dy4FH;UeMPye_A1;6 zP!*G1wHM-MF`L2s;>I;;IZtTm9A!sw!X9^o3Cv-3s(=zSqnR8sp!RShfZoGbeG zsIL#Si>nW_*K`_PUms|&g1JV z>rrVpRk&(%am{XHJ6jpkSRj2_-2H->d+&kv{~vST0#{YB{SOL?uMWN`v#8LdCzvH@ zBr4TL4~5oEeAK0vX<3qj;-kV2l;<8#QCVtw@3n3ZD=RB+shEP2Zws}2(ZfgCCMvZo zADH~VYt76#`|PvN2E5tt-{+IVJ~MkBYrgYcYu3!3$s6r2WaQ|4%mhEfkuO;Ein!-0 zN6~8hU69|TyQ63+{t7Pcx3s{v{bYLH9PsR_!2;WTRPUveN8dO3&ik(Ft_s&^?d@-t zWn2(YWpCu!rsv}UW!TE^2mnM)Bl+q0JGepf0y6VP&NMye20UBJ?`c`cJ=ZvjT=*OE z>)|MxWLezi{(8%8D@Ik6HpSjF`a}J*v6v!WI=?J;rLtN zWDx%1@o#S5xW0kyyWjLY!1!Do$O?}d<3LFhOwYF&p95bVZj8dKx0s%m2zS;rX^yFBPWCXM|L32{CoIYGPK2EuKclwh!G#1(ghbh ztJB~|#rmDpGsQ6T4eCtayh+r6*9Ne^_#ddj*`fyTUnpyk@2`PaLh#k#;C@j9`nkR} zKm~-fFv=jm$=IneEs5kN^s}SrT%YvX7^PPjB)!(M?hAzUR=Ky3e{pyz%P*HSH_30= zCZGH`p-+WPr>re-M*GjHIcj9BJL6W})oXlT?clQbT(a-g* z!Rl#A_l+By=O{{T&nSZ}cn$tylz|^$-&g?czy?uG_9A#AXH7>nyNhZ*fPu-?d}brf ze+AMwoxh$ia8M0I1vr_%0#ED}f})=r zPyxdct+3H}{K7u#=yWYIr0YeloN z@HYBq#+4}ZMp0&VrY!Tdbw2q~GL#u9%cMthnSpJZEA!`t4)j0e|9uI!sWe08e}g}N zN{0Mj{aVP39?kiy#+dr2yDW%3+1|+2SBU zwnoS*6)7RBY!sn)68ZPgWd4)=`BO6Fzl%?3#X^Qf{&n}ya9QSTQRa`Aqs-Tr3HjYA z%WUE=lais#du5sQXy2xqPehxFMgB7={~JaAv45BOzqZCFGfIa1BW3>dXwE-G|2!)T znl1{u2nEsjsa(o!=`li<)yrQNr9@eCz7$xXM{`+${d1)(qCgZ;dKua>MdUwosLX%& zC%(2&GUT5u^QT91{&n|HNx6_;k|@(jWi}OM&hIbF9O*BUlA+8`Dn*;<(OhO=n}*B$ z6GZ+$UP}GHgk=`iSLWZupFbr-{`boK>Cv2ji2nIywP;8;QIHD-QUCN7WwpCbmi1z} zPkxjVWgXuw+Cq=!vI5)kv@9Z46cI~psr-oBlG|J6-^-srB}4vmWd8JM&cE*d=_Jd{ z7iBKI1ZCbQ$_)FPEOX6jUz;cy%IqS`q(^g^fo&>TCB&8^@^@1HO-26MgJu3B{rOWe z>Do=CT6YacmGtb6wTTx${a&wUM$K?eMpx1guhHmhBCk7RaY#}Ta+2trYSQ23Xy+H z%75(#EVKC!$o#wd^QUCg|1y7iG`A^4|Fn?>trG?Pr>p3n;i9a?qhwjjR{G>eDN)wh zvMhQumlfEScUK5mm5L%#QG{OeKDVWv!tyYG{*(;)FXfe9oWO38f8G7lTb6lDOcXYC zL77jAGGnpS#5UuB6}~o6GL(6}ER!DX+f@0nXwxB){}{^uVv&CVmbp3qC;a(SGUWf= z=K|C8XwE-G|BRCb>7t;S$$Kn6+-)H3Uw>JY5@k)2WznO#tib+p$RhTLBId`T zEyG3rM=ntP|FKV2lnnWwE%T?x;QVP)lpJ~Qk{W!SolEa?C3YeiDlwB+JjH&O;7S->6qm^SD@6V!7a{)%BLAD! z6#I+izD80qQ0$|smTAA3z7fZ@3Np?Q&ZrU{`@H!@_#_)PmjU*%S8-F(MO0@?aI=BUnZJzObpy7 zsi=OUs43%RpS)B;GQ*n7j5tbG-Ja*idd(Jrbo$L)9^rSc%=(bX`ZCJ;d-@pI+iHG} z%=!k-n&-ci46S%o=1Px2xk|U-5T0N6mig-<|4kPl|0hNM1rN&n4=nR_Hzh;<*US9r z(VV}oFBQ_*BeI-CS@sZFZoXe;`J6vXN`@?dsStvoM{}0sTg#@^BYfL$5d7cZf0`l- ziy^lm?lGdm*1j#|^N1|0tG_TxhQf+uVf1J&Oz$SMj22lgjYXEZBFncY%PhAo^@)U% zAm@ zW%y7oMka~@i*Sp(f9qr8tO=V0eNr>w*PxN=P$%L1fEut z5WxTU`9Jymh-9RZ&2$uPLML&b(KhK0c_s#1_mPl6H&NlC=cB^yM1_AUkTMt#LX<8Y zN`?w={Zz<+9?caF9QdPT{;?weWd8JMpMR9hKSAU_ zhw{Hwl*My9v(N(mV-z>oiPc{JiCHt^ zD4IxeI^~Y-4B2?r+f#<#RzDA;-E!DvNNM26&!Ny8xu^^F%*D&v(EDoJ9Pxu2_1S*0 z630U1px;OJ0i~p3iwglD~~ z3--k*H#^@(s~)gFpqVl5Bz;(^{PDD?QCwBUKUvlVE_GvF`dxy}i!G@xO?`FwYAEV5 zdtk`suu%NXxg+i;?0;NK`yab1iM&Wz{0&*~u63MPqwAoCC5^f8U3w)RXv1Nd-Wq>l zXAt%r(N>da|As?-$J8|eFna&rc?%RN-}IxqWyu##Qwl=bez~oRbD`y zTZ|fDhZ_zIz}|E^nA3HtG1kACi*SSk;b1;jaw={65$S2a!fbkvHaXB@AV&u~H&B}TsD1Xt|OUJOWJNB&fBu44-J z=i=kk+o^`5s8*Rc&CiJ&)X)PEZ8nvGErlt!ZEq_Mb;0{jU>0mh#Zix%OJtVPVGCBgU-xKcPX;A=O& z24{R-ZNirUKG)FIAcwt#6dvgUB)oo3__$KOnM1$|28llLeNvd*e}oI5Wh~ILH@_W! z|Ce{OHAoUammtw6mJ>#9C5#LMMmoMn7{TXp&>#BTwGt>erv+c=xf_K52<@!{1atHO zPYJ*q@Um{=1GHt2@S?@9(&BOOc!k`@rd?1$Q8bpdZ~>DteCSHM%?Ps!FyBpJR2)EH z2F(3Wanu78aB^MS2(&cDKQ?G7Utoup13t76K6Jr9q&VdMWUekKg<52yphk`&2WcH_ zSj{F1T0||w21B8)=p#Wf2c8b4n z1`BUU41gx~ni2fHDKBjC@mFP;;4fgG_-o2Lg1;g@vEVOc`D=BDK>nImPMt**M#p0U z0ejPP}|t2Zk>9^2Z8w|wV9sT@-7$Yrek9f5+OKmU|e5!=@~ zc9nwuCoPdr`K$N3j1NW52`*+GyY+~?9|R}Xbr?x zpDB*KWu@Rq;E*`-*S83VIKO_%Dl@@iER$b!n9Si*Nm$c9_%*A!{XNDdAB>BC9YvM^i!ytrTMf_Ne zeYAdf>UZKpdYoTO_sN^7a}E7yPo4V9Z(>I=4qPkEeH1ut_prbzE>hra+tpDkp0aEhy#BZVG>N=)AuoPtIAnnWb*Ky|dsROk_yp_~%xoJ<_uv0s94xC9~n z$`)vWL?F$bHERatoTLRBCJ~sxAM25skV*#eDEMOD`U6KX-Y^^9HvF1J9fDpFR^Oq) z?eY034hMx*q3>@=1WPlgT=R^yJYUR6Vb0+wJe**F7jpFXAOE9Pe=zEwoH0yqrb&FH zMK&MG!FiB$xtXVt?(P6#v+rx=*yT8X|9*Of>^;6dl0JT*c??x53HIxhUWn!jBA*1< zjwVG-hrLTJtwBrENhtXGiffp1<^2qb1Oy5cDyp4`YHtxWXBxltB7(rTfTIUj*y8AC z{-`h5(IV!+6&5%$=;xl+{3cy1KvA_HMT{Obxe1)q=tFji>>fjy`V%rBJ06FqGD?moyWB_F2s5s}j7y?S-SF{P+$=)DYz zVF(l`RMd4Ms*gp~>Z$xzIfB5qz-qIW+F?kKnPmf^s@=8#GVt5Qb@AIbeiYg9TUDi* z-=<4A`S|Sv{-NFm+a+AEC7h=I4mfpu#tKel0}XIm9QlVmzZu{Z)hiHA$EM=lASAs! zNFgcaZbDK+Ic?Q#^i~K?>v9z$PoLAa-^F0sfk1)Dz-dcF>{9F4UX%IV-Ux!;1r}R; zWQ)ZaGwrYl*Qasv3m*GZ?X$7FB!8Vj`>e&U0NiU&SphCK-2k}$jqBhqvqEh%38c08 z6hSYLwEXs2BR!*~(xw;nS;6a%bF)Lkh}TyV8jd7IS5Id%6p9fjD5$7h5tU~Vb$lYf zbpk=)TR_j|#kT0V=~+AU)M1|`*2P~{_2aL2TsRPDpBd+ztPVeJ7=QH$&0ot80Zv0^ zSixz_4F)(J3H!sIzszvzk6Do&k{UNxNZNHR7BFwUgJ9G^4kLWk45AmUX^i5BUxE13 zXR?-eFqm2)P+&4J+0VCg>_G$;u{n7h`!Ir_SYWa5`?gqI^|T!p3ni2NsrJ{qpPzaA zYv9iS+yS>0;Ih*UfODNXX+OU-D9jz*0~O|txuCK}CxWRA-#;E+Chf0%b~b&N%NmXv zMNPYgbGPqCpt@Z}tq@TwEu#95=eN=j1il5NbX;VMl-XW8r2OUf*XXTg{yKy9*U4(Y zY1WfgaBAJp0H+=&PulaB0Z!8s0^yWD{*NFk^G05HP$6mdP@=h{{V#iu@z%CN8%HPsshs85& ze;veOnmm6zgZ7t42jIFESphDmj{$J2kJrIpW`+4I&MVO~ehVfovcDW3w!u9BH;=%* zLf&(?!%g=}GMQhg*#9*oG>lmPUEFXaDY|kDVJJi+P*6}&M{eV&-w>FiCOyPalMw_) z0X-RS*`nvu>2~P(i|nsAHk>x)|nMGd4d#@`gp9)Fc_4ac8>t7hEFVDchRU^2u$Bx1)}#~yls-#v^V z=v`p33|mZWn5^Fuc33CPkroEHC52Y(sh6m@YRoQ{qDBZ$gy ze_fSAQcNZxse$CBuj+4uzb>&2$De_hw%^QP+JQiU$q>6l#4fdt?Ik?^y{$a{z+#J6 zY_T|FnjIEH*HF`03+=ye@ihSV+7v6mm0oQCT>nFL z@RwO(wi!wOuj*jZBCUyK$#J-&LM%%zxEvbuKX&H(0lI;`fldd-Q7>jNcIF~b*iliB ziKqgLs0iWNk2HDqasCQ0vjb;H+wfP`V|JLSH-B}l%m4MYA4PWl`}lG*e?2MT~UTl(*pR{~B$CRxGh;j0XAI`UH;{AGqy|9k%kA}xueZhaJz?zj|48aj}O zsG;=LxDUM*V){6;Q^WCRAgGQ58Gi#|Loi2?Q3gQ-pJWs+DseP;~y=7K)pv z+ClN@AosoW-`B-o^;~~^x9rT@Ujugma0ez>0WK`j061559sFfbm^;o7RG2s3N&c_z zgQ*Pm*EdRQ?z1u6^)6>O96*Ytc4>@{-3SyuRMZL)wbCN0zi{ZM1v&HqnvVap1qi@RLJ`=j9U6{514Z3-14D2K0tG=sY?6pgwvJsUeEKC;K7C-(^P(*l zThc`s*aU#xOaY%#i5)&?*#0`W{LI^5o^1eJ*Kt;Wi@wYNxYY;h;4ibne0Bu+zxD-_ zmeiWR^i*0?zX)3MqBI-$jBM9%_$ZD#CylYw34y|nimL6;QDGKQg~GF6Wb*6_`)kN- zTg>dtv%^fi`RmWJzus78=C3noe_gu;aN04}3QlG51~}z@TL*uc;j|hbURbR^!jfNb zwL;RrE&!5t^(7=Vl)hZFLnjn{9cbNf{22&pR$s>1Yy=8|hS*6WcCvMBO%}g<5<$?r zps!8O+d?s8yd4zJwEcDEk~43AZTu8~8~LCW;4&{Z0Iu=AI{3?=Fo$#qRG4drkpJte zU@F7;ciWZLyvxpjf7Q`&04bIl+J_M^41q#`in>lj^|6RrEgbsgK@NR@X4Z4Ipow|d z4m9=VuRqKFs`{^)zs{ijHFXo<)bRl;IE8mHz-jR}b?}z~PEqXw;dJb_KZ2;t8@X?r zLQ+f$QBgw)Y!z+H2}NLCS~VPh28!B#Ekkez0tG=s>=F^X)H=48@agxq^63MMEuOK( z;*5vvuz0%mS3T#CV{xg=nclzJVm$!&+9)f)WnX9jT>r1?;4ibnY;z0wzjg+b7TI64 zFMrE-vjG^o!t&xyP@6B?+3(*qZ#aGwNzLiS;CT^&0*{J%R75>y5!G0@_9KE^`@qbO zr))8kHO3Aze>s1}Y~Q1DuZRu7khKaOyw!k08=gNP2R= zLef_;KvGr`F;PSLs}XI{3B_Oc(sw2ebif)IszVY(up-u*qz%7a~0B-fRI{3@1FrQ5)|JP^1q@}dxpf8oyystI1=7oti z__;T{;rLM`b#@|y=NtqIJSyr`0!P&%Fh{wBYrinawGYe;DYC`P&b#a|^Oy728?XO` z{B`Yez-h+_D>&WR!2qY+Ep_mh8BVLUKY~b0A*tzZg{007AZaIUk#8`6Jx*J6Lh;vk z^c~6R+g~qS!8n_RK;g{5U-=?-l6CBf>-pUp1VQftiyI%e#iBFY4vS})zpi}s%=6dA zr2yQ>VOD@U)YbsF#-G)}Uj~Iaq;a6aT$@JzuMNRe=8asqT4~L@?CkefPc|Gsill~K z#sCXYSVXNBzWs6pfo}mbvkGi66LW_hX8v;is(Se^-d65?V6nxcwpg4o+zyMO_^ScuQ^=h=e9(kEmqMLWp^u#}`Rfes zzi+V^fP3w4R)7n07y#FQLmm8OR+w#4$^Z2UK`;3G$6p=MjYc{iE!D?#qLRr8_Hwfo zbbr=d8#A82e>~c7Bq_Rj`eKGrF#-i66_qQZ@+_i`U&n8qKoIyA(6f1pEqZPmYKNXb zasR#b(G+xRc#a-<^Br?XQ9F0&oX1tpJzW+yFS&Cw1_b!T#EDd@e}IfBwXc zy~+Po7EEQ>|5c*2<~}?7z00o+M~$MUT^BMab|X-rP*E#H)Jlt}{=&7N7UbFoQaVnw zMat}3?U3@9+h3#SnEC4r`tMIJ1e|8wWCf?gO$~7BvAPcaGQes2(Lgxm_X?&m=)a{3 zNwaCQe1qqY{b-L)DEsSG`gr8@S?jh~hTsqc3W5gKN)oZj*0IZkcfZ8SyALdSa&58L zaj;JP}k0GAnQ0Nm=*I{3@1FrU4K{9nt1NsF}RFJymdWPlA^ zuY4DGhOG$0`Hkm=h7s$(pBs)OMOTjV7)H?u6pU2Vk9dO!_ZUv|C#s)a$uBd~*%y3$LbueiKA}M^WLQ=<5 zABX8%Y0rE^Sq$gT(N3KZG{*KneNl4yOg5tv&j=(y#2ND6##DJjaGmw4l@9*@$x$O%b+la912vJYZJ-;^-(aD z!TYUe*LbMewT_{#vNsGkGjbSxp5%HaQ6q>vQT z@idrAUqxGVLJ*hUg+3lReb(CEfg!j9fr6lcwU&t3rPi^%gm=HUm3JRlZ1I3C7H4R7 zSPZtm==?c(e@T@3e$7>0KrSslTvgm#g2Oe%9ZIwnN?uXoO9H0_4m}i?ndoD@lES9Q zZ`RmRMwbN4m*1?xM;7XcRxVK<(Hd*~W-XJBXvM+kx8mGWZ=_cF8NNU4CosonRwhti z(ZwQf|KY=2jyONK_eTsoM-jdaz{xjoZRy%x`l%A35xc_l>1NA*6nzYl&v?=|ek+ir zQ6ZM+wW5jQRP{{Xd98H!NZ_>r>f(tp?HFkfB2Y+EQG-O(V2h~jmkN9$2z(0wdvla6 zz%ISP4q$JazfdE5?Gg7=7|vH0-qS)pq~CvjYij_I`WO(K5r?hNc$g>er;terYI-w| zncu|u)6%C#So=<5jWe-6E|b5dlvo=P8f#zf1lD?{T4AkkjUQ|J=ZhuGPWWK9_v@4R z>J&KZ5QwvB<BjAW(=i#J(nCU$>6!Ce{n$ z1J()y%zZ2()Z^VKCko^Q*KUonQr3b)|L93MYA(LKCHR?R7>9ek$U zM-sF1=?81f8u_uO5wlvr5!T(d1GBCaE1m2;=ELkL!H=EZm%!ad<$5C@sNIS4ujR|& zEF6NZcl;7*00wYgqmaZ2#NdQtaUkps2Ld(thZloBAATFSGOaCmBWot?;seR@^+7f> z34P`_0+gvCY187E>(I1$wS(b!4FUy6MVse{s7@A9|L)3f%|{UU7HD()-L@z^l4^s( zsu#?(={sTAz@JkT{-*uNpuw1D67#9(?vg(N!O;AfqpvSA^JgVP&%mEeDJLB0za%sk zjr{pYXe`d#1}q-!WrfA?-~CwBXTB?8*opG;Mt*y8r#RoKgx^)x2%*uvi_j?VWDZlP`A_JezGeiXHnSa|w>(ym>y~r=+EzS*BH>7h|9v2WHZ|Do;r zx-T1!Wkr@D3HI)mjLmxxC~T^CK)=_E*c+^4*IvZ$u0vpYSA4%W3!6f07&hiQJ8Z*w zYC3b)2X6d9_^uH4!5lxn8C<|Onah_fPPb2Jm?=+D1Mhzs?s zzq3%HoK7U=J0zLX*NSV4P#M&UE*I#EBe?wbwYs`Z-WOO@n;Y%#CK8pfC14*r37#Y9 zUP!)+LK?90N|?k8LBc=24(tKO&`8o$z)Ng};B`5s@Nz0WFv|$qmzSe?Bc11dkKt(; zAC)!FB12jbPDGSGqnQc#IW(Gh@L(_|>6>;5>_b&pn!mzOQ5G=WE5tVzOe+`dG{axE z-ji}qGluZJ2!dqeNx4D9-e?`WPWZ#u2l&I4TzBeoZns7MIlXPrUtHD67XFO?B?AAS z0hIFowo*a@z+AzI;Hx7s1$&ZEEADOc<9`n)ofo&$@QQxmu>kz@MX$I;jMEVQhfDnP z%ht9A7cKF>)yVI`_}@(U=Wj}-)#=CoK@CYgO({w-PaUU~i(jD@ zu4uxe=1K(qQR9n^7O}0ZW1kf(0M8j#0DL*a9=dy&?Wp;-r_HFT!ngBMXBhkw*Q)Vh z>7QVZ$KZhRqxe!?sVcYZ%!e%WO;gdAbj8BEQYXyDuWWyR&OfMIAT2L3q(0N+n7GwA zCIap6s0|npjk{afJYW4N2Lwinu)pWNCWpi!%G?`S-2re~lPF$R_V-#u2{bkm*Sod5 zt_Ih;wW0ktSp3Cx%yi3RhP!{1=Efy57$L1xe@e5~V4T0PJJ1k1`&{US&tD=025$WE zM*b^TN5Sx2=!27~74HUZDn5TtH-2Tf?>e0F0-PP+~VcMPY@E%I_NO^U*lJ%4nbS zeS~-SCcsAPKMt~ltHGe50ZI2K84!DPM<8OqKSwZmc7W-A_+bL8yecY!J^%nAPp45; zZ?pZKBQy#^94gg%OT$sFOmMT^q8gd9FpRPOHUfop^$z&?DG~d$b!>DDzuOu?(7OQr zUND1=)qYoZJJ82T(2MicH=)zz{WfsUv6dek#r!4i@4~$gjO-+7g3|rCoD6C?N6(sw zSmNASlnfo4!-V?~qnf-5Ru%}|#udK17#GG)WW^p!StpR6qZ^GOcAvs-_4#Ns^+6rM zW0#SW0k>rrMsV)!FDoJ$bx-r8Mpxrb`jl&Hf5r3FDF~FzT;*AWx0DM+)P)vNuL+O+ z>jsZKzeV>-UvMbBY)?dn=ho;bXL3buT!y!Act+9Iy#2xwXVdt#!Xx4O;a^}ffJ{@X zBhx);(b1YG6HVDkKcO|wxLCSDvs>*}%PYmWicYj0Y9KcFhFEyN2YMsWGP$zZ|$e{9gOL4`BH4i!HKQK7&`nxeiC_qz?C&QQ$98kcrDlA$EV zryR6b=1HK`GEfZXC+_CntoQv#ugFoKK%g-yXCte;v@MWTTDJ#&HoZs;5U2-@FI~nL zgoI#-gPVvU=wMO1s?+wWlX z?bD@hCP0oXCP-eaAi0+yi2+QYxC-^){UL`0Dzk!7iMcF>9HBBb1S+|nybK~HbEbQX zopGZSDouCKc_aHjzme}x>GYGp9WEyX;Zpe+1U}pP@yVzwV0`)SA3VZ% z;c2e~9q>7d@X0CVR9Sy|oWv)-vjdSy?LrFq4T(>-5UuD;UT@9DVRA7#C893=!v2X^NVzd z$0t_0j-F^P!!sy4!!tB0y>_)0zsu=)MO?WazAwXbK}PcK@sqfVsoQgiJ=tC8p}3=_(e_#oZA zCEZ<_?k*>G09l92D;O}JjUJX8!-mE`kLRkXL}-0J!^_$1f#mx5kYgG?~4dP@GI_hQT!T9VoLDKpGNg_h$g|M znv@OizZ}hdmpg>|K8e)LRC_fOjxH?Iw&>|)d;6r99q;2zT<65AG3jnWlfLmpDh2Zk zPl|q+Wmbhi$xNslPs)SB@%|76J{6>43yF<*(&OyJQys{YLO$&QU>p4-rl;2Wr(~4G zHojV5YzzH^Gaw;SgZ}xo0;s#ecwkb ztL>vDp3>YfpM`hX18N?m@(T#P+SwCkOH*PFXbj2!@c_4S(p`eJ1_G<~PQqPyh6{(LW}1 zN}ZA683t{17qn41Yomoy8~u=;Se6bdNZvnwoRu!ZpmDnQJKejKHfr%1`nhYBnO*+V zP4v`deJt2TC?gsrsp;;m>FzK6n&_^mo7~Plp*7LMpSf4xMxc6CsT_U82Ku5k?liyD6^V!yJ8&2UR$SSloT+H^s^Ne6-a z4Hko65uJ4};RqHBE=uOXI*RqL@b%E!ji&oBm!dbL0P~g)z zIoJncBie`0wG-`MIseHv>7W1G`OmI(=-I{l%nXuvAv%laKS>r0@;}ahbne-n2vpA+ zw9XRY2wzHp`dNSO?-Hkf_5A01uIdZ~7FB&v#6DyZ+rasco!Xgohito=|BUk6-^Te* zkp58@ z_{D|@M#b0>fz|xyEvS2G-;4PV`PZgeO?mX{5kkN8=lKr%*X|>OJLdGuwe5Sk|8^iy zU8@ucW)NA&Id&)o>Sz6`p%SMS`X&4f`qwTMRlUr*s;xxqSr)ORUswv3)0qJO+C?-S z^SM9$(;MYq>zO6n{-qqFCjD}pf3}$4gvN^0FA^&b*G&y@uuWeHyj(W|NrIlzhXTzZ`)X8le?T2QUgLn6qTq1fdNTG;L!?1 zzO}<009Ue~Ct>NhF6Ua8uUL*<5%@(cbkUo_#r_rrK3!ClXe;6;9CjjJV9-URe{`|` z*Wh2H^%dI3NQ_Ub(DOO;Z~7%ik8yn`od|~fYjo3}uHRzPKflrI@DFizWU!`6{lg9; zOP`5CC%GkvOM?At^YN=Q{D;1YWyMAZ+bDA0XDjD@8hNDy9c-7Bprb$eLa+;EEwoX; z_JUnDV&yf6T}IKGMRr=CgRKDXl27Rdw{w1wDk2H;BHqAC?pY@S)w70AaX0_Mv7b_) ze%2QZHpx%<*L?CjM)HPar2OD|YD# z=31=p2>)8$SfQ>8z=~2x&N$vqjx{Ij10%4c1%l;|B>>CpZDz2vZ%bflL+cxJv8oz` z7wjcKe!N6Tph;6GCg<80LJwWFi^bdnfmzIEJtVON{qq#&bYcOMI zr0H#%*@?Cu^PfL$f5E5>6Mz2S`qz#xM$g{*nc1A(a+b6YhGIE3h(Z3x`OoLvwL1`~ zu2mBqn*RvD{!j|k&-ztPiBpUD&zam`aH**3W!6<~C1TIAh;6|9ht!Upf34?0liD%O zf7JehzsA3|{(ayjZnGILFSQh-`;v<+;8OSWNA53JzLk;jF#T>YW3*098v!1x;>HyqSS|f4Vt%y~`d|95ut1J2+zz(qY-b24EJViSVc_Vad%^gj8KDrP)f@psoYNENnmh17Z{ixk8 zSIQ5~MYoN=AgJ3YZ+>T;f9F>W8;u>da6>vGP`%_T7g2MC>wF#s;y0F{#U?`Web1D} zHk|?eUul>On0!<8Nb>`E{=i<}Cf4!-5>dYYgEP|?PrT=g7S*voiRJsbPrmQcU!Eb+ zPS1^4D=&3=qMV+N&g50&AEE)8?Q~-c5;n8>HfLSC2tx0;fd&JA|4)viSF%BB?p2yceIg?2>U7^2b+g;K>X;p-`Lue9Ii(+^hrE#;T6!hXNfzhO(Wvfr`oiS74P zCt#Rg4dXNAi%+@2+Yy*6yi7!un4{9&!=p0XW4<|-j!~B3-jsgy%k;97efqk-je^rp zbCn)r6MiLC*>wy<)HWS&Aip(lB0B6jtgf0mEHuAevxyth6M?U1B)^piul#Zf z>cekyPZ54XT=@L|Kfj&(7KGmOlYlYsQG|itdUpzv>z~hWuWjJ|cpZVSKP10hx{sqS zqd@Rmvwr{g{Px>=uGQ}d%oW}(qAJZ%e<{CR|AykX;j07swz82JF87=r)UC9CvO)ZI zXdMgTFoFOfgy6S9*ji%4Z-Z-W22!2;7MYg<11f^;w=7Ywq5gWU_C&Mw1~-}CdW#U& z+eu};l?l)MDg=t%)c(`0P&Fa#w@613POK;UEn+IZd9bwI@?OUHo2PY<<%XL1 zEjQE*mRmx&=&GeyGqq$kyc1-(jabWlaytTFpGaogE8OV&D6nTXea&&ZzR(RO+n->c zL4MLci*U>^*=K2f`%HSrO!nEiuR*XAO9L=|v=$%3EBkB;mPJj{^YIt^#zNa?H@cmV zpM-rD5;Z>i?7$~1_3sh*q%QgE0pVF6LxJG0^prElUzYw=WuFOCh3&JeMTM`isPH)= zs*^d2`0IN2n17#yeReXyK8q0c*-4{)hORW(XK5Dp8JlKVX)w~@_cYpP*T16pYwn7G zzU_31`qrVp(k`f5>C>42{>oxUFxzKou+P$@eU`24vxIW)wL}B~y%vJMp24;a8~%Fs zce^oDmwjgBui2})UULx0dew`+!iA^55dt%R?e+6lELntx{qwF<7=Ld|{&LI^3ljXv z7U=`ucUzt)7}4!83w_{a47jfNXc7i+JF!h7Mtp^os<~ESsBH61k0WT`cY+rFi!0@x zlcL*x!pbC%M&%kLA9Yf?s}wI*;1EjUVw!*{AFFp2i{dE+zAoY~xjZRt#7aP03Z(lr z)R#v`kJxq1E(4tzENAiOndi4+IRSmpn&4{YL*6fx1Pp=>H6+cpd_LFQ)_-%C3|2@C`t&}T#8v=8Mdx@yt=BPh`->}<&C!mXIjAipI zl;)mR1Q+*jBDmBry<}-X*Y-Xx21+?rP)%y9!TgrFl7%n`L4XiK@Y{QBZTao}!*+ux z6u$}o*NV{mL#wur6aBz&f^RHMlT1kO#NoNi?%ZB$~JY*vm>>syd7iC|D!5?F@zYWLVuzb3a zd@=*SAFb)Z@^KVC$%)cPi1ab2H*y*vhV?i4;1^sSqZO@pJRios!@_V^%GTcjw2`zw zU}!6bn&xSp?!F~T!!`_Xax5j(==;8P6aP+9&eY;p!Ovq{=dBRZhY!^FS*}>Y`FuG` z@(TohA&aP?!lyor0$$wFdxFDkB%H+GMuwPTS1q#@F!8rMe|Plh?{B+;{AGmHv+##L z{VLP?&TbOD+AHK40Ow*q;aqHv^9Rbt-%fPEx)k=#I;c10h5F{7;Pz$zCH$!49Lc}f z^EcuE>0d0t`e^_Wu)T^e8To_H5#-(K7lpCW-|>7}6fzQD!T9~lwB2E3J@=1!Bib6e zQZ3EElhvezd$TD5)tiRc>B3*`ra=9y-`$;rBv#WIn#S*QHj_Nj<|QOJYyTtfH4y&C z%l-aGiw{QS83n=xnOQv%)g7{otDA+uqPocMx0Ovh(!=@(SW zuY1Wd$_U@@gd?{Af2v(?PB%WZrcp`z3w9uaIy;|eKSynO^MAi{QzGJNe*rD2`#L=U zF$9<_%0r`ZjNK$gz`QdTfN_6d227J*h0=H$OQ0dJ0@Ijt3&0AU6bF1f5ea`~bq@&c zyrnF-^AVT@7pOE;H`A)jB=84?56f^gLYvWif3*!?Ryj?6Op=6oeI|bi*K!g9S<8C* zFTW9P^gRfah5RS3&up24&T08w1O1l+4vW6q*3{H@)M264XC{2a5}1fU^^=&YZZ{*h+AyDk5?92bzfBD~;7-k838sxvs`B8M$@kT*iC78|1e>v}cZp1$k z`1(ZpFE0>_1Q$|Z&un^=@9cEU|4;tQ5zj%eAH5ZT@t)NN{wfI%lAe#h{xtt(*Y{ZJ z7bEaVUGmpk!kNC10>NMIZfB0a>g&JETf`NffWTbgVIpd{IqFZC-v_NPhxA_-J)`)m z@{NGL9bP2{#kaMy15GuaZ;=x7uP@i-zsz};h43(f03n3nuPxY#VPltV-D@{y?C1A% zzMY)EVxE&0m+7B>&|Zw9R%Gvk<+Ev)pTsH1y3HC{toQCJP2x}4B!;(ycPJdBr}$kY zkZjXe?bu#S)6wv4$7_yGx}@)ivJ zZSIFE1ipTdQJY27rxsCzg`fQv3PeuOF_(iYZTjd6{^~K5j>)l@2@Cu78Grv^S^<@7 z>K}2KFYkwz{evk8=9ZA(+&I}kbjApQRBVa9hMq+KV0j_n)En-fEF3r``^WJl@7XZ- z5j$uizx)UIZ^teu7R0CGq8PS%QA~{f(y15FbLYLmd4#2zL2}Q5dwcV zi>L!{an$z+%ux>rXZ{!pT;-G;-FyS~a@ch9jbGah#du>ki~gkp%H{aWr|%_bu8JGRZEI1QFJ0AUE`s6_OU1WIT18I>3mA^kYp2LkRb~3-d3xX?TbJO z9hnBOc?UIgl1FQO`q5o<(oe<(Wi+cFl@Y#$-pg{vuXd%pxu3uktzV@|iRdWKsEO!^ zxw$-{hR=aa+4BaYU@rnc3PjW=B5I9A)BxdIA4q|V&afnabOGns0HiB_%ovIXbpP>u z^7~oC_(!J%^Rqh48~wy2&8K97326MsN?@q*FZkIo{_EoB5aVBQw7&F&00c9%Dz0K6A;reDseiXe(2wGY70wquO?Ce7r+;6br5XAKzR@>Xj~nD$UI%|m+(<@ z-ro!r+1s~E~&>0rU{ zCkruhk8ZQ#_p)OKes`tx-6Q&a1J+TYZjJ8fTjP=n8@W=>mnjx-iWWH5INd!S$Y`#v zUHa^wrwb6K@rD58+kc}!y(zc9-d54NCuPs8jDo!g{3s9#;u8_I#v*FK$Nbhn3VaHp z3)sd6AYFIbDTv_le=Z!rcKShF-la|>R(e9H1_DZsKJ#1&lUWRtK>hH(0!#h$L$ZX6 zwSIW>_lE0-7aj-79{yK=emMM<)DM%e`pbY)L?TW&H|vL+pda>#alSRRSM`I&S5ILjm=O0^;)-`T%eej;LRK;Ghdy#ykf`cJ^ZoATQ$Z3!JhndJY6 z5i<#aA7>)!b`f=lMbtjw_TEo{(la#vkJ=#(@%*J?2rhzuaIQhw1g)Mc|3eviT;dPx z1OK?m{w!ofOr`mOIMP*3r(^5C!4aJw7JQ78IwQv-PH#RB zFvEs!_ooyGBcdA{3v_NSG}u&{dGP0l*b-d<`A)$^k9s?SrX6VCZEVUSU3{JlCWRmx4BX-tOO$Sno?Go)$R0Gcr_M(r@PxaJ@VMR4$>SM#rEo; zml!645%^&uqOK89JuRY2gmZm41+H>R4s+y%-|Rr5&*BdhLtv!pxE(?a`zt#7NUFSm z>{GH!Y5zXvk6%lC_d^J5|L&6fHV4b2ruiu{@wOXIC?bSc9HPIl13sF<+4OyPCqs@>kE-sVC!!qwJA+Oay|qHmz;ZEVs{0IK=`-5#FGk)@1U}@+ zsO2K+V~eQ1AM#uMC{RwaQU#-dGfM0vadYp_y$5G6!GYAbqScfh04vEyZNj{l>7Wm8V2u9hMND!3)JB%BXb^3?=7|InCIQ( zPK$;f|M3ez7_+y$A7|HQxLe%hiHpu~-;FaVTSg20fm$~e-(U5emOMW9o?J)KGpOOn zzSAZ}jDB!rv7-nVCWZAanAGInysT}}x`qXE@TGXd0vT~(lQJwOlNM0k0 zLFK!!AZn-^{Z93(?m&N4NAthU`QHfo*HQEmvPoZt%HESV?#|qd`yCEk1zaC-Zrf_tcfVNp%Ef=9Md1?hgMDL*LbhRL1}t7=9i0zzVV_rpjWMkBGZ zSdE|?Zl|j;K+oS0wdByPI!lnR{?Lh2JPzmML19&bnc(eBdH!gd@D)%WxPSH&8nP-2 zP2B>hUn;Yp9)n5ok%u3a%`j5PvE0W_{EcFJPuJSE7!lN~hcoP$-7|kQzPIpfM(P@aIon~$=26ey> zSs=X}h=?bST9W3@PsJ_|Vo0(LK)m|wjgo?^-Z^1DEYst)Q7_@(qDb zFeBB+>Ar_{UQ8vQ)55r8Bp}IGbYUjnKZ4f_xZrtl`GyMU|8*cSxxcQWUm1ts@gIFoDHh>1z7tcY_kp{7 z0u41o|8O>4hfx@pNu@xQ@Oi?LcPS;9Ronoo&yXooWy&ND<%$uSK!s4}Q#G(Nmjtwj ze-ekQ5FcyKc=*qzV(*EBT~!sQNC}(83OXEtQtQ*osUO+g-1h>kHU;Tb(lzh7;OC@zll`4rj!1GHg)9g;bUn6jpwg@)EP{UUO-V@9lwIH*4bXXIdSlo3O-bU|W4DXi zN?4(NM$}2pa7;A>Z1CA*cy2!aZIla}Ke9Cz6`Y<{Z4gu~=LV<-iH4|#>G`(Cj2G!%SCgoRkipgHu zPRWs#@X_ZD*F3Fuv(J7WXRH6M%d?bAZ)zk7B1lHKOCwW%7ZxHe7jzW9i9F39r&p<} ziIprd$aFF1jWrF!C|Uj-kCKlOSY^N@1?woAnzIwR=~Lc1S*u@@NaJ7mWeVdGsEXhL zPVU~|+Iv3579%|-Ovl?zJV*0B{If&)|HCI-NK&Hq zcz#WF7d)TiC?XfHW7)oD<8H;jO~*%So~x=GlPkUGcS@F8_Cz7h9&ZztsG|;XSSY!01ljPkfzQ`*-pFm=e2Vk$S3*&*O^s?x$-S-O&iet~ zfC;^jJu6SX6zIScpM>dUcY@zAc^*m|Ll6!^Sj-xeZ0%^8Q$WS~uH4zmAL@me$W$#p zX4b6!?-PoJa&@5hq;lnEVJO8gPL@k;d`oOJKa}@#k3{iOz63H2@}&_R1R3!me8C~Ui#ZZ2=#nh7QEi% zaq?aZ+f3aQF0TOxps8lKjf^C-4u68s32LcS=>j}c=TGO5W@0E>)4Y7*JY52$zy1Vs zDp*n;y#_`?DUi1QBd%-JU%yO@J+37RBjO>;Axr=14vIldsd72=K9?fqdsK?=BI{DY zlSrFN1F(Q9qas5OlDGLwzfj$Fv#;BHo=CAix)8cq`X6Dya+BFSBct6_8}4}eV=5lk z#-{UQQEPOyT0gCcntHzG9RzKtE&<|$KUO)t1CPPKa1pEhlyAMv>)%n}Do?t7wSE_r z1?I2#bO8+{moM1_=Wyyn|k53fEOrYZR0)IhCMPozpMar37`eHv-=)7^+R58$wXS zXK+W1;J{Z9mo7@%fX@KXE96Q=uT*0cQs>~iU>Nqv6%#H%9vwvhq!!PDn7ekFk}bC7=4hZE;PJ6t8hOA!`Z4FElHg*9bW z#lRZz0p9e7!2e7?{u8Lj&|Y2_hZ`_)E6-P}!KQc;!T`23&Amf&V}5W-OWx*q{6@kp zJV3GJxde-Ss>N@o*>OA)9oCM1t(Bd^4KUla@I$yqOurAQ9p@LILxgEu1w^^_K;ZPQ zw+F0`V~re7(xJ|jXE)wDKbI22z|HGMbpRbrIws~{M;$X#C?&n;oe)Kt#8&ZrNt`bE zu;cNU7_o4MYw@V@Mr_}~2`;`HyM7@qO4Ym(9rRBrAsOo}5x!Z%bC zZx7rw&D)P+tM-9bL?SBevicTwClb>5cND%&IilX(kZoI$6SaccS5-uryN)%^YtJpy zYH?Hy+F$h`ekcF6>sSQoOfnO|RJnPYcZjG=)j*_xxpyoQCxJ_moz#+#PQ62l3ZGw+ zsN$#q;YY-Z2H1kW!fEI;k@U@Oxb z?U8>X-oXEO;~W1QyiSE<0vu0u6fa=8kzP1g6!9SvAJoE+`xeKj|5a)2@CFKtbUa08 zQ#wA(j1-NzNW*TGW%TAzxLLID4Za4^txr_HCTPES1=lK3`!Dgog3C>euly6~@J7=| zC!+vNNhx)rAvG?a^c67fexYA#q8@c3b(Bb*WK4a^koqd*+w9Q`k+PXc*~ggjQ4CK^ zM@}^w7fI8i)g{eQ6S$WuN}8!ZqSPPcMdc`XW$2GXCD63=$GQ^CxWymfc<~27ApU^( z!u;E!eJm;Xk?c`vAFwiGBOz7TMYy3D+~95X_&({D*Vi3^Kf9>(kv>G3Nd@`M!t$aE z@}t6Xo9mmerIC(b*Q7?_k4$KnEPQ#lHMbw_bi$8V@@{0zR?s*{`l)f6{-2xv3ErUJapjWp0>B7PZ_kKEQR&IQ z=3bWW9gN#;pAohmkA;4I425GH>-SB9l@5{zo3E-~Fu-$bqv-0F%wuuYM?vbQ z>QiuuPjvhT*~g_~{_zfkF74wb5H^{Z>o{C4rd60&kX1_aR^cjW|CzYWz5)S6vxT07 zwB5&{enk6wAAuhg3vYLjF-iHcyxX(99V4;7vo}dx7R3Tjg(@42|5Y(+r9@N%m#|7# z$eMoWqG{z+R|waW(pS``pQufL3cR2Uh?^^Qn@{)}3uoO&g z7M9y8aedvA&kUOfbbT7kVM@*IC#&%(HtU4i zR(D*A_njWt-5PL}8C@_L0PI1&s`+@=Nhe^@cNN*R#MrYJ$w(AKb7W2dC}oqW0xNwS zVA>BAxh+OGww&%ALQG`XgPR(W7Ax{nz5r$>&P`(=Qv2|^n&YX&VD zy(_058t%%}Jbh8bfLI>dm}{a>FD4D8QH`jebZ?JnXn05*Ag3QGhpH{4zT}{gvk70H z!CU3~8*2bs^6Ck(PH)8U0iN77hv<9FnV4u{vu-8)g1&^%Jx#aMN~REDI(GpXceVJa zQaQ<}Kiz9+BQ?pt92FrlfB_pIcg>R@jn8Ty9YT^GMU5t+rHNKPNrI)vn;c2F>9HlT zh!rgdnq@p~epIF6J*pOELZ2p$QsNBmA<;e4skHD4wlOZFJ}@+rSwybp`F}oSk_D++ zfH#_27sJj7eFJ}97@&jM{HSVe`ZSNnKk?^;dnI?qI6l;x6|T>XE~sgqhd;Q%)r|__ zZpAi<=_BGg=E;GpztWS?fnOaT;%E3EfDanD>9Mt293ML4Iu;zq1Q)Xi$IQO?{*ONa zp~VJd60KjXsz@(KSLLJWfvn_z68v5WLCHF1YBDRw&^?JdjiJtuA>e~&|H&}BJHG4T_|Lr7A>hDXgt3E8CnpF=3 z%0u+uo5)nwu^ZJfiC#@5{?U6^%&p~_rrvrNd=EvXxehpY{~JN~bG7#5L|1nwrin;g zUwr{khW6~l2!zp=7d>)XQs0O2nib?Xn&g;SR^2FZJ^UrCQHg{xnJGIE0lqsc%9&i6 z8>e|EhGS_UZ$A}{j;9;7Z$>HlIpd@YGV=eNJrd44p$XL>kUI@u3 z{+iFp<%yY+ZAe*iHt67Nyt=hg4_iT2750D8yP#=oklN}fw%A4f^2Pcv-TV17wS|?rDS{+& z@y1|`wH%~Xi#Lka#d9&)cFpki%r82GS9b^4w^m<MTZWy03dJnetR{d2hJ zHx2YzJ%vV^QPFuL|2|?vm_B)d@L69%lJvHk-|t623tpejeFqTZl`Ua5^Qj1LWIVl< z7WmfvzPDOfy_MnKfX(x`F*hQ^Gom#H%+B0y8QuZmBa6xY+)HC2UksURQDgo4hs2P{ z$Nq=NbWd7qh=k_+(mkYX2Mlqn-=BMu?Z1a19f1f?!71!E-yK2v#Fi*9FCfn{U%x_aV!!>>prV9L% z?%W(OO^^+raD*B@gQZX~3HB#>*JzG0+ZP@L-)}%JNmV^f6004fW^}@T= znBYckSq14jk(^S;Ub`k0Gcu$n8Zf4BZYWEu1_hE!`-(V#y2k(nxim8Oct-04Qf9k`J*J5Qf zFPA!x%dR62nBBP!$Fc*>#-WGWKT-i&Z0E1V+dS5=qRs2vLcQ^hMu>Z(esBTCI@s?J z+5m-pj+_lnD<@&l98Ip&!%|0!=OY!>O0|eupa7+Rn+yP=S)3^OnB%EM(1amVztEmi z&y>r6G*K6tXJm1D@*#(-*;yo8wY*apmrW%>4QFwQuv4iCp267zJT19q$7Ic@eV9>^ zvEGsw)@WOS=3O3_&mk7pfGpq2+E;u;|AX8HPJl}A3s}6(OD4IHn}X`WcE7jtq4*!d zmbOC~`fcN&wn`mEyJ@n7*Ek`h#R*-@e2Rj_lm7DAKLl{xHRJRa>R z;tRT#QHs2W#@(wW z+D+_`;njXlcO4I((1V_H+Z0zlgDr{pyTgPF@oz`68>QT^_T1O;d}(zGe#hGLXryy2 z+uLkh68>#EzLiSn^fa!ZfN4Lz-TMD&nQnKhrHYrXAr zCrR_<7wlluJn+Ken6CLuBsWrvpfeulv>K=g&qs4V!!^9$cUTgN{t2c=Mk(FGicNCt)1dQg5 z1h0Ze2je3t@^2!(X<}(rF&t%hXzwVz71oa9!$(Is$p1q-DO+=*7Mg2H6huC=w7U8A zi4b4`vI!&k75xVpQ^LVW*dfuM0$zD{? z=fXr@?HomKl7yjbF-p?2DMKFl5X^iO;9qwR8Xjn$e|&triI|qg2QG%<3^7P4^tSr> zS?t`yAPv)JT#bc&atF8P6tY&pnxpVza(2qbs1C#Z&yIPu`gZ&ia)1}DCqe@mfSY_~Ce* zPGVJ?KU&b{k6m4vS_)5obD}pO)GA+ z=AFSZs>auYGvvMp<#v&Tj?N%Luf`czhy6Yo#rEKDi%mO}KXpplLG z8;7vDRq+$?NztW-6zsk{pFJaN-8||ju-xvjgQ(V`pyi@q z@Bmi?DG#9|^yezGVjRW*m}SN9v!pb=^Qk@tuymR)mtJZcnB|3VjRhw7Us6%&Ep z4r2@rk75DH4~Rb)kBtFOo%pfx zFk%5G^89rj0Iqp#0l->7{fxGNgV$Gk--hu$VJv|_b)_5_Qlaa+S|Adpf_Qha+>t6Q zYkXgD9mR?rS~) zCsMwQB9ym>UPP@p19Wx)p7pajkqGdi5_?sGMG4VolC)i`Vkplglt=A4g4a_ke+SMW z0{#ss=5+Y%8m6Vj@WeOL72+j7ovxa!M4_*C2oNMuBpSSk5~INh zoLG(qY7c(bU-(Iad$h>1_^B3Gib_8&b(^VktqQ%H}{o6J~M~oSw%;SMs`E)Fn)?=7%~)9{^SQ*-GzRpzA3t!Jd>_Mp|YJO=!JC!771A&Ifsy-*dd#RrB2lt1+xnth0V z76in74NQtYUMyWkl7PC?1O?a}NrIqyh?Z7XarSv|a)_Vx(Nv&Ha~*QmKay$w=KGnJ z|HSy6E8?)Xg^avQ?1)6H9R-hy`uuVl@1hB_Nj9_^qWD4STww)~eVyDt%JEb`OhRe! zaeCQwOz3HTIYo(I3`qab$ZIP`#*4b_pRN)`R>P5)f-=_^wk4+flytnn7q)xmVLK=0 zV>dC5u&J{x>Gj>@1n&(JJ;#Gd^xs~fY5%nkjUF>{ZED1IJeMZ?$caC7r{4NostCZ= z2)@hehXZxgMe19JKqf2JYp@>(u*kg-3PgSm5tu~h+kF9?)PUaCU;Z9yi1d@A@EOcI zutDWC`pDPy7$@FV@7`S=reBf;Q^gzE_`^?W{-Y0nURW-2OXr{?!g5hP%3BS|*W32? zPr~${vGIxgK-eR<8e0`$od&qv{eA(x@I@Q9Kvff%2*M3O^Z$GxTg?A&#N7xzVh|EZ^HtjJUt9->Gfs8L>!Bvwa36tR^qPoyyw)YseFOVXdSW;u zkI2YR;L6RpoH>pBcaZ=0C@bBygcNWXjCt`ipPq_yuk@8C)SIUa0Hl{D(1gU(-t!af z$LgNuNsX?$9K*VA!4k4tkk4npGoIeyr^2;Sgtm3;y%x7GiTd}Z{JiZy|JzP-FXu6Q zn=j*csC|y2OL$n!5Q1=(L5t0Z(}7po0#tUQkG5pf;9+y;U%4cW+;m5)@Y}hx)e9<+ z4T{lQ!#2Fwn?Jx6dzFjP*#|ED4BtmR2V?*ToD9Y+{-hy>y{z=7xWXKJ8RXE%tiA%V zG(V%#efFP!{_@yLF@IT8822#hOm^~hCpMs-$bst%lY>Hn9)&P<&U1V?sAFIE7H9;l z@@vyJ6yQBFcAbv2t-{z{PrC?IFRpdEw>vQ#SjROfjH5o*=gBay| zH#T6iB&Hi1)2FR3z?*%4Uq#c6UDN}Wm~a?+0H1@R6TYTSC}m*EPH0DyX1|zr(n^@` z(Y8-|t+4EqPM4uiV!0WCeWI`L9Z6*NL;_^v`voRbKS3j_9VpI);^2w}Xr^{zUv}WcCYUit$gYmws&%KGJbT*@TYx zI_1ZG^pQ&YpE&6JGlJ@yD3S9BCtAmez88sfk*JCi#UqE(yvD^-C=-kLX4roL;bXd& zfpHQG-N4%`x6mhvqrQTym9mhqCpQTkTdi)r^=NorGtGk~=ZR59&*W7fl0A#9GOIK% zEwYkN|1j{~X)!t6#ipD>W?fx}oP6V(Wa%Ne_<9q|S&qUi{3QK1XFG}x0t#T#+zd?U zuy~rB?#WD;){7TUV+$rn;65Yrb`_~L^3qoV=(a9;ENL$SvnH<1_-CT?*9?@F7Qzm$^Li}GLQga1_=-Z zG+@vmK7xp51ayLl%)msVuo}QeyduVTgb4&e2~2{F!(pSczV9x(?y9?bSA49C;3@%x z@K~OT2(F-_oMBKAl&5Qc-*0uFc_b6Sz25(y&xf2d=k)2SuBxuCuCA_*DJga{RL~p% z=e%noJa+LaL(O^?;yo45Qe4fqUMKPN#vAC5m-rHTt(w<3|H<8p#eecAH-%dHPkNTl z!vb6|V~kuLBjCo(*o<=p0ZUB)L-jz-SdFXFRlS!yXW0jm9w3yTnm`=l|kb*je1J~3DSn~mA2*DgrCm=V()q0OCJDnD*R4i>sy?#7yrAA z?h&oNn4BE%BF3U{9jR=us-_@d{1AG1S}}*1th*(ao+DS$6n1oB{ab-nr5@&v-Farn7Jc?(8=0;2ScAqwsCeqVqX zPn0~?7-AN4MFgI?(4uM1yajpY?s+G$&l%;G7rF%tojQLS6X@&slQLFZp;xq(f?3iV z%{LEh7s^*64hB1g@r3a(6^yW}!dg}~B1_6>eldVkMViHzaXZ)8=h6GZKn+)c{jDBt zIes9LYRb6k^0BguKIXy-+k4`Z}1fr8sl~qR3E>2Vy-t>iYTM9EG**NYgoKE zco!_UA%{OZnCuB&T7(FW&@ntlUqY9+!nZ+}d=>ju zg8Rcabwvb7CME@lbMexY_yWdx+kZgLW%b+Ome`1pufEL^^6;xLH$1%#GCRV^VBw&& zVyEdF;5BYmkwS=7yMlYt-4N3iyI=#~MZZdV_f32`mp)Kx{__Zy4kVO<>=R zpHU*dYi=_^4c!ilUaumn_^6IRQ_E)+bwwRHfN_{wheN-;_7Qoa*F!Nfb0%YzRC~){ zD4O520x%=vVW-;IQ?6v)uw6G+X#mk;M#k`K_9nfDgga2d2y=*1=GF0_3<5q1sa~Wk zMr?tE;X!bM=39X8>I9@q{<`IFDaGE+33LhjmW!sD7|DK>^vbG_aYas)w9h-panFFM zW^OxpoM7#>b$k@4_kV_@CP!1TW~$LJ4}Ap627CVQBk3{={TO%b|WC^92~nbZLof5ybp1uv|Lk(qP*@8RHcVblO#`=CCk4f46s z1IDUGOU249-b%=@*F?cfDLr0DBynrm90K>sMzQwIpjBLq&e-B8m^@`Xs)9qAbW!8` zk^>-4?D$K*n0?qtZRLg96Fs5i1&0z9mRX=xcqdg9_wUruABExM2zHwtrz~J6ib|fs zrXm?eMJneHwTGs+aXS$|_aNqd1OIUyrvtWkae)CJ2E%}AmMZ(~D+QB^WF!Mc z)Ry{zOi1|AP5o#kKT`060kW>5V0$F%!fGbS1N$EqyEm}PbhE65?}flpbJ3A3T)g9w zCemGXeJmFmynj_H0z3Ne zFkk(Fg4*c2N+HDXvKcVrxLp!-pg?_nT^uU&jzR^cHAm$tpb{Rgn>9w7)%mfpSmA~O zLtRQZe;;4h9Sb7Ec3h`DR@Ssx6rppW4%Bqvbhe2W#S~0o!|mg`rRto`|HgFPXj5@Y zGkP}AV?3N;ONmD>$BqS1wR{+d-nb}w0!NHn1u?K6^Rq!OfvE_+8lbQJa5c}ypM=gi zbKh(fhkU|^!?0%v5ynz%t_r=8I8I0D*O$QptzX^5AB~uvQ=$6zYTr<4V?NpGK^v($ z@Y*FNa>m-jF)YlF=t>YE`B$Bi5ubH4SUHqDQ+s^z?KX45PlzKkGTs}YBo)s%B{gj8 zM^ij*VDAEyh_d@yCuy7wJo%~8-|^@n55Vrgp4+AOR#lDifO7iST5V` zJU+QsFmsXHd2n)vVEcv6P4?d{#VG7xPYZCDGK4OG9XGexL zDeY(28ZP`t5_gxw0}lVAhZ2W)3$_q`!fd(D*k$ccjrwPQq-Zg|#IQ|x9y|*o%!I-L z-ti-Ilb@t3MCS(rtgioN#IFt{FU1)Gs1qPVMW51Gem=Tn5>c>jy zU-u#Sa%^$|;)0#qCcVbcXw|WefsGfi|3l7%dXJ(d_|`?o1Xoh_hilkkz=V&Qt)k1y zDqMIR8bsJWHa|1j{NYE$MB`&n5$Tiwd;wb42+t+MrV0_4!$mCCg$Qm#GTERZRh-GN z=3x6-;6Nb=Q~ZZ0VU&E1d-TypyCccoQ7xF;9WDp&ccFgVXY+nP?n%ugA_?|0GO;@< ztN!EaBq-oQvn%S5xM-^k;?p`vi=v?fBB7{696^w!v-)xc9rYnPrMr~H&Ls8^WpCC< z34)A4)N3F1sTGS1{s|INss$2;6J zrrph|#m z281o(PdfA)q`+-`MIS$D=fOG~E5_~%yKz0&Feu+hG_&7abx7~|0Drr`$nPyV(ew?h zM5JI-Dw`E-Ea@|X6Rk*_ph3LUeXXhcxHO8s)nH!9xbqNk_CY8QQD@@DIHG+!t+7LMvu^<17?5AOcXojTsav4V;muojMN~f% z6AdkN9Z<$b&DL6#hOWYIq-b*YI_$3BgKa9_%TVoV-}xS+3X{*(a2Xl4Iv&V}u-YoA z6EiWkU*jA)5B3iF#AT=u?cEsa!QY1Myblr0_3+@w5}QvF^K8EKU}8%`LY_l+B3LMD zK`8s_4nWo;J%&rk+Cn`Fjak7lnC#|SCcBQ^0cl;ox(3`o+6v7+!bHlcL z1jY}TLNFyW&iHH0Ox+!^u}FWj`*o0CPQthyS_Ddb;it=Niuz$S+6|$oRpAemWJnV+ zvdj7gG{$hM+5CunQbTk0fepGY@DHmGMO>yU3T&Z_7Y9D@SnG7lxk~hT__U(_yD{5= z)=RVQpqi0D44YiNfv-4yfuNV0`#%#@D*FhUVtpgNyg?p9I{hn3Z?v{k;ZA;IeMcVa z0aV{NxBi52%Ja2%+6lO)JYU10KQs%;zsV12-sQ=z+YV%bi~4%g=XFpsdh;2#!vzQC z@SLDv&(3lgat1D5to+gwR7`J>^8lA+?ISUQac|$5l9&dX8J{u{1kyKv5-zCe8Gn@> z)X|M?=0z6Xq4F4mmHVemW&GW1IYDObQ#x3W-;we89X)thYQB+O{(9;1$2caPyFsOIY$(0rrUoxL#mgD`$vWk zgk>K?aCHw9FOaag?z|wimp6DuxRobx5UxFbQiM%U9x;=E1iK>gs_Y`rq+MR%8h_lwb#;vfY$1 zw_Lf`pyL(_ID{q~rBMRoZRQH{5c>xS4c%r(D2(4Q_xrRxy;E|r^NUKPCs+&nD-D;o z@hYjZgL~%GtRx2rWBd)jfkb1@Ka!U43FjLVuTX|ywR+d;x(|RL;y-{NRuAMuT(emm z`QK+SR~1%^^b!(O!a{r(?qT+m^t0-*&QZlTDmOgcpqA7j4OO57T7zZ*$9IP4keVFl zMd49}aENqiJ-+}i5wZ5bbDffzx(uX-uEc3X+$6^d^QO5UAihU-8%oX{Hx5B*FL?H# zZW2z_ZYID|!r*VvC(9fod0z2UQiZD*Fgw|ctAJt_IvTpHva})TZ42kP(|uh%Fx|2A z`pP;oxMLB+H;$l2d}yz&#tk)v3;QDw+K&KpwuN06O+|JkIPW6&^2)6I{8^0OJ7rBx z_JYaCwgB~*$JWJaJ&v>;%$4`O!~wbv@3qRaeng&nxPGHa$pN~tvN*=gg{GOeyvO_~ zus4-HRW;w;a?Q$V5dmba=_n+M1IvqhZR8L>GB`dNW9=utbBm2DG1l&uv9@L{CRg@+ z4&I8A+I*=Bt${Lyb2!-%T8g^}_u(PPEAI8J2ctLM4u%om`^45h;{_57IgG2HZEmeK0)wN&wMS;ph%M%g6-7cCZdhX;)WB zXRwyi3O9t%b<)T}2q}bHCKT!U?OvR4BfXNjOKo9RU)oPD74y#<7_!iMa}`| zvWb_ugZwf>fLxaO2Vb)$hAxO1nbZKP+DF%}ZXddw<$brj@s_q#K5}YbY7`O@ zRF^{$Wcu4P`^v*uc5#<_f>mWevi{lCi0|AX$+dwKrZ+V^DzS4_R|gTG=#n6%q*NIx z1;a(vZu(^fR_x*0zlvdq3N)wJGn&kb@A#>UZz6Gl^ZKV&Q!ZqZ7N}a(g$ggP3oRiG zyg?FesfEw&?_M5y9?zj)@ha6SZh!Cc&|FpAhUAk{#jTfzr=tuKMBf(qJa~DyoC*YJ zV@hp0KYg}QGF(E(z~6kd)s!Cin^K9vyHj2G5x&pTD3Ua(E+ zvau1hpQrqvu&|kUr9)VZ**!g#Fs)4^ z`zW4z7F8E~-*_4B?6lAE{6Y6jB;P?0-^77%D1|pMq-!*k0BD}grZoNNw~0TxFy(Z!BLctd0~a7ap--^LRb3b(kT7hLceva?N++-97u>I z#2LYmGn{D7eafK1dhb}q(l{5*Ys{3$NMrD2Zes@KNUPm;?@o{1+Ym+` zDeRTr;=XmYdvVg?N2hS-l_XN@X`Bc1pX!k;fOx=sLC672&MPLJgZcAJ%y1g7z`Vg- zzxPb{lIj_+eUzcURpt35Qf=hop=d4)@u(+!As^<+!zB@bs2uu$i8-v&=%<{hsg2yC zra{R4CimA`nW3pyKox3ny2`2F@xc7>UW>9XTa=BJ&zAr}%cq;oE0;#?x?)1zq;B-N zsRnu8wi@J3UL!Hqp0_Re^&}%S4cRlW_;p9WgUNOMF_>)?`}3vW%D9G1p0*812s>R< zt_C_68JnO*$oX#`yQf*l44oYrr`!yy zOiEhiO5>%um%sUw_#O+jwT704F0L0N1zz-X%6XK_u-*PQ2zfk~Cf2$MK{|n&n zDgyrOCW&zQ1?qoq4C-eWPE`LdKp&&<1o-~~^=F(2e@vw3a|-x%FFgVO zqWHlOsX`X!?G>{B63EH;X%0$=-}`s`a`*+VKM8*J+1zX%qa)h%)H>pVFQFsO1nJH1 zeb5nxt*7;7_6EE;gKxI0Hv_CUk63S1`Xg;joR9J7m zjC^yCdNbR4lLN=OQevajo9C=I8zbL1)tlF?H+?KP;vebGw@Ueylt0xN3MU$WE{f6z zBP%CC82m6c$SSih$F0p{hcb_Q!qQEFe~Ag0s)ZkKQ`zD zW)Z%sldcw>u{E_=Kbz2OU~FQsVtfuU=Rv}rsU9l(>#Co@pY$nA$KS@{j|)H2DsA?+ z+F>aXiDB%u^lc`ZbW@@Kl<3Jd-Muo&(^0a=l6~;G6{>uA($lid4{PARg4LMK=?u)w={Yi|$*LZd zQ*Rj_GQ-1U!CTuiiuy${H>H3BPeY$KYdy$t#0{gMQQKhZpRCh^uoLvvZQ zZTK9A4Z4Gq)53jd;pfq&g_(bZliU9CJs-m5fQO&b)ncW+Mv#KJu`j0AnB9p!py3Jx z(pn}%!L27F1N$dqeNWmyKabL0OrNCayrf-WZs;tF!YOg{2`s^0S{u%^pz1W z2I0{>EF&^E3*BbPcd#AMNeQI2WCtnv|2E2BH~1^;{ZO+P;vCOji@W40v;p}?J}d6F zN4v~(auuiY$)N~$)#8U5c;N~Fck993R+_ty2h}%F4$`C4IiKiX*TGGH+wG(ZMr6c* z;>5Q-dI2?G5@2*t=UcZ%*Qh)TR@y@#n z6Lc%UZM347MvTlq0cRh$IS#wKEY7My z0{1|(i-NVP-!2~?$J-)})QNdZ|HZR6#vyliJbTyuf8BrQvU#`XC|>=X{<{V9AmwpM z(0~7QYaD;ic|f(fW&Zm3f#UD>sTP0p#wO-(=?!rtY|h`G*M9@)AVJM_Q4U-Ecjte_ z@%R>v*ok>;E*=+$-T%-1_dN3V;ogc@C*yBy|2-(-udq%M>F4)viR16Es*~||K0i?W zJvPPSZ%Jul{#K2RqhNFX#*V-2zqjcA+ZMZRlMmWEri2l+7So5%A&37kI?7>P4hz@E z%h(bbe{q5+#@}fgy_0bHgE4V9M#f*%+{%9aYHa7NOqrGnT$*@6erf$YHw{gDG5gf` z8$14Xs!`u040+b65Ww%mW;LbakTpx{KZb_XU~7(FgHT?v_tDXb+57f&airTDYhJ1R-1jvZf5+(l+s6J@@|+axbBpb~ zdu^b=m)Njq4Z!xd(&xasDj-_45tVhdeA21#74eVp*fkx0IYDi;GAa4Q_A`TRbsJzm z4?;ABz2^HUf03Rohyy;19v7);5;8e_JZXST0A&S`Ml_g=+1_EySJIQwz}-D!Se7d@ zN|_EafjFok6YP9<-z_*i$=!DiGY2zSho{%35k@8;*;XWRi4?QXEvEBdSTx04OJ>|I z4^~2CoW>0->vpi2VtTeQQSpl0_XIID8iD^@~d(bg5uqH$TIQsYDQ^a2Dqd zv<;7m6O{VKci=x+a&=TvR7eA=;n~0)Sxp@UW;D$4Ec10$oz%rg?%?U_usl?qf<|F^ zC1$?0dsJMb1~xIMw&BPxFHl1PxmifT29g93(vsY0%hG=$NqGvSfi%+uHq32EE&-oU2?H3Cg-r;J%k{KxIOcg)eErRRmL!>%ovtLc${iREfm%F9HR?*NwL&hC zUAtJglR`RI=(#yUPb7E>AyP)>xRFMWO~uBz{gALh{vlJP0tdEqZZf@yJKKJruzAF) z!c8VHN(wnaYv%A5`D5S`P8iC_EIB4S*;aEyf%e_F&<}nbNu_igi+jevyr14lGK1ZS zt~h?z(>=ow2?^nqT}g;D<22PR@v}#%-;T>%L=w~v2Pwvq6z(84)qOnaQi~4P=YS3u zNyRKEba)-c4A!T?UZ*r5mJ)%nXm{#3`gz<}2fR!7^R9$zLNIww}f`74#c@%4_ z@=FdmAHCEp4vfMH?B1m&qaq?y4fR6Da{KeKS+yhX^m0W%*2aN2&3qK~u)i1?d#)x? zKtRM-e<_jSmLth*e@(1hBmeTV(Y>qtYtR<8ep%qtYwY9%kn#2fT$#!${vyfwDYZVIw_fAN}>w zMr>fQ9IlXL^jR!X%lK3h+o15TEyVQoRPeLU{%=HPMsakfMY>O&o2{yyg!ee{0kKjg zS%}0@zYw15f~GIYwbzbPPxA3A-(FiJze-%{{V12cc7S?c_Rf0shhaQPo61l>a!N*lYW%*Gy)W|2Y5JYtK-R{vwa~*IwI>K)~Ky zvNz8i#1RL`Uy&urn`^#-7Grn7XfYH$6)t0U@Fv_0&oU?LB5QRKycwHqmBr2QTyvBz zqPCOCJZCJ5sp@buJm1XIMQUSeDYc5=W_X#Ip^N-iOpyw!2yTW~nR~k`bgzgOd1ek; zr%TOJ_m2owp?{X>;@nljB0%LCrI`h_S?d0g1*pONwJy6mrn-f4PhvP{^B(+{C(kUB z%RFApCtg-Kai6Az$5OdhAM#!uU-RkPkqR5F8I8@QQpFGwdC*bd{Q~u z9h|j|ubdC_!Y%I4?Beg>uX!;uRW;|+d;BTcM)tAMWgm$H87JOpL(;XI{{PP#W*cKV#Pz`#;lnGh$wo zUkiSuhe1DGg=FMUNr|!0nOA3-p_df1{nlr}iP_?)bxz5yydN?OnvcxG0YAYhE_^@H zRe1w$OK?|Gc`f=D*mHBPc~)m)0Qf!xrK|3eZy|x3;Vv^7CF=104C}qydXJmoCFWaI|qVa$i zrRIxmWlb7O3h*BgzKEx}5E~H1M;{Ilp$h6xLF!RKDi}d3=0@;4SL2sv;fExJvc4t@ zYE~W||BAG@j!(Ak^h}9fQHG;#VHJkg~RvX@r z*0)LOiw!%9wBS_m&sKZHqEKY;HfLI({#W?pJgiv!&$B8G|8n?aG?GJ+n$W*~SgaKP zr}WQ_$Nz4t(q9mN%qSD#pKO8pU(r7=9{*Ra`sL*(KQaCV7O4Lf{`v9v?<@Kb@OL%s zU)Z6=BeCK-nbGs9I}omFWO%NGbuOJj?ALE1`lBKO`_Iz%BKqSs>3=UrI$g|-^uG(6 z!oQI4IpJ*D$<1|NN5CaVz%7n;b!-fU>R1|qz?vk<01gxq{hh>g|k!?&SL19 zIQ=sZmWd+jrLh-i|fzFXvsTIbqH#onO9YxEd5GMKY{ zMDT{~X>gKlcX*wvC*{JyoaGI+^&01SMg#}%9TD{H#oNNY4sT!=yl4fYrSfPWHelnl zSyTo#F;UxU^D^9;AMUZ5Ew-0zL6G@{dHnKNDW|!c6&eN)9Gm7serp)j_S#?J0UH?d zHuZz5_A!=3x6k5%y_VBDw$EO(5O?AscW$x!)m#NTPkJECV(_Q1s6WL54UYRSg`*S741MmDph8EG$b%`0oVlXypx`XWzKQ$r^zA_Z`eoEJBmM1U` zGoAL};fP##C1JsPSMmiqNam;5GYmihRvj3OqiYLMwNAa$z)ftYF%E-!95NwT@!?5)n;%ZMsFPB+@E&{EL&HD_Q-?<);Z%De{i*$WxAU4b`;&B*Ib{EawC-ZYNT}BJ#jUyGOATI${hvjApKm6^Ql1(s) zk>CHa(7_QXKxeR^bE!L+y52t|2xBM7*TWo*HC`?w1T(?5QDDk6uq_iFS~%4LsmQ=H zczqlXt7e0wl;ULf_ifx+`)>5TQUD0~Ouzx;(I7^ehZ^zXG=HsF6iFYZ){{ucGG#Q8Nc zup1LD12}la4dj6k(6`_m?r7PuGUl>a4u_36G6?(;P2dk8{Vo3#+{`ETF2DU`OWtMp zU(6lOIOt9N%L2co3H(c1ZvRu#ehhtRe^597gsmTU3h=G*6nDkl6C2T z$7DUi!8F5A6Z6v_P1Yz1w8EOEn|hN z=qY2pyIXHi@sm6FdX|FUSe5SdDZPP!o3ZjRI|9$9f!XhhrUiHCWaf;osVpJ2sN8mB6l)r2`MA()YM5k2Y=VJ@IgFQgBBS z?qBla+S*#dou3N0zvioEvSbc!+SZ2?!c2~bc_3BVx}yRxFNueVUc$C!6K3~>Fn!Hn zc1j5IHvkeNN3#{o+X-{og>mgz=G(2}+WHs#M1!Ug=GF`1+KOXR*w&>ffVqUPnzc34 zf;r#P4{ylAr}_!|k@~?Kv=svgEJf%C4A=qN<@j00bE8uTdwNdU+tf$>mmYM#jAh9I zfaxX7VT2jXa1cZIUQ5l%1v~M8IX-ywDs#+5&Oh)UaoLTFQ44i521e$X!v@^?T{Zwn zEpt1M`Cj5HI+;_e;5c`{B2F#mN;LJ0+qq#ntfkc3eqz zRbVE;_!Kz8G039=OiDaB)Y?9BlLv`8aBwnqd=R~C#u>Oh^`EywybI44wBldUKJI$J za1ZR5EdflRlzdsyphRt~oBxwG5aS|jHGi(oWL-AC+ zLIhBAA=;4NRB-PdnW(emUxU08QDxs3KLNHk>V|#S9kp|hJ({s!P!LsxXnFa%~~oO+0GXRhGb zZmqBE$it?)Lx)>hWDB~oW0(8mY%~54`=~1N7tHTJ(;qH6H>OfrVZ#hNO$9PmLkD8n@_Xqi=_H5N-x!IRQ3(i}upMk>D7D#MxZYix>Q zXBTZz>UGvbhe2C3xSfYFJ%Zi=cM%jPDg)7Nt<)YV`YY}nqbLM5p%n(4AA*~d=l;i% zEdP*;2BH%o{>EXxjfGcFU=RgLb)Tv<>=vBE*?s&z5XS|vv=9BB%Z`e^SEH4hhltSt zbxH7=Ry9e;W8mCougS(w@-{KC+iPNnX2;Q5;^<$|87_%|kof5B12qXd7{_zCv)YLR_l@0#hS#J^71 z))pCPuR4&311Ib-Td;9T^Diyo*Z(p9oI1kwB>YRhNb&CxtdJ(+pD@CQu9N2fE*Z=A zs}uB~^|Gyx%8c5J^gWgRzmt1d`q4BT=vU}j=8CJJwzc~$q8#swt3FKLEB^8@cB_B> zAMtkpc6CMgJ7NFN=I_Dw5&q^T{Q5uU?-(6ldlLTk%2WLP3zkI_@fTr1O}i$?&*Qmq zy>o6{@6_YBOVd7!IuMF`8wA;0hLjjVH@X?sd~RTPb`6v`hH1DPHkyCBh(k0BH*q&m z;b)n%KMF=BYt`KtKw@55%K)@0Cf2T&hw5+(FOt~3gx^e7w}8)s*Mp+_8#kjcGVkfM?K;;u z3-Uxad(8_hYS_;C0bKt4OvU9gJlJ{=4>susppET)JW%%S5f~Zs^9S1-w8Q1GBpkM<#d%A6z(d zs2m^8#D~Za+yZ<#b_9u?&C@m1e0*{>VWl^R#cWSMH35^~xEcD1?sSCHi*a9NUd=5lK*_$Xoh_UD&E4~7=Y1_-a z4{hq$!x?c%otQ6Z5Q7fe9QG zu8L{P?jl_VbdS860|7_?o4670!KarFkrz!P&z z8WI4{=->_PEb9MtQUAu!4}1j$R^bi&Q91?F4p&ZuY#&ICF(CSwG$3@17AR1bHCvRV z2tpMnCZ{*3sxJ^7?+LtLpq)3Gv=ts>1pGJj2N||00L?V0ukQJUpn3ww0aCK9T7+ez zT^{FguYKgsV&|8>yS>o2(BQ9#GQzEil_WFjF7oQk_VJj|MT=c1xV zP?4HQDF4rwC#;Ifrd&p9;D@e(X*f98;Bg-DA*+FGhtc^^fp$J8hO$rXIA-E@$}?$fiZ?T<*b{@%EA1ik2mYcPhghdHq34$gFB;M@>mE>C(*YJxX7CkT()E%6osQW(F zM6q26Bm;G)fw~@0_Y&8f{^8DMIy7hVx~-993;cT}pin~d$u-B9lf!{Cmjh=W_4AG% z&BiX^mu-KGB_W;g;i6>dV&oQ%T7A*Glg;0`zip8k{5Xo}!EY(3#`P-pRCYRcROzJE z)=iytv%tEcEOBb7Cm|TSs`13!@yA^lm8AeH(XW;Z(N)Uk6A9qZS0f;RW!y(cjg$jD0Ro`PO+%!xppaL*NJu znNRr!PSB|u8<$jHO31**#U|3`0upXM<4v}O1bL>4Ti5_Pcd`K+7qIcyXX9LfU+sli zf_SRiSQsKi0tP*JgEPBv+iy5-i6oA(@h(elfGjM<<5*cR_sV`h%UBAHYi<)oxogc| z0;ojW_$BPAp_fQh(ECVAHq9#{pVON${3l&wU5+}s-3{E3>00w2NeBVr^gyW?lPvF z1-Wx0)K!9nLx7&6Qx^h7%S-6)w&X~p8tT2L%cM<9VQ%by$Q*h(39ksc@og8rGQUME zLLI=SneS)etR>vkooxQc{{52b-xILZt^2p?*Xk4`bZ--tgY<#zeb?e7lDRJcGy6Qw zxp36m4#*$IZ1#7ct+Y7rMI9{QLyVuhcvS`~3z}c`0q(Sl`P{I5L=ruA8V_wjpWwsD z1{$}s!Cuo1pvZ1acj!hRgMs~i3_)9FXwTp_?M3H)5R91>ZjL{2hueNS_D*#C>Hn!3 ze^@_9T-bJ^9ahPRvslQDCnaI{-<9pgWvwNs!aO8fxD{$~pJJ>~9hM(@ImUeK!5Bj? z`VfvWrQ+08TUs%|h!-6`n1g1Hj*~@`tZM0VSH=|7hF1~^(vcqOsfLt^7i+&!35FCz zk|DvC?7YYK#Z40qv7kA=uj0@g zzBgt zf6Al$p+(RgRhZYc^r_}gw%BRS_`}d9FbQ@G6?GhcYIN`^nxy9JWOE+*Q^o-`hCiMj zia(n#I(7cAk3tP&eaYY~1Ad`})bq0GPSHD2^wb|>nN zU`aMC=^CLS*35ANG8SI4>~H165g6F`E|=!bJ$V>&l`qgJ%o%SU9uPS(9KQ?A7Y9Dk zh!KgE;3S)?>@^c?oNy@s9=#xND4bcKR|HlnZLciiS{U?~p#0(Oz=P@X`yUFG;WzC` zBIx!%B!k7FaHs0aWw40*95&f5d=xR|(JYR!ZsVawcm20m7QYzXb8@45(@*Zh2us}A z_n>pTeeUD($(u6Y@Gnbo--@GH^l=l0ZP9!0;5p2Sy|Ys@dBO?!}hQZgl@(6ePo|i&&Pc~!k+sx zX*ch}PfuX8x9=L}%<%Tw%!kAVX~)sPNkhr}r}zzKlByx|#q48mHU@_Nfz}pk3ep-R zWEPV%)6|!dnF#oi#3IStbS{>cG4FwM3M7)}fJ{i{_j%|7Ggq)zL4O*ywu8+ib(%)x zA$NWrHAf6U5N2!qDGX+8aU4sge}!Y(mBz&#DHC&uw?zuZY=B1_Et;@l3s9iYxzcVh z=_-7b{1|mTjJgVvzbk@w#F&Lg@L?UmScoWYLI_wyajLpBC}_73xF z4BGZ2vJ>bN^&l-9@t(TC!B(UEBL0Ry40U<>u7(xyjMUm-{$Y@E0>}rbKoy)XABN6E zj|K)0p=?3l{l&K~^#*(1f*+VX*=H4_>SCik0wi1z$kmgEklLo;^_=DtWOEfzyc{T+ zPk%%VbqUa&ER)O+iWU~KoQ(+%RwI(P!Dj*)H;+hwsh({##k3Okhx^veZYSjIk8Ep8 za^~rUvxVksIonJ*!#Z~&`3fun(z~~+9-2VD77z+roQ8I=*ppo9d8gn5-Aw(_rUuxbO`$1vQc6$fP+T5J^s134~Mp>hFRSPeFMy}Q zB+Tw1T&m>!c$C2;dQ_nVyec8n3ldY?0=^7vLQnSwmdX4C0U;PUX;fEa=%G3^A#z5b znjdUJ?RtJyL9JWI1_5s>1ApUqU#Y)wf^U?+akB4ff8!*d2TgnmucUrd#p=sBFN2k@ ztc|Gsi>X1)o2*Wb0~*)^2bSU78iXc?7-53^>4m{t9AO+? zvD5PRlSm3ZhQTqU?CmcXa3WE0tGMO~H)YKU=%XXVzt-~iq#?D39 z{evrw&H{ftEng6o|fqL0JgXwJtM`$QymOx=WF(2dJWy*I?)0 z;e`m(amv%`a>;K{I~Om(aQPTwt;*_edFt&rysz^g>F2ZgkDOn59&sjWlKY5md}`}5 zd9c}T?3M>}1-bBK|B(wSos@d@ezo0D2kxl%{7@PR=xiiMepp#mxD9;*UKk}CBmK*N zEZzRFB$vlW=rJ;R4d4f*<2G!9bx~meQcV zL18_yQH>^oE)REYh#?F=oKrZUG327+L8BH*P4o)kushs0ZVF$S_&MU!`X+u8?ubE% z=EqT3HBX@uST!*%wAXwWPvPlE0!pVkO(=_H%YN;&euAsZbB(q!$Y(nS;*3=h2F+%FSC)A?(v? zs)EkGH>e75uqn#2+tl%D*dCpPvl%)OB|~|w71;wnnf}+H1@vGVC4phmLKBj3 zpeYLcWR6W(Fuw1bm2H~!`%o{=)wKRceOmu#Q*GpFtp;6I2Q07Ouo3i0=0dP2J2%pw zorVD#@o|-s|13Y8VNSG?zH;{*>OlWvOsWG_qszOpq|X~YN8Q{BeN7at_cbajOPrwIk& zYRESG*_u&NMvyJ&{IQN(eXrzebCiBE7M3A~b?C!88*x4yhGp=1bWRz972rNBL`lp( z-%G_Me7Z0boxo2w;hfQfuXH!AtUre3h*dn-?!oq6V_2gHCtytcB0S!0j7p^e){6`R zA+|^zFuA5Kga-RyExI91EWT@8RtRDh76ww`sopfHD+{APf)xY3Ec~J>ys|K*5yH2H z?n;FM)~?h}r=mU)tLpSrO^}cSBHok)s{MUYyY62uqE{Nx-{7Xb<{iMsDq~@{#)9f2 z$(0pu<9?jIT#cs~whr58eaagM8)!G3hL%sQ6qHF-Sdk8VXO0Fnu>??wX{;>BfuQcb z$XrryV~BJ8(JM&fTz4;tuqbsWZvtsIhv8{l;o^L;^XOM8pL7u!oy$M$l04kVgnh*X z?S}2iDLBC`k2pY7^CF`9*()Nd^1bcVH=xM6pp2!KmPg*!e-20A#mP9JJpF(h%$oj< z$Z_DBY~5E`L*P4i;Fx(YbVywjsbib7%{Nn;i5;C;*`a3>%bmps(tmPaP5UhKp0C+0 z7)929sa@6|r=9ggqh_#`2g)2~0Xwz$>B+y+^`ndNIs`4^b=^_yekdgbGz`nv|qPo1mti1hoJZ7bwaZ91>AK4PPK1GcdLEfq98jc zkTVE!@e!$DlIUQzZ)zftnHETMxB_^k0=Vu+67Wb=x!#QP8g8M7(Y?&| z|9-MD6pHnstNyVxI(}5qdgQ!3>K#>a9oX6hZ2{N5IcEcu9IREDsy^Eb0|S_l$0rN$ zof+U0!;K=cHF}MG?r>DkPcePhU%j8Cz7iW=zIuaC(5188_E#HNI9IPIaMthK?rTd+ zKS@WZfal2@YbG4lAfMxob86LGX@*i{VEd2w|4%l+;{TbzFP{H=ax(t^^r?Im!+$>czu^Bk z(yuxHTk&xm|GTJ$H0A#q#eXeEKcD~jz6t;N1pHr;i2w31j{m7d^d$U8w{MaEvLW)9 z<^NhXz~X;T;1|z-J~6MV7tS^s4k*%={2;14i=5XavjOWiA$W$l!!1 zwc5?t-nkS@ud4ZKFPBZm9!5Y_p0EJK%;ok!ph=ineOXdnvtXZK=Ue^`#@k=5cN-PS z*uQmPazBY1LgZJl^ANrZdY6Hm+tm2cUB*SC?3XhZ>9O2o_UYOJ$IY447|wDVsR|-ZrlYRj9MGku79W+(h|OCp^b2)QJa4h+pycDV6SW_1kMdu}#RxIPi*KHdpooMW-rOg9E1MG|)G09?zz^i~ zX?X(2_y2w3_YbvEQ34q_mIi@EkwiFBDW%HF?PF&TN)0B#5VbuQm!0S9O>mY*_T!_T(h zOa9#+h~~jcQi?)@p5(ycf<^?tiK%^70#sy*EfZR^usKrExva{+EAfMZ-wE>X#?lws zYpD+>jgr8Bd?t>-UkZVD#t>HD2I^;imQ)Qt_Oh9uCrwXEs^8nTPa|f_^`ANFcV$ed z^B+6YcN&!9S*W_rVw&LL^8yXa;R#BgxjHGSdIo-^H)JFwEuFF4zpSGE^RDS@(l;*O zw5xHA^uIr|jBkIR#>N>*;pXY()(L!8L-;5gSU&R$mbLOv;Bb4qwbw9!r9RZvxWBG` zufzY-nGa5{Jv3vqasRBtpZb5wnlWtVT9iu)Gz7j2?A#JAG+h3I!`ljRXs5_#!Isbb zKV^42)a#)CC@uxPzALQV;LEtuXzwvRjkrx|T%Nuqux)u@lrEg6?Xk3}RoL3Z^xrVf2;k}N)wt6$8b_dr;l9nW4;%F~go4$!OL6KA3 z|NAWnt7Qz+0o(1*Y{B_YdoeG>Se3o1IvcNtpn9Z_sF|}DKD%wcthclA0QUWH9Uq#F zm$&n!QG(lnpLIO|8bZG~xB3tZvk@_MvI1tVjVXVrlppvvlx0eTIbMgvyMjg!;$(x& zZs;G?$J*L!1_OTeu?&070NmK$n(oMURW~;JHsF1zJs$aoj6ZZ#ydz(?*R$P>5&w!z zKwY>+s~&wCty+idh-_6>T&u3GQ?2SEtuoKiIAUVoa{yndHe~=$wg>C-(e@nI@u@7^ z24&HZcDf;2zh*z!gN;E;d?V2c-*Ci!vjsmj`nF8(C})9@Uvczj+e= z>Co|(Rz_6^wKO07Y_M9ekc$&heCN<9yUe}lpSl;j10Q(~o8IJQ2pCF1q`+hSmllB# zos@l6H0OqHZQTB)Hjlp^VWAuC#;stQT0iwTm)d9dgg4x4lpuO#qkXnb{YX*o<{W9z+Z7wvBo_t31@&KdDe!-J=2iB$&b!cy%}ldLqCnA{ySpW$L`qTM zUj_Byjs^ZNSfa<7QlgKPxS?ALO0-gSw2!ajIJzP0XoV8MgmtuuuVa&xxS?ArO4xuz zimsrCLgFv_wGFRZ7X`j3sNZKR@b4xPIp+ux)1<`sZmm%wzV3&)2RSqf?-3&5>ARFi z*wnlRien`qWkw(TO|Hx+>c2zVC;ElGb}a6S`tJ_CgpQ3uttxFO6ut$wsrK3-cu5v` zoty2m_u&VqJUS2U8w2z{C_ug%p|m3N$M)Ipu(CO$1wET;0Gb%vfXAf7_--~-ng1ZQ($ zm6(w?;4euF{>EaqN=l6HmID3aMtsifzv2PDZ(aX+R$=;fk5P~u*jm503#w(U+%PwL zHi{IW*5vwcy8FN4^Gk)kkh#gX4TZe<-=h|7^z|oG>UXt@?L1r2dC+SPu=jZCk6hvH zy9{eM;clw?sK3F#^Ly8vi(7Grg#TFDgL{S>sciv#%5L)sggxNgA#)zCW`Hpeu+eAA z!;R)txo$J>SHJmcg1SZf%yH4DCF<66%T?R|gQD;A^!r?OmG+t4^}|m3+D>0v>Fe>f zL~WyaP_7MTSpCKdy!w7eA%)PGmms?3{C+ZhX5p z7=qYj91{)u-RRlv-MxsPO2LYS(xsd-ivM>|NY78hZ#K71to<1`qQ_e{7&RdlNwIm0 z<49f&ds+X+qW+uNTO1z$GFxF_Ph|Z|Iv+Qgx@sD64i0X(5ipC6Ls>b-mdL4iSZw6v z7bDakt9?JVvCmzPN9c+i-`J1+i$r$pwTJP%fL$vooc3NCE+~W*+SD06@i)a@vxkkw zZ+p#)xMTZ5JWmskY`%N(w~enq{-&vfw8h4qsp!SibGj7N?}6DiJ*R77dZX7Fvd`W^ zICG|-p6Y2_j$*B(SSE_$#JTA?opI(gO6qTye%q=*e>R_JhG=VPsUgH0{PPm>c3RTbws(8qV#V? zHy%LaubMNs6N-iIf->}C7YdHJ>QCmw4ef4RRUBw24usghNe*Kn3JIqk!wqUa+tawZ zIPg!;;g3C7S}gE?hR{CYfj4=5FU{}ZvTx|`#)^j zes-m%E}ZDf8{_}6z9>62sa@!vA7hrO)%^M&5D49W(RC$`0Ko@b)vF+s za=K$mIXfzYMb-DwchE_(Joz#88_(Q!RDw!P$Xw-d; zzioYcuu?F2SmB&ZY-3v<=J$9oQP!+WiE9}$NFWNDhZ2HT@Z|vu^Jzwis8ApYWdLBa zh_M_DZ`fomMnFQ{snF+s*>-ty`ZPa3)XM*wYt1i5a3*&l4v$g__0rzW6>7txy-+Zq z&%b}8b*i~=t~L8Lzx=||s=wt-H(#caf00SxALG<49!++?$bCxW|(4ynO3`CaU6@Sx9$LJ`D z4?`47I)v$y^e)L^c=WJ?Ay@(tW0Xt4wsId=&0Y;DyFXtLK!8`qTX?Qk&3e9!TS1_d zwF80jC<5m!`%(ZdAV44>MSuVU!ia!8*9eS@A`r0MBycYkxCjp~#InMPT0;K z0nVLE8JFW0Taxk#Qjl zlFknaAf^iJIY|Nfe$Ly{nhFhwA#)ZWd8XUZJ|Ub-1kTPqszK!zoX%$p9FnwWcY)K{ zJC|`NI$qJ}{Bp3DIte*n#akK(vu6?fE@gWWOIX4y08?gj0XPD8n!rufa1AWr zBK{3gpSK7(A)><>sd3Mm2u(i0E#&{d$0+%CX|Z(2h$Wvz<=+v__-xN{ zxE0|{)54h*5l-8b5${77YxG94nj9&D-?>BvYfss{Vnl*)W&~5Ep{wbY&*&g(;lmRwu88ZaD9KsUZ94!2d8{GyjfL5eW<1j#E}swWD7DH(WEiZ<=0XH7AW)SB zoS%ogn*SrKwR5F585JB#AE%+-YXH%l8wYL%9&f)i4%{0yfSZsI+G>YO z9la#3fvxiat~MdKPd{S=PqXT$UL_O47nr|E3|1EajUCvkvwtO}c3c*p)@oL+ifmrRHM=bYO zTgXIAvFny(12c1S${)aW*%1OtJ2y_j+6}5VY!Cix7p8z}VYA-cfX-KE_64l)i?Q|h ziPVoebK~PHyB`z#*NUx_ctrCnZ2F^xpC&-VJZPtde=+A%e*;=7Kr5;z6xz2=$3|@I zQDT%6NnD33f{rkyU={-WP(ep-um`yw7{;EL{(Z99&--*Ei2uh=cFFvo`}1qdgiAMY zcGLM~xgV|eGa(XJ?ndWSv1%x+ZA(}+C75tIe!rcJpA5G}CK`7?ChnQ9a5CC=QE^g+ z?U0{V&06!`-?H6O7{OY|@`Lr|@9eX-u}Y8*bD+zR>c`>k`<*B7owqO2c>jbm*}ofZ z^sq}1B}(&*cf0pHt}(#R?n68lqJN*z0jsEhPcW0p<<^qJiU|Bc4)aaf z&uB@EoH{KMBl2Bj$)7bpL$coCX?5;Z1@r+yAPTa0U0IOLKH9g<_Zabd{$cwr;hzWc zAQEnF#J0TfUpXJkmHF6WnU5uOdqt#G&7apqM020WBx$Pr^UyN(8ai$zQPXAiw>niH zJLI!fA3I!mJ_j7)ut3a_g-%vP1;cCvb`n+AxuIUP4j3bx$d|uL zzA^#@4|GoAjo(M(_Mf|i3%pUz*TEcSo4tNN(RUc)VxaE5-?3s~VZND$}w!HoSo zpS;yJ+0Z9t2dL*Z4nREgR7duS1KI(Z!! z1E`Pf08}|2y&GVOhVH0+iT_iv>eF#* z7XMIqrsAv70L8pd=(Ip*3^-Dd9hQS*&@fLatH@LQhwF{!6hox&<`F?IfCCX_evE+r zE=)5!OR#QF#iud+(JzlPzIiPv@;?@zq8kJM>)m@ zv%`UBLHnMUvgTk$J}&08@1Ny~M9|;5Y7|WhBS$BGhR+Ahb`b#S2~|-UEkc^|H<`Efpjx?io2EGgA)IOM$BL$O6#R4t zt=^(qh~1+zGzc3Yd=JT>8F)|>`k9BHBwDY=kv>)~> z=h>wosSFfwp0Rn*HXI6RL$JB%7S%M2l&1nZ!9%O;e_3uz>=EAtvxB1sAK8nYMlWBY*Xaw}8GrU$U~>bxfu zI(hP`WW+$J39C}G&dX+%Wu$sJsZy%?=dZYaLHMB&xRctsy%3w82od(x+9~NYnt>OL zW?*YG8`|KY##U(n1pnhy2@e=}5hg8lcgdsG>QQezf_*m)59xc-_fk4qKk!y|KIxOcumZUMwB($!6YuLIxip*JXiZfeE z&p%gnNj7ULpT_a&F3w^qhfq}AtOp{>`pmCP7^RTRjpRMZ3`XiKO@SlK-gH$rZrRPb z8FGFJY~Ck5@S-?3Vho2%edY?H23j#+LB@~2fx$NA5e`tZt65uPJ-7JWOzKvN{~o>J zX=#HD|ML~h;KggI-+ct-lYBU%?k4n&*5+%=;aX% z!l90!XZsvZ71Drw(%Zf9$7|S1?lqGN-sUQ)^sF7SHhSCdur@ltgarapLI8E%1)QJq z0BnnAxM>og@PgLRvCY(Tm{O}84q=BmMpjVOPuUw=BS~wqJ+}W+*|-Ydx1_;w{ID{~ z?Dsf@uyam19WXeT@-NZ)@_=bL%j~P`<4@KXtbq3A=*e_R!fSN)m2b0I*uT~qD>9q0 ze-WuQOgy0=DD9`xzMu=dUE6@D9P`>@07lz(p%lIG`aMKSzQbN|ei!b+zF+QXTuPy1 zS;&*xqt7fLcvpqFg?%0~O6acorcR5ZD}qy1rW_IeX98W7K2Y{(rXNDM0`Z*@IWg1 z!`zLKHeW}xGcxnSlDazRZH*&KN2Co8+|XLq??c6+731lP{NDZsG+8CKGZ%eV2i#?% zi*7hyktos@B{v}(>Jd?D47YRpmpj~z>%D=U@UI@S&s&3*VAr4*2ZR=LKkMuKZQPs; z{or+OpM>#CWs&iM&qvs52&3=;)W{ZUG$2(D6r8mSxAg(gpjRDe0I_395iBooS|C4E zH6DJ0UTsxUZ;52FaVu!FJN4>7`(FMbI}*;K#AVZ zmcsv+i78X%GNmM-h_I+8K)t}7P<;!-qh<|Bs@KewX{^Jlcafvt^>9oBeh9$!f= zT0>=MUnKL4GSX-?wH)27^P}IR=l76K=s28vTA~kv#rhfcZ|kFAtN%$p_b@$J=M^*e z6pwS@>P;4W<!Vdd?e>wVQuT%65eg5<4+b!CH4vAXu@rvdxh^Ozwru6+)9DN5X+Gb+V znwaf&e(FnC$KZmJit@vA-N6T7UJuPRUwI^s)XeWsTAMz0C`INwaNCT`7dJ=JF7v~a zobN#UuL|r?_Fvm}5&KWZC+NQ{JsQYp2J;l7Sd9HAZw=dZ569Yn_tO5mD`Nlo&Vjw~ zX8-qT!r5z|gz*9ss0?m_a%m6~G7}hG#(E(KdW02od@`4Os!T;01c6T-`!V$OQ*sq+ zF$??Ck#*w|OnGhlaPpnG=MwRumaW{L00c!0Y1x1wQL{b(XsoxA*GghKB8r_lQRs`8VgV_cZ-}@K$D2ZO0crUyx(w$JEuE_?aaIWA8S_v zA61d`6Ce_mFabFt>KZj_@C+)Nh-jjqGdPjp83os}vfuji$K<`&M|D+obyanBwW93N z`aK8Z4H9KA*kcU%@jn$`BarPD3v?m_I(b6rLMq8|0|fktf1ms?=8_*gqHF;^2_A^6 zGqMr8&08dTZ&FS);6#ML&*wFOKAcED0>Xk9{@p3|lD40W@|1f7G;oKBWk!mW)HDPz z_Oz-yIh;yZJ`AH9gN~@!&lANbdLgapDZ}z$+o~LbUjuzR`s^Ga$_zsd`xuq3j_u8vc7`tO|M#G%D zUX5L>Aewj?#D4H57`v~$rFtwr(Adpd1d6J$`x;OLWB29_$_jiGV;8=&tkdRi0`I5< z_la>g@ba$d(ch!hc_WsmnaiYA$J#=>Z!UD(YTa852Y^qjA8rjL3r(v7Xe{lipf)o;f5tW}=6H!&EL zYkGez_P^&418Rr>2^HA?5MU2s9bLplf!~BWG+6j5dXTvoo2D$m*H&TY7nn=1+ec9Q z9wOQ|Y+=W}a7g3unD)(a!{hvZ?|-6tBY-()!VcP3X6PlVe>b9GWJ|8_2E8NPRTSm= z^@VQ-xR<4tuEKe;#F+L^ki>Q?Jd`o}2GHSyH#s(IpUaKKWiU|k7g%E4D^>`IFNv;bURIw`DDnt$D@c;cM9k@ZH##d);bw!#^Tx@>X^NWHf1K zTiyks7tB^dE8=Lixt0@Ww(FoQE?}zN`?w`a?>11@3B{}$$PfdXP!^HU z=BNN3{SPo049l(99~Q&%w!VSkymaIvRe-o3UdffPU~M!Fv<8Wl(7#WBzuWJ z{y+@G{BR|}h51$>+eltmWbGbU0sp1gWYfs5K?Ge66>@ml1;Qg1mD~Jt?9Rb-Jv9;hHfQMQ=l2AF*(pop#( zm)r@I77TV#%JyylGAX;?g-ID6nJ_7J{`Y$`9<7o0;0BD_UbFcl7h!-Fe*!!vDS%In zzcS(v;JEl(e--dIdzj*{J22-xLAN8Wru|wgH!*@Uy+l%(d1(_BAEY@VLSQU&*`yZ` z9Tory_oA_|%>3~{aj5T4$2;z-2gd*f$6uf*;OGmTJ&v3|V(<^$o-lZG&g_J7cZ<1H z;)k#2tFE(S2PeweCx8;hoXtGmq{%5H(*sUy>fOD)Av)=~|5~)N+MdhrF&Zb;A#<>3 zW@gsxJkC9!4;XU^W0P5fNrh3lPPOO$ngHA#tpEo|Ret^wqfh=B6?a^7M(!OaVN?3x z;o&oKJ@s}a{%IXDi)NEmYwdB`4T*2gD6Z;pMn!c62zbdhlAH0EX@6>6mI`@oCRX{|eoU0K3#Kx`DTHelL znb={qwGSHPk9-dbg45E|7o&Ih4`Q%CyDFhKX09{0z40hi6Z{qV++kzx4;yvPOmG&N ziC=}$QaG@__R~#>Z%Fq{KAP(S9CY%kEQkkju03y8Y4qVF>(*iwKELYU(_2 zH-r|6%+H$Lxm6Qt=Xb0@nu3` zfxz_>;IO)2M>Xof{>yaP>co>MQVw+2O>GT2AgsM-a%c2p;X}aD_vj9=RYC@fc&w0r zD`gj_MnReSdzzABR(3DjK!Zj0Be(?^%DO{d!00liy@9Jx)=|S)+VP@0Q9~I&z5jLE z+9WKOYra~C zv@*qEMrNBuui6<-TQECvNh`}2{JUVJax4luEj0qZ&0G`%i#s|T)l|gplFe~+iG|-kfiuSOT_8#EjEH-x|H%71=E;A#9q`J@L4-P7X z5mt2!yu+9R>v8Am_{Ce&{tj7yD&709>ylog*@c-h6#0+94HFj;f0WD=D!u+9qnY6g{729HTe&YI~v3?BTVu&9pkJSW| z2KW?Bwm93od?f0IvIY*-=>(A@>R-mcU%}Kk9ld!&DDP}ra(+*ie4}1xIOn^a*KrsE zzjOXgBMvbN++U*o{O1bo2N1~mo6)`;JEVQwe!y}d+ApTB_99Czk@oq^&Jh0;hpZHT z>iTsznu+OW5|79mrZIHTY!v00=u6EU$ar#%<+Atn%owP?= zk2`I#srJ>r7+9*mSvz76&~Dln%^~@Ua8wMm^JC3n3?rm9mt)gRrz4a<%Xt_?I9KRG z1sAHEYqj`;C4vZeT9to;AA^6-u)W3e@5Z_W@|fU@ma`%gIUV5+$&^c^S`m=SU-Qtg z%U=|yJWKf}_Le*b2RoQ*C5OvUHdsEgQveKrp_E|3zdV=zndw@p>XJlm)Kd8z-i==1E_v`Ns8v#GOn2R*g`y(fy&Ey&M}h1!cdgfx;Zlrgxx z8+9etL~5k~dUMYwu>EFT|9HKZB4SYu7r#n8bJuDNe{1LEHKKZY)m^mW&gU~-ZtWOq zIZsXjVvP);gj>UDfu{|+^8^0y%7W*tkA0TGKEDf?zU)%CPDeg1I#{NLk7QN7_Z8X# zmKf`DDvvp8$UEZGS$cpi4Hpb1SXNcdH?h*0ZfOk<|EdPE36v`o%GrShoq_Fa|HpMC zAQlY&d&N5GLK%4fQr&U1xHm3S-ezzgXB+1Dhn#7yVj1TD{dX|I+N11xTL@&$H>CWWpxlXkk4>-f%XEC8#H6!vj45=lOaXKGa}TscPlnDSGY&gP6BiMATo32N z17g)#`zoZdQl<`-=p4-<)bycG$PaZ_B1{Z|q;vc|; zIiiRw&u+n$pnuFTQ;(!$V5)Y5X191W(DEsMP67j;XQsC`X3J29NaJLYUy-SdgL4@a{;3%KZ&|MNH%qy< zgt*cQ%hRk9S8kv!=Mn$#LHvlQ&Rk+o`UCb5XL$us(D$24+yEEcCwO6Y^tJ>BB7jK@ z^9aS9sY^l`-V0?J(1wsh!haa@ZEeQgNf)1l z?cxnp$NP}esuaocK8@S>I3FOIHP?b$HHu5*$7tb_i%-f9Ykrs{xnqucIt5W~cZE)z z9xL(()KU^n!9wB49|!@`bqarxc*;}zc{hC%#v7MHVoukdZ9l!{7XI@ATDZY|)5*SR zjISO>{SKbm8@p=hrEcjaIB(efG`<0?JJSl|LoO&2?Eyd4PeNbs#9g~vAg(62AP9sN zX2w_G0~X1&Xctu2in8A#H=t+o$+(|}WoN~g<%5(xkY!!@=hV5Xlh$cs9l^%}iOIk& ziL}DJugj3~3C(We3q6Q}^93l}-ShDLx@A>2U@@APw-qy+tio!tf2V$M#u`XPM&_Xi z!xWlXG?Z~}9rF`Wm z5}cxTKF^laHfJi5{*Ztq3rq|}(#f7E>hKC|BX0^6nT_67@RN;U0snLd)viTM2eFaE zp$dM^v~P0VH_uV2!*C1urhXasN3vGj!-F(+dHGrjEj7bk$Tx*}BkPy6R&L)GyR9we zUnu8w-<)FKl;PK%UUq&=Bb89P+%3J2eN*AS8AWD+ RL5BslGpQ`>b4Wa|9D^DL| zb=~SVjXwskhU-6xV4V>E2?jZZ&7-kw*1|LAJfC^!pU(mio+S+ho@LhIIp2PlnT6*9 z`z(S1&xQ86!M0aypBwG7*FG<`&t>*mW*zF6+vj!sj!C35=H9#tz6V>3u;0o2gtyW@ z3*+N?jD2pl-)ro%@EO`u_QLr29_@wgcQOmxn`WPdQSdy|J`0=Rd6s<^hQRY{_F0I6 z=LY*s_F#LB_E{JM&r9vIumzr*>@%5y<=5F~VFWyHvd_W>cs6*h?cd`WIstJjA@m3t zD0FztQ795eD$>~B6v^~d?VgvJa%$1_JA#UVO%`Qu|zU2efuzX-p#k|w-RGYtJ} zJ-pz#Qr=D3w!Y{~?hn2R=aH)8b$UN>C}WEc7DT&82m;*7aO}cydCk-Anp(^?HQUUW zJ=dvHNjK}DmArf!eVFsHSUa*#0l1g|FM1BO@{|NS9ru}d6a{RV`e30?S`e!MQ z|1H%i_~`ck@~N$ipZ&`k5!;41{&(nq?q7BMmF&M<`@f$3-;Gnw#6LdB_-DG~XDN=~ z_RmMR|KnQe|HHNDU(C!{|J8-Se?Qy*81`SG{ckys?j4{4*)^z%W)484UVgxkgR*s#RLljlG7|Cd~_i> zycI~6uK^}-q!3fboeJOn4UqJ)kW8_VR4ODJ&IK}ld{Cj#Z-nAPLV^41vH?0( z(nz^rgicP4jJ|~8utX?sA42&w{WZnLObf;o1!Dlf5dIiyLDBC7rQrz|BPwCj3Z)Tupq#=8=I+A z5%}nWaZ742Om{+&n+V1FlgJ<8=jv zk1i;i3sPdl+_Q?Q1MQJ6ESv=m+2~qVxm)eGYyyFA`3*1xC+N2e`HhMmSA13U2C$U7 zexD}m8TZGatD{gajwqDX?rCm*K|NqStOo^r$dLziu<$vX�G=Ul>BHSBmINe#*7= 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 z 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ⅆ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 z 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
    _%GKS)e-pf zlfu6@8WQ>PjF`|ouo^UfWkoF9qkiM1dGsLzYYcozmg?N+$u+I336da>TcRIqed#QF zKG2D@9tZIxlyIN3g>ydPWH5m9$Qc?Fb?4HDH&u3prrIgm*?;Eim1&&FWBrRD zUN4UUBGlDRdP47jxZ-PoID#N9eboW6s|B$kG6t&G1#^;sIo<_R;OlF~*Ev6_AK}Yn zC25@507prEfK?0-CIe;fE_b>S{+zz2rN$ihJf%kI<^@ZCTmRj`{}Q&39j6%$!0zK8 zX;44mp~}VR&^hSG_~*Al z3I3&)zb$`UPxyvt{up4u%ZUR|t(s~fyX^B=$W8=gYSHp>IA2r^bU<^%OX|`+yuu)c zGIE`Fp!{_=;wPbwT#E|_+=L5(-|Cla3%?{s0$>bY2=kReBfb(>@x&kCDt2ElLy2IB z9=}%{(lzzAL-{aCC-vooxt|j9J(|!tZb<(_4E>z`OFZ!#Q1UmH(^+vt*9Q8Bnt+Wv zU@5?%c5`6x(CAnT4JSm}nTY;D;1ZbrOqd`awx!Vs6P&5 zH=@>s|3+q6N+#7GUi=d1_m{QQ95M8JtI;B%^t*`$YT~ zCGgK%FK<2m20pDdEPP{}1_ilz_>$`%kuT^UZQpo&7$yI6l=@atECOq>H~6!C*UGDt zaqt9JKOu?`d-yl5$S0F8>Hic`iTPtz(ypN%32k z=S4U-VYvngnPDpYQVcYnxy>_~UbsAS8!BqTSRnM7DC1Y{jGw@FmVqzd!dFiCirIPz zdE#(^uNd%^fMWe-eFkj}f`td&5$Tj#7+j7chKhpku~1ZcFQHyOK>Y#*pFD&UP*r*& zl#v?@fB^xpjsQl+TB9QHS^H<<^Vd!0JjR6)v%6Bp;L8Z@!Cq*CO(10|YWv-Q^Y7Z=6r>j<-u!+2+ampI+$wb*P@C&Ek0)1A)Jvp|9g#i2s7jOi+_1 zQ20;%eMf-`o|AfTfu)^Vu}h5p(cWB~|8ksZKi7_*Xxja~?T7lU`_zuwO3d0-=M3o$ zi}Nbq?d>Y3w+G2H`8fXy$4|CpU#*5 zZ}}5P+3E8=ONsRme}*h(u)1LeS2YT7kFMw$Y_c`}=MAJ4rUe~Nf&2#89E5p!<`LUa~Q2jk70csM< zUzcV?RQM;d3C}(J5`P(^f40~7KD5#u-}!SLxYzo(ZhS{yW#qry@?Sam?^MHoWIN%% zV#|M}^K&R9{g8I{wqWF(yPlQJLS1Ap(*D5O`t7@gzn@5dz=N<=ZV)g|*|N*CWFKGI^yMkeK`f%`#^gmWdPzQXVD|{@DKXKmH@3|B+vS z{=0wT(Epa_EGFuebi*vaQu<%?u>n_zB≻U`}L^U?*}|$wJ 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�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 !)=kS+MvG_|iZ}FE5 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%0Do@#^&PV@+^UoFVkjYJ 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

    GD+s z7P`u}!u+ZPE?UmVaJ~_IlE5l{zfyT1K;?Zcz1S|z$;&Ub(SO>N$MDiWGzYpva~RsW zhePv)Uvy};sA+~KRysw}8OrC-JRciwU_;l;kY=wXu-jK(YkY`Z<5<}$)n9`!e)fF* zsfDM%KGWkjuhMs4ZM~cOk{@3ytbKyOW34i2FZ;#2z5bNVF?O}SbJKKb?`8szcs$Zn z-+64vJ4f-LW*uY3|Cju%JzGE3NYQStpY}`}19$C5O|_LAR`|XtGRbFb(*AC@k83Oa z-~XO1BL!Aao=;xH^E2a-b<>0w-w{~6sJ%w`zdwP6-uAVieQ}&-6IAdW`_VdHe&SaeY|GD+G_@V##`r2<(rL(sa$YRBR zVSVk~%f*l0I9k1ID0y99n|vXB|E845guT8tzZ?#-S%m4N^^JM;g~0axQbe#HftK6V z`r0iM#LvI(L9GGIJhMe0P1(-0%cOEqw{kssiy_Y54_gzH)cV>nsmdiHW2?I}GUMCV zOx=w~M!qhrP7s*pEc`;MzKFoBy2PP3VZgfD<$ryBZC&-?`dY7zR4Y;EhrL|2Vq9># z*5$5J@z&QyPmy+yAu#Qpy;|Bmhrr-oR@^H#uDd>ak^SswEjPw1Ckh1nBWCXH>5okj zxpW-BaQ!i9T^jvS>H3=ceVt=d>uaiPhh>T`#r}g;Y(5q~mI!=IW;-UoQ)fPIS@YV1f@XI7kK3DMk^Xo@xBAy&WDE2AWFLeD-9ug$oU6FLb|+pa@vTew=F;hC6P%n%zjWiRug%IV22F;zHeD>ExU8H5Jg^Fth+I^J zv8+pE?jjT3g@S)M-ABq~T&o7vvg%c-{$~WH`aoCxOvHCD0uOCM3~syN2Ny{iU^!^Z z#dxXQZ0FafMf+?VrIq9T)cm+ZW|4EE);@lp7T|L%@B(2Xvgjv75V%humeA4W#Tp)s z+qF+bKFUQ%<}{Qv`sj9Ffp}!cBx&C71YSGhkrP)*^G+i0&>CyFu$rfsbb*Wk0TUm< z{Ng42jFx^3DXV0D@h{9T2H%LeMLqXKw88n1U#>(PD<1p^JPz;O@9q>dSr)7Md5gb0 zwpf(pL=WB2Myua8Q2i@EmFizb;8h>{pA=mfKyQ6Tc(9GYD&1U5pJ10plNuddn7FoT z?C%Bbigy+lM%#ZFYyI2c^^!f$Nb|6VS+kOXS(puRIZHw%TqWcFm!0@-L5tM|Ws98G zo~QD0KN_*1eHKchJ^h%mcq`K0s;*bJ?cP88Xo$md+jK%Cb0Mk|20f@oyp^;i__5)@ zSXsBMc4htU{{zE3HU8g6Iy7##Scdq%>ma9PLbv|31|TimW> z?cEZSSlVv++Wf!gLMR(|JmklYO_CjIe#AcNJ3Dz0=s{X)y(}GFo51Smj-QCMoJnBN zuqdd2Gx6^}sK^rM3g%)c>S3VF94A`h2FExPb0cma;UZeP4S#LaHa7BR<^MgKJy6hkPTxVY42&M=fF3|N#`M73_o4^7KW7P!^uQ+x0-ex-(`A(tWqp3xsu0!}l;vfeQPywBADlab{R5B}1i@-s1Z2e_+|;|B?K-#dZF3|Gm|V z(lt2*;z;eG|Ne|>>PqeFw4^^j?!j}>xry4xm#O!hXZ-i;3qt+(>i1aw`|uZ}z9R^X zuirba{{@OUPpc98{4Q&5?+c{FXt|RnTPvgHoTN753Cx>xzk@DZK8Rk_k z5xIQ`%H*Jov6uO&yYa{e6Qt@N5}2yj(5lz8sxJO}Hcz(J=s>`K-w&>aMB?Z;MR#?6 zsOHE0L+9@_+|gUCPBFQl-@jR-hNj7HA)3Q-9{@AAOB8%?YUiLh;AGf&>uhXbCLQ1O5gmy*c+npNGGjt%&RZ#P~Q(l z`1%p3@a;-}-14x_|4SXx;riphpI^Ifi%)ITD9P>h1=R-T|G&6uqw@Lx)6(uS z1g71y7fZY65E$IcihISzb=PMvvY#ET<;HmBy!rn&FimyFrmb@6IDp|QW6}zg2vZrA z&i~!>r|z!t59j}gMmF>R3g=HPgps!A|7p*kdIae$2n&v z=)31ny^Kr72e?!hYq~kV>6Td8`|hbSu_nL764e_Nlzr=D)O1x(y7Q;HoA|&k&Y!w% zya>lY0uw%V;{)Ttl#20zEhav&LgE7((c)dl2fXvAdP@FFXLLRCUy1`RLiQP!|B~7v z*kQ2DsG<7?fD3#<=61z=ChxQwmGXnOmD^k^VS8h4jIQ~n#j z5C1z_C+nY|3$vJWhtVR55EwF=2(f$+W@;b34<;fJLXvNDNMDj6>Y)mZ`o z{#iA#MvN|oCjN9KH8Ga2+5R3s2Gp@HBjRN#it`Vo6f+{~yBQJnV~F3)X15`**FAX- zlV#(PFCUXm_=>>eHqJkIPdZ^A0t@}~yMo?CV4=qGt;{E1X}E$6m~47{}|y+IOHAYb>&QF;9BXoL@0k7`A)qEcI}T z0%RfE8T+I5pgb%`C>-<&dr;1=7`LIa{@b`hef9oQs>1mdss4LF&#*moob=ye1Xhon zIbS-e6M=<3LDAU(^r}aN$Y%sr={j2a0AFeJU+bT}{=4a?@c#QBJins5KVX>OByfI3 z!;Q-P$?Q2{{@CT}$TayOzA~65aYo{(?xKs1lVw4VXYIOeA7WqNGh>HIQ^PB&Fb-q%UDy|dr zADpi={b7-b83g9=64!qj0WquSzq~|U#5JEdF8;mqmFl)fFDGihe4B6fl86+wvHTbB zWF%);U$L%Q9r0hf(F^*polxl=q_XsI%ZPha=)bhJ3Bf|ld`Q|pi@>xU=ymVNc=(RM zLmSV-WeO~1p1M-24+xR<1Xk(8wRB^`p9WQazS945 z@w>%4s_FTD|H1zFR`*MH<*8H7KCt3CN|qK;9h@I1avBa;&v6kd#yw)#l)L^77&7!?QCl!mFrsMGa`w|Tc^WF@Q@rD z2`m18gI77Mm%ofMZBWKoi2T%D#Q*P;s((mes$N5@Uel_&7=~2)9wh${x!s25hmce8XW}q2>>+SW96ns`Q-ah z)uY26;GVRyx%qRPY8{bKGioOSSl(W~TG8PT$xBD;8KsHZ6Q0uTe9VuK?@OHzk`T{r z$=e&@LGI=o!&fFEhu+Bb;kW1yxK&4jf!6jhp@wH3Y3M#P%}|-pKrsDlD$PR>-H_L; zHwAjvGwqX?9mVZuiOA#|@UjhWR{F9*2e~inpwA5EGt(=7X54|M0=@8%)G2ZR{A4-b zSt|CJ!Pm|(MOPbCgZ&NaFoZhg>0_`z&b9B_unWzdX8W4L4;fUO8V0q}pgN&@%=4|c zM28-M-?6f(nf0ZcDhrYR_^Yek_eBbm#DADS^*snP^FyAms#^q?3C`^_rcjOM7QyF$ zl@zM;;xhiuCm1rH!s;Dar$2m0)?J6UsU-5XrL7<(yNZv#lkBeh17~G626avjCbtwV zntwgD=tx0xgk-VRiOA89dt06Kp5`dP=dOQ^_}p4Axb_}J$xl$CTdoTwTDBV2qq!*P z0MU89(-3uPD#fS6DUL2cHFe)#fZ{D_DNa9G8s06O;+9sP5%E)G|2hrRQthQwf4?@g z<>N-7<;RD$e9_gZmdp3OJbpU+E6EArBqvox({-DnzoO0ni{w1Jhj6~aNz(T7!bvts zTgxNUk#w$AihG4qJYZZpFjjiW3Z!Ib_Pl$Pq8 z6Q$)Bhf{t0(RB4}YEcaI&rM2lpKy|!=Ygc2?B}njv+~L`O-KAkNlv{cwCyv0L)&vh z+U}I3Bk3$^A?>~*oZpbPBaQr!z-vuB646HP?Qf)bfyaIh_L>+r(gJtn zMN6JR9VGvw1Q*d#e&iy2NkS6D^h+3W{Hq;4 z%$4eB3K@y7=KMKJMj5}mr>bD`d81_ZYliq&cBL|tPO;$GX03Qvwydf2f8d

    s3uNr->p^qB1L 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

    iGR3GL`q^%h8%AA*`diTqyDl_-yo3 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%0ASuN}pBX06r<@&6kj~fhy6;G+-tp3@ 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

    ;*R(b5OJ1!j>DOayMeSNyKV2Dv=*-NXdkkF( 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

    96#_HYkWo&VG5&r9|GJFG*ME#c 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%0D)ye5g?HKIwf{S{cG%!{@j6 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%0DJf_6eGu7s&3UK#mOnIZ#U< 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�_mYsz?xhNm_V}IFtT&qc)<0Nh81h9p=?c{Yy?43 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%0AP;kkEXCEj`NX*qp4^(1a-=|WB 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 ^f$r_CICz0;@!J#d5Z-F@{B~cz8k1S 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 z znWv*O$oymcOvJ_9k1?}KfS*Pw4y~VtFDKmeDzFAsB+`PN96BtBIeLx2wj%&-I)QWt zxSI_)@L&8&m`2=dHldx~BdO$3yJLLAtBd-4AHMnrQD;c<$@j&+DeC?`KSuJ?`;q0p z92@EUZ6wyLV{z3dUI{*5g73YBXMPJ9c7F?|Hv1J07Mxug!AY<k2DAo>o+~rnqW((YlZEQR6`^-zY5KUOsMF{8BtqlhycihWA~O zn1R{AWs(^v={GBFX?M~XjGQn7=T8A6+p#5}Jfctr2BBo_8BJT7AA~~v*eNxj^A*r< zR|SUi?%CI-Ej=;_$b0*WRKpSY3TROf&_!QkUWe8JG}{FPQndbykRpSHoi3_RUw0EJ zG?;~7jdRp-`n~;G%n(;FGX{Tk7ZgtiJMacEcwMg4nZXv(PGYxFi8neTG*~6KX6KZ1 zbdW;oX0Z94)xcqYxn_zGl*ZlPz4tG7rjBN7o=3BRxCt(XPWs(jlGGp?>hnJ`rK4Eb z!D31`zA00>iG^QXwH0jU-O9Zf`1Alit`e#E8T{4(oNDB=&s*W^`1QSTB{%AV>zaY< zmKRoRoL01MV=+!6D{lE>VfoMHi4bOg5#^1Up4a%9*g~j0E ztKVP~s_{tocO$Vgb{Ih`>ilMLlXWni_@;E_*D$IO@)~J6q+3OP(|2xZk~Timo4w_T z9Ys}5vAZpMP!�t?HMZ&k-9%x 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

      )fRM$nLY*~>L$AoAxf5xXtk`ks24rV`3v9 zUWAVQ*0J<0%OGCtKii=eKX`$+-WVee)ta+@5QaRT=hT!)g-~Pms_S{f1w>Qem_~2129w5J2Nk_>q zu<}Y^`om{< za97-dE+20FVMXY9w22v7tg&+OVN()#9!$RJJkH8G7FWOPVb2#k7gvW4kcn1>P6SF& zK{+WF%Cbp-avB*LbU=~yiJZ8AhAKdx=f_U_1A0DqWEb{_(+ zy?061er954^JajZ=2Dm@`bA~Sp8#yJdC`G0qUnR2WqWellT=by|Mq0C8ys zFl+_pnl1bcTezeOWxE?xP$!?t6Meabchjb(m^-nODv{|Z{dt{1GLBt}_NWYb0zY&> z4G7A|ORwfKvC$8>x~pFGi0+ll*7knE*(+W)h+f?~!(H)cLmiU7e89e7My?p^}b1r3K zXDf$0o|`3X=G?8j@i%wH!-ww%CXTVI1KlWv+?luBrn-Uq0%E)I-d)PgU5M*%g(dA& zFR+jk>4XuwnR|W$uKkxuCk`;Nu?@KHyi+>y4<>fD>cm2BVStyJk2JnZ89NUp;<=RN zSOst{sK-1z{L4956R$A>Iqr%zaEOQV8n1=6IK2kfPnv6Y-$K z;+t*zIn72uUQOvT@{i6y5T(4asy?ULAjefv&(R}Gu0TVl0+31ek zcA~~E%1pO_FwwtrMrWt+rw4Lk40Zig#fKS)h@)e`#>+VqI z<;Tahc{xi>L15vChe2Q7qc}=K22589$6ioB94W`Tp?8)h!^w=mba4AwKZVi=Y9EchHl$ z$rBudCwyN*_KaYO68Efh!2PAQ?ur*sm|xDogzLy)3s`rqU3&drN_>KE*m3OE-c~>$ zZ-gG9y|;OY^^dW_@%NZGvh(K&$1h~!$nLMQ&xy&NrGS*h07+G)yEscDWCLHIe`!yt zyLC1p)d7Bzderd+Zgh@sl4~l+$2d`brDKCD?XSLH=ThwI(e}3*1Y-cSUQ%nP{=D=Z z^80?-vV!=&qg;4*fb>LQZ{j5u&Bfx}DuQU)-Usk2%Jy=PoHMpR1-}`?&+0D`es|k^ zasLyxGCd3cVvB#kVIr0Fsg;$6VF{yrcR3eu@YJHDUj2Pm;nNX0i!E=32YS~@jqW!h z{d-eBu;b_qT7T{~I+hO*l1W%WsFL*q3D04_g*=eXc^{)atO{_KJW0q!6e!ddJcic5 zzRGZ9my}`L6?ARx1OI;KEc$m1MHiP1^jHM>8f{w82635oQ-F%n4(tDqh)&{*GbtRG zdi;4Qp=;5GIF4gSi`2TASoh#)$59Prum{=cIIdvFfd2ekJh&?cKqnjV7s`LhJoB

      uIqUpEnn8xSa>A=Q`t(`BWqeNa2RFm) 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 URJQM4$m5;_@Jznz`cRl2@=`0elX}{pv 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

      +t~i~Pewe230M!XPJd0C^ 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

      hW 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 S?{fG9D0z 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 H|; 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 z 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

      p5s0_Vo()&o>W> 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

      &ZSU@3z~=V1u4% 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� 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%0AyIT4X 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%0Af1M_2pc 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Ƒ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%0AemOZ(D}iEUS3g))Pa48fzTI0g_~Zhp6_{IJ?w1 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 {PrQg``}NYyKc#t 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�XA`wo>W-=4&hfF&4%AcbSVYD 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

      }M0N5KatDcJ0H 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�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

      wzyg`R8DeX;d6(9|~c; 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≤&I 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%0A+>w#BXS%nh_AM$v`>^Y|Q;Ri3_&N_JWsu1ci=y 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

      UKxs3bD{R3Xw;Q<2LOL5yQbZ( z4-4!}QI#ADv0Ri=zO01;VRz{JWGw^=-)`la{aUsl^oKc;4Tfjm?cy}x;x!t(K`=aT zpzR0mLyTBAoa;-U{TTh#nmbpC6-THq$+c&mnxsnVlHNi0BXtFg9%JQY-z8V8==rRf zR-N;}$B$eEH5q$yaDF^9>sI39hbRDddrfN2vTORg`iMatkhh??AP~5b2K32CpF*NP;-sZUte?DC^UJtxs;ld)+cb3oTQtLqRNIO zc9>of)~QCd`OVU@eqIVh zP{zv3R-?_@vVBV`WyhVz(ey=EDTbVc)A!XKWs50@cFWFyMrfusHU|6j*0kMQy8}kO zXl`pBe`s7GSgR=Y30JMW!_+rZg;VdVyCLII2G?nuKGKEh>`_~T3IbK|EmL^%s??0a zZDV1-w;d^^E@m*k5!|uOpyX-=J?}i{+^sw&kz7$WzH#(`U5-_=_Q`?L0qcclFVx^4 z6WoaNT$P!|a~X|-zh9|Y*Zmxqw)4ZY*Idng>uN4tvYMkm_fL-916=nUv%?F5&;RQN zLTqfNgBkEh&&lR)Uc(y#v+HTTkQ~PZ3X+sp+R%^<^sXetZ%AN-iNTd5U3GQiGwP`! z^Y5LUF9U&XRCqROeel9Bbq2%_YGCc}8>(JSrhUWPH4K0Br9V0F;egqesYb@gy&IO= zXzUT#$3t^W31$u4eEY+&D&pa^XIybUJ}1EmH$u#TST79&t!$91)XjFJ+2PTPY&V>P zxKeEf!V@Pu1G#TxL6v98Fvi+IADkVaCsP)qNv5j1w!i%L;BRk#>(-oWc%}+G-i#M! zr|1@&2A(&^F&)Lev4*y{^Wno~GupU(1 zd`0DK0c&CXD(>XK6lX!bYI)(V?U6MN9N6W)+kV7aeaFiNWz=vUX{`R+H5u)F)P}Y- zrue;?^#q@7Q~K?a-T!pAyceL59bQUi=d;S$5|+D5{(Cyj{2#+&D0k+wZE|fwZBW_g zDGZ&Hk;m2>v~4O5JVnfCZ6vFe0>qz|_RhVtbO{icmUh-l>D4_QSI-iE!1+wFW*zgC z{dr9OpN2#VavKg9m-RdTouz$PLY_qRA4W3qX=6V4Br}{Yv7cQtfIf))W8IEEDhOtt zZ4vE;{YPJ)GvCKdE@1z!?SDM&WUpU3xp$1JhK%#l-rJZrVPYXw zESxVviV9AsoUD&h12FK=x{ldS?@s|}jUD18GxYOnBHE7v_3n-D3z%~M;LPoUWIBua zmIPYtO-yvcB0kzz^xuQ$rjbeqM->CYgMn3=@%BfLrJo*s`S$jbfHe8RguLK?EFfX~ zBYS1+%h~eJq=CH(8fJZc-E) zGK0IvJ^O7R&CXujd+b*ur?Ld&SXUh!S%ffx%X~FkN5<8ImuxP7wfh0a(gu4+((cY* zM`;FC)h0pH;Qts|vkT#Bph2?cWM`|y10-2Za0XodMAg0|WI-EPTa6jG?yOCR%YXKf{*U_yQc61t9Rl8tk6Q-4X!B-vCg8iF{7Bzxu7{HD@e z22Y;94Qg1q%Y-(~Z~csEKEf`P8T`H9B#@tu%s6A>+*?&0`9Q+E22~nnc1)%H%2@l= z`Ykec|8z5ITJio*$>3&OmRvt=WFIw^Z%a_9o#>c5z_iX(?Ku%Q411gJa0-p&%DGqm zC@e88z#u!ehFnW~zby*~yRjl$Oz$2`uf!N6S*1N`m*=NlnsYzLd|m!|)$aZFi$y$& z@a5a^YLe$8D~EIG$kRxIPX4XaeaNRfGJ9(32NR{}@brWYI=kBf)bU0sC4tlf$WX{md8SUFiq{Ddy zVV}cd2RNPAM{)?SD&SJ$M1Ao5Ibn(hsVI^PhZ$2a9Pf6_S>+jF(KEMieKbZwc&3I1 z>PprOz;Hw)0dG5T%To$`OaRjE(SH=?z*sGn;F9sEnp7gA;jr3id$FKq@lj!L__2%xTwwv&THF=6+br! zk~|Pa@cTETHc-rJ*P{xiHlQe7ZH`) zpxP}-Th8~7zBR6GXOgVNjCIJp!R#H6zx@%JU&skzm{rGx`sF$w#4vKsRO;&W{ev-3Qr={13r|T>v#`T ze}(36eboJN7-RIo>oPjT?EL$=ghdNGEQa@#w}-YpC4KlI?qZuc zBU`OM4zRiMH`>_>Yo-oPQeTeb#0WHy!AKrFw^ie!-_4aJ9Z0UXQR_*6(!L|*&9^#K z9?rLdc^}B(S1Ml4b>!kGT_qQ9B)N>+gqj-cK^G`&iE6LpRZkeD%Q7f``oh@y=*_`0 zpzL=o$KKIjP6P+@?0;(8aqi3A_`?A2nfa(5HDNyZ@g?RO&?T>DS_ZDpjqs<0tz^fv zHXRp_29L4i{6edsDMeFQd%xTZ-9Deac?^7pZSu(pfkhYhm&e4u-n^BSGv5H-Pe@&V zxQiY5wKBFJfSiv}bCCJBv!7Z<~^^TIeI!Q?=}~ z?d+Jz)!J`Lze^Q#(0q(-<6>9}`2p&Z>9IDbl_K>S)OaMTFO_q|O2mEd%HV?Xn)wH%S#=S*ze_l>m<& zW4uKrA04;>Yucs zGYH*Kx{+$-IiZu%+P8gBolr)0UFk6cdh2(tF~)5LBwaXfxj~u%0Dza7dIS1c(bH|l zdgWq~)e!dp0|%D*PE@e%hhu5&YQv1#MWRgTgxor2o8|^-DZ8RBD?H|PIwS<|o92XU zwU^S_p;|ge&30t(cSTcgE^U>sl+Lknv~?@JXW`EqIbR`2B;=XED*zJrJSKseWxjwR8qWJQppY}*22cjy<*8<>W8>V%zm*)ZY0E4q}ml8yJ3 zw%aG;=5cekq}psjK~TqZ>}$6trX8j>Tni}8?b08ItSs{K}Z8Pp2l zj>^YfrMFbX;omQ3+_=KPo!HZUSa=PVI|Pw8-C?!u5#(Lk-fKJBnzr|_cKqG8_wc}x z&th}iBMiK>y)KP<>-Vkyo3@o3bzR%ccLtVyDb(hi$G(X$u*wr3E>FYgeS@{W-REa2 zIIc09&{ZV)SbC78x`@`4eh6AThGnd_Cv&d`l^b(UM~+OCMO2SiGMPOLhff~R8_2eZ zl5<8aO&Z1I(S%8ZT8tT)C_OlLFrhBb=sjR(dLHAu*nY z-5XHlMU7oyz3mRkFuGi%Q*WMJuhzZGovg-_HN18PlE&t$iA;|smD|r|xzNR^1F(I* z@f)1J?LR6mopUOzqSMOpxYf#&oPp}6uHH;}^(u>Fx=7)%tESM*E9Ov$+LBCzdmeYCK6&yD0f#~Km8f(&2l;ruP>zeIO<9K7gYB54L#y6B+XJ;yvbJA@#Vlk-2h!q;wZ;$MRNiZ`$!iC|urqV(R6Ztkx@=L#S zyNt~kwXkmYY&!-qZ(PfqS4tCKu|o=u;#fh-*Rg3SRGvgG6{nA;>e|50 z&+p3*e)JnH_CI|>UBbWe+PZ4Gc>BrDuXCS8-}z_%D4o*$@=5Yfojvr4?Ws+U^H-Z3 z(Fq?5e((;s_{Ys{NfIQ(a?Utgl<7w5_-yQddN^O%BX2gnA8!Kb3$Ou@ej{CeU8ARH z^8IJmz>@H^C>F&R?oP@6+wYlWle0pfJ(0;g=HCkEf7Z~O*rXsO_&UnB3ZrZ`mGvWe z?UUeA%_Bc9zgg{XpDS}r0hX_&m)!GHx@FM*d-S1x_GQHIZiF)q&t&g88?(jD1*pjnT z_W$n4{Pym@_xAhFHURv}`WeGH#`W_lx!ZU5mrF8DvVZn}Wc^J(GprzibRXNtNWzSG zAb)aMhh6HIS>8gB8VX;oT~9Cxojq;b|IQQ`aqhWVw?00aJwG7#70++ryCCBl@k5XN z-fM?y$S1mo4keaZ{1yCde=PXx{#SnmAx=#1>|lO*_Sb{u*O4#uX#3+t%WEIS0>M#S z;quA9oaqdV^%Enmg>9(jq_0e2dc}wJY3GN_Q-b+F?sa0?Ic41JX}En2=<9=1ADdzv#yNMEi+@ZvgqRyt2k~9y3Xi#J%-T^_R;)&%{5}zY2oS`n~;C6g>MIH3Q-r z;s)FYqKm83{Tj`#XFiJ(^?-b+ymIYN>u`rvw(nml73?IsAov&kYnczv79%3O(5tC# z-@!U#tagvB~xWr2PT90mbPRlno^Pzry5t~QA>3w`w ze-8-GGRv#~fXNjozPA6)pOaKu0`Aw(pBcX%zTgd}tl!J8Lhh5U_7zn<+kfzm_E$0a zS>Ef1J^|%Jx24HzM(bY-DC3**<)C_Zmt_6MUjpigs*E&YlkpFLSAo_~$_xI*>S_-x zT;KUQXD+I5=m&uF_(wUPcYf}xF6e&YF7&M5`@gyY`TPvOw`)(FFE&1=+Q$_X1;61M za{M;F0ubZJA(zm{JWB0;vGWVPMe>I9K>u2^cb>(M==WdF4$f!iX1n|6`iTKrq~D*T z8SE}e$#-Rv=;3ZG9A=zwLs)$56f#&d%9E+5ds_2=xPca`_LxNLJVL zzpj0M(!ihp+)Q_^bm!NoJ0VQVxZhx(%3s?3rbVEdYT836z5e>%!P3)bCTMlMpLta3 z^V5^#7ZVhkn3Y5L@+F8LFW*a(jCf4i4|z$|EcZ=OQGdK980~mziB`8 z&&2I>{+QFu@&3rKozIL33WKl|6q{c(WIN?6UAXwa3fn2~x;~oFrK0N%xlQFm8AJTf z0{gyNzkwBHh_W~BR_Ps=4=`!c{`rgqqu8*;p5d1!^n+*iCPAl9`j6>AV%hb}34LE` zmBz}#(3#%}{SL|$)(_W`jZwn4Gx&n zr_li$^>?+~@4t=>r2A;j@@papy3}2VKUOU_hX~~WAiyKiX)^%4{ISFA1Lm7I zUIpm#OT0>8=1TtmY5ivL>2*l|7~1FRws>CXS^orv-=O+QA1X0MSJu~OV-SOXMENi~ z=Ll3Vzxr?XnV1+EvG3+})w%-zM_dg0qXjumnR6k=r-R}Ve+9Ho^nWfUzVBzaP`^Lv zXt3gkj??!k!sj4`Kl@*B`@SDPHlVuBS1XH)peJ=<^S}}_=;xo3a$%QH0t-5_66B&^^sGggLl}U$NORZEZg_`7-gD!zKi+3kFV{YIwi-*fF>Vllp4UDhcR){DQ&w)>MWp@A{8+g%N5u(B+fc>wr76&bIRh4bOdcsa%^2bfx^w z(Ko(^K0rg((3?|yrG4`b3+mXj+YjZ}_`L_Z^Pg($CjOIdO8T1egA;e4E5tjqUgg8n ztK&C#T6cba2fh1z8T#v?{iEowqU+Y#==w*YXZxm8t#RxjpXL`k10TV|X;}2ppZ)l< zdYkel`U`3-T z>{Pcgf|!)I{`FpX<&*t2K=%7#HenOa`lX+u7Qetaef)x?&RfR`u<@{Pp&m-AT}KQuHlK~3m)TJHVaA+x;pSA*M6 zF#aoa&LumzwA4`ml1^75X+0kZ%o}v%L)G5rg=bwLJRVBiP0HI>0-5uuS1B(3C+Dl% z71I7m{qhCq4BdU$v)(s#Bl)w`X1nfEGyW&@Yn%A$N7{cKFfYZ|-naY92@hUNKO4`# zDXhNR-%PS(+rqAPFc;SEN%0@Y{H4_Ti?i&enG-(f{rnN((E+Xq8Ccu=axzK8S3&n# zzhmn2@W_;`KE4H5KmCCI7pmP-+ugLTKRfrE>u=8y<-C^7_?KT#mhLf?$1~o+4*uwI z`R-xQ{j`=Y9m{LV`5nvmR^Y$X>p1uDO4^Ex?eK+|PJ#sIwHMZ&p zx;P5RdM5jBbmz~ND-_%Yn9ugt&}}M`-p02x>6p3c_!8!4>D^$FlQPy%B3@hfTL<1z zzn0I)|3p6$1C#P-PpysQFOgD}wyFL4&Cq`If3Hl!YW-^_XobK2%}~FOe?^Ej`6{Y! zQvrWs)3o(T{bnDtJv*)5MN7^0z5bN@cD)b#GzFgrURO()w|QTm5JxzUZ)Qoa0RX;! zd}VRAuhw7Np8)vnI`9s9$Y0mrZxA-QP;xVl2*6*~YSW)cT(O3}SL+Wc9PsAQHGZ)J z1TOPQ&mW%Uwf-J*aX(p}Ut(V1ZHmhy!V*XMUh_eg_wi5Fy@_ADUl`rTF+VcU`B2{J zO@E)vk5l*E@E>^I)%64D)xT)+<@d7`tuCKa`ChvLC4X&y=;hbQcgjZxQJ3;1^LHB` zm#>z;*P>`4va=*Gw%p%t;Jbfw=vS-;0iEto0x9|NXZ^GN-A8UTj>mE+^djE_|GB@& z&69Pv4wU|REB%|*@$oMPto9(^tNm;8-S($m|JXl*{ye%njQ`XAp_26VyS9JpGo6p) zTfbS~zr7KQ{&)I!YchT{C;HgGTYsm2puzr5|7zWv=C6LUzJC*}ee&u3IB4{O)=Sifce91!vT`8&$5@81M8AN-B`XASl5@?qa3 zy1k*toBoxQ34DB|eC{D;9vJtxXd%Ba6z9hBjvz1VI~ty0os}DG!~PiA$-}%bw(slL zzlaW&@vYQ6sq6WfY+J`VKCR5(vLf6!&EH@iY5eK@>fX_8%KWqS{9Cb~*!aZkdUUZ;gX1R)?v9i40!Q`o&HniYe~E6_Gm?Yj zK03k7FtcZ`9-L!!$o5-`%Vs7w_h^$J?$5^7S0@L@YPaC8@Xx&?<~`5n6~w-0lHdOL zj^#hQ-5<~5_FpolgP+l@Y!f~C_x*K(yhpxver+Zxa#&$b5C0{00ASwsOZQ)<{xeol z`mYtVYT)bbyY>D1ITjiccArlC6CK0N-QF)n!0tTyuGt0e^a?ON$8W5^q1rdpFAJk5LQwzWDAQ|vrRGTeFti^)HyLQ2erLfD z>)RJRZlOG>t^H4RwgF%xt;=E_21pt3c7AUESpLS7xtq*P>_d_-H~(dRCto2}aOdY% zW0oiPGKR`xU;6dWh3YvtkNS1HJUB1(vKs%p)Yd_;SwR?HlA8mf? z{%#-k^=EW5R(gg>k`C-P2tMtrf5_U8%!tABIl3%rV6d;Ie5R+58GHNZIFBPukPKX$zjkJJcXn@f=H^x~Ey)6dYM7L*@XC8XQ2dZ! zOCpz`Y{w}Wh$hekdIfaD-3^LVg#Y(@p8Tq;dh2a4VmxA_v$L|Qva+%=pUR5Aqerl` z3e0+JP~02uN&9gF$OoDTUVXyyJzbz_fV{ei?I4A~cep-*NXbQw;zw#6y${9#w_0AV zrmQuI;zK8QU;==WHwy8S(`DpSsG_~ zugarFy?KDIc?ScD)R2L@I1VF!3!^6tUO0jEPy^Z0RX1hE!8*mO68cZqrJL{FMot43 z+Ktb5p87n(#y(rI3IB_xk8l_ynEgwbLcm(57mW-S6qg#;73NE#f35JCO(Ko#XSC2ZFw`@#U-(S`8YTSLF`OC(~&O? z3`Y`2pIoZGA}}$0+&R%Y4sKT9;?23*kylup0`?9Fv=K1cfL#|*CE`*r1wJ&P45E=_^1pt}dmXyDdSN!FA*#$8(f%sO$reZ%8Ao z(jz;0WescXfBIWAktPAC7Z#> z9dz@6thljS~GKO#YkY z@=|{m90BM^1YA8ROFnzD;4=a^KXFb$;EPD?3$@i=z_2S5I#B$3f#k#PJ;4%WNw@Wl z_XavCfcbrw3{A*>fzN(#;LWPTx#_)dj@rJlZZ0-if)P(Mz#j{~;67DVq&Xg513dM98LUt<09A)!hJ?S&MvAA#|QAtjGq9Iqmf z_{9`=tri~auQiIfM*X;(G!A*)y13*3TV1=0fdJwiSP+B}tKU8 zPFDDGI-YsBDr^Ok}g3I?|tD7dcaO8wQg1owUp#V$AIf#P+ z6I4kd+p1HbNW*(I?iuG-h7DO@S}U=)1U0N07!jU%H{UEVs*989DnZUQe=nXGgshF2 zAd@eyv@!^KA)opG?k$!G{hoh$uc{e7B+zIs)EdWal<%p>p>RV<1}RosHF1TAkYO1G z0Y;a-A~=%>w~Q2#N{^%@t2R+sOEq>5cX8c07li<0L(djv(bbzr6JmmjOOH^UkSj#n zl-3Q1#4fR8Eb%lT6cgcG9;?{|^cm-6RjvZV=A0@)J=8M$6H{N8A*ibyYfCi=R zPTn0+?4`sXPV8mH0Racf*R{-&fABDiZ3hOT_J(`|cOiigJein>xQn6r@kgAMengJO z3B-T!l-uR`@+~pj*((l$d+=PvUx8wb5EM|+fS`wp>Bw+R6B#=&Xo9_H6YGN}+RSuC zUfUhY`bx%TTX4!eDQ< zdvTsVDNXQYnoj=ZJt>Edr=d0)g2(9sb-~xA?s;v3W+;LqY@iK{*t;3@)!k8k?}ctu zX}1fEup5xr%Je7&eTs!+TJ76iQ$HQ!puZ)4*^-R(E24_|&G!!6@4|5tH_x#Zh>e6J zg?RaL`Lp)~`fR>ghsJw>1;sFwHb-|DPasPz^N>NG^a~bA1`|@M!!w!q2HTMYcX;1R z+$5}SvvO!BHupb1eNY`~MFzs2QK#DOa%mi`5>f~nI5mWnKhyB`@zOpQB+Jk9@F0Rn zof~tpzUdxS6}T(C2<$Yj+nxE9pwP*WfHL3A;azRyiINlxqLov$^d%w^+^jSR%%H`m zzeO+bUooJ-3|+0y>QT}8Uit-RV{QQxGk<9 zYK(J!c2yF-26=4MsdX;gMNX|=G^=N$Dc)n zTu2{lnJ4q|<*eoe+%Kf=x*>xD=IsRbwI34Wd#GI5dG}$)us2Gk+$M9^=dPk<;&2QH2#@I@rY{FyXWZ!QAqCP*-gBSqKUJ_KH> z1&sFzd{%*&DFo_X+`j_W{QhFG#Q6oY5(MF3@KHL14Pk+-WKD&u zs1IVbY&2kI-Bgz~et*Tr7pFF6A%kzsC|*#3*DWp=P|~_Wdu~E{F)0pEzZc1c8X=I= zoz_!#aC#a^h=(1mDYtGy0isqjGLng4@;Qq;Hp_yOh5fERZ$dq>MEu%7 zYsBp4fy4f7UEtK^_X0BNztc@zJ1y{9`p9LvSz|ib@GHAsz@dgJyvyny6uFl(a9UXd zf}#(ofR6*mk62jKbDVN;gpfM~fC5yL#c9-|^~mBK5WGVZdGXpkv0RW}1|#)Ct{7M< zOpU#aWSVYWet*PUHb^kSb)IF7LiwgR1=UsaD-R@{l}dT}q7QPAyN3s>a1=p=@r3&* z>f~h~=6H#EDL6N9yK|s@EF4(DcUipYVUc$6rmway-nh$Pfa<|OrDFHY>BLYcLs|~z z97^eh;P~ObaYMbDuaWQ52;jhgbOHZmB)g^AdomzrmF^^XFG9$C_RmTi1o`Zr3AiPt zA)qpedt1xU1_v4rs&eqTaAJmMjWTYCItPbh?KO(Zx8ulQD?w|-w2AwtxO99fN+oKa zG-_Bcy+a?AC&1@ztdIbjO@j<&ctQ0^NX{a@GnnaK-XB&a+2k3=_ z7JzP^oX-}ggqNK&-!(gtz;yrQF3{@D^pwHmoA2>)c6~e)AVGqyiDo&()pT5=pQ2Fl zdx{WO_KyL0*dQ_?3;Pfea|Q=+GmTfd`MU!8{z}AQom})nTKsk~JtodW@`kAO%jQ#1 z-TVhX8Pog;d4O?B6R0ZoFXd43>=b8tV*y9%*Fnz`Q`fVZ-28tovrsz zj{}Mp5%1&qB`odabLQ{aY1aoMAly%YONw7otePK!;MvTMOI0k}P@F?j`4a>KwZKje+$Gr0$@KN? z`1EZ5bouf6a`wYM|DVq$^fziTONb+iG3OL2z~@$19h#1K3im&7h#1Hxcp)6I3)V*E z$}qThF{FtwkzwJaFSOo5RY<%hkPG>WQ}B#+O^{e0eU6wL3apM3Xf)@@#{m7+4xjq;-K9o-Y6w)q8>VU=%wLa*P8;MWEyC0#&NPc<+{8)L@m{5&=aw zm||NTJ8oMRkbe-8J*Pmdcm0+q`g4F~f8e&@QSqIhs1LdRZ|uQmw-A}eimI&bZtiL+ zIxUeKc@7J$460qLi}Kj<>Z5(ZM8T4kz6eqy>;N?@Ml|st!dZV=O>3g4M@+c>URuGl z*$z5=ITs`N{}OXts~}qjy9NILLlQu zF>@HV*lGJShe-|CuT_h-BKtnKERZOb5pw}`-J?uDZePBFdx2xo^wjID`8H=1I+oB9 z+)7|hAXQ2qp-8pTTM7kre=`G+yw*adS6l#z<@<-dou52J1ZsZnT6m(L(v6RsgiBQw z)4zQF^;eh}7%8Mi1*lQ}N0}m}|@ST5re07csV{pmnmvz9^pjfVc06v6|q5|bU#76J@<5R1N ztsv?lh08(hTTc+FeYspCQ6ZQ0&5+v6DTVTJuDtZycywO>}H{_#b!uFx8^GN6E^!mBj!hc0M8K{0v* z!T`#okmZE!h+fp7s-^JI9H5a9-7f_<5vRaU7T()fF9l%dm5tbn{+0XQQBHPhZBpmK z(x@bfMX>9C0Y&QmZ2^SO&I2oijr8Vj27IRq=THhoe0wWc(XzyBj3>xdJ5U!iOV6hvlqDdb!t7{V6YjlO`tR%360xO(O{ z3b^O9)m91(i99bAO)zne?zUB_a_Ca}x;u-}F9x^J712MCBIwns;#lSx~Vo`3{)}yl&PN)D#f{*;5uVkMU4BGD^=^vGWkG&!4N<+m(m*#0y;A z*fm^3Tf0&}A77k+NBkRzMGNBwMig5&C$@Mm$N zVNH2;3qZGX1giz3xk7NPY6Xmd6z3KQe|$aLC{DyyrF@AX48O)*g{TpW@1a5KB?P`qYQ0Ay*7&}9aU zjXRE;HB|n{MJhasTX9t5@{5%cNol8!YGD3u3b)jFbHSM-?lknr;&kku61V$@%h?)G zj>D_VOD|0Lb9!8lkifxxEg<}?FL+x_93S4U z;%KHS@ajMkd50U&Z>dC6f{i6BD)pGaW7O+o`}ARCik*l4)EPOCqU-n#PGp9td-(Xi zOrT3Deo>$aSRn#QHOJJI$5qx_b*vWywr>q&+#Oe)h@tu z>~^R+o?DS0!xa)JJ|}>_txMWK;2&U9C7=-Q{|E(lTDWVN=rv}p;%!!~$TFZX>zpV? zTY(bE!Vd4Ek<=P9ztE!_4G|IjnW7SxM=K78!mpz*r`Xe0Zzq>HbHOMVQPJCzJmmJm z2|%J2!%LEmQ4V-;t=JZK^dL(LQ&|x2l6i1z=_95mi#xkQmQnrGvGQA()dk{zE1FXY z1M-$msUYHEe_&`#Zx}Z*6yb*7FJv`1h%xJ_ zc8H70Xr;b-hoV#;k*ivn0-6m7zf5x#brStpb+Pw?bPQ|x-3#BnpsNOKwpNUXt|J*K z>@#xOg`(o6rVM zDhSGeLRz`kfB|}~lYEI;lx&+U{rVh zRzZfBlpj#%Lo*ycOmn_+S$}lec;5bcD3(E z3M*o9{LK_Q&5hl)Zhx~AIoDFs`{#Jl5h=WjHGv)47kP>7?x$MP1Cw}m`TcBi_WjAL zKRtX5>tL|%CEjw^b0Q)q@EY)J&jsUxK4K06PBk z3&6UKnC`S)VU)t6wASG$L9Q5PTXTXsM;AQJrnU_8&vOI66t`srlWshOPQx^&WIiT7 z>PpdT#VHtNDX4S$_N`rq{Tr*by{q4RyEucvLFD5Bv>gKx*`SZ+@&?hXIRac?AABCcC8tnxOnC|E2E?V*JO_@qK^@;p~yzjt>g^UZ^s{yYL{)tc$8P9`?N)f&#To z6C`KC0?S6pOy2^64Bi%2=+(;!ZiFJ)NRMmiZMoHsY#S=!qL%I1y~AVt3H$zhegDKY z>uJ>XW;))|ilw)ShaXZOE|2LcrEj1Ya7^G7ms2AtaDM)}1`0y~aR~ETsxcm3OL72h zE^>_Er}L;gmm1t$QRv>#G$WGgH}tPghz25*;mIYhK*AD*r-U9UojHba6sym-O4D>5 zaxhZk`>0fzt3lG0q=-CpkeYcs#9>GPV*!lRJbcCsVyK9biU+(b`JGX8cr+BkBaK)M zz6)%t%Ml}%(XEP|rGDs0mG8ph)xKp=ra@uED9M2^jMlWEBct&X@(2n5Z>0bN{NEaU z?vf@CB`De4m1;62z1Khu$9jvl;wxpL(H`YdzU%hZ`ii!|1J)7(4|$aDx;#=}#zyQO zui*7YtQwCl+&9LwM%ro(@1c(A95;YpZw0;0NZvSQyQGj)`-&M}=Y<_s zsz)J>v=sMnVVKyLgV=kA6kk5Q&&nK#iZ{`788OxQLPO&!D@tS>1xq)55pCVtmx`k9 zi>wB!`vB_ft;Bk{J87`aq910n?ZA+78ydAvx2+niv;J^94?TNi9yQuoc-%{RijKe? zsLH|*ZDC8nRuYe}aM#$v1dUcB)ETja_$BDsDZ*wSEP%6JuL~MD$$?xt%Eo-Jit{Mw z20V(rYi%LZKyD|ywvZOawridtaDUy5MbhNT2B|Ot33fSDgZ|gm3=ywWv{Lynnt!ot z#>0y7skg*kV`5sIccLh5OJP=%l>SG#43jKaA$Lh*)Dy;AS3_#0d{>QFqVQYO(w#^0 z2siiDpiqeTw!UyZ@`|RccL9`My<{FR_XW2C%O#FN-t?t{qc?rY-}U@7;DFo0keX-}EJa*Y6AD==UX!*u<8bseHW4kaxl^NZ)kKf8VPqRr+EU z5q>|kV(0~iN1~83koP6oCvdTO>lC*GYLR(?S(ug&J$hsB&!>af2Ml^?Gk^NMmoJV)&Dh}OI*SRg?YFBDGl%~0%kouCpM|TlL zK=KRM_D#|>rYRa|`cZ7M$cp{X zcJkk}82O#Kd`vnVR@86Ml|p;DU}BaCa~ph|fw2h#uQh z!YUOb03Lc1VuK$6?*fgjiVxeocnmfG;L)v~9ME(@iR-O|8@p5NJ3q`$aN@+1)&4L6 zY%&W|QrMfjG_%_%Zv0ZC#mKz7C;(ibi0^FUS3#WQ)x`$7G1c^*v0wPN|Y=;=vlKO^ts-s^uzV zk;yl#wv1fCac5a-=%pZ3?|zCbYZA9Z^2xnxNk08;O~OvohJO0nw$m{#Z9{@w5H2#X zIt~hSjl=@p{A5uX8y6+PWCHqw%HCg3*Wddz)+90_zfW8s+3#Btwx3A&(MhTyM|(mk zS-riRzXW`yf{Oo<^`_PBQLOlogfU=Awmipj6UXJ3*r;1Z{8ITmN6%aq9~Z8A<{D3C zUzuk}tt*BFGKLPMy8t$Ha)aa*p#yhz%fB@-my}_?2-O9;-TuA%_nm)I|MScF>Df8{ zw;2M$Z~l_z3O~aAQYJD_zJPr_UFwKDkwVft|3p&+`0cqZ#37fRe|n&|u2@ir_U1Yg z%*7TGVyB*ukXRsUydjKk=qSLK&ygt(jDz?vM5Po;t!LXw#IN@`(!s6u zxa`xZ*IkglbCJQZEerEaL0zRF3s8IT5?6wzAl4gUH=QiWB;rV66Cj7dJ`BG@!tFbw zhHDZ%T7Nyg94CQ2mUSV{bR3~8S?C=JI32VBUq_E{;`j@&`pX}pjFHTp)9&BiMBGj4VNC^y(Z}* z-nAjX9S{~;zY^pN6pBUzD@)6vITsnaW!x+jIW1`KB-W!IaK0w7(7vOAR=hvcti~=d zzUI?IVJhznQ+CpAx1<0CTf9>MJf#fDXL9@n3|=yca^gX_~<)fQrQH=RBN7Flrnsn&i2^Jzyd3J-BsPz#NzXES0 z5IkVt#|1PM8$Y;YlDgr6`3u)4RCC{nFg1-5qDAag;G2Wri^i05MBIK133o}I-T?b|3TzJXx;Y(~5jrz4f(2%VUvn!ZETPT)1$l%f4Ue>z|L# zXBQI6H4~)9eD`4Sni$z{pFjTnN2<9c<`IzKQu^KhglTkCxh#yYrY~oB#BPB-g?EN% zImb7?wcIUZ*f4qom%tJfDaXd#MMcuj)OASOL|jE;4K+Ek9!W~b4P+56Rd#AXqT)uP z!}2LrLrT)-Qexv0w?IGPgWT?*~_vBgO`An=xi3I|UOMg0GQ zrS1jGsV*?^tnK?1%Ag(N%^E3X@_Y`LgfR1Gi1mCwJApDZA^`kfo*$Jr5t`keN5Z?G zHo-VtojNKbop|^ z)A_-P1dyXTy^#>kJ<%(b2|Xs|J9d5o6{02iSH*lUWjman-?99~XTJ%*u3PQ9QU)J1 zEgde7ag+u39+_b?|Fw##I!Q*2V~j8~0V8)3*wP+;JX;3$F+WmTaXtoK^C zM8bD_^~RR;+JNM-)HMy}Wmp#kMnB!LX_7rTge|0BLCTto{t3U@mkHOXx01uszlw+;LW;N+Ck(#iIpuNZp(Lpem(JFnM*}fr{rjQj}t1 zpkqf8ts~x3DTUc=B?+w?g*?~ONM#s-ar@}@Nu(hsF&+-%7RzkP;3UDtiOO!>At^xa z+5{yoE$Y0(C6UCqu>Q={{ShcgI*XGXF+qO|S6tGo;jZb=HB!IgEqgM^|*O?_$Sl6%xZL7l{9$#75jLV$vX zN);}C5)Q*Vl826vLFsVF(O@W<%?%O=D5h4D3IU>QC%_hoO2n9XEsH9q zAvUpTX|Gd{l;FXmuatvl-g;cxUZRMM4X6VQ1qDbRl$Yg+=x5<-lOX8 z0u%K}E+-&<^a_hrA}9@-G?O6ka}5d3G1rlJizopbH{Frt$+GBynFZ1G2#lN#{>><{ z|JWddg~YJPeG-lGZ{?ySg$s0GJ)PhgjroFky(R0`=#9oWl|#w`Z6{m{=#N)!RN<{p>E6E{Q~-qOdKG7VLveD#D8a zK#-WhEWum1MF^_;%q}kUG2#u_k?^V+Uv|c`Ab7qug(5zgJOI$^C2E+|nB9s5=2EK5 zR3yLnKUie>-xX~Owig9RYuH=Hr5gMT#yP4?;ooJBs8^GzzV^)wsyN>sx=OeBXBUXL zp3mm29lk;W0>xAIUw`7AMpT$D*`e?DU3reoN%Bkw-YPO2q6`GQBo-*YvzdKqI4=} z|CPP@>=t@@1Y0*dTJw*$oR2RRo5bp))1W&76qElK3&LPtw^9%nQ>j&Xbh&ePks4RG zTHVq)sSJSd`R)oxj8`)s>lgJ$$fJx0^-sMH3zRg`c&_J^yZIk>7ku7VGW3b22GAY@ z)){!K8UCSu&|k+_V3jt6fJ+u@*ue%NKhn`F4&S_eocP_m+OkI(N+Jn z=WXf8`Jes2XcW9!8Z9E-AR4_b&MM0@-@|8Jp@y1xwN zVolT?*xUIjJw)6=+5D^O>9Kt*ChFGCPaR%jG$&SQBhk3bk+5dUbB#N+rQGx$)^hXp zqZUIP>nq^(7^fFV0XW*8AJJAxTtwA4ej{X3&eY{;cd=cmEB)2-l*q+fis!XbcZWdw zo}V0?;(dzQ^RxL{>PYYWM?4_)ieu*pP-B#Txxn@!O6xNF zm$at=$M)=l+Kmp7U<2#3);BYhMw%khL%)eLpWs?=&_H_q865VoYYEmGPmAtLvv6u| z-ojmy`E;>%!RHr0 z<>r7O`_yd91^!7WT5VhCqfFK)?7oqyM{t;CYkulNu3T4nCPGeHOZ_on03zSz^SY?_ zo!eKd^U1f*zLND-z;2jO`^}TEBo!mXCG6 zWDQ!8bpy)z#)HODOA0cV^?tHgUmy(w)HMP%2opKPV}#}zFIE&9X{%Q_loybg;Su|M zxw7Zzna4-5R=ebJWOGPDFtKSSrY!v|rTg0!B?N`0n4)R%PQuF$xST_HHyd zfWdjO)El=HkkvoSvg+yd%nSFAu$ga)6JssbyoK$Wkb z5_jh^W4{>E8rZGn^Mn}KcjP0q4w?&nCVWG!z>D@eiqUX0mgmuNfEzp^7JPDTz-Oo` zIV%@+lCIX(RyA(%eA)O&@CGEB^+L`T5KjCeo>Q{01v`g>HCF6`M}5%9-(x?aD34dm z3m#u*E3qG-ah~~2h-bSBZUQHfr$_VG-|Q}MO^K~FGW#)(it(brVRBo8vy50%=kr~~ zL7^Nff`IwzzRMb!$b>?5E}1MtEkC8H`6%VZY;`&-e5~pu*u&?MS4d=vn|%jX=+y*K zEtHD2f619i{-$jiAMErJil4mH7l7r~E-6OZA&YH*Y<}`!3w5&UugUn>oC( zS5k_7LoKS#DLA_0GT9~e6#fTe^XlryAAu$R@kg-<(s%X!pf4Q|g!f%&G%TO<){?TW zXhzc76^-&4WIH=FRsN73T}3mJd8%keQco34C*3e;tELgBb%bV+aH!fE$v9Lr)~_~M z;4~2vPYRfPQJd3`24zkYP4WF~eYKcLv_(6HgZ1oK?s*t!V!3)Du@at4an7Bgnk;gP zID7~kLN3AM9Rt0WDk)Z9U);ORCt=uN#V@IH*o$u5TFov{SRUss`~{9RtKAlUOg{zbq4>~NUPVWqBQ2%(J*WpkbK)oOMVbAHgYi)qo3tB8?!9jXkj+8`XZL#@^ zX@w~TR7|GvX|Rt1Z#5x~54WF&dMQs&nppg}Ma;bAs+e4H-mG`Yt zSJlQa`Sa?QPM%|IIWAF0MCNpa4+B@2)Op zPsG1qN$hVG%`=w2m2dDbqrtx_njW7-6LDJEm`zO@JI|)2m^(HVW=^anr2VBW>b$Rr z*8-oEyg;g}>+`NPa{Cn) zRGV-7$;ckfQyk#{@4zDwKq{j;OicriP%;VPvGPR>`2=}VTMSZJh1@mLZB}Ks=EK@~ zL4__F#*%%{tXzl`;7EN>ZQj3}Bhl#OPQ%Cp{r66hTN~%?HG3g5V;6ytG=!kq8L#Ub zbLwyho?07RV%QDvv;C_jg3Qe2>bE08i#$qEglb`u!?p^obs&$=NO8nC%TUM05R92m zjd6^Mu)&91Mi7XZMtes?Sz{`PG#Q?_lH>9=8j8m(8P8un%907u>isqH()%TSSBVns zAQndoh0AT18AwO3%8L$a$f}hYG%+ZecY(XTXy1JGmQqv(GRXhs+om2u1Zn#k3hYiK%%M@4@mK1teK{5H3xvkn6% zet(iD>yN@GGmCbdNAZuTEwkY9h7>B$Hu2T4@)eE2MDl(yvcP-{W500pqnPo5%&N~- zTQUl*%-B|>%B7)^2l9+|-sPc9_!d>qP-_rApgLn3ie49;-vX7)d=S6JCORk-t9;N3 zo=G|1oV^9vqu2W6fNIF|137Ry210Dl(5W=6#P{!)-#Lr_9c0yb^5byRNV8e8#J=)_gu; zHd9t-EsvZXsL$1em#N6(95#G~l`)g*rLmUF8DF)PQKpK>$47L`IJJOJr-?BfB02~1 z02HH2l#z|r_tI7XDGRi*jE_hIfXoov*x@q(H_}fq4x{MC9!(2x9LVDnCSibfZ?YCE z8nHiV3>%t+a2#zbK^$}6bxsEZo$Sw(%jw^)5ayLhm-BVw_a@si7-*L{(NrCab*gey z-#Os*U1)4Ax4P>5Vt`y8pIK%|=X?d|tz@pMaTb|J;G528ghm#R(-fT_6g16yT!d>f zc#{I{{8TY@U;No}b~x4J==sH;Q_c?aC1}mh-);=>=YbVP!SSr>^29k8!H~$C$JyL` zzvi;;F`~hU-^;BRv?ZteXEWSE2c9w8@DrX}4j(;7TR6$%|L*is=+7X&qEMv zktcq(IRn;9ViFBT^;Tics<7RPrin%%1K035+gzMKS|20pXV)-`Jg*oXSWV7ni_^{7 zLts>p_e3=V{#ElT)Qxc(?J8+-HD4Y;x z6T+uPy)+krtu6h1fZZzeC)P#8BOK5v_ec{6v_qrULK6*S&M^>YCCMEx(c*naXH%P+ z0CJkTEe244Rv;KNbl8H{7YtA?q?IyzDN_rO3N0%8XujESz5W+6yU>A}Sb3V!}4oHKau`(Qzn z!*Zt`803E{kG}!*g~M#8F6d4ovTCJ6PLOHa3g%eK;%tcccT+i?W(w}5Tk$+5Dz+kL z-)&C!H?EDtA8-@?>**zf6-aboL9QqGNTqAn-LN?yaaTHwya28cfliM!=VcBasB$)Z zraMoI;jE$zF{}n7oM%g~PXyd7NRAMmj9^QDgydQVi``GlJtVg{13LwN~XEgA0l`3z0W zhImgi7#mF2T9BHYIP)pUnTfSQa|t8nG;0urIDEqtTiqHEfmG%eT>;U!(y83srIb@2 zUn<3I5yZ(_p!#AD{;qI|0!^vl<0HP3B?jbz_bzoB0SY2ewG6A^R4^^^K(jpi3Q)p1 zLUckWll6Lvy=AfV$PHfA)cL@qJ+_i|ig>XRm%%cG9jv*ld~L_!GB7ZLIdIFB{GB2= ziI4>DA!uu&5eO|t931Zdh&n*@1RNDw!(*KjN!d5KaL)+e?0LjPV{cKxN6@&LQxpvi zmhegdq25!Oq8eylCMB}lf=>?nM7g==OC0l-r*99TpHof|#vL8O|MdhK1ih?89s&T5frfA`6(9Ao3{Yg{+nJdz-jT#+m8XZ zO(*J|Um#bi*VZ<(e^EMM0zRIu6A_yGVK)69VMzkfVCXGtvu$nV3fqq)Ww;MZZK@o(bn5mSKi zXKB5ElcO^5MqX=jhA*txq)kf;LPY7h0>|6=DJ@%<6OEs8!c`4y1YM#N?hvSuh1!v$^7*C6dw!u^YjTq##nK|IO zB7(=J1v;CPwh?JTvIT1o>h>!m+i)6#Df`h)+zL@}KhlVKDcT!WrP1*k*6VXuancMO zVGO>46+&E?KPBRo5D6aLPXyc3ZF*rFB9`e3>I zeqM@tsdq@jhr*CbLD1_xweE*{J-c!t5i==p*)aWF2ym9a>wX7hlS%=i@>^{JdWR$Z z^85fVc`K|_IT`+`kVDz?g@)`u6(Wo{ou`9``uIpIczJT1if4twGA9-Dg)kKS(Q_14 z#r6c5@KyJikcW7g{%V}xDfGPy}d+eTkX-82o5fv&Fmonc*65nZ@oD? zUD6&7F^?c>d^&XryOFHI>3GgNca!^%?msLMzpbl9j!AKJ!z#cW>zyBFg?->`JFaV=TYRt2Z;UWl!0_G#HN zZL_}dE96{GmMauRIG-*~C(G68{u>@8_G$9(?Vnu&x#lue1xpbOI!BVwi<;UHn2x*G zLl<3cYycF@fA9P=ZWk<3?KTw{TmMsCos|A~S{&G3yCp~2yF@ldBm+=18#AOaUFes? zd2NDq6{=?B#Zc`n@X81GHuxvmk9?eHpYBb@5VWpO2|sIR)8WAsoFdI4FYF>;h0Ldb zTi5WP(wBHOc~wez2C%gzVzd%BN@uI1y6|UMx|{&AQl|7Y38pQ*>kz@h3Ldv^&XYPQ zEzkPLJb5UmVhi@CUTYIKKA=xHX@Cp`4ohjJ+CD4K3-$)@*&4mQX zn3Ga1DlI8AXU2X2r-e*J+t}A5GSx&QB}Fk#!Dm!_9|GIU@z%`jNJ8#frk0b#ZwH)YpHK|$lNDk#({n)Nvf%1J4MB1}q5*Q&iA?Z&lWl?rQK=U= z>|GFDD|mL-v^pn$auwUF&RrGoikLz}R0X`oh(>^~X$U4`B|&4v(YuN9kyu%lJBX61 zxJy@Lk|m|HpHQ}$8CF7)$w-GtS_xH-da9q#&hS=?L_=(I?PFxc;q>Mxcn@qlm=+;w z(5-z=4bgzp-7$Qtj8ncM!>~9*l$xloRRz;x*3N))&sV63`1#cWr_-1gC%QL5agg=w z!4w7sH4A2LdUOvqPAyT#s&w3cvhu;Sh0q1ehD=FS{K8%=sanU)U<~l_NuLgeP+0pD zWODo^HmQs~HG;~8bZEe~Wp0bJk5Tm@P$Hx&=Evfs$^|xCKE2-gYAL^PPBEB7#R?W; z8snrfdmSG?_zWSh&M8LxUI!TJMAlrcM%rmkTpdBjy+d<79BR{Cu58+A4v1F+;|-hB z)nbz=SiSI}P>5Y_ui`c2vU83qL9LlJSpmm7CmBpzc|+i9X|7(J*z0EY=zZOskacja z(mVTd9B-L7MI#;pE;~f7bpbcc%~fAkkjrq5%FGG}CmMtTOeW`8K$m5lY>^Maq#UQR zg2&*teWDg`+cxI{Y5&DS$F#W3MDA@6F3@!+y&9>lnTH@&umU+5{`Q88LsOcI;+th5 zSnsUC+UW~&5J^l98Jh|IN6p9Mb4VlPtKyj8t#D8Y(1TO#oPJvY*L5F&A%bFnOqsFg z=}wyT(>pb>{qO1Jl&DPa-5{73SjhW}2)+c23hO<-#}Uc%Ed!Yfm96s|zba>`P83qX zjQw$HYhK#43+Tr=7+R2zlTJ>g@!aqQ17=?Vr&DuE z&CS=%*H-_sl4-uiBs^J_16~lhW+sj`x-oCBiKyY{T7Y>?M2%!JE&2P{TI$}JOr3E` zXY;8vOCJB9984fZRyo46`pKS+|)vtJu$Cin_@xF56)9oko)d7kuA+S_FSUmpyl5JQZ zfDvU2k$S`vJ{I-_ui+pdaG@8@efI!Wo5v}{$bs+6rBo5M7QJXkmvpZ;68;N>e{ju@ z<+@#ZylHeYdwF#_0p#V1H_NNfo$;cPjl{lXzA>s>K&JA8&Ui^4$g3$vsMvJ^zbZgR z3Cxv`?4#%)=cynWg{pk4s0x%(sLIDeRbd%fj|a>HwHPhRCgXqBaAMT13|^`e!@9v% zTlM{SfIhC#;+mBn*8mSP^DmywlUD%!B7}eJA#hUVJrFXRF3XRlu1Xnug9=2Bss6n4 zpVOP^@DR9Lb`XNstRW7NwAijRe&Mo-?EoU=KNpy!wcWu<`q<<5$W*M~0^WZPm>gbC zW947hoSX08#vKOW%_nMQMsP8vIpCGRFy(nZ$wln#{KP`!|BlDeKf49w0SnFDnevr% z6yT*@*}T2A^RvUZFpC$!^!=OAK{R~)7?`yV6%1fSg_aT(`gqM65?Dkt+m-Qxb7WA+ zh6;U+73&bptP`%SYk;ZbC3w^r^?#Z{ahZE5J5^A`J_VclF+X3K-7_bTX*WVzq{u`skAafY!}NB0pG8umvr&CdIr$S zqL3gNQokzB)iEYhoMo<+Uc*h*NQ_|!GcSwSFgHP~s9AT7Z<$y^jrk%KS;vLim;at0>hBshsprK;Ni2NQvDi( zQ+kU^RfU%;>9ZDA@#RFd^E1il5|v_D$qmwma<3&>%$=VFB+RJj9STG&Q9-U^O;XL! zHI9*(Plw`UDqa34+6VXc90yJos-1Al@ji+@#ZE+9`sCFsY_tMeDjuJ$G&Ibta39k? zw1wGB%5)?Nnsu^b|PsQ-qkU zyp_GIDKP=ldj+OS;(@b_xf1!B8Ir%@yM{WbMl<&Kp+8cNKBiBTOI>V{n0O5I?sCQP z8tQqf1#UG`{#~Im-O*pkL zs$U?@d^H0vQt1MF!N<}$pz@WE7Z!_BSu_kC1r(AOi=k>(fK}rOv;g%y*6>vs5b$cL zI>m0ikJvjJ1gCVniz z<;+0EQPsa)GODtcx65Bt5E-SiQ58fbxGt~>slLLd(#-``*og$1LQW6-BQdH9mgWtV4Y0rKef@lVak395 z7#@s%uAfbX{mN+uZ?R8nW5U_)omks<*T+_^MpF@wSf9yC(|vmc+NhQs(#QA5%!wQ$ z5J(UtuV$^HB53Hu5CfQMf*KVRcyD(cDri)C_kmfMC#x^cmoHH_6h5!pycjR5@cC$g zHz_n;C>1~TGso-h^~gML5&b!tz;`~eDw+oZ{d8zv^zpXDCMV}Gtl#pE7h>AD+-7$h z5>=^5*<$KKdIw?vpZCm+L;>Dm>?2+ega!5Io+6&PBRHO|rYi9(Yb4;v6+(7Zo;7GZQs01?mS2B>pvX?|pDyCYqu+a4j9y2@r`Kv3iDG?+*uaWP zt(-GU7yU#ovw=QD*c>0D#M}w5M=ck2Iw{%a(N0t?c6SAa9&{v#Z^I$V0eG+xifKD^ z1f9(gM^zFDy|R-wsv|}GU;qpu7_$v-+Sd-Ot&(1;Qp1k5bE@E!Xre)ti#!0JbA*m} zRZDN?GavNcuRXkrTm-7HEbSB?Of>0oC0ru2uEYKGn1-OOy~MloJ;~5Qr*R=Ra zzr{p_Yt|zrPwUyP!Fx$F5--tbf6u!fRZ!6fs3`{TSC3G&n6t2}&d<$U1v=~P+rzqw zL#hrl?_=zb4pFOsXHFIR6;%dNi%%-|z>vqNj#AO&fU2CN_t%J}A`g2pKaHCr>L7WG z#hSq5bgJ0XoC@b5zvZ3a#VIglr&(mx_DCsYzZv+J!EI822F zAy@B|**-u`&8h61wr!DekwZ?Ifh7Z`1_7q$vo{-i&t{-vfGJIxij@_EScYG31cKBe`oc@0YJ9qC_cDmg1*rO5@VBwmM# z$8pw@PgIa=;A5`!-ZPE>j{VY1*$GAbH+^@RnKJoYXUarZbzTUxP)7V2?r=p`Bw|*W zGV%31@Wu5S@zpUP+3bW>kJk5o_q)6Qqmmxn7?G2TdOjY2OyI7C=>+d%i^^b;J0Xr@ z7T5(9zAac#urt-VjVD3*V)BwjqCQCD70<&d+x%ea2klZ*662^Jgq!;A$IF+iDZ;}S z7ZS_x+?L-J|3HUqJMEsz_MJXr`wfdE;N|j})HX#F_0{?G6npvf6l7ILE6KcNAZvc6 zv24_v`M+rpKD(tM(WAQH47h#w0tP~#R?~NC>7C={8Jt-$9heH#VPm5l#RcLZOlihi zypun?0GV_WrL<669bVU@3sG~jdc6WmRXw=O0ci|g)mNGf$qZVffYbVO?MkOvKZggA z+cmWUGdE>HgbOilj`xD<=^wlc(Go-2`axl15`W%(B@z<;(ErRW-Y0&$3@3$nw_>~b4fg655r`S2Qq$X5Wh zjL?p>7DO$LO!blk{)5ooGQ8w*1~AoExPy9iiBO1+u)h%W%k5P-`v7wMz zcnPu@6tY)ysT4sn4H3(;RYTIM$C%!RLQd|l;dRQt4%TZ_#SPbVxSGLNFWG9dibab z6l+Kp!_5y0-VibM%M}WP;mSRq+WvC-8kP36f)yY!ni>^N+T* zK_>}__`lS_L`m%xvWFkrMhtkgq6mR)Fc;MFwlFBQB^PUX+bb37CKP+BA3U!22BlhI zG7e_AqE26BxUREEvPob-$_`j>A6`Vyw~xlRguTh_Vw-F%l2}wc#H*OLL%8};ZBRE# zYtAWryD}=Ai^gTkH3fZ6ad0)9+aq~QotOpI=A6jKHGCvU6dTNe|C??WO^cql}p!(FDFp2T_5?V};nP8+2OMTgI)1IW>4N`Avtc z0hc+Mj9b;{05%oY5)%q+=)D>^R>}l=7aHJOBVX*N4Ot^!kX5qTrHcaT!VcIxTOMaq z3~Hfs*?QbK{N*GrTB}IP-7l6;5l%rskvHjpVp8R6)~PK+qUFfR+f+Y4t~j^r|OP%0pdk2hR^C%I~(?iLP3J93{NJsn!4Qt}Ux zD1mK&EdB9H5}ljb)Aj7?WT{~&S@spT@&kDjgS~ZlbZ)ee!8x(|f;tA^hJWbEC^=?8 zuc3k{UU8p%?m?KXCviun*#Z<5PSf^xo6It&(I^eRKJd+5->eANRew$;(z(K}iO1%@ zo?a5RQ4I(hWgSSF*#dv027pY&(tbm8G*p(s@dRd9+gnru7)XN?Ls4Rp6*`o<;bqN)rjwet_L*VDiK7gPY5UP^@u1fFKc zC}jIFCg)Z)AUb$2a5itBYwnSChWPqp1sr`jR>)+brva_1tIEk!xjt@U23xe${e_nR zcQV;!s5Pu@C84?%$ICYfClf|n$*`Ps6f73aZJz(bVXV zt(Vw1#aFdy z89`opk~fMl_L7Xi|bIHv|H?14k7 zo{kHbx41a3#sMwRly%vXGO07uk?xemB|r5SJv|wn|q%ZZZqw zP#7nphK#FQJ*PF)rMBdrE(AX#^QDy#EU8h|xBDn)EN3aL*kmSpKvuExT|Z>=COs?( z+g71d%4FGg+4GKrThiW^E=Ti1#e*onyBXYyZ23gt{h>?XyBziyfyCHu6_}TH6CWY7 z-MP4VwZ|ppoHo-_0knUh)twF&R4<$x7qa zgV}(r?;Z=FMnEcZS;!{~S@O+ng1{C|+iMigNKt$^2sb|H$;Lp^zU3D87w~`4XnQ`@ zNR)Yc#myUzTdq=dPXY$o1@ofq$P)-1_|Z%*A(wU?nFDtk7gSHXi>;?!wkFVtV?Oz{ zOo>r6TDk7u-My>NO_iQnOtl@5%Jt>w5WHivAg-8QRyCYe{!?>mW8J8IInto8*gnc? zAcM0%MU^b$1`Rn~An!OoJ_?+|5zLQi{B>l1S@HHKhd2DIG#C_RVe5!gE6E-AqX=+p9`4B5^Sd+7GQUEM;uBb zY(5|oX+|6#3I*e!I3rYQnSFjWm*Pq}M+u1G@%QJmIVz)nY{dJoKiNl7lp7!796DK_ z;epxwUc;`etQ5kP$m~a`974$>GDcyU~y6jYvPG^8z%xIKve&|6`f7VN88o-GCmpJ00=Hbcgh;#7y3lXi zX4fq9<(0Y`efGse`&V{lz>EG%f)_~^>pAdt9ek0~5nr^04*kUp^C*gCfVZ~|523HPAH$OxmlgVL& zr%?N_o38(IHd}nl$~hJYAJHp}i+7%yE#tRsehu0pbW{{LfYh}sJgX`JZfw%>0oObb z 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 z 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

      MxZ!t-k< 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

      Yvv1aQpEs;r261>|oZO?H6riLV26 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

      {}{a-wKY+B);)I*e?>_d{4#? zNcLO6)+E01E*CkI_@*n;|03~?dQ%?~-vYl$d}H#O#5bpXCT;b6yUf4ty+(X@3H?L% zSnK1n0-o^(^arT4U&7IP^uMU$yAtg&1-=FBOyZlZhrJ^4jn~J%k?c2O-%^2Z&as)q zH#N2`_+~?}UnIWKru4r^e4}0Ie^JGE75Jix@5NaPm+Kpn{kna*z9I2VU~3ZJ?0}1$sp8ugzNq5chq_S37k_~&zT}Nj#h13_ zNLxMM3l4t!#72DEbqM2!Kej&qkUa>`t>KA`Z(`xC2qW>$`kzUE(abmBo$DDA-*gXn zBJqv(gg+ABlzmO&8<`(fd>?@?s`wrOUnIW8^7Id=;(I21k@yzt!4HXVx-Ru0@r_9{ ziEoDAB)$=OP1@@DF24Kmmo?&hMYumMI=24&IC==4+rkqW-@^EALl{+j*QY&5_FD|W zUXl1_d(l52@s0PUe?S#q_Dxa6*ZfF)lSijJllW#w(mx>ajaHz4K;rApy~vp=z8k_9 zReU#~K2-4~Ek+ez{28kFk~c!y>iPcR^re~_@%sK=>l@&Dqx^zOj{s#5a4K`5h#_(KzNOk@zMf=pT^y zrhj03hQv48oU)Pl=9^L<65n()cq8#G@SDUpA+JeWJ>TcnSo+XLd?)VQRPK^=YTbS_ z_!j?wCo1~~!VbSle3N<9kHpvgnfV7rze4|I&yL>0^hf!(2#&-w!BJnM-4U_m5!?9l^zS#)u7m06tDE5oQ zH)mgy_$K&G;+s8z{i4c#kHLPC_!h7=iEn%@<1@_ z--Ns-ZS{QreB`TFG~(Ogig0}^CYFZW=>8&uZ~Pm^XQ;Ga!qLu*Cs4(gwiifzqmf*{ zkoXq(P2!u5;(CWFzU-T$iZA{IiEs4ObiUVU=9?VP^EV{E(V_IeNPMH48K0qw?>3Z; zD!yA$AFB9n4PR98#b2O`FL@KBt)A~5U0=AS5#N_OhxbdKTtNT(DA%+7xt^iYevL1F zllUe(P(P~pPJ=J1_~I{6#dkVqs++Z-U<>z6EVFX{+b^t2;;Jjrjg6@GTb5KVYJ#Z;sz2z7cs%;+xSnleT)k>%I5bla2V!3-jyI z?AFJ>(PQmhvGY}>O8bRxu@hk=zQuYx&qCtsuAb&h;+x|)iEr{pp2s2a&Dqx^z6pMl z_{MMW{tl}6F3IytB)$=BP2%gm$asE|ReYljDI1AzzCQIK@l7}2`4tl10>4Ro6Y`q0 z)${#wtLY8r&%WXNG25bUtzX|V___LZ?e-_ z^jFRAN4ZISe}Tl;O(u-Qx4>@_-`Ms=;#=&<`(j9ZvpvsqrpkUFy1>Oqd^2pqj72jeP%0uEC?@WD2d>v^f@lEiX#J8YrCT;b6kDc@9{TuP!FN`0uE(@?<CTF#Rnm?H9hqE`(9Vm%gn);u~E9KP0{dev|Asy%yd`_M5Y> zNqiIhriw3pZ{DK+EtcZ_G9o>ID+r#tC2FbKzl0O|Vw3nrljyII_~zd-zk|d# z{f_Yh65r^1#urF@9s8QZH>2+}ReZms|3$Lj=tah7NPIKcn#4D~nf@2aev>okf06jQ z$<&9$H^*-h--x^>@y%$PNn1VNqgI+i$uY_KCzdT9*2d_!jt0;v19KB)&QAGij^mJNNo^$28*Gt&8s; z+_kNb&yuIwJ4b(OGQJVvbXodeB);jwv>%CYvJT@fB)&<1!l>fAE_{*rChTjH{W|<6 z@r~(wP2yWTMgNP$H-W85eBBnAGs%7(eYr_|lSQZxiEq?~x{>&%_)X&L$XhA^uIKxw zDLWt3i0^b=-xk2PfMCh<*n=KMqA8_!_;g~T_$h%gf0=wkW@B)+lj zi^R9!-pM4s`OEYVNPOKT%>N?sEnsUB-*gfB2PD45V9G<{8}CAWNPHb>Ch<-1o5Z)E zZ6{~7dcF@``Fz9oqugtrZ+uwJqRQ5jrL@|28nOZz9!jkg5M;*4z{L>@3HVj;+w$M zB)-LpS2&aSCj3?=@y*YpJ|w>B`S3^LTi`c|Z$e&^wtBvo?mFVTM)uoPeBYQ@f^IZ^ zNS^Gi8c}RS-nbe2G zH@SlT7Kv|;-z2^+Yj&B)-wf z=P;kv%r`oPFcM!kk>?voe2aUzejxEp@tedqUYhX(lKrN?f-e%^0=6dcO)tE}nZ!4J zfbx*|7PQqQzS;foM&j$pYZBj-ye4h+eD6N#*x8NvZWP96*;B30{}%9ck1)T3O8X_8 zKZHG_if>NcsN#DZJdy0Tz;6=Y^myzURebN}c#-%f_)X#)Ey?;NsN%aSe3AG@^bIEQ zb!V~=7ZTr?-^x_+rL6_3_}&9wRPiORLls~0rbt^o-)`-qX^r?UJkF1Q)9YKmz9rAX z^W3XSmG(>65jKf$G@fe{65n(s#!^Upk|@RcMSC*@y+p@#5W?ZNqjTfX3|#A_o^8mHniWt zp?`?})H>e+p2@xR2dK1P!s$J{e}=?2xfy#y;+qfWc_tFyVg&Y!#5X^bbR@p9?Tf^> zxC#40;+uD6{sD<^vOLc>k@#k?HHmLN3fnd5`gRNDA@Pm>LVZYl9cd=zispTaQFNoyxaf%eHowrOy?Im{1@am6C3gysB38H^*eg#i5s^0UHH1r`0M{RW{_>$I{$r&@!>Cw576YV zm7k#u@>{*Y>&@t%zxg{kzJdH^VncrGyEwjq{Cc)+(Dj|?nID1thOeE^{i1z-!)A;R zAioi}hWy5VFh2wNtzYE$1oG=M?ScGeVnco_>KgK!=%1mb*YDNeIimIZVQ$;H(dyDb z<1aoPE{!ICDd#^iUxVWJIr?Mh{P=c09|ZCn?l{L8^6REEKZD|zZN1U;o4L2ckl%W7 z+#0@nez6JPe+KfKacjtL{Ws=kQ2g?@s-gJ(3vEI1OPrzjrEUeqFMUg(rPuF2e)O#c z+w%8}?)|^+r2+EyX~x@im_I<1zmzLtqxk(AV}sH4TOZ2xbCBQaFs_$@{AOaK_+?vf zD1R5{^$YUrW-$JO{D$`~;`>PY#^1naTMYS)lej(!#qScl{-OBwv<1a4afafTx)l_^ z^euswUcax5bIY~)eP+qd=a2IMeltGnr??&oP5x5$Pcj}u@p~)%F}i-!wOsE4`K_;G zJO=so*K_>=ieI+%hWzr~O$p@Jd#;?|Jg^fRtK7`nc58-Ahqol09! z{1Rs*>(sua!5Y4DwsAME^m4 z!$hw4Lh*YZ`3&+~pHCU&H?XZCzmC|D-|#%+FBHFX;TPmLL2HB=<$G42nv^V1eH2F)p z-j#d?`3;-VUy$E)AMbBM@q0f$L4JMW{W*}|%C-ghO`DQ0AiwpixHWud{H>Pe{s)lX zur%WX$ZxgeWbW^uT>Qq7%tt_etIcT-l4Gf57{j(Bv=WYS*h9ir>v?8|1e>i}y33_&poHAiwDx%253B zTr$XSO>D?-#l2^S{Q3(Rk3oI|_x2g`Tffi!zaYPH3;aRxOJ6e-zav=>#V>Uo6u;E1 zK})aSl^}0b8RR$I zLjHpMMz%HNx3YbK{BrT04|ewXt*+(%GmzhiTSI>RuuJ*;O5giK)eqPo$Zy<*_CS8a zuDo7AeiN}FzZG>2Exmpp{QCB-_eX8h_3Pdn;QS4resA&@n*60)?}cxW-}rs{3-aqH zpY06!&BTWM)>q*h!*AiwD^j1N%q_e$~?EX^j>%L810cy_SM`!N1OlfPERwIRQ0 z2man5zwzp``F_tnzhMgb3i9i&VSEPpjcjWazZQf1`sbO?f&A8yxf;l?KalGWAirs0 z+!~rc@LF&nzi~&}1NjX*k-s3niP(_ein@lDUcb-0GV0nkzrX5^zj49-@88Mz^yI41 z2l897&XC_oY{;*tuA!yZ?`sDw(fa*oZ+7pGN-vKYWZSmQ z&%&Pv^Bbtl&!EX)E8j>NUem&bZ==|am=4T+k zX)vGH1o`!&`F=@|--ug7e&bqK@%f)GoL^kdd=})_Uq*W%znR#O--^11{3iNmXzBI4 z{x^1L{ru2vLpsN|u+RYci_h>j*K?rBUn{>w8RWNqlY9XA^)GRK2jn*s8}eJf%=I0R z-@vwp^4Ad?@*7v;`WeV?y%+Cafc$3M8uIH_zuXzh-}Dx*caY!kFWLk7^{g}GwUD<_pl|FXj43j&C5pZV%cA`HjD1d;s|k zzhZm<`E?I6K7jn@!0Q*}Hxe82n_eN`L4Ms&86QA?{XvYsAiv?;j1M5c)n4=s^%Y)E zhOX}%$oU$`Z*>sYcR+qKu_3>nZ5uQ`e3{oH$gleo*LOgE)7!j15AqvvYZSj1a{naA zZ_TwLLw@~NX%FN#6C3hdQP+^)ME?vey?&p%bmJ@A^7oCd-)aEA;V*-^cbWT1pvhm# zp4gDzJSY7F`3)nu{s8hD)};*cTdjw0kl)0%hVnNM8}gfe!}~)}{QeQYAin{(M)A89 zenEc25cUW1o93cDkl%VR{y}~-u_3>Kx`viszpvfmUT*WdV)yz(TDkK(rESNzY(5za zj3$36yZsq2Kz{vhXYzTXzVRX7%6u2(H%?`|fa3Qy?neXpb!=*{JPy~59Buy8}jR^Yshb;Z-$m$znA{vKdpY$ zs`vXpzX;EhzejVu0h;`!ToW7en;5GM?t=8`|BHz`$?PMcdqXE%>(7{3xi#SOQXqO%I+A(2Pl5YjRf)=e#3kLYg^g?{z;P;HUNPH)Q;tgkNa#mvY9nQT)>P1o9jI$ngy1H#~(; zkYD#S{-O9~+X%(4?F-~LzRvgn@>}1}xg5x^KZNlY-#kKW_88VR!ye|9yb**ZiK0Uug2z{Nmaue(8Gx`3*Dh3G(Zo zVSE7jO~gj=%eE1UU)vYRZ+L_AZIIvi0G}@e`3<-=3G@$`K?c2J_z!gi4FM;)HSs9`n~5LJGWk6->7^2H!nWG`)_|6%xATkFF=#Ol+$G# z-#~uD*|ZPxn`h>F4#;nuh5JoFeydr}afbX>wk^nSI*aEI@>_kx@eSlRKF9a~#V_x@ zj&Irg z;?ijHmvYT#4GsCN&ZNIa_xgi(Tt5T(&BTWM)`Pfy2J-9KwxN6dA^sR2Aiwp8xHWwD z{+(yJUJ3H+#$3z&+I{)!@8|piGiwXsOw*B z8-FM4*O{N?d44>|wrxAV2rrSZJ8-`wH2F)p`tFnl`3+&bGvqhlz~{F?e&db&-YLj$ zb<+fA$ZuuaLdoCV$8)~=h5ILW=lTxFZ}l9X?}p;{H2i|bhkWWJXUK2dllvh-eycrb z59HUe&XC_gY{+k>Z-$m$zejxhSZn@Hzp&#s+}{8EEaTJtl=~&2$zSt(8}~nR|=k=RiFrg_L$kl%2|#mma|?HS`VSH`7-`e&ZC{1Nn8-HRQLZuA!yZ@BB}1F{LekZ|&x9Sfu~sTX=b}3zNBD z2b%n~a-)l* z1ITYY`eNpDeSQ;e4f(C-zsecPUpE0aQ2d@vdrqa z?(r>i>^9^#&BXOzkl*w+;{_;x^91G(Aiw#OOZh(gFC5>_nGA4$ZsY#64Dy?a4fzdhYbbvmu_3?pT(~uScm6vw@4tck`g1uy2Ki0Paqq98>kpCrf&7Lm zXbMUBSJ6hpoNoscn8g>H4jv_wP63)8o=;@|SXbEAulbelMjz zAisG{{DJ(&wV3~c{8no-|Ape0Z37g)#17;)&&l`qf&5m3m_LC02HYCO@6xz6x_;B; zFcYYS1=-+R~ zXLT3n!_ed}<&0~i_`Qz)K=C^gzfk;cfnO+oi8BhM3`3sO=cRlA9AiwoCeEtH8-<$CZ#qUkD2gNUOg5sCD9*ST37Oju{ z_#OM@HCwMg@S|MK7I~oY7oYil@)er=r5uQj;`bK%1M*w%M*f2Q*1J=N;y2(IieI*M zwh#H`xkZrQI3M?yfc*M}FLZ|dR=73fw+feWKG^3s-pc-<`27j(LGeqRp!lV(hvJvM zMeAcfexKa=_G{Y4-$$3~eE!1!V@&_!@9X$Y_=P5aDF$ov7C{I&A0C`0jkH~j(m&4-h} zAiwbl@)zW{I+FZ_;+Jh}D1I#l`OUaB?&qMM1GyFpFdk^hF z@yogjieKUg#V>U|XzBI4`)rejwfQ|?@6RtbK>p&>Kg9eOn*604f6e>zQ2gFYe?Wf2 zG2|!6Z#b4R6u-ye7m8oDt)cj}800rD$oLELo0qzf&lC3ft#E6|Z#9PT7v$I9&;FqJ z{Wue*`)7vwiwPyRv~A0A_WQ2hR$_MrHEl)gjpOB|v2rLG4py?&=%cKMxc`Fq)~ zJJ;9!%V#$OMcestHlKgMCp7tM<;N+5{JO_!8{{{h$MFp0H=NJ-3&rmR_yzgRJaGEwF!zdZJcA~GDJNVT^6Q_(4al#*lIxKmznR#O-#Rir zfc!ePHRQMExf${szRdUl@|)M;_y+P@Uem!*! z`Hl3=(9-L7#DuF_zhCaSuHQ7k_>l2gKgDtTNSK9J-@9y=pG{EsKyoJxV@Ci-+QciD@zaYQ$>*O2AuX~Z# zKge$)Hsm+_mGJ`PH?XZCzmC`_epkdVD1WOxxIPK;TiwL?0P^cr;`0|Ezv-X&1NjYa z&>qOIXPqIxHL)STj=Bx~_}yu-d}Ev6OTkRn~#D@H4`etb9&EJ#fy8Ep*zY{vs27Y^Lfb)xY@cGu1hQ_az z|3w*!-^X}A8|1fojPEl7`E`$<%ki)8`;8*8QT*DrQ2aj1`{5wJaVql%kl#F!@23U% zO%E|XK=FIYmCix&`vmXLL-G4K?LqO&ItRrsae(5NzGcwT>v!n~mi}Iw-z|0hVW9Kl zcgf!m$zN#32g>n%@)zVczDIt5{KnVGSCHTE2IB!Jf89SBKR|wKwl(C}TMWhTD)tKZ`zo#!RQ{}@(1J}$Z!2V?ScGOtTW^{5*zaCscUHI_4~7t+b`Va zcc-~K*C)e=1Ds#rGk?VS1vL3&D1JY}FBHEY(jFAQtgE2-C5}-1QrCl)UcbAK z8vIb3-=BBq58&M)2@%y*@8{Q;W%weo)`L-G45{Q>!PACjLSzy2fUYaqY=W6Dtc zvTY5;uf-t0aW(Q6Jdr^c!h8YbH+@POa~gC;mbe*H|8L4MuL z{N4!2uVY(7ej_dn`Hi?Wir=H~3-aq8X8Z;Djr(5C=Q;ZP#@W~($gi7~_CS6Uu_3>n zx`zBl`etb9_50qcAFb6kK0ML=e60Iufbkcfc}~7x8Jhg1?1&BdO+)D)6u%4M6Xdu0 z68H0g{Q8Ai5Aqw?){x)I_671=uY+5|ckiF98Gk{3E8H6LTb+J6_y6|!trlQ^Air@w z+5`Cw^OK(-zlqq8--^11mR`TJ&2>=g_n(bc{thrcgb(mL1i#Saua)Pb4D#z1q-~Jj zYEgWG{JO=+SCHRGY{+lsxf}9Z6C3jDMx4+6Dt&(QXz~~2H{sSOe#he%G(J>cqHiF- znZ6qG8yCVi$giWWA-^?s4K2NX_c-&z*3Z9<>yE$i$^PFz&gOF#d_t4IlpV1lzi}@5 z2gUDP_=VzkFn*!xd2ct=Gh@;k)p_oDZ+T{lC!UFXejG zDGl=LH>Q1%-?ZZdXUK28(*$S8uiu&R0p!=Qts%elMm&Fz-!PK%W02qaI&BTWMR@61*H_<;s zORwLHF8lklZR5jN=kMfiz3c$v!^ikt2*1$euay_14Dwrh`VYnLaQs5?yBvO@_+1{q zAisfa4drkC8qXKxxBez>4c{4m!+7!+ieGX!ej$JB8!qSlxW4>NOX3IQH!MMWAith< zhWysVhWt9}HgpB|`u%K=5p%Tpt!{17md{ELaDIW$dOpTmX!4h`BR1sMFGl}Be&Z7O zgyMHe${@e>QjEtSzm9DU`HhQ`zfkE+CfBqZ(!+7x3DGg2j zQg)P$;&(Xx0r^eqaC`&#O(Q6S{Kj?h4aG0pI@?Ege8|g^zaYPEL*{27zy1Qwk3oL@ zi;TY@zx9LUFUW7bJoyO4?{c&U#V>J!;+MJ}ieLH`t&iQM*Y9FCzq(4B-#fb3fBoqG z-yh2Oj2m-35}N!q-^7OehAnu#LGgPcK0$u#ACj*izy2iV4CR1;5bbFXg-l^I<4{zfONZeyi0PUqOD|8q60!ej~9_ z{Mxo4znNpVA-|EigCW0RBI7T}Z^W%3zx6%jFDQQ_uLYy{U556c_+_1g;+Hr;@k`$_ zXzBI4+P`E_g39>{MZHsse+ z*O1>x-wZ9ie)qX>%ZJ(-`ikl#2GpCG^W z7K{%dzkW-`2aw;)b1{lv;t2AaacjtLHHq^#kl#%18uDAeK>mXKRwL*e$Zw{vhWy5L zXbLkYB$7Za{w1 zdW^pyziEBSAiwoD@eT6p*w&EW#IePY-@viWD1I-*FUW5ocMbWC4|DwtirGk{Gm-lIX|9FL?I`3cPQwKP{ea`qWmhk}^zm)UIx zJBqeJe#5^wUjzB|Z;`Jczlqq8-+Uzb1o9h*4f&0u7=J;2^Gv+|2J%~f#`On~UpM;| z&M1D5rf(p>nZ6pu?^5a(9-MoAFIFr^|tY0r5PQ+@wXG3L~cF4xgmVF z2Kfrj_&_=Ahi{PId>H)&`K|v%euDf~GZ=3{elxKlzlm)P`K@eUAiwD#&fh?OtACTf zAioZ`hWv&nm_LC0di&df{HDWc59GH#0)HUCnb?ruKwU#iuiqi_f7<%}57+JA8Gq}E zklBm@#c&8{6Js+R-bVF7v#74E5DBe#qU4aHx$3G(;gJRZ{Qb-U*ZhKFLeWG>GiwX zFZXYqpB=wd=l<&Itug)j4TFX_{{-LH2TlG`j*sIP{t}SiY7WX!{LYDAQ2yrQcs+vr*2ISVh7*`Sfc%DeFLH+b zx=$H@L4NC%uHg4L`i^h)iR=&LH`7-`e&Y%F2KjZ=HRQLZuA!yZ@8qR-n5E6{rkX!| zt^fBoGd}%0QyQB5r5xX$(jdR#5B&W>e)E(3{usz_{v&0O-}Dsu4f0#rwjjUx37$U` zzqjERPgxI`E{%_0-z6E}Kz{2{6P+Qy)zN%kD#&jpHi}={ z7UVba+dqc8<&Vt`t@C!};QqDJD(;&Zo68#7H z&HM5DnjpV%e|&@dRtNBXP$0jKZ4LQNm-GBVe(NF39Sq-ne{&4qUjp)5G50m(H&^_= zG{|qb5-`>p8Ae&6~{_LelvYFj4f(C9YiQ~9yX*XmzSQP- zkB2(v7wNnK&M#&i!gniiJsldql>LrV8sxX$i}s=TozD3&6u&>^{1}wKiP(_ez_y0` z<~@1-Airr3#$S-%^dk3{fc)0;T;~k=^_NcK_XzsV-_kzJw?KZw-n0ku>se2`9bl!3w}X<-5kaMz)2`8&M( z`OSD=|M?r{9OCjd%om^;A1GJEM)5m=`3%T!+?M$Q$Zz;A^D~fN_dVukQ2erOg5uZq z1@c?X$@g=C{D$MW{s8iuR=my`^6S5P74OIP%^&=E>>G;Tb7>EX--*o6p!g-uQ2bIi zfRmTubejvY&Z4LRY`R+VJe&hTXFrV)8o6fnI?o=i2kl##f$ZthmLw*zeGqm*jUH*sPp4gVZpLg$1br%dU zKf`A|8|Q1#opDX>)vE+0{M-zOyqv#KEGksiO!H;H`_#K$Z!59;~gk}1F<2$ z{$8%1f&7MPT;BotO}I7W*S~wEGvv2=i@t&UX8LN#Z~Pa>Gmu|LT|<6r>Ka;l{ce5T z?_0m${xRL(_f-Gq$6+wz?^MQLX!4h``w4zQetje#Kz{23dHsX(w>pUPHIUy-Y{)NP zj_3^ejhs6f^6Td2_bxzwtJ64t1Np62Ab&xA<0f4H1^EqEF+PC&y2-Q$@|%ba`SsK_ zKa;l{oc3CA6kE(;pf+MuJ5=3=4Tn7eA!(?lfUNoGv2QU z`He3zeu4b@x6bAL;=cKBCN|`^ew+6*Kz?hsHRRV@4Dy@q`FdQ+Bg2@R~T}nAG2ai^=hv-7{(}7a-%WOg{Dx!M9~8ew(;gJR$KV%=U*ZhKFLeWG z>GgZEe{_pBzkBHV`bz_RJ^-IN@qQ*W`D?!K=6(|>et*jN2J)Ns<$43iZ@nMmEy%Cm z|6FGjzigX8eksDrb zfa3QE{DS=E3FIRbzvs{%6u+#ip!g+@Q2bKYgO*;uznpW0|Frr2kIpYX>Hqz=j8A|2 zl!hjM&F?h)g8bGu(qE9@ygm5~@|$+RH^^_jBfdd?1KS$KFR_E-_e}hP{8k%qeG=ri z!mS~{{w~G`kl%DO;{nKTxQX^aem(09`K^f!`E}H7=nC%j`~1^GTfaZ`;k7&O4^!*AirVO z3%GvKcYJe)^8PW%Z;e|+e(Mi8zX17lKjzp3@*B^fJ&@lpj^h`|Zz4A2x1z40rPuGH zbM3TJTmBxycx6i(D1Y%8ZsK}6H2G`3i4FO!CX>5{KL7S@@)zVcZB71y{MO$ge?fjd z+cxO>StQ>;e$$W1Ur_$$^|?P4t z{|qg?e%HHlr<>dSZuVT~^KaqP{>O(fKR%f&7)}0Cj(2hY4#;o1o%TU~(_Z)l`Hg$? zeLEn(VISVV0QrqTZ}fcz$6Lw+mj8d`e&9=6QSE^qU@{taEf!}>qIWqkVSjK9$2ulZ#>HsrUyh5P{d z%{!65Q2g$UUy$Ew7w$&``3-Dq$gd+di!kRp=i4FO6)NSYr?)AI$kZG5+`5pe9LCqHak_k=F_WoN~UD;hvwHdd z-=EL;Ocyg>fF^&fd=X`k-}+422j#E(I)0(}B~DQME`wi?-@vwp{N^9?{6T*Gsa#(N z`Ax%^pMm@)a@UaGxX%^Nkl%C``3v$J#?v0iuVM{p9b<>nyx(TmFuo z+}+@_0mk12@p&~qp~+v$f!L5=cQNgQ{MO&(_yzJCzJ*VaUtgWe=i&SO=8NzN@>>%d z@>`#dTf=wH-&SLM0Qq&~t|7l^JZ_Ed^@r+G`Udiw>8l~X@e=YExd2cO^m&U{MH*YK7jmIxHaUrdhiNo$gksAX~=K5jrKr({WRJJ`K^f!`E}H7 z=nDRCexKUr7j60bo9^f5;{f@a7sKbf_=LtU<@65u48`wL^atcO&fs_k@*AI_4DuVE zC7+@AW!nJq>n#TP&D{HI$Zx)g`5DM>9(SEHir?$_`~}Ew{uB8M#qZO!2gNVzJQTmg zH59+pbw)pa*IR6X*8A7%13Kpy;e#=QY}2;mTmJG8zKe$Q3uydOt{33^0*c>H=?}sr0Ysha{ zJvyWKor&`?D1Hag9u&W<^HBT}*HHXY*BSlz{r%x{e!I=@oZp_c*&@yu;QG4xoEM+a zeZ42_7J|N$qL4M=UdH(|B zH{#ZiU$Fs)Z~lI1!`F^!^E01UZy?(Ep`Ki{= zXN8A5`J0#R-*3iewF&PRLzBN&-k37TZ@oOPCy?Jfp7+~8e&bn;2Oz)I*^D0`zkzKH z`E|sG{Kmg!{n% z72NB0mPgW&ZTb6Vcm7a)KEV9lday zkl##f$ZthmLw*zeGqm*P?+<2s`-V2Zzv+Izk$>{sLAGt{{A@|a+tV0tq47((K9S=a z6u*1XAEWEny}|ek@|%ba`3?VM{DtC|ZN1U;8~0?q1o?IEb9@8&tv2NTC@6k2enEb# z<0kWYi@xi>^*;E8;&*S_g5sArL-9-93W{I)mOx9d-wO{}?9w*B&vgCPD-SR~TMD1Y z;uD(jfpT>W`3v&ve?Wghe)EguC&+L7E8{Q7Z}m6w8RXZots%eluJ{1?_3v{10pvHX z$M^v9TjACye)q>OD1XE5j0YgUZa3Nk`Ax)z{Cesd@*C-!p{3XF%A0<*_4ivIxwbPt zr5w+=rlI&ffc`-7J2&?~K=C`zc`icnJ1_5VK=I4A&i2vG-?Tr^ z7m8m#`{uv!`M3Oij&C5pHExaK_g4Hu@p}+{q4+(J_MrGBPEh<(*F*73-=g)gyY%|~ z=R(Il(3Zc;EYP|BTm7p4@iz=3U-4-)`D^8|ltF&0eQ|4Oe3*;(gFt>0u_3=v_+5s4y@-5;#;=txqzuLHX!>Jx{ifCM3G(aK zz&FURTaz*rzijIb`K@_AAiwp@y!U4K&h@i=0Qn2@TMxb78SQ+$v(zgU!di~CH_IX#fZ`g(PAis&&kl%{B zhL&Ex3oUcm58C`bJZ~p|(`%jiLz~~c3iF3u&S+@z*UCFl2Kfye(m#;jILB$ukl!%p zY0i*eH`i&5&wYL?+ZN{_cp(GZQA|*)Kv!XyDIs*FZl|MU&?WxGaBT# z-g1mHn#6t>*r%vn%WGzF0S0U{?L}c zVRiELhvX}mUr*T)8}gg>rT-wm@%!X2$Zyz={DqRg+mnAFzmaVX`K@eUAiw@<#uJd= zI1l3k6u;x}3-X%}J)Q4M==19izz@i8+>iD^e#8Fw2Ki0IhWu94HMI2lJ$R$h zhWu9Zjph6N`}}6y8uA;CIi25E?epsoX5S#c=|I{8`K=EkUqOB|u_3>Kx`viszdO!& zqxJi_jyrIcW|QjS{*P~Y4f6Fk@)a7tl8x{i|b{Zp3%^Z50vvJjK?6qX*l@+^6Q_)709puGi8up z_Z)o%`HgIA$Zuu)0{IQ&7+*ks>)#QB{CeCP^6Rc2%lAw59p9=I*dNGmT#oiYe#7$k z1o=(GhWu94HMI2lePPFwT7SQA8;!qXJDwmJXnVD02;qmUYata8;FhK_lNie`AxSnUV!}8yNqLg^98@F z;}?{_mBSCnZ>Fz?{Kn5u<@bh8Eq)z!4f(C9YiQ~9yTOAmp3#=Sqq_I+)ZaK`kZs%M zH;y2GS0#VJ{07Q#l`|UTH_yfE2b90zCh`H~*WZj!Q2r)jLw*z68YO>iUm(B!6pn9D z{N9USkl%0s;{zyv>)ppXLw^0->>K1a4W>Pi-+IUxzJI1Ke>1Tmzk#}j7Wq|qquECO zY~DHMSaj;A*EJqj`Rsw_afu}c@w*_asG6%UIJ5cp=70RF9?knaZf>`1x8}Qt9Nw&| ze{j00G;5xp#qqtAe82Uk9B-H}9ka0GJcREP-;Dg?-?n~@@@ezBnsR*qRJZ6t{Jr+& z`&l=qKL55%x11^0aM;eB?c+#Z|FAmSH}$um3`38d$@x9`{!uIc`&4&7$LkmdyGS{G zaH{)Y0lGDY_O@g_9M|1n*oyWjZ&UO9X+Kl0s6XS-PW}9C`UiXbhL6>JVd*}7C%<}p z?>m3lr7eHo*Z8|?|MRoBF6VFSbN&WR{#toG%24w6OZ>e-`CC0e49Z{k3;y!43~!a&G=1QoY7GH zu14D+ztyY6AiwT4)`R>;Vx#!|2G19YU*a0%*PqGw3-Vh(N(}NFaBIkKzL)c3D1P}{ zRZ#rW*9^t)>huSSU+Ow2eyLl77J1d7PTJVD(1h3ozc+b zFXenF`3v$}f1mb2e$zVS8^~`aHssfhU_J}-8`##6-^%s{@|&+@C+f&A9QhWut?Lw+4`Lszi8>hb*5UKrEncWQV3kOp z8<4-pkiXF6FMi|E%pX90{SR;h@|!ot2gtA66rUi!nb?qD$F_$2My_=k@>@sT8oo3B z`q{@iLw*Bp4f#zw;MVA#UqsGT4Ec4t(H_WeA~xjLQ`eB+NZ$-C*LMRx1=1`RUi$Qg zvon9_7Twf8cIFQYJkR)W`pi+hlkZ`hgPTX~ z;DW{W?EL#yoqyNgcT?5x{`(@`4Ze3rVXp8=cUKzesN9f{gaz+)7d00dQKC}$Jdt6=jJWff1f~byny-3YzsDQ#QZ7w z`N^FH8-9PkYs#6j;f|;A_2%W;=j4 z*27BMcgmUAxOXGQd**X~FzvxE%+IVGiH!+sQGetR=ZCN!Zv2tseGc|dY{*ZToBhKg zQ<#tO`NMSH0u9fy|K|5}&RM_(7`MlNosS*9LZ?5PqM2J;+60j|9s^9{I>Q|4WFDilZ%JU@4~xFHJtlbwjY7l50`3qevz5@ z9Q6DyzqVAv3a{|@pj^MXRKu`SI=a z{rWSuhxH$&dY$FPRL{xj?I=ky1Lf1T&E+fcsy zoie;_{iR(0nf=2(H`8Cr)zds*xQB!{x8bimU(h12dK~rH=O4BCUHX&G7T%diJ~BCr zKT_9tb=}VXstZT*dkZ7opS$~WY;S~>JFm}7Y&^;Stv~);+Jm%2XL~o1 z`Y?67?)vjs57+YdjC=EXXItY~Zp(-V^L&n^K792W`nwn9iz&lf^d}xb|A~#TT*q(z zG3|pEdDY_|ZlCe3HotF^54NQ1Pi_3JMtfiM`zh<~{HuO)tA;stq5TVaJwCrx!+ex& zef-N-4Oh(E@#~*uJsk37*349Z|7rq2J2xC*5^Z5&$h;? z^U}Ao7$4Zb@h$Sf+6zyy9;P$?#C?XkM1PFEc*1!$UN4#c!m(_hM^T@B8=v#{bNiC7 zFR&g~!C&|he=quHtW7x{Mtx#qXt%%Bb6Yt>i@fUbfs3EJu+8sbi+9F{JmN=<-`yXZ z1;2goziEC@pLdEghHTC2?QYIzpFE{u#PfsrUVr@mf%TyILz;97$I4U6{2^UI88m;0 zSDwQ67oAe(4}pCfnm;&V<13?h{j&e`INO8f6XAO5L+v~H?QddR7(N+4jIZuawg=50 z+=Y}u^M`Og+k@s0{sOiK%^zxFL-Pkm-G;7UdDY{JH=f=4{?I|E&D3n+Cw8vyOh458 z_KgpdzBkC#75On{t%hnH@_}+bb*+Y1NAP?OW&SpLt%j3sX8g0`6=ma@1!v}aHW@Fe zZ>+dAG2#r77%^tn5)kD7fMZ&~}SkL=5M+uEb- zS!ax7e>Of;tTTqPKPzYUWq8W|XzE)G`g=vTHKyOi@rLK~e>=YIy7K3(pAXpl^^V_a z_R&rL_UE^nG=lFVfUe&_Y{+l8f-=Z&O>D?-BsSzX5gYQGi4FO6S0c{n`t`(y{03q} zersYweqA*2BZ}Xe*pS~yY{+jSHsrUO%yWhRsoybA?9lrCXOHmru_Y~i!hn7wZ5i^L zhzn#TPjl{udUEY|~wz*q3q0-Hgvi^7^N3<5~LGj1R;a zYTuooEJGQ7cJwU&WjuJ6vS&Q$9UnA*)#IEOF1$GBZwtQFz5cuZZy#uUrXO&;s^@Ui z@7t#-*Ee;}-@evlwR3v3al@85np!xrm*0N#yH#Fhd}RE6dQbk1N9FUncd%c|@10El z8GpB;9C%#t1fCy{M=y+b9w&@p{5u@~JO&QK_<)8nAdOV)ZalppuJs4lZ zIz!!jOLywo-^>1eL;7Lc9m@9ph#_vO?T^RRN7GNn&y)H0YTbF=lkCs!Kfn7X{~maJ z&GtWJPWQ3(f9(a`=2oBWCQv`~_&MvtAw%4E?cedNMaMNg9y0r53$@K3CNI?)AF35j z7-ZY_H~!X-@!A2650TiA&-gfH(D;yu4UG?(*wFakp5PAz8Xr8dq4A+2HZ(p2Vng{J ziH*1H@67Qm5gQsGsz0zjXnaV-hQ^0XY-oINPqHJZeJ7u5i{XDdKCJV^M#J0u?r=}X zulsIie%7B~cP;IM{CZ+Te*JZnL4GS@Lw*CXA-^@TA-|E>kl#dX$ZsY#S*pT1q2G)c824X{gYvP8kUw0#I!~fLpS1x$%?KZ!2jNycUC9QbEfccwd&|i?> zOl-VLH*9{EpP>x$>z-u=$gd|h>%d@*9Z_`OUxWB%3_e;>UWeu zegm-~zcsNTzmeFG-$ZQ4ZzeY6*ZrOt-aWdS*}yvHPl^u zy5oDwhPstk=J>+n`aHTjhq~c6bG-P7;|%NVaZCQ)jzhyJ*VBf&+c>UT`I(v6?)@Qd z^S3+YZ{I|H${(|R_-u&V*5)UiKRa$8@E;E;f1eMQSrFc$g3XT*<{FvZGIoThklOh^P6t}-{p7XcmDtQUG2A1UT*Wd*XiW%7ySC^|GWG? z^uYfgzi$p3F;AP{Ka;=y$9?%*|MY*C-|hb&<*(+wdi>tfJM7SQe7o@U&io<%r*nVQ z-%p$Ezg*w>aFfnBmX93Gb-~f@`2!f|?E2tQqZ=kJ&NyY`gWRyCZ_3-3kjB|_5&39{#ZkYR7>i=sfpYEJ)aY(4^zJM zU*FHr_$#k^ynM5vKWy{+_EO#X+5H>{SS}iCe*gRRNq@&wXRMEpxWwEp6C3_Kjyui! zRa1G-YN{LAU0+Y1>Ws+`vVIu8iH$R-cKp@UHJ0FjY0s}>ow1UYIqo@P;{=|+?LSi2 zn7w=a@~kuR&WvyLClVWazqGoY{lTJ3(f&3=Tp%`d{j-|JdYCet*Y6~*|DSkEL+v~5 zIqDj_^AN6J{9iYK3LgN zHda2cQ;x*O@pgTl^)<0^_MSXn%9+?W8-KPw5gTiFx37qe(A~c$HssR}p$uQ8zWLAe z&5++XC+&m$CSpT=;~cC9`OVXAafbW`>KgJJN8QSK;;qvA-`;<_?1D3&YV$ks%#Ppm zQs@4X`Oo<8pKrira43J&&Quo23=pT zZ=J^Xi%ly&D%%$H{PT9xxc^{U-}UrOZs+qAx0mPd54)Y~8n>7C=hGU~oiTheuP?5z zSHHi#LD$#wj_eO~eZAU&_F#4D=UaKbu+Gr+^+0Us`g*2sh8B$rdVK5t{aUX-eC_RS z{=VG5->@2fU&k+)Ur)Klw;{iAC;Wllzi`v&3&^j#oifO8CN`9BHQO5U>n#SoUy*TZ zD8Kv>_yyhn;MSbZ{aJl}{gbQ*`SrW9Kak&gXW9e#t#+aBAit5=kY7(-LyNrX@sV#{ zH%nXo9=uD(uY09`zuEl0fnR9y*Zktzkl#$-4fzc}|_SU69|zwubx$ zVncqzrsOXazenK@hVWcT)KIi-))C==Vt@uulb#Y{D3BZ&F{?98|1e-p7xF18PB-? z!~KiCfcz$6Lw>_sJRgu>&$bQRN@3@-@i?A8$Zy_`@d1>-?gH`?g(f9!Q4c}*c0Qt@5;v3|* z#;qa0^=gb?AisgXl_9_GSlR>mO~i)$dg>bT8|j;&MPBtd_e?Le{(eB+9e?Ajo%_(+ z{APT*w-|q+$zRGfW3eH>Rlu#$&EIqn{RR20e}*rRUw<$C2l@4E+o1eqtc)PPnX%W9 zUw<^?FUW7j*kH(SexCXuzxAH95Ay5xpgoY^Ol-(+MO{OF6a6!^$g3W=TjJc-&%Z6d zeP?{|XP?r4{;tV-;|P5x4LD>B}J{MOgee~{l$k#8Wsegk}f{3c>UegoSY%3nup z$ge+??LmIy!;HruzX`X7{Klv6;P>bI@;BXpACTX0J?(+~de#~8TN4}d>!{n%6)dlM zeEpc`pKTi-mbt$(f5-!j583?AieG5*mvUq*HsrVZA#M$gzwgo?kl#dX$ZvR$=LhoZ z*|wpZzlpKWkl(yL`3UmsE@J!z`K@tl$Zy`{4(4-xe(N9M3*^_IM0+5=nb?ruin@mU zCi-V+kykxFbM?Zl-+%T*_x!@2)H#1^8y~`2_iz8PBNRgd3T_Out<^7pr#uiBCanxC!BeBm?ZW6=1e9GR~f@|zCB z2Nb{0(I1fC{1?g~zv+4EgZxIeHRQLleS!SO?=l`h@jD)OAisWV<})C_ZYhozAivd- z><{EO9!`58zu^dcg8U|8Lw+mj8d~I4j}QN3%BO99&s@FZH_g%i{2}9$i!BY!_+Wl< zZOE@Xinc+1s~3que%)VL5Aqv{4f)MHcSC+_VncrY_ZWYn_&poHAin{(hWzGbdA&jL z%Uq-a`OWmzkl#3p{($^C>KgJ}Q`gWUuX?=b+DlGp^LzFO9lw74lbWD)d{~G4orC;< zCVwecvva%#`K?Z-|AyudAM*DH`K>>qe;~j9V_bs#dbVxQ_{-RrKz`E>_=Mv363QUI z5x0i?#_#a=2l=f>(>}d@lWi;&(otKNP?7;|7Y~1;|H`-^8|t^0%^mf&BX2 zsSom-Z(w`{`3>J8e?flp56NGUUw=OP2Kh}BX%FPLJ`ex@hp+R1yKK1s|E%6t3qq8P z6p4~55#2!$MD!AEM-4*s=nSG0qDCJzL`1Y@t!0+Ai^VEYf-vz*L9|4aDDi)P&pn^n z{5R)$j@SEjzT?cC`JVUv-nr-A`|R_8{1#$Eegl0CZSt!9#*2Nq_us$mbJn1K)2u_U z4`D_8E`?uc>(|;#(gyi$F2jeR`-kOteFyo?#D@Ha?{NPH^6MGfqWVo-Kge(1lkp(G zaRM>OZ=rS#`Ark4Uy$E;1^z&O{pHLD@>_@v`EBTH$ZsY;Lz}#6f9O2x_Wpg5^Skvo zzC85j4+Wob8R`|<`laoNjq3MG@-gIhW&DEtx>aa{{1#%P`em#)qp!%h61Jy6NWzZ(C+HZElmXG(X z58Lv2uWjLsVcuV?#QoS}JpZ7rU)s&WtiK??h3B3jziDBvALKVILcN0gx<&B~@|ziJ z$ZsGvs^6VBAINXHk;ez*H{sTh-*hJR3-asF`5fj0`HkmN-ypw**pS~qUqhR` zYCrGMEA-xM+WjWgo{ z3$Y=;k+FvSdW%7R{kE*XAiwDfe1rV@QPeNUZ`qyo7v#5`hA)uccq;RO{5Bjjj%&)Vs|DSh>OZTI=Q|9J5IX5Z^uScUts&r=`J)-UZ$EgSOde#zV*zm3Ny z$gf+RdIkAS#D@G9YRiz{Ky1iwvkT_~`SrKr8|1ef#`+8Ln=Yh&L4KPH$PMJTkgFlT z>3n>G{5tv?@*C-EXp>j%w|)6LH}v^ke}lp2zqz|V`^*mi|M#2r`_ICv+@C#jTTAPg zc7FP{7Wqv#;veKU%s86AcQv~DZDtzHzqcA){koY)J41dWV-5NB7K8l8qepXp1-|>f z?efvQ9*wSk)55p29^GF3=C?+>mTvtmH{&1VH{Qg2AioXA4EasOhWvW^8rtMl`{~|z z`?Gz1XCK>rzVpi9^{vluF~5JnFPPs%JK@`?es3WksD5X`FQ|UQth7P(+suYdNl^6MA5-5FXR$_Lap$ZxoV^MU;4+nEpKH;%zK z$ZsJwUq2Q%AisW| z(aw-xH!nUwelxM5`gM#o_@v`HgGf3gp)_wxzrOO@H8eKz^HFP`@C*%_Q0&zX`WS^}7vjjm~d;p85p& z_0KUM$ZsJw_88;|9Dh9A7X`RjQ6Kz<8u4f!pz z@%V%M=6mr2@*D19K9FC}F++YMu_3>XzAc?#dDZ@uZ*IRupWic{9K63s(+@s>=<{35 z=RfcXZT-@2Uc0SDe*N#s59GIe6MrDTX<61=kl*H8_y+lPj5XvpKEd@t^?NFAjm~cw z$N8c9T@=3{zj;;M8d@Ko!Y3^7&fxXUJ;{6^znR#OUr%2{eiOMF+T>OHWzIXO_wUcI z*sZ_r??bN-VGY&;)&`@kU)q7#kl*HyxHYsstVMl+{Q9+NgZ#R6SU*92J!4z+{+Q=x z2KjBy4&+MoXJ8@)gOFmY1%`NO$G`}NKzJ@k=)&8)rp5FWWx$f-hx0z$``A%Q`CiD9~xq|r(w8MMUGstf& z;u*_XxCrb{@>IG zRKNd6J|MqoL+TUcH*Cau0rKlMrk)y0hsIs^9bo=ZETdJ^X_Fmi<^C zp!)p_exdsPGxI_9%P|ktFL8wGm%h#z!tWbM}-{lt?tPgpHq3_Sa+SKnHyq-b3 z{?ZOJb3Gux{$28e>UTG;AFAKo@e9@O9{2+Jb&NISH@?I5f&7LG84vQCU!a~rehY35 z`Spp%ALKW@k57?{_H-#Pj^3G;ztg>J`{YW zd05||tzT=;O&hA;kH`n)*B`{|5y)>LHsm)Rj4P;q8SCsEdVTwl>jC+Vm(kzwgZCHi zRURLZ--KI3e#>3dFI2zWiv*~CKW09teu*?#YKge(XEA(?hAsD5w7FI2xgRspKt510?CU*ZhaFMT~!zvPxI$8M8X?T`A- ztaJ6%?}l#Xc0`$T==$~F<9=*jC*KZ}NHz@*B42`3&;wM^VopznR#O z-^^G;egm-~zu}jh59BvKLk#kpwx)hTe*I~z4*9C1u`O-=(hjtZ>i0tYgZ!q~xL%Oo z^g3;j-}uJu{64hXr}|}VhU%9%fc)lz$2dcNUE&vKfc%CZkPpajexLq^-XCAW`Jno} zi20!Uy_kHU`Xw$<{n9spHhI;4`FUnOzR&NwuMIxmDZ}_J=68DhLc9K&Ut&Xk{iV18 z`E~yw7m#1~Pud{Ah1gL2I>s9En{Z*sZ*#~Pet!GE{9cYd>T98>+K1*s>feix!1L4G}BTlD&NBlQCE>yE=G$Zr@s#u@VK zHzYrh-?GjfyiQE@8*kzH5Ay48W6{zyIgnpHID}tKT&9 z;Pc=;hcNXdc+WMs(W~6>We)Cn#5AvJ;O&e6d@dK_8``Ays!-Rqls1vgOr{*C#d`h6L{Q2i2T zsDA0&fHry6{^Boxuw$R!Gsh0r-#pjg{;bb$_&$C=gI{Rtmv*zz*cSPXW2sM&->?MF zUyxt_C47MVW@1D28yIWIuOl|(H=jU%kl%a{ZIIuDTSI=`s5_h?zj++KKz_rW%m?!8 zIcCUjBsS#N(YK`&EU(&sY0K$8==1wXcYl_T9Q^!xpWlMdJm=V!wtmg;toQ}_E!VJq zf&3Q7`U~=#MzH>Z{5I3^dj5Xx9v2%g^`XhLJKz`G8oDbyJZ#0&F$34|=_zdd< z$gjVSbA$ZmYncz^H~t!*Aiss!kl#RGLz}#6zri-=|Dw0aM5uPuiBy5m_Np!yw$Uy$Es zR~~Or{l*_~{{ZrvZ{vI*zkW3Hf&3O?Lw+0j8uFXT&(J2X+JEj-hfeDAyTDR|@8^^K z;vcrY`VBwe^=(1cH)z)f+7Z`={KngP{6T&jPkn;?y2bGW@|%ba`3;OURKJeckl$!- z|J(1~j0gFRxHaTAY)1V;^?L_?Kz_p*<^%cl95duM5*zaC=-bi>mRIe+_5NjF=<}Pq zpFd08=aYSY3qJEAtPjxEulZgW-%$PDMLr<){ zC*l)Szwtg|kl&13Lw@saxHY=hx18|{)$iTR2h}gfJXF8L5vpJMI%5dG7oK_E!hL>U zd2ew4TV@=5KH29tY)HL+jrxGLerfxqSnoi7{bS?@)$dyPh3c2MK=r#een5U5V-5L@ zk8*t=zwQj`ALKVZiEohK_#^TI`E}>=`UdhFp1>!_uX~*NKz=i^A-|r!hWsXSGqkC0 zwcq@x4`1%{yL0#bahzx9^`V&G)yN;(`nC3|v_XDj!3W51*q!?akYB$CzCnI7u_3>K zv4;FQVncq@#rOpIb#LJt)+<_0{LxlYshbTh4*hDzm9upqx$_b^Fj6d7v_fQmpDT8 zOJ8RU;dhH;5AJ<`{Mpq8pZ}&yhIxO1Pq!@f0d4)#F02)X{QBRMAIPuUkop4o&BTWM zhK=wI^6MCD$Zz7gX;i;wraw~8Aio*6hWzI1aBJxEv#0P0^6Q>tK9Ju`Y{;*t zuOYvQ+zf467qp*y_MKB9!Z?iJ>3-X&8YshaPHssfx#^VL@8>aC1fc!QGQNJL+?pW4ekYE2W=LY%B zlbH|XH$FtYg8UX@Lw*B&4Q=wO{Y#&H@q|9Vm%QHn{Mmm7Kfm7h`c^jK{lxO*4{iO@ z4%D(Czs=LQHM;xXv?)G8e#2(?0Qq&B;|t{1Gqy#a?@&7lX+OyXp>j%kKN?D-oJ0U z=nuMoAF$TJBW!G+->{jzp557Eem(6-+mPRoxn7Xp@;v#1{JKAq8_2IGHsrUlu^_+R zVvyhbH?9xlx4h5!L4Mu$?sSIyhA-Ud4EZhN=@0VT5F7Fvhzo- z;F`_)>h~Pg?-hgBw?4lGpMLE-TiW`iopEc(Z@P#20{LxlXH>s0kQ>NvA~xhVGS;Ym zEe825xHaTA{+k%&H{#Zi-?9YHFQ|SeFdpPL-phE9--cs`{3c>Uem#8+ZSt!90rx)r zvp&B|e|zx$B7Wz@q3d^Z>UCxEhqiuc=atAE|Am9OO6snd=4lEpKrgKEiU-$^}!{D!g22lDGVX2@?OHssgQx1|#- zuiDSE!49|g`CVC`Kg=@teErYcO!xo&e#G|Q4{gco*;aSAw0>!qE$(iS-+U?80@d$K z<6MO5cjj^Yd+>2n{Sp_D-^5r$e!ayYzwvC&XZXSWZ!?+mf&8YM?`FNed#c|}?{Wd; z*Imx~0rHy?^MU+^%XmCMelxKlzYTp2ZSt!9(pP=ul|H{|(ZTwg-Wt5W=<{3f8MnK; zrClGay$x-U-*OetN08q<-#BN;Z=4@Dp!)R-jN|*JseUtK4fzekhWw^qj&p|m`llHW z@*8k#sD9&~cR53T{WY8$I? zh8d_&kYA5mLw?p5n~ZzMM4*U`6S zi25D%>H9D4^ZP!pXSOvL4nCjktKYCS_4_0016sed%g$U6$ZvBKZVkP^_%iDyRKH7( za{;Q~rSJpt>lxdk_ZK(v_<;PTi#Z?2Z}~r-4hx(vEI=4L$`4~AiwT%#)JIkH>qck--uhI`u!Dd4f(wT zzfk>-VJ@hCi3?P}^lhN}CASRP7?-u-9q-!FW2(ZT&gGmPJ`4XjC)<5A%Ej`Au8l59BxekopDrbz9>L-{w~GHM;tBU&kNFZzeY6H+%!%AitimEvjFhn;GOcUCQGH@*7@Z zJXF7v@eA@BF690KYW?zDh#DBG1F%@?DPAqe*SFv z!TYzq^&xD_>sw%bgSLLHJ&HESulo&igZ!37SRX-t)1vqR`E3?s{Q&tb*KvKI`VGW} z{KgA#YxqI^=I404Kz@I{F&&8|iCklUMDZ zd+e&y`uzHByZT*l@cCJ<-|bi*4kCYO{nAbc@_q^AH%%Zvkl$uK{DJ(s^{Ho&-$ZQ4 zZ)B_?zmC|D-*h$oL4MPRv_XEupLl-(@|z~z#qZ~t>bFe9C&+KSkNH4;8;%+Bn}`kh z_4GBg$*cDBzxd}P`}{7X^$l)D976ukt`FA6wNd>}A|H@nw;?`3elxKlzhNVu z-%$NBHiGvk#~P@9i4#=6 z^!1=kUbSCrm(zOxe!$!M`M%kPx&Pgs^>$y@TWIT-cG`#f1^Eqk@q7mP4Xfb~h}u#g8YVmaek2Bgj+*?z8&s8s8wl&70aLouib|H`s+C#$Zwj3=Re4=d!O|S-)izJ~l}@-wu_tM->4dQR`>J6Ck?kG&iG{8``nTkzSO!Rs@$ z>jUj{D)j>Ln_i+mKz^G8S${!(-A{QwgZw69Lw+M;4b`tBHsrV5#Nz|^sDA&A zUy$ECFZEz__rK-O_yhTk|HphFzYWI>`Ax)z{CfHt+T>OH`wu+`$G zp@V-vl!x(K%rCWSwDn6nokIPB{5CH#ztOD^WgmP(^}8=^kl(x?>o3T!XKah^e_!DG zKz;+YYshb&pZW#)jkq=Bx6Hxo9msF~6Xyf@^@aIBehaZ7zYTp2`OV~KXp>j%uYBpl z_51wJvE|_VoKCC0kD2 zCa>DB>R#ym`Ljj-Ik^Azrw;S^BtFZT)C08jOFOX^8}gg~!u%k=?r7Fqkl##f$Zt4? zdIb4Rj5XxfTMY6WZlgcQulKAEAit5d*O1?|6#0StI@TIPe$!u>59Bxejr9TKHxnE3 z+tAn0Ca>CGIplPW> zZ`q0U;Mqr7+Vz39|HC6K^6O?|ZczO;>l1_gy6{reqxvNdAiw1%j)VM$ zM>r1h>pwMx-`70VZ(5LiL4KQA$Oq)NkgFlTX=d^P`E~R)zvg=+>s|Ik~%JCEdV2|v=()-P>G+o*nLWp0q)v=RA&{DzJ30rKlMp+8i=TuTA@ zjl_ohx?AWE@|zyx{2;#pw}$GsS^N=aRKK&68&tpKTA=!!jq^eEOJ4`oFMT6ulUMD3 zbo2WU_xXLiTYt-N^^4E&;v+3>{nGZ&Q@>FC&cWOuzj1T&0r_pV;26knAvUUCuBAZr zOB_Ld6K)OpZGO-BKzEY=j*R^e)FP3uMc6Dk-RtK`37zM($4rcX&PaAir)j$3cF})0_|Fx8T;OewQUbqw^c);rRpd>*nTsAitT|kY7(*kt?+IOFR6XdItGT3o}2+Z`qsc2l-9=a2({f*_XZ` zzmc(q{5oPoe#2P&fc)ma-~;5>&&T=;@>{li#2NBi79}5$-?#|p0{Lw?X2@?MHssgS z*U%=f+AlZj?@sFT`*HXBmgX4TpY^W4yN={{JCHB5^-H^XgY^xn-^IuWn#TPjdya~@Pp6S!^`*v`3<-=+<^T0lW__1n;2`zueTWFw~XidKz`HP^auIPOHFZx{FW2Q7v$G1g&UCH z^kv3_{Dvj*3G$nX4f$>8YiN^K?H^lxuc!O!cdhRGi*oHS_h-9}bj^RLUuf3{+W8}L z2l;hhWp0q)cn&T=ew%YS2J%~o4f!o!p$+mIhzC$xE z|3F*6w4j0gF3-)26L-%M=Cucxmezlq!oZSq?8&(FJDU;X~B`}-|%#liP) zy{~V(*PYG#OORi0YY)h8UYhwpe&aHn8|1eT8}b|IYiOI+?{=^J^_@Py z+jQ%1xNhk6A?z{IdDa7?tzX)Swb+nf{|)ko>h}WLQ2i1YsD3ZxdO&_1V-5L@tbK<3 zHWN8F$Zzjn9B%dq}J^?MC|L4E^kjUm78o6HCDn~4qi_4GC5H<6p6ZCbyh)_wHF zKEJ+OfBkQU_FM27XW;nU zej{TI)vvc0!{Ol*azyEjUi37jkUq`h;pWm?ONInZ?J%F};X(!wo)o(*SAio)R zhWzH=(gyiWH;^w>zl`MvD68MZwHfkTaBIkKn4RYn$glef`GNfU2dQ6>-?RqjgX(v6 z=7Z{&I79VIUk}wUxh2c7+ott<$CLl+{r-3#eZTpQlUu)A(w>L^=I+j8|9+_K#rm+# zJuPkh(k@%w(;~llt?Uf>4Hsp8pJ1+j{l(cC@|%eb`Av*9RKMP0kl*-8b}fEz{}8@9 z-Wl>+E+Ze1-*nk{eqZ1C>eqcQ^Y0IH^_$jaK9JwA4*7!oW@1Br8~PgBruBQ!CdX{v zxBf2l*}>=Q>77CS_W2Dz8OhI1-qX_7ueGz6o#{D$kf9;kj9 zn?QaWI~T}rGsAdiL_hGGSHvC2Z@{e~zh&Hb?w9||?+?faRKMx_%m>x)2IK?PFL8$I zm%a^Xo7V5RjaR;?&+kez4}Lz%4db`q)9-XoOIyFR(+>Bv$Zyz~{6K!ojhVlHH`Q;t ziR%IRZEmJ7$Zum~L4F;vQT@({U#Nap!5zr2$E_j1X%h7db$!^B`9Xf0O_&el*Ky2{ z-#~20Zy^^$+q8anU;cN!KmU7Dw?4$x2S5MNTfckr`i4)VtzX)n*pS~yZ5Z;KZ{YEV z#V%ugnQ2~^e#iAe^?M_IL4E^c4f$>CTp+&=w}$+tmGKAin=a$=2Kj9!@OXgy=8eb) zK+w@|zfIRKIpEkl!+b=R3%6_!jFg$Zxou{6K!= zjr0Zib*wdp{HAr859Bwjhi{PIOl-(+LtjJNw0;j?d#8K*{Epmku>QuC2lu~ye#1W0 z>kp_`XzSP78_)*%jVt31$*fcgL@OvR9wqw|DG* zf62Q;zrK}yxnJ0Y*Jo(!mv-8j=Of5(vl+gO?)_W1mHa_|{b=$B`OU7O-}1d}r)!7!HHKM#_rvcV_=UE9X=h?Xe*M^#N`D(r$jt^+5Hz9r=L# zHg^+4^_#Qf7ragNOPrwkWvsJvboHCKHbZ_J+#0Iiv=*;#Aioi}hWwTnsc)!$N8uN$ z-|d+Xs$b#^)h~TLRKMhwEXQt}*6*P^&(!<#>znEG^%18J?RS6t9)@3N{n8Ex@p=OC z8~5h<2lAW#NIoFH;RUV_RKM;;as~Mfj5Xx9{Dk@i`7Lwd3*@(KNgL!hKg9D1s^2+z zzJdJaeennK8}?y7kYCR+Lw+N%A-|5kEkpSI+O98c*;l`_jvCzmmSNW4Z~*lhsaI&% z2ioCC{DSfAX@mUw=jade>lkauZ~8IU2l5-JT|<7$=F~69Z-ZMy ze%-A22Kh}q7YzAzdodr#ZzeY6*VEUK-$ZVPwpqGB`*Gje`?0?IUAMbG%fr3C9mx8C zOQWq{+T}oeL-o5m`GEZTr)h)yx@X7@*;G~lUMC0FL>>!zWP1( z@b2@Sxlb6_h#6{5Ct0pE1h0a@<@zSBXJ>-NWPt@|%ba`Spx# znUC?@|E3)|4)WW~flrX%umQe7ejRQN`E_rP=kx!m_YZLwe1iP?otY2hw-6ih+tAmL z-%NgnHhI;4wvV6e{rwMP^!?^M1HWVYKA${@`dxTpOIyFR<3bZ#wkH#Gvqfh)=>R=i$Q+NvJ;#kzhy7lAivG=6P+Qyz>kRqL#D@Gf^fk1}tM+p(=X*b&{7d)wS$==;`qt++9L)P+Ke45)Uu!Q$ z8|1evb1&bwPW9`qA{UU~Ol-(+xcXjxU(i&)nX!ia24X{g-SQLo{Sj0B=0k7?^6PMG z$gf-QK4-|U{~G58`ORNpK9Jw|RUUtk-$HE2Z=kQCO6JU>_;{4jnC zKGSLwTiW_HzpLUGrUYFm8pK+ zuka1>n~$654Ec@6-^cG0pXxVn%6uTdVH4&9`Slz#?tQUs-7M^=X^?MQdL-l(x`9t+foI!pwV-5Lj z>|7wf;oB3OQP+okdHzH7OYP?Ws^4bT`!bRWftKVPi`-^#pS%1yv{P={nerd<~Sbsr&qbEO*-*O81f&8XZS?@r8o73nE z@*5ay$Zz>9<3WD?Hzx4&6;u7DT_-q0ej{!T)o*@{^}|?my7u)le-57@zhQCa1NrqF zGvqfC8}jSu+cHG`UOno_-p_Y_zvZBQ-K8guu%UhRTMngum!v+R^-DW`iR%IRZC1dS z(cM3k+wlX{?-=|-^?L_>L4G}BTXg@hJpDm_-72gHp!$u+6NCJQizhlmew!7jUy$Fp z623rw{ff*7@>_@v`EBTH$ZsY;L!0VW`x`F!!QcAocT!is?t@`o-wtEF{Tk~nwCjVl zzd{?T-_^*+=={b>To1@^b3eyGehaZt{W8`Yo!`7F*8}n!R-fPu`3+~%2Kn{4HLBlD z@e9@O>f{5}Z^K+r{Sp_be(Bpl^-FFUw8^XX|5$XD#rpg%Im?Xgknr!J{T6(tHF$l4 zwtmg;>Rb=VZ`h3I8^~{YnS4Qh(<{^?$Zzv1eL;R38w>L5hz#^Q~{Q7HIFF=0F zMH8JNzv;C5oFTty3+4y;Z8m229sgU3zZ4r$WR z>q9u4^qnm3$3gWQ zhzav4;FQVncr2+SDt^Z*vLv!yv!z7T#Zg{QCXx4e#-{T2l5-g&wL=i z4aW@mO~i)$diomL9CzVgtBzWP0D+`w;Kb?EvHNAmu7W%7r1eX#b5w4wU_0r`OZ zHZKx`{JKJJAis&&sD2q6L4Li(AivEz_yqY)mvMgv@*8n$$Zt7}^#N4BWh4AT^}8YS zLG{bA2C84;1l2EnJ!q3x?U(+>uDkX5J+50H(x-;G|HY^O7V9mv^-H^1mih(x4Qugy z2Kh}>$PeTq+#yQ%26Y6H?gJlOWS`J z-ypxumgH-6uW#Ws@&ozxuj3BnHxnE3>lxe9y}lJ*yAAn`-^Z=to%1`+?wafH4f2~F zWc>p9&1d7*SaY!c#vf9zAisVq<^%aH#D@Gf^flx+lb@kYUbRn4pR`1u-+j98kHeaS z?~nV|-w^S;9)6)+A80qkhWz^N$QR_-|BE)ruX~5wKzJkl#dZhBkTC{-*DZ zT)xlm19`f3NV#e7{c)e)g3tJU);DPDmv+XjQT+z;0r_p-C5GzvJ#vHUmpDQ7%UEaU z(EB&8ErI+N+#2%hZe)D``Sp`|K7ss}t5|(kY7(Lb7V}H38g2d3E}K)o zAisWZ<_Gz0=Ef&fzw^)r`StToaEAOk#v1aQe!}&E{5opakl$uJ=L7jIxHaV0P2v6l z7uezx>C`}~gY?$6wJhk1QFmU_jd(bg~R zKx|aMdy)^xub&ftAir)d{DAx>Vx#(Hth00I{^7^e8^~|ojQR!n^_la7{Cd^~Lw@7r z`H+a@tkYB$zK0tmmu_3>av4;FQVncr2);vBSziBd$56Ex9 zts%epHQX9&4(`v&K|Ed{zwxKc2lCr+%#hziY{;*tuc1v|wSRMR>HYf*iybjTJ0#6F z^!tnOGw#PW=6(#?`lTH*HCO=k5tI1) z*ORJWM_)sJBYh2R@~ZvfqxSo-Z~a}&clFz?zrB8s=YIFkRsDmRY!dkl(T`ZIIveW5$F0`i~h4@*B=0ACTWPJN-d^ zo7tET|n|N8v?>RTh)A!(VR>o=T0{l3GsLAyTCZvIJr zAiw^zTpy@@{YJDwehaZ7zj0&E2lDF}Ysha}3?CrBX(!qszwU7QgZ!3{I6qXs_u~iT zH!MyYQihK!1?mz*s|m9kC(5VSA2){KmbBL4MO5 z_d7#=%jL`m@|))&2Kfzhb3Rc0dX5?L8;K41b@XlNd`|24y$>Gg{r$=dEiqVs<41${ z7kz#ce*NE>AIxu{9dK<_zw?q0RKKgxAF5yC0@d%T^oQz~u>q=IVh8e@Mo~W?zjB>K-KWNtn{Fb+9gZ%nMm>=Xfu1EeLzs>p_1Nkk)hWt9l8uA-)VaRX7 ztx^3Rj60Cugj+*?{oR}kl^w)^}8v@L4KQcI3LJw`ZmWwew%M`9OTz=%#hzeY{+jRH$&UB zekX?U=k%=)E6h6ZTROkX<9pisUws&|(v%7K)*9Y?3+{kgLe&>0>C8&NUa~$N?9Y{VPziEHw1NjXH zkPpajCN|`^p|7EhwAxMkIq(110)2jGJEePn(XGFIehYrXj1RQ5^=s`JXoLKggSmc? z-|`FEAiw@B+=2Z1vuT6;X2u%w8;FhS_t%^cPagblX_ygQeP4%0f;(W%M)3rYz z6%S)9$ZtM`V<5lrP>zHA7Ggtw1APr`@~VA0anC*b{C@7OfnWEH!TQ_hH=M@$F!KW~ z=GR+$CfXps;c(^$`EAZ42KjZrBsY-XL~O`!V`D*nGcFAIjn{GghIj4vL*X{&1Nlw3 zHB`UxkMsrkO-C{x$ZvB5^MU+2jv4YBhz)ehWVR z?9>Oe^-H_p+o*nzA|H_7auNA}{HBY!K9Jw$68b{*Yhyuv3)f~;zrVqk(fLhxa6XXV zfLlX;^IvgmboHB#rax4_k@=wd<(Px&mpDN6OKt_U$*cBH9X@mKzdwGcdw(4MGq^vy zf%dfPZ#o^nqaSQBzkznT`N0 zuOYvYzJ@k=)qeLs9dl}5{l3!qb)O9F*Pp@rw=oa4nBRimh;QR{ri_1|i{D*A0M+lY zX&ONQ2i1|kl*+uZNm@N2lpD|L4FHv4f%CTkT0lyn~lf~s$X&~ zQ2lO5zEJ(r*Fp75-w4{|Rr}3e`)F*R-c$giJ``9XeDp?*Pr^D($J zy7i&ikNKhcCD#Jg@4onj>X*I_s$cp>&?c|iAN!^8pYHR!ZukB;FL&~ge*G_azm~}r z+WN(Byqo$3`HfpMKge%52R|Uc{#@LF{AOZ9egk6-`7J->`ayovAGm&y-}nwO$gjt( zA-~NUtPdc+d0XZK`3>7JAIPugm?6KB*pOdG-lkauZ`u@}AivEsoExg&e-MNG z2HYC*>%UFDAirq~&Ij`AHfKJN-%M=Cucxmezlq!oZSt!9uFGt$Zt4x$1y{G1F<2$h1?8n@~Zvovwx}g z@5j#ZUaQr`Zw+0);VjnMd#ML7zn-=q&+`xDH*H7$Aip``1LQYeh7XWme>pBeej{TI z`E|rb_4^#>1NqG#(gyiWxHaTAZce@+zhxADKz`%)oD1Z);g})6iP(@|PhUfuylOxG ziI02#e%5J!9Na&Y;p*4?P9k4u>(~5F#4l98JCP5_Z*x5{$gle?xq|9X&zJO1V-!g*r0OYse){x({8@{3X-37l;{qD@Up!(%l1Jy5ag6fyP9<<4;_J3Sq z+1}r;eBkxn{n^@s&(HeS-*h(jXAkoH1M?ebJ7PnA^X^Q8+nb?ru z#8{*HwR3^|dPExX+swr40myG~lbs>I{vaNIkYBea^Mm}RJ(v&VH~g6O0OU6l8}i%G z*U%=f+K)@S^#1(sfg26{Hp>mYKKOI+`7}Pk{1*HcUh53`4L>D6kYD!*xq$p;Vncqz z6#9ewHZ~UIH}l$J$Zz4b&5&O|AO1jo6K)Opb(fMa$Zt9rpCG@@LCgp8>o{h}Zy+}0 zw~(8mOPH-P)l3CwDV~XwN$@bP(L8Q z=>o17-zcv=C-_0j;zcjh}^>=X$vk#~f6@!~v>bax0)sUbSCtuk(A?hwb$KZH1FZ*w{Y5{yf%)qaSK% z>leR1KGY(=rD1-M-?%^55Axd_z%h{DLTt!yW~?Et`iDkYB$h=LY%Bt1}$s@!f!sD zT%oOB+6}QGzi~zK1NrrPa6KTu{>QXIe%+qr3i2BmYsjx7Hsm+mO#MOiJBj`vzY({F z{JM`A5Ay3)p$+mIR$@HJuV0zDL4G5#A-|5kEuCO_)&9bQS0u|eSfk1VEyf_ z-(RxcvOXAX{aQT}8}b`|NWM`0{)&8|`n`rWRKM4fFUW6WV?llk&rL&q^LSi={5F51 zKgh4UlJyJZH*8OSAirfB&Ij__Y|VI(U&k>+egm-~zlGckZSt!9RgQ0$7#i(>o=UwdiyihGcdoNc4j>`UUkP7vwh) z8`bX}90U1no?$MKUv~@Z1ITau8ubj-@Av5s)i1dgsD9UHKB#`_>!A9jZv<`fs{N}g z%+ve%&Tgj;{Q7kU?=Sk+-*f@@XQz-qnBPDXx^6NL^`ayo1vxuSkJ)7eozlGS4 zU&mOZ`rVN01^JD4a(#w(?e}l#d5(kp#(VJz^6OS5Uy$Fh36D3(uiKdUKz=i^A-|r! zhWsXSGqlO8_M88ClV$trcedpRe#6Q`uMhr0e4d9-Fuw)A@hq+f^OY zL4Gr_A-@fM4Q=wO{aOpWyHuaw#k$XT+-d{ApSkOQf4_aW2%q~u*3z!Ow3~e%Ymr}n z`V{^i4u8WzKVSVJG03m`XbSgBQ>x!YY{;);tRcVY=Nt$5jbDG1zvlveP``0^Vvyf> z68VAr=D8koE#3Qz@QW$VkY9HO^MU+kVncpCeGU0d;~C?->02 zWS`%H&$Q8FE$#YC+tD`Ux7i+_hW!4T7^>gv$PHA#iP(@|&)63I{Q7nrhw67>d>Wl! zxBR30KB=jGGj0v}jYrTIRKGDyafbZ*QOpPOTZj$$ZRl&rZzexOo4jg2=8=^*?W^DI zyZZ+}c4)uhVqV`4daR|bU)qIwHssfzNxmSz*>Plka)`lWUf z$Z!4z=L7l8d(sBguREE?8|1evM1CN@;cV&`*pOdOUqgNqxf$BzRr|A- zzxB6$emCmsw+!RA;L~kF{?OJh?XdA{WxL%N7&)Al( zelxXW$ZuQ(w}$Ut-&TCoC6M0+w}$+>8}C;n&dKEH2upZ}&ihpFF7SZ_Bae`xEMcE+_){q9UYM&~!*Og?A@uRDSH zKz=i^A-|r!hWsXSGqlO8_HVv$=J9=gPd%mk`Lh{@_8Ttc^=&g=-=M8u+J#y+*HCO94Dei`cx`Q_R&$Zx@|A-{Qb+=2WyxHaTAolkv3^}8p2 zq5AzXb3ye>T%h`;Zv)jYxndgAirr%+91CXw}$*Sm$E*C{Fc4( z2i5OSmnzJ@k=)&9eGPQIILN2Mdk+ijn9!k$ZzvJ$3T7yu_3?ZDB2*uf!L7WxCCwuKe#{3o8b=Rw>gdV z0p!`JKzrF zH=oMm5Axf*Mg4;OhEsUFKz`lH%m?zDi4FPn^flx+k(;4SUbVmG$??5^-}D#V&-ayK z)`xI8>+iv=ztGk%?a2E%Lw=ic@M-AvZAR(`_@v`EBTH$ZsY;Lz}#6Ki6st{;aQl zPw!seni+?_KP&hwhqB&6TfekDu_3?VLh1wLH;%*w$Zs!>5>u))T#|Pv$;?|H~w=(q%)$bMfh3fZm=7Z{&V-Bic;sDhzxfReRui7s< z`xDpq)$dK+=j(B%Vd@v3ep~7l+WMvKwjqCz-}F=R2l@36;|k=r5F7FvAL025@*5dz z$Zuok0{P9KV|@Vm&Fj+!`E|Uu8SE z8}jQIYsharhVdZ3>C5;6`E7p4^8@5J|D0L{`Ss7Set`T2-fJ83>wd<3AitT|kY7(< zLw*yv8QSDk`}v>PtM~5*tf8NuTw`dz#r*D#Uuf&s+I!N5>i1Og0r|~ulP}0`{1?7J ze*HW2hw7KH&d#CNH(t9F$Zz~AZVf+JAJQ)P2KjApYsfFZd=V8>*N5dJ&Ao&nzu}kU z5Axg0N_~O+y4hHNL4FglA-|1{1^LbAalIhFWm(o+kl(y7wF&YYSsM)bjZ4x7)oBrH+J3``utwi-9Px5hgpB|Sq`IKp{-xq4Y5)E zUP3+~zh!QGfc&O;@CowU%!_}her+tsZ{fAukl*}me1iPCpYnKt{AS!5@*9@peiEu* zUMmw+zn3x}RKFbK7m`l(OB|s3CAR|F6>kMh00pLWhu2cMtiVf==x@p&XZp{-xq z=?LC0L-l(l`9SsiY5YRk{6KVQ-e zzCWJ-xBvU^H_NZ^d*l->tzT;&P8;Oc-Any|{N|6S9gyGnG1m|B>;LnZGvv42!}=p9DX6eanYF?hN@&w?4uB*b~*S8~3;~2U?}>lkZPzg$}c`OQ1v3govO!TCUb3vLb7Z<_eHGvqhi&+`xD*G*zRkl##f z$giibA-{>-3~lnN{UiUF?x{Y%W4iUhk00DW^wuvv{n1afwDn6n;oGQwA0Qu)-#9Za zK=s?q^0+hPw-6iEFJqmZL-%J~TLSqlJJKKI*B{N}2lDGjlOM=$Gllt}`kjnlsD2-0 zKB#_)GgQCy^-%qiTe2LxOVDsyHf4*e1BfEcpvBogFhEzYjAXRKLU-s$cqgsD8;US&l>a{rd$^uGm+<`*(iBnnU|7_-s!6e|((>v?WE= zMvFA$oYPQb5KtrsLxYl)BuQYPB&!6GAW0}dqQoCiq7*qu76b&P$T{f{XJBd)Gce?w zgnysD_p5Pfzt^t4`jlPOb$Y*ZtNY&jc*FVtZT->?_%`IXc^bEdK0lj-^$+AX6C3gy z=EOh9uV-wF{BmsxKWuWG1gH1dW%7R!!Pg&)$cj9L4M2atiK??ehBLY$gg`9Hz2=hB=dp% zhF7R>kl##f$ZtbmLz}#6|H_QNTfEEfL8tbOHm3BO$^Zna;i}k-Bnz#4-+vPX>nR@*bxk6jN zw9^G#56G{Z$lOr7kr=7j?_kaJde}7B& z4g7o-u48?;ntY+HU)teH?r$K!;X~>TbHEr^@9AC zL%6>|_4`-+g8T;D8uHuhLH&aKrjPk~f&4ZfF(1gU-x!znQUy{5Ezj zkl$u+e1iOj^B51+@16Js`E|3AAIPt_wH@R)k77QM-&m+`kl#XV$Zw#pp-o=3|Kz}n zHtq6z*$4gm+j;~04cGI0##(E%^-H^OzcZ>|?i~f>H?D;Xkl$u){DAxxVx#(HYzFxa z#D@Ha{qYI%n=WI$0QoIxMdDVWe z@;jU)ug+);o}2KZ*Q7e#3_N0QvPBvEG9GW@1Br9b*mo zjoe!d`E>{JdI0$?f9B@{^6PPH$Zyz~dItFotmTIMx;L2*+&{?rdjsnMYpv1NFYU;^&XC{m9{EG{`xE>^^}7{*q537xAis@` z1^La~TMYTlzo9?KZ}S&k4M)kWd`GWlB&-i(P{Dx1N59HT#%#hzmY{;*pZ%bdW zylQ{o;oEoq{isWJ>;L;%^AEf}gd2Gt`#t$XTfemP$>a{z?{nk>@>>?f2gq+)i1iZW zw^^9_gX)*D0jl5O_yze5d-C%F`7Nh%evn_!z0Hu{^a1lh_4@*Tq56HE`Jnpcn1||@ zI70PHUuO*9_wf0)?ELQw|JJ|1x%GSRk5}#Z{5Rah`Y`1Amew!rJmvE(@|zYN&fk9= zUj61%hx2{S@ai|7Hk{ADhgZM;^x^#XM#HP$$XG*uy~QBE?*8F?zDytA`+UcJNgL$X zElhqOzs;r3ald%3`YnqOcZU4N#W)wpZ^JP|eiN}Fzn;E^Hr1{6o6P;!&fh;fTA%+u z*jpdE{1$xrvCp-%>jUjL=D8O6&F@mrp!&_*0o`C#jVnco#`Wo8gRr|~D z-|wle_4l#<-%kw>4eU4E%=$3>^DS-t(hk(KA-`z}e%>Iz%~`}CzwT`Ofcz$6Lw+M; zjq2B8kl*G3&Ij__d`%nVH{#Zi-*DY?&d~Z$mZE+^e&dpy3*@)qm?6K3*pOdOUqhR` zYJb>Xhh5a=_nLnF`iBShTksjjQLoU}FYQ7-8}gf}4MTq8I^+-X+pJ6eAiss!kl(~u z!_UQg^_ix3jhzeR*WJjqf&BU>xn7Xpj9Wu~JSnX}99{kQf$pDcs;4Y#n~jwe@W>z8&zY*fGGoo&j- z$ZsMxs$a$?sDABSQ2pM-c#z-xH0uw@uN%tx3-aq0VSRw=_cPo;_4^6)LG}A7exdp$ z&QSf*w*hVPs{P})tlRnbX)n?9?{vN2f9PC)@tMAOuBEMC^ZhxwgZ!rX@CEYg4#x+` zZzeY6HykmX??)&5jf^$q*INwo+x&xbgZ%pUIS%sM;MS1ea0KfE$ZuJI*9*vRoS$=n z{5Bjjj%clzM)N4x5GmZN%~PrB&`_8b1f{cQsGH)!jZc6g2aL4Gr} zVaTuFgnU4L3$Y=;@kd-A)cR#?0{Lz1Tp+)R+BM`i{F9##$Zy20A-{1c)(4PZ_a(Il z@|!+qK9Jw=1@#N^n~4qiZRl%glUMDJU48KdyZo-u_nQXsTg>l7{6bs5v?H#K>X+Oz z$Zy;f7a+gQX4D7BZy`3SU&bb=e(hW!zu{(lg8VkaIUmSx#;qa0etGhR>i28hK=u1? z=7Z|@EBr$BOPrzlrEde;7$ZF=RIU4HNGuMg>wf$wkOR_ytY7o-Bz@r`ekf_>etQ%^6PKm^#JngpQjD->lR`C1^Lb2#;u|6H>c$1 z1J$qN^#IlH6dZ@@mpDW9OWy{x$*cA&uJ@~@y8JHF|NW@&=)ispKK&%>0owYd9bRXB z0QvP(alIhFaT{EK{5IQi4CJ>E8}jQIYshcHg(1HQw}$-Y7rB0r-v+lv^}9N54f&l0 ze;~hZYUTs^&BTWMdiomjo5;=3Ca>BbbL#CccKKcPw%+qYTA=s-xa*E z|LyWy%;(qmgtmUI{UvRX-?ShGikY69U9+2P2SVMlj#Zdj;!}US+ z`yq3I{5H5X~(+UbR0k-@JcU{odLC z{MSD=@cIz`%KAIQ^DS-t(sr~B`OQn?6XZAkk^Dh^n{zn^@>_@v`Av*9s$Yviewzmw z5As{4;C=w|8(ABS>i1UM8hyX+8@K`aP0KJJ$ZuGddItH;#D@Gf^fk1}tM*?_dCot( z{J!76zcn)q{CrmM8D{4FFtqhcJI%!VWsu*p0=__gT_P8d-%M=CZ@7f(0r}00HRLxC z8}b_;#;xIdpYNn0JdcC?X51R`+uYB32J-7y?`J2oK@*BU!xj}vlu_3>KzJ@k= z)&BPJzwZ3^3xC;vJ}ZOx4Y%WWR{TO+zqIo#Tn|*gE0Yh%Z@!ZJL4M;^X$fx{JKZEHjv*i1NT>uU&q>D$Zvd#^%tt&)i^g)zpF4GRKKfoZm52V3sk@K z4WLb4wV&nEnXc@r-#ORqef}F~9Hf5nnck*epsiop@h$QP`SsJ2Kge&|nb#l4ZwTZE z^6P#^t{}gTv4;HS>9~H7-{v;X4f5N(N*m-i;?|H~zah^%AirTo<_Gz8GcX^>ZzeY6 z*VEUK-$ZVPHhI*;G~lUMEMn*MAivG= z#2~-!1abrUO~gj^%h(9=>n#TPb@wtJDhvdxL3yZk=ie|{)~JwM#Z^Dp-@qpe?S&qy2Ow|s;AL4NZE z)ECHaypZbw`Sll(FUW6ZtRcURoeShQJVd>N{5Df_{{s1SxHaV0-OckO$gj71C&+JJ zj`=`-j%=REkB6TAG*d{6)Hr_MCU`isxNz07Fqmv-h^!l-_^ zHy4oKa2ff4{QAqeK9Ju`Y*fFD%^<&l*pT1m5zYgc_L4F(D8uD8n;rR`!U%Pig z_4{q+gX(uB&JEQsae?ZWz5%q!tM;1?U-XqOzt{AiAMzl6!{6{Z8$O|}U)rA7sD4)? zAEB_F7M|IGD4^-G+g`ekf}>X$fx{N_hF4)PmjVtoSnjkq=Bw;4`-L-o5R=Z5Nc zbj%H(&FHzjgV2Lf;=RIPm-9g3s~}^#E=C(ssm#{5CV; z*69C!pWl`10r@S&hWy6exE_#S&)Al^df#898Cm~8e*IrL4)R+@aXye=$Gy#{emBD} z$Zwp5u^_*GX3hulTZj$$ZRl&rZzexOo4jiO+nM(HOPAkeADW^a5-&Na4KC*W@_+w* z`*Iic>t1YW{n8F!z0e}RWe48hLG^n!^$pc8ae?ah9O@0^H#63#^-CN;e#_g82l@3g zzQFU-3)OE~<3;N2#p*X~PJST2ekaZi@|$;LK9JuyjB|th7Ggtw1APr`@~ZvMj(_j> zU4CzxuIJZZe8#|j@8)@TwijDkzt*0CHpp-DOWYd$`fY9|2KjZjkQ>NvA~xjLGqy$b z`wNbP{JKvV5Axd#eSz;QCi`_Oyyy(ouRHDq{(F(he&arj1^M-RGatxrAvWZBSm)~{!pHKQHd!Ija)o=Ja_3No$XxCrb&CnNHw;1F%PVoYNzY=`!{jp!2`h~haERSE1-~1eI4Sl|I6#hVd zl1tL-@+3E`z_{oLHt5nzvg!V{DS<3 z-{24Aw|SNrWjRpBF2jc_e*E@WI{N|N#2l5-2j%KR;v3Rl58xcT(T)%)RHc&iefaeiz0swDn87 zAvUVt!^j7!-{*-zew!C)gZ%mzaS7G0jfLu$YbzkXj@mWk*RP6ikl&13Lw?KCFE~Sf z%MqLps^7zz52{~|IjDY#1604{RzRD)YJcC12X}sdd{_U!pU?XH;9d7Oe3tpSe?VKm zw9|Yqwp70dk`KtQe+pM1zlGS4-}p4IPpE!vEL6V-&>yPbuemmm-?ZWj&XC`RwZV|z z^bd}M{3c!tM)i9T^Fj5?F$dKzae(TV+zM!uSM4|6@s$Z(^*hgpz4ym%mO<+G9_n>T z@`tv5X}cv@??8Uzv0OXIZy7^AAir)LxqKEiU z;?|JgGLHTrzwUVE1NjZVV?K~ye;o6H{6=C!ejR;V`hw+E`(cOO*ZKFkF8D^zZ`iQ^ z_wBpt7oTZy>J{4hrR^7eu|wE^6S?mACTW>XP)0ce*MolH^^_^nfX9|W8mB%zlGS4-#}kOo4jiO#^UF6{{7S; zyH3##NmHNR2A%h}ds!dmWqp9wFYUtfupz%;U*-q-P51Eg2l)+|;~>B8UUCKbZEP&a zZ|2$4kl*|{ZIIu%6txWUn>V9=L4MPvtiK??=~v_f^4sjkd?3G$V}|?&Vncolxf$Bz zRr`@s-v4P={ciP1&u`qg_xWU(--6FD_+||zk%40-|_*+L4N%_tiK??4Q>tjb^EiPfc!Rlk{ifxAy-3w(;nmt^6Thp z$Zw>tp-o=3A2%W2+2wbI#e2UW)yz7`{p~*Lb!qAq+WMs(m*Rc`@|%yRzCeDP3B(}3 zZX&sX{3c>UeiLI2`EBf6AirU1)>Dw*^j+!`+Bj`3)!X z^91?L#D@Gf^fk1}tM=m;-zRkW{kNXaF718(@Br`U{`>QXa6jwso2f|2~(0ruY7>)9(YUzi%@? zw0>y^TpQKzA>;${>(3w`kl#XV$ZtH8>x1f-u@S0Yi=q0xknteD?pm%DG@Q`aP6$LG{bA2C84;1l2EnJ!q3x?ROjco!@l%{r#G~-`{bU_v-i8@BMH6 zrU!Zd_V`OJ<~PtT553ePzi#Q5oFTu>I>aEqZe5Op{3c>Ue#=sv59Bux8}jRiaSY_Q z>_dN$U-ts%2lu;yuhw%FpxkBrgwts@_h3fYk%nkAzHzyyE-)0Mrf&3O?qx$7q3dnCHHsm)4 z<_Gz82QweYZ^W%3zu|g*K2ZHG&-_sRl52tLcRBn*^-Es|)h~S`Xp>j%S8&sG{`(A{ z>HFhNde0ACe*MGvy^mbM{1)?lFKv+D>}iAird7!o+=mz=3rzkc>!{cb?}zwdAU5!Tz4Uv6pr;=8Q$a*O;npE1AD|NJ*hO@F9en;2rT_VF{*>zj`HeHa>{`5Q|9!GBJLd!W^{c+j=RGf1zr~Xu$Z!6F z^MU;O&zTS8w-6ih+tAmL-%NgnHhIvg{N}SbAE{O z)9+*W9fDtI{o=csdPGb08^{Ob*PTEX*LG7{Kq`hdw*5tA204q4)W3 z{84ZH?ed%On?C1y!2AYle?}YRx7n8KG4%cB-sB7NTZj$$jr)*4$ggK?i@qP)hVz5` zhBNR1@*6Is4f0#4T|<7u9UKSwjXz~9$gkgy`9OXPu_3<=eGU1|^hF{J!6a>ep|~F{pmG7{R~aHKO`WO3a{jNqEs^3*PA5_1@1*%{AHcOHpS*wc!d-rs7}opz*H720--|l#Z|Oz8&jY-Ef4x;aPk`}6#N{rW8nkL35oM^?XS=tzD)ZDjS^EJ9z9-!cdNL4G5#A-`oA zjzjgkB7H%A%Pt%T`E7o{`9Xf0xoLy^7IHP@H_b(UAis{jhWtkQ8rtMl`RA)A*f{{K5Qs+7aJI^?N+| zfa*71fD4e{=0c8v{1#%P`em%MbLjrYwIz_>bRBI_{ieHUgZu{E8uFW7<2Y2mC*l{X z-xHV*s$b#^)h~TLRKMhwK%2a3|F1Rvxl5Pd>-+C7%8z^X`xw9P_uua?(lhvc1fS5Z z547DwAGgSF{2|9dew%HHL4MtK^auG(#D@F^#v1bLhzoFh5ujiN{zmeFGUq|1TzF>LPe%_t_(fRLRtg~zH{Y99e zSHE3;{j>Oeg89Jw7W@`m8`bXy90&O=J8~T4Hx0uF$ZxX~eWChgY=G*Q*n#}IeQAUI zy5G_U`Hi?W8Aiv=&#)JI&lQ}oYZ$6P@Aiwb>&JFTghzt2ZyLjKkl%t^Lw=iOU*Yq}SE}D|9^*lN-MP#M@|%eb z`StWQI16Z-;oc< zZ*u`L$gjJQ+(3R4u~GdpHiP^&b}o?Lav$dh`AttS9^^OR){x&Y9v@Ks+S&uv?{OT1 z>i2lg4b?Akf$EpO0kp}h_IEFPYUh97vf-$n-?Ulp`Ju~i7|we8J?aD6`lVggrki0C}gX;Hm&JEQsae?ZWz5%q!tM+reGV0K-`u#`${Y7}ScYmA2`{n<6K6?(I^S|0+ zego|=->WV18}_DtKz`$?tj{37;WUne{JPUwUqF5v8w>JVe#y@d+6@+#v&e$&4A2l;LGVLp&w$1y{G1F<2$h1?8n@~Zt0A769rF25J{fB&J` zxOac+^6Q_cewTW+#rzih<|SWkk>7MU`GfrW%Wwtq>nYsD5wc zxY75U9%Md{--KJE`kkJ70QoJy#Sh4DJc4t9{5Bjjj%zq|X&b9eb& zRL^IF_)X?_LHt5nzqFeLUTu-zupd8fsD95NACTWdY{+jslj{TdZEP&aZ=rS!`OVa> zA;0Agj)VLb+#2%RjOTnHziEGbf&4bV;yB2!vk#~f6@!~v>bax0)sUbX+; zw!3!zeXf)Gzn>a6@7>?J{3iT{p{#Gv)-P?p5Z43M@2|-RQ8+iP)%q zZ7j%dp>_=U4cBshkl*w-#)JF@+#2$m-@vWWe?ChG(jThd1DFr0UyeDbeu)EAzvNax zo4jiO!P$5HwX1%=ykUxVNSGtG!5=$5KT9w2e&UW-TUx)g%k9)J$Zy${Hpp+96-dU^j-w(JRpY1kh&+mfyf8QUcm+-masFv0*?S{4?zs)Gz z8vW0I-6!M%@|%eb`3;|vFUYTFY>U3Xc$NMjztN3yExz~s5ND$e@|!ju#eug%A)qaQhr@OhUez)k~-{Pjd?=QaM^UD8zKJz2+ zyZhLdcKv;s^O&%b!!)A$ZsMx(5<&-|K%q+050e-!8uizwVb~TiW`y_Rnd9{5IF&*69278x=l}n(Vg_8}b`B zF3yl&&)62#@1MC|kl!@RXlH1BaNCb|hWt9*8nu3>8^gaJHKzKFH}LZU`SsT`AINVZ zHsrUVuOYvg{0wdKs{P(eF46h<&Ob)=K3`A$^`XnJAIbCXgJWCT`o(Ya0QCa$>*g)a zsD9tYFQ|SCu~GfLhhLE2G7rZ=^_z$d`7Pg}9zlMahp1zmeC1A;11w<^%aH#D@Gf^flx+lb@kYUbTO7j$;q&^80E3{c#%F`|rEE z{Q6h$8Sn{h{o*(5%=!!RTP`L)kl*mF;tcuqD^i;vznR#O-^^G;_1oCFKz_rtqn%Ox zu8%*E--ug7^&3XgALQ3x%DF*)b7DS_-*^fBL4FIdA-{pXhBkTCe!qDBhFyMtwQawC zzkBk4_3K}yeh;U9q4kSzf9Tj2`Av6GZy>*Ucl?3;#yzNKkYB$izCnH?V-5Lr#D@Hq zxmh1Te#1$|{SM68Y z@z(Xa{La5f|Mwr}jsyBl_;p8*ZE4pBYac}$s^5Fb2jn*#ME!#N`h)Qa@|%f`>X)$* zwKWBXa z`E?tN;rr+RSRXR$1ITZ@hxtH$8;%+Bn}`kh_4GBg$*cC)9GEZe@;mcp{q=XVf#1I+ z{Dyt04`}Px+WXK3`3<*le+Bt%wxE_le%+SE8SF++X>u_3>O+zf5f4ac(ng8b$=$2miO-NDo^XnlzPqFzCM{Xdxx zn#TP4GZEEw<{HQPJ=t&mDQ=A)Oxgat z+{3s5`ArWpAINWbhL$*cA|FSB;%??>%$bZ>p|KN|S{=Ew5+@8iq|)$bD=hw7I&L-kAF2DHhm_G3nF@!c-J zFX{8&t$N>Ibouq;cz(E;=Lcx(7r)^=)(4Q^<~8Ow`t=*Hj%*ZXvhBfI?Wf7+DokUUuZ;@4lw^AEK3Ywb&DL-qS6`51k_&5ig3`HeT>8{{|L z%>53kU&eYvekXA~AisH8K1%@kb?1+EhWut~*N|U-#~A)S!^wWj+xUa(_bujv>X*1c z^-JFds$X);piN%2fBmoXPTS@8oqqj>c?Vt}{CMj3kJK-;^=p2K4fzd)*B4a33BMq} z?vmn+>X$fy{5Ccg~|9;8dx%d2#2f4o`{5sYGqpe@s&AHs)Kz^ICS=ZDvLen>n&KwH1&o7kv+ zUnd`Aq^^8(0kyq@&|gh`1^F$+hWs`*7UZ|Q#Pve;yEuNK`aK1|AioW6 z4f&0yaeo8(O(R(!Kz^GM%m?!8IA+LiAU5Q;kei`RUbSEO)9I(`s^2?K>-qKL2Y!Fy zC$Qe)(rD`!zwS)x7pmVE$Oq&%oW=7O$ge+}dIkB-#76aNW1;$ep6dbm^^37Sfc(aj zh(UfGZVmYj$Bp6l9sk2GKdS`Q?~BX_)i1{!RKLUls$X&|piN%2fBDWWI{!Y*YVS|g z4hiE1_M6P_AMgup{aX7R+ED$zLOvkB=>pbUkl%12zCnK7Ma3D_uZ@N3m)a>HziA1c z&p>|t>G%fu&8)qK{Km7XU#RuVy)r@d`zrH6^~*5_)h}^?>X+OKXp>j%AKQJ6<+|#3 z%f8>d^>I_!*skZ_G?De;R@Mh-{nB=~P`@C*Zpz{e`E8yg2KjYQaUA3~5gYPbreM7Q z`3=N|{Faqi4?uq1^`o63ziEYW&XC{yHg1jn{jHgrd_aB+xf=4DrXnAZUq@d{1#$E ze&gTC7vwiF){x)E&IQ%)^7sY$jh7IE{CeCP^6Q@*!@nOn*{}PQ+5`DbA2T1wZ}^0I z1^LayhWs}4HMGgA_QTdZw{-d4w_m^MwL#Vg^LsOXp{-xq`9|s)j&gFJwiQz z{Dwyh@9!u3b&nN3518yXGuDvbKy1iw`ZntW$Zx)u_ZuL;X?f}w4XR(_0@W{l189?1?LWBa>t(w99y)VxeMp0>4++1XwZLfWm$tiN zY>WKn_sJLJ*WFQ^A-|c}kl%18^$hZx7;DIHW9I_-ZI&DD4Egnc;{FEm8(13*`ArY- z`8vq2W34gdH+{f-Aiv>5{DJ&tVnco#`Wo8gRr|A_+N|^Uqn6)(s&+`)W{~^aB;K#x zGq$DmOS}A?&(A=9!z}m$`SoL|Uy$EIY{+jMNBx5QHZ~UIH_yz^1LQZX$@4GBZ@8N_ z$Z!4u&krEKes1ak^%*uQqzm8*u{03q}ehax7+T>OHi(Y!P^Y_%0r^c6xjvBJ=5_i)^=o56ehb%T$ZuMU z^%vwf-^2O~^4t87_ZJ|)Wnq5)Q2oxy{80VQ!F*8ta?C;XOB|s3CAR|F9l&{E&& zS|3LIWa@TET4dng-%0q*cakf#^-H_lLH;1WemdNM{5CHVgZ#Re$PMH-5gYRB7;DIH zoR<2A>UTB#g8cg1SRX)s9c~TzbyJPy@4Zg;8)m>4$gi8e@b5`Y_M3?f`StWQLwrBkX`Hkz0<=+pV?AI;Ed?3HcGasma!=mH| z@|%eb`EBTHXp>j%Z{OX+Oz$Zx`( zQT={J{!smXO|DS=GB$zyHg+zM-)L_C!*6(s^%vwf;nt8}w;uU|)(5vF^Fj5yIP*dE zy9D_`^-G+g`lW9J+T>OHMK^NOb@~1GU#Dq@H1o$PEVwjx{Qmko_+9_CmbQLrmmj{? zBERK0o{vC&{nO+4I}zim-{u*Pf&BVsIS%rh8EeRIBsSzXtu~(ZVf^I!-C{i7|Bs*S z_vqJL0{IQ6k9UUrh7+l8kl%bf^MU-v6POR=w-6ih8|Z6jlUMDJ+;6e>y8NEB#MJGO zX0zVsXI*~%yS!i9;I)>ve(~#R8}jQ1rbKz5sD97JFI2z3XMT`hcQW&V{AOZ9em#8+`Ay_zXp>j%e|zB- zTXp%pX;^Q4@Z0yE&$|33{FW`rAKLo0_U5!fe&ad#1o_S5$QR@{j^{X3zps%$$Zue* zA-|5;kl(mAZVm6+-!Jhy;Tz=F|BjzG$Zx!bz97H(kK_aL8~(t2AiththWtiiLw+57 zTl#|KRr|{}n(yi^zppGjq#aQPtKau{9@~f4AGGz0--g(bUw13>gZwsg@cIS$^>g9_ z~AG>k;HP5*zZHHe!7M`HhDYL-l(MenEcSRIFzpzs+CC4dl0wt0BMXHtG}P z*U{II-$-9Wo4jiO!E0A^{`=imE-`gG#82wo-#Y6TzkWCJhqiucyPe4&%n2<4{iP8w;Vzn z2>i1Fd0r^cU^LhsPjjP}W`FtzZ0lVncr81-#xsew(+5L4N()xC8ku#D@F^#v1bLh>hy^`}hUI>vIeS_Y2kwkl%z`Lw@sf)VtANfAf|21NjYCFdxXT=a?bCk=T%5 zN8gr#{C+m#=q|qt-rswFkq29UKf>qM_=L88@!R}_`he>9T=D_=^>2_b$ZsJwX$e| z^-Eu84B&U#<%T@l<@b#3`|HD^1FsJWzxhYJ)}XCl+GP{gH;~_OI{AY9mY47e@|#|! zof185(fYvYVNNmV&z8fDP zzkXrXOOW4YDD?)_?;^B8eiLI2`HjSe{H7n_6Xdr!n(?6e&FAy;2l@5$@OlIJZCJ|< z`AvUkK9Jw=4}60BW@1Br8~PgB8V&szM{uKHcM|My}1f&;I={uAnTJL(nM^#Q+* z*pT1&CwzeXHt!OH{JQtZ4dgcw8}b_%Ysjx7HsrVA+02mNv^%~*e%%G+1M-_5<~Yc2 zPWS@(4Hq*X$gk&^A-|E>kY7jNmcC$l)qdjWOZV*Zd;Ck&v?Iz61HXSu_{}>|3((fD zwSP(*s^3e<2jtg%NIoFHnb?ru@DbMs)h}ZMRKLUys^12`Air@>Vvyekw}$+>r&u4L z`n`<#q58d)`Jnpcn1||@I70PHUuO*9_vv4MenywyCwJ@l4Q~y+KKM_$pZ$vbp{-y1 z`h9u*f&9ALnH%J{nHwJ)LVu87cNFIb`E?hv zK7joC+4%WG^~+k`K=n(m1*+e>@C(&1eH~Q4^o^iRUbX-Au!Y~~s^1|)hqOb|Vgo-v z_|K@bz)2F7vJfWi7nOdlidG6e*L@?oFTu>d=vQZTPIY%etwQa z^~=}{@*9Z_`AtVo;J+7|Fxl^Uj0gGkPfXZ%3*Z9eH!R5Yg6h{VgddP!$5=yt6D|z-^+(YkRKMwbe1rT3+#0IiFp~K|^&9?$ zACO=7Pv!&p&BTWMdiomjo5;=3Ca>C$+3YXh>hgO{|NTYWsrUTQ<=1~fy`E3KLR-K1 zP3O`E`Hipe^9T9O%X4iYzi|cJK=u1ge1ZH1#v1bLhzjV{rAULPT=oNP4=6f zA|H_7_&I$+e)A~&f&7M7nGfXGbIg$6NNmWjqi;)Ju)J#j;8nMD{(jVoj}K`_q`~SJ zzy3B}f6&%1?R@LR7Ws8wGC#;~vpwqp$gkf4pCG@5*pT1y1+Pbt-$-m!zh~mh==+WL z6NBnEQM-ox=8ehE=&!%cSL6orTgcUr-}GxUqhR`YQOU(kNv2teoyMJ z59RIN^I2#8eo4Llnf#%xU;M@^C$`9MdWZZ#e$#rqenEc2`n+C2e%%JtAINWHtRcUS z*pT1mWPV;CzwTDXgZu_+*QkD%nCP<6_gmh>C&+Jnm-#?`8;%+Bn}`kh_4GBg$*cCC z9CAbF-|w65(<#~^Y1qK)L&9&kkNlynUu$RDAirT2{DJ(sgSmc?-%M=CZ}<)UL4F$> z3-ViLroKUb{U137@>`zeILL2$lAk}wZ#;;fKge&Ijh{EjZ!;_Nf&4m-8S)#54f!qP zW@wXF?bqLPrA4~xcZ2@tXU$dv-{1VdSs(6aeSo%p@tbjNRKK&656Evioa+JkjYr@H zOHwQjoe_%6TS_^9{!WEsS7!f$gi&kxYnFYWRtt_S2dj^*_R^4qLR{vf}8 zHQa&x7Ggtw17i*Ob;O4Jx)ZoIkl%0}*AMdRsa->U!;HMXKz{Rh?r$K!VI1>;{CbWV z@*9Z_`E~Sd=?j)u?f>$l%iikpdl1jNwuOaypYL?8zhB|=9(+PuzxWNrhWz>&@dxso z_NQJze$%gMgZ#z=a0T+~7;DIHnt}cxzv&OOL4M2A{Cq%u18xoZP5ZH4fcz%b8bf~F zOw0%Jn~4qi_4GC5H<6p6OX$e}^-Et5)i1dv%dx-7tM&_jynpB4KRc&izi#0{>i28>UO~Rl z)-Qh3Wz+}AZ+w&26Uc9B$Oq&%ti$zz{JM3?734QC){tLEY{+joiSZ!6?iR*_{Cb`p z4Ec=<^YaJ!&2O_lfc%EHm=EOFbIg$6NNmWjqi@Rqez&^yoEf^-hn?^3eZC&I9{B#2 z@LMjVKA^2%^L+unq53W41M=%v;^z585*{{Er z^F#IfG=4#T!!)cHQ2ma@SsSjxV;@c4$@|&mTT0nmN?$j5^Z?gx-p!(gDHpp*c ztRcUV*r7^MU+^A*??jznR#O--f=1 zHhIKv4;FQVncqL6F48pZ@iuub`GWlBiM$>_e!~Rj1NrqFGvqfC8}jSu z+tL>-ui8)Z*h0^A`Ca+sA?=7J4E+AhPdSTgxR)7i{o*%X!u3G)`#Sl6{JQVp6XZ7& z8}b{zOT9q#%h&+bFR_E__eA`H{DvDD5AvIFYsjygXCmL1{D)wDn6n@mY@{zwT@12KjA<;REE? z?SyZT-$ZQ4Z{f2PLw+N%A;0-dem)?-=>f)r{JPih3Dxgrv_bXTOhG;%zlB^4`Av@V zf&4o98uAg|>e2>+fJahU#}p@&WmE zyU+&t&BTWMhFz&YsD8PY0@W{Z1o>^w;@lv=?qSXk@*8n$$Zy$}^%tsN*763b-zk|7 zs^6*b3)L@u9aO*cji60lwSVpJuJiZ%c6z+$H!V5v^FzXKx`}#)wti{n8_6Byw|w-P zGvqgHhCh&Bzd7zeelxKlznQUy{5Ezjkl%C~*AMdR@8*0UzYT5;`HgGf8|2r2%DF*) z^T*5w@*6*)K0$s9u_3>KzJ@k=)&8y#`;Y6Y-z)m{+YIf!znJ^x|NVX_P0jlI;u|fk zU)uhKH(KO3%=bF~p4RKtZ~EEm&XC`{%j?wd>(y`CmE$14jg1BQb;O4J`bRki@|(so z9^^O8Gl}n`Csn^?(KmQLe53j;3%u?O`EBNBK9FC>F++X>u_3>OTnugUs{Jib?%w(D zU#vW9@B5+LUmv>s`e~@wm&g^`^#Q+u*pT0}AlD13U$;BCfczF>L-m{Xpg+iOWUL{- z-eQp7gj+*?{dkUp{1)6As^78{enItH7G{2s-?$Lx0{Lw?X2@?MHssgS*U%=f+Fx+h zkWahn_rw18LuHrV^Fx>4gkL|NdWE)rtv!}D$gf+5xj}xL-w=cRx*#C9 zZ=|oGO<{nB>taeW}ael79? z`SoYe2Kg<-hWy4e$sgp`G1idZxF*Lze)Dkrfc(a*;IAZz4BCo4jhj&uRN?)8%)8{`W&}koCb&I}4u~l0UTdi{CN>ZIIux z9sWRmW9Irnew%wa2J%~o4f)NCHRLxC8}ge*bA2GcVIkIkkYA5mLw@U9 zs$X(1Aiw@0t_S4TJxp#OznR#mei@sg`Xvq^zkz23Lw@}tyq-XQ18aj({XULgsD5|i z+)(}Q$b3-!4&&TV{Sp_be(4)Po4jiO^K~!peE!|8|NT%J#IK)@=ZDwH725j6Zy+}0 z*L{<@L4Na5uv1;`HkCfE|A}5TXF~aO~i)$diomL6(mzcOj*ZO;!z8_ku_x`Qx{^qCW z^Bi0nZT;fcO*^Tj`rVRzKz`F-XoLKQTd7y5es3dJsD2q6L4F;vA-{1H#|_`B-!Kn; zL4E^kuOYwj`ZxG|ZL;6874-_$?@u@vRKFZ+p!y|FQ2o-^gEo29e%x0lbbkJOP``fT zB7?ktGr#YUFSPYb+rLeHfc(1EnH%KS|DJq6ehaZ7zws2V59GJ3#&M9}NNmV&`4`7Q ze&d(KAioK>hWxs{SbstF+pI}$AisrN4f#!L;1lH6(btgQNMA#nylVgJHMX9kt9}pb ze?Qdxbm04&pMmvZ0`&rI{hDvyYZ%qKEkK9Z7$vetDKJQ2i1| zkl*GR&JFULKIHsR{qo)-{m1)@vKi|yRKKj{4OGA6TA=z}p7TNVOJ4`oFMT6ulUMCe z{_(|~|9$uM`hIBXf!BwGUpI<+fVO^V`&X%7kl(T>`GWk0z3~b1>-WJO$ZsY#{-G8jVc~0Dc{N`^>a)$hdt9iYF{N^o~59HTx&U_%h zh1ihahQ5aUW^ysK$*cBfE&uw+F2A!c)BAqN`+?VAKNIyjiF$>0eZX(?2JeqRe%-g3 z8{{`1Lp~tC@mT5u>jU{MD{_6H`i;bf{N`slAJqE&l=(n@-HP0AL4N)Ad8ZE$PIZw#yt zQ2lbRY@qrj*8Dxee#ITe;;SbMS6bAAnSvlnR=a){GqL1 zt7pgiQIOxb5%Yum=Bw}l@*A(_ILNQR2A3eefw6}CI$}e9n~|Iw#|-(6#D@Gj`nL21%d7U+oi}E+uKInZ|M_|uQglnVv{SoqtbYAB-{imFc(eNTKYPm=@*DPkljp-XtKYCY&u<{Vc~|BG z`Hj0VAINVZHsm+Z*U%=f+Ml$@C9`(<{ks48Z`{83{-Voo!f&(0TP^MSK)WpdR*U@l zJ#Yi^8*e0Ekl%0<`9bx2GyOq+9b*moO}H@R*UyDdsP+3Te1qyY;MS;q_s1`&e#2hO z5Ay5wWImAJOl-)nr>`NuiQEir@~Zs|XPn>p`Puh(=slk`d-k3my8QatsMl{%uh7;n ze$xuHL4M<}@d@&q?ypC5bCQ(g5t@$ugCgWqA0 z`o*u`nAab)^-DW%#Ciep>&|3;kl*GVVvt||F8PD}7Ggtw%Nevmej~9_{Vs(sqwhCv zM+~apMC}^#n@8c+_`#Iz?-Ms?kq^jkAy-3w)BjPQAis{jhWtkQ8rtMl`$b=QWs@$y zi_X^j{y2Qxd;iv1zq3=X4f#V`zxa)7zttkY>38G@@|#|!4e}dCP%j|AZX~&a{6@wa z^6Q8V`E3??lfM@+*{|D(`UUw7)UHwe-iceI@3$O}Pmteu9P@$vHXJkLHxV21>*;G~ zlUMDZpJj?ey8JHR|9&X!G4T43@Ef)ze`xF1+FR2G`3;xh59HU)$n}H#W@1Br!%VD? zAis@`1^F$P;sfN@FaM@9RKI19H=QBBX%~L}Air@2e*Pf8=?Z*-{5F>}AIPucm?6J` z*pS~sZiY5_)qd&M|9p6t-;3|>|NWgo)(1Za>%(@e575>xelxC(>i0_W0r^d{asL7N zjkDthh~(Yf7r%knkYAt3 z59Buup}s(V)3mffe&ckw0{L}}HRLy4Oud2prsWt9@>_PJoPw5Zx z8~9ln)$gB}52|0{4An1vJygHsmMq8qCa>Dxec8~5yZmn5uV1&=AoV*Je%Hb;wDpVM zvE0Eu868j+e{gyn)Z=kLrzXfR{`5lT+qw$;V#Qhz}Z+0a2Hz2=p z9P=~CZ^m41$Zxom{y={7%kT;ETaq^9H>0efMP9XDa>V>|wD}#{d_EMWG5-eqhGE1j zRPzJ*av848Aiu>?_yGCMUL+0j>t14PAisgMA-_3w4f%DX4f)NuH#6k7Se-P;Z-HAw ze#6z=Z-D%kN8=0RH~%&Lf&6;*8S-0@Hsse)wxSU%uUa2?<~qIG{JwK~{rti0+5P)B zKZN^Vu4P6QzxXYd<#-_ZJ%;gs{JNJJ56Evx+K}J;6^;**U+U(N{E~K%{QeBTAiw#V z%&#E7C2kG*bvH3TK=NDAKP11$(jO$h?DLTPk}e?mrK~f$@!N05JD+Xy`)u?1P#E9+ z{1EV4ZpiqdieK`9XFZ1ey7TE9E0->??(3RV1)FV`fVL4M=uj2GlLe;0oszy3Ykf&7-F4f!ppYshbA zZGrrTd5Kq$U%%PMTyH1)&2VeTZ}B2!L4N&Nv<>oGoyVt zCck0GSiV0xHu=qF8_UlNjZJ<7bq)E=NgMK8{CX_EUj}@Ae-;DngW@;;;!|hHub(uQ z&kM&UzwTjPe;~i%LHYyv%^#vakl&KDA-@@A4K4Dj^>@Wlt)IWG*4#g2^LFpo&(8I2 z?57pg{9t}R!7n7g-!mSN-|}FN4HUoSA>={v8xF-cD1HNV4f)NiEs)>rBF+cMuYVJN zAir@Ox_E{EiobP35XWi!wsuUh-v;zw=s!}HDi zw>S;I0l)rL#tT*alFwfuUO;}`Tl5Xd?-~|6ll>NJ;s)f`uZ16w-}ralAAtN8qz(BE zr*J+%ezOPg1@h~OT|<7e4TuNO{E+>Vv4Q+X#%joK_y@j0ejQ~E`7J1GXpvW~XW07d z^V2NfbIj<9F`rgc@r&Q$F7hD1`E9(uKz@BM{DI;(k~ZYG=#49o z-^}WQ{Ki{3en@@~$1lilAeIgJ4Y)PrxBLg^*JwV!2zTHQh-i2RCe($6|NPgMpAo(So zL-NbmB509UtslSOlh&Uf`n+$as^aIL#{4@c@p>=u3RV1CJmcC(e#bB#kY7Io@eA^s z&xlV*eg~3=SVw9I`{+m_3PpTGvv1*ZOCtaD(!*%W)Cs{Lh}0+ej)kYjPZf|W^Xe# zkl)By4fzfKBECU>9c2yqEhuYfkyownxbO9$ZGK0c-}s$Y{Qivj;BUPCpo(Ao#=nw> z*zALIOh{N}{2A-`c4 z=3|iG@B#iH`DLsTlHd2)56LfO9VEY$EkKLBYQ5nb%m1g%?>SBU<_mN`KLq@SKQUgY z;+MQ9ZOE_x3vNJui&by|@|*pVcmw&3qz(CX)HUQcyw350{N^Wfen5V+dub2kH{#Zi z-!j9k(Olp1zw&wq`E_s5AINV>+K^vQSwnsUV>7hKtJc@8JG%AyHm3RfI8NjG=I3HQ z;9ktA;upW!%iRBf{JOukee_v07j zH{jNg-(qd94M#gH$Z+MgbKz&MUdZuw2}NWH~1;$ zhwv!vgZ%ohc|Ae$yAysP`DL!jAo*pi5t83`@e9c>WgR5Hlr2DuylVaMML+D&=J&Mb z`Fb(Dd%ynY_zTeN!pNKPgz5L17kC^$g9?! z^}k!F&F@#u=bK?t_wO$PemyRYDt^hk=a?@b`F)A;fc%CfIDU}dd`bL({JN!xUr2tb z>#U9D^W*R$#{=@~PvCrj{ARZ^KY;uO+#2%h7iPSW{Bo{xNPhoFe~|o=E+P4)tcT>6 zu>~7rv&gH~Z@xL=vNpeO>-W=6>;0R@?;ja2RPk%RUm_35?`w<)zTyU#^uoB)@;AKS+K_myrBY z)8RR!U&3p**TaY&7Hx~E=`OR+P{DAz%UZ3&)`?JY@=fp3_Z}uEx1Nn`N z)sWxtEdD@#9c2yqEhuYfQQT_%))#aArY(LS9$kNbGAvp@|80AJkLFAINY19rFjsZ%Nva-;A<`7J1cr{z1QNoqw;;_aCM)Klpix z*SCpRsODe%W|8rO{1%^benEcSj>H$pZ%Nva-+U+H8RR#ot|7mUw2}OtjbD)8>^bHK zkYA5mLw>_y%wHhC<>&YU`OQD0KagL~K0|&B(uVvx%2qUj-zpT zd_Rr*2lGp;8ddy~FFqiiL4Lz{;sNBh*b^5Zzu8{+0Qrri4f!poYsjy+G{|p$9_It( zw|JE_$Zwd3_yzfmqq$!L`Hd5q4?up43G@f@o3YQ3-$2@sUr$*>i@a+6)`wU9qRsDu zjoVy22ehulY@zP&9|C^kKk*4w{E{!)B_>Z$a9SUq{)BMzFkU zecR0Ovo^o}SM~GtvUz{J)tx{7{fK@6=G(u1R#C<8{N&#t5Ay5Q|BRm>Wn1&}^Km!g z36kFtynZ41-JP-^zi~avgZu{4hWzHo;t%AvIGr@eZ~4(@{QlV~{9Z#_Aivp$^at`A z8LJ_`VFUUD`E`^vtRcT8<1@6#tJbgezT}Ix_&v0lf88$K`}GUW z$Y)u!4b}W$zTabfAiu?S96QKwJc99p{Dvd(1M-_4MOl#FoVteM*O4~l*PqBfkl%O# z?SuUK9-liy@#~+aJS4w6kOuk9x2HdlU(Y^6ehbou{5r~3G=k+->j#FPd1IU3e{EOK z4{^E^I#zX!6Itf56-wLbiyu@|)YefzB1Z|K>*-+?Fy z_(1VnoWOpNUws(KRU-o%Oen}UQ{8H8#-T0kh{e>56^LwAZAGK>e|F-!J`1J!AKUDE+ z`TpcVe#5F9Kgh2;m$88SmZS~&&ClcbKz)dl&D`%@m0UpLNqkYBef zuYZu=9Jhx2mapN~(D!!^#23hKb^!f>{5tj-@|%-3J?QRVxBmTrzdlw! ze{iFw;dfE|F2?ww@{4c3An^-L~;kYD#Sd63_dv?0IwGmIbPH}1~(L4FI;hWzH= zQXb^D_yw*(ev6#zEy!>FAn^-+_om2gxsG z3(z93T3<6Tf1=Irr%n78L+j@cZGQb?#P9sXFI4ese&@q4$gkfSH<0|6_yzeb9%X!x z{60o`kY7h#Lw-Zf@q+yNN$dmpEfyhuL4Gr0*O1?M2iHH4-+Wi%ALQ5VLVvK#m3-~! zw*LHX8paFq>nUr)jb$!Ecxd8D2Rs527qz(CXyU{nu zZ~g?w1M=&iWV|51C22!`BgbMSzoY}mZ^W&U{4R!HkY9&eLw>_ORSAjG#Y|Uq@L(ehbPPTI5yhmHs}c_3txWvS4$48`1s!gZ~BZFPICADt^s3bFq>9 z?nU1qzuAkVL4Ms!><9S`q>bd4xh{hI7NiaN^~?>1{Kln-PmteYXXam!-}o&1LGhb0 z*BHq!V~vpf?#*~0`K7FbGe==1q)C=c=*zo9*l-(p_o z2asQfTSI=c%eX&=TPM z+q-+e!TipPU#Q~O^2D-{{O-hfKz{v$csWXHDo zVc+KYq+huE`-gl9=7TwS{ek)QybTII-wmTIT;ntAfP;mbM$uH+BgXEX7Mo4})WqgqQ zQr1E8OW6Xn$g9@>JY@eT+x*_$ygx3db^ox`jQs5q-rqwt|1Qb=y8^FAkl%0w;{*B4 z-{JKL@>{&i_&|R1_t+2eTTs`KUvFuU-#8uDGe~|{#V;hkXX6*-*L}kK3y@#`YuW?( zEsmr=kl*Ym#t!luNE`C&DQjqvSFInIWv$kqpa1%cdj8FKpT_+Iev4JOe}HQKHQy`Y z8{{`Kc0+!P_ZdIPZ}tKEKz<`>Lw-x@8uFWyHsm+&$?F~DH_ym}{ARc{lHYOoh2-~G z+6MV8kETD6-{Kg?3-TLD8}ge|*3craS`U1w-vMp$J879tU1g8j@0t8O=TG==rlz4c zj^@`6EzSHe+m{uUU-HG^FDsJY8@b+r{Q7&DKR|vXX+wUC`#4{a{8G0B`7KBr@>~3g zyy2Vq;SKr%`7P#QJRraEefops_ZHfQegk7O zw8*R0AMSjA>)$84tNHok(8TYD%*Rv5uOG&IdoN>!$}hgNyT7cEUzZWzAivqBq(Oe& zX6y&~4WteEjjMA0Ao(R7Kz_5mX%CX$gV+!9TRg!&kl*4&@*uz2>eL7Mjf~Zh->@3( zf&4nk8uD9E*3craT7PrnI<3zqfAMAW{&+xr|J&v_;J0{$_Mw^|$Y&2TUXb5xJ@Q8L z`EkAz@dNVfhvN?9w1ji3M6w)tU`C+g>u`65Nf>bCjy%W^$? zobwA+{Ngu0!gwJ0-H`DZjbFbj;|KYTqz(BkcH?*<`K7KmVy1d$I=(b zZ}|k}L4MsexPat$W9mZkyAgds@=H2G@=Mtal3&JFf);tz`gcz+xqqAAW1F9E$wt=K zw=4KQ&yVJZ<(MBf{;Hz#i|=g1uPWp>{0sjezi}+%1^Er1vLEC(`;4+6zXf#-`OT~? zkl(Bi{ek?tfnPZz`Q483f&7NKzH)~A#&;MG$ZzpB{ek>u>@(yykT&GkQ`XQTuUfD4 z#w)FVA7|fln$Is5t>d@NZ@_QZmhnP0Kah`GepMmA@k7QB^6P(KJRrZ3v?0HR!xhMH zNnJyJbJ9lgI{?2RzxhwU;_tOg_UpFCH^{GF=__Z*um6O$L4M1R=nv$#_!!?Hzmc>d zzd2nzVREI_f7Y2;4sQi+T(~qx^-=gO?{C$CMlHY6* z(jdQX(Qlj~zk#$Nzd3ac`E{fX`OSA@Kge%9WY;n_oeBkl(U5X^`K% z7yCheJ^Kv#El3;k>nK~%2$ol^SN;5>>)QN=^E*|Iutfd-xXrI$f%u(+@k2E~;J2J@ ze1-h_LFQ(%-(pq92lAU`>;w6Yqz(CX)HUR{n1%WvzkVO~f&99YDG%}+acd}k^C$5K z@|({}9^}^zras7TN!pNKPgz5L17kC^$g9?iZSlrBZGPWvety0aDh42gV8y28{(EO0^#PNXq`r(Wh!bA^AOoJjk!Vlsw39zVdkf ze(7YtaU$mrnUq!kyot;_1Ng9HoyJ*)$!{G*7s*^ ze)AQXA8=`yUr#YC;a&B7 zr?`kT$Zx={k>d9Y&Mzdt^V1(Bzw=Qal3(^^ko=Mkko;2CgBE$!dZ)R5w^EzmFPrC+ z#h&&3!{(!ZeE$$uCSEU}P*Kgl9PbSI^$&5rKz`%- zyuLwx3(|)C#xL0q@|*Xb;0*cA9-P4MADWQ-#>FP^`>q*t^ZqTnh_QkEM#gH$Z@7^2 z1M=%AYshawSwoAwYJE`OwOarF#fawqH!NAtzioc~D$EZzGk&P%U;O4baC{)Y;cCVQ z^6UP@SU`SD(uVxzFY|f^`7Nkx$gd-9$Zz+hj|kl#3#;{o{%pE6#M-|REWg8Vw_8uAYko=CJKS+K_myrBY)#pg-;KO)r#8QV`PLS{ zS3UoBc5In{Gkh*OsiK;H$-6}+Rmg9cZ=y5gH{W2QGvwEAIFa|i6O-SPv?0F*bq)FT zmInDPPGrB~>-cpSPUQDPPE3Bw%_liSev5}F3-TKmn8@eN6O-R!e)fa>X6!TMH;^{u z*HhNeBClF6(0`Ld+WZb4UB7<|OV#sln_s^g@w*b^hid-CZ(M#-h5TmAFg~Ms{t$*U zK9Ju$$2TZ`-Oh{^asMS>NPaIM5AvJcPafpA*kuxbZ)>t&HwV5! ze%*Sw0r?H<&>zTezAon<z4_1QYkhupW8>G)R?oj}e)H9tA8=_@ z^Dp^w9mWpH?-~{>j6v~x1mg$!&5vaKAiwS?#tO+Vbps^7))vTbIG_C>zu_M8AipJU zjTFDL;2V-(&Xt4YcTMU;^1Bw}gXEWV3CS;IGteThTEBnI?5#iFGG@W%`|ESoetT{6 zYvK2*?<=bL*Ydw75AvJ$|CZku_igg)FZ|XS@*7DT@>^W=E$@T1^yfe*N0a2Zw%NQO&>jEe`s=LVmMXh;O5b-?$>< z0r?FpaeN@Z*~%OrD1JS4D>VPUJc-}O!s~+r$n*X#yh44D-(nJJklzBgM)JEOenEbV z*NA73U;irof&50&hWuufHRQKse1;Zz)q4J|d#%-WefwzU`ukDYVnw%p1AfaBzptp` zmwa&?#{=@~-(|cYzu8Xs1Nn8sIrkvHfwUpNj=F~8H@t&ikl*4>d>X#KfABMX=M4ER zpJRL=zvV@^HT3!0zqx*Z{JQt(59GHbZOE^utRcUFu^C$ARqJ&pEwx0O-wS>7{gS2Y z`-j%}T?e1P!zWbni{J3u?JH>a*4zp*FfL4Mnl$Zy`8{y=^``waOlNE`C&C|l78mRGGGnzYi> zZGInV{N_KK#{7$4PpleM{E~OY_Z9N%|Hb(R`OUV&HOQ~qp7DYF2GWN7I_eto8zS)n z@>~3k<29Q2EoS)68S+~YyN2R7Kj%AV$ZyVT!H{3~HvNJ8mZS~&^^`T_H!wCsi@a*R zS@~V-_jkVI=Lu~ooA(#3@w+bZdokmODt_^sU-W&2{AS%$ZuBQ zALQ3lx1yPU<0R%okYD#c=Lh6BUl4yFzZq@~`HioC=M4ERzGwag`Sst?AINVcZOCs% zSwntH#%E}eSFP`Tc$U_`-*WkH^!sM=6~E;3tMLo+o6pGW4dge!j6BG% zzns?}$Ztv7kl)Peg5o#M!1;mX_hbA*^1Cd4L4F->4f*wbc)fxAhM73OAivo_`UClO z>@(yyCvC`YWNd~OdDZ%WUw+v7{k|E$YQCR3jq96VkNM$n#tT*a;x{{tcmes%{>=F{ zbpN|L#{=@4ufcdhe%+dk739}bx1x#Pl54k-{QjBpAivQOpOE}Mk6)1AxDWe5ev7{l zzaYQk2lXBj;`OowapI!zu77Hgerc` z_euB$`StHJUXb5n7hHh+X1fwEAit5cA-|5ghT=DH?Kb2$zD0SEUq6WZ2aw+kw}$+> zE4luG{O12*{ssAUAJ8AjZ%NvaUr$*>egk7Ow8*R0tK4+c<89ZsmA{etz)l zGyfjV{0mk5;{HfD@cB+>#PmMFR@cX@=NT-DdV>X z@d@%<;MR~|e-Qp5`TZMyA^H6){Xz0ex`gDHvL2FO#ujXh%_6T_U$XJ_*S7h6rFs9B z?_EDXYmHz0X2%d8P{l9#h-)MHeUtHk{1%(z59BxBg82dD*Kdh`NPem7tPQ=t;MfAl zZ}C^!GkksjTTIXW1ITZQTSI=!6LD+k{`W2XLh}1}`h(<`bP35XWj!Rnj4jw0yYai( zAD@4-&F_PH{;>Eo;&%h?caPzwTtNMQ^XztI7 z<8T4V@9`WDB)_C1$gihvg|2Vk^LhpOE#9X+!`Jg~z7Y4nAipJU4fzdkGJk;l7Q7Y= z`Sp%-3Gy3B8}ge`){x(l@flj=RqGQ5-2Ah)_+4_3`u#<|#5CsLjhJuGV*F6WFMh+B z%*T-Yeu7)0@$2^GT!Z|Uqz(Da_aiA8CwZjiPZGJaz?$7*O(|G=X-wc;V z6~E*I_rgZ<`yt~o^!{QGe1QDsBk>9H>-NMyB)`=4hOTeidj^o-@*kWZkl$if?jJyY zGu#^T8*aouB)^=i0+Qd4=nIlx(h-th%4U%KGPV-5$g9@-7F*5N=J$o>{e@d{8u7a^ z?~i%jU{vvoUw=ODFF=0t30$8+e#;~A0rFcMg&UAx|7%{KAitT_1^JERIbM+8;yvmc zzMdcad|cl^eoNdM$?r?}1^Eq=IA0*Y*+lvS`E~3wQ*%I8^>`x zko>-bTchz?{v3B8zXfg$`7Iw~ztPqzTOhxMxt+qVTZ8uxAiw#$+~0uwW6=lF%> zmvjlqFJ&{(BClF+J8A9KzaQIYt@`r|cg!@N@8Gw*p0Pp|zvMI0hWr+TIDU}d{3^x^ z^6Rh09msD<+K}Izx`zBZ(uVw&pHLnYzxhhsAAtON+#1R6AjSvsTh2;-kl%bT{ek>? z_8Ib9kT&GkQMRHHEU#Lh^_Lm{+7`cm9a_J?$mi`oe#7S6|K3Asv#s|o6+?e?Rh zkUYq5T$=lHkl*}ye1QD=7Z@+dZ%Nva-;%n9{ASh`$Zs}*JjidkHPRbQ*<}S_qw=jPlzq{i5M?XKb zCGop_kB(9K#dp3Od5~X!;SYS@fn#j$ABuTh$B^G_KG!kiHlpGIAEQ3VZ`i&^$B^Inn@-1&-~8eqoFTvNBKiaQElC^l>nUrfGdVE4PKah8QdUOo=b=%W7$Zz>1;|2LGp8A2mpYcPA zU;i}Y2l_nYSXC2^^uV|Cm7`mOLg8-AgRU;O&PJvxT`#=RLY z$glqou0VbxX+!Z_e8_k~eoN{a$uH>~e zF5RPJ$Zs|px5jY3zkAX^SImwJkl$<$;tk|Ck~ZYmQ@29zkIx~VKz_qvu4Blrf7o@5 zwiOkAit5cA-@@A4f!n@pP@xwwLX909rtYW`)uPkUtk*Z z@7DMngiomA*L=@{Z;;CbLx7PT@Z&(bUP{l9#V$mKQLw?;U^bPWx4dD1ee%%brpCG@1v?0IoWR3^qH;^{u zw>+5n6y&$Kn>5I8z^x&_ey>i)kl*Yy#s=~m8LJ_`;Z*tq`E`^v-x!zy1>3fc%yV;REEi7>W;&U%#;H81n0= zYb3v1y8|S@+&h$0+&>gg(jLffj$1>1^GiD&Lw@tih(C~DcPagW{FbB*`Sp}F{q*f&?KZ#5KT*HGD3JJL7EZ}B4M8{{{8iG3iy zk+dPdk!!UfzXfSSe)C;i$58x+vx$F5ez~^gQ(WKNx4d3JezV~=w#j}YV>RSA?1Vp% zUq@L(ehbPPTI5yhLmr)XK%3vKo6m>JV^8W>-M0C`Z_E3M*_q#)oX{Qa$jMP9Y`*=1+6`F&QOZ|+w=KWp-TXTLw>WX@eT4DacjtLxdLvD z=Kj|oOxuwB9!P(X{2s)3A^9a8A^D|j4qD_@>*r3sV*56~4>dnu=$Gk!e(>8d|Neye z7pnNhuN%Po3rO+HYbk>Kx|bOX$Ztv7kl*|j#tX?WbxV-ng0vyO*{=8m`3<9)A3%Qn zj*JiFH|x>q7|HK0v<=B`PJfX6?o5A>{F084{8BatE%K`MN;loMahu;`n)kbd4u}6^K{4K@<@|*pGeIUQ?pNtifU+R`1zd30`e&g=U2Oz)M#rOvK z&2ekUZ=8kuUr2sO&^9E$yV4&dzq{cVl3&shl3&W^phaG_Uggs(T7Q22EB$@+X~pmM z%m>`-8ddz_H=mi~f#jF5N63b|>itC?84t*>{};yx@>`NNl3(hUko=O)L4G~=zJ~nf zmvFrU`3<-=3&}6(2+1#HbI>BMS|2k1rhjUS-?GTcB?~EKjB)hw;*lEZ*~afL4J#SNQ3<5#I7N~aX;o?kl&2gf+4?=u^RFl&cGkY zucNFXzXfFtE%K`MW?Qe?`t#je{<41m=9cZ=um2U-w|R&UsNxsD<=ou=Lh^e!eS`ew z6Nwj)Uq1|}>`~vbDaBIkKSg+GDlHVg48zjGs zHA3=x1b!j;rL2SGm$C(DkyowH+qK8uZSni6?#~wN{`pS8Z;nf&ieK_2_rgZ=PHBb z_YnGnrccD$gl6~I)?m4(uVvN{qP0y>!@qUZ#aSD1^LYmVtxR{Z+0hnkl%bb=O2>ao$(9u zo1e`20{L|((I3cfN!pNKPgz5L17kC^$g9@hKDYK^ZSi|pGe6{`rg8s^-!MO~Kj`QA z7=e67+K^v&41Gg3yuLpxJG_2Dev2Ns0r~aQ;UDBT9!)$!@=H2E@_PV2L4M<{oG*}H zk6S~2-PWCsA-`F{*g$?GV>RSA97}&7zx**1XUK0sSwoAwYJJQqtIpfz_tNJ5g*#vx zes{v>>iC4pFZr+>3H>}9(7vwiziTM-c*RAY2hWzH#HRLy5&GCc$#-s5G z^6OrvKFDuz2-jbb-~3*lpMm_A*Abr}zxlQF2lDILXUK0s+K^vI*@{N6ylUO+g!M0L z^E=D7&G$=&c0d36;mi+f5g%ZFBYxc)+&@6_dp+X;`Sq(1pCG@Hv?0I6FL4FQFLiT} zUq{-I-|QIT7v$H!Li-@U?oh@9@>@K}^L0pmZ^SPozckl&KnHIm=!@C))=T!}A` zUmxfXFLFJdcCvC`Y zyo>RH{KgH5SCC(~F|TKkU$+T)kl&KJhT=CTZOE@bk@Era>;6G~kl%0%^A*Uif3wpu zlHYsq3-Vizp+At{;%@eX{6^A-{N|K3w8*R0v;XVuW7_<_(#*fb*4@89_Pa12Y{}~n zs`&xGZgcV=zu{r74U^at{rvCoj-K-!RBPgz5YylVaG9ILeceu5#3_Nc4ea9YO_ zw-V1&f4?N|M!cTct7DkoKt7z(t7FJ-_K)d06~pWK!OhvTW5{nw+K}J;XFWTH{CetF z==0;Zrt1Vqeh;TTkl*5b(vbW<*sBvke&d@xJBIugak`Enzy6=}2l5+98}ge`){x(l z@fqFueP^}{?`wR|a80OcLFRt&^G33`xq;F9CW}Efw81kEM zj!%%^Yzy{-{Kg3!A1Hnc(uVxTlko-e8}A_x@*8k#$Zz?}UY&~O`Fim!?ScG8#%joK zn8f)6`E`^vdzr|9x0{P9UYsjx7ZOCtaH0KB8*ZrP&2Kg;s<$QzuhMtTM6u;%i z#2?6S{t^9w{Cf5o@>`HLy709?JMYev6+_7v$H^M1LT^k+dPd8D$OmEg7HDo!>)l$y%TPUVm=w zHy?IFRkzjep7{L(exdS9zPN+eBgk*wn|J~FEq3O3Kz_4b*az|(NgMK;SzSo++l&1m zzwQi<4dl0Ylr+e17~H#KB){9^7vwkeCH_Hvvp)0(^6S`V$Zt;Ckl)DIjPCqydFsin z^TSSG*M5uTyT86g^NUNPnjgr=+nA3b`JImOfc%CXIUbPTd?)sU{JPf{F0BvvXT7uV>}?g+3uu4e%&674dgeFHj-bf z3-TL@9YcQInbZgQ^-oY1&5Ay+3@k_qMwUPV|U_2nd#s0Ve`OQYL59BwJHj-bf z3&}6X7D0YJbFU%4;aPlv{6=Eekl$hy~l3&Iap*z2O z_ui=W`@a{A=~-0?%hmJm$e};}{(8O-^TSeocwW$_j$iV{l6`od&}XvW^>}@P{Dx7? zhakWC0qh6)bqDtD7|E~Ih2(c#e1ZJN3&?}~mN)nA81n13@6$2l*L_U;ko<1Icp&** zpZ*~EWuJrOmvj!vFJp_)o!>JydHz>z@%!|kUR9N{iQhKA(fs1lsN$D=T)a=mNb$Qi z;{o|C_u<$;ev5r^1M=(l!zCoYRu|;gkv8Pl;ntAfcq7LP@>_1#r(?)(e3$)@{Bo`W zB){v>A0)r*bCCR!&LR0_EYZf)ESh(<{$`KI|I+67KaF2^(n(d_Hoy74%)iU_=@`}g zOFk0IM)JEM;{o~24kq{p$Ztv7NPev@$ZsTe4Ec>0k_Y+CZ=-#X--6gRqX~zkk>BvlZ+4x6NxB30aBK7@Qc4Pf~=MUUZ zO#OT(-yff+_v;u{{F2X4?$zwFB(`6V47`K7Ff?)Ee%t&;eERGAb&M*0$!FK~>lpHzKY=fh-)x?~e1D{G@|(}ww`0g} zHXr*zelx2J@*5w=2gq-^8@@n(vrDKC@>@RJuVct>Sg2peNb&m=?ScGePtqUAuVbGf zzd30`ej{Tuy7Rl>^mA?17Qfp(SwEjF4yvE;wE7)o&vO_rRDQ|l=Mujlzws{m2l@3q z`gRP(ZzOHVZ!sONKz>W=8uFWyHsm+k0iPhh`3amaklzp)AINVpma-tf{vO%}`7OuL zAINWUH}MSe8%Z1Tn^V^4&hO7Q9{oa_-|d?DA)InjRkzJ=egN~s*~|}6%@5@LS;RBQ zZ+R=@1^JENFg}pqFrL>N$Zs}*vLL^Kx`zB_))vTbu`Rv~U(dh(XwDzVZ;o3-ezU)G zK0tom9k>Dc4Y$!B$Zvi-{y=_9(uVwIlr_5ZJL<3XAdzyfc(aP;uGZ8ZPvGA$ZsTV$Zy!ZZ^w||lDdZc7NiaN%|_u1 z`aOvFy`A`l$}jnhv?0IcpBOL5Z?P0EKz_5O@dNT3NgMJTsB6e?W^IA|#*vf<`HjCP z5As{iGkwR9-)v3B2lDG)#SO@Bc$xk{e)CuG2l88zHsm*>tkIp{Ue`WyOPk*l-fiB$ zP2>8OAB^AI@C()aKt9~cd6kMsx0FXpqyQB5<XpMDJEg(`l{?;ZGs&;TegkPE`K4|E`OT~?kl(l` z@e1-=TtgbG02Dmkv`!n}CZXo%6js76{{WE?c`6XRK@=Mtay7T+q)(h{| z8o$l`L$-4F_h@oD(_`c~XY8syjE){x(@AL9f0&6vv#`HhU#kl*kRe1rTt${O-pP}b`=uo`Rvd12l5*kyCJ{s z0LB9HTaq^9H$RZ$0r@SdYb3wc7RYaLDsGJ?e)Hc@ALKXS){x(L9peG{^*hlv$Zz>8 z_JRBsJJL4DZzOHVZ%$dGJHIdAyWW9qez$t7ets64`Jv5kG{663d{E85fAIPsC z!G4h6tRM~Y>yBe=AisgMA-|5ghWv)z*bm9?nH;~-_$@9Y4e}dtYshc$DEmQv^F0_Z z$gkU-{y=_9(uVwc${O+;7@N_Z-=%JS|GPH7edg(1RVh}f=ifHJ`QhCEzD?Uu#joWf zc}RXoG9HlMcml@@@*7TMd?3HsNtA`;m%7f{(DzF?wgB>*oke+&-~0-Ef&BUps0;F& zKh1tfe)l2|$?u-@2gxt#5|UradPsg5TLAgxG6h_Kvas zUbN5Or+1`{ulHd;c{%9ME-SD6o-u!+|)pOZFT;Z@0CUQ^5;+^RRZ@2Le;JfrQb&T%(o_g+qtv?_8-3#?A)i3rx_`L*Q z@EGyqugAxw^bc1)iQfx3e$vMJdodpNJJLq4x9jmn>KYfHfiL!F>@&Efb^a>O2WjII zeCFgmX(Rc&jP_sw+K@$+ji^)UsNxFpO^CI?xeER1Gc8o$kDVu|QX1|-MV_b>f zY#Nr)_}Q(0Dl_s2;$e!sU#M&SHx}ud@7beAs%!1{-?!5x?|<7h|0eBQIW2zfuI>G4 zi>~?kukAYC{V(ZS|A=?GmLE4&`@0?7wZ7t)(^4&(N4NQQ?{)0@)@*j+xkoFXeOKr8 zw$DPY_pEzV`SO_h`ljoT*1ezV#jkgn!DUSY|9D~Ns(f)!{kezQz4LM=0G9F^0-Z(k z|ILRHmrpUzUN_7Y*A8)@q<#P%?LE?}5@VCK4fe#0<+FXJ%x zJ6;n0%Km(ZpZaV&l=E)wMe-TU_ywLrAFAsF(EyMUd zrNgT475m@ycjc|rhr-vdvv3>xVHoqc5B>R_oAghzjEW&yNE+``?yxU)j4#w2qm_rG{x zm+k5N-rsC*?kjv#;mV(n>QbI?uao7ax4^6tj^^_Df;=e(mX zukGtL+gI&d*VpzBhaZPS@@7d)upB&xda+Y}}{5zteeI zqS?NGkNUi6d)91!yhrUz+vV%-fd^M!v^{UikJzT`_EF9D1D5N$y=b;S^Y^atF}m5F z{Qm1&7ryzuJGI$^D2{ zzwKDrPxV0NeDaVgAD%n6TK8?nci+l&`S?IRFW=j2f9|UKc;b2W{mY-4 z?VG-QT;2YDbsWFZY=3qt?;kYVZ^~-#@$kC+@y+%x`ql9sx7)L7Z>H*BcCJ>J4;!6P zZJDjvKIWx*-pHq`%ll?~^85X@{GQPt$M2Az-?MV%_vD?c8j9bE8TXGfE!>QTIsBym z&hP(g{FXP@^QLcl{NEP8Zn5k5J1AGV+ne!U->eURe9bwhjNkBD9lx92&i(xAll{6= z+Wl^JWv?#Rx4F(6S)C`new%LGzxDcRu6r{zJC@tAc|A^beG7+kL&lzl?Cn(ZlmcQ}pT z%YI6_f7S6_wD(p|;CIkx-(6SrKeD+$TXO%NF09h zx8c>~DYq`|Me-js{m3iLRm+|^-_GmXceZC5zneCGH@cVkcfZBlpeK8~nfXuk*0AF_ zYJkfZUXZ_gv!HvKeskInX`@I)*4{&2?z61Hle))>z zUB3luZ}jhf!G7BNy?JB&Ir%_-1L7qoAIO*FnLngUw@j@=wAP_xxO{q_1x=`smklThg<9Go7x%B zG<5jKb^E?~zNPbi>C*LeQsrlB%J0^x?>Dr4&Sv`s*L2W+l;ekeH~k<*?!4m z_4Un6~{w6j1wTwfo&> z8-7^>|JnbxB)`4t^Ivb}HT=KKuiyLs&TsbOWBgtE$9^^D27-R}ca`ThTWeu$0tspp6C5WSemHBtT^^XyujYpfiQjy#$$rD=|ITlU z-)4UN-x|O9zW;ae8{d4&WiveWqxgOGl3Q+^(y!w8nX{&I<=-azb?3JG{l4hgWq$bo zJ%0VK+plls+wVBP%{xwUt@W#0F13sKJ@v|+s~L23^ZDBu&rIjSigUU-R&MTp&#V3F zx}^0SANO`W-E{6xO`uNPW7m2np1-~hDSrEWRkyFt-?aVk_?1ifaux15n|5Yu){i~0xUBcYWNbroEg0P#;gWW_`VFHoJGXXgqFoLUSdo_nfw6yWdB)YPL`HIpbe= zpJ4AFif@K={1rp0&-vmFJOmy;gwH*ObcS(55f5ZPd3XJg&TqMl(*V)hc5WQLa zCGGx~?8OV1Me+aswoRN*_4&tdKIpn#p8vIL*X_P)jX$ZoTfM#9t$tr8Z}&dgwS3l; z|K!GId-I%09?n^ziO*&{+cxEA=+|}o$Y%TX2Xt-c@MinF4>s40rk$eMKK-z|opP)C zIxxD~-rY)Zr}aji8C!q8WBJSL7Q$=w^WbZ_PRz_qE^njhuKK>jawA*;&#^!7e8;Uj zqGmDXS-ww^4;xXj52q>a+~4^*M^wDSS7R(+kT=$PoX;b#;d8cCMpW!Z|B-xLeniD) z&Hikq5zZ()*Dan?6f=;9jhMHq_7|spxM7BRJh~QM!Q(MYmrK$<{E_RI<=qg*3p>(& zb}jw=g#O^~?6iGVAz8dRib5_M)-X8yB9<8sm|5NtLLz?y< z*rn-rWW9Yh^{e*vIZCsAzUF=_G~$O)uPAV=lsB=rax=b zmYn0S*0;{;a`;v+MgD z-&FXnnU_?4p=SF7+jnhe`DXhpw{_jVZnOQd=bG)!{Jd?mz1NVg^Y(Vl_7_yXncwne z`|DF}AJuGMakZ}3m!jF;-Aenlp8etV#!Wf@uiN-&!NW^nR1H$cXIiC<`+r)3S7Bwad-dl zVbb&C-qBXC`Z>E#f!2Xz*V$zMsb4q;>wI%mt@AJ*eFV?tkIpkVX?H~F&FBvvpJyQZ z)4dUM@x6$-(euB(k)Q$DpYD#Di|?h)jh_GQK{i45Give!M@+=}DCDch<{8NTVD~Ph z2Rx1T8spQT*;NLzju3X3k25~zN55z4Upo)=3}x(&@gDXA>mtYp8vlUwm{;(wME-#6 zS9d1O!Fl0x%FmmG-v?yBx<*_=MVIJZ+|x>~PWpYad|Mrr*ItZ7aSNe8;HVXlkNwN~%DDz&p8zyL z_Md9VGN5@K=r5Qt$3X1ite%VSF_+uJJ?bjVYhM-BKMu@9$6c;}uNe9UME}}@d_eRc z!cUO*1sudBi2ehVhfvWadKb6J;AYd3^}o&P;eiR4_u)LF|EDKY{VyN?q;*66=v6D) z->%w#{wRk2GS}8W>5noH-;W8OzY^it$0*^iW5QAQE|*tjCg#Or=sKYN7>^grxpo7kCe$3Hb&MUu8Z`cNlD=!|e04~Fm)y7YxT zFwdwXCm49M&_03o)d>dk5no?~b#sIhdQg1mOCy}n5cYEs?m-seCXx?YS3)?DkMf0} zL!>2iM|g<+>^|ZW_8~t#5H!LFr9`7W3L%?tC*=>?g)D-PaGKY25k`>Tm-~AsMUeg7 z9{dDp553<&6Ey4xd78q2iY|`>#2wXhn3HvLSw^liCj5f5sH+lb? za}_3Jamn~+CHKG1FSAWL6Nvx5+@EXc#P#XcD~1}rJHhswGA`0#@^xkJQoAl7qe%zncfA4y$N78e${?}{UQ4ys6JI8la1gZaCJA@NZzo`Bz_z6`1{b6|j0)B$j ze-CL1RR2SShmcL6`mcxM_s|~U0M&mNv;#ju>c2u-g4BP7FoM*72YC^s{s#ynNc|6x zmLT;%XagFM`X9nikoq5{fd)Kn>%WIELPeL@U+PDV>~r6w`oH>WTR&Z%f9O7?l5!fi zQjdOrnX#{4Z|gsrL34@w=&Gu!GXC~5|G6Djj;=S!q+_-^aD=VrPCGk(6Z=1Nzm4x5 zX3ueH$_e_MW8?dy?EF9)^9LvJrT&j#zN~A>{XIUBe_uTQKZoT^Oo)Fj^E= zi}AeaK8=0;A9hz7kp4w|)LjLjsXqyqqkRSK02N(w-{KZTeo1;h-bYhx|Etd|HF~6d za_sy_F(F_j%1|h5c)- zqWiqOnXME-_IbHpD@BlfUQRLc2V|d@o`w7Y(g*E(Q?rpjAp5*R_zAMlE0}})0omsj z%modY{c*I<>?*_uWS>_!4>TbAyn+(M2V|d@KOf}>D!Qb7aydf%O)VdeZU0N(*kbfO z>GUcp=-gV3Zg1Cb^@il_|LFIs8A;Oq4}EdCNuSvMU-^z5$GX)=nQ*cHs(ru;nM%XyL5}p(A`-h)!J;GhYcMzAbvl-^|K!@-XHm|bj z70O50i*QOGAT2@Ke}#J^Nc*qhH{j(pIenLf;*iGC`8=t=_w*K$s`u|dM zl=ob*5@bJ^y#6o3IGir2|0hRm{g>x@8;VZ|{T|O3$;%S>QvdV2+IlE*nzEp0f;>|{ zg|C^vJwZ+y^G8?b`aC4Q{%`4R+j)=qnH+x>=PP`N`L#=JzKQ+If)?CgJYeTr(L);;aC+&^XKkwh$KM?PIwM$b2y0IQMCfEOf&x|^v`oDgF?N7t}SvG)6;B!B# zp0K}b(SO=Tj?eEui2hU8*!v1jvhP=jKEt=-`J%VH^H~qv&t`GHHI9zwOaEKI@x_j! zw?-Ua_)Ch%RBf9Vt}-{bol$^43(G7b>8(R7s`tAF*@7NfWKH)1}dK(vJV|8R2s zKlPFAr=|X9&a?WI@wt?v=PU7i(es5H;`y2r?06?$ZyC%#MdYxaWu&*HImhRDORBWGu}ikdVZO`q)k9n!<`*%41rU=j(g$ReX;t_ zWc^?F5Za$Zja2PpSpKHu`mg;jD^T=bd%BGua``zsm8hSl9MG?}{e6Y$wjWGmejfAX zxy)hy)u-9`F2|Spd8NqV-%&otACk}VxjZGzfAz@ta{A2AajpLSTkO2!Cg$&&W%=G& z_V>7z`B(71CI4N!KYIuBD{_`{fRtm``Cam2^`FK1pL;RZb5 z?8f~N?fu%-;49Gny!t9Qgm9puOY|=8vJYA{N~Zr(JM2`dRk5iz_C1@r(e=k7((kEw z3F-P{4WiFm&08x4$n%v0KOrc_{n2_Y;uGX~%S9MLp07Ok3DM`P>yA|pAkS0!@YaeT z&r>e^gy{1V`~g7EPcELnJmf_NkNJ~gP0qOA`QGmP& zN0r3ScNV)`e_9-;9H5kG{r0hnP|+oN7x&#SI_qTmr}vxaa_8H2=TF~rY8(Ha6TRys z_MrEi2=e@E-gCmcOJW~-&xs)R@Zl#cC42FEP9bQq554C^5c|0B6Xf~Vho2z!3gIV+ zz34qBf;|7ydrkzgUkE=zo`2~*C&EgUN8WRCLCf>64?iJlKlnqSqD%BHZssKyCY^uQ z*PCjO^E^t7=eD^t|6hK-%>rzVGyA8W$ier|a#W*T$Z;XgMR+8~pjI{1H`I6iP>w-L zQ5CF{;P(oekOBF$9NK7zK!!F!T}n6 zNLxehrukUE-jS+;7jg`~=xFP!w;kz$vvMPG?axWgtC;)oUqt@EgyS&&qy1q|AwF;w zXp$Q~gZl&4JZ8h)Ejfzt)|)ne{R-|EsOWMyK-`y}pR_Wz|6Tpg7NhTutug=hMN_qI zgY94ZE%tXH^KRnOwkmpqXD`c@`RCwN+fOlD^%#eUxb$h3ZwS!U9EBsgoYi7#L52PNO{GrbWGSOS^IO*)m9VE3AQ8nbS}+5 zl&^pNjQmV{KBE}(WyNauDEuBUzwFE`Hdu5N%7gV3&nq^d^{=pLZKaEg4IZhE`u8>J zCuo9M|7wQ%KMV4J+HWKNH#o0qHsk?qud(;9=O8_x@Q6?O2k;ZF#r_iWdz*`JU_>)Z zd+-xRo@{A#719Fo-m42gA%*3I@Dol%ek9MChx~!-PQdRI_Y=TRNGpri|0-xsI76~^LD)JET#1?yr0H`->Av`&#&lTfi)ZOdtXpK{+NsL zhFQ=49_=S^&5JgE_%qr^;6qLy)=X1`*AU+yQ(nLN?vB4dI^W8Vseh9mu;K0xX#ath z9N(>+rU=b4YV^rYVC843Ne@aB&A6@zLS2?N8PxTOyQn-r`D1S58+8(nlCtKWEz? zwAkhncfszehL-2AVZ5Km9bxAkIl8(tCzs{e@wqaTQYVbJ{8084Gk;HC%MUKF?M5;4 zPvZD8KVW+&rB3GdMEAMM#FXLNMBX>(EVu1U8OzDz{f8oF7xSy^w)sl@koh&`eGh() zOJO~h+-~D5zF*CJx$i{RWrnzs(^6-W{GC{y`aCYV&G6KWp@!B8?^(2eg!wJ(ymC`6-#H2KHSzN4uKo$}<+-d^ zLVRh@a}(k_EN5^+{4C~=O^Bb({80(<2Qt4Rr<4Q4J#lVf-1Beho-IaCeZEvm|B#~I zAHehfFC^Fh`_-x&iK74Q73}|i@C$2Sc}`5_a%A&+T2c>1pKsN-c9D6c430nelz6_w z{LAD$C7u_`X8zdWHea9nYtfI?6Pe%3=lD-bIa!X!{FG^2e&!c5f7V*d54zgt`V!_> zR4PZYUEGp_2eTXgmzFMrT5_{OgIVs<$gRr6(K*M>}K2kyVoCy z^KXxglyH9;qO647D6i=smK+&zfPE-0(RwlD1MT%Z&hDZ?r@681|5mR5fx>uuZJMeXa{K>M^7>EbGSVgWU&fz_>tBiML{bkD*OgMa zTpvud{e;wi`CYvEgl(sUFYU<*!4z}P!p~wk^()){!>eg~3aS5>GT%Snwv#T$U(0-v zGm`nG)9rkm|MX~+PZ9GEB*ZUeenpOii`)Fs55~vpU)rBJx7JhcxWl6DkN6L@cUhYK_OpyyVbwl?Sog@nNRP(RKlN( zXD+*k+eseJNcv0Uy{+r*_(baY@U&qjKWB<(T&cH(r(b4hsfYP2Xx$f<@7J>Jt;hVy z<1F7f8U@Ey!u+fT_V?>@zEbbXKDB)5ceZl;n>gR_>qSP+4(1>EG|Mlt&t*$lk3GiY zIruuvYu(dZxtH`-tB(i3$$g9a)-eyXj;;Ules8b3m6U$0{Cr1$ht)r4 zOBy#9o$pu&e-6`i%eX%pKi`y}*-FlL^b4$hQaC`)cXVIqto*Iz=R0~Yc2)|I^Bwgz zgoBpz9Rtt~Fq5O@S^79_mcAU=$TF!e6Ks!M6 zyvH4g570hRbKc{t2nRe3n&v%ULpUJkJ%;f6fSmW}zK(Dp@e;j@JM*Y@uR{NSIKRnx zrK-~1%g=ApuUY-Wyyg;D&TrDJ?Z10|6RqFV`APp@J;#ac;?Bf=gM`axdMUg2)alzW zw*K$iW!s<*A?=0;c;i&t&dBU8Ci{Ra`dTJTQiQez2>O<6r5a)frf^`*j zUw!o%XlG(wwO}*Kk9cQY2YPm0bqa=@LBG0c)E?W8ntjVx)KupooaD4Ze^2u=>LJuG z$TZy9vxQTfM<8sGzm@s+Vu=H``hv(^2lQ46lDNTaQ za);&Vsngpf1U1~KPEBK*usQVeF`V$6(z>X&n?Is zH&M5ZFZQT$!$%e54V(CXRLWr^M~xW{={l!lmm#sG%^q)ZD;HjY@YePWIYsj zr>76m)7Ab;ZF7eFSLvu>Tw(rDHU4Lmep%tTVQEn-IcBl2{9!T5>e3-T@-gF2MX%#-z*g_r4^A%!r0=E=I}nA{N)G!qx( zO&CAs%De(wW9_}^o~VUAiYDfbn=oqpxHBi8mpe8uElzOH!ZBlr+eXLpqlx-W&d+P7 z^9l;a7qmf+3GxcZ4$UiwPbm`H**lnoA3^$gCf?u5Lr*_hpOu$CaU|V`o{ltsLuWCH z(9@-~>O0i*jQ>`3YE1tZt9rCAP3FOH)m-BGEr&jqY<|Bt`fa+xrE^UmT^s!smK3A& zJ9{2RSj_h+z5-3_h3+}22FD;W&By!wQVos=P4gjg6{7$y;yV{(4Fwp0{3y&Hg80Az z$Rk?!NyU3VscIg@ABOmY5g+ITd6YgxTEYSj4=%)-4d7}{-yi9LZd9I_{SQ?)+4KR* zOIVEbl%HHjP`^#(KNIBvO0T#1yFDSBK>ERYmVW`lfnY59)0p+Gi&F7?it_0*kUt<7 zvN4yqT@IXDJDL99_{hfdZ?^iUZJZ5M`Tml#X}p5#q<$_k#P&VL0B6oxR{W;8U&*!A5iHnW=66VXiis;wF1GvAo ze7!Rj8A=$rd!Rp>Cm?^Yx|jM5_e*}c2DZm||HSh2T~=FrQn0)C=WEaz8?onW&>0)C=WEaz8=pM`ebRb2ou>iBp07b? zY{Z_gL1%2lp07b?Y{Z_gL1%2lp07b?Y^uV#os?6nY+Lp!OZM{_9D& zAK-D^52e>xpn)E@$LF_ts?ASNLpbmo@~8Go-3EEU5|oe9t0K?@zPtqY%EK;rH@5v5 z`TCX!MY-iU>^FL)4aY`Z{@DHwkb}9zmG7&dxi(kTgmdOC7mwN9dH#jxYs8L4m+(9b z@2}OIVDZa^Mxx9Ur7{1?mick~Oy+-)@ST<{=C2uK$-02JO{eT70^B&YR7ofc@G+K33A?pkFpZv61|J-K6gRV z_P@+7XDa{At0I&(nf~3n*dM$E`UcGRH$ewC+-V^CcV>GXv`GDx(+p|IuME{<*0Q>XG^{;0le?asf!cP$WJBUjV{Rb#7K`!~-h+Fj2MW<8y zlXX?D(eo~D|5w(>`S;7xC7JTR_+05U;@r6H- z`O{yRX5@+-m-z#;xcuDyk7T~sJM0U4|5D!mmvXqc{od==nDpnNhnTJPKVqG!?Dcbu>61IuUmtL}=gKhn=$y@va1e&4u+0jMA+vuOp*GQ)S;K>X{ApM7z;eMaa zFcAGa0cb$sw$i#3hja^~hREBa9&W_Yg)P{ksTvkQagUPx2J}1kr!^M1~@W{uS<>Ao^DbBZ&Te z_z7|)>i_o{E$>UF|0&ZdnI!s_Qlo!bM{f}GeNZ_^JiHd?9RSh&Z3}Q713>HMZaH(DeL!J;H&>wIR=g zz2GPG#q+r?uBAfw3FbRUpq)jC572jz=zF$$aVrDSj|Z9%J+~bG5csti<;VU!dWNE_ z+ALchOC35ibQR?B`~~r99|!xzJpXpV?>#oWBK`MY)uwkc{nrUG0gFrTw)&^@1(MZ& z)dm~m0hh{m4fIWZAREIbqp!9-l>_YRXK4jL;rm|L7lZgd{Dfije*d-5AN+**zu^9H zK0yFKVIl6ygsX>Hdj#+kmLZ(-^WZ0phdzA7cafGb_7&I*vVJ1# zW5+-8eS~4_D=Yu`!zG#WzPJ4^O{>x+?%dt>`v`k2Tm4htM@anMK~t8Wedkc~dz5hq zUZXHq_(nXxIrFDi8x|K|?x@b?@%$q={@?j-0@e3_=er5c#ttm~kMlndTzuFM$?E^6 zY}@{*`nLWzT2Te{zq&#TVy;VJ0DAtRve31e$K#edbm)|e@Y|VM{`>6#IyU|Q%%4+z zllY(K$I}@tgNSBdq)WP}?p)@&?i!s-+s!x#g$_y^pc>>6U?f!GAbFe-3*MqVi*2Z3MYj)KY^{ z9-?=kJTCGZhw^CTvl-OE2aA0yuo`6k-o-_^gvhR9?$ zFR1q*wf|zD3|@b6zJ#9E9;;?9weyqSL92gRcM*4HR&}hu)QGOXY#U_z5$6>9+$nOq z@%s<5pH;?T(eJwOdplAuj=adqk#-(GD|01&?`itTZ6+L%I`+@%^7-CGSJ3iN#9g7b|%m(gp2~EmrbAq$(^{A!vCYG63z5j(H#Q zN~9lC{yt;~+Pwli3_+-!aVH@?Xn7wp0PP`vc^}d#!uyQl%io9eL2KkE??bA|kca$I zL>_1l_apB^`k*!B%lnXO3d)CYxysn%v-?}sBTkB~|C#Su{jd2J?a!QY{d>Pz{iCHd zm$>yy?DuD7{-L7p&tCpoL4*?Og|mz+_IGEEGqgKov~lHkxu(rz%l~PVakFi<>Rwf3 zXwCeA%&&3Nm4@#uyT+ztem;LMQurg8-(;GN@3WkI<~L0EzGM;eTUE39$~uC_{3&-$ zH~INo{-w;9`G;`oM&<2&kh%EmJ^OriH>ckIaWefc{|e*d2g>!Y4kg$Bw$rNNw-AZG z-||=bcW?do^sf&l*ME4x^8Zu)H;!0+x-9>%^#Aagwmu~4f8pI$|9ZHsKZ*KRH#~~@ z@JFNiFRg67;?5p?>oKwVFZtNk|2wX&q@0(__3tTkOt_@pi!0w(mHPh^&s+NZeNxG| z^I3NOOX?w-TXRihzWbD&@J?lZ-MU=gg3C?5n#-Nh-Tsbb9yOEscdWL02(PvIWHEm^ zfB#c|XXOuM{`5vxzLYbc`Nav}9W7#h<|3Yu*Vmfzc+B6nmCMu8@=KU6^~`!<>W`{DbQ{=stnt4hiBFW(3KEB!xnpDpMAxc(O=*MIoqKcj!QPjdYS z=Ox#F@X}Mt@9~tVUy0tuZGQ9HrvH@)QvX*%|6$YPg{{2G$@MSa5B)3s|8LcQeSLEM zJHPxh`u9gC*S{K@T>tJn&naE|xu_nc{}K1|jwi)^->d0v+y0ox_O<2uS5=ei|Mms; z`_7{OUQgKf48w`GJ(P@B@3r+`@%l(p4hVMId3fP#=AU_bzU|j|T|SNZZ4OyEa!zzR z=3kW%KZE%-PO&kW!v>@Vi<^#}(J;W;>@{NN|Ze3`lr`2oxEe4uIm6n=utp9Sy} z==}`;B9y-jVL)xn-?@mdHXuDf?+^K)9ry{&5UvJdFDU#3T@%mAcrJJDM>rst^n2pA zD0?zHnf}v;p#ZpoL$i(k=^TOB`A^cXb3{F?l}<6p>1Oi_zL}y3uVVh$$McH!Il_S@ z7=qFM9)I@~gJrcMnD4}QEI|`w{nq_z3f6t6sPKF{UJnpP@R8oX5%Zt#!w=j`@-ROf zz)#3(VV{pe#3dAsK{)1b6v7C_pk3%g!%vX)_Yi)zKAHZ{VEub)&Y$Yv z-8fwlME~KtxE~;@|A(gIJf-PT{Rb~WUx4V}ho2z&4-l6i`VSFC5dFKma6f?P-+dc2 zAo|xYL%%>&|J!lzfapKm0eOJv-$hvoqW|DEln)U7`~O1TKve&4K>vW~Kcun(qJIx% zC5Zk#$R@}odKY(j?MgF~=|3aSwm)ivJr|^+`mgWD{Q{zY=MmH&K=dEn4SfPq|DAOR z2SooGeuC)V+l2B0qJI}*1kry`2K@k{e`f>a0iyo^aS5V-XFb9J(SHCxLG&LWEkX3} z+=uvp=s$p;Ao_QZH$n8TR%2&4Ao^Fxn;`lR>0SW2MDOAj`X41d-*7{QZGW7|pVxo< z2vLW06#(W@2tW70iu6(3*-Z$|L``10iu7s9QFf5 z|L(1@7a;og;U|dxL-+}ze-~*9qJIt91kt|>KSA{G!%qpFQMKzhv`%AN!|MZc=O}>fyPn@r8c@p=Z=+Rt$K8Glu+ou0wf;d|KgaFeYkUVU5tF#{KRvV zq@E|9qm<3@6VFi^$^67~l%zhdd_MknH<{z-^Z827ntXGo9`h5=T`FO|oVyg(w9k3c z-e?X_Ww+ank1UJRKhOVPj^zON5zz)BH?;caQ4v~qd(n57@phDQn0|UB|E}+w&la%( zd*ys6IUkMVe>o2AB%Tx80eMOhTH1D9U6iK+&_gf`pl}bg19;lDv(7+-gVwx`9DsI# z&WKOXJ^mns0Y5^%c@7#3*}$`#AP?Wg4B_{PH{Q}-4&nptpSJnSTFPqFL+V$A-bCw_ zkT3MBc<_&<^NXOjnD1`BkMLO9<@+AU?iVj_qV>mS`7^BDi&+18&mfY>VIW9-;MWeayII8`3@rUQ#e5Cr+-qZv6s{f&FAHLr&xYdj(^8#+>dbk zteO8ie`nWazSNvW{C<=0GdTVxjv_JEBa z6xru^(VOfuagV{k3)e`F|Fir~w~sOWeC9Xd`_fn1`Jp1_JKMNCgKRtFG5_wNHeY$v4YB&q=Jx-2Y)I3q8gVQPg_pw(Dg z9vMGKecre~e%zAA36^rb3NEyEk^0$@<%oQT$zn*4Dzjn0!f0obXRMl=UayUD+rl-}v{N5%1S7{y#-;EBd;q1Jb4OI6=$XD0L zH+dRjA7TUbGL|lg4nc?X(iwG#*yrb`ApGhE>R6cH^dB`EDj(_Tye3^4^I)Lec@5ML zFWUCoJq+m)F7tXJ=m7L%-7!yx_Y!nX(2E*G-_!F!y9*nr(ymBAedFa3qj3R%kTC7&#qLi$g=+UnoiY4v}@ zo=Qq@!FR&>`)c0d$?HFTUyUxQ|Fv2Fn%iN{MxDstcaeIP!U4x8@Wn3uw%hVZeED76 zv)}Rq{!Uva%ej!xcNTsY^K@y^{S>?Zy@dHM@OR^+ zom|TNCM)^(&i&mo=1aK8^c_E({d;Wtv*}H%|8ri&_*1v!Sa6O^u7CNyj_Cgz-hZN} z+ICL_JUPdB%-_xJm3-GHlld?4d1qc@ zyB^^%|Aq77+rxp(e%Z$U$;y{^RC4{x_jRKB|2AGfl79FA%MTt}XiAXE0h?Zoj~_6<@bf$qPxQZo z`AZV`A@d7Vd_S^}`HI^;=ds!L&iVeozmel}{dAarkjt-I+j^eG{4Z~}_VV7e>p26N z|7t6?BY$7VW&VQ8?R|xJO)#91%+KP1dj`9=JW*|Wtp0a>w8g~Cz82%!D^sH1cTqaI z{^k2RqW_<{ero>yji{l{L0cZFCsLnR@^iiV{tAl^JJRrtV|$;vl^tLCQ>U6c*u?v_wsJzzr_^h{P1W)^ zdS|=*T>1y=qg`8zd8uU+3_hcuSXrvlH%%}oei;2JX#eI32K3%QK;g>~4$!(8oeK~k zKH*!W4?*jt2nP-@9l%eBXe-~laRS~`nV{aPi{~MdcN^jZ3y>elci|`e4*ArdtCbTB z=sg1;w7wnjff|rU``SW(f`LC0`=pRQM0p8Mp}a=^Er<_%iu@?Oi?oDYC=OkL`CqA_ zm!JJnZ2kZFZCn3G9gF$P>%>Zk+$wqfr|*u?mB9+{b`RI{XUB>OOnB*hu5Tw#Fnp1G z`?>b_8??9MOqth^e#A+)e5k=(xvgz{XRB>b#NO%M6Y3ksFI#N$mHzPz=1=4e~XdRsRr!!Vv2frjctd$W0LFt;X$@175!H<|MRu7dXsUH=xzTytRMdU%J1l< z`&ggM&*1XTlzpUpUbg5>o}=ZwY?tHDzrf1(C)oBppZPEG{!%^B@{5>%%VsW5bGz@z zV}8bM%;$DV^p`k~G@s-DD)+_luV%ia%Vs*~oRZIC>;Dec|Ddgvlzulw9lCLZv4=V? zx&CQgo-Wb$$J}eT`)PcQmv0)@MD4+%a4p(Q^t1oX&iS z-<0|7PqgKi_?r2966A{=rzXhH8TV)rWN+Ih2p`S~1wHM>5$TZTQ-$>^WI(=hOzEvCMGzo-(kDl=z}czXmR1kg zUvBh}!U4{|?C)3jn)#V8TfSav$6uo7;xXJWoM!dxaQxD@tbBKqea;g7@0I5@?nhjX zA6-XazUcGfVK!g+4n!%(KbOlX?aylFZ?D1S;dXuv^Xu~X-{tb(!~9L`O8Pr`Mb^ja ze;}Xlzx)@hm;O+GzQ1ahT>o;uzv%y;I^X}t&iTepQs2_J+!dYgpMGY1e9`~OZVve?OuJ(f`+{T0Qu`+V!1GzOVLGIsWtU z^9&bEw(*@SZ9gvhFY9NYW1T7XdE8|=`zl+$W;tS)S=~9`tyaFr@w30P<72WT>e(TxRNt>X2OjQ_qT@f7>7O@0aTXXQTEq zKOA7&jZ`TIult9u*!ybA{9h$Le=jzJ`PKGV`7&>u#r(3bZ2RNCY~{GjfA(>X&-^0h z2aj=kl~8XZ{M}QryU+2nH}SaQTs!|?#{BIfhua^~YsV9;{P1@Byzm&uPf2he*>ek> zfAWXt-?U125Ik7^{2Ls`&%Xz3KlXQ@e^&%`;+}tL->Am(pff1TfS!km_WNfU(DSf+ z0_K+yPN3)E0JMW}0zD6FJnuT$pn>S~@W3n;0P;K>UX-N>@;t2ICq%TB?+(tw`4Cy= zd6?w87k~!nd6?w8eL(~AJRJ6hJfH^B)AO(HlVw29zmz`ghj4(Ne~Attiy+Ux-g#My zuvFPg+-1w|?H*hIW&M3=G4`IEStGjst~w>J|MGp24Ernj@A^CIx1#m;#QMK{_8i)O zp0xf4zn0hke`@}R>c4vi_9Z`v`5A!fKhb)_1Oux7&NrxE8$kn9|9#Lw8R7#}|J6Rw z_ksqb{yUIGkoxaFfcX|c>c4kC=6`^Qw(>*BCeVBk$q(0o2B`j%{BSL3K8=zeF6FbBHGFiAe%t?C;9qWqz6d< zBws%R8W8>K05m}Q*C#<9`~+%$D7}la5lH_;dyqvi`k#;e8(TmF5cm(BKK~zYZ~DLC z;Q#-)tpEI0tjM8CZTW)-fAQ*Eioar+v~#=i7V+ za{2cyvUG^}l>a)&Bl(MwuXAx-RY>}Q`!dR-hSbG5+L+IT8^L{%Jlby`VjrESExi|V zLVOSA63XXFtp8MSN&hNtaN+)H$==`a?PI+1Cd@XPf3jIbHN>CTRqUXVFQMLIW8kp7T9fZu><#8*_Y0J0zH%YmO@>`3K>pYS}DzX<8!Cy2e&aYzpopnN1x z!%q-J;F7Zr~v8>+FW-xWXm| zd3fM)TVcQc%q9lsO+|d952rRUNX0%;59!sUCI%m1UlYamkU!zKCvo4P-C~pn(D)tr zV`2Z%NDs*SBLVz`8qlBlKEjoV58R1y710{92Mcjuk`aLI^ebTg8sJd|$aojyXZ+6nW}OYpxb-=-PYn?txL}$cx2nd7 z51e~SW#w+ixW6gBlLwrM^a`{GKcOGfF5(i-r1BwL!%v|4@A}9Oe!{6+VIR;g@+U|; z;~oJTkniFJ%~2lUVw8u<>l}{n=mGMbybxi8b09B3elEfYOBPo#<#jb^U>M3z<#CS! z4SbCHOusL&Q8tbTAb)_e5h}XGF5=!+=eIkO+2{1Nm8^)yc3$M^$z-4M^YIU6Lw|K( zt+Fl#?Pfwhpu=0c7(9D)L zQ0{eI4BC?YF2(QT`Yr}fAbp7R!Qw6k$CCaL9zwnW9U$u>{u0Cog8j&^RwL{Q01dS3 zjeU5a{cE}yytx7Os|)1agt)-_w*wHqnt7L*q_F$?n| zxIYi~OQ_M8gU_B!rgY(wtRL*su>f7d=s?y7WZGW+yB+}bB>v)D9ri}0FULlues zex$t$8n}uOo?`P4-n~>2HVuIO@&0Pi1mS=`+y4H;Mu-bs(E#^P;pZV77<9iqKg(_A zqQ1N8{oic3&UW#hva9Yvdehz`tp*+x8nQJo3FRd{gv}uzSh558L0=lO2|GT*K8u)r z?@v&9sC_yTWdq)7g7YF!9;btA&@0XAS9d~sVCP--{=Cy&McCVi^ILQ&>c^$3(WZEN zgosb_ovx4v41zo=zkdqy11h@YcO&j7)&F2J`>co092^PK(-=1qD&=pOA9$nrZJ*I7Z=ad18a3#mLsSh1mdw~rPT0%b1ANrv%zx@D3c#`_3 znD*@h=##>O^AR7Y=n}h#d(ZtZZAoUI1z*_Tk9&h1A8Z^~1@<~B zc@zh-2`3igexOemWhI;j+8v4Z6Xhd(26Pw5wa*f&c_SyLpX2& z(KshBL|%mJJK+BD`y?CDRgryAP0S_k*tc`8NcQ}5-)7w3{POehbXM}`A32{;o`3$` z^9ldcbMgM^^9tpByleN{ex#yv3M)D%Z^xOi=YMcsVWOSHF5+&VcrY)SecY!|&Y1HH zgLD3#ecCleznqq;^5-Bu+_x`4yVE9Bo$)g26Wl|0phRs`)nnkhty9$(Q_wGfPCFO< zE!^{|-XEW;K6wE38}2FKhj7ntg7y4%scQQH$bsuZet`5htc1Mwsp>P52e;e3mGM1* zRMoK|#vAFWst@uF;cC=pr$egx8S#9$KS93ANLAnT#JCY|3Vy!<+-7if$5iz$^6}t) z1~-Iz*eay&l&UJz?-*|N3z7bWRJHdbl>jH$;9wKIBulcNoe8(6$u{ z4;w)qpj+a8C_TzTNX0X%ZJF%<4)UY&3-72B#7Fxl^i3!_l~?GdNKfSx`j3{e9O-w& zefOI;#w4@P>77tNaJjeH{-+V>hN@C@{N}gA^8mg-7Jim%u#n0NT7Q{qP=s(Qi}!Y} zBHV&-qW#-*6~X=9($3~wML6XdOY8MW58My^QGB&J7w0SFsy@h{=wN9s_SNR99HDOk z4HU3EcLrnweOMl)q3dzTi`Cx-vhSGk{vbsCqj=7TC=XB{8wQDX_d*`<>qT}v;C+t! z0Uk$s3YY6z8c)XbFQd48`aRqaP=+}Je^hyX)*65OU+g08xW}4(n9M#8o@~bl-s^UL zXI(DYr~LV}aua($Qa&2LiJ#mVZ$!-Vp78dzjSs)Oe?0yDo$>O{Xc`~x9UV_6p65yD z1xa4y?n}r|zR%_k7>ajchpOvx;^SYjC7ynESvSVtJf(5ZSzxzOSlw{IZq<{K77yczKYEAhxN^R z%W_{yW}mgk!{E5W>umo+`*>sL59E9;w|zSLG@tUn@KzT@enz z{B*vS*AC}f0dl^UhqMHF4^MT5JV4IZ@-h$($oX0h;u7{3qrJs>UT#O^2YmSh>~jl2kQo|f(e8fZ|{ z<|n_OnRvtruc{OMJw?ykLf#Hg(Ivkdare0&4M}F7d5i7uCwO+D`TZ=|P4heD>&zQ= zL%(Qmy@P`d9tTZj^M4tv2;Iiu{;n?ne&hTR+`g+E{GM{un9FSa^D5=wdr3Jed=d8t zdG4XX24^BYJ&y!m4>p+F2${!xUt!+^@$FCI_e5Xd@`%2ELHyYMXZLTmJi+&n4;)j= z((2p6im;T+E9tl30fPL_&w~|VJJaF*!HPihp|SFd&PREV#Ct5iLLb1+gz{8mpEM3Y z^KP!ex7WM|=XGl?!p{+$cIBu&J@4Qm1Z0!-Pxr z6^MXm?jLUWvcFU6$BGU%zVI<4VXm1M$MX+kenj5G=lxhxj!Tb;mtTwH@8bKC{azSW znQQIgcE6Y8tC>G}X1tu1%;{DUc~L&b6oRezaM9b{r&iBZTm)ci0yym{5t1RR1NK26Oq(X!dbFoK*XrQs*Yc~Sw&N|5uUG}02}JSl~H zGx(eK8GGlfg~{yGpY7wU`wRO#0{Z}BpCA?Y2Sn|&8TJ9hK7JkO2N3&&@Ds#7KGG7R z_CZ=75c{aQxIaMb6T(jr`zWL(ha?2Yw$A`-JclqV_>q10ZT2+)Dt6eH3(KP=SHOF5(_@L6xNA z>kiv&`{u3x^WTr&ItBa6%Fo9OU%>fufY`^oALru%Vjt(ZDT*NW@!%(jeFCH=Kr16U06q(h|fzA;Jh^AB8Z2*hj-p5c`BwRzU2dk(MC#@e!9$(Is{f_tU#a`o2H!f4nm29}xQ}w6z4WkG}!^J0SK6pT_+HVjuks$`6Qr!e3+6QrcN>jllb`f`B&!)YS+2?zP z)ILZX62v}8s{yf(dK~fqv5$tI5Va5DIzZGu@Vh|NKJa^h*vCOyLexG8^8v9>06#(O z6T(l3+6Q%20b(B)_d*c+xR6b#=n}h#JL|DK+a|NmIUQ~P6a1BZa5lLIh<*G=aX&!R zK5JkfK~@0KCq!I=*vEsP5Va4|h6J{ckF*9dzTS-ZfY`@}pCI-L5T79S3E?M* zeH7vv$oLv`0Em4w`~^wPm|fF z#US&uQ9gYL7Z<&!A3J~D@d!JAtRBOS0b2*!`CEO<44m6DL*bPuGoS0jPiX&|jqg4+ z1MNA|oNB{mez@srHrxwlpnaL4Xg-?egWa1EANZy&=l3|$0!{l`TGFqdV`+Uq@&`t9 zdo4Lb_tsgEKe0Ugb)=8ouk;Dh z$I|+vc=}fgkCFdzg8bXC?;|$9vku1RzXba|V#CYk#>cO|F`mx28T0>m-jy^xUWyN| zz&w9gpL^r^^bN`EGmAEC;Bw|!`_MTHvGdomej5BzKSF48GS+WaV*dFzoKFwP`l$;) zLDo;*UqJ)3e(K*?2hVCaUmuY5Qy+c;t)IG(7r;+&Zbf|13bF{aej0+-BpaahQhf*H z!B6;V59|RtfS(}e@2lUD9$53XoiA`mHX!S%8h(PTpN0opv3J{e6o``@>C@lrCtj zmJQE0v>u;){byOjx>*0I6kY%Mr4Fy3oOESe8P?u!*K?e+?ECeS-+Mphns~B)BK*S= z&fynf+dhq7x3RTIsUNfB`B)A$*R2o7^Q$nwMS}dQ%%9)MmNS@d?_1iLqGB#5pC=&e zNWWZTS#q-)}^_2TVlSoj~IPw+huLIiou}Q?A-&k&kW0yM~d-K_ywl%Y) zQjC2{UbFTose%nBF;`i>wGUQ|%_VLMpUb1q9}}17eC9j-CL6xo=K_h(-^Y^sygq?1 z>xV0tFZR=%|DD3;?-odXTf_Wdxy@JVV}Cx^HRSjX%bCx7HP*HhSF>2z-!lCKI z#*gh_*eA9hG2Z$*TzO)8c0u0oQNt#V8b7Z4_;C~SiYB)Eiv<58LjUbjoImvP9#?c9 zKQ=$N0I$pz{M&aqWXNCL=l^*Qk!xUxiQ~tP8kYVKzR&yL7fUDR734%e?J;3uLE*58 zda53U+FLL#cT9%~lgAB9A2p%JxQPXm_0aL-$LQ%p@K0^!R%8>qcir&w>#_ZZ-eKFP ztFt0Xw{O6|CiInswtbRyd2u&xsiNrnE*Tefe|;6dzTb`cLyyigB@j6d^Vf>}@9_c-E@@B3b2&Xe?_S!C8njUlm+(Cz zaMc$+pKHI=vehFj-+6P9N#`^FIp(|j?fglZ3B}YXb!_YK-q_aON_XqcvCAEoz2f#S ze!f**^dEYQ)ko&*);>)OasJzlZORi)N^YOE-R<`u#Xc9EKGELaeOGgdtO$RlZHJ}Z zO<~EcU$XtZ`+3iNAi{akuQ9Q<>bF<^K}P~GT~XwZ}+Y(r~cTMQ~H^Q4)QqWcFUJ~A>V~`kG)Ij zDtEAya!2k{^iZ{MtVh3};2K+RM)LW%j~$N@$t!7UZu&@59>2)iN5(ti&fRUlPwsFQ z>mRUk9N#{dO3o#(S-$kslE3VOb1unH{*a95cP5=nGgJVc?1OV$go7vh;GA59gD3mo zoS_H@Pxiq%!w?Rh?1R(85e}a0gVT8#$^%dK!RgBo4xa3T(<2ZLp6q+mBM}as?0fS- z2b(%X_q~OqV0l3Hz3I_Ne|bjvzPB+*4_~#MirmO>M;EI%-1Z(`NhVU{8M>+>Fu`fqss5+3_kZT zyciomaf#iw4zT6%@3P}MDQ`B*cN4x}GUW}nf5P`m1}{b1O#4FX7GhsXp}Ke#o{Q+a zlb{_y-c$Bc3$d@GP)$Zgw9nS9SBQNoh3b`Yn7&M@k5?ZHv5yCF@Z3WCu60Au;K@8v z(5O(kz$1%r6L?=gXk3W*VhdF_jSt@2V(Rg$ z*PsO}!X|OPyy?mNpZXzzcp>RfB4C^_u0(9 zR~4Cfn)w5nU*jhGJS*S#cA3BF!$K2Z_#>I$WSWidvz&b9H~h%Pm+uu9F~3zco3D&N zJm&Ac&5k=lma~-k`|h-SpYO|OzVtsTbE67BevrB4&L;MXeLlZpP2BehG~4Hu61=B$ zSGj%k%;fgjc3QQ6%RcU{|DJvH!Q}P{4_N+xYM;gtt8bU(|CN0nKGW8hitOXF9I;Q8 zyRCina9i(u*1On8XFrMwxy|KqZoW`?}yo{t(MaaF~13aA4I=se=ph05BPjY-C>gb{WAY3oHL;wsju{f4I}#729fT+p*>t$3ugm@ zRt+O>_DBCk{n>zqNC&z;+AH)|9_Rq{E;L#GO=!O_LOAgJ(n?CN#XKJT!8Z*e(_iHF zdtk$ed#HiQo3l2K=vCZ0%}4%{Y<{!nYc{EKq1E%sek!gXlJi-@FVR;3az2at3S|f6 zd=>|OLJBq((|IT!`~*3l#fP6zjH*QU9l%c*i3&vLvxM*ys;$oVX4AJPMIK8piCLEgvn;3q`SYk@xiqUW`Ii}XMN%4_;b z_%%S|20A~-g`aSM?vKuEfu9gPuLb@9kW1_$?kg=*`zN!{5t()b9sGrTWd2+1Bed8@ zXt9sbVjrQ!K0=Fqgckb=UKQ9?5?;M`*E+ z&|)8<#XdrdeX_*EZlCk3?WX6`RDM3q;Q8l4Rnfj}s;=C-?YPySYuh)O*A&;i$O^)A zgSp-tZsRAOPyYH~=5zZd^T2N<@MRwOBay@LWjuc)mnUR?b-s@;IKH%pQvWthJHS>?y5+6T}`HM59L|DzhS<)FU|awEXRA#-k0e6Esihc7k!5b ze9`x(%=fn1@qokfzfRz1GygWOkN$HuzRP@ZmP*BC#@O{oHl*LrzNf8S<@eLS3nq%1 zG>Fb`9N{}Gf2YWQI^Wnii}^S4{Yrc~?vt*vgnaXvA246DoFeAiRDXOw z{=?5cd@x!6bM2eZsb;dD-_+IOzOp)XLP6r48%nlSk(qzA3{pKFjm2{gtF-goC3(EIlKYRKCT zdBD%d$FCPJgaO@a%KMuo3G^k%U)p+d+o1evMfv-AsvXJ`L%(`g{CaWkNcDT9n$%FvGWMg@mnX@0g&;5 zIsrKWGCpwNC&>7~gP$Pd10Q~Zj1L0%2{Jwi;U~!WK%WRZ0Wv;Nosl0P;{ykNLUjBF zzX!=;{(+N=>ZuZIPeo>eBi-PknuqPKS9O^sw>h1GCt7o6J&hg!cUO#fd@Z9 z#s>lX1i7SL5%-}MXC6pqpB?h}^7EhDN9vT=M`*E+&|)8<#XdrdeS{YK2rc#zTI?gV z*e6Q=zjXZOv!P1Zt$JsJDKtLF_iR6~kJo?39)aIalQfn2IIr7Wm%RVU9BUg;8NXHZ zeX9%jyGydpF8$21&uqTJ*HW%}+;8wWP5O;){Cz9k!LC<096z7?W8q8x5E;hudHj*h z@e3PU`9Akc1DU@)$Ho`F%lzz*;`t+)-}z$858s$$8k~IQPaVVM=X{qkf696r-t;D=FjeL^`S=C@tfG8G21OX>+kwAF5i)-^>st@A^F=>1zc|7EqVEL>{1mYVr%Oq2Yv-)HCRzJd z`kjra@3!NEU#HRhLG9@HU^5<6d^{if1JS<&Z{o#idVW@e(EkHrA=+Jhr`?60K<85i zJ2CGLKcQX@`W4LcyMqx9{N5DtSK?V3e!?$JK$H9&$Oou@@DZ*qhJ2u%kMyA3AxIB2 zb_{gS#XhA5@=c+pTaj_v}>$(fw}O*Qx-hbspy35$?UT(%_`s zNWU5KwyiX9F2()hyUy;lr3Oc>0FCoq^@37^19#%Q4$uK;g6uc*A)6rk%QX3cBXB=1 zg?H2wkl z?}YOM`yzkfL@Munxc>{THTZz^Me|pn319btejv|5T!LJQ_PM6<&!;8({Tx{qF-iO{ z7aC9B6;=OWAKeD)8W)uqkbS~5RMG(@24WvQs6-LOKF;ZL6hZ8xGv+IT*vEyR5Vg;t zIe7nZj*8kx%~cwR+6Vps5c_DzHfRX_K!5&ea}2~jZb!%m#6EuMTt)D-t>4bObN?^y z-UCdFBJ2CEAtdFk)_$WL(S` zw=rT|T}9C~w7R>7b$1P`Yh1qH={l!p?%R9R=Y5{%{jTrpx&Bk9PF0_(u76i`-PP4q zPGI~*I}#rlKhe80oxu2s`%Pz^;pxu!2}05b#!rSUFn&Vf3XGqW{0i(S=jYXVofcQ( zCx|^i=@Vx)$xi}5t{;2=;U~f$hO=`RKN(>H&SCt7d%zbkeu51sJ7D}oyK;X5<0nBD7(d~1t{)gb?mn&s6#O73!1!_4 z78LwcbN#^hN%~+P6#PtwA7K0hk5NB?)t_W{;sfI+9zT;c*BkhW+EKrO@#ET(J}`b# zWP$M$5LaOQB;-|KM>#)pb{~FiC4M61C;NJOll3Rq4nB5-50JNS@Du(LK7jEP>`eOx zj32iic>%^x#jB13co+Nu<0orFd|>=U$O7Xh*c1D} z_({*EeFVl&yaE{*Kf&I_2gZ*(VWtxl^#|@lVEklUo51)<)+fKf_;JJ)7(X#_1$LD4 z^I6<}yGs0wSANoOn&u~gpXl7#Ir930-Q`K^7GJ zoG^p++h;WJGn)Gy6#SgX^8yt7Orm^1!4Gl-jGv@0_JQ$}Eyg}De$q`Sdtm$|{fG~Y zpZKC#PEhc38vKBQAFeF}1wT{Z2Ne7e*MWi`;>N&^a(@0bZ1fqG_!*q#)y5^S`*~88 z+P9zw^Bl&_&XLz2_zA{RUx4uwpG^M&7(dxy@(+xkjB6JdKf$lKUxD!x>`r?Fto~%k z0^=v%gR%w2Pl|1U@e?8ojGy4w*ayasyKaUP7(a0{+Am=I1pSE*jGt`ZSx#X51V@k- zFn-d*Ngo(L@es-%7(W@Z!1#%XE3l)SpUW@XdsroYu2p`5p3`!oD)E!Bi9j@i`UCR% zgFl`QAHettXVTt*f}hdk4;Vk`+&NBQ{J42@7`$uXC#24NoI zQFHDWVEnjdqz{ar6j@;W1jH2>KM8pi*ip_;tDZBeEAjJ{)t_sdZr_64sV}{#FF^Ro z;K%ixox}Ku)+YbJ_y~`q?1AwSBMXd=bP?ABj1RYjyaVGSSjzPQ<0Hhj!1zel;(TCy z#C6yQ#z#CAE(C$g$HRjAsXxH@h({71%#CTUxtduZyaC2fybbp+IG%|DGTxYtqCE!%AFC)&@Y@d=k72wmJf1LM{G_iC4ve4V zRqi)n{6yFm7(WhKV0>h=sUN`jNU<%j@(!-2y#mkt8a@~gOK;=Z4_;S)@H_eg!0L?r4F*3Ij5sl?CHcYXWj-tgns zzxh_)Z?`DMucds`F>PIZ=GHkrIF$BnkM_(d**eFCTjL+gpmn@;4k@o-pK8|0CmcN9 zj`pR|`)K=q-NtwSyWc|x9UIo`6q~zsXkLsRi+?5S{)=lz`S;VS$ghQoyWPT4|4~y* z{T+sv`qLSu@5ejdUFyG?@@Z_}__6mBnJVUPbmN7M-~U9ftjOz2&A1jWnAXjmuzh{* zcQ;pl|8v5de&$n+kL89veOxYu-}-uI={~;k=v*J^ccXTnWG|oS_22sUHuhd<^t((T z;)qn=O%1&`+0O$FzAJstv*JNNZ#w$M>xXFkYd7;Rf`c_)KTh?#eB|Q?-+TRR)gN3t zE>Aa|F*|n?)emjs-|s|fXQ}Ep`nR8dYV%)H)puPm%;$f+x4&BTAAeTs?dm+EPgHNt zd=<>CJz?z0jrpm5)$_CJcE-;)?(8mlPVL=NnV*Yj=j1ScmYwY5+xs&g%GO=Sczy7w zFJI%~>n;3sB#&#k>j~AX_4@SvV{g^Jy2$GTeec;v_2-wpCk<79$*#lm^04x&QT=M2 zPnL{0$Csn(H@Hi$SM~L(ZyA*4$9O({vF1nT4^Ptgy(X2$H~u#;J0JS{a<0ZVCs83* zH{D=Gug3gzTfHLB?*@0V-^cQfuEVEwxj($EGCv&_w8$+PKYevRTe`cCugSQP1AKlH zy>E=4Vm{b|ex3ub1@hzQdS6c27Jhztp!)jLyxu+P?`PxZ)UPzYzTXTr{v~&NeN^@y z`@qwDezHFPJ$a<@=dDw!H-2W_RH`?Ap8tjCKiJIY)A%`6?b|#(mNjOr#XT3 z2jVNIIl;5M&yxN?a>dy>ivGcs*aOx-h_50(u>L`KHMW5D4??jGtbdSQIE^*yrxpDJ zw{#l&V_+lT`N#Xq;3nb%>mQ`IPjiC72l@Vin?rnH{e^fI=K|{=q!%Fr>mP*kNFP}L zz!4^}{y~H+u>L_tUIq7jTvhTuwJCl&-m`VZ^*_en!V7GUXwtO2{+#uF>33TB`_q54 z<{Q3ss|5M)AMw}Y2lo3XBTQg?h2z$(5?FsbLl#(nJ2+|GDuMACoQxkBUm>!<_==DP z##f9iFuoFGf%Uh8@q_{E-vtx#1LH427Fd5fIE8Rvd`8Fu<10oM7+)E(py2D&b*mgO zzG7s7@#Q8FF3`j3jk*2yUbntd{rPBG^Zbl>t*QCBvOk%8MOU;-^w;7L-zB@}2>FmY z!yn)me1JM(zp~&`{NRjR*pH04h~$>$>?$KaFc-k%@~_R#PY zS>R?6K7sx`vfyqegvnT6VPefh?#!rkaFn;1I@B`x~K^7Q4DYC%$$&dxckGqoc z0LD*%EHHjTWP$M$BMXe51X*DG1XpoBFn$tbf$@_f3yhx(Szz@mx|-_+#!reYFn%&* zK~wy=Ysfn=egb5H9bc)iOx?bd2At8je~`VlBIo1iRos8wy12U^uFL(=J(c?hQm^E& z{=w$e{&^Yhd_sPnCgb`Y>YuMRZ>ggO{OL@uk2QXv`VUoa@%yO$omRg8o~`!%gHZL; zLZ7bN#iv`N`b$(Fsyi4$B^qh#V_bKYL!OK2yCpR&UJx^5U+4t5kooyS4tbo0{8is(lOIgnwZ5Clnc2 z{R!W~53K$~$O5ZBF|xqwPl7D4`ja9Hto~%k0;@mnZDe5eCqx!l{fUqTR(~>Nfz_WV zBOF-$iID|Xe-dOt9BBXI9m0UspBPzS^(R3VG*y36!UR@-GGu`r#*4XC!KQCk;%Ce0 z%1_TJKgv(`683@d<6b5$VEnjM_<`{gAPbD25LsaSM92c;Cq@<+KMAtH_(_ok#*cf2 zFkt)y$O7XhK^7Q4!K;J=<0nKG7(WrR!1&3K1;$Ufn)tx@iI4?N@e>m!Fn$tbfgSdI zH}}o&y06(WBLF|6cw%ycPQRj%s)N(cb@B zGoH6!w03WEA!4WIQ?EbpX3j_d4fdk{v~~weJIy>t$276vo7TmB@a2}whx@X%n?QFs zqaV|q{D}MZFkeshm3%gD<80r|-L~TQI`g&eO&JHqJ%W76^IrDLj7Wc^_}RboNb({2 zG2|n_{{7@z_RYK$`{EA7Zid~Q?>TK~sa^$+-&Bs{M5^Z6N# z{fPKY@zYAn*W6#seg3sd?VGGmAxC_g=jF%NsgSiQ8n06!YgIH}r$W}MXuM8^tX0u? zoeEj2;)1E%U-V~XoeDwYbt*Fajn}D=wJI8~Qz2_rG+w7d)~aZ{PKB&h(RiH-S*v2V zBjK0yWSt7Z^3Ig=6n-z zt%}C$RLEKtb}Uz6sk%o`{`>8X`)_mKSdrJ0PrLAYp?+I;`70xHe~@~f?7LHQW#2zJ ztbMy)$HB_SN6W_r?fxhqN3?pq!xK6_s^2ek)BK(_-j83}_@4FaE=hHKRO8oZ{LjDf zc9L!Ud#oX<|KvkIu4ChJk?Py-S!&<Ti5uN?xAHVZNW4sNNj&o1H`3EPAprKbi9Lmxr729;ShxbjAN&evZ&`H6Dzg1J?EB zmmTEuWBi<7rVsUkx7@2VzVUX$lfL}S&OnVn^!rl1@j0T*PNea>Pb{@xulidKnc(m1 z!#xk)V*0`nP@k`T9@P|7|w4(|A_<^599EALg$9rph&U z4eN(~e1C18FS{?zK;7y7caG^hYQTfb{O=ai_g4M!Zv(PQTVLKQRlk|qH+^RD1KLZ*`_eZLamj0kxW67( zMfKjarb92h?#at{5zB&@*?jGqWuVEn|$0^=t^78pM% zvcUKW2Vf5vKjHrPf$@_f3yh!e0K!4{1+*u;|BjIb#!rGQFn-*DTn{jQ0%U>llOPL> zpWwHI1LG%C$=p95IP9~=?c2)Cw{Ov~<}RGDy$e6^^*vl!`S}yh_Xe$huuR86l1KdW z)Y5%NzZ;BxJ32q1S_A6GXgj8QYxic4@cLx9e;x!H|G}X?KkhiM@2J;f>%t{!r(X3> zY5ZVPMBuAENrnW$`1`Pb!OFuX=OJ+qXGw{&`}h_U#1uz?>skF*h$~S^vH9 z_jA@>1+HC{V4tCWJUytw53Z)qAmi&Xvf!O}_S1&p5Qt$-ENxSKkTf(D;9gbwPP&?dA(cW_12DsA9*{;RbC&eows)O^LjFkU!(eqE!}H< zd~3%Ze9r%_OqY7SwPWi}9+&4YOT0c(JEv7|6B>y_q>cBRH1);GxcS?PE~@u|8^7p*7$+--%`Q^)*dG9J5>p+{}y)W zR3)(fTZ}BQ{&l<|eqjB#1X*DHw-i}m_jiUYu>09<)Tv5f{kIrdVEwna6MjLU?a#)< z2iAX!kOkI%OOOTDe@jIM)_)5&A#Gs&w-8xi{kIfZVEwmnQ^J9}s`<7*T+Y01%aB|&<(RITo^c*yKTwQrM%i>Syf8w|a zeu?%Ft|dqr0uj;`^tbbKBbb>pK6<{~F`9kF8IydSA<(8~Bv(2bz69 zyM<2?N0sV*Ys@DlW%{)>qkZR>#G{)XfWHI7)t;Bm54Uw2@@M7u z%-^tk8vWHzYjUjGsEYS_^rt_s$?+b32@k%g$#Lwy_~$Sl^<_W}_I`XJ^8NSOcQ)=-jQHP#x>?I$!bdYOXhJ8HE|ek=DxY{fT5M@-?>Zu z6DB?@&IMUNu5tad_2UAV7ufn_A+o^MCyS8Z>y@Q6n1b8yCmz3Noivod){_g71-71Cj4U{Z`jzKT!ho$O z=cGXe@^fG2=Y_}uTTd=V7T9`nDYC%Ulgp3=(%;N@Pap6~LGbnc*ke855LsaB$;HTm zrViuH+?}6za6~2kzT>%=A7}mqf7_EEQ1FKwf`UKf7!>>=r=Z{uIRgcMJ-IGW@P{0O zfstj+nss zOX;u)jK2g~VEl!|6&QaBwgd%#$T2Yf9J0Xpi+M~7j6WxjZD9O`$O7Xp;9P<67ZD~X z_@nGoVEkotPzA~t_#U#LQwRDZv`6vP zJLl-C{@|LOnJ>Dt8%z3feugaA=|k*G{A-C1I&zN(*U_&-7Q7(e!)@2zrPuA8vhM;5f;LlT+y zlp+giS2ny)l<&%Nk}CYG_p~^3&m45vMvcd(;+IzBF%pJRvOjk(EJW}4erOxjm}~n> z)u`RJy(Z^UbfX`KF#~;`_v1UJxBKVTo_<^@Innp8tM!C0bf2f>VgFtuQ2iPGz5Pt} zeN_MDKm7Q8_|55g`U6$}&+AXl{lQeZ|p-e)*lZ zpQyf@>Ywi3;pss7!t)Ia}%2R#qMQ{(>2ymgzqi2E~nby1G|dyO^Rk6SLxk$I! zcG$Ksll}SU)xUo{=kHV7ugwe$c;4%6zc#ynI)AS9qvfdlPPF=$-QdS{ZNE0UnECPB z-)jBPeK-Tv_jy6Tv()#H-BdsJ0i7>&jJF@EzV1Y=f0}NM>R%h`_0c1~URpi=^_Oa2 z?bK`hL2vo%vi;r0ss6U_z252mZj)5MxZDYf^4*8{!0KOc%(YHn^)ESx`U9-~g>y(BSp9Q^39SA_$O5Z>8F>{n zb=ZAx?rHl!yJ02%I_|6dz5nC<#c(Ic+s_SKyEs{xBX2+Phu1C4VfjcJMcsYCl<1gdd1jb)-8T)Yz{?{EIO-&Fle;ZBhAw^3`p&E$Cpa{ll~OBUuZ{$j!e#$R|X*9(llrKSzz@qz;+H>PxKnf4;X*hLD&bzUohtqCoulvT`y<7 z_6Gj4gNYA}zi9ro^tT)MixbKp7=OWaqz{b03|V0Og~SyYe<}GDG<6tn=Dz#>FNas+ zulr)2e;mPzAMd|pa3{#yPxuONrM`i@{luT$Onn2!Uvk?*Cn)$^NdAHG7aX$035>r8 zSz!ES1Lv{6R0DtR5b7H+{xW1i!5_8*f%2E$K=}aUFFF+a!1#0L(tiQQpX+| zC-`%(Epmdq{&j?}W$*>^`iDP278rl&?L7a0@fR=Qeg(!~LfHt6zYJMW@OLQu0IPrL zAnF@1{^G-U9s=Vp!nVNpbI1bYFB^<~VEo0xT_gU2@N(AUZQw5(LVRHSWp`fd1O

        FV;BUY4d5?8|!C(3Y&lh0)xi{(00OK!u>LMpF{(`43 zasuNoMHUqNVLJlGUpC-;CoulpTi6H2U;4L8oWSZ|xZQjwu=?jR;sfI^-hBakb1rD$ z?|}1N3JU)ACw)-xM_2#~{*Yr(@JC!HXyP#5%)M-j>iL!UYx675U-sCK^XL9V{R4UX zxlL=AOy>6>$lFi+*(BOmQ1CYe{($ipL|hNB`sdm#W#7`J1%DxO4()%s4=-{8<1a%N z7=Ot}7de6P=ddj>{*q(QXCLDR{=)UJ4+{SN1%JT!3;NA>0^={NCO$C!+=K;AVD&E= z24BGVbG4)ojK36FVEhHd6&QaBc@;Eu7;oloxwO~mmH2Dfxhgji51yV2vOZSh@w2?X z?Ld9&J3B{S-|$C!vtAZ3ezH!}oxti(`ULA;0bBnfe3|ost$&dq3yh!iN#X{d}QabJ{hp}FrwwNoWRz@2=1Qc z1jbj$+T8-e#6#e`nmkA|LWAfmH6ws%=70S znbC;9hWEEQf4j71%y4#&oIm_-TgnGmeM`274`6(TEx2A_^(|!WJ;7qe3uQbpMiyB6 z8AWrrE{Q|4#d;^f0=NRkZ-y)=_`RO;0#^S5(#m1|&*sxz0<8UvYOxOrzGL_X#&`4u#ESiLiMOv?u< zeqV9={`&jx8b5#k^3&F${xz&Wb1UP`*_qV0**oMAej@f^4yNyr!}eWwb9i|IIy?(M zXVJc1yF-qzF&_-BcEK#-gTK%$%J+8B4D12hcRjmq2m0GP6#K5H7wq5!18ClZf!HHG z!Dmw$e?F|5ci8xW@#oGaePH{r$JiFw{KtSWf$htl5GJtt91|v3N_xrR?6Z9d`2)63 zd&>0)jPH=R0vWGPV%jJ2Ca`_m(`$$i20ZV}kHI`5V)H$|ccnbzE3gHcI*d1S4{!Hz z#q~9|I3llh{Fe0dzz2UQ?{6FSU*Cauj8fN=N%idCUGG*hFf8BwhJ)*K^rI?@KgBQD z{*OL>6xTb!!Q1-v+v2)<)@Q7DZZ99-+K-NV`}pCR*aH`nVX+q-#`)l%>-+F*ay{#1 z*Sp)eW#!y-H0gm8G~Ddj`gqw9#0R@+e%uh!244_g)*}fHug~!HpT(;dk=;z< zgFak;AoHVVkRK3ee$z3e4|b^Y@#B-ZKCrv`vk{~Z`fB;PGq4BtRey9E_CQldD-AIB z`(+o5uGD@eet4XBF>`YwzdEZq{58Bk`d;oIc|UX8#2l@LavNPn{rTO*9JW7Buxui~ zA11nY)+2lh?@N#c&uqu|8vf{Z;)83szoq?;@0gh5M0sy5`}N&PIBpR|!eQ-AApPtYAta~^g^!-lri=2VGe?flgs$G09>4AV|P~J}^ z$bva9!4K_uu$(Y(DSp{+CqWhrrvPPtnB+eE;8fvz0`JrBCx2kga0+@vwabtNy%|c5 z&gA+YAU$CF_k<4;A1uJWT%X-9KbOBd{Jv<@DIE|k^M>x2qhqsq4A{@-#M(_896PyFj z=>3^2o8Schc(5w3AIY=$K}7jTy2)Mm!5=lg=;Zj2@)0*(N_rsF`~`PRaDu;WQM#UF z!1YUfcN6J@8jUYHIU>FO=oZojyNvMmedwAsH{10r=6b+ET)%_`e;_^Z?2V=I`<9*m zbNL(9zVi{4_}gwHUeI!cZKme@$@(fAx($l?XWO2}`U<;nfBkXS91}P4{^SMLPXev~ zQpG-lWcvACbDVZtGxin4{~~_Sm-A!sKY$;6I*j`lfBF#XDS>f^`t#GL@PkfY`|y~! zg3aIM`{6#-E_{5~9D}fz;LjcM#-ye0? z^UbyOBZm0u>gINHE?!>k7SDqFd#YV8t|P(S3)kIS?cN+oJF%v(SJDA8`P0jn?`2U}LU}becNsJ(}@1`la?WWdGmjp5>1Qkp60lKU&zsS${RS zxu*-4_9*(RDgNx{9?tr!?v|d6xAiFct0DeuagUz}&cVgH66MgKI$ACbQGPgDHi^*xIIX|N3cjXjF~DGTK| zhrOadia+Cetv{OJ54pZzUG8(9=iwdXkN8a;)^9PllOZjKk^cS zrjB|Ih}7-B@hQ*d@85Mj+er6EziUAizk4>}UaQUPQPjfMKXRNO=Gy-Ck=C}|Z2wT5 zN3PM`HntD?DF0sF?w{v$zs&e0KX1j_hqpA{KOZt~*vjUwf3JG8 z(?{c1>AZZi6RLic?W3yc)~NnZ!+iUc>H5$ERsV$U<8F5N8I>QibiY)auOF$t)kG~% z&1bFZAKS&-xA=4iDjsIv^0oMZ{%19wKQUMNt7ck5QroTIFIem6@mH*8r~9{CCYEWw zgKz!!(Z-*BkC*9p8gvWtV|m$i(%sLGv`o*>vi#U@sV|r8z|r}gWKWQZdOz8B4Ay?E zwEXCI40hk_p?pWj>--J1Uw;4DeY5o-pKkg6v5wv!(K+Yj`3cp|xJP_^+uz=JIPfoC zAAjS^$Ltpp`grBEk2|ud) z)h2EHybt5=sWQElZ(q~veQMd zKdo{7TdDlb+J*IEZwLzhl68I_f5m#)W%aL|SL5#q?i zuCCu;<;%~!{5b#be*FW})9uTT&WC$_p!Y$b`ZLtN>5cDBpZj!^&3%4)Yy1PwQ9D{+ z>s4Rb2Q!LZr@JCs=rkA*_~cLTlM8mq6%~0dARKp zjroi9`>=~QqyAmIy&HO>zn*B_%KQx_o*ef4Yp?fF{FWbg%LDm0?G|kxu8H##j6Z9C zY+VcEFP^IPK-*R0Z|USxy_NgTww{KTuhoMiHq!hnf1zfmu1w!g^|LkI^w3FpK5JBe zlEydvK-FLSjPj@JvJX-HQ`&CF*ZO&E#%rqe)$TLnseIjxxoW4}iB(arZu6>}Pif3w zsNY}K9@3I=jfVXpf;N@;v;85AzyIp~5Ety~@7tt>Z&!`K2RHTebd#f|<>hGnO>OPV zH9Fes1HF#*ZGQ;uUl^}v-stBi+P)OMHU5L2o|@Y=z43kZ4BviPenO4k=gEmB@r~EB zBF+D2exA@kjemSsoyV;69F5oV_1+?lU%o!vB-NKY#;dvecWm?9#{4aRc}1Sjxm2I1 zQ|IFJY`x0-+5Qp6U++n!^}`IDv9YfQ<@IdN38nFkrz>nj1Swl zBHYyT9%_cl_o1+IFW+y%%DsGlig9XZ$5Tt|_erWR--p8Z*!V8J-goBZFmVRBUT<|i3I(j74KaaonwclaimD>3&jw|J< zS_Ar&eJ>lR{sH}6VRo!O^**oEj`7q*%O#F4&CA8=$L-3u*@@JCjoPvM$@my(_O-pW za)0-any%{kOg2A0HvN>+=h+trl=5nPe0x}F{^zQlFV&8%BbTVY+=*3T`90;YlZQ6u zFVOu#mJek7Y|-|`{vc7?%KX{>AXfiu{h{*xK?aWZ`3`iy596B$%G)=6sPW79B{5!CZCP5r2Wb3JYTuqu2de&9{r=k4^B$=BVXJ()@gu%| z*QdlUo_axnC#Pn8Q%l8ej`$o+bj+IYG)$G6982SE|FCP6dSI5te-jDI?m$!27 zukzz(L3__%D~)IF`!m*Z>$tVt3##9vLuo%y)vo@gQhi=Y2;5?FsoszJpkME}Jc?Z> z!y)-G`t{QIew5w00pm;Kx77GIpY3_dKK12m`JSqFfbE*l)zw%?oP3Q9-34ciZok%VtJUs_L;RETeg;%s?y@9EG z7aqHqaUdImiJMP#rytqy-ov%TPkI)f;V(ayslx7uhl5_9H0E#R+biz|CP$zk>HllyA(^WE!y-nJ&^uD-*UdvcpEFRM4l9Z;$ts3+{M>#C*B_XFxx z|3W8?f3WYD+jaE4$Mck^-tOP{{nC0CtDSes?95jE+_Ly{RbRf}&OFs$a+c4JjXyAr zAV2QjzBE7cRiCJR%V(nc-^|kZOME-LRQ2VK#W#D?*1msKWB#(t^EaSZbC=HQRjl8Z zY*d*)TffcttG~-%PdeyA&!cAGyrW9Xv773LF4uf(Kc%cJJRON57w{PWshw_)U*55T6 z|1slLfB!92eK{Yg>bE$@=hO1DLiOYCEWQ68QGL17N)_h*b+2i&D!qT0caVRA1kZTh z`aaXbZB*g?ZTxlU1or+m{3dh)dw&~!8?wh==-xC>*!$bCs-F|s``e%y;lSSCX2=42f15P# z$9%PZ#rxZ+ML*W_?^nFP4O((O==_`J`TJLUcAa%-Rql7~Lnqjr_t_RE?#{e_miM)$ zTXGxkzj>c){$Qc==dabzIe{MC)V2G6la+6uEA_AAxwTai)a{uSxjUNt#8)zjL62-x z&!ewx&Y3Iwa<1!|x#b$~o00zhbzA%2!FK*T$9wyB-%!BwcHt{qxp7RBjPOTiY|ZzmTjl$gT3M#6 zw{ow+hxuKLt=;&o8~oAVwsNrNZ{VF-47F-yI>|eJLf7RmQkoljz~*~~$T@7j=k?Rre|B0izc;*$a8S(u zBrF5P{LdSv@%=gb$vwdPuMQntw)5FJY(8O1+5&t38X^m9K4@||`3E*1G+T;&5C_x; zna^}9=K|qB|Nizt!hy~2jZY;mu=%~g6~qTNA2hw3Ft8KnXTM`U(|qCsn-7{H3v51U zL|lO##+$i!t+UComD3r=L6#>eT4aB!1zfY#Sg04e>|V>OWYXzz8$|; zNiRhfd=PtoxSF&GpVhx> zXiwsh`K&jw-wv?-hhk)b?LQRXj33zkLkY6L_8&@-1-AcChAgoChukgnB!TTe6d((1 z|Dh0BVEYfn$O7AcC_xt3{zJj7oDXdOp#)iA`wyka0^5HmLlzjH(QRBWu>FTpWI>A- zjQ4-X_a5wJC$Rm9GQtE+?MLK($F+bBI6vcjH;1`P!1gB!2ou<0yqVkPy3Z=EFI=;c z|7D!^m{KL@HpO3v?HqLEGvO1z!1#-n;RnWFj4Uwz5@dn#mm&*{zYJMm{JGn?7J)pk z*pDzk78rjKvfvY<$o_>fvcULrcMt%KzZh9y{3XZ&<1a-P7=PiNTrV*G5@dn#mm&)a z{*W`!B!732A7K0i$O7XpK^E9yyqWvSnyc@qRR2b3{Rbo z@#pR#FTnT>A$O7XpLKZZ|Urd<5_)Cxl#$Rwh_JJM7o4L3B^4yBw zKTI?Jwx9Cj^$**j!0I1z1dPAv0sO%Di;)G!UxF+!{!(Ot@s}YBj6e4v*CMd`ha3Ro zFG3a=e=)Ma_;U|&E-?OLWP$OQAPb86hnxcAFMOD51;$^3EHM63WP$OQAq$$~&;6eK z0OKz}78rjCvcL{|ewlmau?q+B`{4)kKbL>Z?~z%J=6`ngzaO?!L+0B2PyZ|5{p9@5 z?P%u{_IH!{pAqh|U(wDn-?95Gw7-q^cl)Q#yBxYcgw4C?>yO6{kNzvPFGyT~}pMktK; znk77c4rl$Ex9Bf{OM0}(_oa(pIfee@DQ?`#=6rY6@IBk;4dH7c^Nl~IF9ilNoE)9c zeENQ;-$!e@c!kI{M#B@#e$_pYZxu;$|;n z56teN>3uby$(jNq?2$%W(7QWN74ZqJsch9Nt zMEoq{`UMi7?_c6~I3N6piB%FF5GME=;VIW2zd<-Ss-5QV&*Tq8l!shjKzRrze2hK0 z-oMaa2X+{5=3aO8>Q#P*>^ghJop^u z`{;&Mf&)f2V;*h8_|vc|UmjV?`QTPbpZ7vmUNbsSKWfSUT*AR;_xSJ_S+L)ZJU_U; zB0j^@BD;@BA5>rC{lW8GJGex{)5pmV_#^fuess=;Rf2y!=dVw6ay)psACHMHB^*4^ zvqfGW=@pz0R;{P$-AZ}_Jyxn~<6S$gyXO~;$FFO2{jBXLQXWg}D+k6NdRHF5w)N{G zO=0tkb-Y{W9a*~3x1;kIN&9KJYwhs8gZ+E~(|6Mo`hKW(%H|z?yxPxaNpv3HJ{td- zRi)|HsQ%woK3#kNK1B6HH}mP5zFzg)pD-@ZU!?O^CaHeg*Ut2MU6(Ib{fvM5{G`wM zd7iUXf6_`nA33|vkAu%u{Vjccy4hzw{!-PS_nX+;zu(7Srh5DCH#=dmi~e?fQGcxb z-Z=2dKUV6$Y$MO(_w8JA=2RC) zQ{7vmC>Pq@@T{rym!`UlHit*ry*MVkcB<T(`f2>$aRdB5V{eh@ z=j>XU-&cT4mHz`}`al!z za8v31W95IwQKjix`Tt$h4a(*VY_4`p-$(6to8;}7K2-hLYCm|%fA3JE`Z;C#A*#Qy zOkc11`uDwk_q^wQlIojsVy$OBHhrvzAOCaX{!ee6|GR2a=Kr4G!F68GKd*z`D)TG* z63Aiv9@W{uKeT>@<>RzRM&>D--gvy`pFV!j+t1es^n~MsI^PcHJZdZdnW_&@Iy(>V zt?}Rcs5IT>s=sS3-!HOxeJfS}%@*E%&|`dVCsX|c@6i$E2ru{ZFFsNIlOz58?>_J) zSDnXl?oQ3W={u@^+b2CQ@dds=6R7^Zk4p7@RR0gvry75t>bKT;3GPB~$6t+Rs)Ex> zb>^N^cfkIYexIDzn*J?Ea*zMcK-Nd^$e;0I`x7{x`vO}ZJwO)N`sfj|pj8*1TkJ=W zAPa0g^b}cO>!D}Jf?_>%o|g{Tdgvjtz}7<#wje!_@;H#^Qa}SQu=UX+!UXL$_Tdp> zg0=sl&oSgs;`b%|RPsk$fvumOAq#B1^dP`Ku=Ua-WPz=ho*)aF4e;qXYzu7t^o%fp zt)K2X6AtA4SVq4fL>7E~KX%!_AVL<{`soR>psB-nHFx2{6ZWmd@8?&03qcpp?}AnA zvFxO;;<1D zi`x%-;zrmOJiOG0C-v9|y@U_)8#8Vw*qQ}7^7vDT4~CJR_ZPQefQs6S>LNw9jX{$8d5&cNT*pE6D%IHK%&l!hNT#;duH zUEXJ%O8j2=Pk(B9j_)T8Wx7sBzT-B2&u4r}exC<@H_EX-)P##!e*}MyYbdu%;2*!B zSPuj_0nbxL(U$afUgC#181Oj$t=qfg#SS^9aelBdabLy{zJMRGmvXLP_Mb_wANNzp zs3UkBe$uJyy8v0R_}Z#GJVX{GQ+#-YEV$(lK0HPiT#7ySE9{ZJU^BTsS-*rZ!C~Yt zK669X5~R-w-Wf#xy0mxMs~vKjPkvMKAHLEd$H7(Px6ydUyK=pRM{jXHc!&F2t}o3x zpQri zI$u2rD?fjQcRB3&yPnOn*7;;U)VXnI)#i5XIoMGH_R@W{lCu8HMrtQMdRBg3AC3P@ zoxfx8L)A}G`!+wQM)fl~_~)kS2dJL!-b?Z`Q1#{CF;TViV;9Y*eP2NF=SN`ItNmvy z*DbCrP4^OwAD89xQq^}?JC@JORKKTQujwyWeN&E=tJTBqeO~;X@H0MlmZa3P*WHRsf@kgL7O@qu& zNzdrwLa@~!|2$02?BW72pYxMRyuUuHi*w+88njH-CyTqd4F7IN5-#sIr;M_&Y#8kVE?=M9gaVpO*p9GcXG!0$sEoHO&!)Qo11+5`W2Ph=c+rje|6WqDzPQs zS#@+RiuQR1;raWDNk_XFbUwVw#gln|G7UetYcb_>cv}~YJvzrz-3Z^C=i5nygM$gr zP9gkg!a%GXA<3?KNS7bhdB5;?p@Fym}nxpTD6CJU&+Z&hqkNgYv*?&dOk>i@>lxHLVtK?U%&xfvAvxKJG?a%wB+GBD&{eEfq z#n_kir7V7L%0py#Ha7VGFK@_BTnDU!U7GYntNM!i`_^8^7i^e$D^C#jn}_x%^sumRR451JkN)v+gtS$UM-Dp&-WY4(hW8Kl(KYd zRR2aZ{B4F|Aj9y~dC9dw@x*Z_2UqGxxihXCDZ^KbYU} zCG*3AM(+pQex6@@BAaXP2aMmJTHh*W7$aa_gUxd&e=qQJ-UnoyFYg0no`k&zSpF;S zLFUK(-1V;R<9t~k>&q=^SHEoSCQS4G?))|q{oBK^$MbWu-n7G{bIHNY^Y+@_5A<(A z|ND_@*VKFlc|Q8>>ZQZLU$&ajqb^k2yUP?a1za8m|ojAZ=qjj); zF2Cbf-m*(2e$RZrxl0=Ho9+KU!*4rzuS9;w^ZrD5o(taz<@A5TbHIBf;aTkcpYr_t z&*XXeVa@o?p^Y05l=6J*EBrho|CQeVM8r?ApWyx!zpI+y_gT^vJ3p6SYZuME_WjRZ zsr3B)!^6$;TO@1m`&XCGT#Noy!}yiWua0h7#{Ar6?(|mhCGSygUY6r9{4(D;!Y>$j zG5wd`ZJ2AjEXRV!iN6*8Tk(T_jB&{Mj<|yT@F&F2ur0WNW-Y@XaK2#vxy0XraN-Jv zX?h8=p#M&!M|enF!8NaAPv(0QCKxO6d$eIKGx7&^+lu>{_zAM$ZsJRRQqmS|Lw+*C zQ^Ew_bl~kdnySCXtGO4iH{ioc{O+=a_OA||Q6;wi6SpYg_tSNo z=lhSvtKQ>VllPqMM;0LqQr;it`;#FjApc(C9m;P4evp4Jfj>T(^MQRYk)84${p$CM z?qcbPid;xqgK9M2|Z2o<8Oy&f}M}%#G zmA^w4*!K|e2G|ESzdmjEjuRLk*@$--SA3^fA3JVGe9)cr<@<lSHo#^%2PpH;_?>dbviQi52tA2lS zNqp=7ynaln{ec>P=g&rz*ojns@-C(NajM^8U}?Is>Yv}#+qZF;xvD?qd9P0o^H;i5 z^)0V0wZBaDxBm5nlKiBqZ~IT5ZZPZAJp2XKU$(8j@0jiNt5tu*o*Mr~Z!c4QQ%<3weNS0Ut9km={qa8WBJ&tx9>Lw zI!;xs0o&iF`Yk5<^i@BgEPkN+JkUgW$|lNe_~nu zfvO)>7JrE9Czr*KR6nUKe!c2vl*J#X`dMZ1C#k+EC(?jW-CLXe{$AlXz25Wtf{ssa z@Ep&(Z(6x+|K#th@UY7KZhLO&@1y4S9k0%7(q!CG!@d1P^{q6Zi@w)3z43ljnZBdO zA97=->UZY zx@`RORL#G|-%suAQ>Ncv_49Rpg{5ov&lY9*vHM3)`++l8HL<#zHXC(grR}q=XBd8ac1is$U*E|1Eng4G_}wG*_1W5aYS2!;{~XB=R*uv5X<5?0+WcOW_tBp_w0)J}*Wc5hn9um>p!QXQR}Z8A zN`KW2ZeJz%J@Ze)-)!Kb&)ZcAUS(QJ(m(L*l+!+e18J>X}c=H6!I_g(;aCE&Ul*h$xk+f`~iDE z6tBS^IGpok{&w^=`2%g<<9&_H=l+UtaGZtzn{d#H@OX3jZ{Lt#@L(0?HIe*%M||+X zcjTY>;ttz_9iAt@_Ylk1KfHGIOTv15KccFcsjNfUYm8nWMkwd00vJ95;7`iaAO z4j+4Bul$6awjVjxOTA9nslwU+(?D+mC{d(+)<7!W?oiO&~|8jSEp#&P-{x_^Igh4*tgZ)EoAhusGFM@Sb5O?+^M7 zb(dq`!o*!v=D*=7|K7mjTtU7~7WdijOV5A(&eHHdJWYCy@-wbKziSU@$dCOlGMk6< z0xR3EeUZkZvh?DB>(P1a$=*X<@NEbO>0juNw4?vf`xiM* zN@!-<(+TTFII#J4Dd!4ozMcCQ=>wZ@mmv#meqHbdV?w~@&qc@rn?IKz3(jfouO~wm z6!Yo6cixHpQ>B0dg3>-nV9r@oRqL*Zjt>`Hf%m8^7i^e$8+En&0>}zwv8+kRHNWv|e&g5tP4Rov>kmCz z>G#ba|LFM*KlRU5nJ3k_A7%67vO_jvzvYeG{?~B-@_QvZl=)|%&EwvmAq#B&Tr`Mq z5E4J1?}nU$^O+wO_2>7+VT1#lPv-_R{|(4|y0jJJ>Bs_`FXs*?9N2uh6j^W;_OfZr z*Be4w;4$VKCU-M`0$H#czq^O@jvzfSnEc56x(r#+N%GJ6(UF7$n}3%f3vB*fJai)` zu=#iHDDner{#}ABxRmF#%)g6|CO)v=SJ^Sx0|(RGG@dUa^XcSzjlc5wb248pTc;ts zDSq!d;jST-_zhdM$WMtr{|SEklRr@KyD#Md3Vx9@Q1JU3!a>0=ataE5YX}DgzXK>Q zV0=c%0^>8-ZzCr#J`-et@fq${PQ>d!t=Yhlhoga{WFi8 zPutD!{WPIGz)=gSe<$Cx}NI?`S^o;uZk=fyB@!<2#;?dJ}^GR zg4A0b=X{y3dn5M?Sah%VM>mlkFn;2ju@COMh})m<_k&xA4|XGe4tpuG zK>F3;+T{0E&IiV)yN&#Sm9Llfb9*t>u5myA`lEgNR)6h#T=Nf+>-~}XYxViKSEsC$ z?}y5N-_E~<@uCZRS~M4*;Caq}9HBLLttb4x#oaXK^k@C=ADfqI2Hv7MkojkB{?4rL zwX=JM=0AFZ_78tJbw_v3k=~!-kEZYF>LmUBDW5BLX1?H#ZodO~{yk6oi9edNqm%FD z^YgFV*(K-g=uV;7NJG<%RFWK3}V3OKP7jS(b z4mh9RG1>L_fqWk?`HycP{R?(3j40_XGN`H`L`gY-7r2 zAnnbfx*QKZg`e=FZe$3{&-;>*HD+QvMc91WWiBtFT$Q+#ewksA?0yB z@xjV}alQB*vfwGwll(-aC0Iqcq@N%Q-c^5$EEp*HAv{GEytoC=>!tKfAFa#rw)&Gt zI3Mixnja^LZ{>V&LACcszau@6y-EJ&lKx`+;NC^0<0@ZV(!!-Yf35x<)Y0>kJ;AwP zpxRGKUvU2^E%Wxo;{TKUi<~`1d@yIc=4T1{0d{<#!fJId+w}Y68^0fzt@{gvF|=OA zO{+&Z*4JN3G(XIheaEZ#o1_(bhqj}0$;S0Hx?9sv$M1DK-rfVGZ|i$n)dzaQ$|a@x z-m0H=-YL2L>`b3dsQNSiKCvWS8`lpOkI(h?UNO@6oiFxw!s(ah;q|JYp?Vet%=NMA zufNZK?;f-qmFs7#{+OM{<$l}uW3K8K_wv_kdTGAp*ldCSJ(At+-$y06mhX#h)a%lD z{mWJV^?m-j5{>_Y>g~IEH-3(DUoq)Q539H4_WI-RD%Ri0oA~}!`rf=e|1!U(@$X-o zU*k5s-3hv%%lNj;M?n_s^*Z&7`6n5&p#AaGmoChA>3DmNkC>k!{l#FT+jFc@e}rFf z?lRgZ?8Tfb7#wx{Q3w>!P>*TKO!%J-WON->mhCcZ2nDxEU@_=K?lNt?N1mY z3uGKlp1(nRk#8^N-vp1{>I8A%)5{1G*!-L9f#0#d)$fd6Rv7Vzxi5_$d`zYG+2+@{ zE)0-y9DaE75`JxdO*s7#=GQ+`%&!TM1vbAXLl&$U+?@9tJRgw-`Tq1LF@I?gevt1^ zk3T%*ksLPPCK>z)zlR@iupDvvcTrsBo`AO*nFGll9c_$ z(_+4jyEJ8e)3hl67~6uPyhR2!-zL2e`@rVgMBif%SoufYS2%&yuk-=pgYFBs- zNBMU7zw;hJo*Vz2_Xu+S|Ciq*NdEtCy+^R;gJ;jV-B(@xX{GP)7u-O5_srTB&84S! zo~u=3u6=*+L!J9{gzrD6`rWx1_^M2A=YMjlk8jV%Ku=hs@lD@N^=s+(`lj!#`Zi_y zKC1t!%zmhPSN7d}jq2N%*%_$%=4IdC4^e&VGJT}_R%Q0m|C)b#S71`sFI+8r&hV(yxScm-{2rw5 zfy(<=huQm~k9oH#p3lmEkmkqMb(o;}8Ch7iVXA-d5ZckMd`GrcKgMhN(RX2< z2>x*Gel7sd5FT_Rd>z7p(^CIH&wq31mHiv@JLHuWd5n*?ZRx^c+q)CC_wRS3(<|3s z+dt3h?|*gwyfF=p;ynd4EyA1RBNxt{`xvF3OuKr&8*6Ww5-uBN6=J^sxRX?zsfA5yA zj`QnVsrn=PlwR)(s((iF86EEH#cI`;&o9eVUp^o0E7eykzvjQa$He;@^Skm@&#ybE znM;>+bc1*E_gi?T&%c$wxr0CS27M??^6C7?bXU)hChKZD`+DR)@z>i*1HzYUy#dt+ zs_*lh*C(g@_NtHSr;hgd$rkzcJXHPM*S!67!xM6Q#_v^=z24g4NaNpFrk|wxd&~63 z@8e~9`iDt|xOy!GX(FQ2!bs=j>Q`U|SJdFxqM9sf|h&0CMVdHn~fw|VR7Z2z44MD=l* zJLvTb87pYm-!0bpHydoq_cY%(@av{k=J$nz{~z|=18i#|?fV{@qS91AY!E~gE7(@7 z1S{T(VqL`+1QZ)!L9w7gK~X@8*j8PGC}KgeU@x()y{ui=)vT+luDWY|1YPz0otgPx z_jO&~xchvc@Atj$aXh(?-<@+xCX>uRlev<~O!G2DmG9s?gPy}YxnXy1XzwU|K>}1ofHT8`mjsz@AI~gFaId`$MS#5*BiZp|AWs5ornGQ3I2E9 z>iwgBK0ne=v*Sa4CXX)j8Hf0P-pTvt^L_f#)sLe>eG>9HD8%oxZSeo{xH6snga3BH zKmN-5C&B-o(`%1wMDYKqO>O$4gZ~pDeiHIOHu&dZeRo(dEY?_|x_sj|A1?EA?VZhC zHhD$YcFnNgvzsp8wy*evRK90x{_N2H47+ioN7vRfUKPBP`Yz}p^zZghy?MnF$~_6` zv12c2dj8YlKK zueT(mv+6j1epKJ;Jg=$a3g6RA5ApBQafRcZ7yO^wFX(W%Z!ate{%6;nH-uC7D*5~w>{b>Vt$!os8$|p8mzV_VG7M1U>)j$26 ztw)zRRDIYhw00DZ>7O3_^V$5MVabC3{$^jp`hAAkDfHJW-pIc6UpG1~9^GJkEU zI9GA4D(?qRBcXUJ-q#(`p=9C=+F%_uuZw4$ioh?d>^U z#JA4I{gxiz55$b!Yn(xTO7}^)q5s`JJ}>H=aW3Hn{ZivM2!~0$Pqp;YKaf9og7nJp zw+M&n#JBMHblh-Ra2KbMKbWcQ&tiKR81|Q)$!|^AFN9}j;D*KY2e9;V(lQPR@ze9z z9$pH^myX8`qd0%|J|RAw{lg!(;dd?l8IlV*e=wZw?RbmF$PZi*_7`7Hd^j$oAI;`` z!3OUWpZ7KC38W88TI$PxhkHKSw5jsHa~EI1$LIRrdDcH`m8$+7>YtTtNB;#-|DEWc zot>fnJIUva`335~lM>fZ|D6omQ2&ks+o+6h_7&ft!ch8K<&1ZhebKq3-#@u#y0Gon zxIz7U-1c+?0QK*Qu?_XdNw5v|$4Rjb^~cG~2KC3uu?_XdN&nH=85KPfR={!O&yC|) zzw=baH~Y4;D_}SBn=;;6{9lae1A7wvXZ^7_zN7{D0~_DWj?cC7)c4P_@y%?1X>0Ni z)?drgFP0)du%xBF{QoxhknNf(|1<4)Sn`_k?_9b5RsQKV>>pJAX-1wv<)6=H3^q{t zXT&vB{yDax{#$MySi_2-GNoJx-;~~HjmiqGF>f(iSn=1d0BVYd6_x}E5{RCFwPc@6Z zKa4h@Q_{YZO6>h%v3?sD?K7!F@1LWsCpe?w8{%947X}zHev3PMocij)b4yyk#rINbt-$Q)p6Shy-*3kRKeDMUn(V9?sznFeE!5R9VKl+~igWm5t@?z-y zVz$);XAC2K`|iQ9f1{h_=K=DEZS*BSWjOnGuuX`cVjFrNnNOSOj5PAc8@)Nv8G0X? zy*i2U4klIJN9J#y<4U%tz0Ca}*>*yS-bcD^$S-U<+rN*@u?@YCjEHaOePqV58B1E~ z%YWwE$2U2C$J_J$FQsVh3riu`bI|JYSNRsvPR_VxWq!}u_+D%5R5E6PcSpF5KD&kT z#4g~Cef<0Q6x%rOd(QuPZCuua?cut$nw9162s3W)*V3ooop4yEGtURuUrd-WIqWYb z%((xret!wJF`8zy=_$rG`iJdvY-5Lzznrv;l=#_&d{0T3@d(Ff+ehThcyZ?zr8~hk zR=P8!j~&D8ke`IKjOk(jDPcwy+z#7Vp8P~p8LtD|sOXh*>p=YxBJ7fmzWw035f0K@ zj%_SysW1P5pKiBzQ`f&6ToyauBBZ6!X?9D>zj6GQ`tOz=c*(batPNyKSGM<-|Gz?$Ij>YV?b8v9rESkH%Ni;rU7`lDPL;%lGN z>)gB6Z|JGQ~jguM{G-dh`!{0 z@bBoU>N_jzzhK)(&5tg5k#NPe^@@B(l2yh3Ps@L^-){7BQ{~_1K>q|Kx?^Tp{`Nb) zsp~&_V1YB#zo@`A)W66*xPZZci9HPqiI#WvL6C?jn{ z{f%;LL;Z~$X&LHol(DU${zehDq5eh@aSio1$_X>n-zdR0)ZZv0uA%-$1!0Ez8>QsM zP=BMCxQ6;06=s93@A!VgLDzSJZAc&SeT0L?`$@;s*T{&d7C4`dxW=KZY`mXh^35en zD*ye%gRwzj{oLS-&a3`?zyDt!F3USHy=_J(%CMxDOfUUA1h>|jU&n_sj_n1*%6QQq z{O?a~|4H-FrGGKf$BaTi$M*hrZSj{$Ww@Rz9n#Im*Yg$s>)N?#`_}sVt(@DWyZ6uT z@cX^AOwGAJKkI)_tDoTA!9P2**8j!ezkZ95PIxZ(QSg7PlYft+{Cpn#UkdZyRlCvX*ap_?-KmalE3;(2LBVoygtQ+)5`dLm*Rg=!Eb>-PBY!LMf=TFBS{7=mM^GlV(fZ)G&R2zT);Gd57$|=Hr zM+E=u$J+8tga32O`uNe~KA+Qr{|@i?=Z5N6IxqNNyR!d%oP_ubg8u_ELq3E5lfi%U zYkfLdI6p=3k4`?VJTFS;^Wfj@V_(iih_CBo#Kq(N`3&iIDP6A8&P+GD&P6}`y!^X_ zbX9(@cY13;b@^vu{Nqzk=YBhT1Gnm7Bg&N1%YFH`4BKmM;~%f++EwQFd3DTTK7QeK z5TaM!t7hT(r2N;b8*ip{2zV%rtDS^?3zhsX!+nl+UonMoijVB!)DB6f_Hfa$J)8|` zp6tW86&DbW+rASh_G9a5j8i4YEE!+kK5^l=xs zqhUSVhWq*b#WQ+1hx?SaY@af2GVWwl54R`JMWXT4yXGF<>L_Hwsfi~bSe zdwR$D_|2J(;mP6Txo**U)Vk{(15UF3Ym3781}guIYAd~dL$~M!U!SK}`tlFejMIA2 znJrvr#y^O|epcRVNLl{T&UBEfS~g0&e{r?14^_@TJnze+xS4qyq4j|r@5PkgEn}E> zdW>5hx0P44fNp4eu4{kV_{n_{V z@x9~^_fJDPi98=Ha3|1*D%r+iPVXZ=^u=xI#rKmx+_OpFj!*iiDuU9Sgx+n@y14Pa z3#+gHc^~-te}PprvqR@K;-^>n@|SM3zG`Z7XKi^O%2b;h`|Cby>H9a7JLBKxo7DQN z{15Bq>reH|SGpIU@9WR>zowKrQoVJvQF&Pw*cw z)u%82zQO;j*}i^`FY`K$ga4op!~HhQyEh>Cf4M`rk38br9fN}Z&I9~$Dg7jz_i5{f z<6X+%Uq%G~k9P3;)x3VAga1o6`1k5bh(A{8{21bgenn~U*ZtpZ@P^C2eLdu+aaG^` z>)HCBHSgc=4&`s{zo@8c|IKc?{4aT=w*3FQ?Z0DJ8C{mI+E2Q_eYd{%FM3S%;pKnl zE?n&E72W@P1^*$J)wT=z2LI7JhVlvRhylU>mOB6aga4X;_vcmZ(GkJ_+u;Km-|G4M> zl)n|if4BUL0~klN-@BFalc9Q7>oX@re{bsdf6pDfVAG@0(y;k?S9N?h8xqp@z0p0( zGr#@vmG66_yK#fsW%*spJL59yr*b?p;yU=)+Hv;2?*8RVc%58^7i?=>PIz)Y_uW4% zU!wbD{5bJJ-~Seb8~Xm&Jw^JU_XWj+goD2KO`ae<(D%L3GvwC@&(jL>W~34IAMLb+ zycqU4Clnjviy*#`}~p-vbv9uz%3| zfanpz;1cp@?F!x3?Rk&2OWeI2FO0sF^TqeY1;=iD`AY5cA(g-GqgoHU)9qS){r3v} zucm)Rezx1t{Y&5TUgxj>aGP;j|BLTfJMrD<{$U52=P>@<*O%IFeS2R1k7@p#BmH}9 z>GEFM)z%Kr_HST(lm_>DX!pAV8eF&yS-Ixq+ zaPejh?ne$dxtew(?rf_D_dTy&tlgI#*x>RF8p`odGQ!~EC@w|+)D40m!c``WU> zbxF_z?)VV4-;F#(ULP6mi0v=3@3Sc%cPQ@78!GLx1b5b(G<$Hwp`9M@(BN*hc5GF7 zzITE@9+mG`d{1xfOu5_Ow*1TeDpOupZ+{*?$V{&ae<TB}%Ci=U6SjipszW*B9={F23xr`faHiPqv+xVPj zO#Bw{Zz4WSeU#(JonRYLFEaQi+&ANfb(U?xeD<90TZfh0(7w4#*A^YVFCo6W zgY;nQH+VjaJHC_naM$s?uihjMA4s|uT1e=(9oLlFZLf=Q~voOLu<<4jTl-}{xR-u~-sj2IKjaPgPA3b~CCu@xYQzd7l~0<@(rTV9BTGsUUuQ4B>DR`i}S>zZf;J zWR~f5D&frthv`gbZtiT+ZY38det*SE#D|#crL5b|8|WPD+aY`}KY5@_;g4DE`>6iZ zhxYzf_2b)wSGy;YpJW{M_axGT+2p58e@EPqksos>;|3CMpnIR|uMFRlaQK1aGk1I} zd4o&;?A=9w@(WX+^63>5aKkM2XYsS+NE?Q9^X}+31D&xI<&B^iB(4unJdhpElpEOne$M8PXmgKe>W%*BhXDQ0R zO{M(RzSI6^o<;tu#vy$1np*dB_ME3Gyo)_YsdE2`_|@;b{@u8RHcnyn`?xRa_Gj&> z>hOONo(yX&|LSoI?HCTc)1QAG&qAK7$+qu&@al06&Hw(o_!m7_tH7W0)9ele%`_+7Eal0YT(0p4twsFT?>JOVwZ3Oe1 zf#%yP+7EHY|ID|=`C&dam2c;kTt8Lq$NzM`two_gJ__qDZ+~`8b^AXG{qxu40Yr3u zWB>g0c3+e#S?IT) z1pim{9Yo#yS3~r?JDi8`p+l}jeIcFVkaczK@Eg}(gtL{MwZzoqj3ck^!z zooRC!KHFxMm|rm-)CJr{1@8HGk88IzQJN+i`vU2lI1vnd9@nlO0cswr=M> zv~$>>=IQ$4B#^Y_nd;3+}(*FDT^FP=3c)pWAzViGp#x~SGOtFp1^S>>K z4|@I=VHmtz}x{^zzNKIr*hhHX@y|7~@=D?rcx(yiGa==oo|4Q|l$zYN>Z^S>P1 z(DT1|Tk;R(`Qv#?YBuQkpX*0{pz{0=I|n`gi(=A(%JV<$9PXLPiDx{(0^88@Ki8l1 zK+pdovq8`QVr=93%h7Mu{r=LE{qsMy2R7Q7a_`ajdtte(wmqo&U*)d#haD%K-BkH6 zypsloEo1oM!*bG|OH=-}{eQJ@TU-C%YPZG@lHY~vkqqBy$bIyO{JyAiKSY0%>gQML zFRb_-hj2YqJ>Sy!Lkd^_VY$_RSZ?(nmV3*0*dOB|$vuJ}T-E1y_m8PhCpNxEJ?K-e z>v?S|@t-HZ)xRIre^}{hydt?*C;!#))xTKb>R&9k`WMT6{VFXOcd~K+&uq{Ap{jr4 zp5u95#qVXs&v|Sk+tyZwwoLb{%KEXlcO7i)za;bRhA7Mr)&H1QF0Gm$Dt*A$|7!PX zt@)vJ|JV2P|1&?7uRx>FZcD;>|F!0ano&2OR2tI1_@1!eFyGds;IEagd##s#cHpN? zUH`8fQC{{g+0_63f9@iC{wYuZGi}O_-zE55HFEU?6 zb@=;rZk7LnU}Ryv=c(79RQ>yJUiiNAX#2kNw8rl{(}$bB{`GyQuK!=_``wY7jV=XP zdCwp6+ptOP`}V%UzyAB(0m1(d9Z&S>gnnoH2miGXs`Wo0__u!3w|DeAmF`>R@>tz` zR7vpPX@&6pWk`Q?@ZWzc|K48d92flm^78Rzel#D|*x)}aq@($$(%?TaeD|sOsB}HQ zr~QWcs8p}NTQ?uor6C=yieS7L)|XA5zkYT3F9_xT;j_F?IlZdJ<%-r!?%-;na zKJ(!@wqf%h*zazGoplM_!F$0?#Qp{(`(1JGJxYrywszws-CQVP2j4X#`PS zzdytItadM`i+?-$s}6VHR?U;c{4`^Rp2#FQNB2Ep!y`xaK6=by!#5Z;dicm8qmS%8 z`sgEimlNrX9CA$W6Gt3*{IElrH0;DvdLJ=rgQHFuHFAUDV@D4^{>Wp8k36xrxi>uF zMCOFq>eoqY7}MMg8@}C`!w(;R{I8VcsL?hn+X=r;{&pzyw}(&iSIVHDEol28Lq`mc z*8P=A#3my0DUNfC{;w!`=0N&Cy5x5(^Y<&4{P5u;2aPH(wqHq~Cse1%C%QjdqTr+Y ze~^P@t{>Z{xKrFQth|`t`R4wC__({i$9<_U+y6*< z`0Ydd40rq!+vB(HceL|)E*!c3F2Qe51L@^lyucm9 zg}5z$S&RP8!3^?e`AJ&#cRB7>+_%c~TlIG-e%NMHY6PO|C0SNFJerX@eSeTP6#u;A$@b_ zgc;|Op8a0U2{Sq%Fw0-M(at5qNzd}G_vX0aOx#JYjxODV_%MUx%W*qw zV+!HXI?NA2T;np_cD_>1jnSej?I$}PY-6s4oBKDo;q?Cg_gvh-@xV;-YvrA8#rE(f z^RJk@7{K|3+u7dS$qpPZd>X>duUvvV-%ki=zPu@Y^gw5}#Fw94Uhh^9 z*gHDucf?v z&g9SR>`w9zj~o)*_u__io(t(MBt38wYWF|m_FDI2b@}^!*uVDoT3vXDy7ZphGVJd@ z_6PGgUum08mGk#8@1ZQM{QiFQH{%?$ecZM&{OY>=+#cNNJ^h^Vb=W?+i}L|XTBHlD zZyNRL2Tkc?^aScbmh8CmOMNUHY5G{UqL05VMHuy3ws^~u*C?Ojd%pWQyl=_uLz=m0 zG2g=zZnXFWJ#f9cBl?z{KzwsYxQ%zseJ|h14DVYqzc+fhfck(i<7lq$eDVrhyKE1= zCb7QG=n(b?cee258y`kE-1%^Ad0%&g zkDm?f>x_MS`0F*=mF?kk_E(nIc75rm(%1d-CLiDYY+N{9k?Df{wl3wdvgv!n1wJ4=nELuaBZ1=L^pNG~{PT@&oJd>)lxc@xkU7 zvgc>%7VHm}v`80Pk9gscOPbQhem$F)Nu=wJFZI#!@ukp58W z)z&UqfvVf|l;AeLAw7E@8MCc1yr+LYnOs78u;xDAof6l$l=QN(d>2UC#)q7Mg7h=O zjASdq$xlvN#ukHd6Q0k+4fgypI+f#DeeIIR*?(~g>ESjyvA>ApE3l2-xUUzM9{Vzm z<$Ofr2%p9A!6ueJ(u=SScaA?_DYh|y{1l|;x~^T)mFq#;vGw@G>nZuoTC}&;a=-hE z^myKx?13Amhw!{$|IqV(+DU{*|73r#q(!<=`1)sV`$PNY&3`uk)Wtt=zy7+Ho4O$n zYHfMVw?mc=8)|LyCUkI1ySsz`7Gd1lBJ`sO-tN`?hm`5a-zVza;@{T#dsWhn`>5NM%DVO9sKxE@1M-`&nJ2OTrS5B3;v>`{O~x zul_D{?PF@gHU5ms@TIA>;qy43)%$z!>00-_b>V$TzdC-hN3DBAo%_(b=l54!NPSwB z|EbJFUF{C1;b$x9L+fY%d{~qH6L;zDOC(;&>%!hct%efR{#an=v)l5nxcRh_rMKYx zt-|x8`KOiK$@>e3JG%X}l814ptMYBeeW#V2MDp=G+Jl=CAIkANV%o18oK`Yv1p4gG zcdva2gLj`nQG2c6vh_|Y>G?;_|LQ#d+48iKjd16cK%L=a8i1=_C^`*@d9&N?(zz=;w{kBF91#`p32W0j80j9XW3<+7d8$EqEh86CT#_xYUvu7m@_6gxKneJtCtnbCcd z7R)or^TO3THZzJVeR@%sj?Ijd?&A2_J|QjR12)fzpSC7_xQB`$+J)zl%aK0V_YWy< zw_3+$#(1({;4ZL@1^k$|{6;Gi7Z$AHw@;TLJ-CegT6#HY8SAirbGsEt55}&-_6?-h zf%M=-@@vme^8<+w_woGI;ujp7@qReog0zk2x^X`2e6=CJ@cgml_wbG`>B#ZHpLiZ? z?v#BQ!+3t2tZ@L<*#LO`(|Z+(|()p+P+z{mE*?_D|OK4$A`=HJbpL3185|KC3)M|BdX7}-ue5MJoRo_dA{*o zm^Z=o^xt1<`|)Ai1HJE&|F?7ee&t{8oWP~7srC12rHl?mCnKqM&Y<1VtEc;DZ_dM3 z9bI%L_t|xNx@ojSqEWPCQ{3zJEXN&-cHno_c-lQj_H>W0SX=L(a!})aJzcM7&HU`~ zW<6`>XU{k9Su;Po+q!4X{Ond15%reJ#MWDMs{NhyB+o+>Ui9u+GoO31Lr?cA7p}tN zqk6jaXvb9CBYV1o##gyV_jH|xHoBt|IOd6sI&i~!x-PVPw0(YbPj@5dNACEfpSMF^ z3w`02E?R4Th&&YRlIDl_yvx`!Ms&zo zTzw_dIfZ z887|xT)z(fZPxJd^RFpjmPx^X-RF4F#F8xS)1MyvUv4$jZ-2AT@4Vn&KcB>c;9ozV z#FN3le$_g7Xg%V-U7H*q^{WBp?p-`CEscj(Zsu0!uS3|rGXFfy>lidYd4g@s*pK>_ z`Mfi1L-Ugt*oNjOcfCjuG(UNYZD>C74BOEB;yJdV`NiEjY!8}Wyudazzqk$YV?0H) z;%0syEyEfHA56M4Y0vYM+o;ShPuv7F|9FONTy`&OelHcoHO{9ZF2>*{%+P$~(R!o@ z>hG6e8=8+i!#4Ksh=0QGuVp!Zp!vxQ!b-URmA}^rOJKh3kNl_D#-y=6|0LlI&1de` z=RiU8na9}1V)CDi<@XJ?q4~`-Y(q=yU}!z`%kP`)KiBeZuaE4ji%Y}4lUUs~j-UL& ze$?Za@%!|uLrd)Yx#IFR&K<)I04m>0Tz067Vfsh3FGlkm`eNL0hrX8>owx|r|G?L~ z*{O%}yYEo<*8#p>&NAHaHT#Q~?ZlXyxZyPNXZ2+K2I;{kZS6esBmX}351*gy>)q_H z#D}GR^zP!-L!I&bFz?R)aHuo-?#}(bs(<1tXVTv1#H%hIbb5=jJ?Ks#eb}N)Xb)aN zdax76V{wzQoDbNI^vvz%5Fh6E^7&0)IMf+eb3QCQznT3*I*Imu)&8dAw(#su@(-8a z=F=zIDg4F_6K{0{3I{qhAeEKuy14gaDFXKTc&XSs`s}feH?q%nU6KqK5ahP zZ;_2YqtwUe_gekY*gk!S21tGm?Piv5Gle_ZsZJ;=7kg**(-uHpGZGOFZ8E|`q(+q3gY59V<^mVR*<`GHxMKF8yR zkUo4r6FrWj9dsVY1MOThR}dZ%X1K}dc@pOb+gO=RtvnL)Yorn9hvyN+X`~M?hVz$l z{tWf!$~ku9_v}Bpoacq)*I1SPMc48?1>1OJX|GRrH2a2+b_{yuTqN-9kv{+NShj~N zxt>fX*+h;Pw5ZZj$uAu+)c*zgT^L(fF(G5$ z-#gS#31NoDYb>yhKAdI?&xmViyvB&M4UN|rJ&YSPUSo`HsQ-ABV}r(POeV}{&a(N9 zdL*m>jn^12yqR&PZk9ZL_I_^JeiyCSRQ)mjAg_;T<6qWC-0oJsw`-jLH*J5bGc-PD zhHXe61#u1O!!3U+jh9<1`Y4ENNFPxLwgu@UCd`mNa?&!SkAyHo`pDSUkUnB;L;A>x zYe*kCVTSaPU>nkh!#1Rkn7kX(ha)XR`bdduNFNz_HKdP-xQ6sm5VvG7<2840>k`s7 zq>rR6Zje4wY(x4;+7J%XhkI~7jk895L>3pMkNlils3&h(qCT#8En!lQQ@(~ zHn2U*wAM>ge>6T{*Z3_~N7-`FHQdjt#+%Uh8$R@>pY;8P-1>e)Znfv+*7qB7>-!D4 z_5Ft2`hG)heZL{MzTc4hhljX-RDJKD^Q&;x|8nd54Y~FGhTQsoLvDS)A-BHYkXzqx z$Q`}Ux#s>Rx4z$y`@j4BhP`jmwzjVSo@4W^xIa<(i-Gh^N9+`q4H#|}C-Gp?mST)NHjE^phpnXv$O zfje8D_+aIc9n1F3aKo*)5k7?b2XT$f-t+hC=wRYPf85zZo-bh=mxbdiu#M|*n?7^$ zV(fMVPfWIMd|$jN`Lp!nt=JwG65q~EzCZEd#VbO4aC`CtTk>-<>QDP(r_RlcU2t3c zWI*R;#{R(_?MVLM(U4xT4f%nCH)&pOpKne2Fn)Ev|EM|fVQHQxT6$Vm-q^Q)yf_18f9cK#JU`;uCBn=8CN3eL4rua|M*d}({H4(Iq;R4yaJdTh6I=2Sob z82!S-r7)(v&iUDLL)Yo{;iWtM=k#(dU1{BEXiL|@wRA6r^!6U%pKBEd`1c^e+ttrA ztL?j-KBP=HIfV|REPBo{>673e-sAKM3EddxHCDf%IQUNv^TS5#`Edsa1pf=`(is%| zqp)8$-S0OE{u}YUtn63vIb;01(BOXhgn-ukZo(bC*5FQg1l{6}zGU1W!bhL%b)0_1 zI6t@-t=D+nCeJju3pk+a_Z}D3xeuv&K9~Ql!L8GU(=glXB7L@@{H-dtmE|AjdYzh` zWeu)1zfH~7(xJ+o&1i6KxQ-Q;UDDuAwfrjm=NjA*?7upFm5bJ!&%10d>mOD>KEO*a zwQy;t-tIt+-}Hso2UlgeXni2fl$Cjc8VCQ6{^H9u?m4zB@8Ipen(zIisXiU~Yo3u} zFXr6<%`=khy^?d#_HlpR71$|go{?l9!l5$H2zCmZXC&E|aL|3p?MFCn-FGtF5q$F) z_0lZrt=}@Q2kuE$&-bSv5$+f&^Nj4jk}Ggm<{81AfaV!V4q$(vc}5EC6jrwUpVi(a zg9!)CGg4rupm|2p0|^JsQ{xW8#;tiqGTaedME=}%?Ol2>`NggKSaAsXfjv3v)xXo< z8_9i?c}1j=CCw|MaOpzp_RGb?o6<+zvZYH_YSc&m)qkds`K^8Zk^gt~u_NaTD*D)o z^92=sV5d;g$IgU9MIYEHRP-@`aH!~G7s7E%4+-uFq=%@1^1v-UWVmCH9^zdo58Tp2 zjynPAA>IxB;Fcb8+zChz@j$|HOAiI^1f+*#ck&C;gWH4r;+7r?+!06*@t)*oP}RIM zxD)t)tB(%h!qxiy<@>&9`lugYc%OFkvs}5iE_22jX<8q1SGM}2W2OEW5$4f$+fJ*g zKRSeYvD0__b7kpM?c6-$e1O`y>1@sy?8W0HYX>A(bAEB3Lj7#*hyr&CqiFJ^)=rp1 ze2^aEYdH6~)sD?^C!lt0axLlMR(;~;k{*7$^J=rO^l(R@cCEXP^l-oTd+KM}wHfXR z)Xt6PQC_&!ZjG*IfB320n%uzt@KgDwH{!-m?bhff(#KEj)*N>XYPTlyiH}?DR(CV` z#qY_t8t*q&2lQ@3{;R&DyZT^%zEnTdw?p=~<6Wk)ezDt|EsOlhZF%zecGc~V1A8QqP(OX|{gF$#^xV^@qxezqU#HH$SMa|w_-_#MnYZ%ic|h>r zDER9;)-3q{RF}@Y;J;a2ItzmT7Io?HIHp`$9aLK`9fE(@?B}Zx{&@)5@Ti||sn$>W z{KG!RN%R9B{2RB?zQam){9V)f*{GHOoh<$QCG_Lb{JzS-1s~U*f9d4)fB5%M`Eg!v zygDhD7eap{eZMCC3^=tmohZZ~6#Vmje7i_G>2y)h+a%vkl}=7Ryw+dkwSQeYNl1Uq zx^zYa|A}?!q``l22cLd+n9t9p!GGKVKL48EGzax|0Luy zdxU~wc{2E481kd{aneVE5 zW&Dd6+t7Wdz&3Q>iPr2+|C#QU`%aE+=)RNp#0|R76xfFDD{d|J2YP;zVwXg&e7=z5 zHuU@?UYq=Y?nAB@+e76(gq?uyLv9_yp>iL>jzIUJ7~81ahp-dSeJI5?>Ytyq=LV2f zjptWC9)|ioL^pPGM*a90l)-LZ@K3Mu^?>wyd+^Uj z`|C9F(cO!oJ;b14Wjeir|L<<`>1VA^F8yQ0f5!XAZTHMjHrdGMbe{4YDi=O=&I_g|P7{NE4xakKq# zEeQVq2>#jq{(kyo@Sm;Ur++!8Jl+?B{~O`_L{IzrNA=8{aDLpLX&L{c5dWs&ABX)e z3jT}2e)Fq+e*WG4t995;>wg^h<$$K1&wV=1M~tuY`LKC*y7Jc{Y(HbU7Q9zzPsf03 zOKd*I z3T#8;twfK^<$I2~PUEe_*oMYiNwE!$w~}KU*3Ze_N9G?+E9p8L_foWrKblrjnZNPl zX)XdiUr))aq58^U8ybHlf0Xn=y45tE(MyhPNH6Z}^PC~Q#Mp-Pl3*LsONMPoF9o(y(aUBN znU`#0<9wgLndnle=wLjpKLGk z57JMv_XKB1KRLD`{lvsImb6GWT2Fi7%&tx8XZX`Th2rm%maL!6+Av1Qq>@rUxYMzd zN~E8ZaHFE1q2w2&pXmJa7-zCkKMA%W{bbmN^iyCP(vO>rzCikku?^`b#Wtj$WZ*=e zn>6Yt+8w=s^pj&7s&6v#YE<-NHb_6|6w(Lj$4wLWzV5s&N+?qdJ#8;ihd45KTy%n;gmg8^fQe7Lq$Ks(GOJggPlV~Kg5k;NsDx& z^+nGgd|Xrd(fuphbjkHk){pO9_MTK?`bluRJtvh&KN;c1XHPkoenNe_1?L~6pX3=PernI@-a4q{E}B8nk%az<7aGv@jOO&2=6DG=MxRUn zp*G7fUdTZu$C7@wHT|krI=JK!wlCcu9^@iea3}4j6?pH1ZTyb?xowF51L3gJ+Ra?b z{^Dg0E_sgalQDcBvY7qBxP6qY+H$QNqU?|CcdoBSsqv47Zo2I*J5 zpB_W}tjc{I=QCowb?xsCb5mY&FG)YHyc-c3)}M|0=h4-_zw$7CasP>w@4DUH`5i}; zG2=Ef%C&xXX?^}9Ea_K7M*B1woX#$M5*xL8F8J8G9Y(#RXMIPv@R-tnLGXY1rjX78?|*mjpB(ZN zo#Kxx5B}rB^VRy_WtS@d&mLK(|6+)LVc2h)UR3(O5&XYhsQml*p9lX>!h7H35%0e! z_%CVIIs|CF;T8*;9RKd5dqV%2?Z=n-==%2-HSK5p{)+FL$9FmNT-l!PN~gcuID=5O zhj8b&%q!9TEFsL${miXNe5l;do+cbB_cQDaD)%$&0xI{jXXY_~(Y(g{8Fmbn`x$l$ zmHQcX4!WPY&DcNa_g9W>=zf;`hWvo;XGIV854xWv*oN9e`Lk>fmHXLq>S-vOXkVe!G)F0WwoDb0bD?OPo(ETf3i|s-8uYz-H=>C=UWP8y4 z%MsVm{VOG|v81JSoqkpy*mnCS?_b}xDq}{!ZS0>{{rgMhpWj7)McCm$-+wy0oBoHO z{+!W03z%Q4u|H>wZK%IqLR>@r^|E`}9@L*RC9a|VdO5bC{(1%58tShXV;kzP=ZI^l zzg|q*hWhIjgc<6umtY&}ua^+lP=7s#ZK%IqMqESv^$Nm_cM@OTDS0u}UoRreP=CFM zFhl+Ia%@BW^-|&*>d)zzOWUaE`A)(>{q-DWVMyP_Lc&4)_0luwt7k+(k8GQP`s+o5 zZ+6C#mU{inf4Tpnru1{bxn4hR@GtAftxkVNkbVkmL;6X&(%%r&-!sKFq@RqqhV)Z( zV|$Q(a^f1&k0Z>Gej-Z?q@R?u4CyB(%#eOkwl$=m2-}c;GU6K2Pezy_{lwUY^ivSm zkba_w^g#N_$%`TVBy4L)KM7%m^y5g&kbZLF8q!Zp+J^KKt;YU9`iZd(=_gth8>FA& z$@$KZehR{jihe%0#YM2BB`WVmba4&q`Cl&nqPqR_lV;Nus;|EfJgeh%>QKMMX|boK8Sv!8rEU6~r6V7wB(zuVWxZyo%@W|$=M1%X-2Q}v+B-3}q4rLSZK%DIV;lPYUSJz)??eaO&%9;#SK2!Xwoz&C zym=pEGTztN-oehH(%yONK9_*5@07e6x}F`jq4rKPnDjyIodVlXd#5-EH>kan987#r zd#AuQ)ZU5zcAqoS$lqV`Z^$3$_j_^(+k@Ia#cFI1YX1}u-RBIof6@m@3pSn2?=gG+ zOqikePlj!%{Sy(_SkfZhXnjrd_l7j3pN6k}`#Edt>yf`tt8G79d%1Xt@82Hyy2SL8 z{idCZ?)$n#`pF45)Lx2r`q~-NPx{K&&X9g`Y(x5SuYT)WF=<@gWj-(ILPw^V@LHbEvCqE$lByZvd>8HRp zq@Uz1!a@3pMzTMUezH^8A4oq1aSiDwnZ@=X{iFlf7NnnOXVL@dr@%I(pP0CY^pkVE z#*!B4M(ZQ4KJ3G$^fPn?-~LHDdj0G*{pb2g-atRsE-oqSpKa04oW&&-{Scmm^ppI4 zku#*9{7-~~^yA)M>8Y(x5qo<$3w`lrA)q@VOT@(0pSLS7B&r{G*0(og4WqWf55&#`iVcp4bo4JZAd@yM}&j)CSSBpjrloVbSc6Yb9V0O=>6gT6uf zNv4m#m-Ub>3gx!SO*^|DYdt z8}$cBKN(?$^y6+Oe<1y&OMmAK=_kiFq#xJ%JH9{ouA-k9+mL<|Y(x6Vunp;_z&50x z_&u&ikbc}>$qz_B8MYz)6!XywNIwa-A^jA~kUmI1$+F}Jq@Sb>ZjgQoY(x4<+7b>G z{WRzNf%KDiM;jph6vQ>8A2){hApOJ(I6jbm3eL45{baXrd?5We;u_LVN?c<}i*%#) zKc}qTqpAAm^F#dmi)5uG>!(0J$z9YRP}V;&_pgOq41=3H9ZAd>UwjupQe`Eh3{S?@S^pk$b`2*?4kyk_dNjcYs z^pkcVeUN_K^5h4kAGacIkbY8ZL;7(Y2?yyXZGm=-$lt$;HK~6=`bmjvNI&W6#0BXm zxgC9j^y6+L{~-P3*oO2I5!aA@GLF?)(jwhxz2Ch({@9d$mS4yJ{z`g#{d8K`vgY}7 z*?xYP_oaKcXl9sxvZ3wh)8C?*A^jwT8PZSMtwl4VqMxBHnnh624|W0-{a|NM(GPY3 z75xlj|4`8nb_^B$V5jC6`uh~U*dC;xY#q`E=_g*7xFG!`W? zaPk8c{fxj375!kRP|?qkgoE@`Y(V-T{iK^Tzw4J&cNS(4yCI`}{5e14*x zeL7=<{}-KxmGRTyp9cRSoqTyEVcw`o!T*hrP7&fy5B>*+{l)`)`j-a(C9Sd$p!I9x z@()ZuBf|V&i=OfNxuSn7exI+%7^*%$={im8NArJ4KmRlTmp{R$)XmS8g!BIY*Zf~s z*5ya~xwdY;uz#nY*5Np`Zuo5cPfgvw9`&zd`6kx)-!Pq6@6`@rdyUT-%^2qljnC<< zqX*o12N73U-WAw}#^=m09LM;%SyT9a&&zW5`u0-Q=<`)wVmGL<*AsjS5 zXL8v%XJ~xR_zKd3%J`gD5e^!k(_KyeK;v`fa|i>wAC%*BUQ2w?_?*dH+;G~e)D2Vl z&ht9lpz%4?-$CPZ%I$j8_OCdKZVc7mZC--go+l~(lE&{;xW@04TjO`i{hyBCsrVYd zQ*MplDR(I5pRJ@Dt=|~Bd9SAQqwg>BlgF3!UOOo@bZ(SvYd3pSPcHY3I^UyEHS(_A~DI<1Wn% zwVw;Z47H!LKXz$mRNBvhwf?Pu&5D(z?N z)civG*}Y19Q2RN@Hq?GjUSt2D_H+72wug$oupLy|&tDP_mG<*jghQqM{0(lXw4bq4 zsI;H|i*Qi;Ie&xvfb^Tbg$;ap5T$zt&czBt+T4%pN5b!0xW$Y& z@onSy6Y2Maf7dwvMEnEc|7vhI>_om9cRR5BMT6^2y_e!neq#G+ z4Q{8)3BQ8xFx;*@2W)WnuzhOoX1luVf(ExI;qjI2UDkY8m;SB64WK&687Hl1xvNX2 zG`L+JA-}{=mLmSt+VL;!+P|O+^_pzKKCU1SDj(&>hUnl?bheSh4CxQ zT|FL#xqoRq3=6Lw55wH2ay%Lj!`w%ZpX&5gep*Mt;4sSNr~dJWrk}A_`||A-+Rv}> z+C3W8+dcQe;iVSyFpsK#+s^pEVSAfbwIi*fEVxI6bh0?D(ePUD`t;Ll&nf+-zdrKs z>)(_6UvqTX4gN*wAE^CJ3pz}~c=W1A&kOzT^qyVqwEx@YdHwIs>-uZY<61v&Ybe&r zO6Oba?6y7jYU=)F^^Yx4sCTTM=~mVMc~z=7YrnX!86yVvMYlG;bcAgjVb?X`F?EVj zUC%h`mg;)O>Kcu6WA%)oac-=hF-F^ULi@?;8Kb(MvAU+Zp0T>7rk zqnK)wG^^Vm&)%A|mJ=OJ&)jieqj@3QY=hR^ zIe+I99efRuwL7a6l6^nejXz!2>c1Mjb}i!?U0e2F&7MF{yUZ!E_E3U5-)T;X+CvH9 zhT21U-^tEUdng~m_jI84kUMOyGt?f6u?@9{Qfx!*p$yy5^TYz%PcR(uNxY7b>wkbh8n zDA{tdGt?f+u?@9{V&WQFq#LbwIVV58sru*A<%51!`epqjXvZj@N54n?GhuGdO=B{lwUY^pj#6(oc?UNI&ss z7dS)uasNP1ApK<6hT7APyc*I^dIsNjg7lN0N%|oD#3}m%=_fu5H%LD@wjuq*XA=$; z{d|RfAdRR$599p4cu|Sk(>ZYs=_k7Ucg~Q0lJV#Rq#r(pqXF2cpB&qeej?%;(oe>* z8d{_qty``;=9H%N^TO`o{nB4yMya2VmUG$7b4p76;7)F$z5(gS-9r5Y(ocE` z=O3h>B10b_{Y10T2S`5&wjupw*oO3zV;jJ57Lk8O2Yx9pZqfP0n$%$DftK0KM`Su^pj#6(vKr zU%%EFrGCC$&PA=SDJk`XyJ&SyiS&~aZb(0Q+bN8JI;EnY_)W?dq@NVqkbZJ(L;7)V zp)ZhrB5XtYNw5v+C&Mq93;cPxe9j$*>LSCnK+h^b?s4(ogm$(g*1$ zdYk-!^b@^<8>F8M+mL>ucL|4zel|xxp!-)k?qX-C{>g}IRP=Ku`T^BHuEP{MyHBa; zCu>LkLHbGBPhmXiDHZ+X*oO2I6W7q9dPnOA$4{EoRQ+=b?O$7>ZojOb6zv$LetzWl zQTJ;~O8ww=-L5H-elo%h=_l&V`3KcM(U+V*kbV+uL;A_E4e6)AHl!c-6?y{cC&o6U zpA_4Weq2BF0;+#HpuTpJYw82k9p|{Yu_>Us=&ldMNq^=_fjb{DbsUU>nj;Ok6|y$vIv_i*%#) zA9tR6MpN}qasn@`Sd#9)te*(&7^Qw%)1UQl?oUwa2X{P-`Us?-f-pn+$&Vp_ApI1a z3q$o!)RXcD=_kQ9q@N7ikbZJ(L;7)Rp+`{t6JwWz_H*_!_a~5kl2_0RNI&jX^aavS zMqUloKatrW{lsgNK1e?~wjurG>);0ICtjEMApPXnhV&C1HOm>Qf85vT2UP#W>#;pZ zKiN}P(to>AKW-Fd57JL|EcplNCmBio1kz8AZAd>caSbifjn>aM|6%>6^m8ra57`p+ z{AK-QXvZk;U!Bp(ob?T_b-rsvZ?v}2U@&+2XXtwMbSW&MLY>43gK z`f)2>OMl>NEBZ;lCSq#tqU>j%`Rk z@hyZyML!RtACP{Ehc99LzDE7z#5JU!ylX~#5O`l;{fqK{QT`zPB;S*NkbWY<4CyDu zHl!a%+>#(5=|<~wU%BbTrt~xC?NI-$`^)-qZ=nY$^%J#mt|x9N^@BTK1AT$?lMrU8 z{z*DaMPE}Z`iXPSA4oqbwjurG*oO4u9;W^Q=_kTAq@M)akbW|3L;8ufM=zlIr@%H; z|D-$2bcXa3lUGCf$=grm_wLk+ezHeMAEck?QSt-QPxLr$kbW|3L;8vSKsZ$N^ECPa z=_h@Y`xmJFlM&aDezF5HXGlNU3RAhBr&jb6FHinK`f-FA(oceINIwO~YG{#ewBEht z$-|n`&*x$I)M&k5)=!Lfj8Z?{Y47ZV8%q7)c6*^GkbW}44C%*hMczR5PxKn+52T+2 z+mL=TY(x4funp z`X_yZ^g;S@Z;~I7e%zmMgY=VP8`6(^n{beR(!Zh|Bl5rBM_`fs5;x&6?8Bk?sBOuj1e6Cr3L* zsh^(QuSQe9K&cE zwjuo#*oO2IHDl}^kbd%4xj%vQlfFiM1JY0QI`tDsKRJ0dq@Nhukba`(qz}?hhHXec zSxej?{Y0&Z57JMDZAd@KKdFB}`f;0H>I~IC(Nb&=(vRC~HrH#Texm)zD@Z^2KI9*y zpLAdJ0n$%_ZAd=}aSbifjn)_bcDoTx>8H(tX5}W?`oCQN6lljV{UmFlpE2kMOg|Cs z=mhiw75xyFgY@GDlQ)ol63&Go{bbmN>YoDJkba`2Ie#Gi#Mp-PlVTgvPmXO!Kkgms z8<2i-Y(x4<-lcs6(ob;!=NF`(1ly2)^46pe(oeh$`vU1FUJf@%KRLD`{lsku2k9sK zViw~YH|i&)5Dy{f#ngL;A_d zyCMB#*oMtN>lhC^-Ie^p*s#B3H_`*?AwFlKGgO~sPfT>ipp^bp1WP98ywM;e)1dr{VRIce}B>M8S6jR*#D>4($P<41(z+`zogFxl;247vRwa? z*AAn+aHq@1B_COQ3vWX>Y;_0v!kx8cd-(cH^f!w5?fRGOMtFidY2Ux3DchanwXxMYhC%t?hCmhb7)OS<5O-K_p4e!MdIgY7sUw!df<@&_Z? ze{>xATb2C50?Qxn0^8VhJm+UP`CEYN23Y#GzaH!lrjveQ`RPe|@Dtl7$8tW`BEPVg#UIA; ztj+O&7S%gi-}>g~O@4pTVnM5NlWdy5f2}ad>YqmasQ*~fXQ4C7_RlSp@Ar3gYI7iwxRo1GLUdkeH9J5-5F`b^+o@m?A+T+bpI-dYpgSy@}@p2I^I#D`&V)F zZO%}AlpaO?LG@8gn4$YuhHa=miim4yk#4kJxWhKDH&y>E-e#$ClVZj%>nBG$Mya2h zt-j#+p=>{I-IjOL3rnP*oG_!JpGo8w8hGAao}ZDFH>mwnU>nj;G>Y^<`bn@2=_kcD zq@Ntykbc}~^as*U)`Ic?-5-;dw>v}najkB5hVEY}c{M8f!FC}1xZ_A4q@NVqkbcq= zaD(*YP9#1^KPk2${bYm5A4orGh7Hn>8^iV>{UnFo;f#uY&PPAc`5Vsf#vPf9o%};Z zKZM0l(GPY875xx50xi;w*2~%`e)`Z>!(0FM%jL*{>eI0{!rFG=qFi$ z@&)O~b>etI`pGZgdI#wz=3E%R<#@Blmvbq$A^qgohV}1jh=_eXXen9$(PQ?w9WV;j;> zOk6{Ybffiq?Z4ZoDg8YBt=CU9>zDNtZN%|HsUPYew+`hArGB<)%iKqlH%LDTVTSY* z|DODT^pi{`9DW=0lVKauPl0VnKhYHS57JMJZAd>UwjurG*oO2IZOr`vRR0v%hV+we zLfL`ppNPDc=>5f&lm|#Z`Bc&e=_kH`eS!27Psa_?PmXO!Kk*F0LHdc0M!z8aBo9+R zg7lLU*Qn^{A@l>%PnuERfb^5CexkeD&{yN3l2SkWwdLOaP>J-D5^hL8$%TyP2hvY^ z6X78Ju}_=zC>!{Dbu42s5Og1ly2)3Xav#BHd`6J=VU-{$qQrOM9Q? zf3bJo;Z{>=-(H7q14KX&%K{a#gAH`li3P!egB`^ZP)EfERv23V+h7;#*kVV=f?ZI@ zV8w!>B2omSVjD$K!LEGwldNA3oOk2<{r`RYT=$h{m8`5J_g=|P_Q{U#{BwVD+%atY zNgrqY*`NIjg+B)}{_Mm42l*3IX2_rPM%EAHPx?Ij8{|(;Y{(z~0)B%0iHQyQlMoy7 zCnGlGk9(2+f&57uJ;U|AXDWZ<#?LrI{$u*ZX!0{Wf3Myj_bT&){Be8y#~B)b@|)TJpz$ZUiT;E9 zi6}GVPfBdaA5UFFFL|Tssh2OeMy>H@#e++K{9S+UkH3cf3FePCe~w^%pz!Bl{29dl zgUTPuVvs-nLHY;sC!0lmkUwrV?ScG>hzYa(=g^g0auWL&s zu_1qQVnhD;?`RL?Peg3UpM=$v&tR_qT*&wV@+YOtsQj5pe?k7Z@dqk@X3>AB{GrT43lXRthkUwrc`UCREtxp={PeN?SAGZPJ zAb;`+v=8zp{b&l$r=3#ylTg=?KXLyzoKg9+8tVgD}a{VWMtDx}b?v?o8-?s|nj~n!s zGvrTxCi@@cPjvHJoX@>g`I8VE@+TuU3jGH@+Y2w zuONTiO!g;e{K@F6A%7xbL;j>G?SuUBx6&VwKmK;oAb(O~L;m@4~ZTioi3=g}u;;~&VMoY;^*F?9{ST7*E; zlb(9+^;-UH^HN<=Gkv4<=ax%qe|}HapTYZQM(NKa#-HEcD=3a%8RO5d?-j_OoN}Y` zXTWrRe_(p$Puh0|_ZwzZ{^Z1l{PDZa;QP!oDt}^PL;fVhhWyEh4f*4Co8b)k6J0)? z>oLg&C(jsvmSg`z;m>o7Kh4>{Ab;HQtS`tPe>Cd{ z)%bIm?b~{P5@JLCWW+`_{=~Eg^2ZY!@+T%XitQn zYsjDIEZ(o6@h2X_`hom$$IyR}KN+zhe>`;!`IEA)hFCB;n1Y&YtZI`4jb+?F{+jubk}+`4bZx@+T!W9hkK2~{LH?w~hWzpLwLteTx>FAFC%KCDLH@X_X%FO&yOuP_pM=iePjgpt zqYdOwMr_ERc-Cpl*k|8Ksi@+aDu_Cfw+#D@IIHYE-6C+bdp zkUtr*A%F65i}?Kzmf^$k>oJxM@+a!S{2+hQcNX#gkgP-aK3P19{)7B+Bk4cLpN!a$ zKc2dV{7G3?Loa!w>ADMEpI*zKlNN^SKXXcdt~s#w@hjP7jx&nm*NcolJI^U7{F%o1 zv*Vls`Qv)eaYp6ORqs0w^2Z-A#~Jb`CN|_xN^HoVoY;^*ZUF6r{E3JS`I8VE8h_l= z?>nRNhd6`EpJ(3Z_o?2m_lLeZ>$ChB`#$5@`;|Y*fwT|u#~nm}K>oOcNrU`Jhz1(tP^2fhUU64Qi4bmWgQes2?_%|sB`IDSLe+*xaKlzz# zFOWYebq)EG-Aw-seV=tt+5`EM?LisHpQImcgZ#;f4fzvO*U(GeXxgLg{BLXdGvknQ z{K>y8{kbixJ^n;ze#-TaPfLGZ#h?D478L&cfIs~{EvWpVJO=rbTse>DFVCy|@mGDy zc=T!IPfTpcpOn~;KRK}>f85n9ALLI&Y{;L4*pNSYK9BoJ^D2MR59jfFT=Ob_qL1eB zdp+|ie`5M-$e;WQ<_GzcTtoXHf84e72jq{to;1jxgxHWj?q8IH{K>ce#2J-82ayK( zlTg>F{JHlN{y!3eKiO6Dcs~2Q%Aa^F{RjEuDKq3xLTtz%N8N&Dj6YlLxXp33{Q35X z@co~!|Jj$awE zA%EO`Y+sN+5wRhEVq!!7q{N2&$%zg56Sw??`v;#?{`gj(I78!4Mr>&O$;aah$e)KgJV`IWjLf1*e5 zA2j~tY->aQq!06c0r}&oYsjC3x`tjFcQjpo;kc)3`SaoP;r{#Yr9WF-R(t$$-+bc? z^Cy0T>xa*MQ&61$bZ*JLyl)ERPfoc}`SaX-?$6Dy{E6EwaEAOzi4FOa6C3i!w_m{j z8!V{&iHHsPlMoy7CnGlGPqxO_d_Vo`%AaJ-uX#Sq*Ofnht*`li=CAAhnKYmOAD&FLHKgLL zwP1fh<~D}iF|i?kQes2?G{~QX*pNSNYsx|XM3*!Efc#0P z;1kH7gt~_O@d@u=(D;)tWV`|SlYCGALH{f8_T#eyse-=&K=r zB4R`SBzw|6$RGDN`UCRE?L`{oPeN?SAGbH3=^Mx&-nnCpP3yOkG1Sd828+-M;&8Eq^9mR*pYu>p%A= z!X2YHe&J8PD*F?P+xd|AUTS{y^pj`IA1w`hfh2R>5zOKRMglkUwb~ z>Vy1o)HUQ!LR~{Id86qzJDszrmOs;jKfcYM`;+31QH($Da{YO2(ol>)_!D<#`~dmm z*1-pmKgk;O59CjNI{O>sj~~wV0r?XX8}cV5Hsnu6Y{(xsg5`nyiHHlr{flfbwl&C~ zWN-Qd^2hIkDo=5*c{$y(rgZzotq#Wdrr_7K)39%u69CZtVK=MY@QCqH7^Z8@T zZCO{$k^e9LWVmA#;}8C1T}eYR{%p(f3s(&J>3+rp4P8L=UM+&TCF z@+TrTQkU#EZ+6Va)Uq$~w{^Zm(1izn z*Zlv%?KTSj^eFv#0H4<4uXSig&rfg@o7Ne{`129t&-qR3jN5S{2|Vu^5<>JLH@+2HK{Y?Pjp3- zI-~N3x*5nHKaKSP`4i9K{Rr~My-)u^{$#|4{PEN^VdTBnvjU4Lj?%#r^u{v^0#6ywi_EAm^8>@P5X;-k6#d_CI( z|}V*pNRdu_1plVnhD8U+@v+Pefc0&Y#n5@B`#e z{1@KuAb;Gp_yqDNrLTtk@fL&piGHPhkUtr*A%C*pNrU`}{-8d{pN!a$KT(3;Ab+xP zxB>DfTFm?)f8tfyJ|KVG_w0X=Kk2vhALLK`9X^5l$%qa46H(V#*7y^x{n25y{Au@M zIDT#M=i^U?J4P}7;7@ut`xA=s2Y=!_Ss#!;ZXEj)@> z5wRhE5@JLCq{N2&$%zg5<6AeYGc^9h{qP0kkKdE`FUX&a*pNT@4~#b;e_~=o{`i$? zALLI;Y{;K<71AJod|T>+{7H$8%AfP_2joxsD87UI@$Hx&Ab)aVL;m=#Y%h>MF|i?k5@JLCWWc6W1|6$RAIcA%7BLL;g7G76gHG-mK|S zi}!!HmOq`Y597}!mlf`vvGdZ;KRo_p?ziv0GWQnS))}`QN42NhaBrb)oiXb&9#cqp z6t%50Chx=g@47P29&B4@OlVflpYBW=<}!cr`+B`;&*(<|Jyzy(DDA=g(0;x}+d5-Q zR>0cxyHFQyZBwQr<~8QO5&E+^^TYTqWqH0m^TXDg^ZuZ}ZmYI+#(T$?<;iYs>x^k@ zmFcW6^TXYteb0Q`!Hd2mOKTTGesgxQ&apVg2B1>f828nAez1e{+`ad$K*CgKh8o zdH=HQjl8ZA--BC$@Ai_09&hq|ynZY5+hUZ#=>5v}Qu=DVu(*64UbYeSLF3PpA<%Ti zK8Lhj^7p$3yfLY$d;3ky|5|g+#xv8eDDvBe98ISmSY|8;OXxLxP!Z{OkkvrPR)dRt zzxpx7RG;G_)$eZ`*trg2hQ1B*JBIxA?hWmS`s}vi)xAM}r;y*jK|8C5{96w$+e!B< zm+M3Rx}l$OXdjJ>*WC^3cMtg|e^$1Ww>Yinf3J|=L+ksuvi&IJ-*80O4k5p9$e-D( z%uh!RDcb2D@;_~me{{&dbj>4+dg^Bq^1oO8)5>-(4Eb*BvVGN0L;j~PEWI7Zh5Yr8 z3i(aT{WU)1YrnM!>C^Uje4|$Ue)mtm-(B|m)k($lt6h1X;sKkvzjpe2kxs^!{*tU&wYV?N#>2hyA7H&s?X$@13v8a$B~pegl2Qk-V=? zS)oeb@G~tw->OPq`w!}`P+vdUo99CAxnfoR@Vuql@7T6+Rc61F+-306&l$ap`7K|s z^;kK@Hf>LTmP|i)=+f!+r!1Xz=Pupe6^|^PexX7CZf>yr=?%(TH)wA%&m~>5KjYXw z$%^f&yf1EFy4*8=v{HTfZ4LVKNQ3mk2J`Fvq3Kl%+qJauXX-`e{%sw8|NXc<8aaR1 zrtZ8=jxIdN99CG>GYI0mQHv0ZRzxE>f1Q2`DapJu}yEZ_LuPSQ|f0s*8BKvgXQ^oOPBvf zdAvmXpDfY7o4ctS_;|e^e#7qWv99&$xMg>D@2BA{^lxqI#-CT;UN&)4*Zi^ibn?Qc?$O=r({9!7?u{kdOSkLpo>`;5 zJbi9cj=}Z)@hf(B$1Slww*9UP`&rY?_j#t{lE<(9?@cQ9Z{5R<_?@Xu+?7+x{q7#C zef+wT?;YAp$FF!sIsW8xPG8EO7auL#$p@F?y!`3e;_#wgvU7Q!rSb8Xcgp%vkKsjm zhjKCe^i^43<8Zf-zv_==edVto^7{-a>*xK-&ormZ!V8tmxp|L zqv?Lru6nkXKMSWcaqg^DDu1FU{=YxA3FX!QtNwIbxfH2Gm>zZNxQCYXXYv=53P1af zZN&eztjDug!uw)EZGWQcit5$)vvTl1>Q{~%L0h-O;PQRpwr?=bJXPlFyr@H%Vg1mK z_LmR&&+J{+&%=3?#-B+cKly!h(IJf|FE+>@(4uVU!-1ilhmI}kC#}o;6Xt~eJY42q z81nms{zre5?Oz`9TkKQTcmEt(w3CJWqr&kzpLt@DKRM(t*SOrCI&YsE@>`!+wxjWL zM#x_^wC`Un$L&1i_rE37Ke;?lUJ&wM(e~+hYO&lFVLwl4kl#AwH-5ToNBxl(!^3t^ zz7O@o=5v~^HSC=mYJGlxqEoSWo&`0c2nIIgyu!7w?tfjf3h%{1d>)KeEojA05kz;j zaye-ux{2o@UPa~(s}>y20`q2k{v>U@aRTQNUE1<2!}bLy^R?G}ZPL$?hGT~|a?v_% zT~4{t<3*O=aaEor*uJ1!)X1fzUSAC_`|Cerd&6AXv;HQZm;6S5 zt$+SQ%3;hsl+!;yk2EanC9gDHca_V}tmRk#Tgn!)Ib&&yPrThCv7a=o$b@RjZ5bDDcJox)@S*4 z+z+7~KI6R4t5 zQ!s$`lPySpOBxnYZt3JZ+J{9f&(dyTpMnc$&wigE`=L)kYX(m1zx$bTIFk0P|0%I? z5^1*!{rQFdz&WI2`s;qBK3u{2XQVS?<6_GF`fXkO8~uUnN!#|!h>gZ;a({^R@qe(s zaF>ATj@^~!$fv+0WU)&&V zPSkqID@}Jfd0Nf?AG>XPuFvuED~&4rx^JgO_~k3VzFna)-*e&p|H^Fzx}TqsHj4Wp zJU=|z_Vxn1p6yAyZTLV5x}Kdymd>-zSQR z4PDPpi49%P&WH_N&vyOp;`_1nzXu)>7qI_}|EJ&iQs+R|vom5t*R$i^mpY@mo=sn4 zsIF&kcoEn1E~>sy6zxg-pzGNgv7zhPS%1=?>)Fv>)CXP9&WH_N&-O2lWjl^_iD%!~ z^~b?i7wCF+v^Vp^`nTd^(#l0cuP>;sXK!+m%b>cRy)pfVEvTPAh|iQ6)%9%R1gh)V z)OE%(Uh+!Q7k_+baINv{4}K5DUa2oXr*&%69J?A-em&KO{`6xs8?$ynwZ5biX!0@R z{k9xmUg%OV`YsNzq?2#D6vSth>GZcQe4o6FYjQu!qdb4POF^sKxByN%YQA>Cl^x3V z;znybW6{lgexTef?ox0}yK;WFCH;YiT9xHdcjkxPT9xf3edr&|`=qXzKVFOWVAKcY z{MnQ)&e&-8a(QkQ+JlSN5B=S4ZI{A>AgZAM12SfiC zb#XDg5&D-dM|*JDnPqvl_1ez3IrJz0j_mjQUC-^QJE0?UIBw-4LnHMR#l z7?u~cranvv^=%$|y%@^N)Z)dLo>=tVn{&U2*ciw9Tl>-6lM1e~_F12VwDIeeXm}RK&krbvmX7lY z$}?iaUBvkU9~SZt=`VETtsC3%`D4mK@85VH{e!7td*{T)terStVZ2H{p)TCa^5YwL z|9wi^(23>wJ6CiOvGL@QOCKNSzrA$28}+UK@^2jNDYmIOQR^kIG`;oY(I3_FYtgL; z#LGW_W#QLhZ`%1+yM zgQyS3Jj(o+vONcmF8J^u&aX*l2ahfo^%=+G%P2pDa`^kmMn!pY*l3=YHrg$qetZw# zhaxuC-JkuvBR<5WVHEw#FXKFPFw2MCzG5}#PfTn~7)O2Pj}E6laQYy8BJGZ#K8$1j z;(Y8#(y*B2MI+nrn`X=pXV9O-`gaulgDu}-e$v^oEFV5&0~g1y6X-AO+L+}re{v#e zIEMX~+4dXC@?q{njrpD86`enY?FY~9$o3|koJoCnk?kAtp)@{^<--mvFD0Fh8C|gY zUW|WNwC1-am>(wD_(1zPv2l)VZ_3@JtPgaj{*u0&!1h@(eL3s5Wctnq=~`}Cp1jhu zXPcXA{(fukrwXljR@ay!Se9Q|W40&AudE4akY5q8QTavP2;^7%;V5Uwul)T{d>$I* zhXtEBR#y@+)r6_6PZutweu7e&sFM-XOnH+A`!<(v1BH z@+;kp<%9f+7LRg<{E9bcc~JQ^pZz8mt(ZOZDGZmFpWvaXe;OMt(^h=RJ%ESJECFd!OUEqKqGx(I05TP;18{ zPhI0();ha{^T8{a7dB>bwmvEAXV~q3OXoLJ4u^3lviaRbJqwQBkL6#&cs-W(VKeUE zr`*@^loznPVtbK};AeJ-m8Zl;&TXvtSH3SsUk#n#JNjlcU5?|eeLlW~^@TepF&@%i zjX5LNDEpsLW^DFdIX*?#vOM_i)5b-ARe#M3%l;_cgY9qqSNcNQv;KPeVl3+=uQdJ3 zXZwFu%df}AmB+`V_sGJpnbXa$|M~ebI^iB?=<}l|HnK5|iqDrZu~B?K%CE#Wyr;lE zPo|{f!IXnOPr4)T;dpdU^?5R#K91j;9#?&yOwPK8>rD65|9=W`2Ks)KJDd4IpC=@0fIdIw zGx+^n(C5eGJ^Bm!{1{PY=<{PrZ0Pf&r>?QAm%P%{?RxxxT7J0;3awm}oLvO(KC$%p zbB9*^PteGBFXU9ZiEjbBcrd}{`gtxhR8()zbH;}>beuIFYgNcSWS ztw|?bAI*r3-=C$N`Z=*7KjL2W4>qO05nsZJHzp0*pDAUA{hn(vK5fmsu-ru6?_7V* ziH$p-DAUn4tRLw5Y)))U;QZemK>zW!~UXum2dez?JqH2t&lE#{&m(vwBM(Gd|Z}a9ZGGS zrqADg&JIi7|8dh8Xn9S3kk1d@H>jFP-l={6$F7U<1;6V4Pn+LPFXqo*F7HdIfmiN4 zsmRavDent$xw3ej@9Zd~TG%Zk@eVYzu|r$xyBJoI1nTZjA)Utyf&I$4(A?UJUq zht}&STArpa_U!h_l76+AS^Bkr)yywgh2I7mT(q3OTidUkdRAdUSbq1njwm8+KP}l` zKB#Qx`|^7;8b6==ciFyMoD}7)!wh>*FYBwFZXy5VGt2tQUq9r}S@G~<{-|xa|27Kw zI~-WHae2ycizx^H4wCsT|Lfkl*R?vi&S9_qveZ;@hyk zN%=k)AM(3}?I2H|4EgJXc9bt4SKPi_uQ=RKoe}Eqve(kvArJZP{iX9i4EdKe*lr(% z{KtP@dOLp{@;i(!^P_g<_WV5LZ-4&M<6y|HCP@{QL9-Vo9An?#>;FvIukL?LD)z&u zpBXI&MpYEalfd`h$%|rcOA%BO^e$=~c zKMMKXZYtYJLw?_oe^>b4j@zZI-#_FhL(BSE$R7~$&;G8=_kGIxamZhzefhpjLjKVq z|6>>W8S;mQ{99HH@29?HJHtbM!f`P9m96;IFrH&K%=P+-^Wa-J?pwO;Fn8(8>{rt9 z*TeXnILtk`5udB5pMNuq=U5DL%|B`4GRm_B!(7yEn0xre#zi{)b{Nlz80P-D#BnxS zmAnQo?N?2o{(01Mwa&llUMy$Kk1fX=yT9ETkLY>v(*5mpNIPd#=R?P~i%+e z25Hd!WPfHmXXyTMLTps$BPVkY5+c9!`{W}wpw1O+`U2-Gc7CJ0cHw+S=^5PLwKzMA z<-=y*Fs^g{tMV^bD$DZ`-2a6kte@SVk1ygHD~x3WE!qBf-o`es|7UxC@0a`A;eK&^ zF89~rP3l|wIqPEB{pi$jJ?=P`57Tz#4OmC|c+&7O>DbaIkOsRSogLhf-(n^W8`6Gs zNJoB?o$Uo%lg>ydC$YWYzhV8fKG$&CX7}$M+uo>kKRf*g*8_)B4&SkSe+Ku~N3gA- zZa2<{NhklHeX#r6ag(-u7n1dXJ}lq*?@nWW*pIaJ-dxr%ZAd>s8rI%GZ}f-b z!@<;t6TGE7JeU|#ro$Y1i(Icz#yvWtv8Ct&w zXdl{y{>OK%?u^aKX(B2;SavwVd>-omJh28E7R$@tUD|S+cP_i<-r}O zY4!EmkLBCviS%CTgI+qX|0!fNx$DW+OP+rn{nn&HtYhr^1arE(fyamA*9YbCQKo7- zkb3rN!RI}D{dD%AB17j#WiI(&m-#wxmfz9HGGFKYKFqND4drsv)64VlZXy44^=FUr zyoSwCy!5@Y^riAVHVXM`hwq8`MP+{fkgxA$B}2;dzBuGRbxheGe`k5bzcA#Vx^L)z zRGuGS9`a8duyp=)A;0lAWxlpU8uAA|81kEy=W*jgeoNJFUG{Tw$RGS#Szq6?ni2Bv z3I8vk?Usl9hTjMKJmkL_zR#w1wEsJX<@#`b=gQsb7MxTrSNS^c@Bez(FQLB9`@>@X z$MySvUNhO%IzCR`uUt^P*VrPk?)XbPl%1SqZ$9V zW4wNo`q1Pq+T;Fq{KlaL>pfBD{Bd@@m2zlBxxK%W7nmP>Kh8t={+5507*-4OM{lt_ z=(0cKJ?(kgHvVSIUxD+GYYr{wL;vjfm(sQ|g7TE>nmdPc7@+r4yhSw9-Y1XD5$RAf5wGKn9uts`I7rHuRd0w?}Pd6p5%KKPgd9OV`4+s?^9w!*Y9&;L)Y)! z_H0?u_4|m}(DnO-*wFR+xa;Fw|9!l=e(%?NoabLXUR}S>hz(u8&*-nA>$4HDq3id_ zUuhq7{oY0N2Xy`3?MNDQ{XQW!bp77#L^CpP4l?@fO}ez{HAU$CZaZ@b=4Y*gPj?2dmRzw)VU ze~@1>u_3?wF0>EwDzx-~@5Aw_P z}wYZSYMD|DP@NI%D-ZLL4NrmEDz*YOl-)n zl-Q78Ik6$X+_Cfz^qQO(ZI)@A-{5BLw;rS)sSBiu_3>b<7gk` zmph*Rfc$bNk_P#e5F7H#4W%3^zpi2Vpz$ky7vDjCCDb+KS9%`D50GE}8~O_JE1OUM zL4GA);}2Bh7jX{qE2gfYm%P&S(3Re8TFb9N9n0fmdc&XlmEevczhYuTex<}lF@AA; zOqx+2%q9*K1kY71vhWv8h(|3?x8QaQ`Uv3!N8{}6+Y{;*K*pOc-u_3>5VncrU zlkgYhS9S#B709pTNcJVjFaLLrPawbY@7VqzzhYuTe)*GWALLg`Y{;+lRMH^7{Att& z`IQnI@+-TZ{(<~TW)p+_@~1OD$glW1jvpYuqDA-*@+)Us8}ch%$oK{F%Td>mUkP;$ zz2udqhxhNZRxQ7Vd|LYD)6%ckwy%BumGpUv?;Af=?-y|lm0!du6n;Iz_xIL$s-QUk z+MC}8>P%gbUoqu|{K{Wu|3l^1`P7F47I8lJBA<6IpgpMkB95T)i#UPGFX9xsGkzllGzVi#UbK zuZu`S<=4g3hsrPF6y#TO(F9lE%k_y~pWuwjuS=L84)QC$6u&{^SNt|f4fz#aI+69S_bZx;{~*6|wzVO@(l;3|L4G;v8uBZl zuA!H_(zNSuYphnwue%=$=l8Fb3n~PHp2MjhfL#qZ(8M7PHf1p?(zJ7nlTNMW*D))G@#~$^uRf$}U7v`znB@$OUlFk( zzY=1@{L1b3r#G8bV1A{OIse*(`XIkz$_@Dy{V>xR8o$z=XYu)OR^?YtY{)O)dlsMn zW>tR0#D@GzhzX8SDMb~yWGH9e(m~O=~uMN$U2*M;0LwGuY9@Ltl#X) zuZ*}L93PYAXFFrk{*9fV$oUenQH*E&UUmLE+XssCvDf&1>#z6&@-6y<{R#3dJ_ui+ z^3BiYd$9GtSDh0Zm2aJAI}aMqVq&B6jW~hIH{uK`-@4FWkZ<|P^cUn?dJ6po`4*i@ ze?h)Q^wp@wvjf?;Q2Dkt?L*}oaRQZZ>yn1bx31KO$~WQ!-u_2$Fd!O}szw#*}Hsn)6Y*aqo$NW(FbU*Dw<zar`yddVwIFX{bO&EKCn<&g4*b()ucb;=soJU;r}KH&P@2bEur z*pOclu~8f!`F-NJ&j$sCU$eNr+MD@7er1#!@+*3Ot}`mX4x&C(ei6q|`9+*UglG;>7ZF{`LJ_&KK){pExHr_M%KF*%&QmFhonD(La z>k#?_m0yREhRQGE1S-E`%0YhRf6yP0U(rhR9V)-5n}GcCo3i~tekF667vz_pL;pd3 z<-~^kil}SIuZ;CI^paPa{D2KwY^;+`3wF?R=zbMNgZzqqUEmD)l@J^9Di zHsn`KY{;*a*pOdt5c7k^uZ-A`U-4k(2l?gbtD*5L*@gar{7QePeUM-N59)&a^6pz_ z$gh;xkYB!za;W?|Yk|u_e#IBiACO-ubq)EI-o)}je#N^|ALN(oOaDQBWyFU3^3*lt zSIW8?ddVwId++#0&F7o+e6IA%H~w?KqW`ilKz?~*Lw?1?Msa*Jzdj-j=2zMczjEqB znY>|2mu z$rZ#Pzg!3A2l*9GWc!2sO7^2Z$S=Py{RjD#6C3g?qOKvoGS=77OI~R@Iohd3t?}!v zZo#i+rC&RpTYLO+(f8b+{l4-m|Lgb8kYAoMqZq&5;`-O}{Qe>oer?#2FOD%k$gh+# zLw;r3vj0JT`2%SWLw+UH zHRM-*z<17&U+%B?2l6Z3j`l!)#oP1#1o@Q_8}cinuA!H_(zNRfKi*Z#uc?=nex=L* zxnI%F>?R-ex<~Q{E8ZV=M4Gfw*8Lhw$%IO?_hqAU(qMj2lihWzr>HT05Knhret#-tx6;38+p zub9}7Un#Ls`1KB-ANS?P3>1F#;`!x!Q5WP_Oqn6S^3N7JLw+U4uso1o8L=V1+z{Fa z`4tfx@+&4bHhKetASOG=AmOHRM;kIrD@3^8cl;AiuKD z=|9M?8R{Qvv@7t)(kY5>b zf$k6O*Qm}xaeSQ1`B%3_bw=UWp`3qpZN%?U)c-zQMwubM{K&=5*iH8fPhfcrB^er3dl{K`%y4e~2Gh58`BGGe3hYZ%K1`Q^sbKagM1smu@Z%O6x%XUMO3 z^kV)Wd~xNM8%6&?er3dl#xGA@Lw=>KtD%>?()5bMKAcd?ug4dK^REs5+^-aO4EdE1 z8ydedi=i05@GFZ*L*ZAihWyHj4UJ#fR<6#FUrA5)CCD$|%heh3E26K4{K{@+|3Ec8<>J0gn-hm&W@hiHW{)7B- zlo|3XCN|_(&bk_U$tz7SxS{FtwfuVK=y3mW!$0>c-kEAiv`A_yqDRBR1q$L|sEKd8O%? zKL2{MmS10o@hji>&;9ZTuzx^)IbuV8MZ`uie&Ltji~3-GrGxqXxjorlAiomI4EdEj z#qkB?SNsgy3*=WyY{;*i*pOfTKP(UAS43>cuY}l;Um39>zw&(@$Nzf2(*4+fAitvh z89zXN#q`yXU-?Ad-ypxTXK5egSCp|VkYCYrq(OdV#D@Heo~In-7thIKJg@gF`v~7a zer41(oAY~s%?rQs6F9%$nz|srV#*Bp zmF~^&iGlpe&uLy~$SMKa zE1KAh-y>~S`4yed{2;&bmTW(eU-`bxc>gr3eqSuvhqgd|MU)xxDGvrtP@^W>C{PL6;#qn_-$H$43fsJ4BX&fJ) zT&~WLU;ZiTgZy%{*#98E(!R^r8S*P9HsqJzb@@6&e#OLw{7Q%o`IQkH^2_bEe4U~3 zE7`RL^;=YaMZ2}AGc&!W&U-1s5Upq{!{r#MD9{U^QS3+#augqd7{Q8XVN6(=g%&&ZSOBc;% zUxNI~DKq4kAB->lezQ@{2fu%CFx@L*>`+)Q8G1;sh$cE}|SNzpkUd zQ2F%-p4T+A>2}5^8Y>W7*hT}rkgO- z8N2cv4gIgVO%Hpik#oP)KTq~w42w(7KVr*rd79@`>KD%kn>dv7o1yO1j%E9Pm!bTB z&QNy@%eT7G@S$8E9P0Y;076U0XVE`6D5Tv#=npJBtStA}Ge3N+^&3KcSm$Er{O3GB zHyK)RFWbl3%g!Il_q8eirA+5H(;ryK{KfNzPo+ILmHxzc@c*=1uspb%^(*?b741Wd znDwDN-ib6^5Z2eNM16R>9out>=V#33t4?Cf7&pY!H0{R7X7h4*=s+Z_h!@d?P2`?&@gwnrRgdMHoLCY_;u+|<@Jedg|UTbi+5?Z)b-U{eqsGidNgFLbW&2Z}5*z$fhRgS1eq!U&k?fCCng0gnhq^aP zUt?n9K9+C(rNqX*Jipu0Ik7Pzl=~Z*AN2gonAmtp^Ao2qey6g%oY*+}FJ;=_#Qd;Z zr?7nD7+$4+#qx<$SZCkz{g4wI12q55%n#G3Z{PQiiH&cTBYigOOKc3KeoWfmLVcKP z>rXl+HvWDPY1>}JhCSakXZz&D#^qbnAL=LRCIwqlKcze)Z9LhT<^6;6-&;2+c#+>h z%SUj(jFHQYM<@dz&|J#2JzlW3l^@5^)sP4Aw zKDbEh|CU>af{iDH{IyOk$~%PoT^rQ*A%EKj^}B`q{TkHo9`bi@P`_8mAJm|J6!H&h zP`_`;KfXcz{vrRE2K5Jo{1FZ6$02`sgZf8@{PP;r9~$y6Xi$H6$iJdN{UqdH)1dx^ zA^)ZZ^)CDT42PAc~E z+t)O9>06t*4Q7{qMeCG)Ng7QzxTuL+ljoLq3+)d6plm1YT#kEM?q1w4vEx~^(g>HW zIKr*Fd`Pz>P2P+y<#^y*jc_S>7w%uCUF#7%muiH&f^P0o zZG6c|M;+)Nd4F*Dw)T8S`bXY)`kNfe^C~(~pS-(Q=6Oo(`TyHB=+EjSs^>>1YtcS* zK^U7q@uXou*dB3b<|n;?=S>ycrwhxoJlZdow>HZo&wlQ}`tR0ZdyqFaWqAjaUYGSD z?^M=5wRBg?$(!;CD|`s+OFD+f=wD1aTaW%h9oy5!Q@1|#yNxLBH|0E^BHn;yTb?h= zqYdc~c_Tk$`KMBU6UsIo;lAC*KA+V;&qDk8^AO}=y4Sl;zO>}?C;ER>`gPA{ja~c` z2l4PqyVf4R?02i}rSa?i&krxu%f|gf3Kr#`h3CxZIS?(1T+ZjVE8h>wm-kbHr^=VV zb2eMLey`BZHwOlofefVAAEadOlAb)bm9}~8->Q4>%NrU_uA%B-cm);I}$k*h$u-D6{#__MIg7PbYp= z<|lT-%S-!dx%-#S*LH8C{6os)|L0-3O@1u$ym7-Ox^h=OVRkesnRX*0)1w=i=x8zEpm`$+d|IrC$ zem1t;Fa1OQT3?m#2bMSC&r z!7HJC^|$%I%KGtjo%ny|PHyE@%lhfyPJB-5Zqhw~MypKZwYg=_TYn$hg;bmDbMS(HtZEN`yUf|r|E%%9(cKyfA;*j;uW4dXV01I;+j|f zUAIyAe0*DHK3{Zp$L!Ae!Hzs1oY)xo72B8Neblc@!EtAh=J(iQ(#C0)ewOscq~Tij zhdmF=|F?6&T%JE=<-S9gg44L(ZqG+gckNQJ=`H2|_mb^a>Aq{AI~$ivS@AA2O94GbL@Tq*Aq1V zgM4L5u}uerjr1#)54ygQ%xC$a>l^XcEFY@t8{e>e(DjXI0cp_njrd#YgRXDH-;svu z`o{Ovhb{R$6`#ZYAvTuvl6RV3()Grg*KfZb6IvL0b}cjBnT%Ws?<40f0q5A!{f&DqI^sj!uEg8_?8TZ)ZhG;LN zzs6CV(H7Uoy3!xe@4MxP_IF0{`);g{-;DO)UVGe!^^bXtGgx2izh94XxSIBD{rwiC z;X&&!<4e?s{(^qbE#H#%VI1=p{pn19;KiBL|Fkv#t4cZCatz}W?WL@{F_HG7u{?ir z4cdduJ|9!xugUUY9{VRJ?L6B9?DybO>ieFQ!=*O=XRJSEMn|gJ_?ocp1-|TWwln20 zHSEu&^1ul9kKxGiO^E%X-N>O*yOizwyGA;LM~;@q%ez@V$mg8c(D<2+V}8*1nchSD&?2;#+)IC83zl#FkN?g3 zLua<9XZ=L`2`emj5EJlBjVkIzc~-}*QI&SU>s%fA~2 z*&7}QZW>i*Q+vM8lE>d~SK#^z=W}`QrwVj`G$UO=f2=&&<*9<||I0}`u=}O{QO1w9 zPZbpRhz0yu~2@B4We*OL-n+x*h&N;om-te}BObkbiD_+5`EQ z%whk5?$;-`v;9H-WyFU3b9XR5$iIl#kbg0;A^%chL;mH&hWty8WdFjNwm*0tWAu0S zFUY@~*pPoQeKq7?{yxvw0r{8TN&6uG;=AY%$iH|TX^?+8u_6EBdngC_=Wm?A{XF^@ z{L8KgJdnlaHC@-O=Uzd-)QbLl_GKTnw<{}N(D{yFLv{9pR_+NYP@Sc$|sQkNyG*tc(=TP~VQV#Mj z{*nHG{PUeAaSvruy?@lrLH@auCUO01QsrOTi}eHf7xkq7Apaa?hWv|(4f&U|uEw%n z8uv8) z2l*FnHPsoK|H3J(5ArX(gmTdQm-S$MkbiMVTOj{J$_)9J5F7F@psrEhL*8k5@ap?q zRoDDC#6Ga(5&V1Q{$=A|bcXy(iF0)RcRs#>{By)cKL0(*_Z3ExhTOl?xF5_g)(80) zQD(@$XaLVQkbmiC)Cc+JX44+XzmV9Fe=)Hk{}N(D{$<35{0rvbGid$`-(&ni{<-&4 zeviG%zl7M3e<6J}#sUqWoizhoY1kblAF)Cc*O5F7F@X+G5%@-I1v zG|0c;3)Tnum;Ql!hW|c!GLZg*{0mQ@{~-SyWrqBVhzF{M+y)7lHf>&ZZpXUqo!kzl7M3e;KhM|6DxH8S*bAHsoJSY{e=^ImdB=^uR!q4aNqms|?+FRrA0kbmwR`UCRMol6?zUrcPsKX)GGApfEc zFFT|3FM65d@p9>3OkG3%C9^4q(!Y(_KPdg%i2g(AA7u_o|A-?f{bOG6{7+>hmw|!~THgzlhk7e?edT0Qr|tX5{nV)4cy!pETtDjp6;r zx~vcK&uzf?g66+u3&scJUw92}fc%Sz4f&T68}iRxOM4*y0%Ak{MZ|{uONb5mmtDd5 zg8WOaq(314!mBu5Apc_eYRErFY{h_ck_P#g5F7F@xQTL*e{mPw zGXh?_c>kN7_;QZszl6Gm{EL63F37*E4f_Z3FW!>=gZv9AGvr@FY{d*ydy4lTJK+!H{+-SHkFJ!1{7We_%ZQEAzdi5|%e>#O@-Ldf`XK+( z!MJDiY>;1{O!s@q8S*dMm;QtN3n(+>UrcPsKS$l1dIXerTHZCf!}PlRd)B}INFH6e zf5|}n0{Isc8}ct4#IXbUms%O*^B?}jhf*KRzwF%RE zApa6#L;hvNhWrZ_;TOoikl2uaF|i^4Qes2?g{yHqLH@bbUv`H4ONb5m7t&Wl{-pys zz99e7?`R+7U-&)S0{IvIKpNy9`a7h7heA5pt}6K`LW{r2iePof9pKl$kp}v zNBY2fd_MGE>0d%@$iL{p_naaBGRh3|FMEN%54e;xkRpqO=o?Of5B_-IYa(M#D@G!hznrQ6J=AN^Ho#bl^<}@A zTrrdT?anOy3*TmakblviGo2y-vQOT1hWv{^rvD)SLdp#Jmk=BBFQBeb-$UMM`DL=% zrgizZ_KOYjCbD-5|6abhp6ky)%yJ2o^B-{x@-JLGi|6O8(!bQoAop)7?|&DNhTOlG zoAa4E>x29Y7S7`PAhW9c8^-oP{-w=6c82_O%|GVvtv)XO3yBT+7ZV%uFCjMMUq)=m zzhI4zxgR%e$iH#3Tn3u|l5^<~X#NY&V}GIakG{rG`bX?Q{sn8&KFGg>*pPooOVS|! zg0-j*@-HDanqa8=C)I3)%5kbeoWq4_T(HsoJ0oc2Nf zg~W#Zi-`^Sml7ND&uz%|LH?!0hWv{*qCX)2vNhR0$iIl#kbmh2)(80)j$~UP|H9Kr zgZxX04fz+2q8v*9+R{GAKerwI1^Jg!*N}hdE~E|r`WvoAdm#TZ#@dj7NlV5TS#xzvySy2l?l&X8b_@r9CZPQu-I|PJNJn0cD2#i-`^S=ct=g zkAU({%W>nftSkbmi} zq(T0Lf2Tgkzm(XJf7wH`x!%M!gW~l!dU3Whx29Y8ZcfU|FSWx51Rkt(X<8f zFQm+ne+jW6{{re7^*!XBmOGw!;k>&18`QS&FPc~Q_h($Uf7#40oFV^G;v9Yc_TCpR z2KncR4f8L0jrYHODTjRio6Y;*-e2U%zl<_N{<%BmIz#hc_#^c}{>8+G{7Z=q`R9IO z`yl@UVnhB##D@G!h>ddo+cD$&4_WD7uv5nOJG0Wil-Q7e+3nn)ALL&|Y{h{4k_P#g5F7F@SV}p_zqH9bXO#Z!H_t^N{}SpNrGNA1xd7x}c-LHK$iIxS zHsoJ&=Ul!YG`IB6QP+@vF?Egl9`a7h9d3N0&hP)}`v<}2EB7yXpZx*(7ZV%h{PzLJ z4&+~IWsuK*)4Be9D(gc&|IKU8y-7L#AphJjd;$3vKhFMv{7agC=?wXo5gYO^SnW$^ z$iIl#kbg0;A^%chL;ktdzvTMLm!*Hfk@yCh|1x4jufOq88TYTQ@-L#VhWyJO<9LGn zbIoWUgLoVpuE%afi;f{>YD#ndC9;3{c7d@r61xG z$iIZxkbluf_yqDVqs++XKl}?O^8AI|zXhECT|zm?znC&Z{zdOI9w7hRR*WaezmV9F ze=)Hk|59Q@{$<35{0rLRE6Bfy*wFkJUzTyd^D6(si5b7&SLI(uY-s)q>8m0C()T#N zApfFvv=8zxBR1q;whd{Jf6=zo2ltDhIm!(A7ZDrsFJoVg`X2I5%W;1^d|O@q-Th^wsP7@~wES(|86E2KZ_lF&|B{6(_b>bee?a~P#D@IK zhzN^HnKmo30A_ThLIeE&3SH$O-IC0ozu_k!n_{)OAjcZU3n=&Pam zFZ=jwXUIP{kM=?S#l(jEi@zWZ^3Q!qeUN`Ku_6DmO8N(y|I*v%^ZR-8OaI(gtPiDs zKT>XZ|I*LC=KGXim;Obc(tnVD0cD2#i-`^S=ct=gkAO{lzLtlrvBCLu`FH=Ojq{q> z;+6XsP2+fi=D(2Gkbmw~_7~(|Oqr3t{?6d~%cJ-L`TW;t4VO&DCy;;PW3&hI&;7>! zf&6nzXdmQXNNmWznAnhiDX}5{GGasi1;64e$iIl#kblwP^PM68f`83-hUUMN*pPqO zQhWpX7ZDrsFIr0bApbIAL;hvUNQ3-~mQx?(Uq)=mKR0o{Gvr^C(qGX07yZuqApgRi z>>J3xaQWB#UPhIF8Dnk8zhv3h&X9kOx`zCVscY2tkat?H(f;Q3>+)}_ql@`3`l;}5 zoym32f5DpH^7+xXrGJjtkbkMgApb&QBcK1?;Qa6NZ*p?~R$qfj=9?V(mr!n${8*b>EG~$E`rj(5er=arGLaJ zl>TkGkn5Y&@vpxTu_6EBZD}9mpKDKlK>oQ7q(T10#D@HH9VrL-7rjCIApgSe7CJ-z z#nd%Q|8`~kq4cjU^+B({8Dnjf{%y68@5?Q$@{hU>O8=-ELwyf1;-OK|E0t^y8hRa{RR2wh>d*y>Xm_-(;&a^zo1xgr1J zp6nlJ{)V{f9WNRuc6o9J$e3s{EPOW{~-SY$_&kaF|i^49CdT*5m4S~dB}%1JY1K5r~3IX z__grwmwM*Eu~_{<13W@y@0Dw`bS?QDE%A4`XK+@X|xaWFD5qRUp$I5$Uirl`XK*eVnhCA>n`H{ zf{RN3(w!D@J$zB=pBuyaQ2KX1<%aw_mFF*%{tc!7Q2Iw%0HuG#F_ivM*BSLZ+c4f|LuiO zApgRBX%FO|yOezc`R6X8eUN`4u_6CrVnhC=#D@IKhzh zi#Q%2|59Q@{$-co8_2(i*pPqGCA1InFC#YOUv?R3kbluc>Vy2thzQ{w0(drGLE^I|uSFjcFg`pQ~hjkbfbuA^&1xL;fYihWyKj4fz+G!~TK%bGNa5 zkbfz$A^)P=7xVdA)$b){|5)sd(m&z|`!9A0l>SlILFpfLW2o;T z@3g#WhwU$}%fIsTkN?3x*OTK7@-M?JL;fX{8S*b6HuBeBeh)U=g!+)b{^DP<5%od- zg`0BhLH-4YaV$apMU15({}N(D{$<35{0k|AkbmJNl!N?>mau)0e^KzG zGc^CD)HUQ^dL`}|{`EKd7wd!kbBEJ^kbfz$A^!sE8uBk;Uyb@6@=nXjub!#%{_-t8 zZ$iIxSHsoK@k^Kev=csGQznHp4 zeGhr3 zxd!*9U|o=Z5oJa>|8-`3LGxcWiuOSM1*170Apas_L;fYihWty34f*HB&>xV0A#sj> z|B)Wev4Tx+<1$g>wOo7*;|-esf@A3)$UjG44fz*ytPJ@VohkY^f&6o~&_2k&kl2uaF|i^4Qes2?WyFU33vOk5Apas_qn!Uv z<#>YpONP-OkbmKD<`0m6F?}`UpCdNpUzE^3$iIx(kbl|jq(S~gcTgYXUq)<{{#{Og zK>kIO@d@N#bSLYB{EHhgJ|O?H-Pk{nfAQaG3*=u&nIZoYVnhA~)HUjR$U7~c-EVN6 z??2{j>%afd*y!@q1V$|0Zs_Tcq*59TM3f8pM=5ArV! zdH#X?OYWpT$iIx(kbl8l^atc$L~O{vnAnhiDX}5{+}-#M@-H39_Cfx|r*V8h{spHq z{viJn`fA9(z+#Yp?jG6)`4{I1gPrGLrkzjHqJd+A>| z>UaJg!G~8_2(eGDH3a#76%5i+{-jltb>{L2Ga?JB~ldKldQ*gZxX@ z<9LJo%YI^eApe4&X&>ZYL~O{vgxHXODX}5{+%Ieo5ArW1HsoLYJ=-&a;`5K>?|(Q$ z{)Nj}ALL)O3F8CuFWUfrLH@<-(-z3TkTOI5CB%mO3#e<<_mFp54vX5>`S(Yit|zl<^?pZ`9^zsIN#xqk=a-y_tA(!a;?0py?Cl6?dD z7p=2``;D$B{Y!`q`IiwJ@-J9-g)`(|NNmWznAnhiDY2pXFPy^ogI<5#Q}hSqUqWoi zzibPRC&<5u*pPqedbAJnFI=B(f&2?MBn|Q}B{t+=xDn+b|J={?2jpM8?;p;Pe<^j1 z(!ZSusB6f-n7T%N4|%6$gE?mmtZV+;%g=w=mMix! zeudXNkbe=eA^(DD%ts*q63UEx{=+}_EPjFcmmI?T-=|m?lB@(3$!m{}N(D{-wV%J|O>+Lzw?S{smoFALL(r2*(fP zpW7aHK>j72=|9N7s0+^@kbfz$A^$?^8udNoot7tjKW6*7{9A2_|NNs<;otV->puTW z?rB(I$iJA_kbmL54J!=!ms%O*{$;%Xy^A#D^It#S|K7p+Ape598&(+dFC0dDApepl z**?g>jM&ip7ffM&kbe=eA^&1xL;j`2hWv9+HLNh?UvdW91Nj%7NqZpw+*s;^{0r!7 zj=q0-D(i#%b5Bzr{xkbf!rYy7wVUGdAZ-|O=4u2%m38#|86+p^!6uj})- zc(+w64EYxk8}cs*SFJGQUqYFY`^WErM_W@L%)e|f-+yUKeUN`CWk%`Wu8k`~kbl7; z)Cc(&5gYO^AvWY+Mr_DGcj&4WhWrbO4fz)n8>N3yHM6{BwuXACQ0U2+|<`Vq!!7xg#kD`Ik;?Tw%z+^fuBU|6=MIrGIZR zo>2O?8|y;p-{0vwl>QNCQ2IyR5K8~p*A)I+{~lfX=5}@Y_xR(*`;VyG%KZy_aBM*S z1;mE@%ZLs67ZDrz`QI13{&r;i!2FAb@cP@HbwU0`lo|3b?#cLo{BtL=KFGh2*pPoQ zu_6CbVnhCA#D@F}2Gf6#e-W`E|FVIMKghpi5I%wY3s2;Dfc%T-t0Dig-B};xUvv`f zgZ#^g4f&T1Ar0~`I)(Zm|1x4j{zX@^J&=FNJ@gOcUo@2ULH-4^=^MzubWdWCf6*Sa z2l6kV%#eREu_6B)b#v+wP_MgMzWDpb$Jgawk8K;~EhIY^{yoC$ab5FY`a;tRL;fYi zhWv}trWJ<#%P2GQ`Oki@{=B9YM(*EGey@I9(+WfWWt17Ee|O;%$iMhw)(82Q5*zZ* zebThTkbfbuA^##`L;fYihWyKj4fz)=#7~fa8L=V%;&135l>X7z2ulC%q&~>M>{HqY z`4@dge?b04b4Y{y%ZLs67tN&{HsoJKU85fToV?Sr`K^uiugkwaU;6JK{15(xFL7)@{sqK_{L6?9`4N^Ho#jM$KW!K$lO z81gS7HsoKjI`aw0zo=Q03Pb+6<{VFue~!Ky@-Kdx;|KCDYC`)U|1x4j{$;C?2Kg7Q zPJNJn8L=V%g5#Q081gT;kTl4@s2S^n{0l1>Uyy&%bNB=D&pk{3LH?!0hWrbtYskNZ zeKr1D|JL34=x%lS*Wwlb`n&7O=Rfxf&p(iV*~|C@@-LyxkbeQOkf8plT2lN4J z=?}<1cMZ=6kbhxo)(82Q1spGsf5}Vu1M)9?k^Y1HbCenKFCsSNU&g)~|E+(wZ+Tvw z-@hMpzW@AVx0U;sPNVN2{}N(D{zb3i7s$ViG9#b=@GpIcx{%L*{D^A&0Iv@q|AL3{ z5#(PsgZ%^fmv&+NLH@bz@dxBzNNmWznAnhi39%vnGGasi1v}s~X#PvL!7q@1@wOam zkbgmYjz7r1l)f7BFC;ePU(l8ILH;GghWtx*A`S8{=tg~ze+jW6|DpjrKS2JaH`8B` ze?fQF2l*Fu<@kX73*Mx!Apg?W=|9N7_zmW7kbfDmA^#%k8vm_-i|0LZbY1h`&KG$9 ze!e1aYsFqQfB)@PK4Q*Je(ImJ%kSB@2`e&2Y%n6L;3rw zL1hPLm|yn$t8tU|Ir{xocTNX>kDx>O`>PqTq2FIk$8~Uqet$JNm;Qi$e>Faj{(yde zH5yNUK)=5lo=<)cM6>J~M-(S6w?ZcGK+5Q+_Z?0ndQ2zev)odTi-(S6kH1xWY<4b$dwbY05_gAkY z4GaAKgx6Ca^!uw3$IozIH`->v$RT~(op4Hr;RAaQ?cbqm-);l8-=Rz2&VBoL9niPW zPTl+V*}iw@KHK;0w`0E@x_9f+wflg6{rc{-L)Wfdx{}$idzYO$ciFLfpMG7scG%aTR0R#FE`-_@9W$1`OrwkeX*Yt0XynhE2P5wn4fNv3u>Qk`_wI92|HFHqG_wEJLH}XHP8sIr*A}h&PQ7>N)2Dy$E`4|C zyW{qqy7t~_z<}P}yY0}g?~a}O?9^>Q-!6SR?bN+rr@lMv*mc16-Fo-!vQzKw13Go- zHh_#i{RaGhL$v-w{@*Ryo_YWNV$u5dA9CO+`E&a(dO8fR-s1mc+JZ*g9DVHnPHKP2 zGyH!iwUth43;$2m{&!mYfB5qLm#X&v!)dL?TZMKNMY4rohC5BVan&YGHc+MLGbto^DX-nH6JP7C#>r$YT5k#A|og+C%ZWx_Ri}^!%y^ED9SI2eE$9?<@xLT zc4keiSwHakr!K3R-_7S=bx_ft$hUK#&u?;S-@M(dSJD2#KL4VzzW#wl{vkg9yXHmx z$mbvG^KZVUf6;%Rf0)nT^L=06@7EDNe}3bBHR=!b`Cpvrx9j^e%IEj?(G4t z$REFUK7alz!)oNq%W1=l`svV#dHFuRelY0F8ujJt-OGx0lC8!U<-Y!iz>lBzZ=lb= z`x)Pk&zEN})v7Pg+CE#ee(c*B|Ilgq_JV&F&xZ*P~wUbXpe)a1+anXGXq{QIe$3l|iAxF_rO zFT5__Ecci$wsh|P#q&6R;{2k(cc9gQ-piLS&GS3?{9`*5?Wg?;AG-Pcj>i=Bqb0@o zhd%#=V~hOYlT-3`)=2%rDh?4q5xzxUbaKkxIiGQUY) zGRXH+?L>b3PVQHjJbj(df9?q1 zzW3vLpZ~)pMSk{3;X&f_C!JHXpHozSSk3&@=O_NSYrm%Z{Phkg>IX9l|KIWX4{Q7f z6yqts{IHe_9rt!Vr+3eOsm*^=ZZF#1=k=-i@jGXELw@I=i`(YY;`Jzgs_@Ti=Cs`A zqDF30x3LR-dzW-B#w-5km3cebaM$OG_BD>${y}_iD2i5h;mxC6eA8&xhNp$4<6B0% zl)PE3i|bs;t)pE=-h{*bb+KeL!Dx3m>FCteU3S}O7r>rR7v=7b(cGtJw7YV*3hr07 zrVH;J&EIv6c9oP{`^jCjM;@02U3LWb-MgFh;d;M*axdlgjCL3DF-=1I>3wVu?7CWJ z+q<9o@FxRd?YRfp-UFlEB>Ed4M|%&kJ@W2pS;6<8*K*k;*8lhD{JL8HyOEEuKC~WM ztRFl^{YOW;BQze5Galsqa79rbJu%uP?LR%*z4;Y8d@SSfEbWu`IQ@%AN6*ndc@>PO^)G#%^}((?X9HH}Z*Exs z1=b0Q@^C6Kd6n}hA4&a}s1J*GroGcvcPsou$6w3h*{qavi@F_SpU5qGIUpoC+ z_!pn*^|`U|DEb#a>&a>@{Hm|7(xBXiZR#F7F7#8|-SydGoRoectl+)`Yv$$Q{DyAX zOvYt!k+wRU&1d~)P4n{f@doZK>T6wFHW=p0be2@O?QUvNuAkh-n71js(>k+ldnXkA z$-Zjnu4KnmmMw4KeqD?21N!Ynw6_oItAAE+P{W4#^p}f$I<ZUh{aJHm_>`Y(L}5n&}N{)t^|ad=tMtjnNOhP%F0OwzbNS_5D$u?IzdU z-eCt8>F}gh&S+C>`<-j08~s{ydo63FKRc@^&-%6E_h4JOO>32JTPvNge_8LU=j*+U zclGq7TIJ8yDxWZ~=K8zR-|Fl4WB;nByE8tPjs~^L`GPl)Ha5wzt(?)VR{#E9YrOWZ zHNNfq{%U+vf4p2|6L>3kn6IDq!3WSo-f6k_7bAzP*`!H#&3^~Zn40_6dqbWtBlK#` z+Ea_yUq354ExX^piVJxCZRa=e@56iNMe&!#`v7fs4j;Fr<6F4kyv z8>^kw&_!pg<=hcW1n{?Sna4>-hYrj6cYns0`spFVauVM51n0MK@dv|lMg^pIU6XsK zvp&3jEzg~p*Ck@(L(+DC+wh}dIY%!n(kW@ibsy6n#OL{Pi{V1j zuGKo+3y(A`S)2BH;PPj*4_9u?_V48TH^jyR40y8YTKp|1XQQ!J6AMd3-#kQ0O z@=nXmAA97Wy8Qd)wnqFeSe1YAOLhBq{M(Ic__yHF!oTFT%X1I4-K#fkzK{iMexQDIAD>?yPkYeD&LelX=jynebLd}o8IwY9(y-qmx=(+C z8Rz6YbuaZ<-}R*&PVbFxq+?>^Ue=Fy;5@4z{ecy1FRWz$`m=pFgZ{+yFCIXB==vV( zlMV-s%dyW}&6jWpY1kKE64pVfrkcK&vIX}Oj&rgRkUhu;190$_b>1+>P zVSK}hj87%~fgWrxA)Q>n{=>!x@%nZ->5E9iROTDo-|%9#4`o<4VwUm?h)T;RNJRu`!XNgTFLLT#O_4axBg_L(}!Xgvb~h{ls^(Xw^z}AaCar|bt>J( z#}#RJ59Q>Yuz}w`=?L_Fg!Eqa2lRb}2uTv`4qjtc!7M%h>g;xlr+evXe#wVJ|!>W1IVZBCF+BG%3dZ7^2tr( zcpLusN3YTz$fs~R+XDF%yvF{5e9FJbGNa0;jM$J*>Fewt$fx8D`UmpKy~(ygK4ru? z-lyy>(jcGWxA7a~Q}Pb&fqV+zrN1DbqM7Uu?8$s1pKSTTevN9R+fAzS&C2ie=Z_ZK zWBXd=1KZTB@3nDM%O6_4aMtM+HvbKMt51a$T=(A8eA!`ELzn!xby3;=f4%UK&E^j+ zAMDw{Rq!wHy1q8?w0!+=9ZpcHJ;pa3m8Y}IF3gwmzuO(d@^rjOQNM*>Cz@U4yY-9w z^?m*;Uk%RdC+&;;z~`^<`EHLQzn#xd{y3@F?xsb4C!gPH%b`U(j~4ymaORJH`TT5B zkstc}QIDRO*H70h+S$kFKQp*!CtJJ7KhWn-ykmG?KWJIxAK~*)`k~mb@SdXm$md@@ zWn^AI+Ow!X(C0Tesc1jltH>Yf^PlqVWOo(qjPm)NTNdLS>{HZ_ef~|ei}vGvi~I>b ze_!8zwqKDy(dVDs(C^pQMgDa@zwu(<|6WCY;`68dJh%*>7alJb7`JwNB^4*Df`vZOc?1zi( z>UwPK^Ru0K9Xx^e6=Qei{n5^@(^nPzogL?iXYb5?&31M_pY2?53g>C@&Mq)6rTobj zoRjU$`Tx$Y)fk@Vln3YR%=zNZ?%2n89prT~97n_OaY}j_=XJy}v}{w9$LCTXdfD$R z+V#it*dFQK*}knGlMdmGha2$wg}ly=r=0X##}(xX=?DgQ;B|Uu-j|(E|4Hvq>CY1; zP@lYotZ&zK64D_o>%)0YH_j6;pntHB)jyT~Ur7H*A8hGazv5e?&S@F6Z^XOb7EV6@azSyN(vK$Q z$Il-ockk%JCw-38#24H-r^pW*kIw7Mvl*Wj`KiwjeEmt+Gk%-3biw6gIlmt3R_#td zH*D$L6{N{~;xQ_c&PWF^m2|vOOYXtRfdYHo4e#Z={;IJqBW>S1PD9R(PD?Rnany-sP*q+?5<+xhuHyA&AU!*!8 zk*?nU>^@c31+C7K8*8?IdB>XNM|dl=9J1s&ZPR}IM1@yxaV{)W;H$Y+PJfh_w$zj+)(q}@4kLEs+e!&S>t&{JIdF5w(Isa+tGY> z=G#Smw~v1v^BaD}f9{gKS-d`IKHJx~6TDUA$G-k$gNpstcCYjK2Tm#G*JQt<{YgIm za(}%^&#NguKN(VU9H#sH!K>En|16(>nD0+AsCeC8;Pc{J6#IjLvh~`TR9EEBc@9TlBw^&)?A3PybcCZg=zfmp3iiSAOX8du#mt=YIS6 z{EyG+mq*d6Ok6w;^!e}H%zUv2&;O%aRRn9cs)&7lu{C}==#1O$tM1?Qx2NVcy4}P) zvEO#??g#yG{h;t~J-`22-hE7w(aoR#J#$pearf2TsYe$1I<%1{C0kYLwvrD zYv}W*3@q9SUMkKr<=+oy7Wv7GMSkS#FQ}D2)aQ3!+aK5CisKsl{Kx-Rc*O#yB`F66|#dhWEk-mN~r^uJD z@${m7eZNV*zUaqIp9{;s&3`Do54Jxe?|+p4?>k$^Lj7vu>)kzPaqH@SF7mR53KEKlEcbHyyqVw2ueEzY%9i2B$ z@cHLn>gQ8G4ikNTIJRax@_#!&KJqZ}_22c!SNZaPjk{`kJIU97zFp06p5pWOY~$xI z|N4~r{K2)x`5m7>%I9ml3w(Z~UyE_m{{EnR|GZGXo)=g9J@A z`-%482HMZlV^|;lZslB03u((Z=rzhor!(juoXF{0O#2zJapYPqqFrlWXR; z@CCDPEuN3zxN-S*1D`)-M$P(~4@Z7eyx-FEaiFh%b*=nSK7W|=^NH`z1fTErDz@v+ zEw+1|&;Q4%MSj+HY~G()K7Y!qMLWSN#rN(qpMRvUAGa&&Yd#sL?cRJ*-p*2A|38as z?pKnRa?8GJd_VoXJ;~=U^Yw$a#dfFo{6&7;;*Un;In#aqD*k*oJHVeO`26uF7TeYQ zHp}NX_v4UkRrEje`IFu$#vy4`Z1)GBUwhtm-lwL=743&d73Wt?eEubVyV>2vc{9__ zN*{qQl^=7T-f+12+2o?4{ek}T=kx)4K6Y}uZRFqo%q{$6n#mtp?)JKU|7%lsgwLOK zVbMuDfuZ zC2iKjg|G|PO)}C+bIL*2UE(!*I0wBbkL)_knzTn+*ImLEJ^1~^9&Y4%%wKjLrezP8 zkT>z%3KtCJI?h@>_gcX`vv-~jKCgTJ9xM8(^M5_>mY-I${h_|TzW1y5WutulWyjZSNAvc*Hx>QY zd2HhA?{H$x{M&r~t&NNP^o8Pm*}Xo0Z(m>IFv;gXJ=1U3&%<2K$sZT_anN=j_xS_- zxFt<5&&Owq&yPMT_BXg|VxFJ+{GI*yyBmk*`O|&=QNBOQf5+z^%jeg( zXyOaB?77OfhtzfcdEa`)3>n{lW!|oNxTRaSJpcUuE>2snW4?Gc%K43Sa{5{>crMDZ z^T}v1pQn;GZs89>qCq@=o{w^lXh%mzah>jkD5pKAB-yphH))hJxNU_?SwEUeIkXzb zb;4a+x#&gG(CBX3`y1asc`3?i`(%X+PU7=t(#D#U+xf41nQ{pB=lQ(*n*8=Q<**^; zwthH`{y^))nSU%joirR^+h3jQoW#c7^v|y2MX#}a7)^P?d=$+f4d?r`dz0|gcs&0Tq;oiJW@ zj%SaJ|6u&9osV8^{i&9|hoN%+sQSL>zO+}YS^WRb`RxCIs`J@R8E?C;t~#9=pX%-L z6$_VeT|6Cqd`_i5-&g$;Cf7VaUW5-Svn9Q$^U=xY27dYHwMR{^>-!b<`F1d>bNT&> z$bZhA%gVZ1+UMSz|KIq2g?$ztJyP@Y@PxeTpNB_J)cia=d9vo`;n7nyKMxO{srh+$ z_H511!;|N0ejc7|T=Vnrbe+l?pNG3`YknRcwy*hlc(iWK&%?v@YJMIbuU}c?^YCn1 z&CkQrS8IMAo=mU#d3gL<&CkQ588tr-4_~kOd3f+f&CkQ5Eh=k#9v*C2S$@AF|2(`^ z&CkQb4QhTKp0=y`dARFXS>y9?*Qw^`;n8-LuJ-5Q)j#h}IoYWGd3O>pKJ`2_Z)*AB z(>(^)HGkfDxj&ITpt!ELc(%QN-?W@R&m3GlAEIXta>fn3ZK?kJ=(3#WTeZ&((rcLC zIR8+c16SjGWkgl_zVIb6xCe+nBF{pt8M=swr}k7hGI z@MNw2eL#8j?Ps;pPt%`_{$w8?lry!~_`FQH_QjTMTT!3ycPj50#xLUgRZ5@8cqL=1 z()*x@&3`ICkK<|Qhf06nux9&HY8~HKNmoC93p*6YC;j{&XY9f8x3*%&!g%O2`p5Bd zUmsLZkDu%Nd@Wx)`IOAgKeO9==TqWD|NiLFKRCYQyOw_+lPoIEKl4hop{4zO%;tP= z++MEj(PwVaPO^D%UQpyZr@wE8y=&qAAoTukvYpu+N>JCjHbXcYVtW z7hCzWtZ#W=vHi7qJ%54iJvYjony`nh_}u#?+M7D6{5zWH70O>`ecH4Bx>qTmHmd6H zW=KcyCr@wNUOIgg=L@6Czne*CQ2(`2<=@RjZ_?iDqsqUV3ErkZZ;f*0-_5*3nmqm8 zjC+^$$@}4oqWz3?1R3L(Z*L~sgNN`d|GSy@7+=ue%_Q$LzM#LGNj{()^mjAyhm=G4 zcQYT+HfjCcOfrl5pud}OpU|I=Az-}i`9wN`%6V*`zne*BQy>1PznhUK)4f=S_0U33+{8Zx4L^!#?MU%R}vV^Z9RH@7uY2d|tkf&;PY$ksrrb z=lQYEZ!x6E4_lAQ^RM&y+xvXApZNS`YZd*8eEXAp{*gNs`D%ZG&p*6YJ1*Y}?>pD7 z*-i_eUsKRz0V$mh3MbzmN;pT%A{x7d$EI3~`^C;0la#}(riUU_1kGs)-g zc?#DVxDFfN*vq+-d%2k$_h2IFn@IQTO9rt{t%tnO z@@IGYRQzo9ga7+3U0+)IBd-S+HgQcqD2`*cxbSl?-=3CD&s!zW37IeQ$3)g!t+`uv zJpE?5@I&VUmIEK6-%Xmk+s|h_S~Pbj9nLtkZ0<%rLwb$oZuJ+b-@Lht$&W}suqFAV z$2X$ArsSVXIoB(O(@w;CO*v3eGwMCbb+FZ&yN?6*oAfViFI%&@`)mT+Wxe&O7m&ZP zwa<1(9?W$e>TgFnq2AwF2IOC9+hLio4A|~j)?fO4Nhi|OZ%aD~%hi4&&3Zdpn*Di* z`Vr}hkC;#C*VCjkwtIo~ljWXPk9KaP9UG6U$hYzMn*P~%T*dy{cs$Sk+IT!^9 zU>t2c-X-70V`H{!?z8sU&k^SpAgB5mUlvb6Eoz_!D(4NDu3W!7K%{i=-*^yNA>&M z1>Ebd`hD(Pt^3?%q)+e7cyV7myT@J1eearl&3=w;=IkDK33=7;YZsGuX(i(_lIwKb z(=MuYU%Rl@eeHr;_qB7i?rWEku6|#;l>6LGTgGu6LOzpq`weeSB?*DmEgch&D}mvNuF1@zC( z1MHr5DfhXn{b=GdwETYkPFvOW{%E5^eZ}j}tFWj!=QC|wk*`5(ninADYx_CZ!i(&a6%9*U)!Y_*PP(4Cn>kjKZ%X6C=a-v5zl3P2m{*V?+tXm zz8(Fke!XM-u6SwRD{R;@XGhAdZn}u}VY3$g{Ct&`E{3bAZ{@*iEt$Vsx_xNh(#aMr zow1u=-}3CSCf9$ezkitd1^ut~e&RX$Z{r;CnXhpQ<6-N$h3qfvQ>(p$NN22{uy4ju zzTCBF$sZlJbYmE={QRvY-|d54=)cvsHtlgB{k8G5ziBXz@cl1JSF9Mx_HDdk`x_6~ zm-X}ZR;N9fbaJu(=`V~Abl`ZU-MQ%W1O0`$?4Pw2G+}(8ukT;|6vj9SAW0SjrOg6{4@Q5-F@2q&h}tk#y4;8TiOFX6lvM#r#IHH`Lp)x`>qG` zx}9~>YW#*<@%o<2O0JgIo>AQQvz@P5-~6e0GMm+zzYpwO&XdW>OyG z3_k7bQqr0yGtx2WexTuJ)PJvYId5j9W6->r%%*+N{XnBR)Q1N(@6Dxs(z+jLMmh%F z4>ZYGA2e@9^H?9sdGmADCtc2)U$8!T<-AEc0xl8d^KAMh?Lm1z(62hX0LuG;eog!E zKJ|0|=XZ7)>2ls&!1l;1=gozkT|!%O6^vf7Y6`4-m6hwFTT2XJ+|+$w{crIc|8#!<0-h`uY1nj=W~7e z3Ff_{yXSQ5$aw~7cRT|DyOMVHz3yYX=X_56WI3-pM|98G`azx!zwx@n`o<*6EgcXW z|6qN4f9gh14qH+lKSKMxNyFr0i}LJb+JhfBy+|(P`afmH#|=pT!snrE&)8>iQ9l{p zo!^)5?)HCx?NJ`lwsFu0^pES+;UM-09PI^s&pc#*jqTd_?XhkKOImZDxP<->p)QO# zhxYiqHRwAUe{%KU4uUyQeLq#X~g9|e>dCs>-#BO}JbIEwMG@|1ls zhA^_wLD|keKYIw^9|0^?U9T-2eF*9_d#v=CqLVB0vop@weM~@LpkrwNN0_A z$@zry-*9VQOGq0%-lQ$k39+%_4jSEtbVJhcEcK(dq-oFib_~aZ@`y5{-F{q8ARQ7L z2k`lBur29TNW<5Ua=nOj)`;!H->9FF4k$AY;PdgYJ^dv%-u{jLkdEj}4*gHrzT1!e zfvaw(f7`J>+cFkf|42uyYjl5r?`x4xh>gyCo*s7~&9;sG+24$GOl$;|JbydV9@{gP z(q2M3W?kb~`tLf?f3{`(XD{BjSei1U$z$}7bYN}42Bd?|j4ySK&)A=sw4=;eNIJ7} zVq>*C*?t$wSEU>p^889HO<#;vdB5ehr#{;<7JSM6l8#u{SeNpYbj-GlCA1&x!1z;U z9LfI1q#b2OLtdXU(lKot_I@b9kBG4~*0KI{WqryFJ@mdv%LCS%yUG%|b9_I> z|G8?{KP#@xJwlo@q4BTmFHB;8 z?LI>BZ`5B}bv-oro&GJWx*nSSLHnTVq1m6LLDxgm6|4`s9-6q(91ZRjMEmx76IYDp zU{&2mC~80%XXWDIp=p!R zE`&J1U(U~yrt}9Y=iw{YL!)NYU%meO2=TI$2^sS1B%f60@d;WE6#KZ9#dYQPn(fmZA^K6K3H=M*Lzt1>Eij6 zv>3ztn=z%INlVgD`neWqke|ugq@nb49n!7Fl-KLS^~bnm-7!_y>o*+Z;tj@>euf)S zPM-V>HzrM<{0uiCO`iM=HziG;uGdGKktR=m#sT|Bp8QNVr#~P+v(}6s$WON=_g$wqxy}Z=&vWm~g}5#DnFCKJikGHCMS^w`I($d8suj(gfz&{ zku=E9>~hi|Ki!qgcUM%+pW#*XhdlWiUCsEACqLtB*njf$c~W{U?ScGs*Ry}u(T1Nt z-3_G4lb^v&l->B>&!595EPU1cTw2S|$M7@wtjf>0>0jjMD~#RC)%={s_(SREtE8dy zb2@1#{d|oylzz@24W*y2lZMjIw-}E%s`>d2=XU zL>uz+7t-XFe)8HGFR9;8op&}VUgq8KvmRWM&!7JKyzY;6=~DcByHk06K4@0>*}$)- zrCp!joPVLuf7{=;Gx&N;h0n?tvH$*aw#)E5pEK$Fq3ccw*K6I8?aS*<8R_ik_T_b_ z;0CVelGb&nh;&R^*PRm5329xQ&q%vt+Lzavf*YxSMEk1iOr#^~>pD|HI%NChbtX$6 z)xNyW6x`Io1*FUCOr+C)wJ)zTC8Q(DC-p2|_cPK7X$+1!+Od6IcS=a7 zl5#OpJGt9wpZeu>C(j?*CJrzc0Pu?}dTs@r9SW-PXWug@^J==aW(ECeCPi zCFj4~H!~wPzT@>XeP~S=Y|$jg=D*-{%1IkdwkXb*!!4UQL-S!oY<$7EM^|uuO>BIW z@P3o_qc)U--tVNu#=xP}r~Pm%+Jnd0Uc!A#qqfwC=Pk|km$+S%oXJlYX}2{a0hf@r z{)WWHYdm{`hxxuau`zi!wom)Wc? zJVsHz9pzx2wgwZM-=iDY3DjwLhNQ(?6J&6vs=~lWt&t z72EQ`TIu6_d#Y2+UjOI+Y(0Nyx$}&5@2Tth({C^4)1V9c@P|}9TD{U3f440C)x4Np z+lKEQw<+hv_@*{|_n=KVFGj?M=0!(rXkHA7jpdCBACg;~1%g{WUQD$f!4e7g~dDIabnnyFXWt8(M`yPSj z(U5H$nnzQ%WoRBvId+ET(U{oKJQ{7@))|^d6JkU2sB7KU8Jb69j*X#tG@#7TJetsV zqcZZJ_Z_~K3*d&IIR17$VBl6cxukXcCvUZU=gaH%t;^qdV&QML$@psiu2cHEX%OBipEe+jW6|DuZ+Z#e5vuCLMm;4*xG?zEqb z=K3>j8KqxrD+V3^n01ZoDyct;*GcLcI$jxd4IQ6^y2km((my`e52q{w)%eHbT#qCj5*s?c32hsr`5uPm9$W7E zQgM8h_nbf8O21JneIDyq|9moisAhYcPNtpPa0UH?FZh0nZ7W=D zD`$M#hU?LMUXV4~D(BMkitp=&%_)a}(qAi2Sl2k-r{gAD@q2+=<-VGqVGHWRMEY-O z_X2)En`evf`-UH}eW>ptZ?)|6&ZO3L`MdfAfBw+1vYNlGOMf;0rU|}+zBdxx#dv@| z4-JV8&A-u|l!NBqjM&h88&lVi@8R975Ar?Sl=&7k-#XScG~c@0NQ36v_;%U@&9@P; zQ9d7ND+bNC!5#Ppnr|awL-TD+Y-qkshz-rJj@Z!iE1_*e^J_?%q4_nUuZHH=jIlH{ zzoyhRG{0uVhUV9du`=|0P1%;A`8A;}L(kuU*eIW`n=!wFp05e9q337D*c+N(Q({BU zKgV2dXnxJu7o+y`Me}Vmd@E;YzIDGbUSK}k^CkF^{y}{Yd8=jrT~55QE`OUGUHBWG zepT+T{Z7hO{A=MG*6+Qh?I%0q>cblHJrC};*>Q5tfQ#5I(qX5`IlF%1c-?94lIfNC{`{p#C)77uoydH``U&kB`}*~R&XYMmo9w>f{*d|kXNSqo!3v)aiH+M{ zp}j4eJ4apPqDl0}p8ssi7)t*l$^*7#tlEV6k@LTlb&ZX7DAEzJ(PBxF4(N+<82z#P zk7l&>f3f!_V1G>K|NnVHP_@JoVjrD#n?kF zv4<)XRD;sgS4mZCwAF^Tb}cRPf8BHL_dL(@@kIM`eSg>g|G%z2xn7z3+~>@hGiUC5 zK692iV=U?WSEM!8^!;;Wqqpy$vad11_fLp3MjXWbi~LIRGL9nN%3Ba;j3vIHyg6kx zR_1u|`IYp9`&pRrfQ-D26RiH(KO-+={(~s5)dy*f{?vb6f20ji?aTd@>yuJf#tPKG z?Vqr(F_a0N$!c6*_BEDH;{CSz4q;ek73zB^zqiYvb7 z>n{$C<{nnOWK^BA=JhIr>Yqn;()aL)C-xp&>oq?(as3WGV|wWaxc=`w$9KwSsO$Uo zn^^0MhYyeOuK&~Fp1Y_*Ka<#)@QEA?CQUB9zM2~s@Knn`?-G7>z(y| zT>q)c0bz|xq$@Mdk51zfN$=x%KIt&;U=`*KpwqZSSe0>k zbQ+gPRwo{v`r$$!!fUk8J4pJH9$ons&po_%m9I_y-)WzB5Y}Z}f1UPu2Vs5oU$4Ww z1Hu_J^A0v3J=Fbb%tI(PYWYT-FHG$n=N%*iIA6lexWuOHze)SNgM4$+gZkOB zEl5we>1P{A+0m(=E!mRtqfP^8xkK<=as{P`_NZJ;x@TC){7{Ic^Z;LwDMn+!L60kPN1L=;k)A>*n&6{@;FQ zlrMJm{JY~0Zhj|zzZUlE9>N;o+s*UuwLk6Lp8e##&f(iz;`g1{IewYtJGZY7X^9`x z67I$iusz@F??KPMT4AYR+gYiO3{I6TWi?*E4@-5*tTf(cq=Ixu0I0xvpO6T)^ zt0n)9TK4~-C7vN^-aF|TvelQWS%d3g;jq|JH4G_tI)8?BJB7dS{6Zhn!_zJG{fm}x z!T$EVtvY?<_IN(&OH1-TR_lZ#){f7!`5N*5tAyGf@!R?8T}Sy1`Jm?xsqMY>`9_-2Kj6jA$4y<|{XTzg_3{jM{Sz(ehq`|Hu=u>J@(gqRP1ED=kMx=A2Rz_;M|xO|(DR#pX)?8@CTn|MspipD-{!x9Ix6<@)@0vA%Wv z%k#XPzJ8>x|0_p$dEViL68>_}|3Y6kDEUj&>-t~m`l5{O5ncZqw9b&XPjvkYKd#z2 zS9$)={k?N}3fG^V(DA@u;p>>nE^fco^?ux`o_>bsulI4Mxqg4;KP%ehOxK_0*QIzY z+VL#cZ__Q_hxER3<@$20m($mOo$dOUc8cZEI!~XverC)0s=Yd^MgOh(ESXw0AliH8 z_1wetp50fTAKrgt^I=^*KRoisctcILx}wg(>~szG?%^3Nx_s=vDz6;Qdt}4I`Mj@V z?`xHJ5Qd*JRF)56y~w=}sOjzLtE+}HzBD{Mz~gzbH_wX?RsZ+^e*{iRC@L$71w z{@G2#>3~7gmCkFl*aWFt6Ag^gND$b*Wvf-gxe?|`6tEj znkgL5-rve@Cx3Wnc07LiBl3qaU&i$14V({bdn)Hk`gF+yYRG)Umny1b` zyO;dn3(8~1Q~bjm&*bub@`Lv$#cfMA5PuV(QA5e3mmnXS|^23>& zkMg$dYSf2qlk13weXP74&cAj2pl7_kZ6Eu4{QL2I!?!65yzmzD@BRCc7XK@*mu*X~ zm$C3KNpI^j-8Q^tvX`g0Y&dJl4-dbx`sMiP_0%Wa&-hly^@}$8g6q%vOG$Um5B{-+ z*T-w@51(^A?07{+{eb@ZyFDkqedCO^HtKl)E&co1+uhSW6qmPuKf7F~>-(?1pRN1v zjR!~nY<+%c{askV3)K2MBL7&rr{7=w{?*6R@36l2yZCyQ{at@)>CXeMPhG#)=H9R4 z`k}7Bx<#M4exIMk-$(T`jdlGV6JkF4K6mc=KL-Isqg=eSPw(8KNV+Lz*URN>#@)^mbq z7y5fT+3&BfzIIku_Iuj?-MO!}+i$+!f9==m@W1x^|E~QGa6{I1+upbCWA;1M`_G2? z_q&hc{fFZ8_V;tr4Ws?edYPNd%jo%+>^ljxU0r+&5a6(JzEf{c7P1 z_CLM7UoH6o@n^R8s}++d54xsb?L6{7r@db-n@s)}wD+r37n2|8eTn>1_PwM-KiXxK zAD#Nq%F9U)>PM@tB>yYg`_Zavh`+kMAFaBUcu+rDay{j}u0uasL3z=sA1%9qekye8 zN6T-dJm}PqR^CJ$I`yN4Tgd~>@5VokzxDKXSJD=LA3S+@?Be)bp8RNXo!Gg3l*Jr+NZBfMb;V9Qn{hp_< z;_n!>TmSvxKrjEIv7cj->z7?S>I*;LD_uX!kDK~;8K$`Y-DhI{P5Ua=F5mi!dj0;+ zbbaOdgkxj7be8M?uJZJ_wAK`UL)m^?zfY_a_0|0Gz`yx8mQ%+KZU-~{x>R02ywR=LXsPz-O_yH9mu7d_S^B^UdwnV*ErR}DeX06 z;|GMp0=!>r@92Wscd5N|3zrdX^G)rYT0`?+1MkEdTK}U&Hl`;0cC)@m#yhdbGprAh zk-xnoYrHsyc*4286AQl}KKT}le(=t#aUl;_IpG}H_>2ljKBtiO&MQp%BmKinA}WxL zTd!-2Vcv1I_gwG%g@<{EwSYP7Uy$D3Sv9&-|8;wYcTxjfMt*_yW-DZ47Ui?`XYE^N zhOPf<>zkCw#w^NPpWgt^4-zZS{FI+Hwv8L65zqeCrm??Ey}n~;&YWW`OnXYLH1oC8?x_WdF%;f-{}e*4`kmZvLSm;S0o-}&n2=Udrns(9%RoI zvLSn}62c&Ru2v=tvgfil`GM>?U4{HW_MEKB`GD*>TMc^!*>hMOdj;8Zfo#a0Q{Is` z-sE~#_+w`8bi;q`yR*M_Y1}Af*V^{`*2QgI+4rKp{zBM0{@&X93w=7wUz^;A{;_FX zmw#+tbL&~$Z&(kcAZ%!Tko>dFd53%RW_^(2U&O=9hvENUF2r09_6MyOQhY%?XuXi) zOTwV_LP}&q>xERv#;P3O)(c7IkRNEhkOJAzdLb3Eq4h#S*n(QwqFFB_MK+rCLXb1~ z=bhYtDQ}>xhSm>B+O`OW)(;6&i3hD8k`ZTU{g52lm~cAwYu{@?Hne_7g=}d3kfa;= zgVqm8kqxaMk|7&fKO{#sw0=mKhq8gz4@r=XZ9k0tebwF62WUN!j5tHxpE@#-m&hTR$Z4PI*AlR@i=B-EX8&KaH86JE4G z^9NZ^MECsv)V^2Q`e%1_W#6m1eHZ`6zVnfk4`korP|6Ro@9HqF7ij&Pa5(W`_FZ5v z<-4qB0kZFKB=I2o4o49N*>{3$$i7o#L-w5`8?x^(hW$bIogy2u?+n>!*26(AK=xfC z8?x_$vKq4Q{Ai8`vhU(O;z9OZ5@*Q1D`Z3V9mcXR$i7o#L-w5`8?x^L*^qsg$cF5@ zLN;XI*)g0S$i8!AV=uSwoO3Z`-z9N|>^qF3d?5QykPX>)fo#aWOJqa#U5%$aAp6cH zP#%zdSICC!yQJ=n|1JCe$1@i!+?9P#-ZPG$q{F`c{+-V^5dRz4Zr}3{WPO%_?e@LE zK-SS5*lyq7CLYYbtNMP(+9~&Rusi?J^>_KloE zW8cU*H1>^LKx5y?B{cSpTtQ>si*tU^*f(+xKbs!!-zDc_H1^n@w9^ik=zWe>=s!zMJ@7Gp|_Feru``(_i zLUaEfM14SW{~k>Fp}Bv5mw2e3Pv$V*cMj_VL397!iFj!2duPJX*f(+ljeR4h(AYO} z4vl^9!v4_MH*yM%eIsYk*f(+kjeR4RAp1@ztI^o^P>u((@8n$Kp|Nk`N@(mGxq`;N zcV%B_>>D|S#=enrXzUxgfX2R&OK9vHxq`;NcjNq^v2WxYhSJ?)!obtTb5BA9;^YZ-NtLZ;^p5|xzBi5gvv0|IC!r?q0F&>;gKp1QuXLZ3MA)m5h zn_=H4NY+>^6v)QaKW_`=k@P==mD-FS(_SuDUyNt372Ax><|qB|B}4H#>ETC~et*KV z3By?r@_a}7yd-~ktK#{a^!eWi8&`Av2q%9fKls4nIevaGad5~=6-Wn{kA~ z#09W*yDh$;EJnZX@qEk2S8OwGVcM0Qe|UxTu+~_@2P_$?+gEHezPOC_)(DqBB0cQJ z`@$8+Pwt^S@Z)uvA453f*v3q+&+s()LAh%@zw8;};qikRZ$F9gaMBv@l3vfEww*!x zj^UYvtv;peze?x$v!0Lh{i^Ad7uMqXS=#bBjtz@n&iFU`S2Ku*X_s^S4*9**vvYpa zE{NsT@%G*{=2zXy{*bqn_r7y@KF#T0x{G*t>ByL0_88|2AGM@Ei%V5tPs)F8&)+l) z>pyL;pT6R8*1vt_jj?}K>r-v~^KK#eS^NCvYUjC+&-4yS80PuT?fVfg9vbu4I7}~3 zf26)Q;o~!j>oq=;452Tdxv!e{obJH*0y>S)q~9fsPUAD_j)c)^d?wwAFgmS2knT(v zo#s8~yAVdF@tJB@#v_KdkIz)QGhP5%FDTuM@E+~sGhtukz1zoU%Hf3fYagFUGR8{| zY#*N~MjX$2neFqQi-QP5Gw=Ce!tfMHrpNYmza9(P_LUIhrs!jn|}O38T|^O?C{&L#KJq#W?mwr}3I{ zJmrICyk-LR2^z1dj-~!U^Pa2k5r+DH&b;U9IKrUunuM{r{P?+#*SNVf8=9f@pSBlW zcfd0p$8To&{LvYEazDPPe>4BC+%?+wvYwN+7oQvzd3>A+Q^)x@gwKcY^)U-)=Zy8Q9=aZ}fC z==0<9PsY~zp{{@RmN;&q`4hujf2qC;=-;u%Ea~GeUjI{F|JhQV^`+|%*~{zA z=QGZ9y}qZO{UVN^&2s%qFZ%TzeR^GQmFov;zM&s?w(DEJaO(>t=SMDCKV;|RhcFjilYrFmEjr*B>Pr4wMJItD1?>XNJ{J!3}Qt0`? z$U0o?(Y1Z|ykXutZ`t>s{XG=fs}B70m%U#6{CjxB%fIZbPh8)Yb=LQH{VSf2>^^n< zrMt)U(hqihrQ`bV!%)}1)1v3+y#D*RMZcTtQ?DP{@$RnQ%I#I>JIwWiThfnm{Z2>v zd3kw8yZ*R)JD=}Z*SD?ccIoMJ*KgOmv%OAo{g*1g*YlOG-}AxF$DQK(^LFW+|Lv~d zRr&jI?{NJdUVgoQG}ZO{wdhONA0+)e@i}*<>qkrP?=j7C{ct~S`eC&D*-GD{f8X`3 zn*nb3vj3&V9ra|#`}Z`Tzqj%~x`(XnF#l=quI*d%_hjGyf0@6x(5tb&Wv`i6)Z#7k z`ec`jw#@50-qSDKGOtf|R*XKWu4&o*WKZAC=gVncU*Y=6?~Je0CvH!&zqKCsd|WSk zs#?-d^L*}ZNng5tx4S#fTbkkeX)Su$-_VwMeX_qrTITi5_I$>+=w*NFx6JGN)YI>~ zOZ?r`yuRRed3ejbzFw|RTITg7uJ`PkO{;zX=;k*M>dLSI6es{dpv^AGC3U&i}~J!Y@jq5nklPpW5V14A=D{}}I9 zg2v~or-=uR&lgWI#{)DzpFPVr0zu>R$(_v60FBS*tO;jKP2&8Clr`0iW_JbGhY8N=|SW5;U~QK02;5)kc~Ti{zQpvXuQ7ol=FdRyq>y9 zp&74#oa2GU>kD42Ff?9Y-Any|#_RL@DK9kR_0z}?G+tjk$o??5@%lhr8*`hFQZCH= z0{Eu$QSxsy-vTrrrQn;LhUTM`zodRZ^HK7jaX#?yb#eYqGJ|u2$5o%mC1^fMvQQ7c z|J5UCK1%rr@i4dfDEa)92lOYqZniId|4_bPyvbDmew^0-wDlFU$JfK3J=fAyBN$QxUKZLaxlMd@K7RZLyV+`FX8E8Gmg0&b8t;d+K)}o>Qkb<;^ z)?-YVfnaDo#;_Xsf!+hpk&RJfxfiqkVPGvrL+df-$cENqOj(c7(0Ys|veB%^I4|+= zEN5x!8Ri_@(0Yt1YcU#HkFhivn)Mjlh=;oWgz{9Z&1k6qq$JMJdW;ooGa9-d6kpEI zIPm=K^IN-d{-FMn9NAERN&dzB!BBrmMVw*%C071)9?Anve}|=oanzT+?~=0?qoMwf zz}kyOp0K~Y_x<_&HCm6cB+fX=>YMc#Q`TZMv>szgdPD0mR>;OTU5}B{)PLHJy8M+{ zUERNLUnaI2({s?9%HGpy0{e^2fc=bz;BF~0YGzJpvrGrp6vFEryj$SE}A zJIFaS<2%R&G~+wSB{btZ$Q3l>JEw6z(2VaO=b-WV64~fC3j3R%m+a?Z{tRfmry|bK zcu#UV^#vO5Ns$eW_ms$n#(OGc<53^)31@J=pz)p@xyJm1`6%H`;z8p*39|8@j`zr} zwQW0bT(_?5yYFr|G=Js4vG3wJ=39X5JOA^*V936+w;8VjjbG+}As#e7pZ|?8$iDM; z34`prn!$KC$iB;G8BYe;cm5vfLH1oD8?x{8{ei)dedoxA?7KiVWZxCCA^Q#=4CJG) z?cdo&TNl1=)A_2jzkK{%`ZGOa|F^foyzJ`@ZS!CsysszHd*WeW&Yv{rx+;itqbC zW8XiZe9+kUB+d^S`#y(w(D;0Q9${$g`+UM6`!24)e?az~U&(wRXzcp}(nDk4$R#xP zeIfM?jeR5M(AYO}0gZhlSJ2q^Wa=Mu|1Ob@#=b8i-f;UaFT?+!v2Ws1XzUv~gT}s* zb7<@vxrD~PFD7qj>>D|O#=enLXzUv~gT}s*D`@Qd67mC$&!@=7?5!DJ<^Ek!cB8Rx z;xcIL8@YhSzL864?E6ykgT}s*GidDlGR_wo`@Wp=Kx5w~Lu22_1^lP>J*lm}EjR1q zojz-iV>|Yrq`#kDrx<%Jd)`xJG|DS@9+8_`}$An#~AGTOQ*;F-7q-5=R3^xkNqU- zs~6(B6`AW#+b!yo7o%SNA(x%kxnFs*r{8k^s8=})*Uzpz|GgOC=5LzoAMx=Em9upH zRbyg$>1VorP0wHY%JqXEi^naz{O`NI_*>NHJ>&Z@3;1=tYK2(;)sR>Z8XtLkJ(rw z@cq6M+Q;qJ;=4}YIiVT1&(}VI@9Uk=jN6y}_>K`ejoXL*C$J9b2~9hdb_Uko97!7zft>lsFF>|AD!N-3H zZ2t~bzAf?Fw10;x+n#SOZP(#DRD(#5PUH5~V9po5ar^9G z;tu-icc^sV)VBBii+|SD^T}9uoOHK%f4GtNN&1HN@1M%f(yM3_L*4&@U8D~X2F({K zu4E1cXue3c?1I72e35dw1%n~GD{p3v5>Wq0_8@D3fb6a!Z^Qaa?0b3XEfLvaLD-NT zW|Ym){E_4~Yy)J63KR`@Y#!!k~5Z zvMUIK>@w%rhU_xClX%d4l5jPBI3T;suO~gIeI>A%HVZI7`(JoGm43o@UOiHF7sl&87`+qs(bu-Ja2Ux@j8kMfQq z>{^n3VdfJe8#i!#J6^)^j7NAiC!^oF`X$GL>u7$IJvjdTKgKch3T58@4K8!0^jNt!zFcN$ez=yIX?(%v;Szb zePrlC`eFz2dy)Jg;ds_x7iJO<&uz>3+kDqs3BwdC|03k|!^m+Llm19-kGyKk{+6cx zA0a(##X?m1vefT1(!&G8sh{4&|Acs$AG5EBPafjfFo5Hi%QIi|Ve*56*gsi;`IE#M zCsY4nCE_0>9_C~IWoGsLL}V?_C%KgCMco+JQJ)sBD4+4_vhjS%d#E2+pY&CK%J$R9 zi^r4ScHD2CVSmW|d`r&P_zC6D)+6oHkxgxXTR(}k#@zn&{8xH{Wbk?e?D=NOweh)f zz#G$R!yjsoU0npTCbkhkE+{uHVu1)wVJJ0j^K{ ze2eX(K6U+I*JoZ%wGZC)gg9bIhH5cA?7p8^<&?P<92JC=T+2)9b-O)>xV4m&)2S> z;`-rddih;H)%8cXK3lGHdu6ECTe4Hkzx4FOT%WsshU>!)u{@RQXS#mdKg9B+JI8!x zxqeZvhr;!h>o@Rv3%kVhvt2*8%>o{w?LV&CdfTq<|4E$Y$JpQ{wLjQAt?#gJ58r?J zciKY2dSm)cI(#4IGhW}m-q}i1I{#kXI)@$iZGXS~e!@kE^b^@XVSGXP-JW+|5B0Q{ zI_J0jqjCPS(hsAVFWI)+p4s_$W0#NjQ>A&I`?qAzqC@yEq^~-JGtwtFw(ox!<>`1m#uCnc+vwZ|eovD=>kxLc zWn?e@X?y&;JDt##{Xh9(eE!MzIi(hCeCa!kFvYvO~ zzGn{VpDd6K^-q?_hWaPNR$B%`{gVl@@lSuhxk5J7KbdSzJg9%Nn8x@QsDCme&QSkk zj%=uZvOqS}KUpCg>Yq%uA%6(lU_WDch$C-9{go+khWaZrWJCRxIkKVt%CIeYf%+>G zWJB*eXUIk|3HzJF`?(y;P=94koT2{864_9HWrb|0zcSm7{6PJcIkKVt%3^zt1?sO% z22mbZfb+HYqZ5v8dw5s&KW^1%|K-24{|BiLko{+U7|#aTf7+MvXOR78YY`8huHf}~Kl_9H zA?rsx$RDzG2t(r!q|Kr6hX?QnkUwPoNe}Xe0@;v1B4f2N!*^ocv$cFr(L^k9P z6|y0JDApr?kUvz&M&l2ZH39iUvOdQL`9q3q$R9FfL;g@88}f$=*=YRXKI#MH4`Bo1 zK>m;*8}f$~*^ob!$cFr(LN??N$%gC?@`n`Jkp1V#hU~vUHe~j(eMA+0Mdi(KSwscsr`@XcI%#9+5ZYZj`pAJ_x1Px_1o#WJC5}A{(;*bT#$|*?)#?$o})yIbV?dhc!4p$o_NAt;X#?C(e-l7s$pp zwf~7fc(%*+F_z@}nDyWOUvK~APkBBB*?%z~IX*^vEbi&Fm}`!A3U*?);_$o@kQt_R5e z6J$g7Um+W^|70=ZLH1v8ZiehXBhHZh=g5Zazd$x*{}r+!`%e}pe~|qL@-}4uDRGAE zKSMTT|2eWD`wvTy7s&n-WJC6!Ase#)9NCclm&k_fzd|--|Jjo453>Ip*^vDgJvm>H z{U=Lte31PooSUKhe?gof`!A7=Z)*QnY&T`iuI~RYd;7QeH};>F+(7a_MiNOc#yp(PY?##dr}ex*?ayt=MJ*>>^8?yHt*^s>#$cF4ady4!)_Ff-YaB7_8xx9z94(gkqy~&7<*?;&M`@^F?-!hrO`Gf4gKsIFm1?OtW{*z}(53>Ih+4!dRKi^`P zeb|-#ukX)4VTIG$>~~Jw&cO*UibZ#V_}1=)W}oFV%U z#2K>x@OzGL`14MBD)s`h|CBgG_Magevi}^}ko}j)hU`E5fxJQXo*)~t_Y~QXy=TaV z?7c!Z9(l!oZz+2Tvj6Z$@`oL1@7efKbu#r0oAjrD6Z;RGiy`|@No&adb7VvIUmzQ@ z|Ku&o3p1%->(5C!wjqB=i8JI6*`Fvs$R8?XL-wCBx7U#UXOzwOruKj1Z$5skEBn7v z?ce0NdM8q_W4Ks zC(_?JF=+l#weCdvFDEwhkCOE#(!V&dnSYdRFp>VhiOu|@Vng;vr};-=WA@)@Vl(fp z+GHZ*9TS`RM#<*nx7oyIzEL@l{LnS?jkYE}o!HDbs#H& zCA`DLW`0qzBYC0I{Gw_n$^&20T&w3_>_YxKPi*EFrMt2}I?XT2_Mm=to7l|9$oHcB zdroYhU$i&*f#w$_`;gzTiOu|?j1Nub=rq5m*pKp{)BK_^oc;HwzKS;HuQ7k&0FH-F z^NXqj*%zJW7o{V}KbzP-zvv*!gHH2{5u=Q#V<#?cZZ~18U zA2o5V-|1ApzqU8rvh-nH-Tw#keOdb}Uc0=uw{K6LkMXbXG~-|TK7G2z5^YBPefrB5 z3CUVZv>At<%k{XFoAh^4QgZ|Q%?`w$QMetkxqQGdVw z@=UuUWC3^(nIt8`ZYN|G~cgBPQkukU$B2lTI1ZQ-0!K+ zoMRbdDSt(LMOlsJ`}OQwLi7E4cLmM&>q%Qd^Zk0{9GdUfvu_H` z_v?vEUhIT+R|yO3PI;-{lCl{`EfVXmpl*yQUf(HkM)SRU@+!c-cb{Cr_2FC% zeeb?vU!(cnJ!Q$@7u*jk>bD@RaRT*Y^;J+7WB!9;xFW65pW9{KpM)G>;mtfu+5khh z=X!Dc1ld?RiN815>KqUBz55*5(D&}M)rbdu?>-sYqs@>%B$gKRz5DVHi?tbkn+$~u z+D_@dTw(YB9=^WOs28T!Y4c+!?-A>U>^8sOUc(9Tx4iGKZMJt*OpWdmy7~9^%2Ovc z$Fvkr`MNg6k1y_|f3`(0zueX55#_`3Iz2zH_2099jOEe1=U%Swb8KgQ;`*u6eI84n z@pV3ZT>rA?lkF7ePxp6yf6qty^<4i-?>JvY`VCya@Io>F%;z2Hcl8a=zjz_8tC4#8 zWjwv~gI&K`i+-rsHQov+te*Dt<_&9w)tmeOzGP^>x7kuB*Yx65^K2aV1H#60$Hn*@*_hai`{@Yg;`TbZ=9tB~ zU!2SRt0!SF|F-#y6|(WzeT2EcloL<^1aTg1tF5jC_OgS^IA}@`F`2Vg3l^OV=blT-U!_9WMJ) z9$1(7Vgl#ikMoCniMMdI4*SCoPpABL{QWsT97F!aHmrBP8DTh?u+2BBwjn*7ZO3Q- zazFBi(GL(NeYz3HhY1$8`HibkURdjb7%rCOd|~WWe*a7;4}8h_W#pf(#QxA@j@Qo$ zq=${z-{Om92!pN1VBzWr$^#pHHcuT6!%q&zseb%)Ir4+gso(5m%FDSK!xm}_3E^Y_ zdBI2v^L@y4bJD{&!Ws2ZY|HWBGCN-q}z{hI8Zb;HSizt8+i%6PC@IC*f(%0!di#KzJZgsdtaV828#qbJ zcW?^Aldv;=2PbLy4o=eY9h{`)J2*+pcW?^Amyw^ogOjv;2dCVq{ktLd4V<*)J2(|# zvwM99Cm-&}2P{k9KK*CLN&LPJ=G}-tBST-piLG7rd-~_#aq>&K-r@BvYgU`VFa+`WZ^#cS zp6|>?3gV6OL&AM|pX9fc57yd|)A$bWgZz>7@anz%-c!E(EyD1|^_&mk{;lSg2$MhH7-#PqrOZl#AIsPjx@jY7do3Ux<<4vJ{@`ZXf$9(&y&hZKRrwg~o z-`G-~`&+^vx9tBQ`Dc88uX=&&2l^ZAg0_7pojTdt--;jg>U1uA2)8fI^VOy6HtQo- zcf{wS`8}bw7xM$Ma#*T)Z~O-j#OJ8&&FELk_s~P4zVP*Y<)=@Nbp1~8dzg4Y{nxs# zF3p$vFFn!o|IYZjoPAt>nm-2?k73CC^>_W!zOHQYTx@p^aQ(Zt;D1*#|NF6w_uaDa z8R6o%#TgsVLP?lc&O&ws&uD~GxNc9vyf2nMo`s6=Fgx(^yc_jI#yfRcSnCk%{|ed{ zWybh<7LMS1=`yGFHosTCE=W4xV?>CXX&zjshed0SD z^UuzD+4b%x$MRI3|4>i=@{Qh4;rdao|LH0*z1D5WU4O3Uqj8SOu77^vm`~O3h`Rh& zy8d<7XP*C5*Z)m=@2{ER`upzm<9hm;u0Qp1AMf$}XS@E3p@-JT%UmD4_O4ZW&%c-J zw|lws`6jOa^L&TId_4UC*H8EIXx)a?^&@m$JpC}&KQ`9u!ONeyzG}H%dWt^DuUEBB zthdRY{w!Tb&wq;RXSdkNRM*e+awh#_J~Lc@yW3%PdbF#`_2*yb=j-MC)b(Ge9$eqU z?eijE2SfJL$Mt?0zViOgLSr9#v#aN;`P1L8k7)BZ*6uKVq4#(4+nHMe&G_|m z14Dpj{Q7yu-=P`5evx?i{aN_;znC8|lQ3w!y1b3~1)%ZjVhZzDK;zZnmd%6Fj934X z{b5z|v-fvWWTP3cMlPWluYQU2(2Q3jC!q1_>}KWzKr>!VTn3uoQQk!Ppc%g=E(eWY z7sMIO`1Su#9?8}g4F*^qyf$cFr* zLN??d;Q{go`A33m$Uh2XL;g`B8(Lp6JjnjgYa6bY&3B@%jl{z#vLSy-NNdPnGGs&k zl5y^a{3R#OkiUe7I3CD95@bXEkv>d)fc&FGHsl}aG~z-2ks%xZsee@NA9_C6XXCw} zv*)X+*T(0W!Ea2j{bBKcvUyEUQ9OG-9G|b2_5HQA_y4pg$@=Tg1m@3_7@(ZhGx$lni_Ue99>w7ln^c=~->-t+I{`aXVMde6VV>oeEu zJ%2sF4ff;eJ^$3xAJy`n|6tb_E${gcb^V+X@qG23f9CqU^Pl4SU+x{xOYiwl zb^R-@*L(icT)%J2d;X>C4`_MMe}?Nf^Lo&G{xe;FNy~fwvs`}{^B{`Pd2X0}ObD}& z4u^iqx?TnC$hVK7|Mlq5od+}vhj)%)yyEEa5b4$KsNOv~+`D0WJ11lR1w3DEXN@}V z*{+_ie)xA!INznUzbtlL2>rs!P5;$4J!$_Xys!Gn5;ZS8LHm<%^^YZL!bJ9`y_kQx zM9tDPMXMnTh2*m(Y8IW3-@_ef9}_k%9)SoAbsw`?CK$Jwo7{ z@y3$uZ|$)HxrX!>t_T~;czpK762aK;_Sk+ak&XSXo2O2nd`WrW*EhuWTZwE;-70fk&SCeUtC6eeV!$2vURB6;kIrH`@;&13dFdl2t?^raN-Y1JHGquO zZ;aPlw)fG>m<`uo;dNW$ui<)kY)_9}t8@6FCFzgg`fLB2NpHtfxb6AQ;k#PmpXKmM zYuguE!jE(Q9pfLu-mN~Q<7~S8liz6jz16RMx2yHp>-9DIuGf4Ysq}R=C`SFKt=8S> zrz};fP>p zJ&pp|7{<@M>dLm;o*9o<97jB8J&v5T#y4G$qhep?U!n8!l3p``5W4kp!Q4gI_+mrd!_0}dQf{MS%>FcP6JkPWq0 zLVp|y)ILd(4Yf})WJB$fWL@$HwNEl+L+z7*sNd!1-w!joGBL;h1D8}gs<6!FFd zZT0%{DP=X}KPhoF*h6jaFJkW?|H+6qFoA^*vLM*V>NC(NL{Apa>zYsi0c;tcsufo%L+|G8zpzT+p1JNDoS$%)A} zM~|5>V)U4i;|7l&Ic~(bgGWu=W90D@#wYs?C&}nBhi%qHiXD$Wc*KO!M~|^o6DE!w zIlkXEM;|g$+AjAPanQ&kEqQykJB}Q2=+5l62N@(W7X>#<6sbHtLFdCXiIllYtOz@k zM9SSKjF_MU?LKzo!F71Egw41KdyGDcDE{kb(q_qaV-9Im?RM;#cGb4Wj;kwRvt;Oq zaU+gAa^#Ui#~pp}$noQo(PJiTmTW&_^pVGo8=3Ttr=?);!^a;zX4Cz9uXXfMqbH0! zYV3rG`}gj>S+eu7M{PBs4*TvqjW~Y$BS#!D@+;b%jvYT?=!o&-cN;l&BqwvokrU(b zwiz*Y0>?XK(C9Ho9Cq~Hp_7xF9~Kw%yQ1walgAJ4>i1>fgY(pTq+6a{Kc77~X5O$)_;&Mr_9tt9 z^L&tJkMoI_vCx-18QzKfcx!d{GJnUTzy7&`W+b$pJ$VrbykV(zm)XGUF*<3 zWP&WZqDcf3?ddk%{y0o*~EEZIha<$+^X?hLrnA4@eh|ayf}7C4yGfYp*J-{k{>+a>C--h;WN)KeUa-0&v<+oOkKfSL;d{caD4d5Be8tdzc@au<;P2r zjhWPkUGHo)t}h&L-h%b-Cp&EaQJX|FR#~)8O~r(k2^Izc9+{ zvv`H_z^{kJ>rwud`h}Nz@_WyG?0o8gnwi>vEB1%m+G6^wJLLoY&2XXg?X;yPAKh_$ zf52;8SpMFje#)cQ4-Y;b$D^wkE~)j4`F`4(Uo9Dy2pYHT|GU`#oNRw#o!*m&(|3>h zeDTw2z5MsqR}QYjt^Lf&8!^4~iD&frR-M!Las5uKcTV5m^*{FU>uSt7^>MJq`fs<< zBkFK=;_3BvuKJ|4P^YM(^$TdoNR6|CfC|y}vgy&Gpr$-0u$K zdH)aG&!GQX+@HAr6>o9>`{SnJ<5Ou598G)a&)jeRv}s7Nr|eNQV zySric^xqNA;6?7g7N7o&g2NI0=tpM0ONE@n2B&d8*1!5L>0uz@Y!v;@?~xzjx5>}^ zqa>WcKM%rR2GE!IKIMbKw*N7-&px31gm<$r_uud#=a23p{MX(`kpFr$ex-kUxgqCH z?dtbuh_By}{`C88wy*UMtiud|9-fi<2a0`o-UYR9O4?qA+Bd}}wEsZun{qSaVRH;8 z3B2#T7yH9c`8_DQ^FI1+JTJosE6^YMB=t$0q4rO?1^YwO{@I&&Xxcx+c)kU-f69TR z2ep5~mb4E+?VlXkQ2VDuHq`#9kc}~v*UDG!O8%hsP?FN#1+|A#WJB$tKw6_|4{gQq z4eT?q^(iU4(X@w%OQC81AZO6De~@!%+CRu8H0__Q$s3yX4srrbdj~m%roDrlLDSwr zuHe9V`F-Gg6UuHh?VoMP9}d)d4@0ScSb`f$@-+Uo2lWGL@1&$P)ZWRFjpOb5&&T(S z$lFl+ry$Ny`zP6!@`KtxDYBvVPPQH82eo%9WaCK6pOJq`-bS8qJo*c=?MV-6@1)ed z@o(EZZubkcY#)Dd*$=w%p98i2$unQ?Klu>K2J)X|7VT4z|Ag0Qzk&QGd7XHW|K!`V zKYYsbM=~$xyEW$n@}H78L;jQej{QOYQw|~? zhHS{6Dr7_clvJb#`BRE))bj@@Z?P5mgZwEc&X7M9$cFr>O0gG^KV@%ne2_l{&c%>F z6~r0xrxMwaKUK(v{3-c8t z{xi(`r$dMJhq`)x%Wq(P9?IdXM*)_z&OLjlQf70u*Kal@q*Afr% zpX@rqAb%-IYsg=U0{a5_OLjf!LH<%88}gT=puRx`Addu$X^O%L;g}B8}gTM z6UPSmOM-03Us7a4{!$_v@|OzPkiR51vp-mWwcXEhu7x50$vHPe{*#i{kpJY!hWw{M zHsn9aE#wcS`%gt(81kQ#I3sueNr^Kab^pn3rG7yEQz0Ar{mE`49^^kcvhkn#kJ^*k zKDO3FeLD6Z6u+Ea|K1F}p7}OM^$%;DIkFBXzl;3`{6f@!+ODzTykU9XpXpzx3gL%) z#`bIS!erOP^p8F7`s~PBujj}Gw~p=pbgekkT&{I7KVe(%Ne&AP|_hN-SEPoiDScPEm+45D2OtYpD{$K1?#VZo2Ze(0jCHwh6Q90E7~M%+ z$K+b_C!E3CKf~_ry_xsPpYX5`Io<|@KOl_m6XGqLe@GbJC**J8@G-~xXizwd{H$GH z{+;kAgX-^2S^2_egP4akD2yaOD_=o4fpLVx_LS$JgF;F8RKi&w<_P_Z@}Rqj^D7CL zgcCTA_+(Am`JZ!q!dDTt`YH+MFwcs#YdD|eOOF4=pm3|j+xg8I6jC^8tIqwD7gJvK z0oeA}i*$~^pZz<=|FtE4PD}WGzmD3j@bVLf+xyEsW=6Z|^J4U$ci!MS&EMBkbIxx@ z|5?#B+TOWMx6sDFs#}cM|K@SE9p@{YTW^)YEv~P=i2Y#lpNlSv?}ep3WBMMxL$+Y_ zr|QC(zL)EF+AsD)6-&kRiR*v6s_TbEeIM6v@~0!}aujPteSg;{Uq(Mplc*oy`cHow z%bzV1^{MNh>g9gCd(_Jh+derWp69+%Kh)DtzG-}{hsC3QnCll@KbA8*7|$zn{m!mW z?~D3T%ICg6f7kNU#(fAf5*TVg&_Tz~yy@j51hWBRGC-}FPblLMoE zn(IIPZ9Hy1BcuF?8p#i8c~qdJ9n`*!1*x7J*8YqyZ_eWIMOvHYR) z*54~Ck&WAlFNhC6xV2`voxMMka0&3NhLcChktybReGYxPNf6|(VX>eKem&*$7>E9%q2;R3E7tZMc3IPu8F0KyiZT*&cZ z3+m6p1+p=T`pZb4OeP-e`<&MQos7P;CQo90SMOcU@95=0c3zOySd;SF{MPdEYa?7g ztG{X#wg^kv^;(a)t%p&+uz{VQ*(Y(v@6EnBUV&`9yA$?DehF!fx&2Yh`cKyu_T<<2*D|!P-@Cb{_AkQ4yEoU!zp|g77YzAVHtII|@ox+AuL9YSe^tna z{3{uK8})fxkbh;!hWx8QHsoIwvLXKphu;Sd=Lhny0@;v%CC706 zK>k%A8}hGo9LERwSBY%MztZuJ&GwAO> zqusx#ixlKv33X*O{>8bc(D)Z|CCI-@_B9&+qAn_E{EPF+K>k&dm(lpwGh9EAe`V}z z$iFJ;&X9j))SV&!s;D1B{#9@+L;jT!XUM<8rA(xUJc++w*=*_)U@*};&1m2H&Q zkbmuP2HzPzqusxTP`}Xl7jXd^|3c27@h`JwnA@NHO535^yz)p_{`K+D`1@6~#plya z?&$1a&(9M=bql{&XO64c;sJhtdH*MzGOlLxzwmr;BJJwa$JLyN*q2SZlmd4h0t0{KC~{G@O;<45Np!+lhH zMmRrrTuuG_O8N3X5eD=B!pi$R=|TRV>^m+PKju)yB=Y++@i3(~VaCt1?^7Po?@w|y z>EY)*U)1mWyiFYJ{B{gi$cBEOD$*MIeaf$)Jn-2|l$Yn(a0TZFx7hg%=l!9x$q()z zY|k^vc^nUV92cKQ^LN-Eo>+qCJ?kexHfHBBoc@LVLH-%`C4Z2A7W;61@TWaPD6Rge zTVun(^Wr%@LP}W-`+l`OAC}0*W7MyOlPk#!PM<EW&U#_L05F@woQJQ10&q^;2;!hWsTXFJrG={CVv%$^*}D6T`(N93Sj8 zs=B>!Ir$mxU+MmwAL#ch*^m7}{#76w@~=QzL;h7zm&V-wO8`*=AB$$=F^40lOCoLZ{Z5rQ2%*#KIvgq;%z;I zDdjms9>~%t9d{&QO1P zMx3Gk^kg!}2lc0C$VStj{t^A@p#JoNI79vCC9sL~C<2dV5}WtKEi+1+pRkDv^yZo~L~HSMo3X2jpMjUg{s@U->_= zACP|~#2NCh3fYi|4NVz`B#Q)^w}m}zl3XNe9Zh+tFHpt=k6RU#Yz zTmJR%MO*%=EB|`ne1AS%gdb}Dt|$DJ{=>(pk6yEC>h>4mV(D2mdj86ec_kQXf2C`a z9@M{)BOB`9D3J}dzd}EHPC@Oj6xmSwD@Qie{wk3T^>0+jhT31rIR4W)c#8Pvp=Z)l_48ye-+4v`Zp?ML(iAxbFTzL&yV@@uLMKSkIBzp z35K5UQtHmo^IbKTx&-xaB- z4r+g8$cEZq6|$lBSH2pkip>h=xc;$6-U!ghBq5eZchr z`B#B#$iFINL;jU~Nd1ERD?>KqUj?!u|EiD;`B(Ue>kIO)6xon}<;aHot3)>BU*Ti+ z2l-cuY{^Y=sXIgdm6#0juhjAe z`B#Z-$iLFR6A$vQ64{V{rT-uvsf0d*)k6RUsSlujEVi2l-d>81(`2 zuL{|af8{^z^;a}Mzd@HP5n^F50;bMnwZHD}-x|j1cPN9E_ z@w?=_Zf%DAD?>KqUj?$E->(YUkbfoTvp>kcGGs&kRUjMkuM*jie}xOWwHflS6xon} z<;aHot3)>BU*SUb2l-cuY{dQg?>@ zD@8WsUtu!k0r^*sY{JsE%<$csI$iH$H>M`VB6|y1!%1CR>?XQR)PLNQgen0-LK6rK)zCYH5;D>R z1uk7WgLLUq5)gGjN&taSLJ`oRqtc`(2*QFOy-HQeh>a>8LVw=h-TiFty3ZgzNL1u#HE!Svilb=Y$2)r|-gfqV_pqZj-*x39CZi=Y;vM_kB*7 zUx#Of^?FWNApKS5U!SMvnP7=@@8^W&Z}fdmSX{sFbHWPg-p>ik>-K$4SX{5)bHYe3 zaY3^@dq$Ywa73Tygt>2y=<}Sg%=+|xPFP-hM4#t`mAzgE5mwQky`K|S=%3!t z35(3X_jAI059{okaiV@k80kLG3EO2vpXY>S`saopavoXF0VCb}Ibe?dUhE>?5$$uo z@@6Ak@8^JpZAZA}d*%D>X)oLJ|4+{W)3~L-Z%rD0(Lm$Zao=i=ztX$M*FM~_vQVFYA)Owiy`b^c?MQpzmf>tiu76c;GJnwZukbeQG1~Em z`|&tloO1muy~F&VyZ-eq?E#HX={@p6<5MO!K6;$b0lS}z*wFPa|32*pUH=NihOU2A z#D=bal@C}R==xWj%=IDA_*b}gV`%(K#D=ba70MdA{^dTRKftbkRXk7Mol6>S)%7p( zJm~sYCN^~a%YRHhXuQe9hCHo^4PE~##D=ba`A?`1y8cytN_kkBTf^*pRQQbk0F6(H z*wFQ`Ol;_SSVe5;dRQSgy76phmIoTo+)k`7bmJLuf^Iw`E}-!&?MOc8C9m}N$G0p$ zd?3HBeW%vSRr5?aKfgTR0G406{uK}Bd^udk^#;5C6;|VXFzEceUxV|Zp!4%#4EgZ9 zU5~Ky^9NBM?qSC14&L7fbG{mMem;z)Jm~y<9>@7u(E0f^p7Z0N^YbB49&~;_5gR%` z@4h~U@83;1KOcw`Z7j%B!6B{}|pNS2fpZ9DFL+9r!@{Hf{eyp#5tksuye{Z~F8aEUF_G)(+XF74Wx}1LJKr@(b%jSD3Vd8h|eC?ke za!XUbI;okyTw9@M?`D5BEHu6@zd<{F!l>qZ9`Ur}>gk)d)BSx-c`bKBJAKD?KKlKM z+)iI^&t|_jKYv6$pKIIci`?5x*Y8r?)K0(jt#-NX^CoU?ryuZoQ$D3h^?a&!`ixig zo&HQaeYmFY*z6a))lQ%0!>0XuZpGww`g_~=U9PK_!cRC|+04Is7;$;c&`uvYrtf@g z9J1F>+kVshuWhHhMVtQD^qbo0ODxoEFZEm1PM>~Bcwdigcm==%tw- z_rt{BZiLSpxnJCgpQOVr8@WVz?VnVn{n(A%(6t7;YO&$m^G*H+8@XZ3uS}%;?`hk{ zEdNVh8rSsqu1zMLG0^z7?$(V^Rj=>oufQ3`VeNc1zJ6qdaJQ3&h5o_W8Cy_Yd60`hmu~M4r)&cjP(H?_YRg zL*rkjtnu-cY){rV&PIDc<6kB=y7BLJKL0`EUm?%X_~(XG7Bv2OVngF!BsMhuWnx3) zUqx)}LwoYg?0*v*8von~<_{YG60vbJmxOG4IQrhu_?O8u?zy8G9}BUe?@RJ96Lv(` z=zbp~P}k7-=VoVlpz$pb8yeptu`%8J^q<|ILEjh}?+ST_#=A)08;`EtlrO}F#y>X) z%L9#neop!iH2!5`BYFH}{PS~>4;udhvGL!Icl|Y#cl!It2fI% z#7Wb*-u`W7_lNQM;5Qs!^Tup^-Yhp8&&n8Iv*=fv{P4~3{BG5F_sl|UKR&O*w@AZ; zt=sfQq~SEu@gVXyCJpQTuFc!~AMUCh$%B)rZ|f6wraat7 zM;7Y)$oj&%r?Nl&W4=Ez2jyW+mS1hj{AZ^;?ETlK{fV;1x$XMoUB>hM`tj~W#(~WG z=I@Y(H*I|^y(?+>obI>w=iNxd!uz%Jo0Iv$we)A&iT>DwG+fU5g*k`2us6#G{m!S~ zhxWpTwmkNCJ#94>IJ_S1~{9k8mK%gEQ#A zumks>9yGq@P_|bloxex>;UW6l?$4|aroZ4u+8ariLzp+bcq9F{EbkxMW(?x}VB=jm zlzcd40hUMmGkJ!M>uDG24<{e&c+v99VWgq<$LfzG4U?#E{T;^BUU=&~-cKwq(wD{y zGxPqPcQ#kC?TlAxPd=3T#K!y9zVR$?1Zg;m?OVwAhtnVM_Uf$9VgLC&r~k{p#oqQ? z4&>j^J$M7~$_q~2zdS$v0rD^YZ5+=l8Rz6*T7bR)`4>Iw3!Q%p(jOrI{6ee`$UnC* zet`UQi;xESS3Nh*8S>9BMtzWfZWQG~{`n=y2l|hWsnkHRNBl5^aIbzm@4vkbh|v+6VG4GA~2^`O&No z$iHfJ<_GdGtx0{5e}TR-~NPr{^g&O5Av_dhdV?5l?xB&c@~FH@$cfpdA`KqoqypHmIs}G#1)u- zVI@A#W}*K<{^d(q9+-cb{4guq1I$0S@@(w;(tlw7Mbcpy`5^z?Wh@^w{uN?F{<)#N zA3^?w%V{5I{ENhf{L5F+9_al01?>mjs8S<}? zXUIQ)C-VdOmxvAdSN(zZ!T;*tmMfop_CWqUepcgOS@{3(Z)VmHI{%0>$iFZP`S1+; zFSh^bXJvgr{<&eizo7GvxPZpLYBtsnH2zh?NrU_gBbYyQ{yoFz7s$Uto+1C@v*d&P zOHc9n2J$ccnKa11Fgx>y&OhP;@-NImKFGgFY{aW2Y({0nn4KahX^ ztMnJhzeH@vKR++|Apfe7^bg3tv;gHn{uN?F{v}U7X#9%{(jJh1VIkTB^3N~K@<9H% zMc95I|JPXOMq|*pPo=DawQV%fyEKb4$}6kbiC&((u3fcm1^AT5ur$e!g4l-;k;AfBMPv z7s$UvY;^v8#QMN9t$*QT(jfoBC!|6Cg-=O?{0pCv2KkphXZ|4n+!w4rX#cagBb?Fs zH<&bN|1(T`gfq1N>1I5F^Fv2;`=8ZN@}To?7RrPC^Rpho=f@G9f9^B(hd}=MPuV|# z&Ogc~kbimD5uA@XqVq4$MjGT_9!?tMUmigkUlhWtx&Fn^GLVQ$(B^3TshdqMss zVnhCgc_|O_FU&_8I{!wJ2Kg7}Ck^s1E^vf1@GZ{>AT8A9VcZ zf5hhr$iJK@5ArV^#rlHAKmRJeLFeBqq(S}_${O;|{g}@S(D>($Ar11+9ZMSIpF55; z$iGNz$UirMe2{b%L`5FHY|L$g8 zq4STpKiu%y`_ht-mXOYg%W|ryJG`m+mUvhuJ=7QPtOe zXqS4vx}L7IOxJZ@U0-};r)GM2Zr{3|mbap=r?=PNN3{!B{D8jKont$Fj;}V; zbv=ErcKW2R?@`Y;f9;_9FQ?<{*BN*3S*KN=vn%y$gS(sZZd6k~wbKt9wO60=6WZz9 zp4XID`zN;3--6o1s-6Dk`F*F~(N15r?N9Z?o$d6``<4GgJAK`gck9y+ceT^6d9UyN19!L6chvRz z_I+}1JN=mUy1ecOc(k29`Uma%;ne23{4?$JrQ7=fQos8d9&7KH(Dcb|`PbTh&~)Cq z^=op!>AIg`e0x8G$`5PHKl!)j{)E!Df9`g=?mMh5+s);TcWswC<E|D4 z{M&R~Gs7^xc|OplOLE%Xjq0wy>po`p95)WZ0z5js9LN0#<4MDK%9rWp;JeTxYmS<0 z5YL;O!-eZc*8F%z8p3_D>6asGUfG`VD-P$`KO<{Swel-*f5AN?YgSm_&R-69=|0NC zmTL~?{3X{%A7uV;`JV=J{*wBCqCVXD2p1BpYrJ{<^_AvzW6QX zS5Y1|q`u|nJ4wR@te>C6{gKzuU$FaESRc#3oqYH@>l;>P`6sh{c*pvO`@b@MYv{h` zLf;$v%uRbvrah<79ysweu8%SQNL}M>ORvQBD`Mj$*0;VsdMs&pjP>!WaKF|0q~Y3e zTrVZ8gK zJ#iBK1HWSXT7ESr?E}5W(@pl$-~8{V59&SsO?>)}y2LW&3`}aP&Zl`PhcUSG)Oi%x4+ON;?1Kag=OYlW3Ui!Qqu}L$3-+qq!c0L!i z_sMC!MzzyVzP6cvn6G&Ujc%v^dT=xTX+9gY(>H1RU;VIYJAKD~+hv<}x^LT~ad%tI zNAHt%du`WFU%FrU?c3?^j&IgW^Vy-D{#d(RG=0Z*`s)4Wvr{|$>KU5xTk93u>4&uM zx4g%R^_0EZ>CdJw< zcjbO7(EVp|@><+K-|PAOAFsvv&R);w|CD@KavH`n$M?;*P}AvJLkOf$m3( zpHm*LU7OEC?tdyflMlKdE$+hoMxguA!gsj83Et%XHY=YgYaDng%Of3$4c)I6zhM5b zNPE9pCN^}xns?lP1iD`>5*xZ-EfE{KKdmA*bbnf4T@2liR>(6xZtq9)LU%tJafa@GG~x=n`_YICboZkTVgAtF zk4BtedEOp%f6}%H-Ti3fWpIly{xM!V*3Ed9?Q7-BPHaCIZQGx;XImH-w)eMr=4Grf zf${zhD(y&p(EVzKc^kT4%}>Mng6>xf#D?xqtB8&6{xsSWLHDB-@(kUN=BA_Vp!?Ah zagBHN{b-JRD-GR`R?$}Dzr7!AhFU7_*KPkk^M}1p9mv09=|6j=dwyISY|r-^$iMg` z>jU!7&AFB{^!= zKSn;tCpSO!K|TdyLq1i+hJ11hP#)xyCpI3&$9nz`Gk=g@kvv0w#fMmb(EXo@*pP3D zvW9#Mp7wxzOT>nJ3y5gYO?6C3iaA~xh(AvWY& zT!{4r`IU$b-S1fu8+zVXWLp@z|1+{K#%jy8pMPx22zvgPr>xQW#k>l1el5)QfX*-C z0MD>}?Dv-{wvEyGMqUN-Ewe2Q-4E(1Yjplmw!rV0pWR>T7NtL-^N%;Gc?>F{rf?)Wc$XRyo1A;CV&)V#!wW0-z6S4bOk zUB~Ag>A3GQH4Bk;+j0Cs+W6-u+^X4!2N;5 z#?ySXmY?(adB8F?x9mgzWX3nr#^vYGpQJOf@in_Yl=6kxcpL8ZRRwJEB7h+@Y-%+3b@rP0$?ERU4 z$o-kb#?ox>V#^~oHh-1=xtR4mjPkG?KRppiM`B~NyIRc`P{!T zj{2|;s^}PH+E-?;`-Alw=3@#^{xG#_v7Yw zO~SCHxxZ{_H}46}?KRD{~rhQuGJM_O|`+Ei*Zu?`Jb}y%~>+>nkF6A;DaBtJT^s7eEFBMHePQusn)a7>sSl5~ z^9u*FKJaK;-#^dxgB9BTi^owP4&Q<8MgRM!maI9pZNGn-H0(Yn>$mPO7p~&{0SC3) zqg>7Qg%{iQSexwi5TBn-)ck)3pHCLK$QOg)N%}7_zv@xm5AYU;U6x-xM;g9?f0j;< zEy?+`CEbwwn{;@5NoO3u`_J;rY%CvMJCE7!Kb-Fikq>t+c(fHahL{qs=z8(wPr z$KS^K!G>*rPpGM%A7<&jNW-H)d5-_Y2Q|afebL^gNb8 zY`hT3=X_iuHuOA}ir5&s37@B|k2{R|py#s$VnfeoNyLVp&r%T^%e~*s-;JX_Bt1W! zIKb*JF#i0GJ+H+bPJ2MlYstihp4Z}!IKdfuUP~r6^t_hvecB3pSpV4bo{5e54&nSS z>*J1O{_ss}Kg)MNBn^6gOCmP@MgP~o_wgf^2YP->CN}i^7N5umJ-?+QHpbAuRzDm? zdqB@`sfZ1`K4|BAtMiYoNxs=0<+Ee?KKqpCtB0eh4~x@Y`#p~|`uG}s-@RGB3#S3+Q;VkY{|%`q}ph6M2S?C-dX97j!(Cm!LlAc(RaZ=y=loiL#*MNl$F( zcrp?jI-bnLhK?sIVnfH1h1k&Xq=2HQPIDa_6zg=fmcZv%O^Iv<4NiU=#C$WE70*{MO%#Sc#*sU z-SOhntRHm8i^Rz=zxn>4yO?_=#dYggtR^6m3RbtbU? zquBm#N%`LCrB`hBPc&`Ye)%W1`wz-LvtN3Re)Si7zwi7GovrWk4w%1h`m1;MEkE~( z&Hj&;Hz%jh72Ds#`qj_<`s4fkmUmRY^rUC|F8}y``4{%f->F}J{H)*lU(qjpa=-aK z#>Zpt_D{1N=L@+1Uem5TuG#-p`kBzT{I30$e*xE*Ro4Ede(#rU*6f>qUBC8?zou{g z_xA3a-mBm8_Uo7aUcdAi{nqyiwny*xe?OzvSmH7k&M9t}k+Spm}Y2{~c@@#unNWzgWTfWA?4nQ}Z*<)8l&k znda?rz5Oh^^tj%Bmfd^Y{}(^g!ac6HpXs_D*W1r{XOHXcXL+>8_4YG8(BpdhSv}q3 zdi&}A+~a!t>HgT`diz-p=yARMtWN52z5R?w_PE}DmZN%HZ$IPBJv;-Y@AmBNr@yMl z{lD=u-`nGQ`+NT? zZ;$KkXRdl&Z$JGdJzOK{yZ*iXOgr|t-hR4sdt7fn3-7n7`I)!walQSF+flxkpKjwG z*V|8b9{n*DKjQ*DuD72)_qeI~8F%gBe#$TRGk&+Hwe3Iu$V>g*dEIXgc>KBNTkZLu zwU4U(od4A!eU3j*n`wxP$8f*IEmzdk$D<>;et7j2HTCf*X@3>@pySbS%@xkj@o4ds zH#lCk}YVVnfHHh1k&XsK1r@gN{cdv7zJ9Ol;_Qv=AFQ9`(PcKInKf5*shX z=J+HN8#*2>#DTjn$=y)^|8#*4%#D(qv1~KgN{clVnfHH z@ei~gbUa#!4IPjAyO=-dc+~%qH0XFV6B{}n4fn7-(D7(RZ0LA2+)F;_c(f23Iv$Pp z(H_w8XdyPY{~J0hlHsp>NkdJ}bkdKMjkdGCyAs^j0sSolo z5F7F_5gYQcA~xis`xf;u4&H?Riq91=r*Q4 z$j9oTTbv;u)5EtoLq7UPZgGZu4D_ubAFJO`ALOIkg!zMfOvHwK^gXw7{^Hio$4qR< zN53igARjAYLq3MhXgkQqL~O{%v;}F9k8Vra1M)Ew8}iX_#qvNtW@1A=hOJp1$j6G< zkdNWpBuwWXCyY{ zXR-G_eA!E0>hHYAE;!)%p|399_*sTF_Yb^!YTxnG#>@OT=WBoWUXA$~SDD56o8POE zpP76^O`U~V| zAvWY^+J^EVKOKE*_}MvMV&`+$CLiQyx}P-2PxkVydWAO8Wk80#+A>ZiyJZCcBPn+ENS>5`P zGvufH{YTD_pMltrpNZJ$#!uo3m$B@-q+{@-q?FX#6Byf&6rLP#@%HxsAR8`I&E@%>M4=&d*RyX8x0>_(|V7 z>*Lv5KhK`*639Hom?1NoVW4f*NsA|K>uMQq5=a5rrS`I(3f`I+t^ z4f507OM5_mW@1Br`ukWO$j?k{$j@*;%LDmY5gYO|JU~9k&+jUyLlV`}!a31d`(D<1iWP5@9tcVTy=^kSHf&2`_ zhWt##hWxCE4f*LFras8eKy1j*L~O{=;+nUzT%zML-pVec`ALM6voMnOh zEX0QVjDKQ#g8VGRhWt!V(0-7g?n%}c1M)Krr9B`&6J-tgnZ}R?`I#=DE@=Gp=hNRHKMS!T zKLceA`B|}jj4yl1OZ`3Qn}7YzKz?3(=Ag#UIhy_30msj$x&C-H{RQ>-Id&G8uf#`? zpA~tA{H!jgeIP&GEA$`8&p>R*&qQp<&x+WPpYB!agZvD{hWt##hWxCE4f*L_qdv&b zKy1j*L~O{&yZ z{B)D45AxIPMjGU&`z3t|@-tt-{6K!jU-0<}^0Oi~^f$=QM4ll(3+q~o54EgDXkOujghz!ggM8finTZYg>8B+h zkx?E(2&5gYO|IQkakXBmm_AV0(O)Cc)l_8}kSr@xB61^HS1iv9-qnXbfr zke`Lvke`vV#+SY1rT*@)>l-%>d^3!ikeUP7#*pQ!@*pQ!v*pQ$8+tdg78Ho+~nTZYgS%?k!>9?Ui$WOQM zkU@t0tcVTy85d#xAU^|rYsk-PUdn^~^xKjL@-q_~@-u8leUP6Ou^~Uh_T+>7EX0QV zj62XCke`{@ke_)c(jY(m&a?;QXGLsi{0x!hf&8q94fz>&VR;}w3$YprB#f6&Z7%(hQGeeSlxSqJV~r{fdj>%Ysj)31H5E&s&9_4Lv0 z^!KOTtxlIeHPb^oeTR#h`Q*0z2JQ4CS8K||uAd7Ad$xVWoxXhApVjKkawoRam;Jc!{Lg8pAK12E-`CCU z^qJd!D+hnKZs!&4^m86-)=TB9cKU_;_MLu5JN@x?eXCQOZ|dIJPCuqyZnb99|1Y=G zXTGvo-#qEidbyL^=}&IfOm}BB)4A2GevN6@H@4qbpP`+;VZZ5LX{Z0aZBJRIc|Qzm zr!Th0?scT~8r4ppPwhFXd0+80v--7a+duiv=6yK2oxbw>?R?sP+n}BPy+1WyxYBly z?ey!~{`AW>?b)lHKF7Z8`}yb1{$*;X|3dHEw){Em^fTJ`TWqIa+fHvUw*%KMM%aP4;+ww`%ec$pE+UdXiec$r( z^LJM^?<0K={+zbFzpC%_+)kf+=4Sp{uPfT=iyYs#{7vojwRcKTsYbAZDuf8O-} zusX%5w6=UX=9qfQ-0k#D*KW3Zb!;=;x6?0MuUT$v=Pz&nxNS2%AJ>!*ZF#?c(?9Ar z`T26&KkA2V+VaoN)wDmj6Y43kou1}z`X_(UzJJ>3d$ij{@2jRZzcKpg5p{{YRnrem zueY7i>(2~rtiLOcS!4Hs_HP&F`vCUJGaX&e_sVq!^Ba9DclY1w{-N^ZrQA<^Y5jYL zh3_kbc`mN0k4H(Dxi7BK{%$qz#eDzj;_i6V&2SRm%RH$&UsRU3%o*MO?vj@|58eJQ zafEJvmpDVWze`-8+uvP^`q1s~5=ZFvcZoA}`@6&iy8YdysSn-$E^&lzf0sBzx4%nV zpxfVFhWgO$?-EDo_IHUhbo;x+1-kv+WvLI^-;M8|%=wa&yW>&+!O70h{%%EVXn(g% zPv3&}cO$XU?e8wf{Gr?5CCq1)djuAtlBU4eY)_IHU3bo;w2vcAym?-FO| z_IFn%4c-3kDzpc>{axY;y8Yc%SsrxzyTlcA`@5rA9(4P=#09$j-POp4Zh!Z>Gx+`B zGhFhn{{B+6@+6+~G^sltEtEC1zw2J*lM}SR8@_UqGqk^3?7a-y-_0|gp~sSolq5F7F{ z5gYQeA~xiw+lu-iKLfELKNGPbKPzHGe!8ux5Arh*8}c(*4Dz!gHsojd#wq;X;3=J- zd4p4&AwR>0r*Oa3DV?8*zBS~hBd%$`Z&rPq`Gfon+psK-ylB=u^~Ux zcC;Vlr`w+O1^F3>4fz>%Bn|SjA~xh_+==CZ{4B(V{ER!35AxGRmIv}P5gYQ;?Lt1t z&-}+TxSw!}pLzF5d=FrXpNX=D{H(^E>uMOU?Ea6kJnvnQpJ_Sz8{}so&yb&)*pQ!| zvW8yrQhy))>e1^D~Mj_!)51FhAoui zEy&MEY-s$92Qz<=pM}_vpXm_V2J+J#%KIDSXCgM_r$3DLgZ#|IhWsqVhWsq!NrU{1 zhtnRApY8~j2l6u!8}ieApL~#?nb?q@{z%#b@-q_~@-w}Sn}%=4&j%-Q{e6m`{s+_t z`5DjnsWZCq^N08c^0U}`8RTdF0X~BKbd)vZXQHg3m%Qx$Uh~v@1Nj**Y-;$kCr)+z zOt@*(e!e^t-|fG+ruNg)my-thS;#l!XFQYl3&_uW8vO_Ivk)8d)1OX%f&7fbhWyOL zhWsqVhWzwrP#@%HBsSz{CN|_}AvWZvKa=_(KO?arKQpl*KMS!TKm8=?gZzxdhWyOL zhWsqVhWvC3pUUrro!a?X5gQsm<07Z>eE(BBKLdSh$j|DGlbj(x%UR4H~v3Y{*Za$p`rvhMdW{lQXCI`3`=9&gW*z8uBv_I*;e4o!9x9&%!^DpJ5XH z4f4~GXUNY;Y{<`I?|sm#^Rk_=;l2lt9mvnb{*S%lyi*@PE8H|{Ki{6oRWGoA3$>q? zex5YQPyZtOx6t|d672=~nSMoogZ!+B4f*M=Wcz^p48(@~OvHx#tcVTy>8_$a$j?A* z$j?M<$j^${ke}{q>Vy0Y#D@G##D@H=hzR*&tx&k&x+WPpXt_9ouTnF z{Qgw#f1KiHAvQFA2Kv_M{QT=lt^)a4UCaDIeuiJOERdgt*pQ#`I(!28S%?k!nXae( zAV1v=tS`vVKy1j*@Eg(~KPzHGe#YOjJdmG-*pQ#`Ch|dkx|>-Z$j?M<$WQk>@&+x%{&d~Uo|Bj!~`S~~c8#+J9bI|!o9HH~m-us|e ze?Qmy(}PzI+Like`9rke`Xz zke?N?AwS(i)Cc()hzE`DO4am<-Y-s#+^sOO3)116NKz{m{nLo(S zOl-){@CwTY`B@Pg@-w_jKFH5PY{<{}8tV)4GZP!~GrvI^o39w$RC#CWepa|?)P7Do)cJ4XC)9pg zdIQqX`AJ>^`B}EWO{2Zv&wat?70Ay(Y{<_ z9!&8woQ1C-KMS!TKP&pyke`9rke^{1<`43-A~xh_oc3~O$j?G-$j>+(`5-^t^t2!3 zXCgM_XGLtt&uT`}AV0%bXb;HGLTt#-I1|eQ`B{h!`I&~YJdmGmX4(VtGZ7o|Gi{5T zhHuUfrH2_mL4LYfs1J)@$h8cf7v^`lpho+*erx&`Qe%E*((YS~pCCUo`G)*--==LK zKP&peke_Z=`Um7^AU5P@A~xh_MQmvNbi=3*@-q+{@-q<|^0Oi~;@iYIF@e<@`I1gVzeiq(4 zhWw1ghWvE1Gk=huiP(^zevZqXAwM&*AwT_`oPVnb?q@eqNRb@-q_~@-xiG@<4u8#D@F~BgqH(nYTNW-w&ALXL#%^XUNZrvWEOj zdtKlR`5Ct5^A6-^vG+2_&%6!eBgjujSwns%${Kq0_w&a04jeX+pC84hMt*PV<7aq= z>nl)?pK}a#<-|*B>haUkCy)mD8BW4qke}g5)(<*Am#06V^K%8Z7j%9S2k87HPSE*D zTtVmOiqwbBPvQWbpTr3|KZz^o{9K9p(D_Lmp!1VBLFXrN1)ZNOQy)4%i34FL{=_WNel_xXH>&d*huKXiT) zC+PefjStZINt~hcb2ajz^OLxO&d=3pJ9K^$C+PfKlQeXGj-fr!`AM9i^K&hh2c4h9 z89G15vOMVgB(9+IGmsDRvm9}zGc@&rEE{&q8d- zPrp6&L4HPJLw;srLw*)wLw@=ls1Ncp5*zX}6C3ig5F7H-??`=+pOM&*pW%+voT2g4 z-HDGNKQpnR@zc?_hQ`lyC+{bapK&MV5Aw4R8}c*lOxr+yx`;m@KNGPbKm9JWALM5y zHsog^Hsoj7l{CoDxEt*O`RR6Nc_2R%u^~U*9^`}k%*2NL^n21Cke`{@ke~TV#!u+{ zJOMvJe)_$r5Au_T5%BQ5pLc%7yV)NB`RVSWZ$W-m#D@Izlr`jMX4@Eg_4jjy@$X(U zke|Q3W>8%vFE({Q18y3%pI^ntSMd>QKP`=mhWvD|vA+wQpMRviAV1w9^f$=QKy1j* zL~O{X$-*ZgH!{f2a5(b^ z`B@Pg@-rTRFCae)u^~U>_sIwO>5ioRAU_kaAwMf(Lw;62Bn|R2{D}5|{4B(V{EUg^ zf&47QhWt!Nu{@BU?r7Qr@-q<|@-tn9n}%uW&ygbbh`~dqIBs6ZyOX`5B1~`I(6g`B{h!`RPxhKFH5V zY{<_{Y{<_-Y{*al6Y7KfjKqfg%*2NLEX0QV^e0mv$97ex|n=KS6%RQ<*==&q8d-&oq&?f&6r* z@qPvQnTQSf=})KqAU`v)AwLVTAwSERq(OehNwf##r#p+~f&5IwhWvDAlMnJU6C3i= zpF?{#$@StXe)^lvc1AaTo=bgL{KDq^keenuqx17!{DjWWcj#N_{3NcR z^OLe3IzQPq*|yP_`1!=Q7d?ES@pI?Pn)5^9!>Rk3anq>%9EqPZlZM()(g_!h&d*u! z6Xa)jkNt7z{QN2X0iB=35jsDKGjx6u7wG&vkNVL0NgSc`lQ=`?Cvkz!&-1Adou9-J zIzNdsbbb;S=={8Z`q24F9HH}*I78aypHUw=KZzsAPd5S|L4H=mhQ`l0`{~Y* zpPs(0(fG-GBSYus&zV1Tei9ex{LHisIzKPO2k87HPSE*z5$%W0PvQ)npTq?^KQAE- zou8M|9_akMjO9V+Cvk$#&&$b&&QIbDou60G9_aie&d~XJ8-7Ca&G=bxod*1V_Fsk%uB-UT zQ}?srrcwLphw|HTq@nhcbmh7J0`fB~#QrdJe$ITd3m`w;ujy})pMltrpNZIzpB1qo zKizfI2l*L@4f&af4f$CS8}id#PkoS|f!L6riP(^z6|o^d-3`CTX!KAi51&QJQ*8}f7L$-KW#?)(hDVg4XLD`G=_ z#^2%#$j?G-$j^8a`5-^t&9oonXCgM_XGLtt&*~P^AV0&cv@)|0t@aPkyC zXQ8j5^OLwh=O<+YbbhjJD$uLHpYN@*%7E8bHom{9k(QY-$f7UXzx97+{}pOK7aYp7 zTNxjr_LFqnfcqCfen#>P`B|2y{YHEJv;2|%2Knjl;qwdRXCyY{XC^k}XCXG^r@xo_ zAU`9qAwM&*AwLVTAwT_n)Cc()i4FOgi4FN#hz@&rEE{&q8d-PyYb* zLF1=C8~;Fl7GgtwrgQKWX$<41Z#IAU`W&Lw?35SRTmFLTt#-_$2ut zKg$beIzxVjq37_tuyeZcvryKMpYg@)4EgC-qHjUtXSD+T4e~Rsh`%5|3$Y``I$F9*%|UP z{FVL(`I(3f`B@Pg^3%P<=Nrh+Ky1j*L~O{l77e!73r9+01z*pQ$8W&8p8nTZYg8D62SAU`W&Lw>qfnLo%+_d02i zpNZIzpZ*P&2l6u$8}iftn|zR;6|o^d!<)1R9!Z}xBV zv&T(!{LHv%)Z^!(LwWWu`>#-spQH;e8uBxfXUNZLQ$BA%ekS_Dke?N?AwS*QY)_D% zf!L6riP(^z6|o^d-8<9=`5A}}`I(3f`B@Pg^3%ObeUP7l*pQ!z*pQzUu^~U*d(;Q{ z8Hf$}nJfnRSrHrZGdzlaAV1w>9FKzh%*2NL%=E1xKfT4E@w0lL`GfonAFwQtpM}_v zpYcP+ACRAg*pQ!TGVKTX={{n8L4F2eLw<%&NQ3;Whz}xmZ={} z=jSO8Co=!U{PGJEoP!4#+MUhs#R)FJ-=?8_oXO=vc^L0WugUWNN_n_!e~R1hfxbi< zI3#iQdz|HOEFT_YepcW8gZce^f;)rd)xSscPujw?`&e8!j`{s-0^`#JcRB5|-~V#2 zkbZfByP9;d^sCH|X*(TC{i9~$-c{qc((a83 z>~9|LmVSP)^Xt>Ur1PW4yY1Wj^l$Q+HuvIfd*7nHZ%%MG+VWYRf1C15dzSvR^{GfF z7&eaivHtEI(#-Gn5&V7``GK@2{lSQ4dxm$JzfEiBAKoL)v_yYe{qR0%raj8`&-6$5 zfaNjm8Tz+=KYYmcW7^AX59^OOnKaXOw*K9N^hc~O{FVNK(J z2lM-*Oxy3?zQ5-*{<-G;sNZBea?QTK=QfG7y+4(I>im6w&+gcM^JD4tYleP*w_IzU z2L>8HUwymLD?M~Z9o)G8G(6p8neO=}Wp(;{&*8jZSFc&_AN;<<{+z%4$Lci~45PnE zhq*@AJg{ez_H&PR##L9c{vR{G&N;f~Wt$)6-Mph~o?e#q|CIWqjen4~{w!amJPdh_ z=OdB!#KwC+VtX7w{eLkd@TXAzx5HdTY|MVd5Wbhq`6?D#N0#S_ zjf20_Za?N7VaFRNZ_9s$^@V3E(zHLlx_ZrQi#GZGHI@wrZBF}ne@5nIY{dS*wKtPz ztWAH}{QT>bhZk9%mG|?oeE9y=__69RSI9H=XZijhJ3mfa;o+T{`r(b$d0y`7?!)z` z;k+U1M}HdoEW`8NR_F7CJY)KHeKPA}taMcKd6EB3d*I@k**-iEAPlEJV4Ghx+bhmW z`(X{XpS8b?p#Nbl>c_qKynK`P!$!w5KYrgmQP+5zKP5H>Ojm@n*?Q!q$ zet;FM{kzgW`qmg`?IXXUFO0L>_4m{@PP6wL<>l8c$MyaF$P*Um>*I$**dDx}RQ`K+ zkfyz9K9&bJ+54UTt5_G~)7xo(ukx*yuD_qZ+WyVU2J&;+aeSchs^)6;Z|(PaS9U9Q ze(Lvm<05PFec&~_-{;Nm^LwnI-{(yq@>`}bhV^y$l0PCJo}j-nzdxHlAq_9t_NBk` zr=;PF=}3RU_Vvsk7H9qJ_jvO{Yt~##c}u5-*Q_~u0_CTh*%itf`aRzK8S{f4+aBcm z1=g%tg!=aTyoEeNzt0;#=l5#iEw+C?k@1+=cy=&pd;b#~Z_dN=`8nKcik6b z_@JfE&h)>1K9OgfHL@w6hzv28#4qYxXL+5406z`M0-9PROZ9#pj7(C_g^ z@(ukSZz47hIl5V1CN>tQzpXum*yuhF1~Gqlo&Inq4QKpVt7aeClW!j8B56av$D4=^ z{T{CyycXXFSj*k~6y@1og|-=U?m(LH(359u{SN(spOM&@d!43yW?LD)O?!($zt@{6 zYv}iSD`Mm3tyrI-GrPdD4E-K&A|D(^Q(|87iu zSaKTP|D@f9Yt+bBw+ZDzex^&*s-AMX^bliaDfqaaVHEvp)?Zfz+)~9_S{}OqI{HxYm!x{1~Y)1Q_ z^N+r$K>j82jGI}0?H6?m$j3~cAs;JZLq59AnK#JCKy1jzNNmW*L~O{%Ol-(UzXkmR zBbUQB+kW(qapq=2YX35AGvsHWtg#;3H{8kZp|ftr3VfcHJMjNo^e1#aQZ_;7BXI@x z``LaF{m-%t`~B=lIrWSzdn$k6Mx(IS)Dy~Kg$@F50~LX_znA$ zw9Sy8c^ldb^0V5Gd>F9^`#aWOtI%I?FrR0h?Oj%9elQV#GuzXxMt^~Pt#+V3$XCB6 z{(yXSw8fCG)sB=0`RaD!{R;9m5gYQgA~xh}AvVlcKX_*DedoOa*RegV{f@R9^40Im z_5=CqDQn2rK%OCAiWJZ#HnJWSLziv4l=r?9TZhQ9GN&^AN9y6><&xQg-CeD$oG zAwL6ohWt##hWQzpzgwC9hKlviq&QSs##}fwmd)GmvLI$^7c^k+x=# zpK&+V7vyIlHXdYstv!jh)c9unjJs1FR zd2?gC<4?B(Y0&X!MQrH!v+T(7LC2qYC*}n@{tP>h#mBMT@n<16bo`kj>ksm!+J*Up zjz9gbv=_SLPvQ*S@#k*LA9Va#hz%Wox;d$N4c@u%O5<$;br{obTO z$Di)I%nx+@nTU;z_z}>kB&mtiDHo!J4sIemIzX(D7#>Hgx>y4`tb)<4<=O^9LP&W@2M6_Q!i4f9|mP zknY&hjxiTw|5C@A_V?pE7*Bc~Po8`{=hHa;RGHUyW_}!hD!m%{|IP8|LnrPy;PsWA zr=7O;vz&5t?dR|bcKrFD&%X`J-RKOvzLKwDe}D1~HTCt+RoVaf;D#DqUrFQ}y1tV3 zxXu~6z7j?=KhX7+L~Q8#N=0nw`ifiaM#k40yXz}~*wFQrL~Q8#N=0mpy^zm4ey`iD zPJPhzl|XE~!1lKDHHp~J^_7a)(DfC!2K7PLR|2u2>nn-a(Djvy*wFPAwZ2XJcir+*S??aX1<|D*H@~&u5*U2uf#p+Z_xD>PoD7-ewd$$*wFPA zN7 zepcig@-rUI`hff_JvVZ_cZ#2WQ|g2KjKqfg%*2MSe->gxe)`R*5Arh-8}c&~8}hRd z8}id{PJNJ{k=T%*nb?q@h1igvehcb@{EWoLa=d@c|4eMi&q8d-ProJgL4KA`=qr$) z`P1t-pEkwM@Y!|Fke`9RHRNY?6z?aHpMERm5Arh;8}c)3&9Xs$R>X$<4BsXn%lhWrdWuso2T6|o^dGyeme3D`5B1~`C06}4|?_YbG5In z@Rx!7?76lXKmBP_A3yVQ^e@!o=hd9A97_Lz`5D(_{G5q2$j?lkAwScxe4c>(j62hR zpz$*k8}hRd8}idfwkOEXNNmW@Ol-){LTt!SzYFz2enw(Ler94reimXwe){iFALM5w zHsog}Hsog^Hsq(@mHHq*Be5YrGqE8*gX8lZ|@5aweY{<_@-x~6>@ZK=w zXWotZgZ%Wn(;kqY6|o^d!ydE+5pW4f&7fbhWyOLhWsqVhWzwD zpgzdYNNmW@Ol-){LTt!S|3m77{EWng{LI9L{4B(V{PaJfKFH5VY{<_{Y{<_-Y{*Za zs1Ncp5*wYL%it$;elCljp#9rSY{*YX-x~5W{gn3y$j^8b^9T7^hzB&-)f>&fk_fn*H0qZ$H=#bo`kn-R=zYv;2nh(;MAhQ~S9! z=kvaKdyV{zj0Jo$l&~{B=7=%mCu?Q+bGDs8~MI{&r3Wx{=DnXGXh#0UD2?G)o(e+Q+}*o$7v1ozv&sb9Wzo{nNEbM3Z zpNtjkXCVvw8O~(?U_ZlIl)--XWMMz!+4KkYGn0k=j6bIy>}Meh``P`1@qqm-WMMz+ ziI?&Fx0f|P>&2A8es;g4J=o8@+U5McpUaz{{dX=6!hXhYGv8o8D_Pjjj%|hgEF2%< z+ju`${f{d@JCUEW_8eYz@>!HO_p{)pke^9@ZpVDX;OEC#Kewd}%}?qQ*w6I6OZh(S z*?y+qQV(7~Gg;WrN*4Arp2zV4`BfllST9MC5|sNKVRn9Li3ZH!G3nkt?>F;Ph+mZ ze&&nVKiJQBG2;RIS;)eEc9$>~u%Cr2>}R@^@q_)WWMMz!W$Yj9XS{+k*w0KB_OmPW z2llg&h5hWVq#o>NB@6qRu3|i3KPy?-&wR>dLA3Sr%FEc_Y(LZQXb<+YZghDNUO)4{ zG2dW6yYDmKU_S$O!hR;Qu%A`uKKM4?&$XXj^otYudCKU=`uJSyoBJ8Qhkr1vpXc%X zb~o-n41Vs)`uR!9U_ZOvb*|0!v!2EH#1Xvz$@SF!dd^j_pM@;!XZR!if&J{r!hZH- zVLuC5*w5jEyL@=pes*MGKYOyUpM@;!XSk96!G3mRVLyAau%Cr2>}R-%_Fz9dvap}M zGT6^T7WT7WoO226XSW3B6WGs67WT6+x59oVvap}!X7&&Ev%7`9zN06Zx6P{7g%{xu4zlm|qyyPy8$gFuySPxf_1&$9#hQj0f^~30^%#-87n zi#dP5ex}FRKiJPo7WT7$oUwuZ41eML2K(8Qh5d|wW&B`2Gg;WrN*4CBK0z7mXL^$H zfc*?l(I42)o-FKVc$#{!pP4MYe#U1Q57^I47WT88!Tf>!%+Io(f}h{UXK4@iGydxG zAna#<8UBI&jF&RsU_UEa*w2n_h5alXAK}}0KR>fTdTt^=U%Yzs`E9r4oBP@0rWn@G z-*Wx-XwD@V{M?iGSH8*p1N)h&6V1fg)HnRA7l=~es*MGKYOyUpM@;!XLyzNU_U#uu%A77z~8S)xq$r) zuhAa5-A7-4_PcW~f&J_f>nGUHN*2ve<~9oZ`6tc?u%F>|_7C>6Cky)-`E3qiKQmd_ z&p3&Cu%Cr2>}NN*@crDS`Pq|&{p_bw2KyQ2C_y}yMz8N=vap|V8vTL&%w%CdyE*9( z>}Meh``JyW9_(lQ)n)iL+t29tHr~&3K6Aj66Z!d{%T67d^vjL}Mql z`xzIdJ=o7g7WOlfh5f8#VL#(yv}Mtm`x%$v{({%fL>6109)`~+q~$1s{j6kRKl@03U_Zn1^au8{ zCky)-SD-(zpP4M|XIznbu%GDy<`4Q9M&FOVoB08+pP6li{p>coF^J~p!nB3v=R(Xi zG(X7|nxAajLGzPiQ^2?Jem=C$k%vv>=P%D0ZIR-e`&n>P4D089yx%#Ea|s4NDc7mY zH`vciov@#2W9A3Ees-(V9_(jN7WT7{h1bup2FDBRXGa$HvnLDtS;)eEhBavq_Ol}k z``MF){VZf*Kf_wI2m9HPh5hWw!hROAu%BUV+JpV<$ija1s?*QL*3a%|9AEJI8P4L^ zg4fSX7G6I)=2qCxvJvM4*w20)_7CoZocpM@;! zXLu+32m2W|qzv}6Cky)-H=;kVpP4M|XWW>2u%Cr2>}R(L;{p3w$ijYhGnpT-pZ%Py zFJM2rO=%C!&nxf~>}TGT`3C#hZNmP*eg^7<{Y+$GKda7t@NK-GyRCHaw2Azj{M_WB zNjz`#{m=V9GIhfBv%YW*-%obU==ymH&u<^PW?=C1SUykwz%>KSPwF!?Kc`*8-|t`_ zW7mh$tCYchX0ouKl`QOMeC?Vb>}Mhi`-{fyHogZ<28VL!XM z=nw2?Aq)H2y@h(PpOq}^XPTSwfc>mw@gySX^LAlZ<^r0Z`;x(arg>-&_A`H*`G)4_ zbjr~DoRj&6<|lOlnxEtZ%}<^C;M;gV&%N)vmrms8KVFv4R({}JvlG(V}!U_bkLs0aHQM>t+!KNDHl&rBBfvyz4VjPueS>}Mhi z`vC>@{p{Cc{=k05^>GpGXJT%J{j75{*I+->g6tpcXC({!*)PP{zujTKx%=WV< z3;P)tVfz^(o-FKVSdx0MpP4M|XIzT$fc?y5 zVL!W1a=wE7Ec-FPU_ay1vq zudwMo6ZyILA4dJ`)_ik6BW{Y}`Yr2ceUjr3@-rPj!goK>KiJRiDdq$0XI=zf!G2ce zLfFr^4D$o_Gm(Y;%w%CdD_PjjxGe3#ekQW8pP4M|XC({!8JD9y*v~{3_A`@({j6kR zKVzgl*v~{3_A`@({j6kRKjZSWhvsL;`2fw&%{kuC{Cp3`1MFwd+zR^{$OB*J@srP| z#}(K=*w0KB_On}&zQKMLvhe!ZtwcT8&q@~dGrg7j3-&XUh5gKLrwsNpuFQDAeipK@ zpWQ0-2llg&h5byc(jVB*N*4ArtwufA&y?^9>}NQH`2qV`*;d%k@EhvEe%8e}cfo%4 zi?T1UpB;6=erB?;pOI~aZ{z)3XoEklG?AY>Z98>nlGh#e^Vf0W=eOyO>v(_ax=}wb z}UK7;|Keh$-;hCvap}^ZF<} znaRR_#-|w%*w0KB_Oss3xd-;MJT;T=|C`zTjL*;>>}Oe>^IQ1uJM6&xgZ&KKGq+$r z3t8CD$hN|MW{!>UZM>g9x@zvXPvmE}{HUL4{Wtfs$4xOjzs1k)YR)B)pYgjRq5h8f z2m6_+6J9?{V*KFsGd|0FK=YHFp!rG8(EKDGc-TR6`G&V(H@$g zX!uX;2NzTyxBv)vD{*y8^ zKmWyep!xYK{Xz4S+(Yy8HR_@HNzTyxe4X(?^OKyxex`fz3+!ino%sQ;pD|n?g#GOH z;8=kD44+~y!G7jFm~XJ3X;1bK_OpOwB<2U~XCe#xnaRR_R}Mhi`}Mql`x)n; zJ=o834)X=}v;Pg}7TC{tF6S3CKbhMM%}-^ppK%)d2m6`H!hUvh(l^-8LKgP3n@&C0 z&q@~dGtI^Q1^b!F!hYttDTDot^DrK;pM@;!XE#EBU_T34*v~XC{ek_gWMMzkeAI*e ztoL*7f&J{KaDKuAOp!j%R@qkA&vF26im~-G?8}DG{M?)QhUVu!_zBHVa)IV2+jijF zct3yk_xGJYk)NO4dDPFa;hXzea8t<7jGx^fd3*u+ndRqo_zCtiQzz_a-H-VZW7luv z{2U*!pNTB&XC@2#S;@kF#sz2(_A`-%{mf)xKPy?-&$uA%!G0#Pu%DSM>}Mql`xzIa zJ=o7g7WOlfh5f8#VL#)-v}Mtm`&r4te%2)^gZ)fPF&?m=VQKmU``MF) z{S3=c5B4*Yh5d}nG9Iv>nJnyQLPTLd)10i|U_aw>vU2i+}NQc?ZJL_WMMyhvap|pEbM1Eh4x@S zJF>8!Jz3b#LKgNje4F-QKRdFppFLUF&q5aVGkk~kU_U#uu%A6y*v~>1_A{JHd$6A! zd0_1Q&vGsE1@^O_$@_(1KjU>b@%JQdYJO(sR@l#|4ED48F8c@jS;)eErqgZ-!hTk= zu%GFB)PwyD-)H<_KYOyUpM@;!XZZnTu%F%kVLV_zD_Pjj^zZZs_Op_O{p^28e_%hu zj~EZw&z>yoXI}p1Ana$@>Sn&5?&jua_z&8H{p@~qa}f43e37{X`1_OoMK;oEpW|F!k)6Mp~gPo_^Anv@TW`uXD%C;t7iw91`946i@00 zeiq(udF74)`&p@e%3uW-^AGS+pz7O z{65-jKRdFppFLUF&q5Y${oIcBU_U#uu%A6y*v~>1_A_ixd$6A!S=i5>EbM0?3;P*% zpgq{njx6kFPZsvGkcIsWAEiCm&yGCc&kvo>@dW!B&fwUB*UwBA_Omdz!hR;Qu%F$> z*gx3MLKgNj?a1*1`&r4tex{wM2m2XzX8d43d$O>fg)Ho6*@ZIL&+Ze92kd7h3;UUN zr9ZHrl`QOM|4I4-`x$m)JYYY2vap}!@5~R_&$JNh3)s)FJMF=K=6&x7!hXh2Gq+$r z%bx5H>}UTe_6_#4l7;l@8`M;J$B?oeopJB4o%Y5qkbOz?8MJ+%gwX+{iIo= z>*rOx|5;`Y$j@{QpC7t{da$3}m9zN$x>?Q7yv!_KFVJSp&vFObgV)b+=d2*?XGa$H zvnLDtS;)eEhFP=+``M9&{p`uYeipK@pW!argZ=Et!hZH-VLuC5*w1h`?ZJL_WMMyh z@_;`dPq~2o4EN9;ync3TlcD*!4)xIdBxkUnJ##DUXCM!Zy}uIfr4077Cky)-@1rf) z&rBBfGu}@<*v~>1_Oq*u7wl(G7WT7$kTTfM@DSqx`3&nZ7)WzbDSm#;y<5<=7tVXTL1_0{hufC+ue? z3;P+_R`@pF&zpaL^^Ozyd6hqZ`{&Wm_nq_xex`5S&G&oVJ-UAWj`j1)cMr(VdOe>X zI-D}t&q}@U`We@_I|%z(*_W`N@hIxSekQW8pP4M|XC({!8NW$;u%C%6>}Mtm`&r4t ze#WC|5B4*Wh5gKAVLvNb*w1(j?ZJK~vap|-EWCbJvap}=SlWaAtQ$}d%bp&F@9)bS z(jM$*w-MWd{S3^lu%G?v^aWl&<8jo1{mf)xKf4+15A0_l3;Wp}Pd(VrN*4AroxuGC z`4de{r^-u{3KUse$G#Ou%Gex7x+G%7n+}yEbM20!V5vz&%*o)``M92 z^K$|A56w?%};WL=I4^sgZ->$GJjw{!#T_iG(Xw4g8dACpdRdJ{3>$`_OpDM zIhWo%h|VC-U=aA0K;v}Mtm`&r4te&!Q-{DWo3 z*3Wbj#~18pIGOnb`&l`6g#AopVLxkR|6o7U@{9-UXIO#b1@^Ni3;P*Xq#o>NCJXx+ zSK|JH{Y+$GKhxVNgZ->zVL$t~(;wK+urmFD{p`uYe#TYk5A0_q3;P*Yr5@~O`58We z{Y>XFKVUyI+Y0;H@rUGu{p`L@8SH1(xeWF*AHneg`x)3)*w3DAg>U2iT=vF&Cj9&M z|5$bM&?GN??68o24__zxez5fZdxIF(&#QTUyZOBXgP*tI=Vp|_epc#5^Yh#H@P5WU z&CmJ)>cM`-E$}TAD_Fz8~S=i4^7WT7}h5d{lq&?WrdLDBH_A{S<58sb;PxG_8;GQ6wpQo@r zG(X7+>}UKC`v?1($-;hiAEs}xpM@;!XZI26!G2bfg)Ho6xRmx_KRdFppFLUF&q5aVGh9Y{u%8`S*w3CU>}Meh z`x!2$J=o8VJTP|sw%?v@!G3l-P!C=|D_Pjj%-jn58I{3)c303I>}Meh`}U6_hl8-6^_!1!edf{TXFQtygZ)foVLvlj*w0E9_A?$sd$6C0EbM0{3;S8g z!hXhMX%F@@k%j%tWMMxmS=i5b9PPn=CbF=fnJnyQB@6o*XV4zJe)fNUnD5hgc($Ln zGk?(hBv-JXk+~i4_a~h2FxO`uZhpq&*+1CNOcwUDJAuBzeipK@pWU~p2m4vc!hWU` zxxZjPGg;Wrd@^OQpYasN1NO6!h5hWlO@ClN3t8CD^d0&G`&r4tex_5Y2m6^ecq9n> zS$BAZ$G1nCpOtNe{mlRN2;bNDNb|EliQ@tGGoHwNgZ->zVLv;z751}me1vb~{e1rC ze>`I%KNmS?>d>U@`sRKn+!Vv>&zXEaVQH{R~qc3Bv1VAq)GNrgFZ4{mjg*XzQmkc>U~8 zXa8V7!x@YR>}Mtm`x$?NKVUyIS=i6+r;HWsXCVvw8UB;~gZ&IYqYU=5Cky)-&!RuD zpP4M|XFQvFu%Cr2>}U6L#sl`VkcIus@548+pXngx54?VMzo0$X&-54Sp{<|)#ax2@ z%)em1!G5M+J{*MoEM#FnJGK?RjrVivteKBa}PzP{lnI$^Zt;2|8&wb1NJjh7WT87{0!eO_Du7$kcIv1rce*| zvyz4VOjDoX@#>l8XC({!nZEKApQmL`Bd_K5WIX@z)PVg=bI=~_XL;_aFfjK1XS{^D z1^ZbpV!pwC_7^|N>#--BpOq}^XJT97+ju`ey5UA2p2*K_U!F8HN&gysf8~w*thgzL z*Pr;AuHg89{LIVG8`9;J!G0F%MDz1<#w*7BjMF$?U_TRC*w0KB_Op_O{fu+c9_(i# z3;UVL!hTk=u%B@{?ZJK~vap|-EbM0`3;P-8qCMEpL>BfllZE}PWMMz!TWAmVGm(Y; zOiOY;f&Gk2aXx|9&q5Z>Pv*8j^OM|x{Y-PSf3TmGEbM1L4`T!S8AhJr_x+z~e)eQx zKjXZNAM9r)3;S8g!hY8IDTDn?3ostApJ74z1FxSwS=i685cOa`Gg;WrxG>`Zub-JL znx9`|KEZyLGnhZHpK%e|gZ=C#^Y{c_KjW3mEi^x`V7{UGS@09Qepa$*ezI)>-^Tm- z%Xb}>Ch~K?)g}*3VmN9L^^N@Oo@Tr-Jionx>qGb8D-5qcSDH7}yD5YH?CxcIu%G>3 z7(dw0x+2F5>}Onw`2qWx$ijYRvap|(EbM1|EA7F4CbF=fnJnyQB@6o*-$r||pNTB& zXC@2#S;@kF#<$ZR>}Mhi`Lcv)hsN6YOUt3;UUvTVX%z z>yVa-%`&r4tex`SDf5Cocvap|d4a#6Y}Meh``N8Ue_%fgS=i6CHvNJ9tYl$7(>m0H{fyt@@eP`vzsFCopOtNe{Y?9^-hllq zf5S(xpXsm6H`vceov@!hS=i6OwgY2=j`wq`FRZ=pM1CGJwtnU{M&Dog)@~DjKA~IT z`5=b%^H1}Hxa9K#!}HtqSU(qke!zbA)C>C=e)U`s_A{*bJnyGH-~8;z!hZH-VLuC5 z*w3&M?ZJL_WMMyhvap|pEbM1^EA7F4c4T2cd$O>fg)Ho6cpL4(es*MGKYOyUpM@;! zXLvj9!G3n+0l)sdg82gbS;)eErt(}6_Ot#Ma|`w}k%j&2R%ZWTKMPsd&$J515A0_p z3;UT?r5@~OSdH<6{p`uYeipK@pJjE*U_ZMx7!TObN*4Artx11iKPy?-&wefX1N#}) zW;|d&d$O>f{hyxW@1;T}O9F z_A{=}_`!Z=vap|(EbM39fHK(6v?1dG`x!Q(Kd_%YS=i68G4)_SGg;WrxC!HdBfllZE}PWMMz!=ClX<8Q0}_g4fSV7G6L5^*BGkerD!Y z*w3g8UO(e|*gx3MOcwUDdoO*1*Uv&0_Osi9da$3BEbM1`ANLpRXC@2#nLj`o>}TAP z@qqm-WMMzMt>_QzXCVvwnYN}su%DGI>}T4Bda$3}-uMIdvwVf~5$tDWTVX%Le=&Dp zKf?%Ru%CHu<{Rv1ng{>EeipK@pB>u@-^Tm-*>$&{@bB}Uf5K>sw7}@=&o^2>)2iHG z7+!z=d7e;~VZLBkKR20|-+jkNu%B^R<{#{5w;1CC`}Mhi`}Mtm`x%+rfrYtVI?r5u)|Gm&pLsX-5B4+e&UnCn7P7FP zU1BU?KMPsd&$I{Q2m4vc!hXg**+1CN_-V>uKQmd_&+aqy2llg&h5hXIq8{vLB@6qR z_GUa_KPy?-&$vJH1NJi<&)k6hO#9Ft>}R?a-@tzMOVAeVXIz~9f&HvxVLv;z751}m ze1vb~{oMGq_x*69_4C%T=eOOVZ@zx^xG9G96F>V%8HV)}KQk^0`&p?I_A@QX{RR7( znG0b*D_PjjxG%>O>}Mhi`}UKO?ZJK~vap|- zEbM0`3;P-OqdnNqL>BfllZE}PWMMz!hdBOVKPy?-&;G-lFJM1A=2m$9ESwv{e%8;k zf3Tlvf5rp$GaSI}NWW^AYT4W?NxDyStfBu%CHp9`C?@ zc1uwY_A^i?>}Mhi`&o7FgKy*g{QYk)|NKOLPJPGZp-I2fag!AO{_Tn1|EyukBr*7T zKd(RkHF=VdpLI{J5B+oUBw;_hS0_&r&Ci+CgZ+$?rc4s{Gm(Y;%w%CdD_PjjIGOff zKNDHl&rBBfvyz4Vj8kY2_A`-%{mf)xKPy?-&p4I#U_TRC*w0KB_Op_O{fu+a9_(i# z3;P*vo;*p|&q5aVGu^^`Li3Zk?V$O2E!%_rOw-su*w0E9_OqXpv4Q;z)2B=l_OmAo z`x)nA{9r#bS=i4?7WT8wO&RQGnuqa#{R|`Y2llfk3;P-7r5@~OCJXx+=VLrzKQmc0 zKW8x?U_bkN$Y4L?{Im!AnI2(&q4|0JK=YHFp!unDAKu8%1NZpH zgztYI@Tt)zb*-a@@T-?5zJ6OTnq!g}p5H#m>(8U+m?Vbv^D|r@`ou{3KUseqK&{Xnv9tG(X81nxEtf&Ce@n56w?u{3KUseqKWvnxEG) z9%z2fq(5kWl6z==UPnDNKgk)IpVu=UXnvA2*w6k@=1;`2>$fK}f6)B=BkiI2dE?Yc z3G8Qg7muA_Kda7Vu%CGrj|X5s1KSGw*|V*9BR{AA<|nsJw0}N+7_OmAo`&r1seump=5B9So3;WrVh5amKVL!tivx2Kl4NQ2llgjkogAt8K@KXGm(Y;tUCAM zjr{!R`ajMS`8jjdDMOQfm(l09Z?t}jwjg9o-FKVc$RvwpP4M|XZ$<&7wl&u3;UU#rwsP9 zl7;>3U!Xs*pW#LN1N+&Nh5d{#(I42)OcwStzDzyX&wK>)1@^Q1Df0{VGqbI*pXn`( z7wl(!nsXQIXa5xQ4feC6PT0>(7WOl;t#~6p5Bl};TTbNXjW3TidH3-{cq2bEZi-?3 z#Lxbx%ohynCw_(>F`r;RD|Nzt*5|l?V(jyM{p+*``&r1seuglO@l0!ec4T2cd$O>f zg)Ho6m_&Q9pB-7)&z>yoXCVvw879*n>}N+7_OmAo`&r1seugQu2m9HPh5hW6!G0F9 zu%G>AoJ(LoyLWRwf&HvxVLuCVE9_@S7G6KgRQ3<{vzvpyz$j34Z0n9ltL``M9&{p{XC8SG~v3;UVora!Qsl`QOMnumI@pJ9alz<%~*VL!vX z)PwyjN3s?|A4i|x)?YAxU_X1d751|(%lQlTGrq{&g8eMdGv8o8`xo#P>}Mql`e1^%@ta4#sh<@$#jt)>t`Gf!G7RhI=U6{~&SO8=&+eC$!G5M! z86Visv?%ip_A`@({j6l+^)oIuZIZB`i7f1ACJXyn$-;id#c2=rGm(Y;%w%CdD_Pjj zxCHINekQW8pP4M|XC({!8JDCz*v~{3_A`@({Y)R@^$*z3xFfHZz}R(E{ek@~WMMzM6{!dNS;@kFrj-~E*w0E9_A?#Je1iSV7qOm#{Y-DAJ=o8<1?w-^ z&-^;;A=uCEHRc=aXP{2l&qNmXv+CT3H}dnD9q#HU^7H6JM*U3ld}C<)%lA$W@8rMv z$9DAW+*A0Tt@%QpdB(uE$I3lrAz$n7`F((meljqurD-)|u&u&}w?p`x-Z+J=oVo7WOrhg?+7LVPE6B zX%F@_k%fKDWMN+`S=iUu(H`t;A`APP$-=%?vaqkQJBjuu&3?ayT*1Efo1et@S)4Tc z{TAl7gXZhXC-8Yb-t6}C-ObrQ*w^$P#sl^>y!Xr?>}yXJ_BCulJ=oVw7WOs1kNXSu zHIapVO&_2P_O+6QeeJiTKd`T1EBXWb+LMKSja$6U z_gg6Uhix|SF3RBo>JO(LZrdBbU*mf4S17}Sw9o&f{8h^E`ZUU~^LqD!O$Ju^CELHk z^XrQ?890aSRZbUgGVqP#*nZkbC~Pmbp+Eh7*8Da02OrsUw7&Z-nHtc+O=!u;sI(?ZekM!-dVl z_m&y0Pt=J|>@!-^{`J&DU_9|3)H8Om`di1w zOI?B&SD4K2?J*v*IOH2+{gE@QqWNaLl`QUOK8D}7I+Fdv6U;|AVZqRm#pf7LzG(iC z$YSqf*gy3>SuAq#WWEQ3NAqtmHn`|^w&!?t%)MB2SIVDZ{M3nSuH^kVK0lGjV)6Hm zZr`)5c>Fz#Z_ber&f|DP9IG$qb3EaKGTOeUt@yakuTQfcki|tGqy0Q1Au%^%Z`B{f z{iRM!TbB7{{<{BWe6S10OYPH9j0b+f@lt)^*oaSayoNH{7TBNT6*a$XD=ucfRG+`e z{K9F>ugdXg?k^1f&*1zai{%+lrCiA3_-{@Lum6wRd~0z$nP30t|JUC$mb>_`!<-E@a{LI2=HK;OEaBS$I9}$-?V#Aq%g^;XvAh*W->X zydL*t;q|zXh1cV75beS1aYq(jk9)H4dR)lD>v1@k_TcrnBMYy`y)t+`E@a{LxIA=L z5PtsLKg|4r*W>ueS^WLOv)X!`m|NlXxc-T`2Cv8E3+x}f9(RY(7kE9cWa0HV9eOr@ z58>>#9#^vPdfb1J@q^dna2WR&ydHOCvGwWr$o25u>op^ABEs({0Qz zc>Rsk39r9BS$O>oY&-A<0#6_Nx&J-vrUhrtH+}j>=e+u}!P9N8 z{sURu{tD~E^aVms7I)0W`S4>NFWJAiKlRK2y$Qu_^PR^|a$yh$r4c|HrX^?weR`1IACeCyR|JXUZK} z?0YfoH9wosAM}y(5$un#i`6;amHrZ0Z2wp0=O>JZEY@0;@lh^}MQo_^g>of}R~S#F z9GEMyA=}3vvi_6Bd)Yqzl=YV^rp?WGDJQa6`d_2xm)E~FC~LefFOLseuU+m`|3Avx zk1MC||L^(($CZCH^MBX>YFwGKf5Mx+^}kyjeCD|mt-nXi99@6IX{Qbzu6lyj-`UTf zx8r!~`DwT2;R8=D!0}vb0e-jS@PW6!Wwbu8MH%i~Vf6UdwGZd_0S^zy?KoPF>mJVM z%?}UXrkoDqd|L1Df%oZnbH3#DX%DBqdlG*)gY|ra!v_XmPT_o^EY^^3JI{wp>>rM# zy~YO#@#rY_|HxqjI^WAj84q=0-v>tTPuQCA!w<&pU)qNK!SPIY z=Kkjoa)04zJswc5AEG_H#>3HYe?G$fffYYLHb3;2;T-0--)%nrmIlWIe#ZUn7F{r; zkFtMwj03Lc%l(dw7q(J=JU_2wvBH6)`>#7uhMmWbZ~Qp@!86|(txvnKKdAIKygvB^ zwFGZPc#a|h3K9uM4 zWbuN=|E2kOkCX8V_E*_oeT?zIk(>{e?fZRc56^DQ{r}?Z#|LI-!W+xpaPz;1ZF%a! ztiMa7%l701=BrPyzjFBZ>?`R1r1irUyY4ZRYd^aFGEKwH|6ajE-r8Zcu=Ci@pB~#j zefWQ`zkmPe=zikZ&;9uE(%8?-Uj5LIua8|%2ZiU~_0v3N&m0Ly?m~I$!u+lhkLfp# zgdebe#G^T1_F@e+$rJR2=60YZd@`n*a|5@5!JQ5z7I(EKO?k*h(mvE>x zo{nqk>D-ar%Oh{EarE3d^v>um67n`LZinoQI3y|@H^_G^_6m>zGr?kAL&r;&uSy# zW{!8}{uRpgx{+`v^QGgTzDWI}BjIu8Tlc3@PTZf}HDB`gFzRm|2@f!zDp$&ZOlh%x`4;nQ~-)?--l^^kwQfzW=HD=l&MT;mVP4ua5t*%-2`w zkNJB<_m^@{xlmr2`{%W}T)_Co&OiOEzH=n(wcq4cU-L-#3T2&-L;X)j!oiHs?Zf>e zVZ;Bizj`6p1;%dn*8eW~^-mo!k-rNcL4*0<>1Mn}AN6;TjGy}7?M|PARe6o}{P|Cx z`qWU>kNNH$*vBwsM(8KcXg-Fil=+!`jB`-tXZA5on-K~>vyWxY8T|g`jM+ZU#rD%@ zH2=D{usuJsf8E^F@iY6E=9$6wkIZQPbt7!g&+J>Am+kqPeT(x^=4bY;pP&B0zU2kj zA7%Si7M#KN#m{KI#f4|^_e^Ir-|`}q!G7gM*&o=ielgmE{puHIe3bc0=fSsb3GVM> z$2Q+G<@(66VfA|_hxmRT&z7YAug5n3;!-pC{fQaPzq~Zt^RwpPGV}-bFD=XXVE)6{ zAAV(WVt-dG#Ooi<=Sn$Hp2c{go_{aL{M2KcuU%xk{LH>~%TwlO_O)AqGC#Ag-HNp5 zXWRCy&+<>@$B%9PmX#PE*x&M2%3y!X+ZZ3%-~4v^2K$>=rVREsucEQdX#SSfxIbWj z>pR#VG=Ep8Kd`@f4cbHVcTL*E=dYdZpFI51J)`S~o&4&i|NDB?X_W1+wmErO-bVT# zx1-1H&mMW*^S|#n??-1&^!$0PZ;l!ozkJFN-hKVlumS6=*T+BqH$VR1Vj&*W4V*mh z)X>jZG<1|jJ)8&B;}_+-I=g|ZUST~``6$Zp4jw@ImFMTX>S+%L(qC2iaLRDk_B{Vu zWqzK6bOW37dNQkg7-e|`0g2uZ*|IVqdojZFawFn#lZmvnsAV!ZEXyzun@$avr{l&i|riMRZe{@0<*u@Y0>O8=A#bz;sP=zm?t zGZ*85#~?|%J-Lw^kS z4_0M<+*bb{y2R-A-69-c2w&0lm_(I%;vmMa`g8=_gKyKvg8%*FGy8vbB7c9p-WU4Kqw;p@+tEPVaBl7+87$K_}bzW$uZ!q=ZOS@`;MB@17Fj*<3o zU*dez^FOli_2*0$zW!Xv!q=bU^0WtEe@(7}ieEqqSg|9!y6=)B>{+!6d*Prup z=QIBE+x6!Z&u4t+x9iVg`SXMD=Qn!hSNQsKAPxA~;>(O;d z&R_8L==z8A`2O(o+V$xEYUUf(JDtZP+IQ3mUysgY;p@?nZG~_4*8l!um4E-nME;(> z8E?RHi{F29e>>b1e*Y+vh5b!rF}!~ye;>kMkiT^c{CyCAq4`T)1^ZjBIWGwNTbV22 z_mAQl^au7gk%j%uWMO|RS=isWChfugCbF=BAq)H4txrAJ-%1wtH@%bl3-&jYh5gMNQU?1QH)1?se+yaI-)>|2 z1N&RZ!v3aB=nw2~B@6qTHl-fyZ+GnZLD=7V?)gF3-^#Ya{^ocAkKeQX4c9T3;P;dA zwahoz-!$_)uJ6qDw~&SX?bufMW^euP6^BfEWFmhTnK8QlhIx;E)Actk!uz^}OcwUHl7;<^ALMw0 z{Y_+He=}Lw-%1wtH-3orV1E-?*xyVR_P3IS{f!@{J=otw7WOxjh5fB$VSnRCXb<)` zk%j%uWMO~H_V^0+x8H$t5A1LJ==nj|-=4V@_BW6R#@64wE&B)i8@FRTV1El)*xzn@ z#sc=YkcItCJ1~B*zm+WPZ~Q3x2m2d$qzv{qlZE~5cA`J9zlAL9Z?`k`V1FxF*x&SV z#sl`Zl7;=P-^Ew3zx~Z*u)k>++JpV=zr^|kZT)?ma~JGy{}}TP_P3)>wDp&q!Tv_J z6~5V9|NF7;|Ml^S{Js9zvGw==y!rZD)Z|03AVSm%#SbxF(7P7Fv9oq`u?5+P@=eD@tME+j=$~BvN_P3CQ{SEul9_(*N7WTI%3;SEh!v2QO(jM$@M;7+CCky*q$in`H&(R+2 zZ$}pPwH2kdVp z3;UZ6p+B&{l`QOUe<=Nd{S9AaJYau&varAXjElG~3z657y54ckMFaLX97cPvziI!A znU9N`zx8*VyI_C&tC(-Fza4eL{${eUzmaW)Z}!&zZvNBd4xY&0XSrUbTl(?n`uj%y z#t&Q)g#8U~BXF_O~Ys`&-Du{)R8p9_(*N7WTI%3;SEh!v2P@ z&>rk>M;7+CR|flA$inMyUKc;X{-*Uf-@xl{SRbFk{$}P@*x#rOUVqD1*+1Cd?rZb~ z_P3IS{Y^*U57^&I7WTLQI^zfX%OCsWLgj3KJF>99-8U$M{Vil+f74O)2lls;h5b$6 zq#o>VIGX;z{`O>Hf5S1DWVSjtJ7529rio0U$_Zh-9%q7_0d^Ph8 z_BZ{3^&aeRAq)H4v90jU-umC?w)ym06Zv~+oH{hg=a2fkN}6NB^*8NsEw5*;ZT@y- zVSjtF82r72^>@2#2Zr_c1m4I02=!op6ZOLWrnM-8{jKav*x&fkYk9qNZSyygh5gNB zVSg)G*x&du+JpT~WMO|ZS=ir77WOypNPDoqi7f1ICJXyp$-@4|ooEmCH<5+?&17MJ zD_PjzxHIj+{?>O=5B4{2Kzp#i-G*!n_P1khh5apSa_qqV#*b46_BWG-{q1(4J=otu z7WTLM1odElD_Pjzv@7=)y#8jgu)ldX%3y!v?u-ZQZy^i&+a>w~`&-Du{-!V*_8HRf5T?X4cOnxw!;4Qo3kz0-@Fdv2m9Nt&G^9n2I_?UO=MwztImD! zZTeX7zvsO8zP%^%ciJ;khArcTqyBEV!NmUNxo7fyt}~mzJz3b_q71|H=S%s#>FbOS zhS$H}V*P!U@qzs<)Cv1r4xkLp-vwrd3eDdIXY#SAnX~;RCushXGcb(H@$= zs0_{D#n?YIf5{n|zl+m1G=Iqjn!ig>56xe4h34;) z++S$^k~1`am!=HO-(?sNG=Iqjn!n4^A2ff-1)9Ih(H}H_$rYNvk$SMd;Vk9?>~H)v z^8?Lawyn_oy_#*o{)U5T5B4`7$b5tSO$Tv&!2TApu)iJK3g4!W^LN(X-D4B^yTSIO z>u~C71_F#WAS@`*LB@6o--%0;qe-l~Q-%J+vw~~eZjT_J&>~A6q`iWxl}vRKdt#!VOx*xy1H_P5)Vv4H(8WMO~PyBI&%-%1wtH*UuM!T!dM zGT7ft7WTK>oc_T67P7Fv-Fv79`&-Gv{-*ab9jYZxAFe2d--xNPUP=`CyuVa_4ZMJPj~}= z>yvi};n%-~JmAl7Jau;nAb;cUdHwqs+r#ks_m5n^dX(+K{&tVw&Gq!Vo4@(Tck_ES zv^j$7UA*62pC*I-jnCX2g#ArqVSh7O*xyPP_BTFDd$7NWEZ%)OBfplZE}QWMO~fbF>Hho5;fcX0ouql`QOUe4h4TfBUo97M5lFbsC@l{yBAE ze=Avd{q31sVSfX8VC?!;e1ST!znLuTZ}%em2m4#d!v1zIQ4jXFl7;Vb`&-Du{-#&y5A1Ix3;Ua1qaN&UzL5UG{+3JGAK2f@ zw!;3_KTrnyTTiD9_P5XM3+!)4ov^=|EbMP&TjASyf0umZsFNo0_qJ6h4^7hDqyAoZ z#gqwO|Arf048s1_KfV}*pFctVi5K> z+(dh@za3fF-<~Y&Zy^i&8*ZjO*x!yU>~BvN_P3CQ{SCL!9_(*N7WTI%3;SEh!v2Oo z(H`t?M;7+CCky*q$in`HTWJsWw<8aXU4QPkVOv<%{(g{pX#SEb*x$(94)FU%!}mvQ z{37cuefawGZL|mbTgbxxrayDM!2VXUu)pbc>cReoJJ>ha-<~Y&Zy^i&TV_!P``g{c zc)^q*xzt3;{p5IlZE~5_Mtzpzv&?M5B4|QM|-fp=~(K) z{`T*pE!f|-?9n&0^i2_d(6JitUZyx+kSV_&?Nrklp!otCib^% zbw7V!<^JYxCJXyp$zpi^{0Bb2vBmuZ!}>dm_kX+l2kdXAUfAC_>%JiDZ{3>xf&Go! z&>rk>A`APQ$-@3tvarALgR}?xo5;fcX0ouql`QOU{1ENI{wA`pznLuTZzT)+8$V2Y zu)m2c>~AIu`&-Gv{>G2c9=!h62bn9dzxkp2g0R2c!}kSYe*<$Xy#Drg-WP=ZjoY$+ zu)mos>~FUneS`fiWMO~1?WqU*Tgk%yrX9GyV1F}N*x&py%3y!vj*JKFZy^i&+wDYu zV1El)*x$4>{ek_hWMO~P$EgSV8~?%Ffc=e==pXEFWm{o?%YyVL#;!l7yYJ)i~Ez^41c$$J+Qyw4z|JTZz2n?zlAL9ZzBu)8}6h&*xy7J_P3CQ{cU7n zf5U%MAM9@;3;SEh!u~e0u)pCh>Vy4FWMO{`S=ir37WOyXO?|Mxi99iP{aoM7{DIfs z{Lgpu_u%f~Z`hssF#O$)xrN~`IfMO8_s~Ar-$oYpH{Z+tV1GMV*x!5~taJ{fqPm!`~OPKMa3$F2nHmMI0~i`Wx6+41d|TfN%fk?`7AlGw-nEJ8lX;|83+6zkYQaeS`ds^7mRE4@~RthWL9W~CIlPZ0LEl7;>4WMO~fGWP^we=}Lw-%1wtx08kajmuIW>~AIu`&-Gv{&upkzwr^& z2m71J!v0pWu)m!w>~CC-`e1)ES=ir77G8hLe#|G>-?TsT4PJjcS=ise+zR_!cA`Gm z-?}{QgZ+&wFdneKjV$bMT9L7U{cU7nfAdO=AM9@@3;P>arhTx#aaFd#{#LTEziBo4 z1N+;^!v3b!DF^%8$-@5TM=~C;znv`XZ!MgUV1L`uoZn!7^P{K__BZ^9xdZ!~U&Y@O zu)kp!%Hi2x3)AP18d=!i$iBk~GzQ;|2D&zl`7C2KyUd zPJ3W~Gg;W*N*4CFlZE|_ub@8I-%J+vw~~eZ?POtp<148T_BWG-{jFqSe>+*&-?#(y z!Tx5lu)mco>~ALv`x|$pKG@&(NzPxezvWZ75B4{H8Xv&^7Uovi-$0%?g3pKX{c&+8 z+6Vhv$-@4oo#`9wZzBu)n|7fb>~ALv`~CjZVSnSR?!~`*hrj)~oV#Fu z%ht37_BT-`>~AFt`y1I;`1X(fu6fuRx6SA8s*7j+Z3oV-zYF=>w`2TZe;awi>+kmW zas4~%Z#~A9r`x}m-J+Qxt zEbMO~3;Wy1!v2QOQXlMZA`AOl$in_MvarA5U#JiEH<5+?Eo5PT8(G-j@UPSd`SY>~A9r`y2k5`e1(( zS=isAGX1x?=fCX%<_qj^dGP)q>~H+@{k*<)|M0gmx5EBLWw5_xciIR0%bO86(H|K8 zRN zHnMoW9tNNPPx~+)u)mEg>~C6;a(Ak4<`V30{S)&I z_BY>je-QS!k%j$D>??fxM}H4q<^C<^^Y_-d^|x;@d;PrEhVx%PmtFb2QSkbk$-@3t zvY4))ui^by>roDqzi;Ndz@EH_-?v!u`?`%XVSnSH5A&U24-bFq?z9K?x08kajd{_G zu)mos>~AFt``gLF{>DA15B4{ch5fB$VShVW*x$G(^}+t~y}2{O{#LTEznv`XZ`_Oe zV1F}N*xyPP_P3LT{mp-WnD-w%Jp7FhGk;)z8(Db$4a}{uzvTlD^Z5$?+uZeYe+%t{ z{mpM>JmB>=?7e74*xy1H_BXtZa~ALv`&-^Ye_(&Z zJLwPXZy^i&8~39>u)mco>~GwkaVy4FWMO{`S=ir37WOy1pZZ{b6Is~bLKgP7k%j#YAD}+i-$WMn zx2R12ZFgP|;q!y}X`FB1^*3%3X2kH9+`#@u=61sG-#CHu1?+D*l=i{?hQk;S*xyPP z_BVcz;}7~G`v2;ctE-xsgG`>*Ho_kkZTJ5}i$FMa(DuVsG0{&rjy_BT={ruCOE@vARpeqr)A z^ZN6PI38es!%Jun>~H-J=M&i9_C?wT`y0N*{$PI-S=iq~7WTK1h5Zf3Q6KDYA`AOl z$in_MvarA5c1Ps~y+|`~H)5^}+sTvar9EEbMP53;P>S zrasu;OcwUHl7;>4Wa0HU{*d}$e=}Lw-?9tm7uetQDtrd}+sVTICgxVy-}W>9-hyw67SKmU!}E*KvN*4AvzMsbn_BWG-{mqB64feN_h5apu(I42~@Im?m z`&-Du{>H=U5A1Ix3;P?7pd9RPIF7jh``dra{DA$f>?`bVTtt1azipT0W`zCCJ2T&4 ze3;WxY zVY+_4k?ZH5u|LS)$am?NpRhmJ-*C!`Gs6D%OF3TRaQ5f(KzXZ`W`zB%WMO|hS=isW z^-43s{${eUzm+WPZzl`;8=p&ku)mos>~AFt``gLF{>JA~AM9@?3;SEi!v1!$u)p#7 z)Cc>U$-@3tvar7;tuQ0(Z`x*s8DW1rS=isk+zR`f$in{C7tlV~-}pkt1NOI(h5b#5 zv4H(;WMO~vHjE$aZzl`;8@Hu>u)lG8w!!{ZvarADMf3;uw~>YYO)sV#>~ALv`{oUrY`9J@gZe)JI{zkH}znLs1e{bgX z=PTHTY5nE5E#e>9AM9_VOxWMB`${un_7B1xBoN!f&I;7G5o!g_F?$@-|P#+Uvh)t?_G=qhQH(n!{57UABMl= z4#VGjXdi~Z_puGbUvh=v@BQ=#!(VcP;qL>K!|<2fVfgzXH111N#d5Ti91D&O4bNw}EhyRF6VHEqpr_`sL6 zKjrmBd?&kLJAPQdFF4CL*$yl4BSJUxoEYBl_z;T9pEJuIY^#3$Bk$RQ!@tPC-)*}( z@4co!c>H!VAq9RPNxzu|r}9+0u1f!R@ESMlL;d!b$Ao@A+wcSW({_0r94)%38Bo;KKyJA9?zSfK%2}ToXvJ)yRFQ8!2i&H{OeQ(xEsMW%+UpKp5?qq)9X^gM1zkV}8xAW)rpWS-+ z;bV2a{IB1C*h1$MkJshz*ZD(vx|;cbug=Yf%b%#@OL?VCEOeur>E` zOXt?-6F)rpt?#$nlK(w&uKqnM^Lriq{#1C;=@VX``}U{v{_WGp`#UP-;*8fW!|#IO zKUrwK?)tvUM^PW9>+K!*yy5DUgV*a!nHcN!cTWic#(KRo1P*W?Uiy(U)}>ovKs_f2W4$J480$5;g4gT#$Wwz@`)kZM=X)m$uh->Krv@?B>+dkPFxG2whOu71hW25s z*RN$fFxG2wgRx%k##msi*W?Ccy?!0zhp}FhJB;=E^|TK!*ZB2*&o{CSW4$I<80+<$ z=nuwvO>QvO>o-#lW4$JK80+;vGaeZ0HMzrBuRp~6L5Z{1+x^FE!&t9(r#^VSE?b_) z@5!Dv-tUpV&-c~ASg&<1!&tAs$M@gCSg+YPz*w)@x4=R-d+qy8Km7T}%;)!2PniAw z%KEjX`<-6Oe1ZLrWZ~=YP8Rk%lZE`we4l06nsXH~|sy`(4PwemAnP-{DKt2m77K!hRQ(>A&rc5Bz&_-GlF6gth1V&U^BGmSDfbUZ?VY zsU?0V=2qD6b~)dt2===iNBdyE!|{v<>~|##`yEfNGiY&xITXc`-A~|&$`(4Sxes{94-|^q65B58gh5fE%VZS?B z*zfos)Cc>W$-;hDvasKsEbMpu2KB*yXR;`p@qCo))k+rjyOYK6`y-rBF#P^#3kinb zbF}K3&ci)n7@cP~VllH-W=Wj9|u;1ZZX9i)v3t8Cj@NLS$epj-v-|;&?y#)K6wr0M;eh12g{mx`zzdOf9EOfKizJJU;7k*|w zzy19n{mD!BJARDE5B58dh5c^IV80VtOzZc-d|$}E93Pn0Z?@ChC{9ezRoV80Vt*zZCX_PddV{SN;{eX!q&EbMn73;W&3;+j1Bd@THu`e45k zS=jGF7WTW5h5ZhV`e45kS=jGFo|yByu`TR(ID`6NzuPJNy$AbUPUYML`yEfiWf*=l zw+ZZbdoA_Beupz@AMAG_3;P|<;(P%6UCF|J$HkO`{cdDozth=g@_p({{4Qi+zss-K z2Kya;&3M3mSF*6*@i+7b>utX%L_Ysi$-;i8-_jr0??x8(JDp28*zdml89~_Zwhiur z*YC!@!hVNKSl?mz{d)X{;rHv9Zy0`47GU^I&M^Gexep87?6vRLJpA};=kxo-wrFai zt+#Z)!^fFlu;2Y-_zL#BQYP$oB#X&!*6(lt^~|sy`(4Pw zemAnP-{Au4gZ)lq;q|*HgZ*w~VZZyYm@BZ~_1BzVV87FES`hX-Ft@^f*WKA4?0376 z_Q8Iqi|7mNcP9(`oiFD2f&K1eVZX~Ij34ZGxRl2WUcVDr*za^1+hD&NS=jG&wsJ-!GQIcYGM!hTn>u-~05>~}nn`e45^S=jGN7WTW7h5e2PQ6KDgCJXyr z$-;hjvasLrVCsYY&SYV~D_Pj@P8Rk%zMJ}BzsnJ4@p~+14Zl-i{=j~BvasKgxt;Ly z@5h}LD%kJ%9@+={UCF|Jr$gu)>~|vz`<>oPIoR(`7WO;8@0=j)cO?t^T|dA!*zb5K zW_8@&t|t*zdR|^9}a9lZE|G>?`bdbm+p7ngZT#gUC6@gciNNr1^eAp2Gja2zaK+=nEd_#ub)4fZ5V#9f!|=i^IB&G zVZXzXl!N_FWMRJxS=jGJ7WO+FMSZZ}i7f1QAq)H6$ijYyPf#E1cOnb>UC6?IH?pwb z;gi${`<=+beiyQ^-;FHnclZ?b!G0(5#O`5w{k$B>`2=3S(@~r+F#INWu-}Qf6<)vl zKT!_$JAIn=!G1Tgu;2MJ_yG31lZE}xM^g^=I~>FK!G0IAu-}a=?05SYw!wa4-4JwweN3u_!B>$&+qF$J?nSgVCjD6 zy_i3+--#^jcX$hr7wmVTOiZt@@g|hA4%;yK{Xy36$TryTPMNUZeN!Hvn0voz{0e`+ z!G345u-}y|>~|*%`yIbZeX!q|EbMnB3;W&4!hXj}eX!q|EbMnB3;W&4!hXlEQ6KDg zCJXyr$-;hjvasLr>(mGPoyo%Mcl#!P@4u+ZdzvHu* zTd?2l8D|AyzsoZ@K48B)S=jH)zG9)9z4raXKf2+_`TYL#oZoSyrTZP<%Hsk19mv9d zH)XKji7ck|8^80jI6g4>eFT1Q%JBgE-6#|GJ8jF~JFwsF$CQKp4nLuPu-}O+>~|px z``yUGeutk@AMAG`3;SKj!hSchu;1Zl)Cc>W$ijXXvasKcEbMnUh5BH>6Is~rLZ0yJ zYiu{L-{Dm1gZ)nDGGAc7!|ymZzqkrc4yVyR*zZCX_B)== z`2hC2l7;<_Kc^h*cOwh?oqoaC!G0IAu;1mEY=iyg#}0$A-<2%vcRYjsz+{CG!hYA+pUvxOXAi&2_V^3-J8s8(gZ=Jg zVZRgm3j5tSK4PJpz4rYY&wa-e=kxpgV`pZY*m&uF_r3Xh3ii8^C;a^TZ5$7<-+?S9 zzdy8U$S=chnEYnDy_oti{HCmd{myUT?-$tbd@l9Depj-v-<>S%cl;g48|-%`3;SKk z!hUzMu;20b)Cc>W$-;hDvasKsEbMpu1NFgvXR@&0l`QOcCky)>&!awg{mx`zzbjeT z?{*jG1K96!H|H1F?|2XA7ufH_+zPMX?e)|Luiy22+6Vg`FJL@izZ+TD?{pz!0sGy^ z!hYwA7(dwWP8Rk%UQGL7zvHEBgZ-{#VZYNK=@0C8BMbYTE~6amcP9(`oiArRV81(A z*zd9fZi^UZKhO6)d7wmVZOib73yuYRF#JLLcyM7ek zcVvIC-<>jHzvEt{jOwTzdKpj?|2RM z!G345u-}y|>~|*%`yH>PKG^R}7WTW6h5hbiVZURiKG^R}7WTXUow)-0T_5KB0{fi; z>kruPz}yP^UH4>vu;2MQ+6VjH$-;h@>lqu^?{EWu&%u5dvasLrM#c~JyOM?d?qp%V z`%P?v{mwTt90++; zmiQfSr#{&4dNS)b*zf#Sd9oMCOu-}<1>~|##``yXHe#a+MAMAG~3;SKk!hUzM zu-|b#>Vy5xWMRK6S=jGR7WO+nh5BH>Gg;X0N*4CJlZE|`>r)@>clivzHwyMU9sO(G zFSq3PUOQRX@5bB;`<=+be#Z@HAMAG}3;Ufmq;Ig_jV$bU+K6(n-<>S%cix!C3--H` zh5fEiV;k&u+=TIf{cdDozthv{5A1g%3;Ufnr9ZIWoh_PdaU{cdDozr%mfKG^R>7WTW4h5c@1VZXyS zs1No#k%j#(WMRJ>S=jIJpVSBYoyfv|7qYP5jV$bU_$KwiekZc9-$iBmZ*#Aox3`|l z>mTP1zsugtA9($aZ#$Ro*F1Olota-@zxx*F@_V@F4!_H{Xdmo%_%`DK`(4Sxe#h@{ zet`Y1WMRM4cNr_#??x8(JA9A!!G4F6*arJu$ijZdAJ8Az?@AW-JDyBA*zZOb_B;KM z@qqnqWHJ2y;klGEhY_FozKy#0+zI=genfrP=xc%ZY4iU7`zZ(e-L@iw{mxr5-(bHZ zWx{?JvasKQeJ3V6|KI;-uYJGbdDlI9KEEHa(yZU*xl8vu9LIcvug^Q~3j19t6ZSij z#k79ocmEjs!?b=M&+BU+<#>VpP9JB!z<$S<@c3c){bR~u_)RV_{3bUTe*c8=!tk4% zVE9cgF#IMr7=Hhh`Y`+^Cm4Q{3k<)>4Tj%8qdpA3$q9zv-IUm65cOwh?osZ)D0ke{e=z(eR~UYuK{*V+$qk0zXEGib zev=#6?{*6F2ll&MLWbe@S=5J(=KPKu(jVCG{4(Yn?00x6a|`ynk%j$^>?`bd<=BXY zZuZ*u+a0p&s`L4M-qp)aO{C{9-S3X8!hSdMgkN7fp7{s+9mryO{{4$p__tv8hiUyj z0l$x8f3V;2lgtkczjxsAg8dGQX%FmoA`AOn$ijX%vasLbZ0dvkPGn)f3t8CjMi%xv zoI`!E--#^jcOeV=-N?dzhhI@2>~|sy`(4PwemAnP-{IHP2m77K6LWs|qnRtP-}M;I z53t|qv#duj{AO;0=6LS)^YTj0U$EclH?$A-yOD+c&cEe)4D5F&3;UhVr5x;c_#NX1 z`(4PwemAnP-|Y`;=` zL+11Qx`fqc7r!O#HV86o`IXA$5SF*6*k-44l z``2DYIoR)V8SR7p4wo|?u-}y|?039^zt3R5D_Pj@bR}a2``yUGeut}QAMAIyhHbFl zg)HoMyq5mJepj-v-?38;_PddV{Z7|09~@%q|P7flSmKY0=F=elV4oiDr~ z2>V@6Wq+{Woh~|##``yXHe#c)>AMAG~3;SKk!hUzMu;1nJ7Y1R!)0!6sVZS?B*zd&L3a{Vo zf(!Wft_z0W{l91*?05bp;{p54A5&hmxoG%Z$ijYyGbji9UCF|J$1{1nV81h2*zdfU zZLr^+EbMnVoBqIlhjZu;>~|px`yGEpe_+2WS=jIRYs$fXr@fg!u;1}h7Y1R!EBlJ! z_Z{pH_Pbtu0l&|B!SFj>#C(JO4wMP|oyo#}cb)sN(9K@^{-HhJIq&x)9=h`E^Y8xR zS-&@5!0-B~OM|fAg)F>&r$=8JgxBw;GMJu!w^c&Dh5ZgszBCB0--#^jcOeV=-N?dzhxMor_B)Y<{Vrr-zZ+TD z@9-4rgZ)lqVZRGm*zZOb_B*UkeX!q&EXrnF|M2F5tM`1@3sN$gZ)k$(ihn8P8MFj^G25jVZS?B*zdA2;|Kd4p336| z`<=+bey2^?2K(K}!hYwc(;wLHP8Rk%Z%R4X@9+%z1N&Xb!hVNmQV#Yz{+Rgz`(3Ui zgZ(b-E9`emmxPJ!7EPZIEi14;jP-kY+5`LD$-;go_7(QKaeTx=H+${-#~r)dG4rk8 zd;fW6YNEVs*6+oiUf}y3?z)WkPh2+qu4G}q^WB#PVZS?NVp_k?!0$h?KTPZQV*I}G zvWemMO_zlLzCJJSq8x_be`6bl-{c0v@4r(YhTr4_!*6nd;WxR#@cUuv!|W^P5C^E;3yj+mLgAE_;(eHeZ(LtilbCU+QqFMB!Pdv^H}zsVhj-;ZGYF#KMQ z#|y)6a)ROa3T(sho7`ady(0a=@SEIW_`MS4F#KMb{$Th`E-?IFg>tap=}XKX48Olh zhT%8+78rh?%=sYZ{B8%5!G7lhm~XJ(kuqVw3t8Cjz`hd;2yU-^|E|wpzU+K{pS-QV4o&WkgtaxP*UcdVaR|a9fD`modN3xjK@3U43?f+geA;0@?@%ztLOxW-E zKUV}{zvHfKgZ<8rx{~i_yK?wl$-;hjvasLr(ew}YJClX|u4G}qJ6YK8_!#Pg{mx`z zzbjeT?@kt8zvCLz2m77L!hTn>u-~05?00-D^}&8;vasKkEbMoC8}kcme~r(Z@cnCL zALbYAciflx1p6JBTVcP;tJxpCe%Hs*KG^U0c*XMSozw8(G-zv^M2nzdKpj@BAdj1NOU<#qj%>EBL+~ z<|NMj``B?;@b5!c48L=vKG^SYGIIy^JHPgdAnbQ|4dr0J8(G-z$iBjUSB{NX=w`2d zfBL}}K65_5~|##``yXHe#f^` zAMAG~3;SKk!hUzMu-|cS>Vy5xWMRK6S=jGR7WO;7jrw4}Gg;X0`Z(%?{mzf49PD>k z^D4ey=&Ip&V{V20PGn)f^FGuE``yXHewTe28`$sgcItxtE@WZ9<2&dJ>~|##``yXH ze)s*@2K$}&XFOoP!@KAY>~|px`yCFT9PD=`3;P`pWISNMD_Pj@vOevJIlueHj0e1a z$AhR3!|yHV5A1hbopP|>ZB@#^ewWo~8|-%{3;UhfS1fe1*S`P2V}JIc`TRcVRm)CI zv>j*H@8AA%{_FGn`v-ad^@GFjL>Bft{NX{qU*W;wccDzk?|ktpd>07iAiwhke7{3` zaKe6P%7p#SFJK$&ce{qZz^?>~|px`(18j z8|-(ujq!l}u4G}qxG(L2{cZ=dKiKcazQTUj z&(I&(@0!>K`<-4$`(VHMap7WO-Da7_?izdL1OTEEZc`g|Ssg=zi%~|##``yXHe#cFy5B58gh1c&&7WTW7h5e4lUCsN6t{#4OvasLf zc;*xAcV=#d{qFB(f3V;E>9h~_J8#N(zC*9^Z4S=jIJOv=H2SF*6*@mV}x zu-}<1?00@P+hD&tS=jHgIsJkC4qMP4*zZCX_B%d@{=j}$vasKAOUl81=kG8-V86pJ zm>aO)m3@W%&JVCZ*zfjUGT85Y2<2eEBW1#V7qYP5fqf?y5Zqq-{$=YwXT$mYKI+Yj zrWW!pv+MWY%lv+a3vb~405=T3`vo@yVZSS7!hT1xkl*n)tMJ?GH%v_H_tkv9~|sy`(4PwemAnP-{DWx zhimfe^RYx0_PdaU{cdDozr#(`2m77K!hRRBu-}a=?02}C`e45kdBX2sdur$P=sx^z zWMRMa(>i}|`tZ9lx59oWvasLj7TO2<-N?dz=UZynaXKc4F@J^Y(qtFR zCky)>m!W;I-|-P_gZ-{#VZYOI^au94k%j$E%To^ayOV|e&MPn;u-~05>~~%rpTX;Q zf8%vQ*zdd|^}&9p)vpi2>vuW%+92$A`~mX~_PdjX*YCu>!hSc7k67qtuYLcEgI79p zKEE%V`}eWF>(c%1mvH`p{chw5zrW>D&PA}_fh?x=8^7}>I6qS=jIJ1nPtR zPGn)f3t8CjMi%xvJdyffzY|&5??RsN^KZ5r*zfRvs1NqLe7px?ztfTU3|_xGSq#6K z+bHJzuD@q}0s9^P>Bb=JcOeV=9oND?u-}y|yne^EDF^%A$ijZ7Coy)g--RsfcUgyR zu-{=_#sfF!!0W0j^VvZ91N$AHOn+d%D_Pj@v>yF|{cdDoztdAF2m2k@zK-!P@w=Am zg0SC>eTDt5`(MxR*#0lS&%c)M)BIn4pT}Io@SEIW_|3ivhTj~U1`FNnweO#>?kd;K z=l98T&%fg>v#*~obbVg`$lr6Y--Rr^ey7V=OTd0NmBF-r|7w*G|DE*+Cckf6mG3HN z8|-(XOxW*s7mp9@ci)7+uVBC9(>b1CzcX3b?@AW-yOV|ej+;^+>~|&$`(4Sxes{94 z-|-pL2m77L!hTn>u-~05?00-7^}&8;vasKkEWCbqvasLrS=0ynU4P7a4fZ?#gzIsz z-{Gg7&&w?FyE3=Jen(}n-*GeA2m4*g!hWY`(>K`fMi%xvZB9AZ?@ku>J8!|`1^Zpe z!hY8+*#`R^w_-eCzZ+TD@3b}jf&Fe|VZZZp=@0C8Cky+XpGP^^@4PYVH+cOHU%oB~ z``y`B*zf*d*YkeAC4Pr{nM?5cUGHYT!G7m^xIPE_-N?dzC-xN!-R!mRe{n)vem=iX zIC|04MA>cW>vz8V2EOlNiQkDV?02|=^%(4Tp-fEcH-3jxD2K`KJMjA__zm_uQzq

        M21;^Fl+BrJ9QlxMM@vbHKiV&MuUAA6@+rgt)9+i#LGMwf<@VUzI_*p;(LfirZCMUva8;u{P zwnoeR5vI!#WjQ-wGj0OWE{5|Y(>$?7oHAFZpn2QNDEjQb5 zsM?UmC4@q_uP7OdtQ=(_CSos+9~zP33tka%zynp_E%x2Uip%v9BjG2{D|C2ewVK!W z-ZeD(GQX80fblyy8yw;+rrA#+QI36Gi^bBP>I2;vX~W7v!;%AZVOXqwVJM>G`M{I! zCPYox4aK;cTZT1D;aE-T3SnJ3H|XE7_+rr*XWOzIFW=^ku9(+Q zUQ+0tIE$>2$R)=}4C}9%oQ@_E4{FOPC+~>2LA^=indTuk`z?SKp zGh8|DB1qwYokcPG&SR{qoB`z*)?PAy!MxtrBHA7YjuB5;Nul+A63!(qh1 zpuuL8@MPgOU@61`o(y{X>VEBnUAd-v8;hJ-m+e$kn+=H}{0!4amxHd_^Zj5sEM zQk44Ej9GSaJ0+slYd_<|!aVvo1IIVHEjl|xZaq2~X3Kff7p_uvhVyYUg*En%_FT?P z)qTG&XUhFVnG*J8h1|yA?m{X0DCoC0jpv`q`J3q7E80t0Y-YUgYfqkXJe(mn>fso* z9^$xQ)b8QsKJ9h&mgi{m}X$q@#l*PYS7eW&qBQPkR1Z&Qo&i?(7y8ecvY?FGALx0Uy=mZgm4T1yV4rIsA{L@haTAJvj;xBpg44(DDi zx$VEattGe9!2xVc`RPc*4oOh!$i1#PE^oJ5wc6W%Rd1Z}kxE^UC*>thdG2ESlWrJJ zNbX2mi_Ln^?cCw>dSbErc_J4ST)AA$9N=bEQPJEib>o#M`~BurbXK<93%Q(Aq|jZ= zL*~Jnx(1PJbCVjYjl(@yg?2-RkmFC^a;DRPxlc18z zN}YHg@y3QBg`_OQE#*Klw*w_~pd};~Uz!dFEB!W+vE)6GcorHG{Ev6@lg)>G9d_Zr zh>r@c0dk)T$Vog ze_Ok6SqFC>ls;xt=CG%sAW9>v+f%L*E(ZILl`?Q6z|D7%fAd=*;-7gOLDm=nDV)L> znBuY!ZhwPb6r6+R;0PT~_8%Vj(mE{Vo zbxsm%XB~(Kuc7*kMWGhN3^&7##7!)a^eA3@HiW`$rPVQ^LxChK^%ZH2jO!&pLOJ7p z=Jm)UB&01)_Kp2a!lkIY|`+)hf??7k)x7%o?MA^AE;I%^o4)n?X6HXq}1 zGrdmM$5@5i#<13UCI>?;x$V8&4$b-(<}N7XdoWA0^;g8qOkaOMa#v_7IuKC&gH^a5 z@WgCf3ORo)!ZV77kI0Seql)$f4|$t@JD7rrxe-JYNg<1QagSA~39Ss)5fMZqpq6aZ z!-NQ{4mGf9xIBbyDMLp@l27nN%zYYhRH3`8O(Tea5ORmg55u3LCrica!vQXiH!#U(=iv21le2NXswM{9aBSV`+Ht)z ze%tM!34u9_MODmq)J%}>JSjTI8Py!HU`If$#jvT2hQaqspXZiVKEL%uA@0YNe&%%T z*q!8g3YuTRCDQ4moJ6mUt!EiWg~7cegMg(5U@E8CA7KH2@MS^Jax-ESiZvW_Z&kVH zj;=pjPr0Ci+KJsXiHoCGqB+?q(kIg!W)3J3DC3C&G)6i0e1ZUX;cPL76!K~5j z&3~AGSgv-#s?`=Kq-X#7 z!P3JR79s@-OY!Wo@m^UWWH*T)5AOWI*|Nl8bFwm(XG0inMyEvWV(Ba9R^~UkxP@=K zs%_ty8?HX0MmGPa?%89CUOZZU_UzdTfltq#KUsPDZ1vglDvmK?XC9*~GmK*CgsmL^0Nv?Ep)n}ZS54VDnN2<0ZHBtc zdS=MgWQE`CMI*-Nphn=D50a=3{Gz>v*_b=n#PRSM42}hhy>X<#vQ&|8zA&A!EiM|1 zTw#mK?uFrdb#*a#32d&-G1)aGfI-imSYg{@X%^+{d7-Tuon0eNCuj91mxRujlcSab zaG<$qnOYSI1&ds=I}9C?x8U_UNle|ziw4?NMjCa9kx_aY-kyIjs?RVhXyja>MNM_3 zh38JOB*-tMLzr6|_l-WDC77atN*+j_Z;3}1+=dT>?g_loIL1(+m=r7K^XKf9fqTSl zlliF3Bf?+cm^U8iBSAS0`Nkd!BX9sf=J2Vt7u-}vD`hF$3w;%jKh2}udkT5815cyL z;jC&Gb}iABi{69vH@j~)5B4YyxbZN0&)Aaz450A+F@ZT3M~g(MQOlT&4tIoWX({5s z^|i$bG4RMTUpkmR<|K>`96JY!g44;? zS}2auG}mjJBqDJv><^qXtZoU+E}bSTGiYq=&|kgkh?J z5T+JL`_#AR6yL=|i5w>h2!BY<+Xq@o97}xCIU^jAkSe)~7j7;W08XmET$$?ogZgXIH4EJ>cDWqfe`^ZU83)i`010%GDLsk5b-=qR3_>vA{xdE&?}uWD+XcDQ}~SYmtL1i7<|ROb-Bz+_bj9*3AgU`A=HXQVlWz0%{@!}z>4NTb8uo|p zE#LdP(!B>NTC=TNiK$1`Qnm=&)L{XU=241Ih`nm_Fy=s+N>OK-5LB8#-eJtu6%SfW zL0Z+#}tJ z%~kgH5RXPNOAHEu4rLf_il7vaS}#*uQ2Ax>U8Jkhf_kremwGL(@jwqcw6gK2z^D;` z1oQOa^Zf!h^1OT#(k~Rv#Kq39=n8k{G)XwbFcFhg(mJuOM2=A@U70GWqT?_gS{zP=oBVxkPfVc+~87?dC4%;`S zIT&+1qQIw;BBq?ec9Dh@1mh^ZyM&dUx%owZFM{&3kV+ z1isAMET&GS(4#(T4h_Z){e~6CJ+&0T1P>!GS%VQSG4*8b_K++OiJ+({_GF%#Lew7e zo0=R8IE6tnsZxEsEBf>Wnn3iu^0TjS;jU@nE)rX}7>tcYfpBQeD4R;XhFV?%C~~D) z`N>kz5WNb%D$E1{5$eG`3h!YL`w%CXG`wD!1)YEkM-`Y*l`=CO*L{_vk9L&{ZE zNtHxvb!Au{TwU0~XG+HwGuNi(n)KVGkSRB*eSdj#aqlpaGNRJP>Gk>9B8WW+$FEr> zVWI#?(54*{(Q$hNHTv<=^Ypno&_ki!wha|mRCge5C5E}dYgYIi?9KBrnbqa51Z;6l zE`W}7vj-2O^&c|4I(th7jb6~*ptX(^`GTa*knay2o`VR5i1Q(7Pqt}pE{Pkhbfz`e zU1iUTRFscB5Pl0uYI44+Z(e_MB+kX){VdH{1+H7`Ww?cMK)K}blU7u!A6}f{v5$gv z%Yja#DpxstSBHEa9Z{=~KlZK;^GBBxjD5eirr;h1N)waq!o||?%!sop(#5SfR1NbW zR6C#eXn*-aFsn9hM=VPsk7qi%;z0dx=z>kMe~tJTt23c}3B!X!aE7Xo^>L))xWA2g z{zjJBWWfTRw`JyDLROfyHN}mTg1t1&v0_FGQ^T@g)tc-7;*!cQ`Bo?i`b$@@ z$H{^t>v6K+v_ATy!#rx4Wdk1k$cYbYJc|D3-WV}92u8>6WRLS?!I3^rt_?GC>}5XF z;H!;LfSjhawnE`uwe6a<=!4@<;()qj!!srrpKKsR9YH%xGr_`f+H~r!z?RtRFk}HV zLm(BYiN=`3Qm|TowN%`zl0D{K^ zftQ}~uR#7VmEIFk+&`&xyz|W9VBCbF)eng4u#o$Pi_x zvQgZw)mmHF`(eGcz!mtoLFM;n3x_xf1ecm6X=?U;>ihjr;XxkzX9-h=h9;BZ*k7(i1euUgmgg6Q|m!xuWm(6OSi6Rs@`4269%?Jd#S_Is9GpcLHb?NvA` zf0=(+c&#iAx#GCZV`y&>!&)$T=59A_DSB8&G%W)R~|jWS@?XJ0K2EF&sLOG?-@TmLHz0SXU`rjtv=>!B;R|ovhrvN zha>*R)hEvhuf(|+U4eG8Mr(kTHN_X00`LL{F_f*w(pEjZYtt}%|yK$J>3^o#$1*?WNBu%PBJ~ekc4h(s>Q{6)A z1i4Ru%*_>Y-Wh(BsTjQ97N@1OaaxfP*T}-20>VC?36LBA=%a$ixcB?la#_heu9>v=uS!WC%i{_br#PJa>)FVGaQ!`EFK2WrQEX7%p;%;#wO{8e9baoFn9s4 zRTql>dgefpQq8?%TyqkevV~1=@$7~Q;v4e|x+jRq8FdV1TMh3Ck!{7wpq>7aIVkLt z5Tw_-=?*wt9X%isz0wikIn>#TwQR$1%!nkm_R)#(7!U7d$zbQhD+z!5N~^`9{`5j+ zXJfRm!{76M%437`{zh1KjM8KATU8obOdd>mA{{_+#DmYw+Y?=w@_d>H3CE*3$z%kR zNK0Fo)nn0Mhc|}+gWx+y1hNk<<(O*xKT33# z9hKdkTn--G`akw}s^ExF!e+P`3omBEPgH1-7e2;uDu~&ON~CK|kdbXP5WvVdLb7}T z*$Hnaw}m{bPS3h<7Twn=@J*_-aKyALkpg8bZq>8Fz$$AQN(Hqz_*w9;AF8N|l`Q2} zVtxfs45_H36>f{31qo^*N13^AL=zn<7LR<6=U|Rq9GZjvkmCmgmozyGh=)I^FoUJe zfvGzhz(`M{n;7&ro^@bc?1!U|P|3I~#XC0;Ne_NaEvC0E)|%DqxcZ8W_x*E1+yi(c zx2^d}$g2vd~Pmr=x-=dskn+kksjyUy?iUh8ymx|Fd?|awAZMgMU!3=?0PjT@n2CF#hQ9 zufAgF=8M<6JDac9s5!T__U=vlVDm@HC%;>J^X6{{d%JJmY*X!e`)zx3|HrjAKb_*m zwQ4MQ4;h+6aCU1_mZH&|3`D&iG_{^Wcuq{4s7IUCt92DJpn**JEy$k?y~-zrNtV7d zAAIUk;@bhYlP>Mp#+iO%y0Q<4P3h#SYfSVoPZde7*KikF+8Lpw5`V?pm{{D!^gH#0 zUg20*YRBg7;0z+!+BM6Xg9)QkYlL?F?~=3p)x%Sg;JZstNz2S7?7)Sc9r^}O^k~PN z3L0I4W6s)%UPey=BFDz(O*sWKtvt3lD%ro7B&lhOaeT5H$Wox3q!n%Mp&hV% zNZTr`-twTgt8*d#)RQl~r|gR{08o;(EF4qRYDsDg>N)bZ&p8ijwJB_;UYo6JPODmN z%F9}}P44qrZR%F5=L~*>;!-al(6(i*r<0TJqMje~r=Q6BRI5$PrWz!**Jr?vwc6an zG>PM>b^dF#xvk`_wVp2aQeCUQTQdvjYbYZ19PIl#ChGN*BU&Z(C}0rIDV$4OM)9~q z#Xq|dqt0Zq6D&EKERkc$or-(^D1;#hsF)%th`rtlsV})TxH_u$?mwxY^+u^r)K@J@ zQ5)*Lk;MqsYV&R9Vn8ZOF21Peb;Pw2uW_^}8aC{w>XK(teQp?;#^C_}tJ{^P+gQ4X zRChOMGma~u%7w&e(TdbUF#B@;cgypE%_hxadjln6duw}h-%Lp~vB3${F*(^W5f?-1 zS9@F7&P+{(lw!pG~Q6h<4xA^>;d zADubqlIz^}T%r#4yqpVW$E#x4X*=qQ#$0>h4?;3zT*cDG7IN2VSRvgT=T6a6#cjKr zIHtC-e5XU1Es=xF(r~jKP1Y;|t1CN_wKaBPbaqG%7OjlxAlSk(2$nDOaq}+2&cBsa zDo=7+Ql^w<)jq0yysVbvykeDbn}1}~@~N?=zmp%;9DGc7%xz+BcsFz{g5nzL!8t1v zrih(xQ=W*=p_HSCjQKgT?ko& zAxF1a(nAuV%EmQRu|nAC3>uM=I}^5VpC|*cpnGLiDO7n|iD7+CPdCsaFH>(KREROQ z=V&4Q77906vVT!iQeD2{)TUmxGThA#+i2pU>q5O^`V__SMkO6WE8g*%2?gZz4eu`h z#tiKu)2O4HJ$csM(auU@=bYsFe3UFZdJJ?@X4gyXsc*^=YfF4f>?B6OM#*V4t{e33<1m zB0jn@q$ROx%xj#{k>u4MJr%Ql=90;8Y|~>lmrHt^1L9S5Vll4M+e`;?&Ui?RE}l!% z&*blQ-(>yF+w{c|IS=(E%}-cseTod5KfUZ+&%EGc9O<%Tv5e~!oLgyX!Pk*oogi6q zUPn*7fP=AqmL=cjCF*42W+OjEat}UbO-cGtPjbYAU3z-(jAw54TC*vCd_J3{Hhqe= zGtxq6lOy`yxHn5#g0t9efOA2|*}F$mhs_aO?KM2(BTo4#uJIAc`fJ{Ty{r4_V-%vi z#{-|UH_9a=beFYRgk0NI?CA*ZtEeJlK76oF41eK&BkOaDWU-d)1PhXrXifsGQ6_+} z#Rbqsky#RQE{M5FG}+v(QwTx~6`6hlP%9aEeJl^4gX{~-&j|5+`smRTzSyPbj~_2T zS$>i-5);ik08r+rd-AB;@0=*{q!C)9V*RQ}c^n9%dU_VpJ%nop>Am0x#uQ?MF*D-{upKorxVs2^y)LpJZC;V5y&S8 zD9hD*x37W~IC!S&^Ri*&N3fevlBr)t>PHX34<*$D=Zp;KESy=cowMG84}mxldM$A& zXwlSue{{3ioL!r5Veb9%havU(JXDC8u_Tgbc^=1I6+%EWGIgDy%2ibqK^<$3~LroEZ@TZ0s6e-JS3x z{Cy#emUshV0#Kb5K&_{cibdcD0C3E}L>?o=5r;U-1CSA|GvV%~KZcntenZRSfs8 zDlRCLX>itMYpTFt6y@N@@KPxCIXN!uhm*zwj}8_c;b!;}^2O<(Ydc+Q%W}%?9{zX2 zN*DlYJqkY|{*S?xN-n4SbXWg~gsSIQZPW@@fQ^|dMzB`1;)hw4Af798xz{CXlN9op z%ZjTdI(&|b0$@HC{ZP2#zvaM6fz{yz@;G&lG2jwC2y<$C59LpX8?A6MaI)D>p>aNU z;8U-frO1xa!-ad&C`!8hlrO{+2C~IjQgdCuBqxZvNcu*7N51$OFB(d@y3so$au-s9 zRi6%&knP1??hrSSv|*giVW|c9vmHS4q4zIwEnSn684wI4SB)@X0G+GG=G@9zG<`%CiF#Doh)uHX#;#M%=N5u z$l)U7HRV}zJe^eol5{3a5KlcZut(R*r2$aLUpjmPU!efl%tEz9HEPs?t<$P(>6$LYmXWb) zwTiMbq?U1=4(vd_yQ$~l7muJHUDBHhikN|%*6M(Jfa-~&V<+TxIzr;*J!`ePw;=?r zmZ%66HARicQEv@w?@4#5*8%C}^}?z(0=M;AwTr!8U)$#DsMS{^Z`5m*4NlRoTCKi9 z(@6o*)7QW{_fyTmTJK$+)=Yy8e*^=eR$mdtG6#BLrRLkX?-T9)Oaxa6l0MgEQ3&{#6{MquOWe!pe{_BYb5Vyi}Q`85V> zU8!$ltDrxJ=(8~enRH$>$p1lZ2COQkAkll#PK`G*UgX!ZV!?U{xE5?`wDcRY2P;+@ z+k`3^@mX%%ngg63yc^_)5>*nB!}WqD2>v#$dENO#y|kv=dzs07!!%PVp|+> zRuff#y3b7n;3hrZ{LW_d1&*dHFLu*FcCsNmMkEM9{vk4)hG4O$DyeeOV@DjK-osJ^ zTq#%^xT!9>Sl6!Ts+U|C;%O{M(F3qvboPeeMS(XH^QDIlWN63Qo4vPA%TU_$xle&O zGWV$s`~&&KQ(!wnlkriUc;a?U+nA5eN|$z@zS&Tq9ph zoVni;x8tis;2+a!kXz&Z5*2TI&mXo2??kSk`V=T8&~u0n`wDvs#FlUCrxp9j@BxJ? zuqKtqAJDHuu)mTXFuR`Dm$dAff?CHL{YNRPCEB{aLX?^0(H2yuio-I*^xvX{k_)JB zaSnk=jxj}fx5kNJC$<~knxm>fm!+W}Z_9b&vssg===lO7+s8!NHHp#=A?Zw+%a0nC zn%;cDjm`Cq?>9}<5MIik0n%C&o3X_NaFljLE^5UVbix><%Y<>%x_SV{&RYsGwkiuI8W$D?fhd(^fTvc^U*2u6YhQ$PA`j})h#r2|#;P`ykCn!9 z)c$pDjjc@38@(s{uHS8LY^@2iV9<5IVPlF`e$lW$_s<(|-WUY2pcC%s6!eYuVq{;j zXBD({euH(bEu{WCK`4M1%pYbsKxFq~DEmU+V=+s8W{%5TqQ6qzZTYztYGPm|lV0Ds z7&0<|bES-=@)OV~cwYddd)ErVab7}}z7@fhlY3s7rm?^$;DAZp>{Gp@Ko zAIP&kfk#>v|AdlYL!3FxT@oI{&YV*A*Ocg10cR(>ITEs!$Ki$>)T%k=Gh$d02ZIxtg$tb3@8~&06)I z1|pKRI#qNfa80}ewL~5G$wXs5eXvN|R6PP%qBBbTlv-2ZPSRSU?^NF-wraUH>hG;| zkY>5{Es-AUd&K`cO|)p%%LR;6MFPzN2-{24%PGU#m6GP@!*US^oI`f( zjwu4{HxsWk$^`nNZ{)e(A$SsT+>cLis~pWgBk163n1D(Y}g!G^*0g{_K<{l=Z63VYZnY1#_IGy<*4Ng*-z1uHefKS84ceP;*Z)S? zWqWhIy}RGXc?N4Bw~Eb5mx76!CzB2ezbXg}U%h)xVlpb*{^f?GLfuz4Kr9|2%>^q$ zjXULJVE#9dy)tUpU7F?8P!TF+vyewP#0Zr0yhlyiJ}eYfj}sB0WwF!6F}sSX6h-yd zpaEwz9@rN6e>-Of3{4UJe_-hr{_yg_*9%UzcnRA=#`*HfvsxUAL}Ab?OC#MOHQg2f zMd9tX-=vQuSsMj03GljI{eZbs8ZS$}mSnezs>Rk2kI>}0?dY?fWCe`8=}`M86bLuV z(IPB@?Q+!!vB$S&q7M!=olKMmB%2MExqnOT8abcruZF-tPEYUY-%YYZ%gPY)L*#4| z86mpEF_V;`oJp64xu(j*&EpP3Zil&SmN=1uS24^iqf+vxW20j~Q7daaygoYp8)wHu zWlL{fQWiV4rX>x8p~&-Y?`7!Ocv=V1CWzdoS6H8(mLatptXq+fF4-cYO7K!KmAbJi zN=YD4G}(_Qy+skerCVQ=(mPt9q|UX-P1+)g?Y8{)enJ+&`GM*k^}* zve!rB9u*rn&CG*>t08gBg4vou(Xhaaf6b?1KKR+Ct4H+h#3O{LB+oVz_dAMwH z)ms+|z}^c#0iF=;7_vboW|q0bQxr`Uz{u8Cw=EgTMA|sy;9((CaeoB4xJ}~Y{3PgY}?!qQI%uyD(+DY=$ovo zPRJ)~Fwmv}1X*P|0{ge=B7t^f#DM`jq9O#WA>=)L%_|*W$n35wjn8JhhbG zkdUmFtXMLf^R;BDT)f3qUQ0Gq+O8$L?^*Y2$(lF6rsEyFKm@s3?P6MU-9#XSH~p~# zIr2Yur0u&StX3aFweDK7VKoI=r|8)NL{JN+otJ|h- zLQYf$sTZ~0EkrTYlHH(~0kybm$-c%=yz9htFs{n{8fS^ORBz0XRaT|YUtdYTMjyy= z)cV+qG$mhkzec;<7s}I7Z+!dLC<=pGvOl`xxR&fr=K{kv&M~(gZjWE%-8L|$DUw&% zda6@Jk3Qd9&JejrMb_RkBC%o!s21TigVR5vha8n$=g&|sXc65X%CMco?im6<0f$Kq zPYzcshoc)OjRZtO-!*y(Ixbs;pa=4h`w=FWq9q+MBMs|8Nf6 z(n{($oZSc62#cs?6g^Z)GEZ_m6!--5ni@W|+dzGNa+r14*%Yz@BlmK{z8XZFNB~hGH!N(sz>E%KiD4RyAcK?DkK< zKzYo3b6zQ6ol;V3t+&hyJ1FdyGSe#n3BoNmqkG?pBU&aDAq+O+i&Uo4z$%NGU~SD$ zl>N3b|Iq4M7Wm{j7;Y*2hm%VzpkO7ds0CIdc`{hP#U3*Mxs{d3`zTXYz^eAp+_35Y zz&N*`mL7GfMr!|Gh(GAR%{i}z0VW4FKy2a`2|MySv1ZcCOHa17BWFaoELN%dspzEe zApp-w=LjN@pF1T=MEH)=0(Rc~u(?A*TQg^kNKuj<5ei?G>1(nc3zCI+zy=FrV_UdK zEl>6wc*R^d5w1wGV$-J0Pkl@RrS?$hz3836Jfj4LeR2T?4jJcQh|}oA{Cj1x!)A9H z+hMk>A5zR)H_DbbTsRQ}`2ui6*h;L->tAuO;6X>|w0~&^Goes z1=d$MP_6Ufr_Plsx8?1IS|qv`1CwKNnv}dS$8yt+?%?;Ik$|KmJH`>nQ;=jG;a-@Y z++&vPXey3an&h_MyDRXAMCxGIhpKtglR}69Qpi?tHEPYpn%@ceT;$`s@^6gqh^&oo ztv;-K7Uf#9W;?yBXUF=YhXDEKkgx0JLw>qxcBTu+P*wCj z9ePnMvNJ`Rk2}b-ai}196sd1U#$l>#u`g!uOajwkdLIJxCpTF+6-PxM3fb9xh)IVy zB5KE?;KV7`+4MEJz4uB8M6LC(c|iu&Qc93AGbN?1b+(PjWVPBA;f1-cC2R3ZB|2HT z5AK>bsr{ffXY)2LyF#Tt5;4}2T`kMn`mVXwvp$qqCr&zO)*`cv%8sm^QoBA3+rHhx z`mHs--vj>Ql&>YLWGmd=&Ka>lWNmx)EFNL=aB%LcHY?k@iy1~3by^__^mm%#7*nQy z9t-N&-c0AfNcxo-L=_vc)uwl_il;HDU6U=wca*B)?T#jBsx@X|u!5}r_G{SaEMP`G z*SWHH^VOhh*h}TQaJDALWW$gpZg3`B;^BlfSt8=(vQCkarbm|BNSF!9XhzP-f-@5e zz!Y?uG2hHI+4?$xhtB3>RoPDR%tOrAP+ER|--N33jy&-J&?t&PXA~gpOwvx6=)WKZ$8f&ff?d<}eGI-~+g3L!SHM4OU zdLDfQ&B@I9$es&6*y;Saoe)aIw9G%4C+9;EhGxK-MXPCY!JzONbNFDI+gao2XY9aP z@7UA#xWGlXnYRpnHKpYT^G!>s(ZmV@tmK^8SBjxj{sBZVVGWA%h$}G#>p{o+nwcv> zf$RWFFvPGl&-#bW;dQrZKm!Y|sZB6!o(|3jN~X%e*8~@W|6`kj!46PV;BpvGV}9et z-`l7!^K-ZJvxzdOn2{+HSt?(?3|JEcEB$4( z5`-(`5JEf*l4!0_48oO3wW$^F%1yi`iqAskb5%i)#*)1(=S94U*{7Ol4gfD*-?dYPGzl z$D?T165ixoUS|>15;mUee($)Ju==d^TT58$Fq^^YrtCg8h64XW%NohrPH#P^w(#_B z`2AgzW)inmt3WAbB#Qd1ngFoH>7M?A@#d=8XLH-emRlYR^{Y(xO&1S1v1fIz3GG2) zakYfkNz`>wH=R>-57lZ}4rt|Yt0ipSp^ZLXXxHv3G;)K39UX@Xit=6A2LgU&wQy72 zoL^)?U}XnysX9#TbD{Q35ss>3En&ObhCeRX5{`FwE#Wp=Z|#ddKnrozO<&LP1#3+T z=kxKK{zW|i7_}FD|EAs&jYD^iHUs_>f1PdtO%|>w;afP#DW~sbGP;d{u2`%+{sIe`n?zePh`j&n_(Ep8*+oXRS%!kxfmtx2v$qv zd7!f6>5cUt191bx);DF-kPb6SS@#=GbWDGXwpDbByfCgg#;O@X)a#+1uOj*yFB63& zIm-jQVKrrNlMj14;Dc6eW(#TwU~x!JGHS%C>+2T2&saK~F=aht(+3aDUv9`!L@XY? zGs_+OukrChK_$lug9`k270xjDMENAO$e{y#}M`w z2i8gg&wX~`tS*A({sBiJ+%2Z54cQE??+qy9A(pzrDjPEaK!ElmQBwjh9O?v@0&_WC zJnVzg21My5CIw~vYCaSL@_Pix+)pXty2AS%MG&47ZWGW-MnW^ZFYLf$jhHXPp$ND+ z2b7&ayeM2J+SeV+3Oi94)(EA9h%kc&sbZxU!PC^f(k~D4p;TDQtyF@~n zMC#yZ>YNJ*sdZcZ)H^(-aBRE>y-Ln3A9}5ptsix*iS@NtcG0AIJH9vN$1bKrmqypp zAF%DNhxKXzL2CmNJE^ATsvSonSSmG>r!cbQBOT7BSpTQE2UVY_OpJ+y8yh-VfVH~ujsv;2DJ@~m*tBlA zr_XBo2oCApjR>b~E{V$%t)JT7dUNjA&3F0=9}VX5)mlnT974rys0$)4*R|+cDwvaY z%KFvd!bmdz`E{%WsmcOgYf{=kzyAg9AB5?Gws$=f58+?S{3loYiMo=_V50T-G=nva z@_=f+AQy$+FP@^|*Lp8F-SjB(BMURP^w49+Oa!z|8G#fKN-alW*M+?>ayVJ!rjq6& z;cPT2h&Aazb}!y^VTB-VyGK&geHS)Yf6?+Jo>Q%HR;yA3gK(hQ)Eno}u^GbI3zn%Z zS+%3}$SthZ=a5n+u8rx_E#E+^NTeFR`#!u2?WJ5Bu zWXWMGf-Rghtbu}y$QJ``JiWlMS(r60inI{%Bt6e;$u=u?` zR85UB@SA3==SoUQG>dVbx_xZf6lQRm>JfCDeAFCe=+xTXm?*Z8Y6;UF!Hl`fFTPgN z9@aPCct;}6pDm;@;kTZP%fFy-@@c|x;0)#;S#@JAmxPN|H_9FJeG-LjO6s<3!bQur zo(m?_jP(rn$sJ7pxhCVJsG0=5Ae<-PD;Q2b7~`}o)yZlWHLNn2r2>NUqFRZ~}S<6JbjB_C-w`^e!w4@3*1(z83fjUD>aCzl`efWegx3Iuw-wQuq>(+Cp(T=B0Ph{UE&VF>~fCLN-P~)&K>f0Z3`>_ z+czAo_H2((!d@{_hy~&a9ehF58^T2y=fPEyXBG>I97 zCWGVZT5&Fk8r8&NCKK-qM;Swj;%;B*thnDAdmm497s^IehJ_%#dt999O0q?UoLDx; zco>MQloo&VMV68+8SXkU*V54PCy~IqLuxN_d_XG0R5gZ)RvE94pEdR*42ix1^U1#H z^uF*lOD;Y15B%qHgYRF=eg5D;QHYP6yN77iKf0sbQfY>KxkVBb`l#9clplwVMapLm zQ?7T1<6=}%DKC=87$pwar4kU$B!M{~#Q*k>5e+` ztjn;i&b*2?3;dFmGB{dS!do3n1U>|IPJvN+aw`i7+imeUgZLj<&X*)@gA>;qd4Ort z3T-hpkmiU!;AHrUn|kVXgm;u4)EbOFB=DYCrA48Lq~O$59{B` zaTQ>fV_+d114Lm4o47Q=so%CD2gh}#ImQ^+>C%T#_Ou*{1-u9TAlVK~L*)SAM|Dbz z^?tYqAyNcu8KKQo3dy4ry>43q`VCe0b*2mj;(6=1;ai#s&Dsm`R}XRcx}DF|+tRL( z-e-SJkdEhTSkV=Qv21||)%^cyd)M|jjw4(5^YO3fkvBF;n`qu7*`{wB1VIXqdBG5n zH2cUJx`A$hJp#~h7XXs>_U}61&o4Xgiiph0Y5>*Q8l2~uu?V2DD(@Mwa>WY%ubmz( zWZQ1?(w@@X7i*dV9}DQ*7rpiSAy72omr5fE*^jQ}5aH>)AJ&>5nI0S?feK5|Tl$WW z4ey@bb2^^R5#YSp{D)nVj(q^m&>V9;rd{bM#VbstuYJL5jtZb$US$GH>;5wOxYp?FbXCQL7FpT(@11|$(fDZ?TXta5%KEc@c5`y@6{^6AvgM6ax1t_i$ zJw=|572bDbs_nd*d#BWD^@;)+K|RHHj?9VlS*q$N1zW~W%CqbYdK33?Y(7~F%a*?2 zHxXw2Zx-uKDgh0r4F+Fh|2J*#2$htO+#StN7U#)XCIea$ASaEdD+Aqgs8@ZT)39>$ zYywMMVfiIC_oj4UKt=p(`-lkW$=H9rMS%N7XaIq7iuy-)jdZZM2c^1?1~T&qz~!X! zhc0!Cjp8I7I|Uk~Q!|HJrFDgmJng5Djgm2{UC~R~zR5KjHVWNH9#zc`JcwO)YoM)i&_( ztLnXdqC2_T=vr06G!v`dogA(@Q0di_Y%hvpu6j4QjHah=YiTnAtL%uVe7EUEZPc-B z^lqE=RquA8@7mD`rJ@Yk_QP^!TIy;&YGT{rEwLNzUD|Q0S}DK4#GCs*%PFS(V*Gd!#t%Z-2Fx4$5rWmQe=X;Hzep5Db=!#8=mTlF+! zX?%nfFUgIJlBreVi~XasizdgUdZq25&;ySv?-0~PS=DZ(CRpSfjcy;S`UK4lM`5d; z=FVVjVi;9V^KM^0RZnY&P_^r3m96)pzjr*>+wJt=XgsU$LCeiny>_VQ!E0Q%%H79T zTF&jsyivZ)TWO^_kCUpB4r+C--cM+yGLTiiJ7<4w5#}C7C{t=teWT}T6HgIirRv?U zr-)RkW2&BhM;1wSNrAcd)I_gsz;1un>84=&NGo)>)zeJ4|>!? zYf;lb2Op|u>|W4p>uLhoMfviUt%mElq+*|4Mr@CmH|Em8!WTK<=|=MaO;Fs(=5DLTxJ6Ze)v&%Qmh82SW2o+ zV)TY~CnliA*GsG=-dUorE}17l>j{E@{U_?&{scwz0&b_Fa=@Xuqx8+8>`ptNDIL~P z`ZDN?yMwIvRrj>6N`zPCK1tvq7>_mb&iU*PSQNCn!6VB@&eNAWySv{bQN8=k2C?1k z4^MvkW%~n>+z}ye3{XJGxE1{M%!L5P{K}%I)`T$pY~?X4-bC(__5CF0&8L9{pmK_oH9`Y9}CJkCQ_QJ zpR`EO+@DV9W;a0|muYSKHCtRQ$&__yw?Fg=sm;%iX6P+`PS<39D^Q#yx(&?&KEq2> z0%OAyo`!jRAh@m0^Lhbn`TGV&p(b_!Q9fhAq7nyN z9U4}vU}Tu3L7`phYx_ip^#F0QO{n&0xD`B1j0JLMTtO52pSBB`)~*sMvwU}go$B7b z@U*=a@n@;k%QbEmAgsS@N`llb8mS_FbP*fzF6gL^saKH6$V5~+!>ix|E>?b}4PB@uandi(D#XUAG; z!y$^5Ry=(ZZLIg{E9IM5ZJ%aV;ks^x{C1szqTu+@M zF)+J+yLeSkvGa7&6vKtAV5r8^@#i$Z){DkeKBL(cW3@& zbc_YqFIWXjo^I=X6UBFNHAKBr@c)t>qO7-Wn^T_NR9yR((QvnPryK7UV^+twdiH$T~*IPT{mA*Xvu!D zJe|xLyC+!~`KvYQJiRdTH$RI8KtQ?AhyAT2XKK zR=Sr-gL9pp;I&Wt#B#EN?#@zAf>5y!w&We~EMr$Vn-bClq{4_?*1l)d)m;n7wO04D zVr|DvQvLT)dm4PSWC5O%4ZwXOO*1*%b{LqR-w-*!%{`!dzc)xez=`RIKc$oC#v-G}!Pp^xqKo^OsJ3csJ8zURM? zc8m>bLup)R3n~QG^^8EKMj?F8BU^L26i zl5$$`pM)4TO0r0m<7&KH8GHSc9!6;Qaf0W`)hK#^K+tXjF2%ELj9Gd;f%F;%X@F-d zQX2o?{|C;_Ppb4}VuR$lE%i%dNnL`2s!w+eF+Ff969R?G%q?D^H2SE%rM9HwPEcx; z#oI!2qmY5LH-h=ng<$O?6FC(0ZHybHHCYc{ZWRk5vLZAW;~7evj`~77ef%3m%lY7?J_@sH3iaKNP}_ZsLJO@;W}vTZG3V@OLf21BebVFtpJEn@ z^2vXKI*t4QqX-?`^42@_Dq3jEN@Vv%5D5ip}Q!5%tCIv3z3aWoKzf)RCDuz)AM62Kd_L>-OzIe=zG0Z%Y%uR6R3hGO^5BczMY7%%j4wYf`un{8akmxs<}5{z z#%Dh0ikOWf$r9BuI-gdVFdns}%h`B*<8n4d4}HvaM$MIIzpL$JJuS1U%H$*ybvl9m z_G-q=uBi9(>dItLD4~7s`9hJsjh<ZeE5;}X2}FH}9A2eGc-b+ltn zo}AS^Zp7ev=CLvEjA&F<_q-*h%5W_0+FiqK%t#b2SK-bk54&=T?e4zXI+b~rP<=nF zZVA@k#mZ-UXXaFOBr2Mh_?1VwGW~1SN!+rOs@}etxOZuo`rp32^I~)|g{qJqXYn4K zqmy2F9Q42a_4M?)5iir*eXZQm+x=zQaa&ZThspMGavsT!s~&I7pQ^{d7h}v0$Esn< zJ3*R}{T;cB$dO@`sU!Oz-;}-+H=B7>v-woFRx|yu?(zQ0ypS|sQ%x3l$t9WVu2*%W zwk5yHj>j{-@iyx20*Xaa=CtEgE|0u}FR9D{t>E@32Yk1|(+w`PRBpf#{Tab=DVqfj zxsr9PnX;Vx$OMT67W2bH1Q5qRx_D&JD~?9E%aZZX9gC&>lwYP_>;`8^c%glbehrzb z@RSJ;bWJz5hf{JI80dC$E>TCYTC(3j2|jI@ZsZ5zXO0HnY;8QJb|!P>JwXDA(SDm9 z0Y4Ov7tJRnI#JZ!7?;=JoaBDfOYWpcq_YP|n+waKI!wIOm@`t&w97m5mO(XtPbUwu zMxy_TUj>wVFgyE9Pn>!C6ii4|rpQ;EFbdwp9Hsc$rEeSpqVu-&;OwWP2XhZDUcB=G zSbcl*8jWcnue~-%LF6+ul z`d&&gfHxDC^q^0Gz}bA<_VY2ad!Q6QfoBZ%UhSH?C@>R2FXHn_M8JL;BuXEBq@)QY z4G?6EujuhM+bEZ0txBbjv&DDXf>J*fY(bBNfeD#%@iY>wB`xm-A=2qyB4B+V93V2GY07)U6l0M)y2Vryev>o+z|v9>e~Z1d z(JT@Y&o1^shD{TrkCE8zNyIpJH{J}^KBbAugcrJ25*w}|877M`vkcqCrv;cP1vime zZd9m@wlBy|vYK2{(y-^j`2{Mf+JNok9EiDZcR%6SI4-8!5?H$jhT?wo+@X%TPC%>a zQjkAOU|Pp(*~-tyE|%-GW6)F)?fjazc-*|- zZruxp;36B&C-9QTy&~JPXJqxwmpoonrZ;7 z0Bm^~*v&~_mn`j~sW)@N1VUYD>NSrSJh`inV_Ir_+G|aQ3SkaB*8`CKt%B&)-_-U6 zW!?Sl&h!~xPa_M2jFYQi-ge^(ibonfR}jT~N_HPF9w}+8K|71e6z?ov*A+H&wKlsC zpM1g=N6G~jL0pP+hhJwHw(RxTQvD;hgt~=x3R_Uo?`fyXd!B!i9dD7IY8J4ISu)i;RTsyF(gH$A_q8e$W4x0zKEaTq~ESH7(Vkx*2NCYKEgz<6^ zVhA680G6_lJYzVy4~0kBOb*5k5xaO>DJN{}{yQzs{*;(4xbytqe_#SI%4B!I?WTd` zOa;R?6AKs5kYB>WjOLN1#%w%R1##lz6?gfVXbCv!s)CS>Ip7_A2jhn0;NDB|nF_w) z8ltxFLt3EWZyMac0kfGRjd+f%u4(mHr&VdyNPkFiF%% z%ZlDpsuzN2naNPAl;FX*pPt<#Ya^O48z3Vg#tjojT3kAJ8C09_`kjN#ejdLd9#_71 z(@N2aRg^^N6tC;)cd`nda?kwo@=nmTJ`#kwjIL#Jp`T8;a@tb9YE(CWVui5R?w~ob z4FKv@OFiP(VfH)|O!IZ{hX-rTpBA?f`Vj!t{>)!DSqLm^QNzmmj0Tbcjo)foYr$yw z@8cfas2mr66tz}4q16AWcHi#3SpTi&j0IlbPn(L?hVWe0y^pBv1rDhCU5C7;L$-_a zAgo?4FC=NuU}ta+dTzzvaF zU)NsEuC^{NAPYxx;Cz7qhlHr&h{uDMu>Ou_q3HV7ve(%A|0Km%dNS2Z^TU(dvazI> ztu_CPuCZUgfy8=Yp~>{HlF#tjl;U?d7(Am&+PehSlSDD6Ud{BrKpy=v0E}M`=TK^X zxVz6~*Wo?-z^H24?6n6Pg(q!apBY!ytx`as602!1<{NN*cwG}@4NR6&rO!;|PRFgS z_eAy@a^x2THVr5T1^@~-s79+~M#%*AbJ)~J+?rA9=Z{9qmA)sl`_e@FSf02W&5*gi z&lwM+(stS;XrL*1EfemQ@$SU@`#6EI2~Cx?c&1=7(L+ZAKW6BH2q`K|wM2z$sSD0` zAkCL8b+f>)dH&_*RtwO9vi{_4^upIX-#+XQnrXKeK@rzHpG-g(#j{`Qt`gc7-+m#rlApc$S{_io77-E|215~0^vyuZKx>QYJd?il9((>R_5W7rPHgX_{%m{rR{G~+U*sp<16K8qBK^5`97DLQdS3Hq z2P0gUk|tBE4koy5G$u4^Hvb+EG(fFq*j>8S+?m;B-RQVIAG_QHZep9E;0{56)FU1G zwaz6#^ZEwxSEzD57El(E|wFWV1aiDi-IL;v~$g~sEw8-S=!%SpS9 z`fQxyh8t@p)u$z~Eqgz1661X(cdhv~E+jTe0a*hKZ#K>3+$b#9WfoM5Ap%4|bkK0g0BAm{+l!*TMHf3$Cq-XW_znO5S=VGoI@RA5H z2^EXG`vRyn*hK!C!!gu4fk9a~OQ2Yi&VrqV?XKsI#-T{ViTPS7rYsUyw9J=urP)%2 zka=@&9|sSSOPo2Q5DY?$3in3uZ}B;Y?~41l!7tZBIZf;Y>?@xCX!XH&e6cN7826}5 z6LFKua`v$LfWb}Aw*x~+8tWXrosjWrq(vX7*5)_f-V4OPTH>#GTnEP&oX#Cc1aq41 z{OaNFo(}%w@mF6x`klFKmJNpfHP|9;?X-;}7{9df=fxvI6CE$=ByBY9&8pnOjNbV3 zH|2qKcn_y76JY##<1-Z`pnwpgi?b|xmg-u39z)!@E+kvd0IHSt_Z##`R+;;QtS;zZ1BE-2&rfaNfb=$b~ETU zu|M>$ciW%+vass;UGU^Bz&?P4s^{B4hq~v#Q)FRhe{O%XY=5rt2dR$?9#oT_zvifC zXFdQs)t%G6nX%;QFk3xcd_2!wlcA2vVC`r)w3Zgr(iV?YO4z))5DqT;BH7#R7wg*F zs;$&L-#;J33qp934W*746xO5M0N?ubFLjLorBnTz)v15S#>lZ}92fxBs`=y4Cv)H; z*(d$=hkYL%Qa9g7^}F!=YgbG&mn3bn*V@kjFNExNcnoSNmK13^%rvCo^h5xctWhDSyJ*e|RDZex5=%1qbJ<^IFPQb|Dai?xDI&=LuZ9-{i^=PURj zg}~O(1-2d!y`QaNZiHq=4m~DTAnVen(KSL?Jew{Yb2i&sv441R!t0{{`HeeMmG4(G zZqJ|H;dm#K`xs(v)q2@<{+I4As-E9VssN`>QpXJ>oeo*pP;%8_GWes;MPagjY54YZ z>(lgnvl>s>6rET%U5S!*9X0BDk&?Rlw_(av&u_Tkfo>Lk{$EFTvie++gQ|PK-<&-;m|gRuz03CuM;G}No~FJWLVAhiRY6qR*-$F=6{T} zVE3x$S-ki(_4X1y!R@T#N78)mpZ^r?iqHLe@gdqCm^R24>I|>`u&Ykg@CH-l%CBqi0 z-p?gBH&pg~**}XSUVi;p!HJ5_Tzp;@%(d@dpj-uq*BEKK$TsK)tBot->5(F_?wj}& zESeGA7Mqrtw2=4%(r6aWBDob^oH)MWlpge95I=BD`OI1pi6<34XD24t9)7#H10O}G z5syXOEt>+l&~mC%nd{a=d=m9Y^sI!t_${-3lSIOWA+UzfHA4o6Y}v-;ki`@mFaNSY z8lpPLecIUAY0pt~{zQfmN#@vppk&zJX&O=jqw(+u5a{*T`F|X2zj^Wf;D7#4k63Gl zlTS?W=I-(R!SNse_{A;^;xF#~Qb{jA7<7dL#~d`fZEgL@*Ue!4SLwIhp$wij>7cl@oyJ6OhX&_p=od>2`>CX#hV$y$j09~sgK0e%4!uXrZf@oKb3Sf zF_!3b(OeP~2?Hj_+Aq)L%0}^%@~FyxrMg2=6Am`TT2PkKW{3=xv=AAM!})~xLdB#0 zvHe33rO1D1YG`Di_-VqVT+ox#EQN=m3EX@{-V3ksSji$;Mh#lv22G8~aU%Ma{th=W z1qnBY=y1U3GcwD?sVV_(K^|74@wud((?)Q&0%jG80f3J-&QZiI#xb5>LIW%@x9 zam>k=B8zA=Qn&Jqf(kvT#1my0yOH021PW@|cB}wiT9=^IAHA-?JM`(U$x(V;0RxTq zq_0l1Uw=OCs25 zf5}8Jq4-0iWW~;6OL+9rsa!?_&H8}<@%mLrdR@o)!eukbvje{l(9o=}|A}pE{?lZB zT>;J*Cy5m${+tSw%sQ#PnNC(JyX)z!3H?2_8N9R>gB8~5Ebn8X7Hy!*_+Z^{`pT`iOgX=P5$+-mow;=%tMfG zKEz4E3T@zIJ^0tZevud+nvw8&jF-tnqr(7oTXTSllL&ceMA1SItYkuI%q(Q*?tHR- zk3}HtxFtm}J(A$|Xz+#lp}d*-LIP^EZYWj(H)A$o#1^Dtryf!Ma%(R^JnB-`F$?Qt zC`j+^DXSFj5iOG(n4OD)h=5M$I(p2HU8775cNI*1>;z&xWOb%jl4xH7(qhmjbMF^E zsRQrQsZ~nlp}f$uK@d&Uh1_Y_v&Dg)2vLj7ATv*~39opVsX%~b>JuId6@tD3-!-V3 z%_rYY=Mth@6KMhm5;+W?7Ee-ieljE>}FgjIzZf<{R9m38-^Ip zaA;RR<|$y;rg8(T8chLJ%FeZ_0t~Y!-^D$vD&SNEs3dIxQwzbhWChi^gI>T|R#%|E zTOCgpoPg!)7X~(4+zzSxf(onz397&?VuC&nPU5Q?2cNCY_9-ZHRe_B;EI6H-5Mrwe z*cKMNgD6li_3FB{f8cg8Lx`9<&^}sKB}|EpMi4fs->M4OD0Q(Q+K|xT+h~KpChhXo z-I`Jq=zObc!;bbB-^c3wZD~oqCVx5(WL>w)joyd3eBKJ}1XAQnqW8)q+7Jb_3hTNx z3iukT`9l9(;!4GYEULH4S5V%cq0r0}Ox?OGN#5JzG5Qkitm)#6S<*{fXBt>+Tx!`4 z+$X1NZC#;Y8Hr_`*(n9I)k7uXs?;u_HLk7c&{qIT_~%u~NA~)lH&uNB>es=CRlcw% zUnUA{ugK?0gyhr@)y4@0(qX)0;HuU%JKxa-JfiB^T6SyI7m5m}O@Ln|-q~%m;e~)5 zPfC*(P?966?pAw8^Bv)6%aGw{v?eaMjD+5;P#`ADZ8SPmy~@n;n1T4 z+K{%za`XYkq~UH9a+p6b8MPY_X+(hSgYa8VrnqxJYy?r^Ht@gufKqa1iQ+T=3te|C z0l*dQEKdp6Ll{`XEn?LBLlAF&q6EL63?Pdl$nbu*z3r=U%fzxsQnbv8=pDpTrHVPA0c(n zjYl}0M*|Ey9AX@AYQvq(oBQBM4E0FF7i8tR3^*Vv2>qqm17oZ~wWZA%@f3zFgy~M> zHK(|AWQ0&j=f2pUY&@}Lp&_M|qDJ?ihfGf@UsRR_bklEC8V!WpZv_+~9)3K~xj&hk zwA0aSUsC9v0YL2-BR^#K$_}A9*7@QxhXYAiMa!x5NNp7K^nFHo@A zoPg=u?k3Lh&dY>;3M)<^>4dsozdjjr0ba688gksgW8j{Te^r zmo&N@hgMZe;vo4A5vn45DB?Oc4cc3w2O-KGM=yykS>(OJ8tXyWw9>mt!Jo zBODFv(L{DkfY9>wP_>c4mfc7pD^&$B2Jr4bz-z3iH|MsrG)Mkw?I0E&XC7*+~lKf z#|U>PPF^?ldmjmT{$05F;0zS8w8M;y6*{GQwIP0#iO8v)ffLo;rm$`q_ zle#bD0?o3!tYR+BW8UPwFCw}pV}G67kbMQx%(J`Nw1Gu0^*4HV>(%u1;*(w0R23+q z!P62Ax?KIf6a^}_nW`%3mL^pz3OG=1ys9MwS9EK0BW14Sv|U@kcZ{pd!i6KN{el

        `M}Op=g3bQp_D; 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�CxBDF+DppU{AB#+s((Hw z=<_>d$SpiP=wtS|2`qi4M}5SXJ}F=Nqc1%i{$^XpwGJs`Ut1;?=I-0Yq?Y(;gtVe^jUR(m*0DOEoGAXt6^ly9s0vA zKb8yz=uUaC%imAnYbD;P|Mizg`-kwptlh1@yzD1keyzWMWKb@Xnau z?|$0l$GXiCD_-s0;&uN=W1)=~(ogGW)9*)Ie+qBJ%XPs2B*#S_h4EuOvQ0nf%Ok-p z`1y(c|6Z>8?;mT9k=vtEb$V9j`dFT;e$nNA2>xiqAMU8SN0EP4ptJW>_1D9iqOGkXbtH^KjZ z>o2{TxM|%Ds)7Q^K0Nu&Q-sjI2jpo+K)M&qwUA2 z|EfIJe;>cL>i3i0D>80%XVvwS_Obw->POh>XZE2bctA0HFmB_e1FYNNq7qTtk-R|HTXJYbl_)jGK$D;fz6aFm){=X&s@6#W1u(bz`Cocr2E}T(I%gK92*NK4ZOKPHT5- zpW=5H__M%idlojn-f#8-aQc2T^_?%`<&>ZLqNNvK@>6~fIOX>ze6@esD{cQdIBoyJ z*8azOf7-MHU)cDMOzw6{|LbVqS-W=o@%r}>UkE;vc(d=}^{RU>`2Bdfa}ViuTR8qz z0H^j$5u5FK?LpnX{+@{Pz6F0jc#lT>>e=0XZzC)Dx@Yg*&V4bSiP*T1&@doW_9k=ya)ZZCh|n4jJ^F0O1MSHwlW@ZaEBdf_$X zZTRGKyZ!w#tM9vN-F`k+pOO0oSX`A+PJCTY8(;Z<9GvQt;`dzK?Z>;fDlu;VOS=8q z=hXqaZxDYh=aVA7{ng$6di$7&FB}T|c@ZypE&6l*aI~NJYTqgU1aQh%-!;DU-4~qd zd)hN#jV~$xknP}e=63t*LDT1U@LKrS;^jUC{s_lcdKBvKV9rf`*9qbKT1Uk4t#5Su z=ZOX)|ArOae!e&^#(xW}wS?Ut{@n6zzjyt-82{>3-F`jva7@1m{2tCtzsD{O?c>EU z{%s4@+qwRV>4iHJ{8{kD;Qf;L|F7{UB>GDK$qAPJZ%Op8-`efR!x^zWSG}m)_us2j zDBOSE*6rR(-0uT)zUU@c_03Aw_h)QIpW#iGdO=$#JV22k@NI={4?OYW4!jGgwyL^weOTKeNw)#@h`u( z+wVW@LYUkqz*-MX_lSP7x!eDC(Ay(^%{M}Q+Wy2Tw|D!#t}#dMhie1=e1PuxTf6;! zrgV}MzKo;cyN?U=#cn>9-`@Sd?41diT}8FF_v!8=ozO|2?o7=Pa!3d?L!cpvvXq+&JNW|+kI7ShTir#ot2q=RnJ-sidh|5)91c740PTD5A`s@k=Ov(HPzvR~KrUO(F6=>=>wsd@sb;XF`Kce!U|FGlVA^UUuzA5tQkM}EW{ek@%>t_Fd@&9F?fBD0|#>>Cv zhkU~P*L?W@)_i#Jk(*>obo~1xi!y~bgt_+oa>Ppp4bL7?{=7Upd-(KCGS0Vt&Z14> zY+z((Z&bgr~Rz>AE2-T?+aL}t)0J2oHjiCzQ{-7@%$L! z6P0F;C0tV+njJ6wY`yl{+lGg05Bq8#VXHldhkN6DM0}R;D3yOH&(03nWN0{-d}qW{ z?rIF!&hM+rZxjFRG5^~AhKIFTDdNf=!^8I%KN|7#2MrJJH@zg{qxTse?pHn%@ptwf z9?qAZb@))F4PO`ecD}w_d3bo~plRx6jVPUjNw+!$*EC ze#P;*-idzbOyGLje`L`&TEH< zXHBkX$OWR$9ZGtAz$X8eg~PLg#wRu+JT3egl|4R(*@W|Ty<3D!nGx?kq~a$X=t{;^gk|# z+25893GYVYoSm@qmvX#M4zvCLb41AJ9E8C2DcZMJK)Q~k>&Kr^`cm}?f$P!%JaGzYhUB5~7`BPWU-^0mczA=3pj&2U~-L83c*>S?y;;x9lw?%Wf z-euRP&lBeQL&@bcUs*o(pCRn+&-`chzx9318S~4;SROuQJ)gAkPaa+fzg0Ra@|T~J z>toNC{81R)za8_N&dv2-9NXJ9uQ}YWvGH|@@bltYe}j(|*D&ulKS}xJD3AQ}6aK!A z|M-Q?VZC7U<mM*conbR_WmM2y$2fOH*4UqqRt@yIoF0@vGVyT9I!uYZk9 z1+LGZqwS*s>HBYY=Hub^i0QvyEA9L51!3#I*Y0W#-{;*t@~^x-_eW$Bz99SsZLu){ z{_)y+{)dD;e}S;)PfPeePx!AV{C6e%PbT~?ZG?|5UY{HPoB1~+@;{r%XKm^2!`j2^ zvm)WA_WVl1|H=O)Kegxow0-`&*f#&f3f*(i*;Z@waxI)e%l{4)=>}KAa@X@dzCW%-{HP8K7{Q z@-J3>7vwO!ul-xXcE0h{i_O`q!n?)%vtMow_uDp&_)g)Il~xyp@Ezf+lxm3>{(F@6 ze2#aX&#}Sy=vNgkD-yt8)V2&z0P8CZ>+szV=Fhg8zTm^fGmJj337h;CuQZ3}ubL62 z@UrlHZ8r%>_u*b`4)<%ejCi2@*S4<@-><6<$_3o`x903V={q6H+aux~B8K0oeB;x; z%j-0zl;b+2(mpX9>6L%jg6~psC*T?$L6K1V; zXT)QL4^Vp9;Jg68FYq5qzCV@+XUaGH-a*B%KGSOmLYOe5xZZkWTglr-IY-6vox)|M z&7c1n{?An2)-%Y*zr6fr>1XnPRV-%LOXcz65MB~~PT2bY1nE0XZDq|#c&H`U7a4?0 zWdD7%HG5wxysfZ}r~QT%!`Nm_5oq5BwYB;iC4a2&eq<`ZXFcHg(}j(H;HYA_-*X6L z1?9R9#|M<>U#qs49e&ec z{O1Jang5iA7sK;nyF~teO~vp&ZX3UR-)gGz{P(SBKROepPRrZ(i|DV_J&WtTZwlO? z`tAGxJj>x93uE8ywT}SqQrhDc4(~f7_fNaOi9KjfnZgR-<=U133Vre4r~PFz72tnc z+cH4mpW)X_Kd%qh>dFXHK>km(Edvygzq_`cf17YwkpLfil>^f6;c0#yskEPOPZ!=K z<}=@(qO|qbA2ok)E+RJypgvy zd3z6&48pI4pVW3@K>70mP10pT#Q#ituU1*#-pz!qz1Z`M!evE5*NMe&>^wAw8TP6w z?aLR1t$g`|#c=*-*E`SKwHU5v{w9|Hl<;**kBXS_->S5Yf8^tjUOsi3eE8^Vd~mz$ zVfbyDKfs)$5Q+yB!}*v!e?eBH&x?C+Wj&Q&CUk9C;-Wo_#Htt#yO z?LuMmw;x}h+p|S=5WtKF!*`z55NvgR$kqDw#$q_Wvt}Zkaa}PyTZxSc4+tM6StD{7 z_>6zgU#xu3zuEB*d!sp=tKJsNpZVAP{BnlFdy8-Qf{zu$Z))4|WAUxUaQ)`!$j5#s ziC>QR3Gwltnc7ESJ%+zr98ivrba=nJi{baR9*+693qP&&HL-tR5dM|$Uh(+;j)#lk z*u@-97`cBjtoN+F==1ODuX4!EvM0V+%vevq5%DX+r#JLI|Ht){HXVP>|L^!pF?`1@J-2D+iRn|MFg8n;-7_LNWZ-@>Q|?t&bOjEj}9g3!W&3dkr^4{D*^z z;r)}hI!vD7!OH)!@YXS(_Vy@k?Ja%281%a~=70LM+#bx~gw?0Yf3)2xAg%l66~ph_ zd_3a&ep3w3UmX?kQ^LC`ZQ}=gjKlEXF6{XnOFjR5hp`u9udGN|)m6;qX-gf1sR!rd z`Su)!`TRGsogZJ{753xnm%=u_kpG0rmSg$v{izt94Vn}&`9<+9|DG3%VSUS*mH-~D ze2(X^63Q)g;ab9R5u-ov z8Y_p~e7+;?@fQ>PpAI)q&Fz1J_7T93YU}ZPRF~mz>HC75&wN^QGT|4(*zdlG>913S zt-r2(TTAFm-F6Cr?z$Al(C4SxdVNk6w(|U*2G@`6_cR_{tv=dez@{E zR_SXJA;9PO;rU+|HvYF}w}iQO&hVVi{5ej^sW}YuC*$v`h_Mgzr?(IDh1uus?w0Vr zykErw3jB_QzhlCGOxXB8n9~xjFU;CfI~CA}`n^8w!d@TdCa({DYx-<`LQA;bG;1sE zRN(sp$QvB}nfnPGOBpi+?k9qm1f=VN$F_v=@+3x4pgs7PukQ+BtB-uD^7+``@{fLh zOSqoXIYB!Wm|wQn*5)7H$IE(|b1cFRnqO$EmB&8l@9i^M*xP3ZVQ-(^g}pwkB~0Eu zXSamo&6Bae`f4xN>wJ0EOIH4zi*tRp(>}s?giq6U=YaHnx=UKZ+&(Sh-HxaaZT(=J zZ}`1z$}Wic%qOgMZTz0MdrP>V&YF*KZN%H=Fx&o>VzyXmY(SWNMN9au=I^8Yk86HA zKx6fralDfMywaA>^THEVE_O%wy|`{+oBx;(-*lM%#n#>)2ML=!SWmE)u=NDL|3F`U zD(cVgL$DUJ_N47Y{`5rtu}=PyTU)}r+b$TSoeCUZy0o?9OXUvDC&E_^C0BMlt2ta> z;u;SD`HVlWKl6*}Kk43<@IKNf;(S$E(z4$58L+=T1NPTv+CG;b-|cz~cwSxa^%?M$ zvcKi?KJ$|5?~eNMerxPw?|0|@O6WRUk?=46zwGn>lRt31v_*dHua`2vo4@mZDvodV zek%O`UBWhAHe1;ez8^4F`v^M;Z>O@6F$jvsGO0pf7cszKmby7i$mm5631y|J)*M^H1v& z_2J$GYX-uvU#riiYW}eKp5J?UpY-29&(5xXttEUv^Q?$p(0cJzrJ17%V7`ms@l=OT z8r&LwuW?*X&w7L>DSeshByhiyb1S=Fx&0QcVSc2K2vb{H!+d*O_c0kAf7016<^P-GV}JY!n-H-73EF!5 zUoC9)y<7HzAD1hEk9^Pf{q@Wr^YxycKR+*weGgV7ye7Png^O-L^pY^`+Z~9Zd{=6`j|Ew@`!!e2k z{0Sc*ynIhCpFSYKN51FNf1Zzg=0*8?2s3xxr$|WU!$-d7Zzt^eUOw~f1m*kr zcA~J&Pt0Gm-R3XmL&mzzhs=M!5q?;a!2Afd`EmB#e0)3|awS*zP^CRSEy4J{&&R$V zzsF(pVLk8l86oWT0h>PX_e=Q951tS9e9oV|eDw2tu<^NG#$1L^5k7HBYc{J<*Nf_U z@qOwb!zb$c$G4SrYM!0FUDvxlsPz7^zq$Ukudt2RcU;sO#_J)GKl|d=a6ZczAe^Xt zY-Pu{Q}t!tyM?h4VdC}8;okeoD1WFE;)w!jqNv%_wiz`&+~H1iPN|q0h92W8F0|A3Q~TkC|T$^Zu->g-w6@ z^JZb|PsR&l!;hCQ2>bDZ|J!)E?#r!VeS*$}(O+o|&+c3qk8j{l%Qrm!ka&hEzk~Gk ztu2$gayr-az<=i?37K>`YhR0#_gMu5|Lh|8Q$)+xv6%Gwk!C^36Wr$?7}9 zlt0;(U-VFGxL#uGHS#|w+gSU^=lZwh@3UOvSGrZB{oub%*!Z{I(Hf4w`$v7gF3eb( zFBydAg)h<8#`i$^_)n|Kd;i%%*!vI15A&aa&bN2`pfy~d+e|VDTyH#4Tjo?kdc6_( ztiSwx+a~PiTd>Wy<3H6Lo*lFC$@9-w$(AK?2s|JC4Pl#qSnn~G{Q7X7@LrG={{C!h zc>a0w9A=zlH|1JyLc<24GXA9f=dC{Najn{vSu-6}K`akuDe0@!u3E%^?_4xM= z^ZV>yQQr@PtZ?);`h82aZ|59lTL|Mj*GJqYeYQ~A-rxIMITsk8B~1TozFse?Ou##g z%myiOTMo0^e%BhVpC0e<9ZDOX-Vgpq9e={}t>M~~Js*DTuUo@<&*l^AD?9$4t6RhK zVxQDL!n^gwvF~eqa7~H;E@=KSeB-Lt@VxR#v3-|cJTm*5+V;zwp51uS$gD@@ImQss zf3&vNUhq_h3s;Q{=QFgK@Qdw7hV#>fISd%zHaz)^k>UBKn__-n&v$LByrW`%`aIaj zZW|faV~lCSo5EXZ`>}v@{aqN}wf_BQ_~>i$DUYukroK&utv>MmvY*FKI*dMyAJYd+ zdBezOZZY{k_*9O0#~%THSzF_e{Pf6hyx1+~Q$NQKtN$70KdZiFO+*0meISp&;_%M~ z>;9;CI|jC%KTI(7Gk&f9G(W{Df9Bn)U*(^YPZ2mDWvm|-kdF7lL#6NABHrwtk=a8^ z-?T}-<1pbKCAr2+;QZ*T;+F%;f6ryC(l&qbK68B4P>#J?F_3JCfi_N#ZKOEiGy+2(1i3xu~!Y?O$by^Bp!K;Lj6P zzxQXZH(7iBxBb54w6{iv<7a2Ceg=M4X^#(){)T_kI4bbBtIG>qb^FNhUA`~J@{IqT zl(zYUd~DWLWE*mBVbj%5SFhry^#41Ka$D{B~iJ&wRtR zmFpuPeZW>9{Gkb-h+RkSgk2{9)ZW|FX#6U3iVs z%z=bUq|ZmRrB4Xh6Zzhr(}cbJr-V&D_Vj%0>G|068;<|KZT@-3heu^)={H`HFz4R< zd_X_D5(4*E4^wJF4zr^ppEeUNiu}trz~}exuF+Vt^Cy1)ZnDbl8cOHCfAF`02p3B}*AEV@%Q1Z3Cv5zE|C(P6eXzg35BB%>Z~6VGus+^C+8@ldLyzZ5f5XSDSzkWb%LjY;_rDbVH_8Y5 z=Lf+4`GNm!^Wk467qYVYonsb(^B0cgHh*yb@{BOY0Kx%vqqFN|ucjPk^M$X{d^0ZM z&j=41)cgD`zrWL_JpcPU_?!Jc&RgP>|7N`MN&mGorj7h|l>N=QsrTUjHc*^7d|-XNUY+_UZZa=&&B^ zjQk%7my~9XAvFDEbhtKR?fakR-!*ki`2AO#KYl8Fq{hzhT%8R3QHT4Z&wIo-{ip7( z-;>t(Hv4Rv3Sa9`~nLM~AU- zLF8}o+URinJSyS?*NhJ5|K~(JQ2zdf(b*Z&_Xn{&_%qVi<9jsT44*V>Oz_XHwj`hP z1)q;^dU;<+@C1jEe_>ModY6yB|C9RMdeWG1{%P|C_(1ui;q5LQlRY84g>)iJ>Kc=k zwA~z_aFj6m(PxB(!mJhF6_D29_lybWn+xRwgiG%p6V?kK%wfP&B;Vr`lxKKj_shQi z#W7h`{GFn_{}g8Zb8y64Egch{1+?Qq%704vv*fS8iTc4mTKX9OjmO4>`&p+(dCxsK zCfv_r%|y8Nt}$V3eIke1q02P>mA3kC5Wh|SUWxfX{rZ^fFFL+-t4;!#v1#~|4~z-( zH)}cq`P|>}`P|>J{Fj~@6YlRE=j3sJ$M}D~eM~r4;Fv&|@QJ*??D>Ghg)h;5J6^G# z;ats*54_+0M&S{Pgd2W1CY(RkO9w(<_b;~5ew!b;-t;$NyZ!@zg0R2e!FVzLeJjU= z^=P;D5q5ueOql=8-+uMXnD9IVK1VoL`TJ^X`oBZ+9|sR5SI-j(Z>z1BPrk|L`7V5? zJGO`GVP#>v9tNiG4Re2oxten#Li)V=(3V2Do?zqUFOvTO@s5k~vBzhG%^t{Kt~`^! zvFnqpSC3P9Td&?xH#Yd{x!OmVrTq75yJ@VC_H%5u_HS7~HrS6oCp@P7_h@^9e3Aek z-!?w>JVe;rv+VL))Ud0BZT-33?qkFG3&(r{&yydcE$0XXz8^GCTgni)-}GT^hXs`1 zZ~BJPJ4ej@rYDqUP9&huZ?*OMtQ7Y8?y9z1{&)8o8`d8aDXj3C@M+pw|4p1eHrxx_ zE97Pw{BcTqKK<|c%niop`qQHtd!LNu!Eb2%dHjOLzu`Ftjt$p8m?H_yZ}_5r9-tyT zN|A8$p<}a(wlZS~_Z&Pn9Ip>^c$RVu!#^|Ovlg>_%FlHe{@Dqi{`UNn9sb?aQQ^Bv zAJ;wt?R{OkSocF;_`bbw|M}Q(?eceyKiJ8`o1{JmfQe4Z~;rdOqXV^5HXn4dV~U_x?~zK78bRel7X<5AwbL z)RGS$`JP`(KK_RMot?kck`F)3Z;oF}KK^;TU_WYLf!7M>kCPHQg0qtn{58?co^HImIrO%wrbN-5c^6%R# z=l_UFP=Weu$*iGyBQ^{KYwcX+QY~+?Mkv&gs>^mOk%$BTCVvKQL;u;BRld zuUCGp_O2M0%b#~*FTa-lbKjoxUplFO{H1$u7RJl2@9*W;8ZXZukjr1}__g$5e!g0w z{rtS2u%92!cNqTIgulPb$Db~6nECunVLzX<{`B(G`Ty*M&-&BzS^pYl{ztx_|7*#I zk9^OsC7)}Qq6 z=?=rk|2;olKb+zC98b~TA5UxP4(+-$M;mepMT(Ef6uQq|F9mwK7Kt=%Rcb2kLTC259kahx>y29a!$*J5ucbfh6Xg5#NiF&Ck?;AnmTI%^-nGN@R9HNwdAv2LcU)w)shb%`JP`(KI^Ni#rNy0TK)qc|MC1<{=<3<`F=fC zQ@;4f_xxJ&S-)W)zkaJ_ANbhE^K03M^&ay5dassz_{jJCTJl*RBHynMYsrU?e9x~X zpYCS8K_Kk9^OsC7<;z#}~i8 zP3`lV^6mHnpW{m{zCXUO9!7t^9Io^@;}9?DFTpz{^UFZ>Py07L zK63xo{Pm-MYYWesOnkR?D&T*kwY7Y3+Ml~8`R67$ov#NvpQQ57PULgH%=8=g%2>Tq zz4!T+fEyA#q!(X!`{v=hS}W@%M1lJ$w`#RraA(iv;eE|tl}rNo6_qu7oA8T+ z^*nyeKlhQ%vsKckFf8ZaFZ{fcUuF;~P#^F6w)!6XVy;gm^2x7?XZc{B{V=@6(#?au zXGA`DiR5|wEgg>xPyhPn*$XQF8V6Yg?kCL=-``KV#_4m-vRt1zO*wyK`XGN7QN8?& zg}wa6!lwVV-_GSf8lMl@nEapJyLov2?Izin(D=aS+4rUI$?8+WyFaseRwvt!k9gaa zd3(D@=J_WHe_Q-P5mO)Er!jrt(_fxXe|f&|uREUGJo};e`Wi|I-xt1J^1c%BJwrxi zyGkEyN_fu=x&AXE&Q@%mwW}>FBL9f%HqT~A_d|1fHvK>4PfF{t&k#;sy?J(k4q$q$ zDTIq|+B|zw*q-NU_*!oN$6`MHTg(1~2agNSvfeA53E)p@>+zY=)$qjjoPS^BgW-D& z-!RWFaVgn9@3e!ke|`yU&oBLNrae7I6 z@AIqw)jcjeE5@3FK>i5L7n|iUd-CjYAzhFR!Z!2AWlX(%=biAD@_UqSjTk;%Ykcxq ze_1|wyMOWjN9{8qvHz;X{^zLwtv~3mf$;JF<27IS@v^#Nd-b1K5$ zPt*Glv~3JX??cyvf$vm$mVA)V*YoF`Z^Y>+JK=yW!}tC6j{f&q;XRdqK7|#2KCK}u zYdapGfc}5e*6Tl5Wxf7j(|`1Px6CTye>@%!4;S7|c=aawPyo-;*6_W@<@|g5$$#a9 zod5ZL@;`Ta&ObB`_>Jka<;QdWx17GU^ryXNsy)8F2fFrA-&}{`v)=K1&acfL@K1Ia z`yk)jrsk1g`Gen;^Lyg> z-IzY(PR;ojI(-?Brf;f0?ZqE_d+`U)pX)Gu{K50_2hV3b8pb}z_x7nJA3pLuzm|OL ziF|L*TJqr|-}7t9$NtFo_OB%$KJq=kmVEjP`M$qu$%l`8&#xt){+=nm^#}Os1TRi7 zUzaBGwJ!brR%y{(pM-D&x(D*PO^)>wvHZ~rw98n76@zpq9o)X5NN5|t0c$UKl zwB-EyI9@i!e{y8bFZPpv&V-!*KtK6M%*^?J9+tOvWBSlu{K2;ufAH;PJQ{|NKX^X= zVENQ{vcuR1`QARYtJ(2J2SxY{ATC`Pd)%-u|`Z!$-d7*OE_vA>a2` zE&1?~@A2(_bFbUmnw69{+FRfAyTL!u7q8 zv41yqeF;9_E%bc7l5Ac7Q2y7-xBfcpysg5!a|cI%xLo)y<$uZ5$Gb^9pX*DWkNrH~ zUtjvvbGbhpJyaxx6;J2>@O6jr2gC632hYbJET8iDgJJmigXiN9mJc6)@RH>m3qJkj`L+6M+{F{Z_?kUDm;b3VCWP_zMTfDcVffh7^RcJp zQyzO7hL1fxAA4FpeC+8l_VE~ddW=0i{@=uZ?^p8v^5dl{ea+wLKhFIP!ym}_n)29$ z^~TqSglmm2_#mTL*hii1q?wPs3a7p7a0KPd@T#ua{4IO&;>G zr(yWC*Yjzw<-^CGhS3N4UY}a>;UnMkYssfR>}mCZv8Tt_)9^RGymh!%`?p4s6kc1p zb%rU23=J?~?gbf!&-Gc)-@@fn{y2x>bN`|i|9y^6`F#`Y<&n?xA*K(Q`O0JFE03A4 zJU%tS+`sVo&m?%D{FzC4p2zU==^u|b#;-d5ZmpAoKm0cK4|tLCJ^oUH@gJYRF+TS9 zeC+Qr_V;*?1f!bIAD&?P%jeTy9@AeQGoC%ZCBY{r_}ToM*17=QB^|MVFD^mw3r{LPogKRw1jJ>D3<>i7+BtnZ&-?{8r5 zpZ^Ts`zPhSe}cV#g1vu&y?=tee}cV#g1vu&y?=tee}cV#g1vu&y}yCIe}cV#4wV1E zN45#a$4|%S4_**v{qTyz=xcbyb=!pX&kC2H^1B=#`5eEze2!lxkNW0144?VO^ErNb zKK3z;J~s(_eGYQ@$Uo6x_+tmar#$^@^?~VMkLh2J84n&Go8U_d>*o(t{_cr9j+eeZ zuisOPw+ZK`%fumU?EJLl2YGuhi|b`D@;s)!9@AcrX|Kn$*YL4#=JK<8krcql_Zazx zCk)#*=>K;1DQrxC_?@cH^Z9Lo_Plr~|CaI%m$%+F_&?7?5URrXvt3^U--y@CTEJeEh-Vf$~`o`0}hDJWks)Q2B=?@;;d0+Y>xA!Lt**Fu?=S=e}RG zhxz0ul0n$md;*{AKb~LfdfhpHY7f_c#xz9v!d(CPcJzPh^Ve75bN$Ej=}*u1*H=d! zyj^&I-2Ul?X$-s$r3 zPs@joe;P*q0%0#7|FnGg_@`m`_-8FX{%L&l!9Tq|_^0I~f3Cyu@lVgkKRqA+^cer~ z82|Jb|MVFD^ces282|Kmpz`rgU!Jb;82>c-*<- zglqXHeD9y|Yx(DMf5`pQ=Br76%>C2GAK1^I=d|q*{L|(i^8Ne?_VXw5@lP+`&!6!9 z{0ZOBpX8@}KYyZ+pFiRI`4fzPT6^I8`ICG-Y}e`zQQb{`uL1cUW)!d{elVf5P|v3BQ(q z{_vt5LjT-LBNg5ho}%qh!vYMr>hOZwb_nNd4-M_jFS~roR~`P)XLbnh-?iss$)D=- z!Bl1Sq0by)uMg*UmJk0mhv8qa5kBX4Rv!JQ348sQyL{wxe&_igPWa~}{4YC9druMe z?PYwMJmi-ghR^w$=QF-G#HT!bpU?T7$7y@;f1l6z@|f}EG3R$4bAIRX?Fq&eeE#eN zFLd~pZFda*`Hc1vc>WOo{8>QxdetA_H~rv_!QWnp{&}EqS=>XT|ADIx!>4~eAA5K{ z{c9LL{p_7ESJ7$N-UZW$wFO2;x|MNp82Yw~;`@-;j{>%hlo#4d|cW#}_xBB|R zUZ211Gdaxvi=sYY?C&x5H+=2~*5`vgAME+_KRr48_S+_dBt!xH32i-IDEoPQT#}Ez zKL6DJOa8uzytF>WBSWu`paYb%VYY>WBSYR8>j9Z`fImMR7e5+=r79$(_bFbUmnw69@AeQ(_bFb zUmnw69@AeQ(_bFbUmnw69@AeQV`{?(|2prlO(lb{vHqI8up>Nw^7xRP-!0ssmUlt0p8_?%C9KI=Wt?@loG^!eD+W9;ei*$G~hVD6_I|3}TcgyY@0 z4ce&yM!v_$_ZayeBj01>8~)PCy99fl67BbUVeC1IPE!D5Ps8xBr{`l&%ZHCW4a3Kt zo{v2(A3pZ<7<+n5dp)MT9@AcrX|Kn$*YK}~?;6^(F!~#q`P^gXbC1!-WAyPDeGDJG z`L3CMQZzghpxxP-o9&vtDLfgV!1b|jt8SZr;B$ZB+B`e(f2FkNbAD)iejlb)`OFCf zejkQB<`@FMr!zy_EdtVe!1v!Zt5f-tBj)@2-NOF;30FG#@OKf{^Dh$i{CkB>AKq7w ztGrayhXU`P-(6e(KKOS#{KV{C!|%V9R43u~#X|#DGeUSv`R`Eb>WJZgRB7XHdCSm% zSLgH${!t14NXH*?V11DP_6^AA_k&6*?|&b2OJUaB1b#oLq^= zJTWC-|42u|oQQ4yz4G&U{>(f(+y47g!tZ&rh9ev;ytnGE1f<_n7yha+_e2O^Tspg!Qq^5W=g!o|2uX)S#&U%4es9>$hj*+1bdyPs#Qd_vu0T4%TaD3fp=O zK5HlAKR0-4xc_swlXr#7zh>gpQ2%{V{wIY$p|ttKFE`8cAB_3ntCaS*PO?3IPWl*L zxb4)?Utf>qQ~x4=a=pHP7xN$NoSK~}|8I`?t8)w4dSR1y;eJ!IcFB4&*7tqkpD6#E5tGlm zw=5t3!9TqJyhqsk565@&AM8tinteYzu`Vk~_9*Qmkk9XJTR!Vi&X;UGn*LrVzZXdU zcVd4WEPov>jExDO7T!wRcF82*&mYj%^g;iUu-CsV?DgMQ*!a`WDP(5}&yr6N&}T<& zZT&o6^C4@EIWZspcwx`qCgF4LWBfVdGdADvBZUnzX2%8yYbJbqq|=@SCKCyRY;eDQm-vxG;G zsle~a{y^LM*xoxnKQ+vU<3g_1g~F4R#-|Bm9?3C%Lg4on(cjje{NCa;$tsbl!0#;{ zC~U_A-dEPD{lh|T{(Ga3D7|yUyszvvr5Q7Xf$~4A-?Kz_bRdj*VrsTr{*O-(sybi( zy84VUL>TD#=J;Pt&8DmTF?sRq1Hzw^?>`&yXN4!L?|J5y!1=^<5)L2f@McHl@B5j? zK7~zQoth0Br02OJe^22K9sl2-XJ=;#zgPG@F@Me<^7BcX5AS(-YB<+EBIf^4_zNn_ z8lCV7t@q*bjy^)+&8Y!j5b@TBZ5iGN`?zdIfPa#<#{aACo`J84{IP{;*>l35iTvw? zCkVe7>l=M?bM`IaXPmyj6E=Oxzt82j)J+R>Q+Jd{KJUx4^5C~8{O5&@PkGM$4PSF| zG0Z1di$h>O{HnG#A98#dB7T`ng*lr~%f6!R)&c2v(#K58j#GMK#CPjJcf8UUM|?#` zG5fsIw2^@PL6Ya?bAPNHa^;7mY2p6ko)Mq@a&wqVH;wpC;j@(<{!j9eccsd1NZ!$t zriI^%9UA3tjNiRY&NqD~Po5Tje{=s>{z&1mN?#f=`3scx`8T?J_s3AmZ=s4z z9(Z?$@7QZv_bx@86s?R{>50wAQ4^GQ=kZK1@ zM?&#K)54+q^RfwHhVUe9pNRPRQ>TUF?d2g?uU1w0bChOHP8e}oK0n%g2xfg^_;um; z3f~>;Yo9kQthW!Lu);w3C%@So=Hs2CeqfGe9y8y0{91y!cH#4fCphKLN%A@VS@{{q zPYd@R?0o6ci0%CPqsL9lu2cQ>DnmHyj%nd~?D09w?h|IMdUV9UjCj9@zjtSD&(B4S zKTTJ<>@f4K;V;}ZEv$c6#r%inOv_$YdThjx=)f{Uy4ZTPMK@oV&nLuucKNe1hjo+-kCM+pEWgSP1ozcu4#B(llEU%*ECN5^-X)#HR)b~%IumKkDu&O&1@#k ztg@j`e4w7_^W${}S}2U)YM=3ieKz6$IK6%=EAGR(qN*qD%h|HLBxOeD$?X1Np=mr@ zP|Uc4d!?>ngv$ceENjTJQshylHBW1=!ezsS+%JZqB%QeREd5l)SQ{gtEzoDB3xywA`BWyU|;-3Ld>RYu(XXugfh6hJZ~tmfrBL zBd)$@Q6=o#*oU`4&|DRdD`1u@%7d!qLF&8mC^EJ#4=R-hG1Z6pE81Gwqw2CzjoGNC zY-$rd4J?F2Rz5;{(mVzFY&XRNZfxi(&Yl%E<&pb<$|FMy%F(QmGE(;z#V2b+?xw7N z2+r13^|em;Gv>oJdcsGGjM=mIoIQJs*|VEw&u*AKJJUabGGjtY*W22%I=rj8SKAeP zw%xsFn-nN(IPckZ)ShiK_i8(8ue>KI6K$Z=@#S?hm)DoYTV7XQSyx`J>lUH%Wm=bXzbhttwQ-|D){B z7#*rOvOud^;$IaW78O|C=O8M67n2GMuqTzXoM|M5*Xj&I7g z+_A7_Q^S^dsnVkHJ1#7g^qQXU}e) zJ$uOP+4Zw$7kbA6eQ=6mjex<{3zXrUu|_DTdFV#J=0U?@SV(Qs*f4BC!?0_!VbyFz zBi7Yu%>R3RXY0S#_4%(UmsYM9oDJw^O|XqwV=*h1)Jb)94f@DRW$jkMLb5fX&&dP$=s|QPpRKl46JAqWkMI;sV90qQZ`ff%6XoCEWo#59qd; zfm|7TcmPq7izV~t1E_?Zlqo63u&z{o3brJ)2_F5CPqcX%y9PpmE3zdGSLoP#veM@% zzNC1ZBH{On)I~k46)iA79+A!O&|ytS#Q7b&DBd{af{qStZ_^eY$B{Td8VZB6!Ht94 z1~(3A8q)NUhL1En)$qNB7q2*NM*V*E`;9CYagCCcp`I-$90U5%7Uur!2&IT2RQaS? z!zg2YT2*?6z`=?$73Y$nSX%XXR#0qJB&=6YNjpk)S>uEWbs^T3>J}&tQ=F+R=39cV z2mI37@!4M$Ur~H%?IntPhkd^mUbA+5Va?i4uUAi@tRWDrsckv>hxQbzN9eSww{g@H z78g{a&Z{aeQ(UE}Lqhht;@=hDQe3M@*toytJpV~OzE80=ea*Piwy14U{zh!A&&rB3 zTj3n8=z>~qVeKWp?`*GckJ4@O!=lCZWtX=!Dz+)MYyVswdbJ(JIai#otFl1W9zL_n zvaBau5UgfZnMDVSoB1qXp);#s3ChK}RI18XqW+;3)HPkf?X+LQhIVCzE=i<9d}C|H5P}Bp%F0>zS(|)cFYHYz2R-9@ zVOTbJST=;uy20DG4&FW+e04VXHhq=`4{KD`;HRG){PZ^mKm9oU;>u|V=PgsBST1Dx z*KZJw&fYaTn?5=#V}%AaDIbC8IZ1KqzCY5GzkUe&)@2k)ts_uwt92+_^LUn(!w~wF zQn7v|s$t)+*@uVZc5&rcJ689kL-Vy<6^=qV?9)P%G#|`w=aQ%u%Kw;2xikN9_xgKs z)z;fLS*Sp)71k?}gPP^~;M=a6Yqn*R*vc5A^;VwB>ziohR3`Sd9HZLX>%nqy07WkT8Q0t5%F{IB zsw$+cZ+$740aWjm1L0*Y3YwuPs?2ZC!oYviiDZ_4WE+rE?b564WbEef`ht z>wj5azqY=9MScAbFdOA;-8r9wR#~4Hc3e8YW5N86#`zs}=XDhIKfj~l{Em|Tl^X)( zIIa;&ifW`bb@_m~qA@(bBTW}7E9+2u)n{lD+IKpMT0#6Y(0}XtLHWUj8xW_}QTzy1 z@IxBm*EDho_!-B{OD?%&-n>esTplr^sj0D1@RHL)IP9>)vIBYpu1Cq#&ls9vkd}fw z!70{dv-!yGuM171Sg<8!cPRA!tYbB74qD?K8`E5 z4_*}h7S{2n{-|q=O4(K<16(uKZNfXs6#UWWw ztL$E6;?12R?|Woa*REZQ7qh?X{7SYk!9Bti<#j90S3Z79SQ>ehovZ!J6TC9PR&H6c zKjp1X@~zxl?XRdV)1$xT(2Kdn+P5l^zb3&}A9_;8%9$KwEmV7vQ&O6^#MuR&FSjD$ zZKyu%>Gh->wl(`&eOABe`TARH*De=tsbaVEK<^Hv;k92-(VB04IaaPm`%B^w(Vud@ zKI%sfah_}6LhVPkw@cdIcI6W*|JLg-ZHfGu!XRWq((F8hnk4<%?wZH`lIR zsxnI`t8&=8qI9?7Tw!b90+sW;E|v3g=Bs~wzLhh7X_Gv&A8Es@ou0Jc$}La!uS_uI zOb-5I<;*`CRY#ZPVLy0=t(;*iH!qR5NVrqwN{UOOoOY#&GhKbiLzc-~li=4AZ1pYH ze(OKlZF-v@pm&Gl5|<|R`Eu0jF>Upj@~nNQSr{~kdAd|8X=iBNAohg4@dLs%)6?vS zT0i=*v&(`6BiH9!Is6ZuiSwe};SuQv?CaZS<*M3`4ptw2=jC|4 z7fOzm>#II5f0g7=H<9|S+yeRgV(nX`xZvVSM*AvCcPn!Ip*}Ci%FRsncMF$QhPX`Q z5x=V_ZE~y}?JH?Nu`2oKT~?ad7{_}_X`w)( zdTyv67DsvJ*T_M>Vd|%C#I6f^{d1}IdwXIR<7M)f4cT)^lusRucPj^8Ab;6VxxU)h zpZZ?cabyv)6}vB~WPRDwx5Mm7`>=u8f%>gJ{A`tQU*+gOUyk;99_4(#uMZm#%`P5q z$S&09<@dLJed*=pSbf%h)3aOkm8Bz*d0~<8T%{|D3uWIz{hR!(AU{)VtX8r%`CX6Bc8H5^tc3G~PL-jox69(FCv9Z@M6Z(4MEq>EFnL5< zzg(d72Ev4U7LPh;m&fg?@Lrbbnc9>3ynO6iQZb^R=a*38fzn#g>HT`b?*WuEra79#EG5iToDtaaR+FCIFYo(mGZNVuZ>Zbkgn z^jw(8ryok<5Ya2`2lV3d=vX^@R+?m{zdUG13~@);G-}^=mLYO)Q2OSf=%dejxa3jb zvzlL`D43qz(yL3E#D$mU{ZLYxh@Q)pk8VWl#$~K66=Ps`F{|F3!|JYuo3GlnaI50S z6n&o6hhG&#M&9q(#p6}NCFPs{Sh*z$uP-?$L*LJH=W+clM_Fs%IHg@^KtBb|5LLBl zRbg1Ti?B-RYGF`FSJ(AB`up~z{Y-!Pd~4s*q#SnlJhMwl<>?nIS50^e6Wk+QQ5o}3 zWX5aes6r^zH)dslGT(y3QA*)*ysmVsXNy^>niYH7SC%~Ghc++|Qa_l8UTJ-%C+(w8 ziOk0`@p2yTzQC_#ApLbU!<=XmL zZe#V)zkSu$sr~3kWW6xg;dyc0W%=O#whuXd)wfXl%c=`oEK_|ego{cO@q<+fw)(K2 z=ON!?`m-t-^A%S)J!dAo?gXRHJnB~Lyr8#z?b=^vpCWoLN${FPj_Em9>oLX&*Ob<1 zoD8%aWwXosU#^nqF+aiH&-`^T{Ay-w->QrIUmx<-1A`|HYz8BxLdZ}qF1 zKUA(uvGlS2_uqW!Rg#=GMb__`?72qi)ry^0{Nr)W>YM+Xj_<0A*g25;B)=%xMCPvr z31<9vDQ~7CdX7zzIOR_S!IZ822c*YO47mX(%*S$rt0fZUG0jm z_oF`F?}f4|R8&!>!>mwJ>`?6ESt+wiNqRCCh>VAY!WE_QGv==~!rtCi&fBG^e(rDk z8a0lXlgf%qZ|Z+J#;NI5R(*>Tz0&budRAOH+5^wGXGMa2xlY+Y<_qhIl($OdO3EYp zbyj*jFh4NfQkC;^t-h{ge_whc!{k`GxhjW`H7c^+tR}cexS~Az)31BD4!v%_?73RF zOB`ZVxN`&LW{S5&oW+Vg1L$}B!|S;`!PwL1Tl>n|->JGvidD4_`+|vU&|A2uG?Dqh z%E7}X-Yz9!BK?)xh4Q+8oZWI`q4s|mULwZ8_}jvOs;evK=OIVs+XnQhE9Ljwl?>yP zjp>OUy#6Z_O#9lzPun*y;Z=nz;&m(1&)Bo1G?DgV2kyhK3)RpNeJbdad_92?J~bsP ztq+ByefiY@?T1OUz~P2+$g%cdPXhb1QbShSA}cjzrN(UQM)cDE(0vMx`xMHJS?lyd zaeATJxXvyW>5mGuo%6qiNqf`&GkY#b+Pyfz*c-XTdCp&!CGuA!cuj(>z9q^2jmh!l zO45Ny|4^UD8>(+%!t1MkFURVet8!)4MO=JYK7W$#RP51ubam1WD~J88KN(+3WBv5Y zLSg)sG#v6t^GwRV1^1_KT;_kuAWwgM=BYf#>SJE&QO-ie++0$^^ z4~##14jMffQ#?a8HYy7}E7ZehD0lH$3J(%DDt&lX)n|BkPZ_E^k>8h|9paVXI)6#^tV+&Yaj0&g z<^@7AMsF9&dEUGPuTJ!_e#nyj)JK02nco%(SClrpY^Yo%DTjT1IX}N-%ZAi9REOw6 zPQ{Xr?=r-lyXakCigm)ngzMT>se;wFM)G{S@i&jr*JJ9l^HjcfF}gZKC#W-Y@;DES-Is2UMY+&mTz`pzi&_KSFbCdGHJPGiG1|*^{-0g zT78|`Uy?ky*cm&3iHw^b;fm6!e{M*=>9r=-XV~iNPWI0gu1fwq#kNcS@i=4U7R7St z$+%oB+@Umap72WHlF~#!-e)Gf`H7qb!WETC+qXR7A)mUf{?)?xK-#{g39m0X?J7s) zxN7a2naHaocticLSiF*C5xH;CSAFP7WWKTbkXMTP@#AF)UM1|?YvuZ~pXZrhn4PQ~ z&lxT+=vskd$5r`y$(O^vW|vO4KC5VdxAY_~jpfkW#%Gw3;>aWOa9H z63puE(ocZRDCqwV`Fj}d_i7>CI}g%-*s4*{#=FO>lYDDmU;R*$3?ltPIp5xOdR8?t zuKR~vJ6L^-w0F zJ88q#4<+rxf2wo(y z(xaj>^jBZk_3@X!>|*yVxX02l!1}yA{Kw;-L?5$fx9&SFR$Yq}+XqlzyOYQL4#tPC zkACV>+h;2J`&@Q?zDN5z2T)(P)>+(hB6ba++)}k~zRJu~EDxX@{pZ_*zxwv95-zC? zZHj(A^ZnO7fch57&nl9IzhFRzN+Qv0o(`59xPyr}=}<2=CEw?eq2K50{IXTC}5xBBL4e@QyDDKgLDA6-h@ zyuP7w3ln*i^Yt$iE=vyf#(%87cKORP>4eXe2GD=_qnE!_xFp#`)&ck@ZLslT_1SR+ zTdcag|Mu*Zo=a7RV`t|8^i1urB++x#2K2P!N?G;I96)_-lIQKxp5S@H3uTuDikb7X z*VVpm)zw8DKz&Q)SJ;`zc^iIKQMy}^<62qu8TRwbYSmYX_01hXee}Dp55My5T_Idj z-9*2R^v{FMA3%NnxwWOY^xt3R>$tK=V|IaJ_W;JNx66Wl=*e+qOGSdcSEfGG9SC83 zzFw*N>Jg*s6ft4yb& zAMeZ6?;N8miVOSEJ{!0ARflAi6wxb_{JBa8z2s+equ%J=eOd4PVtzeS_4N#(KAvxz zDOu>x^O4MN6=W;cIzG(R`mCh7hy$5l7N}fNWrzcLZq(L;tdkcHpncu0J&aT4Pwb2R zINq-o_T$R>p_1&!4?M3&xFQ*5Co8u|`@Q_-Nx4fUDW^M zQKRIQRfhh<|In*TY5J7&lQl{GR$rs~fjJO=SuzlNsvLdL-+pM69@{JCK?SQJrB9`G zTPu8q^z4w4fA)@B=3Q@>B}scX)V`v4B}pW5J-0&`8__qbFR1*(_kYbUl=HlqiJZB@ z70KvU^z%IZP|`jkGze2dRDd9G5XC+#T-6Y-a-+C!QM#@-br=|8(p zMW3w;xkNr2msq-6!<_n7@iw+RSberWV;sHSkM>!)mFmB_Dnrb!@BeWcKWkGFBFDcj zwWmkvMT)G$*9aGtCeC$!HdEuhLv<001E|mRWUbXUfO2*m8)!N67wl3RKz;N(eTwfE zFYmuSIZj)-ZXH+f4{txlgU8l?_*J{=^5eEF+(A@7tX4jKL}Y!@q^&)Nq^9)-fvQkh z5n0s5>2^s`OR;r+&GCqR4%XYLe^TELih0<663?b=KWS5a z?hw+2&|=vq7%l&VYxUv(*u?BISGZG{SX6z?rzNF{etnHy+O?0!eS`KyPLFU!dEMl@ zanzCU%EC*;=}}xLe@)wGdLq9~9NNn~PdSg%`tX-=iXo_RCB>fc`kky08?&!BFV8Mf z<|V7fX75!jD-x`}1(IJ9CN5I@umd(C;y#V^b2vJ zxg<=)o~wlWvdf}G59FYu>51KD3U?~Le$D#!M4r`0`+T_#)z_DNUv7CK$NFJ$oR^lX z&IK1#`u+XXzS`Fz8N_+A3&GdFuD(PM?BIFmiHwpW_9btWqC&Bh?`~{tXv*}THC>U7 z(Cd`-!r^k(T$eRZ$eQcJzsOb}dU|^9JVz1ajIX7w!V-g&&laM%UHC zR<5G`zCH62TopzJ9Djb)mmR#E)f*^R)_!zACdU!#^SDR2qP%WJKVPSISSemwpU2j| zu7pQ>u}evj`^O75P#=20YlJ6ztq`URk$zqy+*f@|v_30~LtIf6PuTM^`EN;iMC6#B zi?qM7ps}U>^ZHo7EK_}D<#j6h^Nyy>wxf;Z>}Gsy!AC>ZlPTcJggsdp?#0Iz zVTl;ZP9!IUa@^*AUI5mI4^*q4$%mqa_390(mdFYY#&;<4T0;+qeWnCil zE6mFVSF$0MtWe1swWl$w=2MttsjT{ha`D}|%0s14ueL~7l~vlZ%A&0DiLCOetfKEX z1qnLl$?~CWeoW*b*pGiEs~9MMrQ!j1w{Csl<1??i`ObIk_+-P#TedbrjV(IIV{y~t zg{DgjO`j|9cK;=X;nl(jC0;5tJzQvdtk87X(5A~`d#=5#aIn%-RF*w`cjWqeQx&K; zT>5*?IkvcLY%yyq%A5@xRYG-o1Gunulrvt?URvMI%8}_C>KYpAh7742 z(wq(XUSY`f`p<@FL2+Sy!-WM+QF=x_SUE2neWRkHYbvd4Ds^ir#}#;^erZjm^m0WL zNGZIfgs+}yOut;|c^z)(qv#ve`s|AO?C$XB`-khZZ|e2yJv#WqlCtW0bzuYFImqgI zvV!(g&faGnoN(2UY|)VHiXqu$L%OQ`)74fPh?$BWHXe$DXY6Yn|?XZpVljJ7p0wFNmA3Otm)>g>4)JAU5#wZnigeE zE3+nLb!1ITvZggzQ)|{VGHbd?9O^ZHmaEUuoBJ6o%QAko?ui1wD}1E>^-}YU-(5Q= ztDB=+7`Z>;8yXV4H&}`O2XP1FSG``Q$`pnxZW&U+bm6;U3uVI_wC`rcqM9vOyiw^z z0qX}gv?Wk>Tu9kRiA3WPeJqi&I<=ijx^4@_@!?(4^@ZHCC~M~=xKA8YSyq+h292(p zzVGO||HIyY0C-hg@BjGS3Jby(mIW1b=|xoR4fG8th@xNx`+_2hy<&H5M8%3NcI*O{ zSWq+?(TGM(tg&li!&no0i{$Olz%>d58S=?xzC)LGwsaWx#g{W$q*f@ zVoM5TjnuKYLP&Q>=_BE#NyW*3ZP_s@@nf{VSKD~~AX7Jflt~*u&V-O|(^?A|(N>}j zT{Zerd_#%4QpuIGvSPLwvogKUud}&smvE#%^NvF$c$Fn|to9q^O8uRoO`pBbinXyY zPC#GIZL+Lhd1vdZZNS&Q|AV1tG^(IL)Y?4%eHloWArs7ZAHiQ)Gy@J zS7+?C6`iGh2jQanqJ`>+_O*H3Xs0V{Q+lD@u}EKhQt;qa3dgokIS&;sXlu~6ud<{q zJeNCYR{yMvwk5QcYRlLp3)x(%f>I~Wv=yu0X4)FH&6_SP2wX?ExlWQ zGMwQ`8@0{T_KLO-l+M1|25PG!O}41p)Fu_KpmPn%kGAkW!y(%Ln9bHUq6fk1jIz}h z$~lzzBFb4=%*Jb5NR+;lc@u6LH=u6XeC;y*lJfVWx(@GkZd}Aafw0ff!hbg`+A!f( zQ*hdB_=0Tg+=3Fi11AiHh$+f&IzOv#(CUD?{;A(9_nwJ3m`mj)56XqIP$J=Pm}`X; z@CnE(;cxh(gt7gM@6Wg+jn31r?HSGI{5(fC9TNZYO^BT2`H^>N)M3>!;qOw7Vyf0| zRBZao`TVYOp1zv>|2r3O35!Pl-!nQ%`rofnGC=Btq#^vZQ3#->G~gqh9v8wC#gO#F z4$zXuR>h62O88r(U(PCTY*l_nE6TDeuq0nz{#L8gGl`J}UfWW$=5U{7?TL{@77rQ6%ZRci$;tlUF#d3TJ|w47RFv!kN+- zlKj`1Mpj^!*g89=b#@&88%tWZE@|Djq;-8s>wzV$t4dmzg#TG_>oDJu9{OxOzx+x6 zv&JyONI}x54PD0VAo@)Y{e(jiH@vHg_#C&U`*Ms$MU7ceAuFoSiuB_tt;4I4YCj?t z*5?F4b-JMV8nb%+ErjYDn6(zr3`^R@jMLOgB9*4P*NHkP)$bx@jYEr$Ens7#!XaF@t8Xyn z04}yr|0^_U5oh0!xB75SC8oXd91wrTbmVXNF&7TP?+Nt|NBYx-1H54vma_gc#^?u1 zujNlTnz4CN9;CmHYWvUFTG6hdz{LLjyymAIkwh;1=0Xnx^&FJ)r=CBw+JHh8miFab zD5a2{`oN;!M_ZE=IBMWe=zxqjc_ixpVdRVbIl2Z`UF%^aoFez6t3KbTEu8D3U+Y;y zTWS2&9)8&?m=MEKhqHQ*EbhBozmQY|l_DeZT{z}X46^W!^qa;!GOLJB)YhnNp0-z% zn6~T#jm`UN8>p>{ahgrCkiHDACk|~k-e>YrjoN`l{>M5>X)z^)Eb`(EYn74TC z^W3m+x!;BJ_LIi(+RC(*%GPpi!{xJ>xb&`@Y(ch3%JN65^2rkGRm8a0huzwxu$F`Iw5nm49h{rsRSNL{VH7N`byy zUaSv=6?f3SLzT8M<;7>!QaZUjt)qTA+<*uryJ%0m^8?c5qWJxF{8hx1;ek31Wu^V^ zH32(U`vW3R<_7C{l^EYg;%^Wh6mh-y8--7e;o9txp z%hpm@{1*bAk>FQU|Hk(gUr-~l>-!bg%#Y8>)w4mugf)IMVeI=l@(sfH{q7O(q6SPI zkVoV(0owGj0qHvh3Qt(C-$U5+SC<2*5q>v@Us4V71RdKo>D+bl-$1XA{9hG$x$^gP z#KganjxB!j(?Qthhqx?1*iZdh`X8*TYi*SWb%KDqs0A4=TTkUt{C&R%-|FzE!YfK| z^PsIih5Vk(3$gw>3nSDalHw<&ukOvVM39$-$ zZQ{QX)-DM8SL>)ghe4n6_4>mcMt`EP>0duA3%_%&ejemr;XyiDE8-W03p(C7;tz!f z>)67hzoEnE4;S|O@LnHX(_ejqEc{M;57~r}|B>3i9+3LKz*ah@&XI1yw6zri%Cg&} zPy0JC>VsEx_)djCLDVHw~XG!s1-;Xco z4|4jq?~%vG#+EoPZR!@Nzo#>8r>WvY+;4 z?Khi{*T1F}LGZV|b+mEB_}e}@HvjbWK6%;c!Y&BuQ@%cZ?Dy%fBkar1=O6u=M4$23 z>r>ZWe=lLPpZd{|w-8@&Jn>H!_V%gBo8qT`QI^*K`W%`6X7=YghZG|IrX%jE2^7=FQw zy!||i(~#_TX+Afa5!)O7iu{;=2Wv=c!i+cgCqLf2B7Cnl{3*z3!W_GIOUKI4Zkf6Bv`KlXcl`kU!*q>3f|cCraMqdu?yCt~@WDZYo!dtO<{ zj9+7?oPRLtGykAGZ2r+>R6d{hRgACK9eG>QG$;u31I9|5A9T>gN~3V+z-HOuY7c8j zcdOF;#4f^j>u~c}Ki?@n#O6=n6%$Nao}cLO-1W2UAYsZ7DVL)is{OIiUhuIFW8as; zW*_=%348sWU3l~_cNl%zv*|CY|8`V(Uw?gsef=?3bk~M(eI*mJdVu89d-L*Jki#%O z9iwC4KFE*7zna2V6zQGkSiY^gh!eK?3%F~7mveYg_RGaJ#gG3QEbQ%HSJ>?TDf(L_ z`dd5w%O1$bzb$kQxhG=A9EA2qUakGjRDM)s+2N3qH^=7w`hy&1w6D=Rw)RE)>#6+u z_Q&;<@qay1eL>-`jO`Kq-#dNqR!MlUg}>{}JpEoV{VxMP=_VtD3fOX}F>XW$bYX8chUP5$V}#@ycS&R+Vz<%jU&U3l_;fw1MD^ud-s^+);o z_O+6*wJ+*lQ7lydgN1$l)1JM4zeIn7M1NPOkH0!f*!&UWg^ILkyr}P%UvGS&GDisi zXYDOK_Af2$)5jif|3u-hwIR$OefsFv>%7-jk_+jl_74~D^WU64<>k}&{ip8>`C@rb zg+W*k(~!E*dYFd1ruDGKA^L8ja3Pil{`iv!}4^Myae8KUH z8oy{?KQw;bJXhDBN~?>)ATxH!{qw##4CBeeIUa_pEWgP_o#ov z59q%lzfOBBiTV}2i?Y3SOq@s;Van?C9A;|>j}otD6XY6AB)RsXOpxuwFQxFzc@Xqx zYH#}R=zIPp7ynv)i?Y2Gesr{VwD9M`QzD)$JVki#i0|rC6yA@aj*!bW8Ms_~TMxTa z_>aOL$MEk9AF1Q15$`8FUG^-c4Iwwb zmuY=l`+>21PZXXZyide02;U_X`qR zq`$e&+k6TB5Mj?B>i7kUkMT>xXpoPU?m9YZjPa9S+Lq5hyvNj+;r zo(JdsXLu`}lu%v+wYTzGR_W~~ykq23O#df6-~aKI*8k5E|DJF`8?uVp>-*aOHXyC{ zB<=TAIe?qRjg0(P!p|!2Yejsh+Vj=ILnFRc@#DK!jd)~bUY;jKeEcd!+3q@~3=#ZM zqxR;1&|g#7>lcK*KIP^0CkvbYX_w{p>asG(Gs1sVUuqZeyTUIE+#B&X5&tgYO_dqe zLJn8GBRdNJNqAbsdkJ5rHgG`1M+#pdd|bo>ZYm1*R}a%UWQgz;(w`(7kg>uWiaRFa zJ%!g7{!LD2pWR%PZK~rr5yKy=W6vMi4Bt|H`l3(&(j@)n_%wa6xBtg@%CD2cTlrl% zC&x#}^8BOl4DpYsOp%v_vG1zLA0_>Q@Z>W6kzCL{AHNF$X}+ZLrLFkmB+_51Oh)m;XVJT&Kp1bZuu+K?d>6SmVsHTH9SJ;f2{U*R;>T~#eXXN zZp_aObBnTi>5h-~x4K2`Mfmv`-_pYL#n&PxKga0U@^gvwI|`3=`t(PykF8#Rf2V(j z^s9w8bNVYL`U4aFt(<<926Xz`6;c0H**8@9ZfywmVvpHN`-Zpj|61vzf5Fex?-|p- z{%7jH^i)wcPw79T4f$NSp#5q9$!AX#Wv6J*n1t-C$>R~KyH9eMJtuyWj{hDp;qiAC zex>J&vO9(UR-6ae^zxz**3zqdvM9{=Uvm1?x9PW){&~W*31olaC6vDTKhj@c=Y9Ia zg-!pt7mLER`6!en-wC&oK4U5}KDEF#{)K@bK^4&W;-}e1_Sfw0Wx$qS^ zoh>E2l#cI;xR3DCI~i6|R8~bXz1xNPF68c!-~S)E zKPid)KA&nl7k6*O#|Y09X3mXFkNB2|&-k(^toJ+<@rA<7M}8gg)xxyDDJV;B7Uo*d z>}&te+`o}W ziSxLl()XD1H2jfnRGcJy0Ll`sKk>a&UHqj#aW~FouhqE>FN46gx}JJJS_ez?LQ7EAK#Z$*h0j`HO1ix z^*={_@=tz!{+a7p{)vB_!dm=WN`HiSTaN%A?&wOPOHu9t4j_8o~&b! z(e?OKhi~gz9ImJN?kTcTmps0C5zi3+xXynb@o@3q`UtfAmihf1jv6 zkw^bZVbg!AdvR7z*+ss)FzxSmG5$A&KM-yk`PGEE9(_3StMn)i{&?*l&>tcG_X0jmaPpK&i4?9nf^*2+vxA?QQAzXj1tNr|dw3aQ**k|hpE!96%7lO1^s~>QGrQz{( z^*4`aI6QuU9%+?+K^p?zO!|d@vg}CV8-*Jju9v>yO;#w*-V#q8Bl`(oAiRUZAg2gV zQ(12k@ioGxA*DYNf{2_ISTq1mx_MgS}Flg7}u-3M9 zVD&7Q@I8uu*ND&1g(27Ehd6wh!&^+s)3^S=>g3{ZeLq=cglsB&kM@lbPZTaw{No}X zut#y2A8i@&!;0@5g+EAPkYCH5gO#`QBfd`f5aF&lopJsBTOC{Zvi^3LFntK&`kS%3 z5Kw;o{fIC+$b{XC!}`TTvHZx-FrByjEGfL5@Cz~hgA{&$Vdk93*~0bOv+jYwkJsM# zE3eD%%^Ve2-FFkl9~-XK4 zhSaLO7#p__Nb88g@K)cmWiR@Fi~9EnQ?_fz@CBvE^$6GG$aCVE-&*;981=u5`h@Qz z-iN0=Eqs~ke~hrLH|)E2p8hJaJ&zUcEPjQEkCnaP(_;EVBHu6a)c;Q6ef@7C?CbwV z;es}V^_SmhZ}neMT@>s!|3Z9>H$J{u!WJLlUl;b_mrTOfxbU>UvBCvy2}ec&^Z1BEZp z-sXRge^i`3EWB>yH_`gFhM2HsM|jqsC`)S(tY1-nm1hERW7YH#&-XRDGh{}~ck z-A@qKlr;1Bb(QxIVf^hS()IrKMd3qYeE8p&9Hu{O3Ad>~qfdQ%edae_|1*ct|CQ69 zyQjum@r`jj*hBmp!h}KKxpwsYfx^abwOUEIR;<@K~um^OxRf9YZEy}m9<7SexQyw~q0-s@{h-lV@^_1ym5V}410 z1s!{R?ooLClbk-|?>X{|Mf3=eivY~j|%V7b@zX?y$v4y|q!jeowZnjE{4}6Gp4Ril% z2l4*?8UE*DZ3y$+556Z24tX@{E9A(cW-b zLw>#cOys%$u$FkzK;9B=(Eg>!KP~-Zg*UFy9|`gG(B8*KTlMh`6t?)dKZJdDe`uaA zM1~8W5zA*?U9aGeFOK*m@r}Z7#QHh5E}y^k)j5Rn`%rsdezS#r`Q0z<%kO1jE58Sx zC<)IikI^|~fiV8&vVd|tLTMW=eX=A2 z{_AH-!rXpB%9Dk(JGXB7qG(=X zcsF8j4zrtHEy?C7e>XckL+N?kAbUM7s6QLN;PsL)e(;VU^6rbOPwCIhVRnP~dCGqw z;`@cK5gr+F+rO8D>mS-20>;;Q?62S9KXv?Tx-h4G_tAz7|5HgApGV{{`$T+S+0!}V zR$r8a_m3Wp`1D~VVZO1w!XR^nDa-vLuF#vimkD2_JO|NuMfx`17*tUjp4WR_Wr(zv zzJ~0qPt+%V>cYo=kg&zi_|Z++j~~5-ZTx_LCgHDl{G#k%MZCqoD88{7eo!+!{?_8B zeCWGYKE-mZ;CZqC+%&W#tgp0<8s=x0#Qc0Ceq-5Bn?&$`muv6+ z-;ToG|50A^wIQsZoT0t>Km2inu=!*Be}7@x3{tK5$uDan$a2f(>q*oRGHLbFY+LO& ziTuI6O2c@+Ah23*6+cSU4 z{C$493BRxND+gBP(oguB61OB0e$Nw1r`jpbFUU*+^ z$e_bYvsv2T8j$W+37@EAtM6ID*n2><_iRn<`{{U63=d{~+v9Gs#bY(Gg>ZeM&-<=E ze3t09O7u5P^cxcW-4gvRo&J&6mxlXqD@6O(JGwMn>wOgS*Yoa@(DqpKMoQ=B>)};7 z%$UDzt>a-4Gk@D%$2Nc4`S#K><3pj$1{1 zwkGHFwM%0Dx!>`X@a%{W=#k&=?;gYNCOlrpR-WKF4xhM0KL1-IhCgpwY5rY<7~fOE zTuU-)X!I9_so4I`G63EZ?jBUXe)>2 z!LxIPv6l^@y^vpPFW{Y(o?-Nt5^wroe4)qZI86Lti+^snvhe%_a|9&Chlzhr=bsL2 zZci7N{*%RJ3#~sEssD6T*tcVS(tp+#_Wg&sl=Yuq^#8ZZZ}8CE{&iyep#Hli^3-=es=jz!q2bX1kRomSvV)$#-UyTQA zO4o$%J4RoJQCRDbFAI~uE>Zt$Vb+)1I((MmH{6{5UydycYjZX~*}Yv+_NwBt^u9i> zEIcc3*ArmfLT$Rf06(7K9W@qN_%r3qo>Y80M*Hp(CO=l6FAHBJJXSU%UkG2T{XYWI zy40`A!ut_iBO!MRudVbp%3;8dh%-$1l{L6n_-?0_h5M0P#_)rMneQ;BB4dTIZ}WgO z?+`91KIVW3`tV-=DPgZaUE#g{bx!}ib5%YH|7UGTLHCQ9>uOpWq}zFA;d*@A9A+B` zU#Ie8&V?|4Jwkgw|6NNMpN+8ovz_*S{>psU=C9np+h5qV^s{lyi7w$^zs$?>p=I|~m}`WFA}OUuGs_VCD~kL{-a z!pt0>7J0(ou44;7b(Y$La9!jd5FVmq`XI8z?6NSIUp9x?Hj3{99q$}5@iAAi_(-3& z<>+IBvBjM^w)GJ7`-}Jbv?s5> zeWDNc`b#@~@`G)bpGhy3hWycmFMH7M?DYSd z=)dIjr#xR8d~18<2_Zgwt;J9J2MYW2X^+Mq7R#?Z>UY+UD^q^QX+z+T73X=d@u~eM zMf%nwO8QGFEwhLB#kLkU zf3=m$1AJbz=iDAe;eJDphLe~R_X z<%Mnj{gv<+!c(JtjE5fyTl--Cb&9Z`e_beiu{LBE>D{TlpMO0m{1~K!`3vpK<}YBL zMKJt9pYrg0-kcCx?;30V#PggR8s0m9-oTzGxl1?Kx&B?gEDwNwjSjs&^<(;^$M|dM zfwxW4Cof)~vC8yWZzO)d-q=fcD{Tnn%UI{jcbc&Ai%S16m;MvWmxr>X3=#6LDPvRm zFJ7FlKMc+3tZJ3=&{z9LJnFi#@Vv~xh(~LF;rlo1DG#YXF(x6*FV8Faetroa;O3j) zs~kS)*JYtCH3V%v*Cb5-41Y7UJUf~EL>_#)!@NI5d94)rY>m?JKI)|rue3>dz|2_? z)`z*ivi$y>^{W|*X9FUWu)cM(_U12H-=b|APyAmA`~I_(?6>|y{WpsD^}mU*)i3k! z`NG4rAdc^1Lq5iK)^bdCFH&_4YW1qKw?2qVk zJ&pZ`YeUdKUVE>xSLpD6x3ho?IHuh7Te`t<3~K7Ga`pZ@I*w>14n)-MnK_Z-EEEbjUz z_kYfi-myVj_aTL8uUeuD(%k(Y=I2K%ott&2)JCw9_tnDCcK4so}W86hJWwnR^fi# zA0l4F9iErFA>tXrlwY5Shwach=0(|(&o3!e`|!Te=z<|7xw;_@zQwoS%2~ROF5qB{jtZM_fPRkZCZ!<{f-KQ zbQ;q-e4lr44g)?>`8ACF8>sxu{(GbTAu;@W6|F;kv1W!4AMM@r!Rt%k@Hg#Rhy3=8 z4eFRNd||4!KJzw9v2*K8?V8ufX9Vm;w1Z3z0OY47#v4~E~Ln_s`! z_i%at_Du12YeRVdmhf`|%FC1c%T|6D-H?~x4v|ms%aNZDc`)-4!yArooz)9-4mnD= zLHj!Zk~@Xh(cb3AwC96_tv&PpGvm$pGX0V8{_~pJKOc~uvlCuR$FD_9e)iR|Gdg3uRq1;r#>Z5Ls?ce*J|HKuC}A!_wpZW$+XTSE4^M(IL31*T){O4{!RsKTi7o{qe;~AAQpI`iql3@1N6u z{rl&OlRo;S@AVfa{ol5)2<@?7Y_GqstjK07zO5r3+O8rzANZ-xA$51P3itMD6Ua}| zr@p;D>j9?!$SM_~|GyQ}J9ov3@O;1*5yPLO@W$`6Qbl%*a8a@TNJgwx5z23D4zuHh zuhsEM4nLXTTE%TV{*&_d{*(Sv74?aKQ-!zq!FnXC34b!EBI~BGTgC8wgjsu7J>uHI z72)~xNfECh%>054LBEUkUZ1&(*C(vkpD1kl+&>#Cyu3Dq_s6!?-u&}d>sEyC0c{#s zJvY8yMRu=_+eX}ObZ&pISe{^bkMSKIw^IHMj~<`fKPSd_=PniD`TMsb=6Sd8blm+1 z@a#fG7(350en>?aAE^^$U192Pi-7d}yuy!E`phwq)7Gc;t6l0G0xs9y<2DZ8A^v1x zYwxW#DhcD|T2cS;=@ntUsVtTUJkMi${!nqo?>)34%wKIhTIQU*|5*Ol7Jr)bcT<`O z;k%c7KYl$sykepC#*z^gVQtIme|h13r8gpItKA8Iq+{j?$eEW`gnM~sMEmzSK5zf8 z=X5q#_!b>+5b;NQRfO-8S$i0KSw$Ex{~38O?aOfO%!=#|<+okrGx2{Eem`QKKVv*I zdwBkAq%do=$QfrR*}7<^OoK?;RV9Qk*7Y#>DcP?nR_b2{PYSUldv8_`TF&cOyO@1 zY`z`>w)K#$)t>0P`$eAihd=l2?^K6rf42%-`$M0;?e%wc;fas7WAUNCyVJk?j=cXp z7V~$b+EZ8Yn`uMpud4{p7FhorEnKazC**WS`=qZ~`%LjO;tvwfoCitqVV|@K{%dYd zhxgY=pEiM{@55cE@W<->%7N8$DjnN~<1Jd{CnkK9+p|*Sd(^fK&xcKl{L^>k{fjb3 z{@eO{FO%E9pmlCfYXAOSbNj!Hd}{yyy8gN=)PP%tpYS*+;yy z#y_sFE`pRS_+3RR7s*)`$^>iC|BR}yBtvhn*D{a?!Om-h2Z|M|s#?25C7Na4|i*Ql;@e*kVauW($n;PtgnUj$uxdWI|!Kd6T|C$vqV@cVT}UW z@w*&%%V9S4pG$=6_e&#&|Fe#bf8mQZVJ(brwjjF+->3bj5!Za#CftwwCgP2Sb&DeV zF5*4cX&dz0#RZ-<*J>NqPn2wss-D0@A2O(Ic>k+Y#INq&Hmg_2vbsF{qV7j+ zF3Q$ZA8OSu+?!ZG51#S;j+1meIby!gai)%KeGmRj+3NY}!k%9-(PwSJ^Q{wo%HH_H zbU%<|-YG+_7apoT&tM|pL$v=Pe9G{4VQsCRz>G$5GUHD!?51m8SXlNatjlVpH*?6s&vwrlY!#t~Cc<9dU z!n@_&BhURbo)z9J;%5(S7ckcl2)u4_EX0G2ubkd4ykFNl51zf>wjz9c&(>!)5&j49 zME=$`72*3r-6Fo|tajOYC0dVCoX88p4+@_bao4lkh2Q>U4Hel@xKCM@T^jM+H`-?f zoo5b;5Pw1YZUD(rO244JttVj*>t|-qqTb)^BHq@|d4H2@pMo}o_c!Nh|673Mix1jo z_1b@04AQ#k+*aX!`k)+Uy+3Rp>Z7&tgz$Z7>ZbsZa6g*sD@*U@+ls=s^oPdq19ZRZ zZ1Ftvjl34|h{)F!SB86CJLPnC|9kDj{p^tuZ}4XOz@HWIQNow&m^Ex+U~~R$$CEzm`96K_ zU-|T}a^Z=eclj)SzMrwAaGw}I-_M}!jfj}|w3gyKE?3Xa zQhW_Mw)<0w*?`ZAG!<*>?ZrrP?NF+IYss$&a3S`y5#rzCTfu!+=%Ap$~KF0)?NaJ!|U7HNsVjuTu`Q;YU}7_brZznCG9imVOV% zzbNea7aZSn|Dtg3VFR5*mOHUByj!t$4ud_v5@+@usPuVOWy{DPbx39Kr=uc1Pxv++ zZyxcTif;w!AK>sb=^Gw>PD zcSBi{;y1m`;@gDD&tVaFzAEqU zYsx01rTUACZ$HKB?P0#+?a?jXCVL)!Q{QV+czgfoCgFR9?f&>zv*f>oZG2c^cHUmL z(K%#M_MfctKE11jE&pAwtjzG=*1mZEf%%tz{{jDdu{LCvXzTnOhVRFmrQ^pUp8c}g zhmLoS_Vq)(d%~*_WI1{3fd6#M{4i&Nzd!!%e_9n zuAmJ;f1LJSzh2nur}i^`7PKMgQ=g{)?F@~l!n;CBCPj>m2>hwqdme23GjHbOkBwh1 zEXeV##c1n$it0aG>e$-P){#Fm@&|oX8ODMo^WfR#!n^CZUBr(F^L-r~Kf&)v*YKI2 z=HunQ3WE^eY#safxL&aMh`*=w4L|=?WvFi(Z`%B`GJJ2$@H)bSrN3MreVD(!E?kJX z+jn_;dpP1Xg`d*#YY}fLOn>-i#9w}!`}FAP>sErL?#D>)xs= z%*D)K^-+A6i{F;Ok~M|rYQIK6xjtjlkLh0|-s|7&^h*>U`X@*GDesent-K#@U6suf zK3_H?l>Zhww(`gRYjxhIuUDv={4MrhFYMEwFKqUcpF^c@cxUB*N!2Aj6$$#X&Fkxv z@lD~;KStra{>Vh1`G(iuC($30=#y7Ve|Q_UFX0U^MnZZ+g)KesW;$;e`}K*zCVlwb zlkj|h$il-nCi<*pSo-9j_UrA(9Rk&X7U#621zCZh+_J;(daYXj13Y+4m z{!bHU^-q0%AZ+ys&-}&nUkDpd`P3`CFQ4whX3wJdbsbOs@WnoVe|9|j`Xt0c@efSO zufc^Ue~fRw{MHlp@pCO<_U)|n8J|wqIph(gM|-sEsn>*e6z&KqDRis~W4nftAm}&h z$n=LVQ5BxWH~;d2`jZ~HX?p$!Ji+0e%Bn)%+Q<3=)1M6UJ@QOx;R6w_pU)631f=h3 zR#b)Oujms9`fbIVKK%PS@Ac{gf(SLuX+`o=doXGyN zmusExv>CqL;geLqTu)5R>8#tDx&OW;;({=9pQ|0;N&24OSlD>xZ`8M+ztJ`>j{3~s zM(cQf#CHf&7mr2UcKxc*)@;7DfiUBRhM6GL7k#gg!%%-OJG|Bgx&Q4S!;}99#QXd+ z{u(C#tOr{DNe_SQ)1$n6dW`oT->&v&c+-ZeFn_cD^0?*`W0iiTHsmAW&9t}YC3}5V z8QyoZ_I+B^9~wey++0lkF%zr8vsG4p?`eFceDxXIAo!nsbY%XA@;q8xA*Zu>ljX0J z-xp%|XM`)1zoR1GdBx)F5pmX^`F#h%E+2X3OFQeBHjFSo;#$t;NBGbEh0TBR{r@RS z&*J|%`i)Ni?2%RBUHHamKlwW^sXtx9X9d}Sz_Wf+2uQzQun2wTTE-K8U=rU%hxy(* zWut5c;d!+cbi^D0;rT{<`>=pCZ_)bDI32SgH{P3nfBV=RW*ew7R?{(KKEnGUTu-eV zQ2u_%Svt1&L)Op_M;sx%ht`}BzIWeG`x67o-v^<7Y9r=*-*@VmF%{|do_;Sx`%0Aw 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�rHs_;3IpQC*&hpMC;Xm_z5 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 z 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

        ~j&&(i(m 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

        E4a(u-VlZiQzDkBKurdzsq^IV8TP^PdF|;! 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

        ~hRs=(_T2T|85Ob?p}4rfI! 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%0D-BuO;@RR{X3(uOIo?~q+EcY<47h*n$^+reV+WUW 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%0A99hrZg2Y` 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%0A7V4mXgmk6@&oW3U?s-fnNWOnWZ`kv5;HAX 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

        bw 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 z zDGk(px3j0j9;h)$7U$tg`NUA48j6$bYWB;+@D(ua85LeE`L8C`H0=`BGsm)GiF6;6>L*d-Z78e3@vhuOBd?NVsTojw_s44t{0bxgUNSd(=Bm)7VB`K# z(u>Rf4){U~j8dc3m1Xl{848T@k0{Hd%eF;SPJwC@3r|XVRul?9je@0-I6cZJa9U*R zP$Rc^P)L#_R8epLAR&H7D8X^i+v`bY_$brMSV4;S35%^s1#;A8gdcjnP=JsHGeZT9 z>BeCHh!`+NlgT+@mr<{(RXfxuk#jg-uSt^m{;cK+F2$EQ zF&5Q{F`do=W=e(s8Z0rWd}h(&u#qi@2ShXLv6zy3(;$Ix$Ud%?e-Y{1BXJ9luAhy< z(^;T4BhbgnUs`CsGIm$S;%b^!WHh-ZZg~Z`w518{+GGk%E~v<-+_h zDuUzu;KGWzq!N9d8S(Rqxdto>X`6M;v7z}(2xX?3%PMLGD+DCj9%>U_56!9eo{taB zQuvJaf~SO~rD3o$-zl?+JKT&mo3|DRXVMTIABcm8WAPC73Nz_JW*K#oZgIDylNO7k zdIza^W!5wB38^<_<)^<0N#Ej#FU$0{ma7yImNkiqq;IAtkzI!zGI}lXd=^^69>Z>! zO4^|S87q*Gk_uG<4w@3lZe(khVzcOI;<0oYsZTcR0%x=BFtA3oYL^ia$|oT*3xfZ#D$nxQ zCU|_BFJGyK5d5?RN5v0bt?D78>i{9gdV2t=Z&&5Jctg=bsCi0k zeifNb&5vT@Yj;QDuBiQ2k-jC;w?^91_r1pS(?;q7h}L0($gmm~3P+{EF{$_wZJwa= z(F}r}t&QKIf0UiA;cM@HwLD#YfOCHRT)a%4{D7bRyw9J4@eCfQkKWrX3G<||AIXmvZyElo|)b)8dYIB(R-SEPDnDz4=D z^{w>5Yp4@62pIo+Q}a&Myj!)iosm;q*dq zCd+LUvH?A_P}tqygCNJA{ySCma)W%S!Mxm1{h-nRu(3fG?kMPc3*y%t8~n1s5|2mK zh+tU7dTTK4mq|?RLLvQCLEOUubd|ZgP`uL0$lNMAD-)jw>jiR!kZ%dOe!dpR4EYg2 zqtybmn^6WoYPQDDK3-56KoMs!2KPtOGOUXIG#rGypdD|JtwvFn(@G`Ugo$crWkxpQ z1G{EE<4E2+okceZ=iFwBJU~MiNJY8?Z@jocH*3(l>kdUANiz^f|2py3Eb@41PP?t{ zw?+^);Y5DQEha#j41M=hp^095qFA1h?h&vUOZ${@&a?am*F3-GEw8yhuX&rg?>17! z_xnckr$*+0Ht#p6KR4JmJf#;JqL&-QOAVUlCE{k89;sMEO6BSMB}W4TSlHbyKG-k@cwA|vfJg%JbAbK^;DwD$oA^^R&~ao!Ob$GTWCeuq;&s6=@167_b6)iJ(Sfc!MQXlla4v6sYXVujeF#+Ky&dCn{w-}mQr{V$j^XU@!?@|@?~^?QHsvc@;j zZtGC0WVQ{AOe2<(CQ7JbC!jL*z$xkI?Nxw;(7COV5E38(1RwcE8l$+yV$MdSU#N@U zs6)jiZhJbEHp6^GI+R(B^4jdWd_ouQ$HrGb;yQ;@B#B$?Ao{$?R8c|?GIx!+Dl+KmTp7qa*j^_l} zvGQ{w+!Z|7tX;gFM;$KWBZN4dURr;u5&)FJnGI>U;pzr;RYQuukm`W&S|BF=c~vux zU>VadlKC~tTdRt)`cO4~t}0%nZAWXTas&q=eQ7f?gCPL=&loX_FxMy(BiXr?MC1#&YqK$ZUnfX+?78=#*lEW7$hL(Oc@8nUi<5Vs7y*TE-#lS^+_rq{!sGy}drbOi zcjvH{B(yCSGcXCpO>~U=XPth(PP_-uIQX!Rx)EB6S8-gjr?i;y=F*b+3*JgS5SXXx zi_g{r^+1F-%4|~}NW6beDLTKzX{me5o+NsFSJ|uuwIDuf#L0=TZQ%x!jIkVzC7m7S zA>zvK)fYa4Y{i^YGOJ3IZWl~b?A9sqX!<8dwa78VE4<`C_2(zTbMH8-h28_S(LS<= zHf3tAm%3`-ksxjJ65is)jtxRp{^)>I(U1E7h_AH^AtGx2on7&qsmqZgS+0Pp6+%@ktgkLvA1eb!RT7X*DovF>UEjGeU2}s4agr+sg`b^3c^eeri%v*bN-+CI+ zLSnAxX?cuq@W@2?vT|Pn@1HHSZwfU~&WtRdC8xFM|I}LW1tgLa4ldaA>6mtNHv4L&C8+EmkGO*k>B;GLit4`+#P?V+Guedl^MC>C- z=GOk|t(xGCv6C z#JYq#;z1jk_XWIK&U8{Yq;%|O-0$I_eXnGzWrAD)`Ubhos~HVbQsXFoOV453!80v< zB)pGlI`u5kfZ$H)-9`IZ=(TER&J5`XA(5VYRaGFIa0;ju$XTqk`EE@tG}$+2anlIh zzo)Z~96;_`rT-=H>QqDYk0`zY=)2(|ay8z(FAlb)z3doJuUf{vCL(~9#0-j|rASZB z>J>3Rn=WhJ$kKIZaZEHkKSK6br(~zbQ~armoEIr3(U-XDVi!J+GhBJ3OFKP|M2O=R zM5G3UBh8z_e~Z|KT3J-5(-<+|X$b12V|P8H^j$r{=39LY0-+vom19ZbfSRZ(&=u<~ zTh+<5=8E%knbsn$OXPy>*~lrm^i0M&S98DhvxZ!!JW@k8UGvq&<)6&1x1l6mxx5I01*(IFY0iLsX z&uzRJhF9wpJ=LEQPW8AuV;P$=?@vhQV{HQ)IX9^KetjPbbn)YVv2=UgWD_iZc^)|5pAQq#YvP z<`Q`Kp#HNY8IyFpGjb%h#5~02*fLQ^rF<_oL`J-XIeD|7jkz@`GWzH84^o`VDD27X zHvB;=o)V1%DQ)r%Wm}j|xu8soH?GBw#y#S8akotdtrrUi-=EpE;e|~ryAOV&2j5H1 z;t?a-`sIk>{aKP6*%8pMcDp<^BepZ!PlR4zPFtR!UeMaoW?FmO!d91UoosX2*1)!q zSB}@TLMhqDc>ru^+0Fb}7OobsbwQa z&f1bbh41YAMUY>=ji zSO1a!jJ;U6BecRbD+z3)vCkoSYSy^!B$AK5 zIFW?UwU*voZj;JlO+b7!qj9saK%j{XhNVX6q*5v{Bf)o#_rarrcxXUnb>gJfkUnj5 zTN$*`kRUsYZ7xxc2>P?Uf5*8QG^5@{?JTzswjGX0m?M`W1X zu4eilXl-FDv@}+#f(A1c4&O=Tz-+s;$I<;Wc};iT@%?H@gNfUO2TrUaa}9{+wYJm{ z!b2k5H9U zs#B8@rhhyKqRgy+={DsV)3%9bjGUsT4md}J{!0{j=;wX;ijQ~snQy9QB%#|2EtM;3 zRl6%=wIWt556A0oxJv3jOZ|$}FH+ycB?p3^g!b&*s!T2p%jXkG7rG8XOCkwITK6|$ zbOqb0jlquIS3WhxfdKN#El%gc8s@@){2J-(>rO%ouh}(Zw3JoLlb5OvvaL{mYfeV1 zrNr8!U|JkSBe_Qd)b61)bIz4{eQilzQ{p#yaswD~0FrVwe|X|3hGXhZEalXF)AcZ2 zCZtmr|5iGW$^`kU`uuOhC3Bp&EjQ< zOs{*J5n=y7q;pI$DcA9Y^^si=CuWdw-evUGY4V%yjl%n)WpH#si4Qt)H#sabtQD)b zW(c2@!g9LhtI9%k6375gM;R<5&*70tfkr4CQ zN@ddfskFA+nw&q^LEQ%%A*xG9Pv*^fi(WJF?Z({0+_c8Cx!352Sm*l53g;{ZGGk}{ zkwjl6;tL|r-X{r_9)z-xA+IFn<;3*6M;DPEpCl0YZb+hc6ZdaPurV=jC+5%gw_SwG zDDgHM67zul^#>#zqqh=98!eg|smC*Ws8%~b?q%msPJYSk8I5UZXATdfnQA>1q=%Ip z5t4-5S>Rf>1*A9a;Dd-@am{eOUhH?B)q3}UlNnrD$KyE`b4*S#Q=1v7Z5bJFP+!$C zI(3W;=EWT)g28S;L&)%SVpnE$oxHft+(DalQ$n??=yn41md=JF!?h#zb*{RR=#^q} zG3|a|j2F+^OEotR61naaJc{X3k+&kE;}GD8YI=U0_E3Aem;356R4$F4UlcZcL8M!YBSY^9 zTF0eFaOtCIvX}G6h!&~u_tjm#DTB&Rp@Wb{?F-BxTbZCn!Yf1bSkpxZg+>KwFL#>) zNNbJQ7N&VzS-C>m3wl+kLlk{l8furI{}8DAf~XUGOn1%(VyNdfKT|)qFQ_3B+a%pk zWWG|W)6q}fc4~X~R9~Hvp0;-q?z2$M=Cn;$e0k`u2~o`VN@Qx6mAAGEg;W2?b61Co zCb7hg^%yl4);OuZ^3>O!TqB`wfg6qu5GPZ9k0SN@j5l4TzBjLX&%u zW1B`)a)7(1bCVKPcw0bze!Oie+F$QhIvWuXP2I4~;1}D7R?0sbIScm-iD+YP+E=sf z@WvpGBMn&;(ff_%w;Sb$js6FX@|Y(7Xa+Ev(V1DsrK-5Wb@+ak)KR=AgZ-NbyU8FY!_ICnk<^p9S#5KLz4#_iO)rzOD9b(*qRu zvaQDa)=sn__GFuesJYdQG&CbHxL{HSaM|<3Hj&!ahKGQ+qEDTFJ$pm#xmc(?O z8{OpE!YvC}g@%vV4v=T^Mq<5;|A3Zm#)Aq2Q^x(G!F3x!Pzpjf2RqV38z8vFvT#`r zUhx(96^=vm47yLI+2YA^w7E;THw)?!3SukA0XiFrJ)nNzbZYA4ad{|G>@+d*R3gs{ zC(rg~br7Q6tG&>%<-+QM5VG)}I(LxDZF4=1Cih;IUbaz-i;TFyG*Avi3sXyZ&%d}X zlM(lc!kwbYZ~Kd^{#Aw>Rq!^z7-q8x+Y8N!8VYW&NWr{I<+ZYw6l{}^NHN)QCgX5) zP)f8H2!<{Fss|uA_-T5o*Nf}bprFm(jc#0clIZbzcVTG%4o#<~$t1a8q!|1Qrq5P1 z&@vj75&0N5ep!1jV0vWOo1rN($!zTbPl3pZ;Vq8=4Bi|L2ff=wtPHooQoYB3P26eO zX59SRbb_aVd33Chj}8(F8ucVn^dwu^y$d7CS=bRBT|;2$)M8kQ#jtSO_NXJ@t~-9@ zd;%>jI^I5zX+tASfDIygSGYI}`k#WH=me~rhK_i13PKnyDb!~h%oVCz|I%@`ruBa#`Ty`TuKT^#rQvLECUJ(%`11l~_&sF6Bv)q);@j~wl66tv1o*=SFDEMe>U6>E0xOEOs7s+Z8 zEi|T>Y9^a(smQ60kpy_nje;qfUg|v}x>NA%ed~$-(*+1~k;q)ge*GIn_CG9B&%ixn zQLUZwSb_NbmAX*7yHlT+-v4H`+PBbAaP?Fi*=z=JIT~GCBSkQ+H{~*l`PN*Rc!f-v z-#}volAao{Tw_Gv&Y@p5FG(;*GdbGlgy4MKLb}$aJF{Ko&hK{XVPUsBEZbck_MP6O zXPbWZ)JI84pP^eoJUSX>Mi1?2Ty7vUlIWzJ{3q0ahsl%{<{y^9xkwIr*JJEs@}!JP z=1!>}kg`n6^CIHpL0R_%bXYvCWp~HKra)>>+cl|au(zCJQSS+Ly4Ft62!F^5h|14P z54ZG?)aG#0Wd>qVJLmObV(!k-F55ewacp&*(Z`x*Tu-DBVUghZO!N#So=Bt|2ACb! zA!Wh9?;sb|hWZMQX9+9j5;dvS>Kt(MVC28`(9r3Ei{(3sKR}5wbyo>mxzQs8Z3sdc zm!gw8uoXC8g-kYJueBq*oT{VKg`Oc`H>jzgNvI&}k;YC}_7M@@D@xuLaDr!Z;fq8B zijP)u%vl#!Qv$)eVrTG1y^JUcSZS?}+;0khKR-y9Ux;}#ovzA6cXJsRqVturQdCYW zxF;9nO26=_hv^6O9VZLk3SZM4SNf$)E0|tPv>n|hw~dTTxnXAQY-vlOWT)lm)gKAP z#)^iEeyz0bBbtu-JoaxrgSIjD3Y^nqH4V>4&i5_s8PMw^y6*RBoR@M>r>u$Z*=X#5 zC8eknP=NBcqi0$f$=~+9BnmGJu|ecE!u|UO2*D6*Nj#zozXxBCn}X%uNgO+kyoPdX z%e7X3{UxUe$Dzol_Hg}G_LJQp8aIkygK#%e0eOkcHo`s75Hz~B_NbYfAKtREk&;B0 z?^7FKIH%vupDqEdO#cLBu`I5o-K(kksWztH1mVgM72mA%)aTz=Lwo6Y_6oZ16HdQR zB?dbtE@XS6<9m_b9CSLYQPe7N+8G1Z(>wQgEvz|gUaQl6sd9Ef!IGga=ECt2eLUbz z><|0E(1qixkeujDwu8DJ3(&|hzJzW5Q?GEOvZ3xn<@@9`YW&kP)CH0X+jM9$>D1UP zU3SiEak|eG&XvR(f;!?xY19dm1G7A-)dgAe<{)cBjFO9`==A=b#CvLUY`EhVPf&2How~4uut3GI|Agj_evZWw;dgi&*rEyJ^EkZoeen!MP33HR%OD+MK5-FM)~V~~Xye4xSn93E!|rGbJc_f^}a z^~cX4#c3lBldy1_+d?}`}(Zfr!!rDuQ@-~$JIU^>-q=oaG20v zl8xpMzcBuxb50TNyS0yhGxXA%bH31ju6=&R_~(f^6jZFQeSXsTzY#mo3h2Jt=X;HR ztC&Nhx0`F9Z!-RaVh$wUm(@OBYW!!!oWIiSyY~5P<)jt1Q`d_Gd$7%hsO>7JE zk@Sz%bI#K48@11`OaDwg=Mt@HUS+?3PWo&0oEx=%xc2$?7yx>Qd$hiz_W5?|e)a4p zw7$Cb`6|3qJ^N2uudaQ*K$<`5*&B7kX-IC(^OKw|%?3UDbFGi4{o-(9D0=oWMuXL| zNBldNZDy}D`mNgMH-%YYc35K?D6+5Z;Uz&>`&x5~yBkkJUjI^oRV98KENwp8b4O4t zQ{%0;XteZg_2n^2zBU5OQZ)&_`_Sg;7LqeuK-t#s~%mU)ji->G_l=Gzp_4&%8#(cw~YQAYfOTKvlaim2U$BVl1oeR42!xr@Bdln7P_bno|wO}AW za>3~Qs6}J*V>XEKrEv=<LcHAkyeAKU1ybWj&7>CfRnOaX zYyT{acaeKar1geHnEE(P2pVkVC8h9vsXV;L-2g*I=nU^p$8Q45d?k~v_tnQ!s|&VH z*Xz^e;R?$shl=(aGL6UDL7u_u5MC~?Q$@q9MyM!cGi4THJ3HtP!}A0RgOkZ$p+N0l zZi}+xr-`!=P$cFeMErXh->j+!cFd((buV)>T2rjB)lKmkn&voC%;Asui*^YuMx$Cz zN{yTr2+M8NQg%2gkaSIIsnWw7PjR04Zn(ACk>AbLJC+xzJxOH7$o>X?IZ&YlYXm|B z1^ls8AK}$RAIjh>=^v#sAIXtz`YI@LDXcI%p{bSUu3shl;{AL)IwdeAE<`xoTmwlbX)hIPOGio>NBaoG*hiLC)8sHU*)wG;hm@^$i+-zB1muR?3T|UL)m$ zQa>c+@lu~4<(X2SWqXf3V$*rf0mLUz`sNTWYeDS|IGWj+&{A)@$6RHf*KdE z%W`>BKF|PLst$gm)s?!f-Q97D8%zsM;Z)5HGJ8FNJ0;9@M3!iSX7s@!;iJBVBNv!` zz46VZrr;VL0)9ZIz@{DZ0!>qBCY7;Em@||&NLVbr<&hJc0&a=EYw3naxy^AfJ9^=(Ig;~LT{br*7bPl zqA5oum~2IJi4IBs=LNmeH@1z%!;+2Mq~>x9_F5CeKrAOuDxs}uX-Bp_>dJH;C#qr7 z2I=qP0r{}8({dFKQMpW^h6Ixmt&UHvHQ~~xkAOn1RBT?+BV%(pJl0I zwUobr8Le)I70E(BEvk#pV_FFu4|%kxe;)jqx?haeePT?lbZ)L%uD5mQsChGZ9s0$j zDFswu#nGU4tTQziD?fJnb72;e3J^;nU4Ay}rB9gKi34VbB@nyWVQI#LVGCgZQS*>T zud~j7FbGpndRNkEKy$ zP}ol|7yG%qg1ty%@0Vq*d3nK-I7|>P=g zW-p>yJ_hq}jb9`bqXjr)Lst%4KbiFi(1oqLi`hnP*XU=T7`RD zPbigeD&ol|Acfmu3+QDQf>1YVNO6OdZ1WuE2husPMY?p;WhGr&sGVqQX4&KPH*w8(jBBhz;8Js)B*np1=Ebsu%z^*qf{C4NqOFX}kcz3FTp zfsxX2Zm^&zwk7%%PL{qZq8~KbBnG?-Vq@6W(T(e2{CLvp#@Ez!#D~+BtK7krmBOxY zYJKSx3YQP0@7{8?UupS?%qM12b@}X7vU0ZEE?tUrnV*^2R?alrhBMW+xtZB*#mxMs zIPUWLRWg4zz0|nCmfK|cR=EUxeJ3{fH6q=4@`xCELJYw^_MZQZD5P`N-%l>LuZa20 zk=V~0)V~LPBY=TzMs94vK%b^=#v87BGTI+o7mkqQBR`Yx3;M+fB6`~I4aWEPCF8}# ze&sU1sjg&0kaO#f4=Rt)>BO%*?dR|GiH?5e$qzj9ydVD2Q=ju(5DR+S&2DtX2A~bV zUH@+^_%J$_CtHeZy!`cE&la(4jg4-`mJVI_8rQoK;YYgRm9YF*GJ76Tku5@+jUXjY zRL%TS9O>mx@_O7d1>8WGy2P2_J6cxx;)(#E#N`2L(`0)!b&ApK#{-$c$)O#XJW~-w^G_{suZVt@hVTe8sz^P^nQv~ zJy5otY3GQo;w*{FNqagD7R3yxjpVPz9puJ@dR7>I(WUReedqz+!u+p9c_1ysx6!8|xwBk~;Ll^4r||VkJxEMU-dBb&|p^$#|KwcI`iP6oY{LwOfMU?xB@%eE~0ILQL*kga| zPxK$;JQTNqSEQpK^w6}etVw2H>}yrPSUo;vxV3-LW~(wor+=1nHMAgD*NW%63Pc;+ zikBacPC0|V?I1lU+l7LowjV9FWIwgy<{QmmP4gOIR}k(^>ExfbN+xH^p8ITgblfUg zrHr;~UT1cdESxRf+ho(NR7*4Ef3Zr|oek#C5BLLS@~+NfnMPOK9#tNTr~{1TxV$($ zPM!{X{vM~%)zXHrDJx!zs(+0<;_>2dDDIE*kHutm5i`MBtA*`shy`ID zMD|GeU`jaL1Q*dXr~-P3?4i}eYLLY9qAV3qZoVmZjG#2;7j<>TpdO>WG>!XP!>lj; z?Zy7UB#Wz0DJ%fHjUL)G~*+a$ZNFRT^gogB8G0<#!$l6yI*%aP*jZV!kB z*|Z#ss_HzQ-E{X;b7DJ`OX$qs(|N2FJq{j&mM_w6U~Y^il~Si{4mG8^^#9R#osFa2 zUnL8QVkGbjj$5?af*q2^@RZL;N7xtdaw z+zf~S#NaERs;^?YZ1+h7i8gEs&~s^qE8j~)3982mRJ%)FwmSYk(X}uejQQFY2Wrmb z6Uidxb)NcB_P@oC;*wQ}Rzb$4c`Wm#nHxpCL3F2c&&twGGM0Ld&vVU3#?|9uaXbu9 zEeClkBizv6<`TLkJmiXdbMe=>C9HNo==u-2DSwq;$WAUBxy5jDQnzN2pdV-C-!kDZ z)hDE+k)E%|*|%cxCOzA}C6jiEx4F)|?Rp=(p5N?>C-W^&=WW%k?S@2~Dmv#<_fl8- zv?l640lG9M7FXrtYxCloe0+0W+?0=RqyEYD#jQE(Ij<`)eWmyyW7YWen1XeoI4_16 zLX31rYs^vEmT#6Pi=lK|el4=meK#jR%E8d{NsitrpXTIeIhigaEx!PIlXLx*qK%BJ z+gugvkE3h2mAfVJMT0AqCU9T;`du zs0zOk$q^VDq6xU-p8GM*#8!*brdorq8DJae~r*Y1V+1>(CX zss9p-oBu1=qB@CeH(F+X^So3qjdyNLI%vt}mWDJ^m(@sQiL6&=b7R+9yB00-7>FwX zdme!xd?XA8%Ia9N1Vf;tNISs?(z4Og#SI%Yu6;r26LM`V(DX*JleMl7qkdU*)?Aeg z<|X^>an`U~uzUr+C(CI)8IC*ur<|c!daq3o@vGj{2+J)m47v#u2R~0uKaW|ScOI!r z;_{i1zB&?DQCA#X9ThH&vTGu7ajn4mT+|aWsqwMzHW`)N6zO%5xW)c*T{QJKQ8xX% zSXOlQfymuq=n^Q5;1Xu*S#q*G)Up!xrj|wy9t=wZ(X1u{ce7!;seTs7+ZX`(pV#4H zVP_mBKfutbbNbgnm))blY?*!LZu&@2?OxxM89bCjj_1F7T!`t zeM3R7DR!-WL^fo~<^_Hy~IG6A`>6Ymlbl6p?E6O0)i ztj_E6Fucg@AIj$1ie5Bf7jbzdxw;ZxRSB-FSmG&U0QvqbWho7HkssVpsbyS8z;O3R z7~Ob4R~Y$jQT(l_KP-kL?5z2*E*@%q`)y^hp%6@xl{0Ow*s6A4e39num+BwL{pDwh zhvW`YY*x|w>MMfgYsi@b;1h&J0J@t|;GrOJB7hqN15{~>Y&lcLvH;>o(K!?=uyNVQ z$(B5iF#)-Y1tE`8Q)e5dQ@iNU?F^!wYlndmI+WR#b~?#9{og}UM)>2*Z86H~rmX1% z6p2f>P3p{{v1Cqc>8z@BLFJrv-455nP#<)|hsfHx7rWUtIFHeZZg`5D&_`RGSF+;m z{C&*f^US*4%!SL;yL&<&0D%tNpPu&a_xST8=ZU9iXRPAWD&jY8ZXMw|cU01xnjCg) zHl&Ew0X<%h17Qd(uMWOtzD>{8)>~0qFbY2pfgf2!qXM@xO5`Jg1H>jpIajI~C+o!v zauDFM!dQe$|JUL>tvmd~IIq>)IE?4^g!F%oN93zjcevTMI}QkjXI=09y4Hv4^cF4L z1B&~hC3NQ)`CWSb4G@qTU>X#HwxDy~m0-%CIUWk2;I#1A>?U`DyzNkM#dis_xBEkL z{2=`2Fzze;;#vhKU~k6Kmn626IN%IxLWu(s;0XQ0QUk#s3kWPVMrLm^O4yz&iLud` zIQ@lPW=k#UdKb%lX{Y~~Dc%I<+{VOBm}M1vJ3fbmPyD?sg6Ob{xTzGcE6tMP)>3>& zN!(c%|E`Xwg1eFXxIwIFh*mW~u6Aa<{kxTokra>G@3KcVHg}8r)2;VGDea-{#J}w~ z`E`x{7=qG*YAebeqELKM_kZ>L)v%OAvj(Z>> z-cd;4&Y13TFq>|x^j6OZ?5|uw)I}+?bzF(*{glOf;n%HQ9jJlMolrYN3a4j6O{lM{ zRf}ckVWYOD!&M7Sd>_-S*ICt+P_HchnO@k}@aK!07$FsJY|JxbyU6ZGe)MG7dzw;7 zH_A5Qf7LQB1kAac4FFM(CRS|ITCM4MH*nsuSKGN&Kch!ZiKh~zTId{8Z3D1Jk5zz@ zDgF)wxEQeB-f++nY-vZ_0W`D|<7+!H&;?V#5uGS9Cy9VK&PgIXQRJZ4K2cQC3)wwg zT9YzgT9~fqowKTmwS)ZX-A(46CRF9)O~GSL;UAj9N1AeM3*@s+h`&Uf*=X{Qu8+j|T8<{8Y_kPx5s6)E#W;G~QJnA8 z&M7_4L2c92^j|xVkWqzUCwH_^CnL6i6ed>K5lkyukVKE2FcxTVh%JbnqleLXkb!X4Aufm`IH(c zqZ`u$_oT}%kXT%soZdVwn7)Jah{a;8lw2R?Ix#Q`Tx=^*aRSE;_CdC}C&^@mOmbxQ zChDF|I0~pZ(rdGYfCTO+i*->{9FFOIkyyKl3~*CJ^S437bJzil0(->~SL_bHH=?~n zhu2=;5w-8xVcM5Wi>HUIi;jWz(WLq?Tru&cndW~d?ZM0 zvxU}N*9&=&IuNtXH;=jc0#~edz4P4q)oyfwE62Hey0SW20mX6m_6N)eGhjxASGwjm zZn)HJXDpon33KAq0z!>#EtfS%-rj77IU<8+MEqw9ii!QJy+ZWHUuEjgm4Npt6tCR?fR#f=q+~hrT0a!g6F# zaqwGJmu=!n?Vf&25{;#K+*MJk=lEIanqNxk(PLl5^1B({j^G&eKE`-5K6YE^bk?1*0tuq}oH4 zDn|*?q#hKxH|);H+PIG3uQV?w4HJ@M$DQVZ)_%?_)rRG++OX8Xyg##IqJLUp`ZVTj zj#t0|1@C|bkAlD%kN05j*S=EFgdazWkKU>r{(Srnb%BsTL*Y&Ynjx0NGS1(@pT zM(iBFgE}=*{F85TuNm>Gi9a-Mt6MEh(Z4YNvz<&V4NFZ=JtnQ(0blb&#kNF4nr?4y zBNLB?llW!bX?hjnedIIzXLJMh2Ni8xY)6(Kk>2mCRW9ocl&j^Yt{+DScJkVt4BC3( z{5+fYKeymi7|y{zXTR3biS!!ALU6Mm+jUXJIB1(Hqt!w7_Io9l;f+USgUN8R!+=8RsgI#~O>~#j_ zSBp&}d7U8;TdP67dG~4O0oe$3RNl>BPcn|tyU8^B`Acf+mz(;uJy{Ue0qAQ9+kA0j zHo6XK?`*hDyVoJdv>pVC;v8vy9A3#&6S~auoXu!i!O4!Tg+;EG10S#@ z%gN5bgdeK|_jJzCS)3zF7i+QI+}M9B^)IDD5@eCvn!;wRPTt?5X66x;U`tj*m=E2% z5__g|?J)7(+Lat>FD!Bfin~DZU#w>tXWjORO{yxIOf_Ra7fT(j?O=RZ%R7%*>i>%^ zexz^_rWh9VB5PEgu%G+I4<(puk0LF=%Q84rLAZOYFu$g8@*h&X$-}zz?7oU>40LY% z!4Ekwf4B~o!NH*j1)_+dXp&2?w|1}tkv0jS1d<0AK8uNz%Lv@V8f8WahK_35DmboS zZgHDF6mN+SEcE{{d7k+wBET-@a_R;Qa#$SL#q4}Of)HCtiL>lfy_g5YB)tPX zB+yb@N*}mZ(*_Gj4S#Pov z#YZN5!}xnpx|isYhCXAe&iqA~W0()9=r+1yxUHSko{W`VXA{+F!(|h#y8uP&Cxm`M zs4u1ZfSHr=yC@R|=um`)Q%{nGuatRTjg^Hc*PanH{SrY>>n0fpO)Adg;Yv5ipF{1S z|0rrK-4wIkWW+qjsSSc=Y$2Npg8?r4e1RIKdMtC60EoaK)WRI=#J}zE(RX9;{Xutd z<(^I7JiKWou-}xNfw#r>Vp>QQTm~23_nO#yg2TRuOlNtU%nZ4WnbEk7n$bhWtk`BK zP50kdijG|SW`jRSzU2pfgWpBp^4;*k@ABXB-Bjl>x6{qL&71&|8k4%fD=&vN@F(kvBw*tIt>q6>SOWrajM<9ffNu2k=v`H5T4JvoD@_#E-E__0`^~pKHf5mXLvy42| zn01C@wS~8kEe0Y-$*K19xwCb2t`_Hf`>`$*?Q4X8xyLSk=gM1MbDOK$*rmG14DH}< z6WwRTz2;j_*6(;y$e*|yG<#U1<$2oNr|n7j_bM7_4eevCiY`;)QuVF-SRwm=f_|}) zq8#ZZ>nuO5^kyV&=_s%N2PxR?A0pb#i12?@(T0s$^hH8}<5M4#CwUvQ4I9WN(=p#L zO05CpWttES2`P_7Nn9uo6?!yM=+ToFdJN?To39i=xHjv;jB1xy+)1|@*3%o25ghu- zh`!N$JCd$pBcriuOwage9J# z*@0f?ue6@VJ@7ndV3zYP=?qSPFy~iu7p7fkAG+(sWqNSs?$livSh`Lox5#9j)IgMM zMA7S5C(Yl4*=|?n_KbUMAh9IJrN7Gat6OL)VyeOR-gc7T-69A0)xU-FNsze1bS972 zSO`1BAA{u2LGntVuh8B%V}w^@$L3!T%wxt}qH}(ckY72;;Bgq@pXMFa3e+JV%P)dj zVDR-!F6;!x5GJ>U`CCK1&Nh=bZ@IzmwfBgYcZTM7AE9n@DSgr(%=@PjNiXH!5h>R?Q1XhRa% zWM+_lDHX<*lTsdlR78yw!8j#>APqFe4Ge)*q-|T*Zb&Xwak=(Xt%w#{_>Cp;Dm17xQR#S9xz2l8cMq88;zT^www*0Ri`>SzA-HpVTM z_NU7#%OSnm(NQ7j7^GN|*y2gLJg*95%TG@t=;&yVSt}Gv&h-(MjzH<-S6mXuYBX;LoPn3X8D%(9@Gh1 zqoV2@5hsuB;s0R|S?3G!8_!O-t4&sm_v|>t??%)<-w?((hi)0lwrrNFM0Ld;;dOfu z_d9G)^csVN&v5vjxkfJ*tM~YSMk`E5D|nyO8V7hUJ-~+qi^Snkd`u+X^zE3PAG>>C z8`fsyGpQ{+Tb?d!c$`FHo$YsK*Tzc1iLU;X^Gdkaut0dnXJeX$Oppvcf+lDaB z9WhJV!Rpxh2>p&a)wVmmNZ(@ySAMH6)L1LSI^1@iQ0(@_T|uYpiaN3%L0yoKH^RF7twrT>t2AJpMP+IkD8g*?7)(a+@r z2nsx?6L5j9(7{?Quh-FaTE1%Y{tx8zomyTMdH>2$H^!e`mTMkS->;w2-VXlOU=u+o zLe5h4??H=+K3O3ETRqZ}DOXR7n@@?&Pq>RWrUzUZ9zmA>phgk?K6D?(pPCCvXS)Zm zs8V#>3l?CM$i8ON#U8o)264J!WEIJ0Q_-^+k^u?X0A;wT`jc54B4#0Y zySN_I;+3N8m#To+N<5)%!<|sSG+isHC=fuF6BrH!ylUAF)o!yT=`?5?rN1!=>XKq( zH-Fi4p&+jrj$jhhl+y*98U<}qPK&RD5o@4SRZStUv$XSUF0mEyYMl(zr6nJsER@J5 zv0&-$QXs(-fCFjwbs2*;Z{RB?RjG^z1>LVGxxj_C-b|5R4`z&+Zf3Xx8Mkemw}sr? zn}|6M;M4t%+i7tCnsAcU9I4lnGc93-B1T1P!nOZti*%;8F@a@3Eho|Vc9we(jtov- zqBmC`Go~ekoMqbQ%}F&u3g=d#;{Ffq^9%UGIzwBgOOIt zS^sa|d*^26SY8aq=<5QBmUidxU6Lxkhp zCp9iq8x$L2+gkBjqL-+%ffYFpm*9&nu_Bs$Og=N6wHEpbA57+CIqUz82=3JxH5EOq zGJ}(L>aA)DH*|h0^?d_N@J@VhGj3gO?x;D}2=3ol?%!zV^I{?^w)B$-Ab`3T5@?3R z0`IJ(eWsbl4ft)|yphKQy_NKSfq^gH2Jf3qdooL9CgGb7Wrx+h*Zp=%V!ul0J8gU|wR9@LBkct*!LY!bHJjl_<@{0J zH8x2!7UybHaCy5yBXK=O;#SVU2I(ADO0vCFt72NwCe$cLDPHLzhUCZ|6k>!K? zg8~)oWn5VTq_mdFnGRjCTv_B88^WeEY+$ojw@Vv0xY)`m%aCBZ9Nn2>(ooA6DC_m% zAbtqxA{wg^e}#q&Fhf|iiCdb!8(I?3`D7p-`J#2Um&|ROQ=RM2@fi0GEdEyKu~H>e zSH*=pV(}D0qW@{q9w?UAWBo?#z7%HO34;|`eQwr$FEn3^B-@t3`pJ0NOr|yzRt6m= zey@na)Y8`6(|>_}glMWVQVj$nTu7&K{c0pY#M3It)&rn`pn}b2&}p*4Ytikh1IiSk zx~MwpqmH59bMr~QLS?!zW6cEf12YqjybkI#{^IIq0+<*5hTKE0`Wue0J_||@ePNxx zs4jP5oqEfKG4?-yw>ua<*|_C5w(Ltgq5piplWBB!PIeudIA7rY(RxnE%MtsvGOY&U zQjYU4W`U+AR_CzFft+Gr+L*E;-cyTl+2~f{3@mmYuD5+r=+A9?{nYGkU(B*3V?{Z! zMluGg7(;fzTDdbIZP)+x=_GmROlP2zQKXzh#{GI^Wxz6L$>(S<()4^rK9k8ln+cxE9ZLUYB; z++?iYYHV#fO;Wd(7f4&3&Phwy=&ND^21KiVUKo;Oo!kTow}RG0+Pz9>x#q16p=@DL z&c^GtE>vW>mok%ViME5KD)mnjs)kr#TT?@o?m#7m#E$+w!20jDf?&OPUD}li*#B}8 zW7#HtL>S{7WSHw?^l4Bq&F)E0chr*iGuQN(iH;BFYqXR;Alf@;iwyz&9qV?qS$q zSZBFbfa{)zRA3fSckb>=K~Bx2f5EdIWDb_Mp}5F&=)Dy@q+N#Z6H4JGE%JY(mdPFM40I3p(5Gc-kED27O**G4>>z`j&5Esg z?}YstlgKSx=le{fPm9?j>gsMUD*#OtJo#ec;6%ByAWzP55vSzjiMh;4Isf=v_Jkaq z3zoz~y65CFUuP-Aref)8+Z zYu-Bt?VXhQB*MyrcCpm9`1RyRi#rqj?RZ(6Gm@LUD;^5-)qP)?FC$eH~ zQC~*My*Q_+9|6GR7SjZnjawgVQ3F3jB(ufB4nS3+dDHY9*QO)VTdB~z*B~@!aUP3b z6~SxNj{N^Gz4ZK^;-`i5#9Lnz_e$po7wjBbya^m$D8WypLb1gAcWb4j|lGt}-Px%skW(`hkwxRfilOjIc#gexKRRwA*-i7*nhpY0B^fG$d=q(8K*!`f$H0S7)>TR4@%<8cryd16OMYZ~m!jo{ip~ zB^%Na85+AvTI%P$CZNnIz9ynq1?zsg{Gv8$EZNlPJdebHUGXYU-{y&b$lyyUzL3Fl zitZiiDc5`2^-1fv=9Zv%k_uySw(`!kwdE|;2zR01hk>xoxVq6248k}yAP0iZFl?aZ zf?HJ`VoPr#9#*wp>WigeYzWO>#@x{e68B^asHr{D=cN=xJ5e`S1KAjL5yJvM#HL}v zQub*0P8fDzcjfiKIf_8R76`pqrkknI16Lo6UV|15diYlEa*`m;9gVGdZT`^t5` zcfH@(MzjP9rq^`VQ*9`LCw*_dUwG2bo)oAP1CQk`M&D*8P+?;`ba_%Pa2JBil3vM$ zrpB$72&ci@q7S$w=zCt({}pK^#p@>fmbnZh(e1GDgm(nuc0$xVWGOy3e@5tDW$8z1 zgSW!BsM;QRs!Lg?Vsk>l;n}|3WW?r}k|VKXS`nrNtTT^nfd^5r&OIU%YwxE28qO8f zY||~GC5xYFfvfrU+QT_@+7z_IeEp5(I`NGU!Mr*K_m>?#JS~b>rTtgVJ7H3eq0(%@ zV?Zr<{40~BM>6@3x;V;d@87#Tb*G1-RkveGK$8Cx?>-!1NeyNQa3d(>=q5p?#dUMR z=0nruqBNKTP-631TJuU|<}Zn{55q@Qyl}F?0sJbR1*eIBic_s>yGY~)-xm(PuiW%S z_uz)dHf>03*Q2xKsPB|_FdKx~2#He5`T=jFkUcRm+l^v!kL=~yqQ_}W zvKjPGPvfm3eoYk9DaK!$*Mv@m)K%h0(h`|VV4D%<64Aa^_?L*%S`l3$z?lqnkoffu z&TT{vE961Nu~GSw$h;hzk79Fs=$#@mR|n|4vfcD*Y+j4alg0M+MQ=ka-wxxHSm)C? zmv7DE3tSb+Q=;h6P)*_Cm>NwITZu{Pf^63F)g^FA>ddWFf{r@sF=_qq7CA8iB@ zi30nUW)_#I{GH+(Bx&cnRBFPcw_eG;WV<{aOTsd!B^2MjYAjpYD6;D|=1kp*$QU|R zSa;TKr=PHlW3QwpgUyH%um+aal598~njmkB3x+6X1TcVr9jB-16c>^eYlQ7tKwpCi z)J_PcM1EUz0HUqc7!BK@CQ8#DAFbT}#`NaZ>-%qp-uC{QP+n}~ zCKrX~(m-8;{xUjT5kzMN;!H%qw~Xm}j^kV^Qgr@i5SW-{u<536SbN1G$UHPG-3+=8P~%+7n=7&Q*ztP{l0;=@>0Ke zyHI}xltL4LXM*VYKs?9DeM_Eh4RI_(J1HKqJN@`!xHM^))PogP8_T0oEXpJ~P10Ak z7IC7a8z1RdVg18lb}m^kf&fTLd>Dpguapv%4W*7U4S=C&DPXe|iy6s;ORl7s*_7Hg zlbsv0qy!9Pmu7uX+}_M0EAhu5ID&Af{D-VJmfd+YyGCGoL}>sOpQ?Ah$bwC z$&S2Euy^bslvz!`=Tc>MkaJef`%Rd=nuq~v^qSDSJ~YSJ27gEA^jTD|D0~Ik2nREx zb_W)Rg2>k+MgbjV4CdH~KHtH@bTlsq#gQVch&JF09F*S9rGtQAZwYhd06J7#Rj_}0 z@ROu-Wg*Fv`py;zF?wTEz1P75Y_H74vb{W`ug|zSFH8?g*L2wt|1hYSrEt`hOygX+ zy-W@r68o>GV!vX$1zj-+Xff&?WdHsc2pme189Ga1vbwK{n)%9b@TArTW%{ckc}*Oc zo|kZ5q?3qzGvmISkzZu=QCaWPjDB3Jr}3K9ifndewysC@mVIKK1TOINvfZ1@iQ7Gx z)emO@opB(|%c1*#b%mA3lchW_)vMF#1H~W}4y5|O<_@QogJN_geU<{2KBqZ#LT}<>ZE(I9$6O!Kz{m%rbjU9g^$iB4H_bBmYEr5smg}5ivf$RVOLl_f$F60f>fUmbE54` zZd+q*QgMX}=5o6Og^9Cl;y8c28CMvu#)acw5F@h#rNIx9cj3GyH}}O+(*K7=yA+PZ zBm;#Lz9)h(gNSJ4)rDHoa&}nfmKw#=ZuWH;M<7HN@Z^JMQ{oB{u7%@KyekSD1P=`d z)x03)Aw)@V4UDsSfwFD{iXy^p+g5-#!owN7wI`}kO!TRilziEdVwmg}!?x@`N;;2_ z*pB>O4?vjS?C(l`t;81!L>84Hxl{C32fK?}4{^UTk0=e0L_hrlpjw|UGnc6Fe%CzgQo~Ks(|yEsdxjLo4{9f} z9R&)5C-TEhCqid7Qy@-m0^6FSS9HQ>;f;GxTD)R z%^!xqqrHITK);n{=EF8U*{ijcR&DZiMTal8axUr$xQ%TP!l-%3ZsRqCV2bdw12`o^ z%7M$dEZOm}n8U>mD_nxTS^4(dH*Qv#jsUmE&-w;^JF3B1ws>4TzQnG@l$C@&JBR28iaz1 z-%!~Ge9uj$AHs;h8{L-JW~cwJZD=E=wWXb3r-?^XH*1`;>~!fo46v?_cr6}cR@pYu zJjIARVx(<;)HHU}`M#Alv|0!lcoUER-;fgAnfW7A$-Hcq^L*F?O4qf;jKg)2w=^zt zyyAPYG+5H(EE_hmN(v(!SS1ItBgH^k;@msI`8-VWWYB(CMS#8N2R{j4_k#6cd_qws z>j}|`Df>mQ>cgf)@}&ueg0?XCPwS8WD-i$uhCd!Z8wN#}NZQ~aU!GDxx4|dJr8C4? zbqzy2%vuKkGLU*87Hk44FsBlY1__y#iV}OZXa1VF4@-t~|4jDsz|e zf1}(hRpxrP=$fVZCA2sRy)(m@R_eFA%@4U0p1L_mBkhwOHM(`g)BH;#cb$%J(*ByL zKu<_YcnN>UVeZ(_K1QF5v=3MYH` z8L@w!mjSvra%i$#=-EKX?h@R28HSzCS`)N3wFull`gH@3s8` zkuFBRD$=)PREx6=7TFKuWH=ylk7Hyy^TzVlzz{{VAw{N9xuwo}HwUdx0}*iPHg~qs z)TF)IB|6pC-KAu^AxW9vNN<*3U3 zKc`Kf*}ivg?@4azO>%({A-M?wLI@^7MNmm1N+eMr3YHg80tpa$mm($f-g^%LmEMa; z3(Z%NCW0s`{=a8-Z^ZZS=YH<&?(FQ$nKS1+=PAGE_namtWqcHiI3VDFzX|6v6p$`A zMSKuwyvk3n_r-O-TJNiQ>WAh>W|7wAFB+WcT?Bjm4l_s^3dT2B2N|Clx10`5IhC;q zo##%Aa~opSYdjb}r0I?N{1$Ux>|GtJt;|di9HMqbT)diTV5k+L#+W8A2LL(saxx#J z`jQ~MoTLu0LRSRpQYsf163q#cVU#IsdWBJu+b?NOdM80}Ith6FrU7w|YX`*DLc)v{t^?z4;GyFC}cruG)9)V zB@vfN|7u*MzAjyz1Xm^D?Ua%bw?z8(NL-f-Z$>DDd3A2i+%C-Tl0fG#iuGR;@ktUq zK;c0$@#Y1Pt3N4PKajf1C4b{qMO4dg^`mPjsYdCJdvf0ELTyas*`!y6^YHmx z^r4`@ckb$3FiJd|^4wJRK<^SE&+Umc^a|Id;?F|;MVLcVj?cYBB!OWe`^nbx#b21J zf5j_lttI=O0t~3YU95U!SmKklnbJ1Lz(mb?Omv(nJsRhK(pqI8FuJFfay5Kiy;^vYHCn{d!jdu0it$YxeRgnr4N*kU`WeV@>|mho040u1YEaS4`g(k>%oerZmQCy zK`)z2?x2`d92D%`(fKQF?K?K9Kg&j2qc4f&kR!rZRy{B8ou60tf3C?#CCT?}qaT;0 zmvZPRJhPO+qpz3l6RCJQRlawgu$c=v^}AGjoY$Y`-A-t|t#VPHe2)^0cbuQfn@QfP z3yf}3;PkL%Zm!=RF?#WByy*(g6P+ZXy-zHyydw09Q$ScYGVEM(mQ<5y(ak$La)z@) zXE#^o=5pE1#m?21z2p6n=AA9lwR!O_Ez~0|T$K~Y7xXCw^nFLnaP$n?$Oz&J1QJ-y z>enDxq=UF_cE99(Ni>%ws3~)oC?7x+ z`9Gfia|ubqmhi|I7bAu!^F>I{*Y0cY|?ab02Ipt}{-o`KO>d+?|62WJ6Z8_UtJ{TdN7 zw488K(ay|z2fPCO(uRG%Nv~wnbpY<&2F?B|Dje2D_^A3z;dtV2r`U?eFLBkanamkq zGJ_mF!!=D*AV~~n8V?XpQ7l_L#FT}uCC z?@kO)%6}9vQjX;YX9#EF%w48+8`4Z+Fv&i{Yr?v~)wqySM9okdajPFD%~7<% zO_EYcq=ij)dsF7S9V_1ua#US9GN~{t{nXPObSl1mHM(?O(7E%DRn=yyIdo)yPTYD)0tIg@xeQ{ zEsFWSQaBrgHS6M8?wnrGhSYzP36l;~S50o+HXMJo?HkZvx(M+IH^Z)^W$}uWBIl-E zU-Q4p>teM)&sE!37si#;WAR2|xLefW%|`u(yM=gO^fKHA_?OVF#YDApn077!W($kJ z`HSM)m0<1>uV?+mt5Xf?z_g`T$t66Yl{(w@?%VGy9;VVy+h}i0JUSk8q;!6Tp_VZ3 zs;PC?Y)Ip)EBVglF(V)f!D2P=gEs&ch-xxbskd1JV_cQ_uEWHR3iT{)m1CJ z!)$=2n)tZlQ)u6#)z z+~h2t-v^YvtvTsQP4>>Z{qjj~sOWxJfW#k2$ycRqHreUF19{>& zU&gU}DBkh<6nc;DnorYXN>B9|v=+>8>-lpb&g(6xGM_87&#Ho5Q#*NvgP?^sZLL|d zn4H>kKy?maR3-x~(v^;sflIJRS z9l`_yhXTS4$>?ude@0#9JtYyNqZ3h6lGfs2Ht}C{rFIBLB zG{GR79c6gqbh0ZwnpRqv9o$GZFdwl4Q!X83E0&hX&Rsm6n=W$G&%q2!x*W+{f70?C zqkdr;H~f38?o%U0dMFO?H|?Ho)HqvqOzKit!3jrl2AsuSOA|1|T(EG6sea2B;494lqTEjeEGCHjlzU|{bnlNYL zbY8b*6jmnyn_JRczav;WQnJj?xqftnQ3P0)fN45KxR10(tD#9rzN&TwgtDi;Gz1H&WAC1l zyS|h^wVkK-OrV|&A?SY?Vv(`c`>QYkqyJzNeK6M6S6()^BVlbFOf2R_0V0Y>f1ubNWIpF3`zm zITr)~F{}G?>OOo1LBv|eXLCtvf443&mqg}W`^#iwp!ib0L0UQ17f?fDcv<{i%I*+2 zKEVTmu1{-ZQ1p>s^IJ&~O)pc?m4qu&zxmj(?Ko7DDDdoS$s4*{JQg2!QZ5wyqIb)~-0(D_`kR$>kHR-!L`;evOyELYX&h z3dA$fyvGUEg}V_??N7D|qe6cHqg@tex;{~^LaTSOj!!|P>YH2TO|AaTt?H)Mgq6ov z;Ybf>y<|?5@+sfHgcOJZPv~jCKilHaIob1m?xB`xa{)Q0-Yc$r-ew6Bt-Tb8f$if@ z4Rxc58^0!e#_dL9$8GL$lRjm{lXiXk{{vhmi}rGSHg@Z$I1NQlk`()a^8e_IcL0{M zvZL$zk^cu@yq$ffP~gW3Vu<75@J=o(Lj?LmO`Y!tV8Lh=zp|tCm#tBhy8mbjN)btfP8^Ge>`z{6l^?XKH(JG;_R|}!(HX*Q`uX3$)`y#! zZ4a|qb498(Hu8dw>99*C`2TtGJt>b<3R=jW$TjnJ*KZ1S6{RR`KF}WWqgL@t?2fM@ zJtmWQ=3*He)r&Cb!_)Nn3TNE_2Zn%UfWnbcrN3wk3zN{nnw)Q@OkR7~Rq7~QJ`oi96W3(&`h*7&^fkYGC32lQGBP=FwzPa2iKTU5jOj)FKI%De#VygtQ zBcNI$))?e9`DJ=}5(#oU+7hRbT3pKaH+ZPPqP?~YvZ%`@iRYx44hDcm4;S@b;A}&Az3wyVUGg`jPr!`%lsz3-}@$sGI}4vTvgO z!6W=s{A_H+|Bl#eY+T%_secq`@q_iDf?%*XRFn=8Evtk&xOt6;R*UlCB05aeSnQ7w z#iImeIBlBN(Lx*}N=J)mtxa7)9NXo5mLj^p&zTd3Z5pht<4P52UmbR`q~7$Lm~&1Vjr1wUjIi(;E+ zmi9yRvnDOd?&mFr==4aQ7@3nIcN#M7=}?_%F-1B$GK`K1#nHGV|BJx-$mT(h zgI{mw@cqEMIS@Am-mQVx7eG=(wXeROR|B(=QVA?D%DfnOkhvmC0`DEz1ELFJuKG?S z--?L;Q`*ET{x65oMoXOf|HG8>+CS5{%hAN^#?!G`1=QKHAA>;5)4SJEUfl{Q=BkZo zg;O(F65%vpNeb#KaB&1n8j~q%1N4a_H#du3pFjo05?W774M{|f0C<6Bf(NaF6yf^u z9i70y;P+jOmu*ay4h{LYojiARI7T?f<-}or-N1Pd%n2+WpcC&5Nm~oWqoMaiDE=6D z00bj^-yrkgQqyh3LBz9R_)>^3i!)Oqz;VF2TJr^x1%_M$oi-O-8q?FG8bZlAV7~JZ z7OKJSw?h!Kn5z|Sm!Leuu+5yzF(cW7GsI${tcT&gx`!b*v(q^M_sN^^O_O*S8lQL* zL!9M=Q~6$8!~`O=L4vgOEkGG}9>s)8xe25S)%zSL0;xiajxN3M(B1>yXIluux9Z(GAyRBF<6PH91Y*AmnT&)Ypl+@Ldyn6`888 zZSuQy1A2JxnKWr(N48BDRGkA@d?;9n*MVlC`1sT{@?g2ASSxlsm!@xWpyp!PGj3Dn zG@di$U#C3E8q4gpUYx7zx1Wb0OXN83#bTRyPA^VwJOcPiC~t_4fg6YTyahwq+hnEV zbEsq7MLrKuJT2qrc;{`sNp#$nIgAE2899mCUGL^N7t;W;F6=|iZ^`vU*H+mUe-ViH z1CZJq@Yf`6MD~}>!=Wb==9^4`Nq|)B%#a@SC&?;+a2f(uR;t5467@Y@hgE$JC;W;y z7x%ycUHg0cVWH2Ar)`#Px68J$RI+E<4tn0s`&+DU$9|KY4QRV)wSU&$;RfxOk%fV8 zodVaBwqm2?Weu&HHTo}yF?lk&s(3p4{wXK{#gQ4;@&h(PROz%CwZE~{F*e(RddaCF zDg^%+9&kh1$-1 ziAh9c8*B&SBTkAyWaGj#kZLr&Ne6>~ z;V?#*c*$H0t(`m)Afg55fG;}N02EKTRD>z_+bgB2*JHtJUpR3FB@OOdvUK~VG45XfOGIHLlR4} zC5cFY)xbX+zXlap&=VYLPL8SKKs?E-Z&T%RiOH1s2E?|JHT?Q6}Z&>)|ry6Rx&=(3bbl zsF^>HD}-rc(TY}aY^wHy`4>c_6$$Y?rt}>++Pz-Nu~um z`11f_(kPrCi(-3S zuPy$cN_Y}Szjax!SeYT%SH%5jBLz0@MG(RD4Oe6gZfVCLbK7r33059%6|va4 zm5#|1&fwXS!o;w&xLj1_%)=eKrL49B(o4YbNKkF2{yOCrGEMFU$q7gz9D8twGk6oE zoIcSG-3tqDj-c~+$}+%@#`G*fj?Cl|RU9rdOKCQu!=gv1_K-9e+czz@r(}t}KP4|n z%-4PO#kOA^D)oGYoAf8n;35{;KIh`dKE*2qKDhaE%X%7I{#2#bD;=BjjP+;T9uyu{ z`Vo9mIC&lM6G#7ql~32x(|Vw}3^M1FO|H*nH?!~)xxfmz!QaYN!aI0|^ITM%VkW`j zExZ2nuShI_-q06B-i1-@v$%X=lT2NmA>Ou>Pi@MmSxW@+x0HD!lw|vCqqr8VEWP%D z_>Hn}I-S8X=3DOyy{pJZOUg9J*v0a->TJo@>9^)r`(%XEmeMtT;R8h;BBHYql@%bIy;c zPj{c^-S73jFCjV=|75ueFh1u&{~+%JF74(%k_b}mzu>D!AV)!GyTgy}rZNxSw-KE! zyv~U0k(jVue=7ZdNrPipu>yCxues__FFwTc4)@S|{A98^+Rb0>0>mhIRXX!7FSp*y zcbf6$Vb46_Q4ND9Ov1$k7C3c}=dXvQO+D6tD4)rt$?F8;e0tnn3D zK;nXcxoi#(%(*n(zdDqcgftyTkGhs65Y6x0AUZz~=lyqpx=CMGz^iZvYX24G9&eE! z^$GTij9h0Az^WHZNuY3&yH*5zTh!y#D$@PbUwO)99q!=mUAQc;C_tu2K&{iI%;2R{cwE=M47M9fzox zrO}l!A^tfRG-}U;!{qFQVdBr4z@P~WO|#R+;0qXh?aS>Tiwdh`_GK;GLb10Y>51ie zk-RxlH$-*cD^ZQBZ9V}WUQb>e$qOR)+DPI5f!U<*GQ_bl+o9kh+|pOxL#Bu zTkg{26&ze>X3{SMmyCio7!@j&BdrR*A(D4k75;u;drp z9*03T4zuU@A)cj}u@s$^ri;{e{t{{#|h! z`+ch=&hcjwHYHXgPR*|NND@zn%j%C-{)8VUont$IYD%I~ z#xmEwT|NK3MDZeAV2rHqoRd{@5*k0>m+ua~QT=^|z^cZK5VD7413Tkpu zK58C4q9y#q=8f!vmH=1~<9g-SIM{avdnelXi#uVKb5ySPkcQFmdmc~@m@_)bzw7pV z(=PP0^nk5#*V`~GW@YCZ%uQn0fhX>F26u5bge){=Md%i`9Cn$jvnSPa zEe1xCxtZk%uM?RX(&h~QO2CogU*;CCb^#WFT_8G0LJf3gFb&cs8Q$W0x4X@r8{_6h zI3@w!q3g3qAs$AUYdv~8(-O|8pLDlLbja1xSp#qg96Aqx$m(vSvhAV1N!8@yEBFQ4 zQ7nT|QLnd)npBveropMUyPD>ILCt7_!7la-JLYX*w=N&nX7NudWmf88$+PH`&A9ac zitM@#O<-cC56nZ`860Z&I?fZ$jUX*Bfza5Y_PHSOt_B@fsP>}&0FZ;kwVm-mu8W(r zZdzg1XKVd7@=J0`U8klZlK!GvWc6%Ma85h@ua!5Bu#BGUUt_2Ldf9!Coa_wFY4YBEsDj8GOwwM(g~F zS-{G^WHMY(uRS)5%CF4egUML>;-mYwCj z!h0{*=ZlNd_{vmVSFV0&ybY@h96Q+${vWTq`6GeH(qR^I>SD%w|SJ;58ICg>W=;i zu^cfGUMf-rft*{%!500~W6~+B5m>{m%oqA+#9J>NMxhmE=96NMw~afOHP=?P(`twE z{B%b#e`ICsS=nkl@n(@Q6YX=4;~Dd4e19Mx+0d zhVOg+N1ps!8h~85KarOJ?5|uJ$%~@o;wZWxN-vC*>s^sg$rF<9ZBh6@$l4j?$89?z zmGI}Y=1h|$a!nW4!46~hp*vj*G6WB3yb^J3xX$^@F#m4aCn z)bt7}wVFL5)Y_Lf50G`&FxYyjKG|c2UJDKrhwY)@(Vq7TPh{If z=H(F#rk1s-JSd$AHj#fE}J+sIL?=M)L@npx8yxWig#tqtoQmr1U}|_$}42K%5jy z10zG=W!GYF;gqAU&srhQk=z?IBUNu<-uB?9n8Df)1qj$D%JhLZk4Q*(88n&3d&pe` zayr^#35;BO3718oheJx$pz^VB2In%VNGmj?Jhp%?LMT|VfS!pPH4A?7>c3mlAJoLh z_FnWyHC(e_f{ol-4p{7L>ym0=Ca7K)ORx~%lFliufTS!si^<|*aRC$N^lmS`AOp)= z++=Bs>*~mTbfM!AHM^Hcg}t?Js81Saotd5WNU;Qq{ZrxminF%b=pM0g8ekjSPGus{ z+?yuM3t5iy3i*TjRM}3RUq98#`_#Tn_f=xj!K0nQ*>(GMd4D$S-?bV=xNExHnwQ=R znf-sCq8;=y%5EUwS^cD>vwBDvn(ve>sYh~Hs~y|_Xphl|EVE6~2M^*BQ6hHI?e};s zrUD<8RIgU-kXlz3Ujbtb>Y9gz0ylbB@pQAD5r+rqnzC3;D35jQZSwR>lI^=C`5tK{ zUh=@j+W*$DHK=DMto*aAcg?`T?atuVjjpL1O;3KlYZf`bqf3I3F1fF) zZ>2mAEe~!j(&ER7 zSL7KWJMn$}#1Eu9}_O9YPCC3vEeKccFRgFzT2&>wiZl7Fruo~=NLsr_dv5tdE6 zJ^T40eWhKz+@1-M-?j_j7hLGQ4u9LNM!M=>89UbywM$pQxJC(;KDkIu2MNg$MbPwX z7%$_Qzp)}=4EqG)Ihz9nxhC0ed2E%2u+!#8-63aBrsoP6SC(&!enr#af z*njJje&_B^N(5mN07E-tq~(8U7a!MK{$aad$k6h`JK@$gC~GDCt$J1%3B1-mvsXst zY3FJ3KIqS$*wWwHxL@Q97PE&FE|=}blI(VfuAX_;Efp@$+2-sze!1zgM7;6V(G1gB za^CJPUQyH6*2GmcWZbnid1QyF6YHMYA&zbBc|__5&}r&lQd(SyUv}E=J}W5O2XJZ4 zytgB3bVkh^AGRVoYK3`i$Dn_cU;Q;SM#uRgB@2IO^UN^T80aXJE@y({Pxw8y;s~}= zE^}>;hb+8_G>kYO<$(1$gITN7T&Fd5;zHuA>%sB;=d1}CSMjOyF&?G3qQmyt>)n>C z*e-ml#Muqh-R|{)tm`jD3)3AOo1LtjZLK%1uQ9!Qv(eo7-$(N{&b2*2_ET|km+gR) zdT<^;m|gbJ9;>=H<8x(^c)m^jwyg-&QE*YSKBrln4WmzRPIKNZoz|Q`vss)$sV+M1 z%I1jDk=dCTx$C>dJ>A*Jy|Y`K(P{7HsUDlu9~QQUiz<+v{MO*T+J=}eV!n^fhHp6=zQZIq^x?M`aW3l3MsDYS8M)hJ{k8HvQ5ScXJYaCEMt{`B z-466qeIe*xKH0gs*G9uoIRtK)6I=A!7I8!ix40InkkYx`bWM0^uegG!4i!zZ6(Bv+ z_@^0tsi98OTlU_pc>j3|1*(Xh5v*;ACV#F*J^Byhq@BWWKalhBKQ(TS#7AeV|0B#c zrw9g=LX0NlI1{tGVId6fK9gy^8vb;H%{XPFLd7}M5*w6hkUr?XlgLJhY3&YNbeZ@9I9YD7!h|@&1xGcBg ztsd?wWi)N*75DaLqv?DbC`+H{gK+lPPIE%1c)=cHW#!Gi;-=3X6W`AInjrn~pYW!AyO4^FfFoD|k% zy z=bjlA4M6^lw?zD_$L_d!RMbiM?hX4PIdfE035E+_9SliYsH+A~XTXwkg}g%xc2c7r zQQQrhnlKTj2%NWgc$=W>MD@UjJIwAwUg_SNHcb2ITaC3~8~`(<;zxFB{0 zhqKFcWZMbOXQSbOq*R*)IKWMDM4#=lyGNJmOYf_;74h#!2c$6-BjU4jS)#f?-|%*r z@e`|#>?(CTYWRPx;V2d!Ef!31mffnHH;JG3x@L%azzDwMuEl4cwl0TBW$vv>Z`9LK} z2FZ5WAgQth#Zf1WwgL2TRqmxZ#m`qV3~yc8D)Z-Vl$YyQtsD0P%Ir1XoM_&cGo57@ zMb0B$OP;K&he}?rLtagJn&_l`1E7Dv*-EKo|i{u>X*9teu!ku!+U(_Fuf%jci z@|EYM|9~{T)mM$T(ZmB`>){CU4`)D@*k}r}CdM0nNTs1;4kn2#h z9t+jeN`DKs)?eD9z-7ZBEf~jCN&BmPp5XTq`4t>fRzvS2bveSovCMp=h~wQZmwSo;ux&@p0?okDr2W5ex8VrA~ zMA{|p_Y>qgeY|~K>*Q_fT!==Oy+jF3LFuHjI3G`%75*q-Hmb3PqnRexi~$Ndr%>L%B7z-+4u^&k-x^}BwcrC+o zB&eXlOkN|APp1gcBU{x(cXv35^m5b5@4DQnc5b)mn);(>y~NF6J}o96s$!7$0ggvO z;}E!BN7xorKFNb#} z?iK`0ldhJ|a#z~9c~>H;UKpj6bF~Y2*Y=$}m%&oDjk0Y@iq5jiX36FiGVqr>4+I1t zd@(v1TNwz(7OO$Y79(@RB$q~;oFZ#8r^q+;*m}*z(->M6^0$d5h~-&A$a?)-eUHum zctSs#G~Vpncs*7!pnC!)L@+uZ*vxG|EuWN^34-zCFWWb`r_ZY)UE zjWT>gnrCEEF?ZP|@I^1V*;Q?7vHw4TU5SaqF>ROn+ZxmHVh~=Rq!5|D7}Us5ctTYk zMiiAFQuO|PN^ z{RaZSoO9I^%ABD{;f}NY6`wj4jc>LC%x+FrW>%1=0@Ms#iEaKn(yUf~i~s8|cRn4a zYDCB5U=4}e$-6RqPp0omxkhnIqui5K({ajUu{}kFCo8J8e^0J}rW{&|B85Br%fhD1 zLvvZ!(qDTb%yn%Ls!hgk+s=AThObMu@~^gUM!822MD%rZsPYa`W~~a3z^*GCCj1F7 zSz!d!%UawDbl!2^QTm&tB>s`&A6iml>@;b1bpId;UU6VMNm94sq`b!FuOVo~5}daQ zr_Mx;nv8Fu3+rqNg}wu>f6ca@WSSbC!Q^u~Tq~#jywUx@KDym=RxmQ(H zNuhh|1Ar=Te`sEm#*WeCR$9e;1Y&ftWn`{fezknIAl!}VXux3b}-EmFhEs40B zy?4ixoP2mxmFh{q{FLwh%hwZ2PvO*5hXwxHz-^%4)P4d*D)rfMaF%6_VevtS!gWhLE~acG*&mESfE~p!J|eEI#o_JgbhoHBPZo}h z)1zWi{O|CS>;3rOz^FA@)Z$4Ye=X&{b(yo7dKrusBnYJ!B)nl_e-ze@M(HifNncCROBOzo72^s2$SVX))@sEB@ls*CU zTNbC{a}nQl9s$dZ*uE?-Uv672YH%imtCOy3ew7uJha}12N${sQ$ohmO?4$&r{(V7l zL!hq-{OiGKcOH_I`1Z~qC;Z!j!tDWEBk|=y`zNut5l4==C`cYx0fOTO?Y)$!a|3aQ zc3(-{;}c!g--=&JlJR}g#le50?y2jf4?yA^Tn2HvE-CRdj@3xwv)>Q z28g!WRSUo)t5!f+P@)&vsui@x#YmG_J`GS$3}1K?)M}dbsU3JHAv08titlx*4%}D3 zd4RO*xO0mxU?L^~HHSXi8;>DteqbEAB{>3;ejh1IliZ2HgoN}xHN~6UIxz{7rj%@G zi;x(+y`JqHIm;d=p&KC(w>Njl3X2FZ2*Qg*$|dFt7uAvI&T=cSH2}ktL1-!+GgUlywaL_x>{sbop>`(kM!Jn8IAjMN*2XBM%NBR}dd!+$xh@KVgUJFMa0!f}I%1OJFU8)(5 zrtn)_sx^;RV?Y(?7!A>bi_fA*vPp9f$st2SyQdVOvw;Noh#3F(}Yc-U* zM7Zt}-UfV}V%Jo*G@F((g>Kbi!q538d$Mu-=P@^>_?|3T3DY=laJ1IPX!T3Wd|kZ7 zC{+F>=G!pOVLGWvW?~baN62J3Nr8*;mFH`xlR9Os!1@WL{=w%OX;1cH8fLIW1pG_*K1hZI%#~y0X{5u%%Pv#U#R&W z4=n>RM9?cYj!C|l-^R?x6lpX57SdfU!ey|kEeYrP-~A$1;HJ5HTWA%{9pr01#!%hy zlc(n4&jZ(zOpq1UjJgE440JM40i-YUl^a(~OCYBbsRJ7oJq9$Eq06wJ)dDqlTICm3 z(X;)*Z*VL(0%9mQYJiI06D*73jEPm<4lE#JV}MSkacn@GQo_*yY$s2WBXNld2}dV$ zBAfHSt(+I{5X=d;F>@@bg4&^NPU0&d#%de6GugyaE%Lr>#cq^K%237aW{aV0KQWw8 zjl<}Kk&*su-5BZLeU+StDO(M-Oht&OXrIE~av!yKf$Xv_7J*&-_AF>QGH&~_aa;Y| zxP6(>1j!vpBr6|mF_?s3^mvy85kplQdzol?h=7{75^*S_X8>(Q_mQ9|)x#1(Gn4@w z@MlRy;a&1Al#0H9Ar~IY2OopI!_S>7$|FMq6xMYjxn2YpiEy1Dn{?9vA#;#v)q2UM z$IlSCT)<#3GD!5z!XvG}K1xoPexFZ{KoQt%eRDFR`;dk`?-0F};O83ek-+=t#Q4 zI+#yd!T~sIYV_Lx-EA><3s;~djd!MySn;8P?~iO*>!bH0Sf~iRu_7OAiK$xTQb^J* zzaLG`e%Q55X1-X4TQO+2ozAy`!_UXP?xOba1TDhEW9uFDCJ; z;eai_s_G#c-mJD~IPCB2Pn_ix3^7?{I0FVpaj~AnOAHzIaaVE&(SMR8FxFd+Gv+iK zSi@65$8qy96Rs(W{vAAClc{DH5j)fsGpw8ev7@Ey9OBlR#r9Ye`)5sBC3ZTPCY>NY zZNy#%jz?qu_81Nl_!%d#`f45!=pa;M0C=jCz${G@gyOk!L5xGR*w49va4aedN{cO( zbdD%~$LtfMLaT|Tsyj=JC-GuS(pS)8O7pGac9_msVgM0K2Y@6aKuL_9>XJ!w8w z1}nVT%rP?y!}i#}DfOu;{7p3_C|BCl$l$TxZVffe*FyM%J>(8fk~dXygGM{a*|LNU z4P&*oO8@VLd_mxY=&pwZ3Thg*>;1%DAYl{*g5ZRgnzlT0x#j?@ti;f*=SeAUAM0$auQ`0!4h0AX?cvB{`%5 zdWQBX(8nk$*o02FA-Wt}f*sYlyF%2{I#yab$d2DB8S4!qV~#L4sb~5uhltrwpLFdKh>8szNoA_ zDeC5-e~kvGp%bJD%QQ7EVYMa^fd{Dz{nXD8<)mPWt)&3`R9G&QLTX)dT&qtR2o$uo zptaDWyVE`%hTRXt0^t3z{=iXUOc>=_3+0@#nqyZTEBmud1lWqXVsI$iwmN%Z&d4>Z)R-U!x@jeU zHiIj%MjS*f3HBECF_h&I)S+`uwSv!Hez)xMOW&@irnWEP@+&W`f9Two>mR3`=eRzE zI*i2BMKD{anBT^5%dwZz1we z)DHRcxO8+ZPqLz*{)>}iy(KMSi$x;+C&(G|9)^Zd#9jXT z!aZJAe~$A$Ek@75t}?Rh5Qcc3po-vpntx|c5|tP;SoN%AuyK+TN3Q8!E6u5HTFTU!|FGY zEGRldT?}Nh^)Gab;O)gh-v3~t`LWI)q77qEsJ~-@!b|fHlIa5LPb|6>a%)B&5TP%) zw7e$6w5y2&Ng(zf_W zOUrN8!p#g|?OxmB@UJdvOMM-%*l&mfSO|LLj__;M>eiOQ_^#&xVQ5G%AuV~P_VWnZNJ#KUQ_r1pj54<%zXt1)MrP+GC&OdU5ZFhx5geH{Fj@@ONmPyilqOB-;R=$Z@jw0vWB$ z@4NklGQ2>}bq)`Twdxc#nJjHWd1?$&Zvg)7l2uzRKYfer$ze?cAu-)%R4@xlldegm zJ1U|w-fN!v%#-(eTAJG<#X{zqH)4#=(A;SAO^*rkM+adq`Y(U7M|Z;pp;a5*)f=7X zh0l2L%uRUKS2H~85B2`?ae)gsL$T)NyXc3{TA79B&cHKh;249ryJ4;ny`+KVBWnjj zoNc|Z(0jmvO>YdIUH3)1Gi%P!;K-25ug0#EaFF(0E34PY{xx#kYUyQzY_9WCh%rx) z9#_II2!E7ia+Ifz^x(G4bFGs+eXOUB^K5x~6kF6sb4FObGz>hSb&FdWTDTo-No*rz6%v@kZFPoj$2U>rdCzII}Va~ zuW>{5^~B!HwX%4PEM6=1HF9s~A7K$%6kH=IkA-XuaZgy>5EkzZ^@gxOx@(nAcbhiR zNnVU(<4UA>Mz$8jAQ^!c!@9R4-;~bK4kP_U4>19^$tK{y=iW0J$2wO>YGOd~E4Nlo ztA21I2`co}GoE_dQ}ylVr>5->I7-=WXV!b>NWU>%#iw>Rcul2m zDsr;2EQpO1J}{NIwCPsw&TjPvp${c4QFmkWwZ0+ zvl4gQcJ;{#SG=$(YLihZP7}Z!*xy7R&(RFCS&~H*hZ0Lx?9F$qyO63zXH~?hMR|IW zMW(*v;)?jBAU`dzlu;X-Bd)HfrwhR|?68Aw;phd7nx(}h7$RSD&Tq0th;_2T_4e;U zhr&9Zo6HQ5`PrQ=+&24J9haL`quSaTYQifs3ni-Dcvt{YtRH#LR+;~Hl}9#yPjb_+ zMs99udcy?2GaYFK4hFXdQX(YFg!Qax2ED2*lG1Uk$AdLTUVC1q~`XtS&HXD zG8XddsKZ0PD@Ty{c~Tm_T8>^Xn+|tDLvknL-mJj{nlV-`#mQ)9M0G09CiCTG6$tG30v=q07lUVd0+F+ZNi~w}^(9NGl-;cr^+3o3 z1wT)(HT}{J9&o9``|E1qk!n6McU8^X)t&KK4q4WpwrJAkL}?nUYr_1n{&sk>_L2+j z-X^`Jyig!9B5^>ynYg5stzyR6?W0;bo56)+%{|z2epOpC@^}{51oQ1_2pSYqZ=-xs zS^(T4XK4F25BzSm^>q>oTY9SfcZJ^i5Q$uUfV4Jf5M>RRMk~1*WAXH~BL;%e3+vOe z1iytX|GXQkAMwuAV}B28QM=qq+@D>}dgH2sGuvyfldn+@T;!%YL)R#0LragIEW^#C z{=7%IRpP)n7(+9$G~nyQMIoGK-Klw<&g7;oGOC2ZXuD!p$-=tOlH1!$4VcZ`OE^7` z;9A@Y*C5;yYw@qF?fYX=#}JILHjM+BIT1$|VNpPcY3+m*suprzsO$$K2XRo$!lWOFzQjqnOtzLIcZK+;Gw zfiCpLquj^+P|R4Se*1nFZ7p7fXWY=DlZEM-K&Kq5t#GT>n zdJp$Qi09qNZry&btZtCzURiIE`xsZwBVJ3Id&giQ%FqTAI*}#b*-Qf-nzI*LP5t_= zS=Jb7KlklO0~GrPO6z!M`fZ_ezA1hpHwEm@LMJkR(&6hmcukw9M0ges|4FMA4tl_K zU0!GZVM-saWX%V(9%M>@^2fOQOLK<`?^LyGRN-2v*X)B-_`NE(sN_~sw=%m z<<>);gC`}AtIdmM>P@;R{y}n1y>7GPu?$ysGlr-l70&K zcd6frE}`{kWgDa3B+vHYlDZ?gJmv0x#^&;*DwjG*2`d{%mmvW8tLY; zVQ1|y1PbGB8|<(`9jH@QQ}mvV{(mQ%>0Pi>Og}Ia2sk*Pt{>4K9nGcZ8GgfV_qcd+j^(ESzoyWKmDBvUo>K)v>vY) zOweJdT{(KB7Il zct73LA)jS2z#gPO#{UF-R5R<;IiXsOwJ{wrKye=wK@&9N9x+tQO{0j#3i2Gl-3th7 zS%-jE8ePlk2FajVbeQ%4*)F;`O6z{nha0coA8R89{y;scZLnSiz(rDs;hXIftkCP@ z>A}vdm(@YF1M>&v8ogTYU3HK?P#xqQSU4y>(B%o3gC;s>q5LaxiPEc-_fIKKQlvLh zbXACIJmZRA8LUXh~YHL2V92K(Xx8EyramwHF$Z^L_Ss%|8H zC2a3qp~Z!U-s9n2uKgo~SS!>e=%?azRex)W_U-Ayd?Mpt03$S0#9Dq}j@05YTj~h% zy7*y{o{bWTJh#K|p9o>c`H)CXU4=b@^$b@FYAmw`>To!mJcBf{uyfM8=x0nsFoG}> z0iw^Bs3>Urv>mcGsoG_a?NimQvL1GEzJYZgmrmq0%Zs6)!sMQ8Y!4qilb&99vVh*? zdNGbZ_8NU_=u_LTBYhgvuaf>1{15Q{VCOMa{LFe+^)rG*+P4Ty0c+ELCW8ePlWw|0 zi5oTDbel4JD$>i;kNg2MU0lgNbCnW5Xmmtmz6rTE>WsTYydvBeh1*n&3j3RB=5et= zHrZ^j{Ylg~qEXCtC)KI%w4$NjJKQGgNR|=C{R2E^2Y5=NoG>+|cqtqFOz`2GPLaX5 zM337&&}Z6>IiS8SZJ&*{w#Hz~ZLhO4OX*@ET&H9^`eb_KFIkHy8m#N-cI}O*MnWQ zkwu%;S04_mvf(gQf2BSej^ci;b04{lja0_$$Q=37|vqV&c7$h?kReV-i*|yb|%p#CtCh?=i3t4TT8UI4qPvUW~@23#+qYj%$KYB>jcs- z4|+#*YVvc;xOl$kbi3O4RGlw(Y@>8#IzQMkKfifLJ^w1PV=}+fSqnKSp+VddCX944 zMNhypFPeaNxTBhp%VyY&!`o8H4V%&Oa*8pRSS#)+nf0ak<8EaFCqxvlGV&o0uhN5_dc;c~_JYT}JR^c0Gi!{-?FyWvD7UUj0{?a|xdk@eO#}H4C<%`9T~^zf0^s(v`gk5tSK!YEOl^gh6dvXTrGk)U z%4@^;*Bbu8d>bC3l*J^UYleFBDv?i69_4P%jBa$yoTtz;T|j=Zubf-qQ6**(V?+!8 z7^M$WsY~6ysTiMA)Rz@)Y*y!s_z1=*PjENK5~g-Dta9jf1bV1SO&M=bIdVT|#sFuo zcsb6l{Wj-Kyn8kjony?fC>Xg?EiW3iGPj&_m&u$Xk&S-Gi^pes^8Fl*4|0Gdq{0Zs z_@`cS=0};!IPsksDUCLBY*@=SKJ_WGGBZ|*bF)e(xl(T z;A?OOU@dgZEi5}HkzE257}*3VLraUE1!|JI?eKl{(oSbaFQ+C6D1$;GWB3#*FWXnm zwtdbsIvo{uMpxJ%mAO`neS+^25jaWcW9`Ym&t=2QwRd0k^#-5_^ud8vRk>cf{U{23 zdO!?NtckZagb9ktvB~OO(~^xeq;d!oDEml}Vq5B~Pn|vNr0K#bJ7XrIS`_`Q)p#qk z>+dLhh~WrU*Q@x=Fb~V@GiICD;x~cOHO?#KF8DgR8&{Zjn@Dc8MJ&ua%hVs1iMN-L zEcx*YP(kK*%hVgo#G8#Br|59wGIiCS;$@}rtUN5#J)&|UDzB}9gX$?iSmwXKjBWiG zZ{(O3dkoM!ssAA4UzQ~wFT*utt3F#9Xt(V=de&n>nLP_m#A+bO>=|qz5|mh;Lcobu zbh}FBD-jAfBY@a~LWbDN^5vESRumX;Fan{ z`cJ{@Wn=k}rA>;)7n;lc__FG2;IFa@NT@_#5Y3iquBcz2vwP`a(nDDAVFbjqBnZkM z(;o_NOdS}z?L3tX3@oCY-Dg9Vp0K$`f+UK)vR+tvMm?f)TK(k#vF~JO#$YxpmSyu~ zA=^X^!Xblqj-J5EB+9eJ=idLod4*Jfk{4a)+1Ya=iL~GzP}gBFf(7>f5q2JMQdH^M zuX8GPRdo*2lV^GYX=ZwcFfa@g2$BqpSyx?g)$3k2>E6xZ3WxzjMKK`jnj@m9U}8~G zF$YlB?5eA-;_AAlb(s{KYa~GRvbC_G**TIC>~L z&Rj%YV7uA7{%_x~C?5`-$)iqogYBjoyM`O}EV4(`&^T61wW_$!ockt)4^-o(%~h6i zcB}cjzw+Lr)%%eli+4`+W;D-+V5Eh&0w~Twrh-6sgP^~DD`w-_+cU~Bj9Hc1!t&A0`>!baCL+_4Xbd% zT7X1dOFZaXH;NAW2PTr0Bq5OE04>>N0Oaf)_^~D0<60#LlM>JjLmYp!Q;&|! z1%4s|`whU;!0Li$W^@FR&&_WVw+zRaa6IEg2644m){^nFST-In+ZW3b#O)SK`*_)_ zxBYrM(*W;OtFR-UsA;T>z`Pz}e%VYOTrAdT$^qLI?J`+mhXlqVEU%^cvWWFqu|b@G z!KSXu2Pvos6ILS`CL`<$Z1P?f+J1BecolKoT_g@w&iH!nYlIH?SdWS5qas`^>yMWs zj3Z)zB~(b?s*6(3#%-)GM3f0wQhAS2=JH`UnzishPSJ2-HDQZ~vc619d6Af^&Y$A^ zt&3&hcv)rqOr6smQ)r`=htIUTf|5++@fv@*nOM(n6)rK9S*%cE5_D{3lY>+58{_bQi* ze^zq-1yw`k_b1Kr&Ryc`$~;$l+B_&Y_`t_R>QRw-On8rq`>Do_TQcHBt8kHzTQ9l>JrDf2`ZS4YXVSpeQ=@Rb z2oEt`pMSZST6R^>(C=IUgv9l5w%KAlDuokHz~8M;rkFOy$muG$pv;!Vhte2wtJIPPr%t-4(TvBLS1hq7tDJp2GE1BYkF;D)AUzXioS9<#~?5KGw}}tnm>c%R%fI9H@%ZwU;n1Pmjo1 zfd4`D;&Sn`(%Y@&Kg%)uGs=JFPZu@ZJ}K)_msIdKEaMdbi$r~-d`tS@3J z6eEj28G3z+PJt$7hQ+P1U5qTQ?*}X)1L!VJ7;PuI1$Y;on=vZ**Tr3K01t*sdr zQJ)fm<#w&(g?v`Z8HA?!C}o{QGpjlv3Z2ZYs0Zo%oAUjL!91lemyzLYJa47E#K>So zk?1kQkFw(t2-TvMPHcdZId(oXDiq-kEa(c2Q5`Aae%Iwa@vh20GTwC?J^IZ?aY{{9 zextyp8Ys8oZH?b4<`^rn(nE-&pbqzoq(6JgUI2@HufT~+My`{k+7i+1?Q-~2J!}Rg zz9Np@ieHhl(2Whc^NPj;s%^B=2{A%R2wI{^jblpBm-})48l{-XW3pgnmx-?!V94(Q z&V*N&dkCQ!4u(@}qT)$Snma>ImIo+AX9fOE=upS$v6EeS%Y1-6j7Kn!O*$yy1hT`2~J&5wSime6{QI*K(Q9rdzLUvqy=*RO)7yp%UGi;XK z`LxyO>&qNt7%kS``n&Rn`cXRP7F8&EnfST!5y)(U%t(UmI`2VB=gku}Dr>#Id58`J zy(gbBL5p!~=J(6*Zuxxy)Y>V|*S4>>UwU6vU)SF6r)z|y7S>q*H|DRae^dCi`J41L z!qR`%{KoxtL)X3V*YQnnzspQxTck?0%KNT!fV_x$WB%K&`>rcab@3;@=laUe9J+(v zfY+ItCFhnRBGLD4`GIY|?fIDDpRz=Zc;W<49O`cKB8NqGv%rW~**CJ3*l92KpO(c6 zQHckql=J@-L>y}IzQ-a#P(jVAh>+}Q{o6J%UE8oh@q?m1V$YIj^;5wAW~hXEHH))~ z9#9}AK><#u2Doy_~PMft=wr}tvj8Q23%wI?#5O#MsialXgH?t z2qiZ7u%WBy8M9}xa44Ow!SqzJQ;YD7cefwVg8Yh-AWscc8ngcOVwZq{L$iPjI~Xhn=ia<56XvT`hLy(ngk+0P5(4RunG zyS8is)gonm2>+IB#%^s$vfxgXC?2I0*ZKP*SH&?0vdtQ^i)3>M3Y*x;fV5vT^-JRm z#U>NyM%4M13;R?7bjAFoeYm||ivRL|f=NZ#hzps@f>Sk^TbSaCn1OVZ;hWy5y|**1 z|1NpEZ1XNgSCQor-!uy-UL7nemH0=j7a7=4iYBIv**`KiBYiPbVyb#m1an+rVrY_y z+WUH>(vwFkkvJTfdS0w81qM%)ce2{dPEq(*?B(y7-;2s^b~mj&==bclSA>JLdoIO1 zKEU47rji}Dh?iO;tSg0BP5goUY3lM`CG4whd$A?na>Fl#zW|&i4T=vdwMs;&T7M4T zMDU!AZzu%C0)gxoBPV-Yep*;hmN8Wl>?wK2|?= zVo#DUx+hWV^hjPEG=tcyZqM^j4F^JJ59)8&9Cmp624gEu4NEp4e^}O8(gE`QShXBa zwWs@xWj}AFBhL8xv1E@jC-x$Xw4=ixCE&TH0me946PKi|#G$3^j^>b%gQ5i%;;#+{ zX!wdpr7S>WD)|i)^iePTvuATM=Th3&judx5%|MAl`6?}f(%+%JjDL6-njp9wCr;6u2PMd8UK{VQZ&9~4p9L+fzr9+cw#%a z8I!9ud%dKv+Ey<%Z=$k1@Z;hUt<%o8##0UbI8%p1Dy^qWYFER3qF#w_i*3%B4eRbk zu!Ji8CoQXCcc{Uf3M7$S6ihe1eJ(wx=h8^|dpTuzHoYW_*->M45H)5CV@-gLj8@n1 zQt9;jbNW%n?5o59=KhVmE<-wiF7vU^3&{Ce%r)v(Nb9-Kd_Js|)(fHeVp!`qPC-)F zhqP?;OlGySI}1Ze1Yu)xHya6TmKKY@(sEZZlSLylnA5AP58hS6fFC-*BMy0NwqjMS1a@>swEg10$CgoLyMAjnP_ z@i7VECkXxvF^NZGJJB0DIy%_-!ou9gpX6$?w;3vRZiZo8r%)PPQyUKzhjLHH%wkKk zpFmm=<$Fmd_xk4s`|8uF@$f@+w!MK(|9olt=xCDL)1hYnd<>De|I|pgkjT<8e!Fw!D{x`B!P(?wbIS z@I+ddc;?0UUkJNefg8EPGcWg?dwg?wTs&+=**TMJHR~@Hw1wV^IHgU9h#=DWp#oOu zpJmj~;%}ww&3@)Z>3=0M&sh~OTB9zEdzZxPtpJdQpTTtjqm zQtR`_YYnSI?yA-=-~2UibkbbnVk(M(kHdD1jo-KhH5?WYNI#AtxLjOJWF&9Q?oXyt zXIsWcl;BWGLk>x3`lKbl9ZlUD&5ndJz>+^S&l7T$Fb|7NG$*Ba5oAL8#rAXNMdlH| zlJ51D7OQ8fZq4No}# z1ZCB06z8Bcmu}!+a0;gOKFLI?)7X$1 zkeQfRm`I$Mu$^k@RBvCwf3N23fYpM@uWPdI!{SsrN9V&O9j^`hObqVLmh-KIMI%*O zd%KO(ve2O88K@59P~Q2}hoe+bX!BkpD=7)$RjNI;75_{mK1hgD(rO)D%Fk5fC77`N zE=WG*HVW2Jlqym7H5F77gl-u_cDH_@P2wdR@26S>#?mUJ=>(_BgJFN$)7vZ9bMJ$z z53cdR07C5Rg!u%h$}I$_a;E8m=T&_#8>YPydV>2zEQJ*M5a(DGR5Pr-C;=JyR&VS zrm(Coj@!#r8quESUYR}NjjKd6E`MT{-yP${9Fp&k!)@hxLAw{#jjmS5pQtt;Z4D>| zAchc)67wxE_)+RP8&Y`}Js%UL>!~X#6-9k!yjy`^?0(;Th_k{3rX&D1pC{Eug}_VS zQZw-)rn~Z&k22PR-CE)to(Q#Yetr4I=9O=($~cjbEo2h6de%Bp{nc%)^KyPO;ZTqi>%GWY zPh8JYZfl+AC{3{nvr6Hf)FrP(6xEk6Ij?-lvirYr9+#ZIQs}qv(2Ozvp8{tZ^9nmp zVbtNEL~B4cphd=^lTa~wFyhg02Z{#27!qPS%o{k0^d%G29dOJIB~@eS7y9JiRVVK* z){d5=8b(K*-xz;}Lkd3!S%U6nSJx{H@SNX+X2YuH#MWc2GMS!Kg)hvsI}svD&Rtq0 zaAhc&B&;EIy>2I|;_|WqS_Pm+8k0OpL6XJw@;NCtre=ST4P#^*ic8V$G>c)IX`RFfR25Ve~l?>g3} zj`)n?TaiyOS-tDxu}W`U9FY=SCdC^faz!+`ByKN_+v}q4lR{9G>2V>Bm;TeB%pz|Q zwoa0I`ccgOI4%E`b{~y8TN~Y*n#`M(K=dhc@CzMr5%DUptte*!75=xx!@MgDczntOn-?SazNbe}ocOz8)mq zGcq!Qb{|7xs5HmS>x>lzC^}Q4=wRxbAi8TO3~7l`q7T$NnuKpgRxn6EX-ZAOys1JKE^6F~!H|gF`Z(d>r)xof7=ZQ3c1*nLt1lp1-k0yoVA6%2_tD|8@JAun&zIM*Yo z07Zq!bSVSVH#hKbxTere`^wq{C5=e}Zh)382^H16zz?e-7FE)*a~<&)6rYIRjsb7X zgGnA@Dxg2RGg-{C{~i61$)Cpd7W>rhU3%cwVxC8Y^y}li{4g&*%Bu%tzB)NC{dGQs z?J{q_O&JD?FIha$Urcc;tI2T55KE4{r9xb+@|=^fyTc3pC7313>3n8V@>Vs-X_zTN zb^4(SU&J2W@x-6$C;nW>MWXb$OOX5^PI%aK@_@y%+Y{aPxbD}|vI zR7vTvw~AF>*&h=vzu$>FCWD8xWf#S=l6{R?LwJ@b8peoKaf6v#Z^qBV1sto1 z9uj{iu)hq%X8oim2PcTlW^k8z+}A;}YbS{4M<@d%NJ=tw{w&35CIuc(7xJg7=yJ*$ zX#oT$~5nRu_dP^C{4=7Bb! zRamPSt1T@2Gm$pRQ}39+IC2%4@)Pg+WI zc8;E`a|V3AOqlfxHy2(kbv5~+#U5W2U}z@>E^dy<8w66QK=j*_x=oYK|!>8G;1 zGqwC4E5FyOchYLS^56fz_u92$0ylHH*wx&vb=LsY=g8f9?*@w}z0+h1Ny*?r{Y|p! zLlJx={11iyk;r{0AZ@Wf6ws`2{IFeULjOWf zUg7x<#;UGxg3BHMGRMEv$zA2hD;@hP$GXy~TJ132@_r^lp}Y|exR^gX$!DB+ub=jt zU`&em%S7sHD|o}4Fx;@uKtFC6e-PHqlAJDaxcVeTLY6#9QI+kb(6j9VU!&PdFGt{M z>{YQtJgqHIJM)0DDh{zt(oew*1n$aCTM3d#(}(4f*}cJ`PSBk-bjUoqYW|zz&~|jQ z*2A3djm3Kr?zc)BLn$Y2;@fxD%8D82C4e4wxGutGo&hQ!Wpp{OK&5TF54P4TN{RIX&Oh?Qjd#*d3wibBCJzPZp$>(F$L`a}+SY}m>E%8&; zCG3S@-JwcV)JY}*9~`rs1v$>|O`QEMrrCI|KpxsD0s`og)L4Z!qA~~};ow-xx*P|Q zYKpyhs%CBvXRHdpg<=}5(KOr|M=Gd&m7Fa&!iVM$l;wbDf0g30K_`^y(`oXRg1FZ* z;28y^nvt`fisI96fZQ}PHmv~hhkUUoOGAXcYZMxkw- zU^^shl7eJ4lZ?m_!h%HaQ3RL7KpjWsi6N#g8uKolwWx--ah`{ z&D-|ie^l(J;;-{axzO>~@2QFbb;?PGb~bpT@?ExZhI@takqM_7i3((Db}6ZEMF^yRJQm| zg6FKAE%u9by_{xwpOmA;9#-G5)8|rbiuEeRGQmQdvwsgnl@OYm=K<~Et|8h9Pci@?fNvWYNkEDRC>C4OwpviETs9uGXdV z%n#;?-3gsMx(5_s@l`|4gL~yR@`Nf{s>r3P&iM)2xu`h(C$?;1(U`z=iFy17%og(# zc$Kl*8zMncR;~H5eesW>gQVSTD^*C`Ae{R|P?^0(IL~4%P`YlsTdZ_c7*K=@N&84V zD4a(`S(+>t0J1Xq;T+)W&ecpv(Ku@tyZp2>iRidMo2 z>Xzl6B@RXIsX~|8AIM&YmS)f&q>ZzVe5VoC2ZYw z;M@oY>*lOu-5m&HcZs?79M3r4^)8Xt>0~LWUOa>02l=FmTc2-=g*tA13E869(M-j9 z9768L<#hrq?w52V{<^IU zrOEhw#f`%H8N`CWQ2skLj9@?GD#L;619jlKF0zh}gEZ?de8iDb_+*oKits#7yH#9Z z8bb%`r%lXp`|SST^H5zpxq8q`DOtsX4n+z7bC`f}7YN90AOZqVtwHI(M|qZ~g(5s( z%`?JO=YDP4i>%6#M=-!o5naoK4=LDEKEsuADw?}lS<5V|Cze%(EZQkly+ntqPsaPc zQ>gl1ZupsN>r>hHTJ{<%%<3tIJX8NQ4B=n22YTtDEtcS`0YZcVz(S}ACkC48QVw@|ts`2OYA4BcNi|ppr_-C+m7K(a! zwHe#U7;|MsLTmHQO5LC9!#RU4CXRqGeRhN5Y&Ez?6m6m2x`FtX4Y5YeI~&j zVMSg%7X&W`;)Ni136CLsRz7j6g>G^gkP-J8xE$~YJ#WgjROxYV%*WT|&GmU}T^@eR z)p`G#ytyWCU6Xexw1OxU4=cDz2#d3fZa^8dnS^SKW@E)qbi{dK@f?Ttre=|AZ*;{; z(MZPf-FLu(@t-D*N*B#Kct^xu6S1YTs=BwPrLy;JA+FR6H3XAZM000F#k$bH8DxEO zixb=Ggj*cB6~fN6w+pOD2m*DR~+?Ra8|D?t!ObNGWQP*AI-9vD6bYW3TP$P+I=VKy4Ms2mj$D z_!YR<(g0kfWga~C>h_g`1AGaPP%H}OOy_7NRtHmH{D$^6HpgNhnboQpz^PkSQ9LnS znP#I2HI)3)^PjK|B_xS5qDR!YDMP)xe82gq(!zDC1Q&vS&8iP6izDs~m9*J}ksh;> zV5P-}UZ-sMNNJ0HyC?3%m5S)OIVS!XsHy*KEP@kW%H9mXvxL`LTk8BuXAWVq((}Bg z*|_`VRh9~(DaMSq(1B+%!9zlWL-sCSGnN>C1rb!aK85a&aVw>kkCr??7vb@}P>Id! z#U*krsVYOwW$hz1*B%jVlm)wSM8Rv!7lKAni1)^hh>Q>;>*qAgjj>AC&H-{>wNV+gU)#RHU^Y9XLidW^Ix{Yg&*-@0h<uJHxr3!Nu8bj&Ic-7&&_B38k z5Qq3Oio*IzEIJnGLQQ2Hx)TFl z*Cwq`yvQcTSteABc3?uoaO zI@W8y12}ANSy8|JPVXb#0WHirniY-P^5j;Q%c(SuqV-ZJiGVxTy3h4u3tn^@c9XEm z@Bd*8ohE4C3?sY;gqmG4IL?yQE93~hf34_?^}BjEK`Gh_y*I1R?|1ZGuioy)Ph*?{ zeGVi|oh&v)VF1WBnuXXOuB)?0(8AoE)@8H|lA}ByTCYEo* z7oirTd3rH&%1aU#EmT%i9btUMrC_JB&C8P&*WsZfn}qaD&rR((|L@iL=kXl+{HHVE z3*`76p=HNKpoGf8o)QWb#!&r7qT)ji8V}`CzYc#V)@3SgO=tewmez5Z1!A~r)Kt~2G%IG3^GU7z06`yK7^t%Jft2^{_xpTBV9HYD=ie=xtj(-Ob!CD;LOQfP zu~>D}CsvFF^~a-dYwGA|j;4|Ay2T2{h6+tYerdMiiflqr7Po*k;*F!`WF@yN$|Gm6 znl|V{>HkP1KNQ`@Lkedj#h)_CJ2H+9Xr|N_6IB{;j48^I3^o?>5P-xcd8K!!LP%_t z>v3S@@j4VTdQA?{eBFXX16J#DqP#BG&KapS5$i0OS|JfbkrilM@v8npX(jI}IE@{J zurbB2tF?HlXMOj0WjG@Fbmui5?HO4Y)88wM6;rJ}~VjCmtQioG@~*Ju5UGr?sUaVaRy;2R6RMmsDHy;qsr zly_K>Q|i*0dF$(n)S|qzFdtzHqji>r^KQ!iq4`PY(i~TMDJ!4J+SldmeSKMYG~+y$ zf$jra!*nVh&xB6^`-#4sG2b8yJ!*v)=5v?i6{yoQz#5Zm&>}x3N;(sdqM2!WO3p4a2%fP!R~gQPiwr zX4`giww8d4ldf|zW|KWYp1Txp=M$gh?H{GGnB_`Qr;aS?Rw}yDNN|w2oO!lzAi5gm zwY%>Ke_rG|p)B|+6#aK`bXDOe()mmb{(wb-T4kEeCdp@_E{@YeB`?&E5TmO{ z#oBUX3LT=|?+lBHvDIAx6(0}jrkdEe>?Bmw9w0F??7OFwDzAhAOY-nioVru=qV8*v z5I-Ds8chsJ)~eFrYezJitiMq`AS-brwe-3DBhQkRD`cM@_+Df9KcRg71OqwG1^T_h_m*m^ zcive-)uyrh?ydpuY^6;*k9NuLiCzIQ4P$tyNa|F@qL?tdq?L*=!@|Q=hiWi1%ebgE z=4qTM84pepXBJeq1Ov6N<3&^5-B7FEE*A3;^@CHAy)&YT!C2QIB}S)~Mpva zJ>uquy<$prug`bp@|^^VzV=%hFV?ENte`S1B*afqmo0oA*&q6&Jn^sE1pbIGs)3it z=8@vc>R@$s6V|gTU?^U$Qln>O9Srpk*Se3?iW6$XWwl`_?yXTWV{@G{OU0M^TVL7X zBYE*Kl95>K$_kfYk|o}*4n87>1Q*P2lf8_wN2~c=;t@=Aes_ZY-N!fp!Wm*Z@Yxxu zQR(5)0s$UvHqqK_ieF%!>w*|5P_th^m&igt$ig(kNr;#^h_slhP0LDHp;SSHC}w_` zjv^&MlH(DquJmhy>bX#iCF-LEbu`%`S}P$mQSD9AlKZmKx8D=v|EaunRocDn%n9el z@OdAjTJUd7Z@uR1U5GShS)&eNjdHfHQ9gF)m=Pu`*Ed(deXkcNH$A!&n$`9IWvMpK z*~9p%KIMB4<|23J#GN_k?i{n}o?HxP`CB@={B(VS(KEqmp_wQ)n8@OCrRsqKqp7UR zduqhpHU7WqLr&xMNbll0cdmSvAq9WH<+Q zFV{G))`-8>>{wTPZRX;?wW6>Xz7C0$?M0ue37)MH&+xTxnd)aMxKm}S${yuRvNARm zImMF=!7B|>2dJDcKCDy2&(=nLHI3m3~z7TO`y?V|o8dW|X!uB=wtjSf4091Flw-;+y z&om<6Jm4;f-jJaKc+1V{D=imm&9bw2CGL;W#!!1nsW0nKXUVy(bH-Fgs-{(1RW{-d zmrt)(wXC$@6phmgsZ=~3ZpmBE<1tjT@5MaPJWA#=-M-fMx1f-o77})aDg<9t1b*QO z#DxhukSiRyzmil7%iCPZ5IHJsiM92S8|zi{+$G?sej)!)X*5W5q_ z`V4Q7pR{W{udB&!%S^B*)6?(Qsh(a_u#X%)Jc<88*jXVQ+T{-bV8}svhSCUJ-{cz_ zhJny;*FrxKBhfxXEL*SD9Yero8oW%3>>RsCtq1XC==7uv6pdF3DmhJ8fWY;?K)h}q zr-ga_jO6qte6Qns7m2ct*+D2SvfX2p+OC=AjCY$nnTv_r8j>3uDswoZ-%sEJ9e-La zoLyvfh6&{iiTfcj0Q*>Xk?`&*uo!;PDF4-Hf81yuFR<2qmrR0FniF3YTyV@w8ogzW zIFUYY2)=3%Up82%cso0h^oqElTBq83;tk@Fia8O0uDl9yrm!=wa;zS)#zV;Q_9D)& zNbm4fbWkNALWS8pRjCDToRTM~Hq8LS97v4TL$#_NZ($tCZ(-#tS7fJgeM?M=YZ`;= z8m(&^?duxlwFT$q0%Z~up+EXoT*Xtk7*lGlvVV%Q1rx(iUxOJ&6>%q&4T(BGk)fSE<@#Ip^;MiBSteV_yX{ss_!--ybN$U2%6o{s(#}O0@_$=IHR{ zRJ+jg1w*vl%{}FAE@@W7j=|bFRoiEasV8utCvYQc=>&ekSZAy_#z6z8=jE@+LM+vKfkV#F_L3YImAQ<`>2&XR*r_wDPoffqlc#XY}8 zE^N`WEjeaX5Z3KxKD&)3VxeQT?YSAk)v=8JKb&#J{R#%x* zQoT`LIpc~^9(PMcP29KE+fDAPO)#dB$wQ2tm{D_LQHwZxRNcx^^2(;_HBE@=8w#nF z1-Hg-5~r&@5)x`q`aN+UV}3~L2&H8z?#f!aI)k4>CDFodgkLQciBbWYG0x2;c2i^A z7)o$op1L=TzO?b#C^gu`O)ZIATc9rgLrda<7V(cJe`zyXgr}Oxm%Ay-PZjo5PmFuj zEmK5JDV?yTd@{$lXtc-O`8$=^#?mpV2K((s>(xf_awAi6Tcc?QCycO9 z9^ulFRX{-Vd9h-Y8bN1{Nx`%)P8s2zHbT*7vD`d2LJ8b+##pBps1a#-%L*!u)jGGJ zCHh&YC#ha=UnLLyTRK^`6M)Se+@s~x5=t`xKPn4g6~x<};S##7z6);_dlbqU8Be8J zllX#AmF6#38FAv6F?yT*3Chw;o^LIcg2pH;4Wo}ZhI__H`^=GyZRo#8)1FSF-3nw{ z?X_fgWMsUg9XN-x4vho$+g1u+o-53e)+iM@uz?|z8n?tWwi|652gy)&##C!1t#*!s zQ>LP9L1m09+EQ;8td9%g!vdDkM}_J)3z5GU#9RDD`@B(b{#~%YC{+Bj5c{AY-Y*?} zx8PKRwD@nT|M7;NjM(u-bvfxp$;k=`f0W<2L{!l5tSF+xr?oIqpbrSswVtO|O6sDlnc&QC9{0*b&(B$=PoLh>wM$(C~%i3fWL;0Du;Q2Oj>L_(+ zb6fZq^~Ko6He6Xxs@-s78^iOak@l@4u?4Sb3$JT)J{>8)80p?V(%!@|3ZqpZJXMeT zKn9gJvKn}roS>3Lg5!Eik>8c=%CJCLby9IVFODCh?s8E(>&|WJAwsR(e-an}j-%dx63;5H zTQaBc3Ok&p;N7{;eaMU&CB|q7fU%oali*-v&?FISm64y4MQ;p+#(nKPxluNi7Kr6~ z@n0@x9mlv_F7_zB9eX+uGxT_cU5U@}_09SWlu^9K(+?%xNkKXG(w~h}TdkYd&PnXF zpJvK>dT`ax0b=xSd#c%cve|l~S!`*>KHu7m;_x^9$ZxdcUcRT<-rTI}GLe4-8X}S{ zANl)4_nwL3zKKdLgRJXs-S#2CHjkEfjkY(B77NFyhFbr9``Sa*&yPttxu475Iq&q? z7f<#RQAl$~t1n#CF=F4y9%w^%wy8EgKN7pDg%wl}?8{o5BVAlUVy*rv%J!?x;;-By zgZ`yv=LpAgKOgOWG1_~$CH6#%c)UeNv>t15p6?+o7h#f+?!S6)4=E_gVX1LrhK0sD zozpmIjh5d*Y|Jt*Ci_;^QC0zrTD#yZpyR6ajER$iNpC?eYP+L&**;9YeoZ6*P@<@x zDY+1_-3h?&@_ML^!;nYiMj@}QPGFg_kHfFFG2QGoc^WTQ?>ec`N%|eZ(|L<1(!qm2 z)!V)F_UY20@9IAq^me}9M%iYKq5W9>Bk0OXBZ~bn{6Rp~M(>B_54@_v=;qzMW_f|2 zT5h(v2^%`1{Wes@qw^DBxZ2U5#-m56kYcE?Bzl~VTC?Y3g0(qw`99M zGRnBFn0l<-tYmXO+>>6??w-{i`Ls>x1onGv*88JkCq}{-LjGDDLUVvVy_gkL+y?Kv zdp@WLJPuCexzWvA)85hw`9g>PEQRLNU*#0xle4z&CNEujl3H627i}*7wXOuWa|9N+j0o@W_T+Cfo z3`-}s#J}`-<_3GX+o*<&Cv7Pl!%(CWe!}9!LB5^5eCNiSZa8S22xIIK6Tv+gS~Bb935v zV{i9Sdi*Wtmdi%k$>xOs^M?K`Fvn&gOYWmcQkN2fO;n9mDbeI1e+VEs{5UQC#e3%C zbmDLI&bE3G|4RDZ)nVP-F;OO7Xt#l8+-ExXmrV&x>BpUJc5Vf&7zWK zZ*+xEcIBS#+CGS`>`=q)r7rHNG8s*|aIuu`>1|w>hOr;I`5x$L98Ot`2T|puKz`6+ zk&xhCyAn9@UVV$loMZk(P)%ZJsVtidHohBWDwsRPDyA8Cj7>Qa$~{Fq5HvJHD_LH3$3ttuGzl-+bPJ2nwTu{{R(SLRXA9R@ScYLeQRHIVN~?rE++2ehxD*^rS-)4DMjjGi_Q7qEeLMAJyS{MU+T$R>J`>@Y_P#^EC%v446UX|Vs zmA|up`J(F5E|R{IOLgm^$xT(wI!o5AkjjgyEQ&Gw5(kg|{nYaBCzc1z2trkr1+_-) zurH6KQAQ`JS2HDwSH^B^#?|mYzf|6V&U0xlznTb{5i=Tj{UP7z%KD`eZh~%5s|pIQ?E+nlAj3ghA!`manUy? zxVy;@I_2$M&I7Lec$B<$oO|84jI3BT**s;k^V0D57Fv~ej(0bWH}w{;B5v$vH1LJ- z)Z)0fKa4)mrC97pW_Vdd-w?J}`HC5QKF+(S%X?8Kc=m-Ny0)`^YubIKM&2-9FVQuB zu4%wk^jq&f(|bWie}YKeGTuIaLc7y0M}Ybsry5GH&DV`X89!mHy7_0vdaomfqki_3 zan3Rd=!i>O^?fAteFT3WEB-M2#n1R+m4h?>YJFsNcUH>JMD$bT**m^Fb7HqwC*B;d z1!}jl5hFQq(>QgJce^Jb-dX1#9D&zzVZ40q<>NsW%E;)6p?8X~-yTP}>8kPa!||%= z*0j6py2JI|T`wS_jlS4bW)!k1buuc#Q$sqyyHE?cJ`NrA58kfBoIHWjT56$}~ zWX}?*BQPgU5Xl3R4^AN9GZ?7IY7Z<)o5$PvWR_H<`@6h#f?K+ItXwH)*EB8S1TBJiCg)vjVd#0PwOiI#$4PgtjQ)uk^Q>mjRH}I z>+BJ%dUv8X=$>toYkQ^$N64j8?kTqjv8M%fhKrrzJPCbp)WY&djLH zX<`hQ=~SvDX=g+Rfpb!}PpPND%2MuiwYF($DdNRaSsB#fX{&DIuibe?^BIWey-3`* z8^<@Jn6%_oxM5Ufhu0n*OUR-qyE*kZImw+kX0q86<9O>7x7X}<`?&s_q96-Ssg@!#ye3xT~4t|gA;hq1H zIWqEn_WrZ#hirc|c#QIj@vZ;b|5yB88Jt4?+WqhF_mvAo^tkRtB8PxmAl&0-Ef#gh z3!pUN396iuf06*C9$6yt%g{lSr;6Ni-orCQ?ko|k5b%+dPkf%3cmcVX&L0F`UHcDW z#6=>!P*jo+f3XmkFjC5n%F9JQ-(L}5Ej+OJSBZ)%1@wm?jg>ah zW)Ztdh?{r(_BK(xLwL6fu~FpyBvPA(e|L|Nn}vOkXnsI=_lwGhMC?H!9@_D{M@185 zk!A3>@SaA^vY#Y>Nx095f#-+s{x2f^s=E7^g?vTWFN@~aMf5dM`Gz1ADBjp{rnf}* zJL>uWA!6?h|Mo-C^07MhZ}EfK;d&8}d3vJ|H;Cq0EnlfzZ{d8+AeH{tqIt3Oj+d1u z%Ge1K=kNA5Spp4}Hhb%}4*x^FEpa$0DgzuL2mTL@s#mKJjmFX*xa^!@TT#AU4Bjo4 zta~aL{Ie)e?Pg_sV1iuHt;G8y9rE}|?&3*Qpt*U1dD8@mj>$BW;{J}3qkhCQTPpmdXOTO30gK;dVo#hNpYu&t!@<$S>>H< z`Td9G_l_+p=vvzs^k=t;mNx~ELGyBHULpNAg}Y5yZ-PTb1AR{PW%{!ymlv7F2A(pw zbV6|51agMDHEqmvX@N?mP`Uo z^V7t!6IMNq zx97X}O|%~M;nDuQ&HbV+@p+qL#YOfo`-u3V`b&q{PWC$$pR@(%KvajY1W%X0whP{J z(~hQ>wnrar_m)qx(=p+kJqZKtUDJ9GP66|rGGos+gkLRjn=GMn6C5#pf-OlY}E58J3P@Fk!(!T9gcTYZBEp$#DDu0ktn{b1rSOu4+qO-bO~}4Q<<rN1@iAl7J{-hWNjKSTe z!>A48>*sIX}h zD|HEj|BBe>*UFD;beR9WZ)rO*8gLVe^Cz@lN20qH6CATv{z2HfA2e~(|f!#l}~s@k9}5; zT+w5$>X9e)I7@r1B|SS7vSH{5p5_O}0gAk-$G){k+|pxj=y6p*;=(>>eIG6ipK5;> z_Np0v{(snCjuba`+7}*ezVkhM10ntp;FL=_D|Vf)M~bI<)Hqt!mz7S!T;3^8J=*@N z$KF=--c-)cTRVvtD1Wky+}{wm~v(e1%B#@sQW08JmG1 zC8>gZ=42IPTH3XOt3xctz)IE%mf5hS4xP~+Ww&`_%#Mb3s3j|0AjhWG&v2%X)#}91b(WSa6I9YNdJ(zGdYqJm_Az>YP>&}S@vz=G zdBEP+KEj>~XlE>YY5P}pPxRJS|CUyBROv5Ci9PD-ys5u_=8>^$TIF@E@oQV*U3>r_ zUpU;y=F+3ZlB508j%HZ68+#dYSNAeplCSjBoENLz@Pq#HB@UNEm|&LupIk0VQ77sA zAel{Nck;3Roe8dTPcIj8p`?1ufH|l|_IotIwo?@Rl#XVz+xoV2^ z@?PfZDc+hX^1La*`BTInrtFXaJ3$~$>kcmNmGAV57kb5+y}(UB??p*`w%6S)+2XYV zWy8V>RKl?%+x-rENk7-WyHEb9&)(Qa!QrkDQ`nwhpE1RIWD4QxKTQelm?CcHTHk^| z`=mQQ)dRMoOA8&feV!h#VS`1h6UT@=h$NSD6q#bC1R=A{ll3&E-0^n*>L6>pi-79D zvXdHkyj>0FvUu7tlfXO(ViD0_SFvJLNTQ_OHC}bDE&y7*9Z%LcRZp@7Vre-hc`b4F zTHN9qCLd`G=)DFl;Xy_h63YEdD%=0NCp|qU>%L`9#$zhw@OEjuI+%K^&z=*R>%7w^ z-|nL%Kf~u7Nmw9^g_najy;@m!leSGU6 zOc5%*?d);(OJl{k#ZvOzaN5_4V^fjsKJxqVpD4I1GLw$R+!a?Gq9XQ<9o7F6b4vBcNh5THP$jH{4wL|9ZFbAt4;Bm-dPh+X7NdzU`r zMn1FNpEBZuDf0a(_D55yEHDufzBwDWs`@TD8)K=W3rspiIR^#rDRcD1^tp$M#wJdo z2v+zmIwkHB0Q7|R^_BQF>X62(UrYie>dYo_j(MjtuP6@cjNM5@xMh)|vX%?~YY^7Y z3G6E82nN^{(s*nt@N6NzEIJE1<9@{R|1{pbV?1G;eCA@Q=KFnp;-Y5WYL1y(`n?VP^2+{Tb-%c}|9{Jnq~*OniJ@^qSJj5jUNDl$7slBS zj1vp-xG6rea-{6%_l-;K0FvCJr~G93Tf%FHfjDarhd{Y@GDOm)1=^-MVkyP4fV77F z3Ym`(8t!uhyh>}e<34qX3mGpha{&bjhsQ`gxT&h@LqJ2Q>evp!I{N(QWoX3w1@cg> z)|Do?-B^oyXX>e)!TJ78Ax*39)B_WZ*Qcf49?&!Q-2wULfW2)1?U;PjU`xMUZ+_5E z=f2jP*w&l*vfp1YApg-Hyw@-O`M+9C$MQ>(_l|yXZT~lW;(SvvVL0^&$dTaju0*%i z!8|49^^CDaEt8QPF=j~y3LciaozqQ~49o((9B!>-2@%-2SOxx2BT~dfC~B<(YCEq- z^~TcasTT&_x$Z@S^1MMZ2re1WA+j?Dg0lw1ih=*#`KXYO^)MkSw+H)9(ZRj~0{mbS zvvjZz_F6SBpa)e!F@a~T>_-ZK2P!mVjP*8Ute&pm!92LFCsl&^q5({ATJ)DVX1;e8Ri0|3__0 zG5%wiTY*LR^6P$g(Lj7*pS`FLKf;P>;W^WSQ6@>~Fn3jZe>0hF_N@cr%7NiNw)N_I zi515DUA;YIqB-WYTa@I6#>+|_M4xwC%Pf|g8nFwhOj=#F&1cJNATDC)RlDFlhyhm# z>HmcwgQ9Vz27sckOQFk_yPo+^_4+$dX_U>ZxW7avnSciy56n>D#aK$^Z9>`Lxv<}h zXL^&HdPzX@#6Ak~OnM$XB+5=AZ&{z=dXlQOe1fr~P{;VO8;Q<_jeDY!u2m4zI(B9o zt9S8km=;${+xltp+G+M9)8JgF^J`H(J)cqxM1)lDqmrey&BcvS~1}NN=6`&P(O*fT2*gy`B~tDW_BaO+JZ% z=Rp{EIfs~O+b7LZG9K+cwc~58pyp>?g5@VVTaUrcA2T-yoVIAyYX|H&Wqh_vwe;Vg z8hkWWd^q)65yESxI5ytqYU^;5w-(eT5{HM!I4mz}6c4S|v_lU8yW1tF5X32kTr1fr zpscymadL^G4|-*%k2@s}+gNFiOlOXe3#n0Dnz3j&V<~F9I}`o%t{GZ+SA0bm&0qyR zWd`X)@6G^n_~kUEV6UI4E0w7Q$QQGf4O}6ol%T^bpUNR^QwL23K~x9gDSoWLgNse( z9wMWzPbXD$Mv;?tV=F6=$^oqSrk?tcAZw6>W^09PA|Y$;=JkKs#u;L zNxeSPeQl=27T;z@#%`K!ZkR5wobIfiF0STB-x4Evy-)mUy0$%LIz2n&7x4`IQP$CN zKQT@GKuIugDrh8B>A_wwiFCFyc2amvD>SxyyD}+LP@`JewmgZyAq0P6JjO@|{assK zQc-}h(x(51v;P3Is=EHT@w3~hx0mUi8Op%GfHWITq^Yz}l`7axFvR?lXcDobQA9;! zXT;tGjU^g2_6SkzU5PD5jlIPZ-_Jhx&RF9A`9JRq&na{6se7-z_Nw1?$n)X|g7Q8S z&N-7B`Hh!@ziU+^Yb`)l|8g-(qMUI=?Z(R&Z8|yPydjkf2%k& zI5$no9X|n%e%G$@)?MM~caM)b`o{6mjpM}) zOMIWB_q2fp@r9!=*%7jVT4y>NCik`FAh9TsB36yq(^pr;3A^hi6Q5voT z3K-NX5tKIFW!+u-CqORDSRRBos!UcO&G#e*9L`Mk{Ykria^5*_3WZ)inCMS&H%$aW z;KGUK>WLWr$gIhs`GZubf*U5N`zOd7Cb&0EFn^lxqa^b27^^Z525gOx>3$&r3F%uW z__t4xS4@bmo*=IJ@vGh#6IDV(zMz1c(;@E@0K*@NWzombo75jN^r{HGcFEQ-Vial& zOcAi3Z)e5Bu{`jqP)^UWdM90^C_(^ z0RYInbY4k(-PJy7D7NtK#OtQt#_!yrKPJJXvfHNc zMAKRWtKV&S@p;^>LpB11_b|Bxc8lP!}!ZJ$6E->wEi=;__`OS^^t zq$%Zw$&$xRrWxO#oGDUCw^H0v^JD5=vSfxqy}PO=D(Dj?+4eqXHy_+kaMpEz@he6W zlMRl+7|VDj5mY6mF|4pBTIi1qX~5YZ zFiB+7YLJk-Wz(XS&`EUaRoR#8+EhDJQ2&~N-`C|_YpL*-F`u7YU%}ribD>w zQlT|5;x^;C72*(Q%~X&DaQFEVT}Iw9+P!TwZ+7`;dD-ZSOGg{GlbC#heZMVBeL2sx zu9&^#_NB;1t%zfHzJFKC)|#53aM;>N=gg@!SVq1x{QBB4L8IH@$C=Z|O|v5H^kvSC zQ_(H;2&9-E^>3xk zYZ2W<%eQh)cSiGp&NEYUm|%+M?y5KJDlXiWnCT6>dYh-1ho@NK9Ko5nG`D_dtK5CO z8z^N34ZxBnmDZ*|*rke7hI1l9$(>U(FZkxT31KaYp={SdLR_+g_$(XM#YH;bH0odA zNAX{IU+qTpKP}}wKi10Sgs^-^Et5{587+CH(bniB-FcZ+5d}{XfZFPfRe+PDnj9K|DDjj+=O5 zf_s(7dWG82-K77KFPj`^C#oeh$#;c(N6IsRvBy6ytJ9p6)79z=nEkHO<{*%Q%YYaQ zCA!{LLGY-FPPCEK6gWw%OoljWoVH-R#j*r>@NUvXlN)mNV?mJin`>KvvTE&-9Q&9= z3MryKIxr3$?DFf^`;h$g{{6bVlf2G{`Vn()oL;XB)=WnNc9MK%iX2glp1=pWogRn* zFDF}s9o!jFOUqWuw3!aB*l-!tCTkhwrErY@#)JF>p=a5U3TCa{ah>pMz3!v_0oX3Y zc)d7Zl#LWu$veTjpMIpxEZZN}XdNB_OS-)8vtKeq{~Uu@DmBdcbb9Wh(Wy&EQ|()) zQCBEr2C}?)uwFe-?>$)WeRQCA?H)uX-Cr;71gDKEkd&E`>EMZa@6mekL_Lbb;~aOd ztut5EiL2|p_YP1W9w0tAz?H>HY#jJGTfQMAg$=B&NAIj!_3=#b z^p}{9kpj|%`GGK`nh7=$xNj3kK4b(ksUp^4zJ%0W!>rzY#AYVZ734gFW>cp`U3H;} zb-gu4r+Sspw#S?=N7L!k-FUrX8vR`gmh2b9dN$F@_u4Ml*V!_IFk!N2?CU44oMD>7 zqw3X>_425Czh^DQ`Wb-Og%3^>N7eIEGJkZvd&X3A-c(oC_ybarhB;OxcJ{OG$93KZ zb>hQ1JZYaC=p8fFEhabAd*|1SF5407>*aa%-r4oyJp0$V^`6B^Zjl!W`Kquyl)yrA zX4A27g9VQaR+XY2Wh64yX~KT9H^x?o^HpA@sLEH8OhevxzPf}#*wm-QYDYQe z%;cxWim77n;Nm|$A0;& z1_InT-Ok_F&n&!C(@lWK*A?FC`Qz9+2=MKxwg)%Nbol5PEB{Ld; zp#ph9#?Fjo0*lGX#W6)5ONr#-BN0_uNv$tbL0ZKUnMJY1l-fYnGBBQo7F5odK7`gu zKuWF7jXxn`+P4M8lG|&bir<(f#+IOp*G_Xito~NGU2aK#PsbSu+s2^+@AVAGkGnEM zIbE~hC9c1n9xjIE2;7T0Q5YP`L^%~PpTsd%diVm2gg(X(`i(df=>@4L*sLPPIiKFZqc*=O~UI!*U$UYL*jO zPGXT1o46}%yEEkBTf>`WdFNhL-g#0y67E#Ws@!CQj6W26Hq2jvb?F_sr$7HN=d9WF zZ_o1HofX6iUe(lS4>gndLHBxlX86U-?dGZ}a&pgdXbSIeoz^Fd#2PVK2d~a(cxMLv zNtg<@Z>E9>_FSM)rnzK}cj=rUMAOoP4Vck@A$#Oe=!ja?sa9~`g8Jl$TxBl;)JzhH zEKq2CH}{tr{(}K)v|^`jhJH4HVU9z^&2OY!EPtZb;UP2pTCYdTvn0V( z)&XjhIDz5~)rU5Xa|KU)2kcElg(diX(`8`YLLL1FHG;gMoG0eubLO=H1EZzute^<` z3p0;QY)$J&(pH4bgsx8AkxtMV(fYJ^L7MDB=n;|s!nC&`?VX$UuS}aO(jNGAm!;jy z(;--@=5Ogj78JrYLS7?ee_PubAx_RUXVIDKEh@!8#6~Y(;H@xDTi)Kq(U`QQ*?H9^ zo2;1-X@9qPkb9$&kaA;rKVttr=@0OBaW0;R;cHFGJw8QU6B%7x^wt-}S4nZP*E5{G zj}JhE_~ZcZ;l1U5l8N(*-r3Z3_~9vx)c6$llVntBnwqGQ5|X@9q_RAE5lxbEN6G<( z;KI2BE}lyYPG6gs;2!_2d-{%ez6CSkJ!uc-^p!|%OeiFrh-T6?2wjX@&IVc}8C+5% zY;HYrb!mKiIIfYlgF9tzKz5f{?ChL4$O@?Q7CFyRasV4U>6}E1$+%W+NqL)UhexFx zgXzaMTjw9G2|j;Yd!00=%bjBW zeQC)*UcG;`-#W2>azB6nn*Hhsw#c@mF%uYq@-5~^s=4h4_dBEHfc2Zx@ekI%P>SaG zWqjME@p_xsStIG_Q4c8RuK6{jmQ)IT_FRP1XXeO9=a|>#pn&V}`Pu5Z*;3$~48y<8 zPHmYjHqZW1UGK!{;_Ugk^X7Z!&e!M7H?n4TO~T%MvthocYcUFd9_)$-=GsZ){`m;S zy47uwllpqiwmMs#0v|L;xWjdg9-H7^L4BFoKU*Qa}fCsp< zyK0{N&s=O#N6n>;wE198>f<@$Bkt2}r29^Q%8fIC>b}Ruh5}P%O_W%>eOXKZKQ6?3 z^K8q!yJr)!c@seebK@4+(`(Vqd9uj@B;Rar)eGXiJ88ni-;y9UrjlP3y?+*UGicJi z{aSNZ=-n2IJJ5Q`i~DORzL}$snkz1vt1q34Ci`yDwPL^rmGZ+%xkE@gXcN%1quwj( zcZvvn|1A1%7PB7|aS?(oS?H>8*H@@Fir~gxQlT%ci2j4@WB+F#O-4~jp%s&k8lzz( z|2M+Z^L|Gz!qSdY2bS@NybWuZLi+Wd;wz!A6Y6T|jzcNkSw0}d&-BqkJud$HlVg==Zp z?w2;6WyI1QSnqh~sO-*#G2ZBgao$)lu6is*5O<->(5~*7w$WgU;I!Irv>uZh?T^Wh z9s!K9;+UMMCq+T;osSkJ)^wU>O=bH{DX%6h`>eiY12xWDd*wcuXFi>WwzPRZ)OFl^ z`OQ4bn9WgR&s2U3rZPtMqPyRZw(scG?tqc@w4o^ z>S>CoBtDJl5~E>R&h+2K`i~;0OOK+E%mOqUGSd=ny`OUjoIcN7Ixo0np1O1%a@4W& z^lG-Ta6^i+)1iN7je|y!ob6B;mYG?>+qEhg;ivyuEXH8`lyEjJsIbl_eFT|j425nE zdncl)t?hG4cRi&sr`VSwKC;`>R~uWpzSZ`N&ejFF3-`n>{M>x`_Ebp z7a$U^EwI5!RX!6506o^vL&N-Yo_S#&urtK%+0@EI$fImjaT?_^T8FEwi6vvE5!ZpR4%Wp6)|?hD4rgKlg7x^)3)VX$y%in_38LIb+ZG zdlqJ~k`{IOpzH=~Rs^Eq_hWMwCjbLrYj zl$cvf4w6zSyy<&Pqs5o#c>QbYiB7+()I`0VcNf}mNvygnF4{f1baxOA2@Jr{C;bfH zRe*^95I4=;3v<@6QF=*4EafMz!V(Nsm-yx5x*3!ID2FgD4C^~91@=&rzge;6E>bVohs$mmSmPN#?|bo zW**BG)=71Z%+-vHa{&x@nriLlJ@=?%l-Ri7OlpaKB4E1*#4r?FVifAU=yL&ROjBleaF!OnlP9VB=zU)8c%Geoc^b zWX@h}&RZ-tF0?agoaeT7VeqHL?oEp`gY6j`iGzlqM%ewUi1B8i9=Q-#=4%VZdwbbO zUbz_exT}4PaL>m#d2X?|h%=(&7Ks-ZM~^K=M+@aaTpzwF^bPi!^qY&yf36fC#n*hg zSiHJ8_txU@UyFmc78`;SFek5H>``cBclpKw?EIfBRx5MIEzX>oQm12Bq)-sjHX`_! zvrDND_b)KVFLJ*E)i~jU4or@m`>F`ux2Ct#7vpJoaFKpbnD>!?#J?BWZ+&Np_|qa@ z^Q^_h1pFBYSj-&e_J!Q?3fq*KR~C7zuvk*h48|OuVY8MjHHG3zSd`@)7xv9=*7!ij!1L<#7_&S((C zBGcRD<9SrvfwC$EXY0~j26*l(7Tbosc4^9{BNZ&?#kXZr2*ja+C*fF?#i9nv zl7z7~vr3qWMv+9BA{-Evz~=-mdCryRy5b*;ENz{&cj7!uF*dm(E4^o3`SsGof0qt| z+T));UYa_22{Zovi{+h*&0UL?YerXX^F$09CO%T>LzRZo2v`lmH;~th_}hl!k4X1_dazE?GEJE5@P_z`6iKD z(+tlejk@MlNjCUkj4jhx)(BFt@6$0^&S3W*6YthJ&nyFkR){l})tScz@~OKQ0Z=S~@LWlcikM3z?T%+01sy zdd$q8f9qoZ-o=}kl?dFaCAZMl>BA)(%34&VI$77xw41S5#KXW7*DSHb`P#BzV6IOS z?UFu!iGRV8?YXv9*HZ&ly~ zvUWB@#h)%`FiGeIijaspd#=UYy%s-Fi>wtnJ6GXZU@{GSA`GYnmV8y_LLC+dXTtQf zLYQA8Fb>_PnOGCGGaCH*dkowr(M+8vtLr~q()INqI%LeS(SVdT#O=B>W|B$RlU)in zT25e9=v1nmUTJmK?32?3wESal+s@mTXYo~I0c1>u*9s4B;5NUM6ySX)Dc}=dZ-U(Y zYlL`ydE!RpZdxif#!c|naxkj@Xm?W&FQ1Eoi53U-qtHF70 zpAaEQT)5P`c&VK{WwPv#)1t#N^xiZyM?yW+mL~P^ZNyfkOH1fkvtr5BT|sQ{<<`>y zoaqbug8GB1rI-&4Nz>T7?+j0z6-#a8YX8v#4<*?XOiR%l1Yi(YX5c!ABWN$ACH{~1!)eBt1|X8@ zDQ*+D&6I#onqDgz?Zywns5=Y6E=5nC@2UidAwksL&u+VmTgQB5wmzwe3u06-bd1L+Y(bLP+bIZiD z%e)tsiR1UnoVcGjWtm5+S8u&rZl?UJ@K!GiRCc!r?vxOwch2kauG|`XS7yoUr5ssu zu8bx8?QOo)Ld&4`<69=&fx7F}p655RMDQgGGDVrBu#v?Fv`AUYH^4<1DwLyTDUG9n zO4^k*VFs6885J?EW+|5Rwqm7?5p-k0?mjD?FLBP?KW7E$W0#u~mt$^wdB2L+_Va#K z{cGO9#nm>_tVlb`t}eTjqa_84rZFTZNJPN`(<>+FZj$TBiwyq zh(q-sC2nr^a{AwVl*MClZ4FYlnhTp*Y#6)!v=(ymqd2UuHyGv>FxXhrvGI|jsmK~~ zZmdpG4dUVbQ$*4k7__)ei(mTO#X*AVowqc`6Sv zuAkr6ytJ?X;=bm!eZ~3vTb@Pk(kd-(R6mxxM4S_qz8~M$a_18dOl_Y_Zr5!*f0JBx z$9Y}oV}#;hz5a%tdk85nwmw_C0D=~HY~4venV`gheiFBK)7v&jv7a-&H%&Z0{)}wT z2Mu(#9Z24hbunpu^nU(v`!UL1lJ4s`&BaX&YeWjWoU6i0^_tb`7SYz-N{kD&sZ+ z6{0;%dVEcgR2lm<$|}Xl5_IdplAGpM`!%9-pvqnK>c!UtEMn*Es5x|6zxeNP zRE6`@L4XBG|6lv%-rCPX@W5)7_QkWYb&Ed3x94C zHh=8${k3h7r(gg*7l&kvJ#9ylFDU(s(ZsIn$l^;;$)r2A2jd0isTp`6OtO$D;+rKQ zFm_Ru(Ez_HeNIX6v5~REo#{te@}nFmeuIipglS%WaE`!VMuAl>>1mv87R*_gn(9~g zH){{jryRiA%=T~HzvAQlleu8ByE{Q~DLr59nVXBoL2;DGC1Z>f^Ms-Z+`^tR&5uh; zF@Q||jG(kMy^>eY@D<386qR8~62-y`*y(4?Pe&5Gm3%D?iB1?a#D)&!wSeQae z#A@HxB1A-n{)1!?__;!LpYAbvSv)3(=z{^J<)B4vzlnR}0J~n}%O_4o+@-s8dFLy2 zr$z{z8Qa#W+(0B}$8X@Tsi6BiGwGNbZ%T(FR9pt z$%_o!6uy9ySLRMznL2f)esHB4lZ! z=X=Qf@%DH6%vWxxJo{Un{q2jNPq)SsW4``*i1j$>C7=3vwmBCRyT|&2xNaP0raVSi z8(MFwpX}`x&3u;4RA@H0+0|Hon!TVNqw8;QJ)PuhnscV5Jc$H>h|(ORdgZ(t2Gp?% zD7|!eV6X(c@=v3K6P2PS7-`4S@9_UC7T0+S0%XzV1 zt{1vX1nY(A664nkAHgI(Ld_YDzsVn}3#)+rBLkjWm#B(QDt4bls8q#zk?9hj2xl8= zP(ZoNk)gg>s@tvoRwq~b2wpf2D*f}7xt+{#$Pir;=f2dJNpZQip!$4iJ{Q1MU7>*c5?3j`RpqWz-cwTTsTlJ%m{UR+T6>8qA|?YYceu1kEgcZ| zU?S}$2=@=b_~Hl!hwF-fCl5R?<|C3ModuL;vZAj4jNvJTd0{}Gk%h*oJyU=OyJ z=165kQ6;gs`nI|UNbzQxqNLt`h5keU>h9{tgleZ$q5euJlI_zeAy!GBLJ3q-rOK&pMH%mujnt)HS+ydO$R z+fcXbY%MR7@@~l|xQ3tG^==x94fJYXQPuUA1mTg#k9fMXZ5q^38yQHH6!dA}#uG>e z@ewydE4Tq}kOSP{TurGEzk(7|m20UAia@8MWKz|olGKJuWit$hM(ne7nuuyhxG`^3 z?+l=mD%zR5_2o{7Lr72o#M9}Vi7^t?*^N0heJrOjql+IE$< zmy07Bc%{okd#2xzm{Ps((5s2}pDb-4?H&^Ti*jDDIOaY`dB+=lA}CDy-#U6ntEYAF zoDOPLo&T)%pVR7DtzOWkwia2~`#sjEKY5v3yfCkBFzS6RE;4#(_CsoA1PpXW!Yh1} zcvkmNya&aP(bsDV(uDp2gn1>?%33tgVSdM7nQg{>&v+jKlv-6^I|S$$wMM9Ty$f?X zg-x>v+9~BVAi<`3t3I-CbUs02sdtEM3fy#sDk_$ptTZz&?1Ky$fOwJ7r@9TNxk1CQ z{#oT`eU(<($Y+Z5Rq|BxKU8|6hC_Z!ruQ1kt8O&vCS*?r7|an@J8*~Tm$i9=xdPEi zG|EnfNCm+GQGezVTTYUUU?ba4V4_s#855v?)%WNhS0h0=&V_gxjl5UNMdI>ujMri6 zR>&E~RtMoCV%fNHRE`3~tjJW{mHeBeC10wxW+NiY1)qWjYKh##2&Jnl>mc7`z9CcZ z;<)@oG{s?(y{;0y8`>^K#42d&0Yb@@`MesCsl=<3jL0nbCAOe<#Xz@FC5Oh;cD?uv zzk;2t#h2<%+%31rJh(cev!9BGMR{k?95q|aF|%J3SBT=3f_j^^SBiUuLp&!XP!WZ* zO_bmD3oat9`Ax%NHV3@m0&A(mR*XAONQB1h-eig73(TPgx%UXM((E@xuF#!90(jJP zr^Kg9_*$ozil#7BP#5J9>BGp_w0kFr@EB6z%KO$RpC=e6Ne5MZ3vm1yN{h9gzK#6e zZ9N@=2LJ-{4n+*jf+7KbgD<=&GQ~8ICh44C<)x_-8s-YwQtWSLEiHjYG^nvJ4behr zpnHUKi^wI?Lj0~`mB<#5ii%XbKpdmLF%&cTC)^-mgD}Yu2il+-dAOvtJQ+(!Ew*@f zEF-7Yb98tMLKru-BfazYgRC>{+ZOM4g>bJFv~nwJ+xUr3MbY_K(9RYQC3`=LVj-2F z{QAX0TqvyZEDuWl7s5*Aw~Hvvm)mED;%H<(+Zw<6wlVslf(y5`Y$`1B*mU_3?d5IS zp|-jth8pGO4IV{-C@EfuZ~h#Wp8|Vx3@Bo%Brv;Djw6sb&QwpRcB{2`>G-QwLF7kR z_v$Tj)D^;9DWWSx6;-gW5F@VyiTMj#X&KoD>y}WT38p^Y>l=npewFl&L|d@1pV|LX zv)jd{hc5+4saU}^>Q6oW7#%EOZ*xtV3NoqN%WVvNN?s&Q_Y?YUxhy3>HR9p=Mg z)>tVSENb#@%^!IV*dh?7nf7e;L>*XdmRQw`X4-+)Z z;^NPo5&Vg{)U9^|nx#Z(Xpi*#B;73cB55yft#);k(3b2-R;RcDmL$}A@QSQEG{Abv zI@z~0-~4KYwVtjM`GuK9RlMLL=Tid5#HIFSe$8?PqJ7$?>0hkPxjHmt0zw2v)@j#T z)~4(2us+A;w3Fx{>$hOgQwzHao<`CKp@5w~r*j04*lnS^C|Kw%s&Td|AB$(fZ<6k8 zYCj46sqj94bg8sxb+BJp;+<`y=Y5*vK*!mQ=>**dW40R%+po;_=i=u9QpB&^b)X2=$!Q()iZoT*ciT;7&hBTp%4dF#HN5 zV(^z}oVtJhU;&@^!9A^(nAO^?!)2^#6hu<^4ZPNzHXNu12Eynyg z;(fy8cte{k+6;6PVf_$61qiw|Zhx2JB+>-S(I2CWzO{v&2BU1W#h(c`HIOP!vjgJlOGxRU*msG zTC6X7V>I@`bhYc|c%763*!N`z4rcDcngVnj$x@gopMvHurG=EJxg-Qo!oIkd&1Tct zfY&Z9Q8DV-H`yq6s!hx(^~Mdz#E$c*CTQLsoDEMv-=pUT#l3%vLKNd8><3PNOwu(` z+}+DE%f~E}%h8T5aH&engdT!$6=G6P5QR@{j5s{~n+C!ln51NKy(>4k6q#|eSO97; z6XFb*-P3W;#vL~uEt$4lU^|cKeZ*olhBx5}RuO(*KO)~l5pLw^f0xVj@*SOHy!uoo zT7fmcmNG=3iI8z*>y-!3yZRYk3f@wQ^iYbM-zKf}fSIKYx|?LJn)RTqyo^du=%uDs znstP%m5*52+iF0^sr9li&w5F165&QMEM8kG=a1@5qH3c^;E32LI%$MLe3VK2Mz4iZ zPhf0o5-y~v4*fRRQ3@Z%@N{y(APHX^U{EkDIB2uzFU{a+D7xaHXe4FQwvQ&5V?{W| zpU}Z(HLdSW_LZ4cS4V&uC3~}oQPfn1S(qcjf&NV9W+{)TI!Yvtq)dG@$BI2RY%F-z zlP`F3FMoP`CLTOmE!iubP=b(Yw=d}ob$#GwR#C`{R}n89XN5jq$gS2dHdhXj_Xu>> zh*Mf%j_-Mn^Af0MVi?OAHU_ntq!>y$W6+j-W~lh^TtDXxg6fl+uw9WUz@Ksz&h@qp z_>VxTX=gYBD=L@96ODzM&pFr13}{tzDgL`G@wu2tWGSVyFZcB~eyQ3o+1>-R9?0?SBsDRn(lNgtZHe?+S^u{1DU5iPkXH*AC&*~?j_7r+ z)aL=ZUivHQ$PCOl8_2hiKlcx{ZBG3mNg+tHj;$(L?b)pDZ$` z3AeF_evhyt2r3i<83=W@{z5%PwMs%3yw2-I6tS%dVUkfMLo|#XOHHSj%v-rZ6})QQ zXF`82vY(0c=k|r;SFL$l@WSz{2J?b-0$i{9br=S>K;+?GdI8P7FugCeoKj*Y)2gxH zj(9B37UlvW&Wv9+W$Quz!xOJyzr$Yhy64vB40WS+gU3%&?Bw(a)uHE?L}x@4W%I6$ zS7VWrkn?QTUz{78#>B`=kNFi%E2bx=O>hob&=Cx5$jR(HXF^W*L5hq0$gbBI)DS@j z2LbPHn~+c9^+}is-Q4E#7+P+D9)@k2gE>#$+c=6>9eR-V62TkjX*P`y_`8t`rC z?>bLKFYCSig<0-xmGWlWPB+C3ev}|nsGCxMXF1L+T?H@%$BOU;t5p-2E&3uy(dS&htfg<8zPssVJ<&PjV)dXH_kj39@s&vyC`ewZu{>J)1KggajfFAK zG4clDeGBtSd?5SXzgtn~+usk2KQ`Q9=Jwegx+2laiP!|=8)eyA`>dTx@*~tp^eqt% zF@x62|2fT`+I^a}g-Ggz$LE?(e-Oo@KNa;j)V1s=`UR#ZIiNS?mg~&^{*L~o!arLE z=L!EfqaHQ>V`lu)DU&qszF@Oh@Z?hE06uVmZCyP`~wzVHBNeV*6bZBGhrFU0gE+S4q zTo9Q10<~5LuNnD~-ATNTF}rY|Ogx5Xu-;GSdu>6{45&a~^%oVj=;oZOnm{wz!QZ)p z8z!6lS_`&d`nnv35^;YGn#1-Q_g!h9gihr-;3g)^`;Pj{e}3+BBU#^>pSFh>Ve zMH%1^GsB@WFr5A2_PX_$2Mr>U!c=&yR0V#gVQ~FE!!!gxBh-+b2pZY{m-1hWkD1q% zd0$akR9d6jhd7I|<$a{g7Z@btqep9h6`#P-BelB*E}uNzSL>`ycDh!lK?~+&EuZMQ zfAtUV{|{x}`QiQFQ}WaQz5mxro`?}S{r&qtuPE}8_m7k2RBqiI0)mR|+%B8=YR73v2?t~F+?V?c|ujtbJ?NfHgteIC(W_(TfOC)f4TlUZW0)h zp0_(jB##tk$SGoaa#yoiMSDcrKhq*16SLud$qX8}OBYzaa<9M$wr6RtLq=fqq($Cz zq`{g|{+VEDNd=quhuB4XHV;%4DU1?%xnh1{R5`I*xLngNTOH?Yp|^SRK_NfV^7ryO zDgQ0x({AuI#ZIEjbs%1+RG{oqOfDkA(SHsE@?pk43BVIn&T@3Bo5u<{4(_3YkOzGqvU=VP1zm!(q1gtdaF$_t6)HZcp_}y&;lk zX#YkjUIA1MhtH$JO#xW)g=+XrMR(YkP?8pI$D}EVE62#0yaOwakCUhRNr9Oucvgrt z*4Px@juom7hJ}UgCd2~YRYyv7l&n0T`LL&eG`bn>wNf4-|0?88vR(b&9V+*T;sVl3 z)agd=VKWG^F=1FA2&@sof-FtoWMtG-NOm?$6L1*Bo%$(}G5rz^QN%GDPfTDvb|a)n zf-l4T&Z#^;g39C`aaXJruUKCm`j*f?*dBwSy$^jd{$!b6BNHb}wMI6bEX^7Tm=Z3P zHF7}QN#aOJxA=b*?%iT#xs&L)#K+>-&RHsVkt|RFX``$?O{TH=Mn!e1)SG1GMrlry zrakytnkQs5z)!^RG1xzj1dvUJpG$uycQAajRV!hx@HfgJ7~Apm7j;fIoH zv?r2hK{9=d*fc6})hOAahT|u96=@*H2r9Dy^NOH^+<-ENhg+KbK7C>!;}$tk0>afK z+r*rJLpgnr{Et8*+lZJ-rXfvTivpY=N?ylFV&o|hN)mYk2rENLO4`t}c!0;vx_t%w zF@swmlTFVoiRyQlSXTdwh&RP)Luky$Ow@uUT(O|nz&sF&w~~q8uQXr53HfAA#0DhE z2avydG%`@I027&Zmtm>^{tfmoo8$kGE!urOS?tZ0gsmZs^DGV*|Lp{$lf*VRQgFQ5 zk|sy7F1hY|$ZlDgTrJe`I4UG#4hFcIGF8$$iCu7{P=Al%eC1-$;$JdIX5657nZTn} zvRPb1x{~93=IXxK;y9YqSG!c>bDYNvIrQ9)#bxmX9~fIMzEoH)#F9PZ^}S+o1Fi9Q z*I9@AhMW$mT2&h#%7^ozNs3xyt*o%2Uqe*R>=F<^i`vfT*$=m$T3RF7=mtBsh{o`8SrxdwEgGmR8+D^g6P`dATlvHI40MKr^k1~3 zLNtqMZ6sM_X07%WGtqmeSRwM_ywd9Nr*0l+d93qQUh8v#|$#zl9u~yW% zOSYRLj-z(3Sj9Rh*07F>b*z)c2G;3f6YFfTg>}Bz%DPxJK;#EjR&|PEdo}fyibHB^ zhl*lHeeH18GU$&Lq?F?ICn8zEcazVCa(J92j~sq8CeRkVKtk|>K(-A`unq=iSSN=R zib7-uRk1F%*Rif{r+k{IZ*OJ4xxFvzw)O$6`?Ytn?r0y%dT{$l*2CI&V!eI)7}h(t zkLRkf11GWGwS9N)JbB1;)_Zi!Vm)I@X;hzPhjSnLq0({%>>icqeq(L%}Ls5m?lm zL*4CrTa)j>ij56M`4dB{l8K7YGagWxAWpYBxL1ku6-#xO z=wD8^!I)Oc&q+G74j)-R;#z@Z|AAm#_ko!GA$G?%cx{~WVUW}SiNYxOAkszbfP$z^ zDsvRL{b)$Xy6GW-tQ;hFsM%glshlk5^qU>Ig)hKN65?ajS3VE>vS(^7&H|dAO!SYi zxw({?u(t5KN!?u|G>(`h)*NpCJe*+HG?SSGtU!VdBXvL3$mAv5IwrPKcGn?W#R~Wb zb>P0YsW>9%%sN|)tQt`qX-4efe8mJ$E8T<}(E6jO$jz z7VAPlL##mzp6`pVkQfhtZD0ZGiODLq0GKB17k345%T4X)eFvwMdkJUp7!^K^osJm77W*TDVYIWZhmnJL183Ga=PbA$J}vAS9`hqy+P3Wu))#~U(7Njz)1294Lm~rb zR_a3$en71Gc_#HMrpI67jiD|2)@D^uQZd~iGqS{?j7^}xo z7zM*F_4Gt;OPSu87da5q`(`oOxf5fZb-pcYh{0l+$~tz4dr@WGgml7tb*X2q8DMv`;WwuA(#=tXbfD zqoICs+-Tdxf91=T`rj8nDQ|1a+d1W}E^p^Lv(~9C!arTqj7V*XKaNi(3u+ra^ftGq zm+1|ljcnbWqI`tA6IkpP0$l*YvPhBA*Kh`eucpLn6n3;A4T;xN?ux|8u74%!FP>i{ zHY`qml&Q^bq8*N~!8JNyDpmwvxqTEhm1=Z;M}G|XOxm61z8R*z4#a=N3FP6Gu6DVv4h|$>|N@oaf8ROc2KFk{RrnK-#@{32?TQsy4uEI`5^x~JCwX(?AfbF#Mf;V z+dX3YX`47tmUli9<(;N@>&!Y&G0q^ z=HZ;SG9|hFe@RAeuZk+^9$*d@tAG5QbCXdUHw-9^WWf!6@fM!py@)Wf(~*7LbNmhN z!bL*tjvZ6D7YWl5zxkM@ag)w+X5C3hB;J+HL5~-uBZA)4~b+hIOYO29yahs!DivHmg4VrYdH&puU|}`eP)Mqf)UA{XY9dMyRcN&yYU?h zOkp4Jg-3-sSL?89JB)e>Fm6pnA73LpLW&h+V~}R7+mq9f&Dc-mQrK9f&Jq1Ugtn|a zIrQ&HGU;8T8W-qGqIis6ADSuZ-|-KR$TZf(bCo<#sZ*6a&8`!tDfy_>k4f`yM9plC zj!(r*_7BeVuOvse;GxqY@p~B z3HSX7^KX^7ClTJCFsGnjxy9U_VQ_cou{Pqt(EBos8|N{q{_r^23g$A;o2Nc@qYC}QB z>k{sbi5OVY(^nFF-K7bFJx0i8)dFD5H#*{!oSq}E z4a6_yY52e%BXo~?EWHS)gE4x33ehb}<4!4a z7g5uh2s!Grv^7>X=|+mbch5q-5(C`+O#|VYgL)5f2X8;LuwB^XH@d?shpCZpf2(=z z><)*257$)djfUY`9UYAe$MzZ@?BY#AYTMPD8o$$S{bnlBhlB;$^gLny9(%h> z1E5C+?Cb7Rxqp1eg9@06N}*5NfcAa4G|L?=-a}KHwM}fnZ4eKlUv5EZU|4M=3@Sbl zY!OwP#o5wXo3zvFSiK$5H`Q+8oe?i8Wj=TMm^lfTvagGACh2^H>4xWG@_3Y)etPh>I^5X za7|tJXP*)0CjCq;cUrZ zi@+8%nE#1U?nH|OTb7a@5Z3EC$kuBqg+GkBQBLda%z8&Uo3c4#Mt77;=Q7)# zHqvjfoF+52K|}R>3+9{^M0wCXV-AgH!lChcyLj!!>za7o7_U3NJ?_j}6f<~##8(9C z=TMz!Yz+=QIgdkvPqNB3uJ<58zpw_`L42$$Tis|oe^8b=6Q)zE8?3bDyR9T|2XqBZrUhSTII_w1!aohve`zNfN_P zO%7j|)xyH&f0guE)Fhb-w?qg19O< z^xC9*WP$J+UmW2$OC>GtYxd$x^iX9lK~_&;ZJkx`+)a>;b$#Lewf$vdB5;{ljIKl( zglNfHxj3eaYo)Udm#pk!7Umwco! z;4urr^oP`NfTEr)q#i18$2)}VYXe9I0h=xL0Hs_?q(WzqDC9By$oL7)tUn0nQX6`B zCa>)uEyOX_ddh!9RavZ+tp(cs7nWb({ek04- z_$jh-tqkIIV|>nz&RP;o$^SCqYL&SJ&L=Kb!G+3CgA9v79H_B2**jyzIu)F%DDZW= zpw^N;QC1!=sj~HzsQiy0U`^`0X%LUe%p)@Dm!+^OB7SL%-W02XpCJueRWL_Z6Rrw4 z24*TXio^l}t#Q9p20@~dnuM9;j?PK4!`T57C{!}8w6T4;R;=l^>=ODvgtL}^BGjjX z=vus1zdJ}BdN{Lav9u-vNrK;}G#R4A`?qipWzFyu{oW${Pe7=qzVqAWT904#lF~ zEnqmbs_K}`XpxrFw`X0-;Tg-zULu?ajjablv@_Y}WU*#+ldHXcW+3RLgM;Fj(jf80 zuOz^ulXacqNJ{^)WNuut#U`Z6L(UQ_Dx8@c1P0(4&AP?Lw4NfIW6-#=&=ue_L;%!U zv!h$2ItFpD=Sw^ZHcg0ds>oy_ok(Ys`gV;$5W}?shXT%>sWdIgf=OeZ%*KIffWZ^X zQR={t;;h^`@*-)E<@7+cNY5e}2LIFsDoRq4m9H!AWCado7%*|e)b2oay4PLD_ zz0C*GY>|4igthasNH&?KRsw^v;9P|Ll3w<9FY{LqTjUi&QeTvv97x5O10RH8=J43S zX0tfeOb50bb~Ka~=~0?LP9sA^O-H=oM(B=WvM(3#_m)l0BJ#Cg0G z3dYvo9tscy;>VzxhQZwUO%8djY!yl!LF+9``a2$5}>e z*vO*zDc^aQB`23!WuT?F;XFQ-vFjjXYs57QoNE0-shdzCQ{=Y<79xS8Iwa^EWX zm9#r@mHdnR2IevIr&CjV%;FUinS689LT+kHOZ?ZcWsq}@PcZZ1KFMJoMDUjK12RWZApCJ^XR7A};b<`U zq8=XoBp(n5%^r=34$OKr+pRHo$Ckq!RgRkUG^%mwVUDvmuZ)EUEi*wb8$q^SK8#4X zQb7wLJBj2lQgys+)B|i`@XJ>H0NCQU7y(Ulrgy3>(JFh@_EmjGwyS>2%bova+~;(@ zE)&6{>Ko{F=Ai@8sG?`Zc++i5pyd5tz7YSSOb zzq(1;Zi_Ba(d9~9W=%H#+iiq4^iPd86Np#Ky~%Xn58k#7jE11XJ>ST+CjYfj=NR#} zNL;0&F5~_mwXuLgfyjJwG<_#tHI~X=@%l({wzf3&1UYtL{~*y<7B5iY19U0s6dCT; zAQThDW%delDT=aq(FVeYPk3fWOA&d_!O!QLM_u!T|FbR#P+1 zCg@p=ei?o3C*C5#u=Z^n?Uir|tTdO99f{ds-M0?JFJh2}1LaS!@Zl|wJ&1WZhRhKr za;u3>oS8>BUq$+#_KY`W_5&Oppdy#9{1g*g{Q?q3uBJCQj- znTHgDBVJIkGy-Ed7M0|uOuc2%J~X(^(^%=TYQYlRXA|bN1j(Hj2J-qK*sHJO zEY!c2<3YG)H>Ya}yz|utnrtD%k3nfHX1k{Gs?5)zYXbGX!Ex01R&|d1h=TUFsmH|2 zG~`UGsfhtSu>N(Ii`ua6IytjuM$1fh#zvgB$r_-ANWSxYw}28`9Yi6{;s2?0b)4@v zKs*v-%vCnPHfB>@f8 z2I(T_B~MB#^g^C>{R4@bhX7%&5aH30dkhZ&7UMdZS!d1h@^J@aC2;ZG6h>r5-nl|cO+hCiL@APZj+>Z02kZ&vboDkDwrTwi&H_59!G1eiR zRt}(xz}7d-NOlW=2PvkQ^3W7ZZQGU|LnwoVHE1m!2H<52m4{Q5%SO|wZK%uEX2T)D z82HH4a?I@I-7&Klre4;eGqa64qc@B3eRjEp+$^k5q3jFK*-W=phjlO77^PSB%*>2h zc7)g0e^}0pW^_1f(jX;ky)jaoNbK{&s$8bMlXi;#hY751jKuq*KKEnBB%B7cCcgmE zfJ-ze79by^U8ihNPh%eF@CT+lyd7NfNopwyPHu(kcltFHqm$;fPXGB%@j_?#cxNFI z1knRZJq8V+Q)zT;#(h{tkuWk4G5S zsZ775f49J^)AY0*=%j|&@byy4#8#Y`4&hGvPXdvZ%t3i3@wEP2lso_byiTHGz1u~2 znUKBYvr^3r+QSBS3gJT~pw|`E1FRz62EVykP@LcvT7m%|n!Yg9&0s=9axWrLCSTQv zdbK2}id?14<{!3I0y~_UuJdq~snzOeQ>pVhv-U)pIzfsPNe`9v&NErU%ds)UbBA|F zR{VuMJC8K|ISX8&W%ibN?qw0-LcO2OfI{v^&8Uw#c+;_{h-lH3HXHRY3cHIlj~pOA-o=CGHUp7J zo_}_)^sH<;X9EyQ^VVJDV1Oea$d@&66i*kzo9j@|AVsvV00{>)LEl)@Q^A_N2t+c_RL-K}A;t)Ff5e z#su9%x~+{0vUwtrNdOSs{c&imkXpMOEn7*Rm4j`GHtTK;V}--_s%&}rU^`ZcH17la zxHFSwYawW;#42u`4ycKqB>}2Cr>N89hGb49u5sl$Flof;_y;SlMPy_a;yTNR@Jm{t z^4JDI4l8}%lwn=ryd`!gi!EhkBw8?;#L?J>TeE~U`o0)Y)^cv>)_e9Xi@wjI_Ed58 z-1Q>p5{uW1Y?l}oXN!C5Mc5_At`~LjdPo;heORh6RO1^=k@@J0)W_-I_4JO*-F<*S zX5!J>yc=bojA~*CF~YvRIA}ZkOB9l+iWq>?k=Drvh2&A`x^qeT&7PC4ds$UH9^Hcb zdKXMrC9=5zf^eKYC5Ew|;H+#C168fxf#yYg5hvLMkmG3jxy*@+(Y}WP+~qMy$NF{N z*pPt5h*ynMqsTZv#ZGcvs;a#Gqq|jKX81 zEK_jR!QtFYS}jlPLd?cpndo04+L)3Tqu3Zl)*Z$wwK-!dilK!u$ex!?9BKSh2%U2e zOUy;6ekToAIyddkHt(c?uzou&-%Wq#(r?m)`-V*j%<`p7hD)E0Pf-S`gWp5tajG(JSm__Vruj{9vl; zmFX2Nx3FUrHj;lc^}u(+A?%V7=rFlJ3=vj&_Qr;M75fTT>OsYR9pohqH(O6 zAYw@Xaa$pgUsh37d{9(XfjM1MRlQNTRm7UclkHm6qf^Kw6I~{^9_#H};xv3Z!NVf^ zcVTlcCYvc0ll>{9ozn=!9^$8{@`H1xXc|1EGheS(vKK+FzByL;tCb;WeWO4Eg=Kr2 zgipebs7eIsTy4+v^PkwkaGlT#5H>i93CIRE`N(dDNN`_`j#>G47+HInp`Fvs*;*dK z^teTSuAJeOeht=O)dx3%Qhk+HZ5Tm)l_eiY2bIa*jc`+V0^vhQ#=r}J63Q5QvWuwOrm4tTwmaDH8 zV!T5(EAr3%cs(#Zt`cL85b2$HLy~1IUh&fhC*_EVQj#TMG0 zC@e(CuXzTC`s>@d1nb&1aW<-qNZV^pl{ESgd3fm>7t8uJ@iiN88rh465V#UwbUl$# z*IDiFE^_0_JNW+la*sEq(sa6~gep5$cI1#eCFxnqi1-@%B z?+)r$dLLgrj+c;NX$)pVDc{85oZemTK?fJhAxxdK2JwtB14cJ-UuLVPtm^`n0Q8^_ zt_$cPI^rU^$u^enFA&cQ2#ZZ4he49falq-16RigR`+fU~! z=MKVlZ2ngpnNnFa9NQxa^n$)NcMz!p6l*I~F~eHxEa9;xq=V=+GPg(=Os0xGPyQ_K zvxRbhIS-F`zNAs5)mJ6w=T`B0xBgu9GGP;2{yc=0W@WeN(>&_-G*loHf?#|NcmH+4rI>bmmDFNVa-egHDq{ z-L`jIMW7Jlmn8V%^;D(sILD1 z*?ab$dS*_$_nzDPrI$++5D-*A#R5re@LI6G8c}(%=8aJ-K}7}ZT@Z;;W0Y6yF^U?E zNsOA_Of*r@SOAGhOk(u+S#!=sP4a*K&wb9EIdksJnb~FSRle)H+#eeE1!%k4b^H^a zx%D|i*H#A(@IAyMi35EAR!0pGJiLbGDm>hbA!Oz_6v5bKiyBOSso^N$V~8nMxz<*x z=d);yUZZBO&K_mf=ms8R?7u$7sBft7ZZ&!I`2Io86}F2s^xR)fl7`tsjD6GSCGrff z8~s~(1}JZSX8fP;cn0rn6TZVUP&?;6o}u}5)T$j%u{zUl|EbIReOa49 zQnyW*fX4pIGmL`dWwIWx200qKtmkEOgU~HP$X*5mW$WCr?ileNMfkNr1fY6Cbm#j; zx4$^r-HGzuk+-Y6Cyw9*4akz>!Pc;q&h5WTWwSW=)VB3g`_e>+l*=;t`DXMFlx zZ+bho_$$}B&qo@fSeEL_L5ajUk1R4OEl`IC{TMqFGJG$BEhB2d@jKG(CcI3~;Yu#! zQ>^YSWYr`rW``TT^_dt#WCrCJLLg5Hem>z$&pVB=Ta}<2GN;hbl-Zmy=2QgsD&fpk zs$0aTTBH6ad*=pME9WV0$nI2c^u%B`S}>U3CerJ(I5Oca=TwP@1QO|j1`IEkPe>9= z`#xQ~m(1)cXWeh2d#jvvFT1s!P3j2-?3_PJMEo*cULkoM7peta^X~|<6oBq5$Ad(h zL1c9-Xq=y{(2bWNy*47#12sxl0wOoq*DlTBr_)US`Pltl3_D9(&~9;*#dzBrC`ugl z_n;-Njls2{B5y)TMz260w)9wu+uk{xeLVwx?MgYKTuB!BD{dR z1Zq4`kYV~ji28H4NA7Ln#o=ab)T~?LxDb{TKbqDMBrBDBk?PWFUp%0XR`1)qhI64M zvNO{23XSI$lD!(C@2(l;cNJu^|4x}N0j5J$Hna76N}uPUZM6AlR0Sb=k@WMs@eXg2 zh~K$5y~SG%mSv{92U3)X0#tfYSk86D*Z3^VD}{Hio1#&G3e})uiuRY35)#Rf4rC@T zHHUpHn*S>EV^?6^uhy^0lrfDKsDDR|RCG zPuyX8zQeQ=GT{UD1@ibD-$JMybc9t?aE&7B1voHft}GlcDQC_l+W9GlhcJ*yo;B{` z#<0==+6WS(pg^D|()gR1BI^ecV%^lw4%o%>3ZaP;_aqf?y zDD;{xL|WTrs0xwEeL}%FHU&i^T@wYck^@?=Pc%V@tlPe4y z#xtY}LD1zFywL`SFj-wS%9zFuez$)owq<9|66e8OdV#X%=(n+d^gCYkHkVF<;s<_k zx$@&3)D4G9OCLbvawIhPD?QrIx$i9?Izvv#Luk=a9 zH+q?0|5d1(lc00~?1^p;ezRgG=p#0uTVI#QnYmJiG`Dzf1vgAy8Htjy&zFSujJ~}+=cp*#Je=1 zqQf(~yb-5ru_2u8&MM8eH@lTz;{5l#hCg{`g|9AyXn=Pbi+PY-LVg9wS8wj9>AE;t zP8+I^bN+eB6tt=l_&-@AZ}h`ke04MDqWj(ACvPX--;>~nDtbYAU#P!G^$ovGnaK~i z@xyN2L#}-kRbKAQ<_mSD;9$S^Nw@VWcO)XXSP8~NljA*-T!k45aQ-$gy4_P><7v6_ zS})v}w1KLryE4JC=iI8ze(Eedb!%L*eS6fg?r{Y274c2}vDv`Feug?(KNA4X6}E92 zlhrT=QsF9)S$G&bFzH=?BtvT~_>D4xZV(249f^kvsmwhWjDade#UTydhK zXt8v;ahKr{)_#&rr{|$PK$T@Jh0Bb!yC8-0s`}b(U>U?QdTuRLCt^qA6Kl6$$*w=| zpt+35g@sRV4rnVpG>W1U|YOaEuw2U#zgb^V3_fpH&RqEdoZfoYGrRQ(wo3c&4V zo4ues=Abmt7{t`E*>Ak0-ooq0&%CNaiCoS3niglKnX*+v&&91KCVD2^XdnhdIg=yg7^+=9eR7_YCpmMDbv~$`42Bz5XDIQg+R4r0 zE{p|fmrBB~Tw%BB6{HpQLizbo&YYv2fJX_?IL z9F_^WtE-quEbckWT<58Bf^5rz^h8le-RX@x%48t};)b2o7uOF|fq3-Vp`a~M;GxIu zW!8&B2=s_<2wGA%9$|*Nossb;WZq5ru8%Q56Wc-27$jJt$n0@mQ08HVcw*$kZrt5| zB-@Ok7hEzfTvG@MkH0Dxt<0rujqQ|PGlh_GvcDdrN4PRzn0|*TU`=zyPK9u%nvJwn-KfqHiAh3B z^}S^!y*9gZT>bc+$ED*ZGg6wT>M390J>p$O6GCrX%lJ{?z38@ZW3hg9(RO%#*%YWU z;@@3NR~HG@`PNV`4zm;VOOG9hgYo4YLWNPQkQ3ME1 zv8P91zrLl_OLoE!toK%-<&|PKt|YPQNmhQxc~BW5C=>KJpD#*gts*s_q#>shn|)`N zi^+(*W>)-}WZG-cZ4iXOcuJEOCgeQ>(IF2gYg3^&FRVqg>!$)xF-f+qfc8wWh4n&- z=-(oV19u6o#1hr@cPxGVvh+2eon!>1Db_2#mwG(ha7i-ztzXGHZs9ty?bYJa$#u}` zh@MI-Hqnaxya!opP7X&{IzJVA;J!+0PNCkbU!RPaV~06R}_m^7Gobr^_z9p@rA}Q3k;I;?j}{MS?6*2I4|E;`!I!>Z>waKkw-yl!)KrNG4JVt1Bds_z zFdpgHh4W~3y|{4lcxPr`ZbH1b^OV=9lYJ)a@FLgD~nRF2|^aD{_hq}zGKE0Gz-&dPp##yQhP^_w|r zjc!=2ci9EBjBbV?jmFoFPkRkN1(-g@Q$KPU7Yx(reG&n83^O%@$FDeQn+4zeXN{MhAqdpJ|l<(>XH_CtH zTk3$yl&DddHOsncvrL*!e_XC>v%%;63(gf7ERr7<;R4~&2&|98e#;B_X}txX;J+E! z-$y_JUyuCvsO}9zdv$WG@&SZj>3i4tUJ<(7q@E;x)~vrPy{n!ednNOGg;V@2$AM28 zB?!F;haHmxgn?hJb}-{3!yr-f4xT&DnRx&VwgdfT=&xTWs!yH?Lh`enwtF^`{wpb@ z=Kr_8!;U!`;F9Kze?byT86Nv{!}UAoEpE z`hKIYp73|{{ffXl6|SwEZGphMg?Ps=WK!AY_>bJ28(l%9JxqPL-uM?lAk^ha-G@)cYLSci>SsO|%qfr-el!ubPsrh{O4%DQQ05;EURy6`jeE@CETGw|S) zGujTAAqb^Ld%iMD;o${JxRmFlGzIyV1!J!c7$U@V*F{L_i~X9ocq*K@i2M?5-XfTv zgpVfb5m3oV`E3_&G6>G%i+y{QkADTHIivbYUpi-Vpf&|NI_FZDxmb>U*pGpzF)5dY zDLc2xj~j@<#XaDSDYY?{tJ3cdSB&1{xe_MvbloPr{zwk@9#>|k;BfMgwuy8KsI`JL1H|1%$e9W7;EEW~06=&3izxr= zXqrym&D#9?q559A3mc@z>RaI`Fhhj|SDJVW zO-ytMj}fz-ycKEVSeVbyXn@opVDdv~XO7nI)R?c#X{L>d!q?ik1I3@^VMbdfZ5~l` z+nt%u;9_NLf>g?0(5TUhJ?-hoQzM<{to64fE`k&)`pvHc)cm&M+y zSgnk`D`ItFXqSiP;?P|YT1qF?2Fn{+>|~iTM^`=eWi%Jh{RIp3Ga?SN{9r)6l%yhi z!4*w`J6x*fp2KKgrLHj5_qi*foSE4~m(t$ZRBB4nbQ1fWbZ(;i=-j(yMbB0>{OI{z z?6gWv!k^`QA8v7ym9%;$_MeNRZHl>K2Iflf9QO?SK%B16=@Y$E$$&>9V!MI>j?I>s z3{cvg2{fB5u-l?)Cnw)YTF8qdAt=8hks7Ij4;?d@`Mh_nDj)2a`lK82U(QdzR z{z(E50TT4gXiBt;o@Vz9_ppBpWjbD!Q&;9>Xj~7VKZ*9VUyJPRc!UHg`>s)2P|rjo zTaoD3!5@l7Mivr0%z-Mz>OQ~tT}W_qm(xJCCjYLL;1Ya@K>PMJ`&8?eOu^dq^m5$k zQk@H^txQxVBMkEVR1{C5<2$GUCgnx@8uImbz^gMbKPjD+M{b9J!d0gLVRR?jUC-b_ z#lD$Ye=T0GQ0*{lrdHpct9>j(-j4zjro+*GzDe#X$>M1*uYP*XQuB{pm)9P=s&jR= zvpp^K&{K~j;bTdD2q>(fc09p>R6U(GRP6gH{FiT}?px&DwO*ZbugMh|HmGhU_0-$B zOhnqhr%hs*j4mB!M&?X;STV6>Q`dA`-d&e>zn62r51tkO8KKVT;v`s}q!%YG1D%wbRIcC4 zfF2E=Tc+jZ3LF&#dgT!fL4Dd_>Q!S++O;&am*CRRG?bd|J|k1#;!kadOz&`J4j&lc zS?i7AQz;W|)7WDXuQlOf=ly)i6t2yMGPY7hz0Uz@_49nx<#Hb&qD*v2%C{tDHmL9A zYO?Fie8CS(<)C<5YVJtYi#dgiA2|6fipgN=OiPBS3vBUL+fc@DG9E)^AC>{~21G(d z?wzP;VB_%pFeR$u+#dtrxR|v=ke?=${fMaAca>qy#ij|_!@sKjX(hgm^}5$q92YY` zq@W75x05va)N_;9zhkg`tvY6M6w*8{Ym(Em?TO9{1&ZEj$k;?HM2|op!WU&nO4!LA z3$-)r1OT^P^Sw-N;tUZuC1jjv3Z(h~f@%7yvIp6(7ov{}6wG?0kUU-pUQ8?vdLQL} z^8;-XU0Mjv(*H=!M=2?hJ4O#jFF-;=2pkO2#@B*Sa6 zpxf7rx!a1lyQxJSMk6j%V2<_gRqzLuWLs3_Z>6#-bJ4d{`bXuyMdMi^GT5quZK{}U ziMK$FCgs4m;2kAza^3Xe$l`SMuqpk<>=?qoU`2Oe*A~RbD2(ns^!{Es<92n8h_xE-%?t-!{mhRk)aYTT1x zeZ^qzZ_C6+58IM6^C%KD$vaJ83-uAF;eZ0Y&URaGq%K zglucF?f%(zFn*7jgP3}8Hpjd*y0luiLR$r?=V!#vtnB-aPfb~?4{;tPO|e8pB&iZ=K8v{RsH&|^g)=pbhkNuh2 z_llXNQC3fs2PULFuU>$?`3NVLtt+z(PCz{Etw=~xO#@cs(}<`+G`K8+3?)EyrLYwd zCAtq8*8`%dI1^9>-&b1xMTZ9$^ETNQKbi|>QPfkK+rH% zd(G!`pUtd=o4H-I$bs8MN&{l4ikKuVl<=6yZ7y6@b-JBG#rw5tNC(=-;kn()?d@%T zdvZds$nQX;ESzvcvS^mGE^5F5p#JKszxcs>VQ#Hk{waj}QfxK<8_$24#EqCbl4tm< zT;e)N)ZB8=2NCG)9GWd`>+0~_bAcwfQ}RnT9k}!5S=#L+&C0~FA>1RFa7~hK;AeIJ z{21v5_H_blTCR-Ghbh=Or9+r9*D8W>+@CrjzX&Nb9rMq*J*;T;H?hrg9|Snm@)X;+ zSB&6vGwuL9k=1I)%FAc!eHtcNL#$Erur4Hr=Q4dSQg5v~{se!~r0nvgZ2NWP{2hfO zHlk1I@xa_C+g967aoz*$LsaMn_K25{hoKN}v7+$I$USWFS(gC<&>C;~!?Bk!?O^wV z2D8MvSPu{bD>8wQl4HYb0yt2wvj92HG;<2PI_DEAk%aN%5xS|zT5*v&!R(?(y{2IZY(|U0FW_$S+qV1W&LAdT z^~cuyi9RfmT~vh0`?nhS&t~6)pSrnI&)m7BA66#ZBP=tjsgD|B!K5a3?QRz6(JX~G-K}ZBK0{y<%>>sw&1TQP&p&t z!0h9M0%`)KxSov#I8Mng^adPyAicuTEInCFhv|?ztytmtRi~&b?e7 zu0D08>pX^?*rj*NR7THhMM#PAD0@?Dd!ERzs>uy%i_0AewBS^#2XR=8LBVVt&&AXU z>7pF%X_yf%ukeJ*qMWlfRX+;SWnu0&IjSjMkTdeGFOa8T_@Ci_B)E$wtoomZ`uaAtsDa|+Mf4@6Bg^p2oqzU zU2(?G6|br^ViPwL5qKZC;218LF2u)QNIPvyd}}HfyuA=&vx0tmS1y^Zqe3Tl*J0qu zz?sKx^;$SwaYa@g`>WJ>S+5Uu*6S%BL-a`*!LyyGRHb5@^G)F>|4|Bp8Z(!eMPnVx z>oD%6hNep({ufhgkXbB;Dy*<;k!wQ#huenPCJy_QB2~tPJ|Drbc;AyHeQLcP{ILp` z!X5!{5op!?4PLm?i^JA|OA~Wchsl+@%@nz^@Kv4YID?Urv7&hytQ*zWGc4^mu6F1n zYRIGNIA=R>&U)2U*ZBD%$Mkb80vR%V0BS-`MxL7ihL~yD9f1zN@Iw7T=nMm z;^qc%xwFv)v)h8zSZ=9LE+ed1fg4(?&OC>C4hzCcpuOug zh>V+br5iGw&U{-Q7Gv96>EUwirJf!4wI;i-$>tcj)e7#aLj{N{J|wBdgXVF@GWv#24$f4XWDwR?0i>5?@0kHGN5#57mkmB z@zgF?5j00;O;TQ+v-VDFE@}@?!C>adm(p#-SBPQd+pD6uPMUEBKqKQDEnFK?a zBwhgd2F}aIsNS6C`{(+VR_`?$*t;o|F#J#A$-4fRar~<|ctwKWRr&UC=CVM`K91^> zP}z2>i8c##j>2Jbw%OWs4q#ft+JS4-E2=^}PrqD2p%5@qUQqMx0-sljhSl?v1(&(bcGPoh1#;SG z9_Z0ryUqm{;jZ?)@g1<=2r@t_0addY877@1f1DyEZ+our?B!$u+w(kowI_~ddksmR z#=9`mE28AG=vs0W>-|o6_v;~qBm0#0nZRpA5h&1XUBA0KGuEZg5g@I$&$GlP9M%?a z!>521nCkAPI?Wh$G^-;2BXOaRLB_#q?KsnsKG49sFNjOc=T*Xv5vN^Zc_wL@g~Jc0 zSr)&eQ0WKS04K&OLLk9`F=l%q@>W{A%tm^VK3ta$MG!48r|bU`O;awRa4DwDz z76KT#SM8tNSCFx4o4vr@YNvATJMI0--JrbtRhmWKCv8y66dyK#^8a<%=5@MlW<)PF zOveY~BsvgY?a_buit`m+@%9}O4t9r~GA@ApAQ(req!bjAaqd{l-I;5y-9j#JL$?_hVcM9FFAvf; zB?Y>g@^`H-c?U=9RR%!39?EloCG6B!qcYxy&abwUH~|eb^|T`jjjKsEhG+f+!sS!5 zc3uO;S51Tb9ut`6Sg%^{RnpQW#E72Xv%oU?Eqy5as|0G~p^-L$9%D{XCL_+7RI+f|hM@CkD+BrAAJ<)^Hs)2kC0_^7A6_AUw+O2LVlQV;=|k5Nr*Gg5)985Y%%ahQ}&FF+!}4!$N~6g+D6W^Hs&XfRxDeg0r|r1J@XWoGr|c7A$mDkb{PA zL|c-YFP9vm$942AGMhm-@G1i)@g%vgD*I5P2{-lVBhfH3+tIqDj9`iph(nw#%zkA( zcoJDds{^{Spml!AKrSpeVt#Q!-TWa7_TW95->~2;XHBlO!d5P^t&lPxkuMe+iNZoz8D7VcHdDrf7lPX?Mtzg=w;aW8TW&*FPro99Tk1!)(sKz1JsZhiD z0{@wQ6MF-5g@7bg;(4HgI)aSLx?qUE2T+J8*AP?G8D((ZsJS%pLP25m(>h;qewRzZ z8L}M6BAbks=NAChd;wsMBkP?bslk?znrr@3W~!NVs1gh?_w1J~3ukL{7}33?GJSST7-sSbVI z_$F$lCCpF?uTuxN#f~s8 z4`^6_$gH5<%&91}vZ6FIvo>J_(I9KW*WK0PfnOiK6V`VAu4_9j_l7(1gO{qX2lXI- zA?O=5leCrZNR7xSTMNSb6_pI^3LQ{rVujv!gK7Z$IwuV0Mhni!R08T6z%oJ3Z2``z z`&G*ZHR^r^k;Dc*_!|_L;e$87!fS-46^kniT87m8y(2! zK31N|4)Jb_pxd{Pwxq=ej>ivX{>=WOpxE3m_hc#Po=h0p3_RM zxN678eZB}sez|a#KBaJK9*njfg0H?jIxMtvyKNQ%eqBz6=)p-{gyv291c}KMvexCH z$;U~$Ew|IafV`+E6Oja!UugY9k{R_OOvpXm6*jm}ky=^K^Pg?zZsqPK)56UF$ z!0veR-X$l12C<~kim@k@yZuVRL#(EfZ1{Z z!$#G$lt)EgxIxuH&o6gwS`L+S7THq;kqH z*?&>*`Ocd{H{=X zFD<>F;?VkD8c{~tR@I;13b}{-8q^Aql4;Xfekmu6V1JgoE#gqx>4&NRLKHpLJhNOdVVNt4vLH;Vq;tfLk#I2?($_`qzt zINOG7@r9~V*cD9?xfR;E{yZCvK$`8kS+#Fc4Om&5)B(xFuz>JmG?WEQas2qq9u7d(YhJq)doFb8Y{Y6LTD*PxwZ9>zbQ3hVt`2anVL zN;P65S_j2;rfibrDDL=UwHXiWN1&k8Z;LI@D*KEw&#TJXg1NO|){)f`K(1Ipw+VGG z`F0Hv^cr=0=JA+(qk!i&QDmk%PiR9FCy^{w*3uS45H(z|cnp^p(oLq_D)ol95>28$ zYsHQz{(`svT$B_-LYJ#L*!x3!lsTzyqiT3Uk)QwTQt4u-rHR={GhS38sBoF`u7Zw* zMJ+Bj7Oz&`HMoNacGs=qm&i5xddc3W%?*WUcQc~$bgALl(lFyTV{^3Irm=+O`mlKq zFfHD&DZwuAh@lNkVFuuH&=WB4y(1X;)fWE~(J;sPlfq+#$6*hwWN&uWIry-0pJA|; z2u#JqcIKi%7U5MS!igKWk9;idTpo5k3?QO54LocIE5&lLGavt9<_LVi++xY>?(S`-S8t*NwXSamPG5p1>z|GHRzyIZ+js|P~?ny$S*(U zdmTF(#0MSMV_4q!kT26Ou~MspWx|5IUvt<6$ugn z-G~*TAYu&Mq(EdWO7Y7FLHCWStAa<=Zywa)ri@^mlR*jlKbKM}W`Y3Gu8~YZ_DW_v zbuYQ*DCY%yf8bqU!$t}VbCv5k95z)KMJGN?27Fz%EoR%X+16v*&IS4q_~TCWPD<`(D)+Sg&r*wDbXw*D$Vr)E%nl>uSjz zs_W}2y+c@QNX%Z^R5DW33Vba(jx1s1_`i~G($VI87nOZFb@{z~*ZcYOy*z&7T@b7= zCJc@x=ezpMkGqmNFa`is55<~}gG;4c?;-eGNqCTJU`CgCfIQY7SzvC!}2lToD;M>v8 z1!@l{@Lo~LtIGTq{KRq>9Xl!2`{XbjUOEzc`Y1E0G>j;(He}}h7MGy>5k3W|!yEU7ELgimx*By764#Q(m4G`j;@}# z2pXgoJtjq6mf{gr=Ggujd>e4t#$A)$B%&KpBQCdF;;ccbR$EoFo%DH4@{IbiARcqC zQwkTWy~8vrA)Wz2o?xA7{GHe_el-L)<6%3UpPYBx+%a7EpwINiudMShVtY(4%;}|@ z#Jh1bajFvZf2d@Va0i=5T^@`rsR!^`oi9P!i^vb4wzFNP3SU*;GFggHiLXQU4WUr* z4TMAgt*>Aj6I$en|Nag629#g;)Hk@YQSIp8uPcj|r-LWKaW-F}_NsLJNR1hoC69Wd zIM388tUl7^=s`QWa4)*h_ZkTEG~=`=KuyWImm2{$&@`}E0hqxf5?ff3x20UMr_iJt z`J;A?iY?4*h}Qn=s#yr7={Z^pz9yP~YPQ9FJ3YVKEay?WO-U3ecPS2OfaFBI@R5

        Lu3tAOZ{bw+IIym`+eS`hnee?VE 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%0Dg6zb!=;?{f=Wp@ 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%0AtyoK>-8s(j%?zinDv~`?r_{L<~ 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

        8owG=maJF)s8?>Hu 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 &PDG^T}=z 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

        7WTW4h5c@1VZXym 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�DkNav@KA$ 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 z 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 RCudzG5!AxybIyA@+ZGn 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≷E^VJ0G@c7W3fT) z-?|?+A|DL1*e8?9-;P$33Yz6^v!LtSi6*yzXa0V)zQMr=E1TN-bvCziW@weFGHyrmllk_`ppO(~N~jvkR(-Fh}^GPISdwGd#bw zJzAMHt-XEy^|s%)Re$U6mw@dOS^)uq>5#iHZh^xO#ZT;qLSM0uZ9KHqe^lK6T%n7L zModhMtqAYCtM|v6Exhld-oO1>3-5PLkos?E>HSvq{?JehlyA>=B`L_}K7oPy@MdQSI*B1S>gFgLt2z}m) zpIBUges-KA<9}wic;konv()=(pSCdmm#O#5hY zZ!8r4e|uyL{9miy|NWyD`2Rxn{>+x%k5})PZ*8G`wtBy*rT5*{``K~di++-3b79bR z!0}Lnf`@yP&Qtb-rN06G&C*#7P2u&?q$zjk|GG1!|DQLs0N)z*{*IR3zog!u8uxwd zh(rU?)_dvSd3OJ(f2nmh^WtHBg0!4S)WD||HPHTP@U2*pVg3gZy?BM)o{}LsAB#_J z^~fGG)jhv93{6xLr+ctJQYIK#+L#69QHon7AyxWqRYbo{buad09aQ>A8V|ZrO$1O3y^tY^sqxHnr41)={)tkY4&*wgc5vcCer4fhhvnClNnr z_89~JMNP?X2p~FeF6;=hDP=e=#-w9?m%p(I0M}sFOyvr}Rx=;E*$Hi^Q0c4D*tOta z7J*;su!2LvZ*ImbhS%PXU%{4p@py$ufiJ5tqx3qYO2tO#!mQG(@G>W>FsJkqT;#HR zR$*@GIk*{~RXDu#bX<(cDjZQd5*K;8d|v4(xEq;OII{EvT#U*p997y67o+w2(WMxr z@doNQN^vw|egQC75IsuHZa;aGv)k37KJoi);X&x!IP4it2Xr6*NeJ0v(t!imFD+V)9{fjdbYela|3rap-?$eiXB|*lYy*9vd$Hlk z8tW-7!Ugi9W{vG$Iu4gTvc~o(#f~E5pscY6l@7s0Pc=ScdzK!LyIxsidzE@|(K~Bw z@6tZF!0t)VZ`Rm@IckdD?NP(7W6jut|I;k|6Hl6dFUF!$@vqIKAUnmR8Foc6WA)Tb zXUBn`HqPgk_O0_3FbW45*`Ct=7&)e31pFAk@!w>7dVmC;K3Gm9kMG zi97n|uKE|r-XVaB(Z{i9wVnx{Hf|&Zx+^7r0I3kn2~0s!VSKU*Q{7cJqc|QOl2v#} z>9x2xG^_B?(yPF=Y1ODdt@M06OV27yFZ~@Z`ezmPFZJQ#SS25hEj4`N6GaYy2gV8^bV4?jxLhFe>;4;@=nhka=D8qIVax~0@`6akW3Oc^MK!1z#QU8Fw z1E^U_1mS&hR8RVi4J-gaZ%a{%fmHToCjUYR>4x` zf6alRHx+!V_Uu z^ierX(?FewH84-SvNfJ}w!e>EmKtIOt>M^8eAtex{E<-uZukKJv0P zeT=|`gFYtK{5<;j-~16bJ(p9z_#=Wk_WS&icZxOsxNwd?Gfw?azpypi{h)tdbNl}R z`tT0c^l=m}9P}}C+5hNcKhGcI5wx-2!a*O0ag)Q(kRSh>KiZr>#v`<2 z|BrvBHU7A8j{lPVGyd8>kZi4E4}*25q&tlj{%&6Q6_T*HPlgfXTMvvNT->M1igu$c zfZ|9;)~#C92yk*r?*df5FLu|FV?=|9#OFwG4k0{w|I#wNLoF zx)|*TT$Ay`@sF;lo$Y_zEvozNX+H}7huc?P6b4$R9|!+E8eOJ+{1+Gh=SA1l8vY&a_lqvozV;pE|I;O^&+RK8Ek7QLuA&wB zfhc90@-HV1*+%?d!HR#}Y;5l9WWlCP`2nF%m5|**o4j<=r%hi+Tq*L!gCEexOUY5V zYMDNwVtseP6&Blf+#&7Ym^vOkSKSL5tlQI+Raw%b)L^ zDCIL$`Rw+VchI*hx=j1%+lK$Is{Mpd1pb#gS=eX;{{;1>PBCDC%h+FL%ZeA=8C1${f^)1%R) z+Bg0V`nmL{l#iBgM@CoCihQ%QZX5r9?JxLS@}l5>V?q=LqUn$N!GBeMxdI^?<|qrK zeUguM|K3V>_HS3yMm?Limp)Is807=54E#|4X>a)``B)KMYM@;3gDIY#hb_Ya}3>+Rawi~qNdmhv^KeD*$<|EntRQRR32VD+Yr_8t8B zYIK>F`P;F7|1^Xf3A?EM`*SP3PcX;|JCPU4?>sMqOSo;kMt&E0Yw??h@0QE&Jnstp z`moKNu~I&iV>A}ey_3D$RclHRnwgIv8@0I`r^p8k1N-cn)>YP&_QGWF?oAnqOOdIW z2Sd-r&!iQrDy5CYDXUc@iHY1_Pq4T@wTL%_Nwy&Kh7I$k%)MB)s4}GhBI>5P7h@B@ zdvS^P8iZKpd8gs8&pRFGdvW*b1Kx5J!)CUjUSoBhm(hWM+S=03ovXN6z=zlamuB87 zSJ)tjAj>I;51#g6lMOEpibaeebIM{bWqQusncfT>$>q(=!;67=bA8^Em;zZcBIlSF z79xWYppjU=G>JbYoEd~OQ{WsZaGpdsvwR2$%n6Ni#&&W2!||(E!F6{dB3q9iF@$kx z5KteGBO)0kw;lH!zef38KAIcw{v~5{ar=tP~?v z&rfi~xg;!>EsDkRSEV{3UEy|_&L@Ce5u}?2JXLgq8v?-m4E&TY2`%r1iUVVWfH&YB z2^a?h(ooHf!#IBvW?>ePg1AZL4NLJ&I?|6`O%M^iSS4pIVpNMIIc{J~h7mx#xrNx0 ze&`U6^KDwe{M#F+cei#NpZG&kqIqj-L({6fj!j)LBpkSel9bG*%7`atP=5v?!k%I5^Cw#vWQ%;V#Tc^1Sh58&Y5)pzOo3tx;DjXrX%5-KAY0@M zTZ|F57)!P&AX^lLzK@$*!Qzh^#UDMaB=EDgEde5?j=orsO}&|rJxIV^y^I-kltwgUrYo=|=gE2`yNNIQfSD*5KF zdWS8bGeztc^+z%MG90I^llQJSnn`(W|wfj29838lyad90;6?ib>oxUzC#qkFO|5Q7WG&d*VZ ztJrf;=|$KWbM>>Ci7y?5BIbjsnAZ?`kEAX-fLAz4k*m#24fvEd!c2-axse0JC{hGe zO(|l|@5gNvr9&`{Tnb_P8BAINZ znZQTuxAZ{%_R)X}WQ!LC$rZy+KZ`lDkgZ!C4U1DIpT3-frf!+g+>hYolqH_?AY(C& zk@|{BM7To0dYuIYu2m7V6X=(kXwG3f!ITToD^yW2>_3GZd9a@nPUa|SX1-vDS;>P% z9u)O-?T@WXYAno;&mgGkdm=#)38;B3gyAnhz65Kqa%6ZKfCG2;9OM_Vq-YKpIHkNN z^JZBmJFjM~)%;TI*L!A=zIFXL^tI~yl3{Y*fMnJ|uQ6}$%ZRLiSPY}~gc2P7smDE# z54NckLZQ&MI-s)k)CkeDU1{$bLBo(u`HM8Oi#kBO=|cxMF-|8*-YV!@st_@I4CNd&7ix-d&mc(SG*!xrL0|AhReRxBLHhE~8#cGB>v0_+FffA4TaO}!S z2;*@SLSZsQVlu_~0hrrntz^$8tq}QU-$l$7`sX2jz})xtm8Puz2u;76}y3-oH(T}2*(-T(meyvEXG_UX-Y)!c5x&J_8aDMoXq z810xTKKK?hMV5yk@}M`FCYGF`@Q@1!ujECJnI=$!HBCs4AG0?)DJMzNIy0He6nE8y z*!4jRO{l1~9b%-P4T^rcbhPPb0lNnJX_Q~3NlMxp5|bjX2SiWvL82-8s1yZ~+GQ#S zRtv=Zz}#}wfzx`q%5YbCDG@;dQYPS6)Kn=&)CY<)badgQ5= ze(>4X0Bg8_WmV2PUm2$c-at*wYw(|&PNnlyfJh@B{!Xm-GIh~_6Yvlrzf({$6h`F%eUi5I^+gHbWU}?coryLLp!LJ}2P;Ez} z<{byL3BZZoUlV{oCOZMJ#WH0|0cA=N32QRb&fzp2&WkdC_8G}xrwpgSCWRDGz7&z- zCNnh?GEU*+(4FyBWbV%@v-fAM=xno~C`_PI*^&j#xPaq>qui&;?=tUX`L(pb2Q;gy zdEW@!u4rU?HKextUv)hBwqjRz_brP%p_ZWQvC>J2P2M^VGjVTZyB2v)>wx2$vt2LX z!d*3i-{Gy|Q`O28!~KWa>ZLgxtg17A(C2@=PK7&C&y}p_V0(`i)=#brrN(vCV&m7C z#u`sTjiH+zm8tzdD8Iu^h$hA!*x*%yt@#gox+1muYBojDG zKm^E|@a0y5HwuC$@RXnlN>P+3Ha|X;J)}Sq(422WIh7#4!X@^1n=ix@k?`m0l?vbltxcTJ907 zD5%~kX##b(aWvK42Sll3e}t`quC4F%V1BHj)J^nc?l+)}7UgTvHBY{T*8AcGq+xZd zwO+}X^ok3L@2r(1Mal%VWa7e7wreW--!l@(UoB$YBEDwGzy1itwL(jxHYf?8RfkG% zI_kH@R+hd=e+d@}$d9rE%2Wgf)kYM3bw7~w(HXN>H9H|94ummpy8vZz#wMmlWh%?H zd>o|pO89r_WY~|Icg^gFUdj8=Hh{t5(tI*AC5FDQ!6SFoP>lk`F-p=>|L8-yejJqm zxMsl1{>W_C1S!8-+ObI_$08A`T{4HNWt>_FTcVuwLxV;oEk{`HW~h&3eGEcaAWtJR zG=;)az?oq715`wohzV;|3$ayZ1P2XKGwIjUkB<=5H)=jTVH+kce`ivQD2qt{wwAC| zvmpp4^{Xk+(l-+~@RJ4d$u2Xjmp<|-<^+Mje>P?*OFcasQ{kdf(KMQBo-`?%MgwPK z@l5UT^tA9;BFibNjEgs#9SVNH`LAJYH@64x*#j_m*c|A31{bAAMoOvSGT%DmhbD%n zIp{5#mW|-B>T@#^{{>o0Fmn&yi_8*BUj)+%xBT&QAjij8By`s)eo*Sii&0AK2?wB* zIma$Ek%bP9Uuf3_R-t!$qtJM}&@n9Z(dI4aA1zfb^V%}F?z&%(KUd-^PWvZZg{mMy z6U+ds>SR~-eh5|FgR0^b8fUkEHVds=Z1wbU7P=^Yp&u`^TI!2JI3LC?bqz}mh+nGC zE*0*Drl#11hO*GkOF;5Oiv{R_5W%(=Q9-0^~IXDCXk%Rn& z|FE#~M-!m>0BSW?1Ua&%Yo)f|3kni~vOtU~Lb*kWB zjf<~>H}K2mDmd1XRKfRr2CSUTbaPOMMD3KXse;4$Pb5MA*2=h2!39{T;I$Iq8b<|3 zDXPoW!<(z%?g?zBH5L4~mI{6ez*6JKWOk4}-(frHPu#`Dezdtx%lkr=fe}X0B8VVzvI|3QVtmK|_ipDDM{lBGMWA7+D%x%EklA zS`c)daxpA|(+1JXLQ6Ebm|c0nAw zoH(*VjfeR1PT@>Iql|w^Nah--|lktlN5JZY( ziQlJ#`I&9|a#5I=r$a5t3$V08o=Mo%BtPk7Tu55_VqBmv)~r=vM5w4BN1BF_u^>VX z1y~Z;X1vKT%k4-|X1RL>c`(a?63nNrB8y2X9N6q|GO1*G#MuHy-yKHnR+zE!y2FgM zq2vf7ct+wBoF7>jw z84k!-GOk8Gr@fzM2Kpcz0`3?Re>uMp8F%o+rF*M~DuG)N4-oN-pc2dA1;i+T#)EAK{{T&lW6?+`fMl8Qg7fWr(iUk1 z>oV1Wh3o(xCYVR+4)BRMb%KQ*G1wUJT-cG`oj#Z}SI(Er1i#}I>U?PNIQC)AUZB(e zCJzD!JgNru@s!m`saIUODlfIe^@e|Zy5YYDxc+pA>fqI9YQs*hHVvVr;JL^Z`Qh{& zHbJ=1L|p@#IEqbR#H4aT(*j*fe^m=;InCidB8IeuNQmCA1}5U`ci_!0wp)*$m2%Vc z;wx8ji3{zKw=Dmp<~S&|8}QT|^Hmc7(@aLYZL)^zkK@@pc-^jn-F7<2WkNFbQ&|1h zqhlH^B%Tg3vY5yPpPHH6zI3Ap0-A# zMmqNsN28jBwYOMD6<{<>JjMFsi)O=deYWag2LUWy!5viQh5y->JrX8`@b2`c}^E1_SluW7Up^}P;+p^eG zW6223K~i(4e$rn1{0SpSYMA9?C02a<{ICx&{P#9;_-*@qYL-IqgQv%lnqm}@>BKARL2ZW&<;}t%h)Y(8P>A&2W7ks(VAKJa1bc0C;GoHY|Lvre8 zqbkmP1>{XgIwe6BkD5pSmf69z7^Tsq1YhH0CJ>)H(R(K6(0Vq9Z-lA)L!H+UL{6Z= z6M1=Y%~G81lVE!OuoY7C0qwrDR_vADG6A8|OVbYpfq;UVrG@@jugud67)yf8S5PO) zD=HL9kQC%9L89uhrfw^B)M2M6$-Zg&v5^^rE0hVFF~*C&=NRjW1Q@Gh@6-ftL}5sW z+Ne2PsV=+B-V!8ht@`Jyp1@?!-jGez!eYx{5Ds&DDXVU{5B2l&d}=0VE3q@V#GlxH zgJ(AZ(yjuj)dq#pEvy$4xd&A>ufp;hxEG)0J+pjwqWku>Xs8n5ImG&uYCftO3W-Wk zDc@lyPQLMg%(sozH6XjDFml7`VFY%BSOPtJFG-e8S-M#LQV;IUf-5k-s78(FJhAJ& zq!!Gp8R-(t^Ohh2;rvktc-0 zi5XA-MqufaZ==UkwIfv8sGGDXUuaZ~r$B+F=O`@woc$IUw2?{`r;*A%h~tUy0Y#5c z%Wf0zt-6(k$W54{XF%4SoyJioL5H5E%7PoxEsZW42oA8;fM4_JTxH4?(nq}tm69Cq z?P0`+u4F1Ik@Zvg?hfus7w*b;cXU_YfI7=}yWCZmOC$D(COJn`mO;{KJ)#^?+NLND z*sx!Xr_^uGxGZ{5GtflTpjLY4vuyD2Ie8e@r$(xAt1VN?(NCVEs=D{YOcz<^OLK0A6;*%b^8xYSY@IjY$Mn~&-eaUr)p zs_*H3ssXF?rr};G$}bO9bj&BQ(@sQDE_5i$tKLOt`+m*N&X=l`0QpO%V)SDGkZA1F zKwi|e>;NKEq7`LOiX8U<3R9G32~oA6GCv+pN>ds8*op#NnJmfys%^5U);D6ZSfFpx z&5JPwlN_xMr{axrg0C6E4$s$KKE~ET5HezFI3lK|VV>PMJ&%6yLQCJ>@Ne|?q#dfa ztVi{BVTS5$_UM@2GFA#*J=cnrQgj>sU5k9xOZZCnRyi<&dET?2zb!SC{a^J%yEe>z z$48jWmW;5F&AGD?GO-Kvq^W>&(hBIGV0mBAbyimwLMto1MMTizxAEl2J?AIp2Yc3Y zVw}uQ1ziQF#VdZW1ok?Zp`TYsp7px5hjHctWkg#1D=<*yxP7cgMwk$5|8nzJ;7fRTQo+NLNiysWD;2wzbYc9oq)nGu79-^88zUU`Qg1;ntM>=87xCzbWgpCQQ=g z*r}+hvV$+s!wN!ndxqn{kxFR;*NFDft~<|g1pH{@4hj-D(m7{Y2A>fozOT{uL<{dZ zyYPLwzHh+2)iBHFupTgG0j87Xv(HTwA0Rs^w8Iz2=O*U+*O*&R<5WY#35aW< z)TCxrr40^0MTsG)6Cu97z?mQmxUKSoharpt!ifGqN~6B)?gCa29PC>M&U<_tWf49l z*5rj{KLQ)v%Ma0F0bund)^iG%#xcRTvE<^te1f9Vv{nOEHB{F&9H%E3RR`3DbB42= zx^1q&H47bisvhul7Wl0CS!X5dgbJ8~nq+2h+6El9oN@xMHvy0g=syJ8aNrF;RsC0QW)` zxNp$!NfwnID~2sTmc0Q1KcF<}pzE&iArczN8qK<+>C)Ek06iZX{sSU}H$tLe6w!?k z&=tXrNOv&V5|m=ZOA&r)RktsF{)TaV_vY7rk~B6ja{w|3Zz&n)3rvZ^M7Lcp_YP z<0s+IQ@Db^@TT#W7j5(IJx%7>_ggc=fHyJzpS=?0WHRqL(m4}^l6PCHV=MnTlbdV% zeX7de4r?Rwl|sH|BNz4+?!^VE$aGwK5iTUl@dR8PO8*Em9V3}>L7%L`KBXhLa)+cx zYGmYyPUd-X=6TyTG*#A=fVJ$j?JCoET8S&O2Imi|5c|{9&1=eA$SA#`uL2(xV!!IkA24FZ2U=9y>uPSO_9bb`b9)j;-Cig^Thp&vPGrYvEu-QeV<^t%& zh$hEs_ckvE);;G<4sQV4L5B85YTR=7?47_O=BE7q_4yTzt{b~#Zq9594Z&Bw;P6CW zcCC9(AKX-Yb~B^o2PTg6*XC9<+?-q6(AgI}vqNr|#@t!E%2CJku6h1dp$c40srI2g zIUW}=_5(ZQ`gfst?Pmv~K*zi;tEW_3MUwnKhR>3ZA4NH7pkt(gUid!A(Lfh85bnqE zLy>F$0Cj0#l7DB#r#IJrdRShURkNA|jGidv^7#u={oBzMLf0;7IF;XCg&*r%A2NCO%jHqQ_0X^Ss4Mdz`K>Vzz^@UU(Amf1 z)pD@h+>A_#)Cww694L5URq?=&W#NfwLIU{$TpI1 z1Ye|l940n;eS)7bW_=?S!SHXx-b2+u1QvvlY9A6`IjxBQ&>Wfj71ZXJkV%XvK!sL6 zI11qbDx8VvFgl`btIDVx`*Xs?BMMv~*)2{3ZZ+3NjL{k}%Ouj4O3l(7iprkXF$M+br_ zh3JoMmP0)o_+8M|`AnRRH&m{bqeA&Hu;e&$m5G^36NS|ySsGcm4PQn3kgF7d{F)jR z-6ciFKO{tVHGbMlbm3I1`sQd9v*c1zpnrqf_|yQnDb=HHb%2ibF3+1xOR{+s*E+fY+9&|8{^eUg;4Q5o~k8cHc zJkV>0d(Jp~LfLyNNT(7n5)yLD8!l=vvk`ltiwOTB+qz3(XR8*w9*bhO{g z;UmFmKrG6WI^;bLSdsG6rsG60m%Mw*dgo%r)6T_zz|{`xn2S4=mwgagQnCZ zz>_eL(Fp<%V$EM4a~zN89|MJoKxX&^S>`bhRt)Qr1|3!Wr}v#qotwMO;P)B}*;|Bk za`Ai|=2zG{C^Xv4vk|_pnN||Hom-R^15@Pf>#w^P=d}6(4k}6e9y7&!>p&7`VO(?m zTd3y0Hl2`Y2*zdX1Mcgpi`%=3Rv)v|z6uo@2;Ze2uS!2%4TE*l3OtMcEl zVYqL5j(;(Kx#x6EhOC84huaa0N4pmv)*-iiPxsQK_Qx zDQ#_QZ(pfbE{YjI!o^AeD>p4SFJ~ApfL5+D|NE|e&dekPTfhH#{y)!?Is2Tm&)#dV zz1G@muf6u#>xLxChpdh9IQx+CR;Uo?%LKwlvZnRKx!-tE4ry>X7CQK)%ikg2TiUGC z@vtnscLs_HdZE|-qb$4|dfo1>A*;4idADt44PV!zma1%25#w4^$ah?u^-nlM;EQoy z)cig_FN^N&i7z^rcUzxyV0AyuDmS*rC&+h?s_%kcD0ps7{qS98yPD#|ARpw5AFD6M zcr(k5&1K;|sAkCCxwGGmOIH_GfR*_OK5I!D^)`vS;7K8RK&za>B2&ZXGQlj~oh zKFE@cSGyS@e%sd1UPrlIBwK$sTNhRTX-PQaQ;?~vWQsxElS(0&QC3=>>yQV!T|J6a z_<7OI3UQ6BImzPS-+DeWcas7ek!vK@c_6@na^(SW`E|_0A`G;%*Yv3r~SQEZO2V%XU8&VE@cz|^Wp09;eR?P^PE>N(X z50)x?q$>Q%jtjp4MT%}j{l^ax9ezjDqt}`{bcX+74>)G_M^;)=`AO1}diCpe0@6BHA_xA9_e9UK-+;~E!WjEm> zgD&vhuxbsE%q;{ZBh=fH4&F9xs-6O%?QSLj#W=AD-|!Evxl=f206os5$ds4|QspMNoLQi4d zD3jq9=u3&xs$oIjo@oQCu7pJCL3K&y%e&j~uuPg?dtX@mbzEf9{MvDKj|+KxAt$4% z_*s8isbnyfER*CKX81mnR-h}%7b9wE)u@nf*R)|(l^Fj9d&`Z_%fcVd2pVex zn?DRBnnT^C#heN*s-tDtWE8dBiyFu52L(rk**5p z=5^V6bXTT14C;L;=HKhFPa?WE)9i636zHyE5s3Gx(ad0{OmobcnZ9+}6X_=|aynyo z0eH5DFp7S8ja!TT4+w2;!On(-3kQUiW;Cs>?q0YOGaym7T@wok*8E}ig+D}e=GEQ+ zLKu5mLo=Ia*sfCUOo}l6+YiV#LuXzTPqTcewkrQ#ZeDR<0Bg}39JAM2wmdODl#motszI#d0hgBG|Ft9& z3SQJc@($z$gaR}`z{ABOToL2N&rfKoL`n~OI2W+*c3fRijunoRiho(YGWIM z2*@q*Z=ZEBy6WAF$aQu3MM2{>WdPN6E3-dJgc-}ul|rlG@{isi?8WR7idrH^z$&1g z1YcxWg|-m90@klne}nz}p~rv}zj=Lj!2Dru(6>ozd*3n$46W%Q^l60lY(yf!um>Fi&BFGptnLK09Pt@dV*wd>49=_O4PLI? z*rN`jXGl$0|IWrrxi?%gs}~!s*&0@aW%UPy!HH-m`d=n$MxY*)Px=ql?M#63VEspf z(bkBZe~QMAC-ozw(pqD~kgp(%p=_w9oP~jp>hcSqo+*=7UH)j4SF6eXxgG07PwV?C z^)$qaA=J8%k-XjD@;>mK!a}KyX4NA?jP6*`{#}50$B>b z>}8LwqSqSN5LYc5~fq#pl_>Yi5CpZ!8*WA zsE-Tc7$?fj0iDWyduwVjedbsvx*0?8T;&Hwf_|J|sFPVI5_?$p%-T0$fM*%LS6(*u zWgF0AO1Cq-U>e<+l!;5wn1rekOrUhmB%GaBO=%1Si|iHm94P|r3-}G&Zyb|xDXnMG zic_`iPN;$(LIdnuaE&ppAhTl5Z3R6-Sm6lx4o|x$WUL6FRTbudF4DhczRfi^K>xhP z9M>fi%ExV8dT>c~37a%t0t)%(+?Icpk|5Ub95l|>Q%y>TTvSs;6N0LaFJe{TCWdo? zU3M#$dkL*^1T+cA?bRUkNQxGokR6H67#Hi7P77wX@3fk;Og+rJppj9M!Qfr6gcu0{_;VIGBjvPZZMIjuXq24P2d z3}1vxKFuLx_OYkrJB*og93BRWIkOHRiNdz8=;X0~jKbI+5J1lE`K4ebc(-Tmd|EzT5gyDPd?wb1`M}C4#WWNJg-a?42KOA`|| zGV_U_Oa0*3dE_I!;KpCR!=@Mr8>q$s<0da*!VlKP5N-yRtz1-5*!OIY{Tw1JqKawM z3Rp#FsRBEBC<0Incx)W&sm?Eo|G@srsif4Y#Oqdq+E58|!I3F9U|fk$N?H#RM-LRV zsn?j4ryE%>;}t;oeH1twL=XTUMu42xpKx*Z=a+%AF3ziByNDY>BWVn_%bQrVa1MM}k+={18YXG-GnSLsi zebpN%`=zSkPa*_RL+fem6+u~X5@i^hFfamTE1gP;+oKG%DU_l5B+6bta7vW@2Cu+2 zV=hC+^W8Y`(Z5+r9+eO%eMp>;#PeDaC6_ zKK~Ioaq1}MrXXlqa6a#vfhtfJ*PKnL->3)VfkDq2K2wlb-Nua^qX@_pl*~_2Cjjge zNwkJbZtqS+i!NCZ$5SaU+m7auDNoZ|P!^~dkMmY%(CMA^a(p#0ej@0U?7*^ze*Zlx z1;vm)&vycru2h4);ODj!entrhATuf|4$xlvl~Q~x$l!*FE!_Z5bw4$J-Xu`KdYl&R zrX3pXL(dX*Ls0EW$Ep6;{Zm!-ANuD}spKus|M&gVlHFnd3>x@t`scA>$^OYk8@^rt zoPI@m|NMaPxc#&2976HU{qvJ&*gubCoT7iUS$!c@92)UL;Iuq|@#EHG+rDA^SOt;{ zm;ALWA?ag(Ux2{&q?`qxCdZFQkgPBHUoW#1*?l1F!zFd{0Zz`z3ga#1`;N2K(1U%H zk5Wcv{Q@uIfyK3#ebvbKmm%y*xWq5tonwFML&{{~E_#@`Q6$2a1S)S8rmzy}EU{196LLHGtQwS@znc9r-L?Sm z{V{15H798nv;s`HpaBnQPQ2?NsV#)ypQn#wYSgxK;t!?>f&RbyVVG4*d@s3j2qA{C z=2BlWiCT`2M`mG${l$fb2(ZNofzXlIgnU-(D&cj^2Vfaj>L*Ar4J>ka0AO7eG> z{C(`XZuWkcN_HqlM%KlWy)J+75}JR8G=HK08TPGA%(^0a_;BVljZ1#D00@h7apZtq zmEdvyJvV<6QkY0}mfbkf&3j<%y$g?wzBoMIpFf!DLAK7g!7Q7J+)})@_hQYiT>DAl zwxBued^l|bNmL5htrNd(HFR-d!iG;45*3(ma%H5x#H9YCH9d;=AoPYKhtb>GTJ$V$iTb~3fPs0*=6;7cW5iS0D`IxTHxJSiEM*)P$sbI zI%YeOAFUDHb!*1qbXQp^s&F&=rkSN$J&+}UTDHf^1hVZhpIluNKVz7o%1ML?osQ9u z@N?pkl>53hyIIyQo{~Pppa5^oAZjHus zjnz>b=x=6k0R8L*cFL)GK@ckIPAP;EAXmR}*va}Uo+bGMs8kFA|2A-4`&QqzUbt!O5n1vLafRj4jkGVkR^cTLz|q{0sU%g zfG6GwhBO#Sv$4h&UR4C^o0;{|p36IN$<5IKgT_jGC@D?e+Y`^AeL4z~!T5LtdZE8qulj8WU%_4m``1Jw-w9H&NDF+S?SbzB(QI^s0 zJSa6?F|O#=k67oP+j57S^+asXO0Q33CZj`N6dHeL1>W|n%*l1qx-Ul_FcqX zl+lm6>z>s{--n=N!@djsx^8DYswY;%qb+;d|7c71WK?z8xNpe1czol&NcaE2GY0tR^0D?$$$`f|m8bs1DLIEgfm zWS(3E%BM)g+X3v?C|tc;4wC{B*)wJX((9deD3+)O%>l=7ianBDcPrg)F|1WzsfXj3 zkbKcq*OuiJc;cz*S&2snV62EirC!~M4?9)mxX-w_hJTdkJ*caE zs{uwVJH8J&cXz7l=Hx^!+Y=(^=M99La|7Wh{#WD%66a$>r4Hu^1D@jcV&Emm*?=O(#zj_^7uOirC;i|d+~R_{2uOw zQZDs3%ysCW&&-1vny zJ?oNdh_tHBdHC6$S*h(nwW`X`30T&R*9lTLCf|6IDPWR$EC%Jx=X3c*K)ISrB zJJ?>ed~2f3u+4ER7f76j*d$y`1BW64EY|U6qG|Y6dDPeA8J74*V;YpDHJ+dq!IX*i>#vx+u6G`1YFSJuvQig2LI8w|bRf@1%p6Z~JW*`Vo0W&(=p z`8Ir{vo`bBY56J}itn9NQ&3;qshX2^1 zi#GFJz}`?i<(A2JXfxL#UD;5Zc~3Rh@3on9NnlHb;7sFrrxziPy9o|hfiyhHxrKX zPA=6rw^uo?X|MlSJn$RyqWo0TQZ>2yb@)hEZRQko zmf!T2H5{$HqxR?8OzKkm3JWN2&ig7qS1zNd3vpuzW1?IL? z)kR?L*#>6Me}Gvdea9l0asu!y1p44_ANkEm5+HB2nO@+(q4?JOs)2j*SAA_}l>_`6 zrv^T;k^1T3+%`~ki$ivvf*X4K{STZ>Wx=;!!C z&_jWjHLc5#9avxg0mOU%GhOi>dXeJY5vxgtO;I&m8k|v~X$KFmP67$=QxzS@;;~eb zIb?@a@M3?rf=^!f78P8k+NU)>4eAV9WyiRBuclepnV7}B;2dT`=7j8kr#WO^7ztT* z`H9%Is-azKE^a8EbjyT0Yc3$={`|I@fk}wN$M9jB;ovF-bY@-8hT_|PURhG6&07Kd zbS{SjF;3Ze01fI=GY$n#zPGw&3=6z>DArd;Vawj3zj2^%{tQD}idNzS$UpXFSu(!4 z73<~$SUhG(l`0JXDU_`Rg*x(7HA)Rqk=P=6!J$5UBvWg=l~7tY9OsrVWuOV~$%OTf zY65Ygy)p{NpS-5j73_|p`ck$SA7$7ZParbwV9fpJIOk!(TGosg)MnPm)r~LllI(_{ z_OlDmc_xA_S2xCCDp1g3`R@O=Q=0poMeo5*>SBNyE}8x*m4dt^uEHy8p;A5Bb3khE z^xPO#D`&^P)Bn2hquSKw>2N(@;%zR<)Ov*@&TWCZUFh7hM!Y4?9K1XHWwgexaEY9d z)Fa0dDj{#=;m5vkBmE6j9~oD|#LYfz$D5*5Ny&vP(!*J`>Q-M^E5EAliA}l1*pxfC zRGZfl?=&P)+LX|m&Vnl^Cc&P`cVY7qEJknZhqmd_BUglXdvwpb*m2nT>T657*I@TQ zVt$$;pX~<@#sH5K#1A3s!X?F@5Q~}}#d@oFQ}vSdeFM7m8s(GpgMa^&anW_4z&VQq zhl?HTf`-96ZXd1^PDfMzQMe5xHiTv->Uvy>-6AG@gLGq@eKv_Nf6@cDTG>t=Y@ zyr(sOfD%K6#{-GCLdM5|LpuY}#1+9o#{!=B>3BFXX#7Q7pc$`#-9ieZK7$>(UvWQ2 zf;&DPKk%gRiC+Li0o;La2Ci18B+e_*nsP}4qC&%d>CFB*Zz5Df{x>a z84D)NhZ3YE4n+hJ4r5}_RLvAudhGe#kRm5XvSMajTQMhiX(AFE2qe02#Cr3_g55S~ zK#6uX*lz2@2rrIR)VIFo0(PPU1=dggD*M+V=oL-I;o+an~x>CME97Il`h6CMNxiiB2M7v-b4)DdN-Ol!+nD zV$9+ulAUnf_=N>ZDE}iMZYj-X!^0)3ZE_sY>a_XN zyqX4E>0_FJMy(_na*;~Yg5j1sdBm}%h~vYv~nIjxtt7^ zv*Qm6KiLA$xKueSu$rkbJqID}T};PA?SNTkqL9bi6mo_Xf;e`FFKj=MEGCd%Oc&YR z*UVY5NC?cV;oAl`IV5VyVQT=7ZW=;aU`A3FbX_-8;D=``Zx!L8S_EZKo4i?6d;}Sx zG&$eK$Et?Su9IOlLEbAaqX;U55Uox5_4ttMs`w0+H39)>?oaSwFqC#Vr2fc{*i&A6 zJ=Rl2>JPXaj#gm0mz?4=al()bwmL;s!92oKb0>?|>0Sla8x8+QLaV@nTJ5A<=zj4a zperYI+*5eplmtU^aEKjk63{`;nB=&$Wh_d|h56rz?$sLGBl95UkDr^CS+P;F zNK>DPu?37IWjYmz+yfZ?^_Sm>;gbJ^;j&qbZ+zBoI>v8X>D9DbVKoP#YTHOJNUfv< zBU6d^OVL_3MzK`8M|75{HAI$6jP0-j-nyd=Z()DWHwwFHGr?SA8P_gd*eT{}-IWq{ z!wt)DyLg@XRfoMu4=`blPeS{ex>dI zTa8hx!vOi$&$jC}rL6TA7$K4xBMu)0f8+OJGAo{g|pK0lVn<#n>OPpJWrHfQ_ow z_|~OqF(XgG{&0&+#>>B=5#4a+GY;jfV?%_>DdQkxVbQ@>ja`|ejB#C{!PLL6h^HIY zdOc1(9Pv2dQL^>Ieda@MHw>_3j9si3deKo zcMq}&NYmdNTPw_Lti~7V)__NJ>n3=z4SNKeU!xzNRvG;~TYHu9Jj;&zJY}>pV0f%F zF0X9qoCTBI(R1q7g-gz0;nlece@~-mVbz=?(d44pXGmhvEDz@s+ehDl>(;+dRB+auCx)Nk~GPK4w$s$mUO4aw~ zoLc15&H0mfu^!8)$7}c(;IdrO+O;^oU@Io+_6?YFkwA;|hDO$wQJ(-sG|q98<_i&) z(Qty_)p_-X)sn-I$8q@2H}ZWVk(i;IFN|kaSP@vAu~hCF5*YvyhYR6?%zQ@j)6M(g z`EdviQyx}m;Lci}m_acdenS(^w4}#_eGxY|^xg{ALqckd3$&ho|=q6z&f+G!uNkp&rNIX;BF@AS2!aJ2f0T z_%VWKO#6-B^f!*@m%Y-z#IyMJ7W~RLtxMRS_HAI|4yXP0pEjwsfQs8p_G5pCVc{fB zRP?nTMLYB*^f5L`Ko}3ThluVbpmjbwGU)qPoe#(-ieW$Yy{pX*<2@cvt_qq9r2`5P z^ zelAGy-&pbwjK#(9o(GiLT#>k8;X|w@#stL0!W^UzZKgziR-85cJiTy3(0Z7p5;(Li z0NZ2GdW75(8niL!S-*rYh!>c+gg=93MDXcb8`Oepd8%kp5Xx+Si3YG%*@rMcBI)82 zybW2897ksa;8+-l?km35>f0-1J?cDy^A)yNLapr%B+7oDsKghvUdJaihekhw>*h0^ z1=-TSI1f9Z1-BuHy4Kj0k9}WgjS?co5gdhI2$#L%^tC?dV9>hr>wsr-Xy&KWpT+ne zX!x4JZnfEJU=sOLP5awj7{0B=yQK3+7YEJm=tykR4;r79E#?z6I~pPpzvk(VxH8424p)wacx6D}x~%2A&`DW3C}?G#6ZEan z8X2Z9h!|Btb97$F*bD;b6twaO27PY_jDH8TYY*tY+U$^a&GwLQl@<<3?m46_L}2JU zDCk?M&Hf%9D&kg>Q8wKnaL;?REu&BvoZkyXk7E=5dm+zTy7i(G^RTAUR|L#Fq#17T zm;&KRJO>U%ENnET(4-Jt3LdgZW!3;6D+|BOE{3_gzrT2Mjn3ehv!B2t?g%ZQWw=nj zE@nvO=&>vGLF>UDK?>cF?|p6dEyxNH1^x^9zSd@6gA4mMkIQcW^`+VBuK=|v-8NCSpq(I^NK*KTm zxXpkexsLG&j#4P#T@ji#E&p0;TtBpGWz{dxGXtQFU<>+Uv@gTOZE5@xz$*K7gU08v zGBgDdngYhxbPAiqGDpV|Qlsq?M2}(>1tB9IFy7aVV?kr5JczvwnJ26lwIiRx{BFd8 z#!)-#Gbg#-K8mMU*tBPB%b)wrrq5=ws71OAl$!f_U^ z*yP4W-kvvV}-YCIC(r|&ZXC$$-)9T_7bI#y6PI6~jpVxJGHVK-qk zY-~lD;gWMVQt9nu|M_F;yVwu+!d5(2OC3)!$#s2^SyJBJB7sWb$tY3?VObDHkP+eE zMHm>nBB(lZEKW%;3Yl|A1tGJZ1Q0YHR2BZc6%}%R;6sfeqcimbsqrR^bB#(3r?By*EsZS1gCb%-ldo3kAk47*s@cdT$Pe1`B=UAQR37d~7-ONzT8EHis;gWs=?&+NWKm8#g#@bCp^$urm zb5!rtCwoVsjL}Cn*$>7jWKicp!f!u-TYCzhNhUMcl6m37(sxlJUbjYjX0Ba^MrCNh z^#8y4D>ISs&0!(a>l|Lf6hBkO|4}GHM$zvxVb-(n5EVhk z@krD%2d%BZqDPswru>d(S6r1f?4nXsVFv5R2Mry(79nKRm8c;Zb0bPQlCd+`S-`F^ znAxmfjEr1c91SEiBdxc{BZwg;`GkKUbe0(8^pf&IAM1?7p_!Y?q|ZWHaC5-7ZpNL| zZFTTSL7?F%1n-RMerkNjdVS{^eVvCj{(x`)v@3$XQtx!11ggdUP%P@hL$V*2F)^45 z7y)BGL5RbH1rH%xcm=4a0%`(lNzQNF>hksQVm2zXF2{Kkm-(G@qZIo9Hlt~C=}MCP zKIoGgwTGX>Q#W(dU#0O_|71tcf1Z~F_9e_=4e+?eP#qzFfy6pQi98*%riHk>3VWK$ zEd!sHGDOBrexSsUVDs+6(BFUQ#reo{NwwnF;)sSnu2-Vr5-jq<&;Y(=VanN4lG1oT z8t+Hr5o4YVVhB*>MsUIL*i)*f1WK;i3a}w-^w)vJS_Fzr1FzRNf!CYhS!R3ix;x-K zw)_7Eo`W@ZTFAGqZkXF)JwSydu8?OEq1gZ+(j3 z@RLAX;B8g6I9&;$32E>4=k9yGu;1VGV0(;hU8_3umR;X~F~t6JI}|Q3X&w61aX`hs zbod7|&(e&H8mPw3pd&+2z?uZ>7}{?ilj9nNpq!C>tW*E)ovi;X5Y$!_rwB@hSf1%H zlPWj{Sk}ZpzyRvf6VfMoLu~<>81i46c^Wn#t*$3>J+TCMJBjE&@H1t^ff!3rjLk9y ztC99t6>)}MC05~m;`bof;P$HP{g6Q55GY1Tljz)gK!sh6_Bd@?qi~udZR&tYV0y{- z2e1H?hD-mG#}(l0Xkia*R<3M|NXT(gq5aZl370P&H1=YZ)K8xLm*7!1A0!@?+q~eB z;~Q{^6W>yJ6wPnEXc5U@2r&CguurOEn*`_bz3N|W=5x^VItH!(NuW(>AvVsC@%7mI zr|xA0A4x%`dN?+M^+-IZkQMSoLOd3nGArneOtt9JdbZOFFg}^+KmUXG0pD6}HXU2R z9OMxM*bNkJqzNQ6Xm`l?u&m(&4m($wJ$jXCYs>Fg>uSwqn99j8HD(TG?DH0?K?!3M zd4FGpfyc35g4#mHKVo;_>KXxD8l3qibXB(>Q^Qp3fAJW!W8VnO+Wm-LHOU!;B82|Q(q zqX+1|gOh&>^-xKVdLpom`7$u*z$j~&mS(>kNIf5urj!x$@6c@s2b8i?8!_)fQDTrL`|P^$_`jDaG`AoJmM^H%GC-x!j6K zXg^#xd5mgGYIf0bAc2-}66nq@R;^O}8`|OUlE@^)1A;cGWKx>0FY`ltBv@Uw)PCZ1 zw}(RQ+oIrqEd_r;JNSJf@~0<3&q9l8I6Xrw38xio!(_Ih7~=+ekmk(PbS7#~y@HYs zwzqGX&g@yKT6pJnXEu{;VF$Arsa?tMoBow-=Azf!W_~BxOx3=9srD6%RfdgR)JjmX z-iht?Fxik4Fr8Z$KO1s}l8VzzY?Nb28%Q9+kJswJirFZSR8zo@@>n8>jwhUVr`3*y znLOhhUM})RGQQ2pdL9B5@Pb&6Q?C=Fs}B3Tamd-lq7Pb4ZAA~5^948+1hOdTd0RH6 z(AFME0!PTGU$;63jxh9&1!>kXc|W%76y&`fa-bbir`;<2{Ue3HT%iv_=hC+}^BF-0 zw(+g5=L8#W&q-V`HdJ^CvuD)Yj5vLu3(WIA8mtJSfHN_>*qQa=ZZhz=T+OInQ8TKg z{5D*&GOEZUxRnerw9Q~5Gi}JJ)eSPe*Ubh&p7|tu5gnLIN}Vq^7%SC1dOTa?{{u^1 zqUn_+nv>dJ*)=J@CM6xK5GY*vSvanfZg2oA>*LByEXq+qfW_jedQ^bwuzZvCw!9E* zZL=Gk7qA0o{rl(mqQv=PqVqzhef1@-?>R57bzYR>#d$wh>wA~Iv znt?8^?_rjX^}VlTi4ti#w2@Ka&W18>X5oDta1PE;aI)~#x1Hm$cfY7gmJC=qTjYX5B zL+T@ZBF(Iy?w%fe<{*t&X@)r8#uFDwVL z%Si6ihJB-z@zQ4yV`uny-OFc~<3W9pq*o8jwI#0tT_q|RkgMS9)Id?Dsq4B}? zP{1b7gc`6~(@6lt5DVZ`F5R3?(g2VVzSfNjvhJA^yh)VUf30hS4JyqJHWnqZariZ2 zqmSLN*}=wx3k4fjV=R{mYit{50pY`mny!oK3WPw^)}#}#1a#GAH>hrVe;#^?^A`pU z4!_9!*0546U}Yjc;9|VQ!pILW74!zJ9=Hbbu=uNayP#9cG%xlgjP&B_VW&pWgsHcn zSGlZ8dA09>HceoM$}82OOomH_OB2MtwG7Lx?fTT|!?dMr#22{5%Z~GuqT}YYtsyyu zYH1{rm?d1Yc^Q#}_&PVa<+sNYh;1>lgP=JNYZfqZxMbsertpN*68`BeBN>DPF?(i6 znb=h{s@Tq#VqumW1^NT#%~7Dgt0B2^Zml5UjVeZRph|)Ub23#@kC9y^((8Cf{}>E( zSvg+bS-+vO`9nwiL z((6kVBhA7xt{`1(m`(%O5YVbLB*jQMx0XwL*ofOzQjb4?${W)w|Mz|Wx$;t{@^0Uv z@(=yV%J--w7R#U-3I=5SJqvtCNta>wLaJlkWy=eMj>{L&r_e;|?2yxWm|w+iI{Z!Q zi?cpJjl!9KfXT*DWs{(lqani2MEuVsM61{S9LtnqtGzK>`8JQjxLIxF+`BKaJqf6+ChgqFswPHv?dk#rWff->P8?&wcA!0cm`2Im=1O*JId zoFv`WCpp8c{co-Je~_Y-^LwEdqA+GI58OfNe#*M4Eq zNkl^WIQGr!%SylXqmvx^0Ovr}NX-v?!;dVuv{Mb%5R?XK<{ZGij`N(NJrTL238tXq zL@~${+Q%H}TP(58+=7Q4tHVk?b@%VmmL&SK=*F^kX15Gtfn!);`XXS>9d-_sFw#HX z{IJM%41oz{B*LTpkZ_s9uM_YdAt2$Bxv!|Prr$qE*-)Dw*^1}NhwSf6I@~BKvg=>s z=*z$fn(6A#-=IvVmBBu-3;yQx1o8j$H%>1c{-kr3gMSFnx%u_PsB;hx`(qNFbTQ~c zElN2zbMM~SHN8D{@gJ!SO0)uKf=|ATCf9W1gIesb%(0KGCpfrs^vKZ?H`mJg^`B0M z{qflI_!w0{yEyye$8W^kMSSaD6BsJ-{)+@60yM+%cWu14v=kZir2SiLfrkZLJf>_Z zRRo05U=2MbMMH(AO6ch_%PE8X`}a^NI#|a%=5QvZ!3+E4@|wyg$GkV%d<63;qO~)| zxHWvk4e)pTZVj8m2PjQS1^E}NIVjpOR`={r){8TDpT>lVRe@S$k{eMKVKNRihIJ$U z>r2F#OcuuCwB6V`^#%0dKA0sF3Z+*@1RyS>6G^3@44UX`dHiVm;LAOwOJ&>Hf^NHEX6b(RB;J>Ucdhs2;X;tCurjI4i1Sw zdVzwY7uJ{7IAh{ujEUU0CssFx@jZqqH|BpBf7zudX}+S5If}v-leiEcaT{Dsvg~SR z>!_#fqknP`kfMoLMRF?6{dbF1@RX0;MaYIvn#oLLWF6kd^EjR5N5#?8mscMN{gK$Fcs^YubQ@j;0t` zC2xR{fP0ytAtM;W>E(B9rwKP?jX%Ki%E|YU2u={|%>$!8jbHDcI1WEGuah_8=j@Yw zT49YSF1Kc6F@Mmo;TsqJ!QtGcfNDd5bBvk0ksIQP>ZYe8|!caPPwtiZ9}rD zCLkvm{<3HytHSDWsUJ`L<({w0aq8UM)hK}OY%neYU6%q~nV|`Zk!Emf=16nE)`;j= zA>U!GaU+(H0~3w}eF<&$QZ6TBXrbf`6efa&Ejl+51H1BM&~fZI)@D73T=IP&oWR`p zZWa(ubkb&BuTq`0Syv$CH-*&7JXVI9^IrWb3CoMDhS*h3*>eaKxU*d{COa5?hh z_!x!#g=hq5bv7=3kB}uyvYhJT*w?A!VM-w7>n3W(#kacpG7he!L=wkhxw>P>7qt1` zgIQ6kqns?sVP>lnl(u12Gd`tNG^*r7g>l={$KePbG`3+CYuZ$t|KPzgRepD#-@LPG zmmdyvFmk(b6ww6ux+J$gZ~GCJtj65Kn%xtuT$)BpNfZlF9Wg>4^uvHNCcpw9KxOB1 zE1t&ggTx3Kt>Q?IRSh<#0g|i2xa%=&7he?s!B~Gm#z0~P&s@Th6kDqHkT2QmWD&pz zxYD;|mjN!wue%js!dyvaQ}TeYJufhUOI#8njgBEBj|*VWR~slfY)*_#1gPL?mkG;_ z_2t|ef#YS69o_H|w}7*$E}3#W`y9DfJwm3`%dDF+{TB-P38$7>*TVJVP>|F3?J{`CT8{#vE7eq`GRe z_9Dgo^(3lt^L4WERZ6%>TlO=fIRbl{l!B;ZLj=Qw)HC}XD;?L8-gGU2Sh}Ny52AMO z^LZD!${6=%##Kh$n>h4DerBrTGri?jX=bF{#OpG=&L}thZ)TR6^19qOTvpgpUU;+& zCk7%~juInp9HI2^Ljd}YX-)qNohkMgJaV`4xD*7@deTS{dlVYPVvJRwFYxcvt1$nj zm5Dxe5AgP=^13HqMYTk&g1=()r4aB>=xsf-(s@#NdquleZL<&(3;7@7Kf0N0W zJxQ)>Y#Xoa-|{oJz|(o-7TAq9PJz(BSGpx0Knk9pK`6BqQWD&yR@i4D3HO4>Ab*;n zkOX|q({I+TA9~p_>b&@>}gCq zAI*$oFHCz$2%c&MH%3J2H>~i~gNUpfJ>_uo;nErcoCe?V8^{wxY3RdJcxSCo=^Ri@ zpq1drC>}94`w;rE18p{?M$=cQ*k18#Li|m-v{c10bGFf81`pz-d^wRN}Y6QVkOt=~iE0QEY9k8DnQC~t*tb65B$X^nr! zdzXLVfUPzDiXRld4Lu@M7*$K&aQELp{ap4>+>Q58pcr+R-enPvTIJS&?%?0@nLFz4 zmr~DUAuNqPVyHe?xGsQmRh3V6XwX}s2^bTw-R13TtR5Gn$q%^huVstOg&YNg=JOmM zLxngdZ)d159)NdsXwWhEz6X21My z%Zgj8_hI5DWKordK3Vyh|;~reaS$U)VTS>0r)A{NxbBCDZAxrzG^#%hJ zvx4Gv)t{*H)O4QpTEEhvy)=4fxw zvs(N$s!^Q#-nT)U&9NkCV*UeH^(~?<4%!l+X0{nrEX2uSC0Gcb^Zh(M9s8{UgZ5u- z4f6zjJFs(Q2j*7Q7tpuA7y?WN`E7QmwTgcME5M-+jfExTz-MP-_Z?3C!)%4DCq54G zu6RBmh$EoE0uI2nh%cc7zQ*4XemtK&4~d|O>G}b^@PxDNO8~|8fz?6Zx~X?MZYS8C zRCtu(w}XTBjj{&d^x$o9MZ`vzFRGv5c86jDTLgN6N@tISB1K8l4pLc5!>Za{`MI&1 zp+Vr}t=u45FGOBSB5S2D^U>w_8s@Ttay@GQN!>$3lll1$xjk%e#?^iZKaqCA&)&8` zRi9=wh-JA}CDs3ZQvII?N)!t%O+briwvG3Kg)n51`VvBn5BpidpLVa_dvKAqfcpW{B^fL*q8p!^-C#Sl{EF< zBmfvYI4`!w=7G4NCcuTe6ja#??t6ok@@NNiJJ9?TAr6=P>o>|;cl#1&&Mnqs<>m1p z4axktr9NqkcIMLuma;Uv*Xx4lC33UsH5ZfilTSPNi*0bRmSP}d!#hfzd1N)wSL+pFFM|7QaX=N823hA+7yo!>5Gi?FIWhje0R zIjypCZaQCb3H2!W<(CwG5~=Iq(%i!mDVyxkTgGQa)sr{Gly!jwO=oP*N7CMFv)^I2 zxvYmsSF|rFfybRL|2+?Ee^&9pgjbw?d4ZrS(^HZMATdj6E`kk|rKeaTk^}+ou{duQ z>E;yj9Q|(6S*=Q{!TRE{mrvFI#1rj*P9MJjri2_*?Dccps19c%RgWvv;Dz&@ZcmxB zWUVUJ`{d3C8@l=z*M)M?P+s$$>oDia)d@ZygR5>v7U2R%tLJf{{NJq2{sO8qy+iQ? z(FEi0SRQz-HQ=!j_HLJJuby?)oB_Qs@5Ro^={PO;=IoGf`{egxYSDN^f8BQ!2dbh3 z9aD+f46VQbkLLG$#G)%U58bsfv>?Vr>4O!#!8{%tJu`fQXw zc}J|2pTp!bYcLXJt22EGY;x-*s~RfE)mIY9z5Xb|(Y*+YfqfvVg}(&g+)UoBwD>5z zK@%(EJ6!qDgyk`M$_IU`wQ!XA=JXu`m1&bRJ_o`_`)J{(@nU46DMAdAeiQ3sS0YLI z9zNE&u2{ZibRd8jYQD;(bpAo#`N?g>N(saRCOo%^RACg z!%O3+KrfrkP*&AxEQj_?(WNj*M(rPg<3iSr|E`!bj%AE@%79V;5KhzPR#Bcc9D5L@ zl`Z8j^n%T_kF2hm!qR#NF+UFZwoY9dzbVy}^=u6`56-=J_yVTRCkObgpyZ}Bn1-S4x@TblF610nEbSYcP znIa)4Ed2>LJPZ`v%bZOgr>@|}I2B*jpZD@hEkQ9DPH0CA(;NhL8+ zvtO0u5&K?TrDfaf55Tt25aAzyXKJfmYEVl{x%{=1Sc*fxUx5)SbNUrnDDzd*O=2X` z3dd_U+Z=v2o|)B;A5YF7;B^7|VsAEOm@h3Nfnhh^VyG5tkaP~^?uHCM8TqfVgN-74+H zNuqEH&mbTClGBATdypiXsbQXuBxS3RayRuHf*1U2AA9i|`}e=oU$j?6e{t0pzxFEP z(YIG&f}OE_*wCTu9f1nNIb)g%6R>{SdXfqQ`^*17`pe7nllseLSZo!ag${JZZ_-~T z0I$ih?OixnsNt-V!&xOp@80$;k01vP4BD%BroD=1F{}L`rtrTB(%#`TME_R$x2r$? z3W%g?G?wGzB%E6DF1Ai5C{VDf39po2N&?H9QxSBwn(D=-WwbicP@kcdZ(l+qkv-<$ z_yE9Qg$hfo5>HC(U-o6`FN#$V`3usY6-o3NyN^7R9l|IDi@C!=l-#a}wif8->7%T^ zjXDN5?bS0?jeEXijeM!%(@av;`_@e#4ncAJUOHfvV$eLGgBpB_oVQV`N>iEx@Blh10|10 z9oFHFU$Ad!v#2o48IwOyCbqiyecc-Ixc2HmM1y@?HL1J(&T)mmJRNpm9*jIt^$+Bm zS8L)12BdmbSKzm|HggOIE9FA@5CJ8WvtD5)^Kk{`I4^Y1{Y$8o+KahF4(%#W53lGH z%RTwqDOK&iW1p)2d!Wt7J4hF46+^$+I0X^!+tvzd%dkhb`S3R~La7dIwO7*v!DyxY zSf-Npi@0*?b;SOoJb@CAAXwO+i95P?<3+@MaloF5q+*D6`d#Uq>ihz`;vtkz)@Y~X z5wQg^8@P6dAo9nQyByxY>`3v38~{r<3-CpOEZu9bY*S=+=RslskL^LS3qagTFc)9K zNv0i=w@_pcZPH#vL^-@wFNX0&%C%XbMxfbT`)Mm3RPOB0jopqeasUiMd^_u_w}IgV z(6;NVL1*#Pg#6O)XEU<0oitpO5D){>P4IuvF*=D?oeh(g9=!>?>HL;7e>prQ_TTEoA9gf#~ke zYD0RzA#2OQgHTpgHo1*p>ttUpEwR?+-SG90M2rVB;n<;W2>aBG$2?J~-?005ETf9> z8Zv*&(KlrNnWL`+7KUR}qQ!-VF%K>)GyA><`T}4dhHwxtkB189qF{Z(rjXewWMwXf zdnO0YjDYsH)_`Y=3s?MQ+IO*>bpD#!%R8YG4$J{_83$%!JpzzuVsFZ?cT!j-qv4+~ z;^%W24pIx!R{7-0a$yoOr|rDw*PK5bomN_I`hNwLrMddz5IzO0>$LDKV6xDJ=8)MV zKVGv$!k&C*@6_#=nE) zI3}@Q)(z~7MR=!aSk_|G;D7x?R)r9Yt&m3 z0GUi;e?@4PZdu5)KkBJb+OA5rLB2&w^0}3Tc z27Q*mPEZ$M)dsG|5%BnM0an}uc51IE9;Ps>wZ9AQIn`$Y^AZws2nRO@%)a>{G#xj$ zaRS^opV4(-F~gmMh{dRgtBMQd>bO2#NVavG3K>lk;Td!R;mS_b?tx@z0ybTq-+SU^ zovyL+zZ0^a%cr^!(w2*kxffHSpyy+lxThmD!c(`n}t!-2bn9 zXbpHVaNS=CF5g#d8+#xDU)%dt$Hp&Dc zcR19D%aknh(0*JRyXa_AusiZy>1V@1AkG*BK3yQ9f|8nSnv(0?kc)DKTtvA}LZOcb z`_au!qHM-J<+{>;wp3ksl5FoX3`=Sa*AN?Nt7j}%qy#P66R8f4PZ#J1fMQ2c97kKT zv*>LuRZRXuN??F&?3JMI3MSNulz=;6$O2UD?))2?)D#tD2B3B;%!J4DExP>+xo(g|P_#V)T2 zdhHM5$P`{x3mqYuRYF7xx3U~^>sZ8Z5jE8*o)ghw=Jc(}^c7n4fGAIlt9Je{qO*#Sr=qPUmyGj!>>&UfTt zd}q%&`4d>pI%DLdp8F6N6Z~f8V^V%u!(rgMwCZeUt{sBCYF00Ri+hTiD-)Rw@i)sY z(spxMGtSv&2um8gsr}2Swqx=7nrtdvwo{`IHf*V zZbT(Q#T9UJI?OVv`pH({D`2Y1n)x01eoiE=Ghfv1>SoFfTK#TUZyRw2K~H2Ji`#e} zfa{rr=DV!R%DUVs1{ntcIATpep+__Bi7+(q!5E#DFw9CvVEZy2!xf0ulxR?PuCLT) zap?{V<_{j{iPj%EUEr7%fOMjF9XexrPPrM3NT$zl%YH7Z=>-$llqqE`Y-NT7v?p;E zpb*9S^QA_&{>AlDf9rA$x$R}W01Sj5`oFQ6FO;l?V=Y^wn@i{8qOwLLtGFuChgI#L zRNe}|`mHky*k(V7q@Nx{m>!fO{))O?LfGtklJD#Z>Cdm1n`Vw>S0mY>h_`z+cFZEN z!)fycci!M$mHb}ahCjwpc)pZhkLJ6=yXHKy&3K}764@r1fpVL)2?EC%T-?h_WEGLt z!7pHaQ65!cuAW4pFfqCQ36A)Tm_&~hnIj&PXqBZ^7rFLV8hZx-JWMv1WA4n0Gv`$N zc@yMx-1J*qQ9qeMQv9(7b%1pLGLVEl;K6e1w`2_LuivH3`ZZD*E%NBUF__*@129|v zJ!<2{o#7t*lr);N_hwk|{P{Q>hxozF75pj&U9(>^Ug@3{y0*MKHZf26E_~+y$wv&l zFoaDs`@PPu`!)grgJHNOa_sFNz(LQSpJ%LK5WOoh=*ox8RejFq9lWxSfS1h?vv97< zWkzdsUsvZnY+u9wC9fV2xAcq;G*(3S^>j`)Mf^9yW(|Mc&467=6z{$x+N{U$3Y}Si z7Gu`|Dcc&hRD1OtpmwR#SbKsr05f@#(R3$ZRc1wY1N`(9oUfD_HPCm_vf*iC$YJ%0SgE-G+W zOLC25;`n+Q?v-jc1S#Q+JW^VAR;(A71J6>; zc{gU8`2}by`YCJpeQ9BK*ZA3V_wd53CkwHo^`%;DBWP(KW;bUh>~uBQ2Ck;D@qzYV zWHDCV!oQwtyD%5M{R_)3A!LW2g7ZX*D8#V=m`OAUS?a9RgCj9^bkAr?^3Dtfgk5#tvA`;SVgr2(C0eJR>p0z=Dn` z@{G@sg|#NfP?uq5U6A^|r7;8Tk)8=Jrj*anW}To2QX^IiBSiA%KMo$G&j(Ip-r>PJ zfOC?TZZ76`%P4)+Zk!t+07!{=b?SNPFexS{D^-llO@}1x`#i?U~f_0OF870}BGCb`x{Oksub>yjNM_KMf6v2TvOd-4y?LeXTWO zaL}kl1Zj9>CW8Z1FHV1M>6A#o0TOj@9i0#%itD<;Vv)9-k`spo9#!Uka3Ph=dy_c!5tEZ-W)Ggn}a zFO-iFhIw9ox$nJcC5Tvw!r{`G7#O{w= zvQ1Pp(yW`8m)M|BfHWgYWj)Ip@kWdPwIcQ@-xv97|ZtuV*TE0X@hviFSlH37DC_k|-IAO)e3rEb-ed{Ohj`!2U%|)0XFTs418XH-eqF}3i5x!o^r}k|~ zK^{&UC?U1pP2AwIhxEcD$O|vuXY##!b7&rCr(4yVeYlYxii&*SA@A0xcWLw~T z`_;`$={JACP14=|Dc%qj+yG$VCaAX0G)fZQ%tvk34`5r*5n%fh*e0(#n6$GF$zbxG zDtv&!GMjo++F&AMNw@T|M2#N{P=884l|fc?QEI9*0&!kYJ7m+4M9NA-pB=y1_pyy1 zQ?H8AJ>dg*C4`KXp~6oTYg&ax3CD+`?5#DQWc^F1%hL#*(%aF5t6;@V9((Ag zI41<7CI(DKA5;1whJNi;R1SqVKqD#D0KQV{GPQzQDtiSn2CQ;MdGj<-U;_rZORu#u z8@Nb>v=`18Wsuz-*p?CUW7-QC2v>9QC}>`t?YFMOaD`I_*87c(WybN%AJ-qrEAPL_ zKWGbNZ}QBJ?^*L@=&CEBdbWvy&%cZKmKeLXU=W!)3;G2O7!N)wrVvyl^mW-|r|4)= z8&YOK`;uRF+~=Y|u$7_(700@#4}Z@7ZyFGs{>L;#%ok9BlQs@`Bi7tTg=La@X=P>I z2?aw$2yE@eKVZ${p!l|2nI{iht}Ngc``@Rk9_)t&TM3v^1$~0MSg(ZcBmFUnUrvMs zW6#595HrI2uwn_HxH^cH3(h3c6zA79AIKwLUkVTgLuJOnDN)Iwenjl z%Z(oS*yYoj30Isrf|`$o`^`2jJU~im9TFk6%nnq13`oL%kE+4cPwf+KK_UE1)P$%u1soVZ4(Yv zdYLZ|9+FcoK&ubKPku@t?bYr`@2~WA*Pdtwa+EJ18+aAu1w=HG5&JTv{|o=LWciny zV-9D6yQPlrn8E#+SPj?@kEPSV?p{z>wh=s>376yG#~;=n1Z$6+k}wr{NVY};1eI=)d}gVE@?6Hbo1qO8IBG=FaTg3pK_J+-VtQH7 z%v=dWQB79BI2^}-oT$!%wmLlv@41l$8}(WkKG=6e*MiW$sQ;~}hMs6T&Klz{!5&+E zG5Z!{Tq-y<_&2ToFGydUpBOE)AQdR3rC}8@_0yFhBO2Ja3qo*J0rbvQEEWJ_2pxs- za>i*0r{#rz^3|xdOiUqx&AXNHVH3`t!OrXIGdP2(L1fD#o@(yey;aV=!39Nht5xlb;jd)m~(QJuhlmqg1cJq(;K20R7-K#Hl7r-6f3K# zq!S#d)pk`nsYVl7xkvB$IVTt#u2#iXNns8g3A zW#a|9k$H##LW)=&T~nH5@e$_>K%qcnCBbJmkgsulE8G@Pz}z*du2NGC+EV z7@IlPohnq?%!DKlGRX{B2tfrC|3fdbg=UYH3}6b=Pjmc3(wEH7db3`$?yZ8Lbrn=B z|62ukujA;rpcU9pH8D+%I=kXwLClDOt`>EsqebClG`-sz*~z(9->mlMVps?1JdUct z1`Qu4P?1@;JUjY10<}FPjrSdya&yppM%rtQm=Q38$Fi}-_!!jEZrERRVOugEX=FYe zvTi&SFy6wDS@t^0%Lr`#Fyz6pCA%5B!Ri4#Ox_A5UX8EI=7{P3C0_i?p(Sig(myt@ zq5l)o|JFZ2qLXnl%Hbuvx0{e(H=Jq3RJqx2KP*=)05Hd`xKVS9vGUlNxLl2!4##V| z*X`{2lSk?p?H}#LV)9na529$MBZEN-FePCgz)+sG1)Zx#+QnzF_h_&(8g_ZfFu%H+ z3?ut{&T1l=ASl-(HeM;7`G2T;7x<{EtN%LzMnQ=aZW@a~s1bwL;589b6AU`RfDx$% z(KfA?C%tKefGDVe37T;j8!NWno|d-S+Nv#DizwEHOSyVMunJNUyq+;s@lr%=&Hwvb z`<$5x31Xk;|GuC1RAAWLsR`|z_n<(He zw)TZ&bbI%u?{<$>=d&uN@ZW6d)N}$+ARVTi$NAUR06Tv*_r#s^7Dd$vtLB??xwZY+ z5;;SEcowd-y}$|;73iP$Jwi~)ce%3hiGJEGJoh#|-ynh5p%>5pz_ERe)!s!HM8DcU z$}O2g#Y8nqMmW#KkBoezzPe7};nmXFf zV~-v7*YRe)%IWZloENKDMr58%>=uXP5o$yGdq2UvrrV6pVfZ|TXpS!14&?hSs?@M- zrigd&cYG>H4wWO|#&<`0eDn2Mk&OK^DbZpM>jEid(w??!^upaXcDurJ-vMi6-3l5l zNt*jtyKh;o`(Pv9BI2!jA*ZVF6J)+uUTzY#Tv6fL$vhY z-*Y2+(`=z^BrWcw*m)$2b(svC6l?alRzO$#4=aoqZ&4{SGNN+{IRfn~!VqJ(NeK;) zn`X3$Z9R;)s8Q|8e1qRYB)(VxM24g1UEy#}G;z;9c}*)?BSW8Oi^yo{Bp<>z8wKIX zeCQyY$)Fmrc-zyU`#TNo@fHCpR%GqEgEY3<-;UU#pDOTn!-5f3fbQhidyqd}%ZCrX zy$|`YDV;8ok_*9w*=OJNWrOWa+#<+Q8ZJ^YVDpLW-*%M9ieUVm25>y*86Ki2$#t;T_fUan?*d)Z* zqMUG-x+!UP$kbf#dxwHiWYas5=#EBYQ+0mqrReKJsuFV)?Poql@#Gup2<9$*FBGfK zkG@UWMcF8t!8ex35~)Xl(N)dn$%QOpuMcuR4l0js53`-nAr&#!qaxBiK8kyZ58b@VXh3Z$)5tYu^f{rwX1)6|j=N8BCWqjV2B=BfmWQ&VlF0X1&EtEx9H; zx>v+%o#-Tg9>4ke(?zj0$wM)5s}h6m+cccq)`E4F(SP-u@>nuoPtz5ix2obTutRs- zml8qkcm1J!ay6fvAAGVQ`BTZugm!S8fVmaFQ@}K#7Ti)J+*#kh{Fw7mS{nvSc;V|S ztduzA&`4sDW(kEPovSxIwfRZBJkM+16rf@2xoI>QV%Z&FXE>qAfar-Zjz4xtrx{-T z0FB(1@LaQPFgUL-R;$(6NN4gzIQlYrQ^C>}dR7&`snO5}`}bIHS-YC*mxuge+ila% z6+KpCpK1Tz)x1wvNfGrcnr#)i-HRg}ZltasK<8HOeu9#$C7>p&ty2C6c5fd?+yLu7 zu#`z|flRu_674cE|&XOqKxV^l6 z&FG;^E3-G3Z}ci+>=ZnFOyM{VBhi#sWGu#4;xRr+UMIZam8k#h1+Mu$Z{W)TvadcT zg>39&-6RG*`|iYm4khZ=1vD9S{ch`ecOeTJV6nzuglX^BWD~piJNq*>-C@mXd%oG9 z+Cbd=pgn<0h)*mH&-tm{`gJBAl@5(?9F(xiq%f;iBGFZU#on#_WD`bVcPB6LRgOS} z>{PQwI5^%28imqGD+zjdo2sCuELB)?LDBVWYH&f3lP2Qr^qWv!-IvhfLnjM=c{9LN~u_}|d zb!A36`{FcgE?-B~yRALxuV4SJ295*$JUiTUG4fel%?VeC6WK(9{~qa0G4+L#H>Fu1 zA)NTP5eyUGk@ziU1;ihHfEuADoS0T4pC?;*(A?v6-cS+ioUjJ$tw_nE`i3+RFK7wA52HSmp<4qsjg0|ci*E{|k?#!e#|Usst~9#5*Fm2(#J7v3qS zy*V-jI6uKzA2)tm*2iG4kf~lXiRU=o&LI-)D}tAv2FmLMN4n9VyMx)4qsWYFhLu3f$b7wi_d*eO!q$ zN)ih-*ftZv*_EXOf|Bl(+(S&#_6NceEj?T%{pFBR^3i*gpf9r8Mj#(c2dNBib6beA z%U`98am;E9&d(~9y1ahKh*mo|RO0leXL;hx0pwayayDyP#Zn9=Y#84FgCug^EQbf7 zO2nRT@0Ned*=}pE*@wC7FwL9?}?N|)szv$5?!r~ zI)aG(QN+Oaju@uY(j7Zr{L|^`5FSEwCod=?DH6L~myvkrzlUj0*_@y0Cl=kt!)R%- zzQpcdYTx1XM7`8^ab0r$oxQ?t1ku&pd)L^TjB4oL?~11EsiBMY_3$o8HhVH!`uA_T zy1x_DZ3d?E+RP|+NcQf(PT5Zt)IEtS>8Bc3QT$HxVqn;&VbBQvM-Ck!S`Q;;HZ;{5 z()#~t>OH;avL)c-%(LtJL^v->^NNzQNlp}(ULAb>;gLk-^T-QHX~q2Lw(Q8pZKA7U zIZpvSja+Z^H2FI-S&{g?Q*BS)quv;7+Q~s0dt1sKf6;5S8k)7Uo$^s+Q)?59- zzM$o{zq{rF@As#wIXHiPpw*7^I6FN`&i@r7w=9p}kY8@RS-x>wdHd?}p}VVkwQhVr zb^}U$oYp@61>(z!YC3mpTp#ne_>cl>D?MOxoU zzPI>~Js5R1Ih#9;9lGA_0mMou%>vE&32%*MN2=j$=JjuZt9>PhzR&hLVRl?#d!1J} z`M2R@t&jmjHmljHX^&5FwKSM@8pSdR9VTH^%)%OyhJH}M#8HnUb=GY)5*A<5ur{34 zjnKcMu1s0A2sX5qLvORgzO8@UvZx*UZuJ{jXow%a5@*idiTf_FVZNc4Nu%An+kvM= z$UweI9zAa8xpSe~C|MW2`DYGY)@I-xv(Dq?lsw|F-A0XNB>Th2a3+Ne?95ub(1Jw$Da}F#p0| zqFUNfpq@)5QPtU_51srNs2ePg(A4w1_oaRV-l`Sj)wI3Qk+((~jQzY7%yya%?UJpQ z%OQ&Gj=nQw={w!Y&JVHdxxFfpbMQ=?fjzUNB370!C+ssoOWuVNl$nVIcW&X-3wh*y z2S|MT#AkJUSCm!T%N@aa=n|onMc5du z5{V&6GaJrn5$E>wF1nCMkZ8~3L%TYcuV7dt0BK!?3`W+fvV8s6md!Oi zHB-;#BxCRk25dZul~nPsup%Wnz&yF;RuK%x14^~Cu!_a^vcG1&`vy%beX{!~;vM{# zY`>Xz9DYg$eL4jH-pL91C`F_;zsDm;Kn?@rp7)4c{Dwm#@j-u+s$`Cst+NdnyJfdtiaqI6{*5(`SbAEAPzjGZ{?dH78GS8{Pj2D^BJ6M5pgGIc zw@<+(K!E&PZ?nQj)g9ym;_@uPD?`O)(ffw04>+>sgVga>cuQvdMzVMN_D_k~#9hFC zw}br_2mA7i9qd(CYA~cM9qgtob&0XEbC3=02l|Q4aibXbzw2+`buoz1(mHzuIxth$ zTl+)TLLyZCdfEWCp~e{ZC9C(Qa9|I;iK|TyJ$ky+Lp3RjG3>W}r(a`N3LXOTHYsx= z_Mz9pueZ)_Uh$&F(JxjFeTCIaJ;ud<(3f0-XB$qbOiU=qX4lhcuUmK&n<{o9OC6b6 z8PP{`e}qXRtU;3+7X2lEh3_^dKA~@J@-BIC#?CjN@3S-UtC2kIB5oBta{T>tn!n9E zGIfDQ6b%yF3D23&3oIBi?GnGU#m2+bDf=;24PQg=d=jV{`W(xNPbN|L`a=X?Wyyx= zJ(FYkoOu&LS6@Yfff6UM+49E5$+n3fzv=|ZitE{sby9BfNtlIXC{k6b&^WP|@XNi6 z-gZKwK9W5ukE5UkMBmmi1@b80i?N1w0z^5d@W?^}MGi{ zW>8{2b|(>$g4`Ex3odjbV)*y=Eh3&h+{W)Y{RASS&j0R%@9txqqNStlm6VA1jlC&< z=J>69b>BM}LBpz7Z#hgaqvJF8t49m%ax>eFl8f2nym-U0J=q`R?S@DdNi>*VVrf?K zDkh6MGXqh_G$cZ+junT$;hmo&4(AoIIrbs%DRNR=8C#xA!pG;wFFiIl`5IShx!jst z?On^Sug7ma&u9E(fzS4izyF&7@b!10m=M2$n1Ie$sLba?Ls)SV9xX3jk?n#)w}jldErHXIcZy&A)Bi!+so+p zZW$l>8{g4R!$(x~dY&i|GqkN5W9&V;fPDHed{Y&l%E!&e0b-&e!nlCr@%c==aQ+3O z^AI0Uz{-x;MIc()2(gPu4=zJ3588aF8#WV8%Ik^`c#cQuVcY$i)Uf?o1@WAx`EkR> z+kD4VRCGld!@%UvH!EThs;>vYvOMsJf%4li-^CgS&$S2J8o?yn)mU>~UuqPqG3=WhkqvQGnj$k+v7c`9tMs6y@*O^pu1gQFBQE$vg=a_Hji0L+UJ~Bb={`Xz9AK0*1AZp}zg|iE0w! z_qYJO4>QpDr`}LxhXsY}ef^fvfAo^e zU()m(T`Y2VN8H*4(*`cp)BKTu?)HI~KUN7Z%wvW2^aU@BBrpj%>movqTEL@(x(YUBmGw& zO1&yV2dM#dkBw~{J9KR&w(R-wE4r~2^NS6|V-pu*%Dy@64Z6|&C|2S!m;L<%1pi)i z%$%eTlv%Oo$1A$!!fq^rOU6)SrX7s^MMrtwZz|LiG=|9l$=JMPKVRYPB?F{CrXT0) zj@*`b&c@2}ZX^ix1EkelLM9VmIxE|o|EFzA9VExotEBd}Ren8{u{SGc@7M<8gy)nY z1l&~bX@Mx2y`#n=VD}c(+wZ)B8TQ*$P{*(GrCRKs9dhjVse(p+jgrXbAVs$_w&sZf zSe!M0maI26eo3x^M`i3u(nzaSqy)-t(iSED?P7j8-Eoer@Nl1|f>!^2fq%c=zt?9f z7w}B4e*14{k^002HQaLk&lu6yNUVL=gNIv{mt_fUJrW#T5|GF#uT&=SyJZ z3lhi~#pp$9O`t{+aed@}Yt)tq^Js&h0^t_=JYFE z5cM`7V%B<9%wS=@J*$zRWDWFC{hm0UI|l9r&xv0k@)6b5y4;qos!!{QbP2 ze$$tvX5zba4;vl`9`N;n^62;`JZC2#M^;%h-|B(jhiXws{@7c0WoGm#ASPh~)UP*qh1EV|p@FY0M=W+B6 zwzHavSo^j=QzGtD;HyX3E#&~ysG(bu{T^rajV&|d3Pn&!MkZeEK{XklLUB1o;N zxHGBM|I^Bo?Y*+SD=3eaK3gGjVNEQg1*M%oX+M;9NEVbf+&=xWKAqg6k40-odM5=R ze+fdn==uE-+R3WEp(;gV$Y;zV@8L@XVb_Fq_1%upddZ0DKxoKiKK_pgE%46*g1ZpJ zF7z@8?#S-@A-Jp0rU#1eeme0>QCxV=E263l@&)KxCpd37!hrB?F3g{_qKa1JT(ADMS>n3m~3?fS)!@r#L985Xe z8pZY-dj<=*3-L^X4u&7^Il1KEX$Qq4Jxb2&5uV>lvS8*~BK3A`d~&|bT(&uCCF_H@ ziuUh#eN%f&75k0kjx9N^VA`9Nv4VoOtwFV^-@q~r>Znv5Uy~n67U)!RjW83B*b0?Q zWj#_q=<2!2C4Dm1Bdyj1$m4LOx%)484{_<88?>Fz{yH@Npf&Ce#7wp9F7|H!J8J)u zp#5`bKR#=#)+-qd!{Qask)qN6Io2y3lv=M;u~qAp`o?Ba=C4;0Sk8VNn1(G^usyil z$4kDI8+>ttZ|+{8+3h~@dwEdLe}>;n)j#%hboedx`zQPki%)p2N68*}2K~2cd0T+% zrET5AKVNFOqP7IgP+oyh@ljsFrT5~tpj+0XyR1jIr}zI4#`pg^ewWmw09nYTcU}sR zFNI(8kIwU{fPE1iC7&lOofwH{xdm4jPwTwk>WKW4vSr^asSXxKdFx*T2WH@TAzQME z9BKQRc%ayj@;gJyeI16`+ArI?{W7)B=1BEeVZ{WF5`zkRjL5cyS>BjbgJ$1NN;lea z8mN%)YWuAw&y3TKfK((xK7Iz{Iy2agTReO*ZKe zR7(Y@P~ycb@k-p-IsWjWD1rC~F*WRy>iU(9Eto9?p8b#(yWl*%{(aTv~Ol@8j1dzlju8Ol8O4x{Rr?@s%G_N#yV*y*j&F zzR}0b6P+Pc$FujhWrS3|{n=I*QkfA+;H#*=u2)T5;wkz2d!^$m+f)5hGU%$Nf=0cU z%XeHi2iM@vMuEVdREk0khD+`(`og=dJXiEd->vqqqow5|HCl?eG-tbr3m~)7%bR$* zhQ^YRXUXzoz2wD=z+(lCe58vig9Ra$Z7N0gQ_FyF+^jH4H8|dKhFZz>uDGBR zju~7|OU*=v?1OaW+b?#Ndvy?EB;LC~$~)uzhJv1%!5@dljPDQjfs2-2WI&Y3euXfx za=gD)3mj&H?)53~_GZY#_qp>P8Dx>U8Q!?lgbJBO*mqF5+Q-qfuEy99?feY9uxjr4 z4)MXbG=b6QoJOO)yVVA|cRiTW0>8Cm$uVBKy~o)2r6UL+ZBzhh3<0Dq7C`Fuu4397 zy<y5)w0V0^TwVGGE{49)C{WNv(fB8H4LKfx3zmV2cj^f z5pUHe#QgP^-C~uF*u{d-aR_3Doyzr26fvxIqGTaLhYNpfeXUb*uIOtdO*@c(-Nmnf3_bH*QVat#F;Mp)R*|nUFxTgpBI0M87?g z{9oYY|9w4E#_cAcmHbzv8Mb}O5g}sCL`|j`%izDE6MXuQSA)ZvTGP*&DKlm7oDrnV zY{$lpB%0lT&U3qAlRBg2&o-Qz6fa-(2AvUEd?av)RSBHNC-u>g@Z44WG(I_-zwz+g zC+%hqe|v`KDx4I5RPrIb=*cKQWzDk+PG^F$VMOKPtWR#c<`ACQDI}rN9VOjbBqwvJ zTK^(!+8|R~p-oxV;YB~z(t_ss{sLFGbGMld4&|SX5XCvzAUbVNc6!;al|34m-y8!T zE~(WNc++J)6yv;rNrpia-xeB<938LZ{JZ2Wmc1KVVG~z_{;HqZD};YVnKsE|3T~;j zXTz!RoA+O^a-ct`+^r-7;6ebFnl93>4^se8Zo?`1^f*4%0@8^ZUZ+Uz^_8*fgT0@U zvn@2*E!?yncsg`vJ}l>VXYE_5?j%p_PQxWRM}Jn*ZQ427^xjky6ko=q-Qhg7rB)=3 zz2KcaZ$#%K4oN;-wGr}0-bf|jOs2Oxq{j7_`N7XZI4MT(_snE*!M22p_VC(Bw zG<3;Fc+9k~4Y8JgGgo^x=3MD3Z^{NakXPCOa_+=n- zG4E(w!2qt?#wkUp?G}~|3)j-Pe}P2P!sO#+WZ0l-PYL*cAK z1@W9M{5aG;U@hybj`C8mAxw^1mx~F0y!Trj5quXkTzF_FG`KFfFB}pklV5*K2Q=u& zbiF46-K}3_RjqEa=#YMUs$)_D$*Mi==&zDNho}0tK#b=cT&WlM$IS3i!X7xe%Prih8;Hc;suJ)>PGVzs{ z8;%cZ-7es<$U{GQ&1z+Qy_tT+GenZtz(cOGAIeIN1?hidgY>_W%=Eu|3mSof>W;SR z)_EsdUH)Uo-BS6<4FupSEeCM5W;4v9j~@LRtbnPWEaBOgv2QL$1)C8&dxu1;Wam!( zvfnGBLa8Bm9D!1N$_7;8NTVFQi_y#BNzJnBWf5*nO9&@->|KPftJkjsL$j9J!*j1t zGx2J)OBt5u_T@S-ojCaRFdu0H~ll)wvh{YrOozhfd{qY_#?x< zEw2>C{gC~6J{BJ3pUx|2z=S>oj?5&i#imkVFqxAh|+z0n%>REiy><>)P%&{L4 zPe$2My`=?nhUte*de>C9I?q)cB79Vhk+DzrQ z7tcuvzklyEm_Fynpn{hEQ=2w;rrH@j}c!wROXSl7}e$;=G%MogUZ^T?I7!%fBq0u=+{xE z_fZwnhlvZiaa!cT)5luqrAXH35AL>fx6pd2Z%z2}b}>C)*ZrjIB}W=D^VIpJvCqNp zmUZvYR}l~r&n40EU9D@tno5MO`RCAVZ^{ua5LT!WL&KSyjxzO1R4aHWOy|H^pVIj9 z77gu$s^nKOYTW+k{`p>Ec;1)at*R3F?d15pf^BvmoT_9ZLo$i!J>PXDM9HWGF9siy z-{svijj_axT(2tNOsfi!ohKvO>c?Af?E1OQ_YlR~mJ(1c8T=g@txo(fYo)Tl)H%rA z7Z5m=CSBO9bOG%|OCLL0^m~NZGNG)5MCjy?!Qpd9D*ogHLkNLfu>6b`-ZA2IIvof`A9JGaxeumf>& zuOhIX)XB0;opJy8cSfHSN1NH~{ zqoKDiN*t7oT~Q=Hg%3vY!9|Rt`s7?nYDeih!QZl*)h7$|>~b9o zXou|05HagZ9g^0IT68Ak4aB=c_dY}KAJ22WKZ>WU9X@SDM(<}nX}zzzY5{L&gWAn=88E?L5co35|crN8wwwo=^BWG{DaRRf%!gZD)y+s(qT0 zG7vByc*z<8u96h=&;`hsk-fEmtk7=cYv{#m~K6q8x zlp*n+S(8_lUB~;;8M#_teNcE&^|a{P9?jL$cofMB9`tk%dZr%a>Os5)-is8&tYkBV zUfV=;jS%Y7LD0?18Tpo$vN11tDbU0(WCM%vldqpO_0Y%*uSb@?J0$XSt0tje;_1ge;B)Px-t&j#|S9E+|z5?0V~hGPWFQK)$YM{kMN=ktD7&J z*@>hSUxXfIcpElsm(ghHu&+7;><`6(WpgJlIs>d(mu97wf+sqt9Os4zz08Y{nePom znQL^x?Hr*zTDobdtL8+P$6s>0duce~oy^J=>+SSTPKi70whLCs~}bDb)S`<3|Og!Ff_N-M6lwtWay1v8!de#A2eBh56B}q z=p=)RSvhXylJKJM_vq44CE}%WOe82cyLq0T#|Oj?z~gCj`t@_?>;y7rBkN}e`r{Lu zW3RAR2%l*!w^d|SQk!@CrKxee+l^zc0K^x&i)mM9VLGZX3)99iY8%R?jiYKQ$&{(o z>COx&J!R`HU~nF!Uq=VNcZ%f~d9OiPUD%I3iQxu%*75(-RF~4PoP)(}Dn1PVYwz&J z8CPdbyV10)*nV2RS!1#1y(fJ-VaSYt8LDYx4Bd^5eAmSJxP}@t7H2!u{By8SWBb$1 zJk^K^r^R7MAswGm1S3FTR)Ep`niE{jEF1fCnkve6YW3un0>XLquKl(|9Z0C&Fpb^ z>v2DC-YNU)E@=BMo|~#lOq>$CU`qTp5oqiJc7v3gTwZJDOHZB!TFsz|`Q-MCL5|#x zu@>NiM;$`bQ$Xh*?BjX%j#_Xk{WFP2u=xDH z%3)|K(A)^OM|qdoZN6?%{`MHj!zQ}}l4o9)-PQw(hGmljp2`1Ow`l2Kk8ph(ce2k) z1D@i!6RX+$VXFHI6{M(m{D%9;%aObpcZm&Rtq6*Yuy@&n` zeA{oLjj2!D>pbVXJeLHiiiN(xC3XIYCRFEc#(>)vzX`=t)Px=fO%!x!Vwg42KG5}| zIn~6W=_U?#P3&0en($l`$NNp})GbZuv6^7&G-v6^%d*Lz3%apkh%j}J-$p^Ijb%Ld zyYV=ez}?gD#wORsnyVeAw)t)7anOy+Xd~Ukjn+i5-^9`p0j91>H*tk);;7}W8>?Lt zll>;v`%UO^(8QiIGMhNgn)usSQu1L^s+GgjtsLT7Y4joy`u2&0^P$fdT#kUj%jipD+#a& z*W?^(jsNIyM{jx7IKjXH2Uz2*-iqaXHc0);nPvU+=NBMt$!FEy+_C=91Xq76o56EJ z*GfK)mY(R>zxYJqPxUY2`B-M5sQ*FLAJ3VvwX|DgRp=KbU&H#5b+ac=Kn?bOmHOyf z%Iu@~fa&g%6&^X4bIFIb{)bf6hpM8bPulnWyt7l^PYk|~<&5K!H{X9%Z?^bv9-eyh z{Pdd@?#*ZI&B^|o@1GEKWOVw?Gu)dG+M8$kZ~is)=E(G$MefZQZvwesaa}&pJ{s&T zOno#g_$WT$NO!3&=W@x1IsS)q5mS#kAAF=u)ha; zC8^Ke=UpGuJKUw3-Rx?3i66lW1RMR!7C_keck9hI|53EG#Go1My?%Uvti_c1)&9v{ zs@h+2NnJnpKSb!S8$ygoKBDDC#6Gw9z@!0ta9ajFGf))u>Y=Wuld0R1;0HX!b0_CR zzu=Nux-A@$y(B+fi+8xI;clzp9>0cyR1MdqYq&}^#0TWjrD*BZdeicsk5gm)@Hg6r zu%glSe;V*Hmo#?8H&4u7qI_B(WbdK=25zY}c7m!1H{DOUberPG-h)F(||cQ?b`jd0)H;_gm%ck|rcsqXGpcjvdaz}@-n{nFi?=ia=}-CgGH z7P-4`y1T{h?pyBeN$x<(MVlF^-i(CTE0>64^s@t|^`BjQ4U3y?pACJc#2Dt?UqY{Y%f#0syQ*B`L%3ol$qJb{Qbfk4Cnqkc??dO^sW6hmRra+xFr=4j}y^Kp1$egfRHET04mRHtVbJWVo zd#=_WW!8F<)%tzE){lp)6RP#A=~@qSweCJV*J`x|s?|ZQEFUua*HwK=X4UU7MI0^7 z^{c)sRrSj}uZ$VM&v0qhJWI)n=PIT=;OeaoEyXgx%Y=?%#UFMx3=S{4;V`$I5Sxfc zW#Gi=Lh}hk6on#)Bf^Wu92Q#_-997|doD72jo{g} zJU&}=O9sU&9&&z0TkpvhV0Zh>aNAGidXh5DJjLKZZM z@~<33%KaTo83is|hhOKv-Hzn;{Tuny=jP^SFJb>nq?UKjJbD5`iwG+p1*urT_$Xfb zDlbiD{-bnL`$_^h6$SZhVi@YpQ|Evuh$~aRB~?Cz4F*Fy!Wrd5C|{B)AIvUsp=UD7 z2UC7es{F(p${)%sKauj8sqz!LQ$8=V`~=D;rOJ;dve=(x=CV=4daO!YrR|Bqp*aHw}?`7xAlNtF*5iR?HeqyNJxUy>>>%%%L9 z%<@9Y@3Hc1>OY#(%|Z`lmLE;|%vAX>R77ZAX8AD6C#A{@Bp7~>SzbW-NGtC~{YUnu zyehN&NXiGM%D>9`@X&FYY_ELPzCV3(igqE?h@wI@-q|@) zv>XEKST7Me>Fz$+-q>zvKx4yLb9}W@S&Xr#l!cm+lC-0l&W5!Ddo8h#ECro93@-QVK&Kl-qtJDgKIF#-70&s)nv*!P0ng=GVhto3w%0c=$^> z^QuEVqBil@BYf{Yvw9PD&{BWii?AE-v>h}yUbQ}#45IaU%Ids`E!ndh&M^Cj%Wl)g z$%HIcePz@WTa$+*XVTF5H_Jq@s{iWolQa(qSmZuBhC{v*UKXPC)MA--!DP2;E8?qX z{|l$7P-KKcE(|8ty&kW=L;9=M=gpLUSN$V?PZIc!pKr}fCqVyn%OsfOLm9C?P9up1B`KAGf9Zhs@erzx^Qn$a@G)ul}8-{sq0Vjs0ai^9*gYp+S~Nx1%q^{tSGo zjdHNPLtaYDWah_Wn_3W-PI3m?DN}g{ddgeW&QPYNI+Ew6d*tAs|Ap{hl>z?_=0?68 z{G*0-hW|>9gRfK5@HZ=%7KnNjY?od5=<^O;sPMZW_^1C5B zEuqxpf})>_xG4Op`f6L^^;kaB`g%V&rw5$imq>UwE>`H2D9tT;m#NpOk@!LdT5)yT zbFk@4K4}O=vbVN%bLTu1SH&CUtFxPPLw;5E@)oazc102#JfBgo`KJ+%hcOUlX{X}G z-CWx~9UNn+Bf)Xv1gQjmv&teIW5dsgEp53*1F7Qn<=Pf7@v^;h$}5de&*mzNBT%qT zk$;*hu14IBM__2jvv|Z<$#MZ=n_?S{Ng_sJ7IP52d84L**hJ322NdDx7~mE6?I_A# za=6+{xU!UHS)1()Z)5aoUVY+L4DT0rDWgp`N-TomeM74Q8#2a4UMo{w(YFs*lG^xFI^_K$B9A|aPTB~X-& zj^EY98>#%C^5|#n;ihqV2g|o`bd1#jZJ}|ABYpNwb^D9S3|_-0GX=y<=;b6;n1 z*s``>6k@1g-_lgL>0i8J&4ru31?iD)UNky>iP`TQbUN(>cI@%`Rb&#D2{V}wic-i` zVEFNil)J&sL>Cm5H$G`(2mE1bEN^^b4s9?SOkrJR_A6uKeOdWX9-hCftvi4KMZ-z# zA6gBt#$V;Tmh}wJU5C~vk5|@ui768FG;A%gMj{{HtBhYwD5(cKYp*lg zGCcP$w3VjTeE@6qC+k&p;}f$5UbyMo+$F^+W8)L+#w7{{Qq-uThJoYaM+}tR)K@5* zt1bFLVoS1!FANUypCu!bLwEpCoK^umlHZykRn%?2043j)@}P>p>o=gBeUg8fQeiri zzb50)nPRj*I zd)pB{aNBr-yiK_AmVNyx;}>;JK;SwM>Ul zT@~u8MpwnUs*|mOT*fZ-?vZwg&M3;_NHT;$nZ!`<_-S)@m4)Z8#J=f8VqWNJTFoN= zEj;(zNQ2aS$Lqam{WZ7*plQ&{A;Ue;of2yLw=}t| zlqGh(tm0}!5W1M{-qFDyAm7Rz12(-YuAIHXp{FCR(gS(bu1sC*k~%!OBK#7$JL*}rLSKq64wDwu{vXvnb$sD65l;<+dDoMQda_mMYg#|Q;IeFQ z)qihmXW1>sOXOTC7A{#mEhoIFdoy)lU*J==v=CuU)rZpT3 z!TdIly*Dnwg=T&e$V_{1z4MbY8j=o^E2XPq!A87OEYE1xcn|ZsnlYH2iLRsc!i!Q( zdt(Z>v}fF_i#{I|{WBAN$?d|N*;gm}xXBInk2s3t(w<8gvG$$erFre^V16Ix1`X?NgNC)8(eL{o8S!6a-Mu!8>xQ6SqEGe!Jvv=~PU|!Z?sf2% z`$Wb-T>kURO#Y3$*T!N9_*?%gHx{ArqJuG)*08GjG~4!LhAf=<){LxshIo_>@p=Yy zAoaA^QYwEvX5!Ss-yf8XAG!1chJ*as#b4{@{VAc*8t|UD6HkcI@T=nnC)~|T3)Qt% zjNNH61?qHFt*d(VjZysZ0{SWQh(pZf2>Jfkjc}@O|HLZ`gUZZiviGE+Zq(dRMCehZ z_H=mAR(E%6Xwz^|W`>$Hh~_ugHvZQ8fP0^> z!$g}zoW*=hy?jl`4}&u0RItL`4nrx^Tah-_ky`$Btkr5oP^s1C)w;8A6Q*o0dV7%Z zx3>gct93bL5aa&(r*cO~UE{|);V8!&KE5(|qyL8;cw;oJ8Z{e#obU4o!fOm0pRZ|P zi-XFZk@$78dD$koZ&hNzN6RnE9-HW~0g_sMuShBps$Ilve{2oz$Z5a8fxkL#{DXt# z4f_E8v5i!me9DN=GUOT@kXQyumo6eEgLuKk*(?`lvo|N7@I%8+)5UePEaA=gCGp+&!(?qavZBb!>;@Brd<&tsdcxXE6J zk}hA(TH@}J=$dYAllS=+C}un6R22(5RDpbDjnbe;l~|An-Sf{ds=TUTpx0+GE4ml; zg!7JwT+R{8uXm4bKQPh@s#gpLk*T+Sq<-ESs=5*eaiB6QO`xu7vd!m+12=I_VgZS z9x{y#J}O#SmYdynLi!sb^O)?9caW0m=6wg z{Gl_+d>)KAy-^0Qhsg!0D9EKPEp*dvx||b(4fT)>XMJJ(w836L?9BU?QP?2;3 z0kJ-cw+WTUYY?Ml404si2gY#BayT%l66x2ieZBghD^37S8qTN%Ry+2>tRLo2RMrB2 z=5Mhv>-?Dz=uP^EkGtdxU0Fi^fqozH^^|_UX~&n<@8aKu&VJUxFg8fDcSx9PoSrIZ zHT*T%N+WRbO*q*f2(vjEh^u?Z62t0Q%35H}$VZ4`O;Nx@|iC&uvReY{R0x14Syf0Fl@tO!%T8{KY2F`0MAUpaoU(C!ZsBatXcVNEjm5t}@73%9{%XJu3edX|fjg7rk`N`iam;URl z%Axx2Bs}lc3qFPWvdGyWf z%IuG;64$XD@om-&RM#P>c=UT^i#D-nO4P;27UBDU(!i-A+Ce8d2s!ih6%a6piR>oE<$}jY{RmDE7WWNoD zMbNaAw{K)JGdy=KH#*g;uBzm<@J%PcN=YY19`gzD2E@nth0)Sic1pA!;r)s!S({ou zKhGsgOoBnr&*vIVdoKUKna?R`2$5*%Z|oCnph&LQ+dexuwZS~EAiHK1M@wg?-YW9m zW>Qn3s#Rr0zy@`<@Fm%#iYxB+RMI)2@7wa&Cj}5=u+Ey*&#QPGeWI@e~MJOuhK%0z4qQeIye2wbu|4?c0|l* z`s-aaz4^gZ(>IZ^aRlCQ(w`LgoW>c7&&s?#ZE1k6H15qd>jE&1DAIO>heD@9jn({Kh_b3K^6Ke18zb^u1(J;7jf@%zPnQL_Mr4YIt8 zZ}n(D-$!Q^^vnw1(P2x`4mCk@-JgTXj|8(_wPERgT^0DXAlg2CMr+0g?ct~Mi(22X z9%ICkm-U9J75}1A<%R`1S@$-fL1hvYUfpB}2-&ij z8x=Z`oaHDmGrdq=la@n3Y-nRS@!61q9}i$o0+nJaFt$0ir+GpFXBXkDz9v0SQ>M@M zReLc~D5yz(s}qmH&w2x@d6Rx@eh*@s1zP@CH!Rz`aw}-j%jzC=8*<}!`qhX0FD7eQoIr@ZOnJ~_ zW94O)@yg=L__bvkp9R*sL#ubv@4B1*3K+aQhl;`ss&UFh{ z!kmOq?BDm)FZY_lP`TdMy{L@+-wm`g)pw7EyeF7^HBIf~oHdu0v7HG0W!GS|fg^G6 zq_;E<{{ASKG3qPl85XGlYq$@o$bOrBM&;^S?S=b{%9qvCXnmUR_9)}t&Qnq9Z{PqnhXCq19thRW^RDH#!@O*pG*e-iTFnfKILkd+g=vF zV-*HvMZwI9UaO*|-aCSf=&>`g)eCh_bRitI6?)g$ysaxX4dmXaj7?(46!#Ws>riHd zJQx=hufq3a*V2465E?1iwQ^t+iF`BE9`jPnbWbM#kNHJeFyS1Dz5$f^i zp*YCkZ_6v{QO+saW=q-Q%Q0BOwDb1L4 z&psrSWC%>9;FT{eblpKHm_WVjECg!9`w|IMJ}=nN?De(%l;1kg!T+&2IKX_}+ddu4 zGbq|}z0LoUzIC_4E_z!%TFn?Vk-%H257?1(1FspGUxMmaH*j?lp;@%zJ-*p+w9q6Y zZ5(QCfEQP3P+MDp_i)Fy?67ISEwpkj6>Ah#c`lXzyEf=ODBY`@81boY=3^U5mC7n|4ou4N@^y^2`Bhcs7edO- zY9G|L@Y|A{v^y|`I@krljoC-1`1TPDIi9W((AVTsf7Eoo%SN$BQJrpM!2!EUTPEJi ze-{LSDbtp@QF2Cn?Han_8d}k)k7xK^?-+*D7BiDTKtvO3uZRm!Jc~e;)?}`2e@Sj& zlTLY$L}x0*a)^z#Vw6-=C(AsdBnx1eAtoT$6|B$2V{CfHFk-Vtn!%*F+KbK(Aplwb zf9~r@DS}XfrbdtytD1UQW&W!*yy{KmJ?~2W`L4bo2-`ROJ$~&hb-awW_Q}?G}6SYbg|*84Y~WNCSOUcaHuvU#;(#hHd_e=;|>now#DF zCIfnaA_el|7Zj2ysv7FRjSFYFzlqS8o6W^|WAa3spZIJ>hqNuTsJ&rZG6zg`<|W5> z6~1xvGt+(gC>D+w6XJ$KS)_tcCFiCa&EWkxvH@uvV1|)>w5HmqnsbzvcJCwf%P9-YZPcx1j zPq%@$l=1Nuy&?MZW_Hysk=-fpIsB;cW32H$Nt-;5()i&#$Y}N`*X--Cp*1_mnq?ZS zU&~(YI%@!YY1oT})*|oPE7kL5%9CiCXPkWMMO)wo&JG6?`JyOjPOpoOy|riaI_%j` zO|=C4`B?j<*==F(9|_f!nk7nKB|=k1x|It=Vqr1wR|g=>b=0g<#iQDYz!!ZTuHgJv zqQ-AiFUO_7)pCkL|MgM-Y;V~HDqzc-egZj>vv@=ifeA*|Iv0VYB{r_V``~P^#(gzH zU(M_I)toNBI#*wPm9JWi@Vtv(_USG8a7O6bXiV~VwR6s*s9z(p**j!El{LGa?qm|| z6pR?gp8W>9$Om*drBKH411gJ8VPqO4(45UD9Rufkr_O>zt49gBemcnlD+y*%0=lht zbh{7w`JIf)ebY~z;{DLijkM~mE*BhYZTS(ipEUVt|7+No{c6W5$LhYJZ}I@DQ<;(L zrvbT=adadP;SxKd`^ndPO=YcpTbONB4xHLu`5368`OBgoVonF{g>7T*y2`xo25f?h zyt4s9`ememfgBGt$o*j-_HU@Mm)Vb#;*_JmYB?IFL9?tJAL(?r&wr3E6G3Fk z#Cf2ueA0cdx3>*W!{TEcGMi!bFDY|_Qj@kDoT=aq{k}>ZU%d_9WGZWr$C6JsHr|Jw zl;3~3tlOBxnO{Me-doU0QAP6+1qzI=*6VO6=CyOJbc1c}LZ-TbaRM^($%z`fbu1QbH8DHzJ89-2^U>UL3(5sp?XD6z}fIZ(( zIRva3zA{ZP;=9rfUD>Q(t*(&Z9cQNKGbkX&s6H1Xf$J|@Zg6$%3i%Na^v(9Z{w!mV z$oakVVge45g(y_KnI@R{X z`x>!MwdGUW=f9!0C$uC9JekSbvtw<&JJt66u4_Xpg%+x|@4MPGWWK-YWUzYr^d|L` zK)>J9zLW9qx~{K?1d}@%84(=>wh!Dpw40LI%MSA{e<9PxacYe*%TIo_;Od5d&RS(}Mh#WpjJiB)P2LD z$!>vt)RnsOt*osyYC``i{&rzyO}kjEgh21vj`C7o9j&ukG@(6 z;x68A3GzZ1N@~Kte-{b(@|q43@Y%wY1f+L?-2CxvNWdTdVE+;@_S}9Y-~lOL#puh; zPegZ=$uT%fSY=Gjn?ugXUIAUcF~d;DrZUv`l}J68u|8-ly+Oa$SFtC(aLA{A|Es7= z0#`__@y3U&+ht!cKjHk6HP2>JY??D{e!}@B$j{31lRIlWBIVEO6* zPU=5|l%4RO*GE>Z1ZJgtyu{{+iT)cBYx_S*;nonkU zr)^MFPFM6Yl73xt@s<;F8p}<6FV%J#0|TsI?yHm~;tQM=QaRjuTE>CfoUz6R z@|?OY@yYyTYyk0}m9PO6ROZ|H#nL~vUOtj2-S{KT4z4thu?8B7uFzjTcYdRY7L*4w zT}DYppP#MUKQ%p`VuvorH+<6-8S*iZi_SkRYy6xoskJAa=4jWOEMP9&D|jQAe{T=Z z`=|f7))*xcJtJ${4^y%W1~X*)r;NlaL1!Pf<3iGmsUg4Jd*UvL_p#d7Ij?fi1}P|} z2;sLjx4z{bCOa)`Xe@Y;+mep?CaY88QLzF=Z3P=?Z`6(t{vXS>*z>lTl{SylZrg8t zLWtMJSJpHH3yvkxXt&l3M{sc%{P+%_y_WMU_x!$&&q2i(*mftb-LGV; z+G{9HKBU*D#?Pbw(8+4A`!g`(-hsI1)?^Y(YJF<3ew+_Gz!%#SeJ8u6W!JK9;X9TR zq9HFKwrVl7kmXhU5@ihASFUOm+gFAw)^}q2WoDXHCVJ%V&GtskIu$108`%LQlZKLA z`AKDZ2l-Xq)AUKkYA~zzSV1G8h$&{MLX@P^W#~d}1)EE}k==Z0!D%fmE#Jf}ZYG zeT%yHD-O@?1nMt9cPS2R;#;RQ6?<)~GKbjknT~pCK#CAy zyqNr@QIh6oXMkxJ0vHzf3A1-(fpUogn;*hu&|H>8ua?-9H||C#Y|VHgr$TRdyIk3s*+IB6?4&TvKU@OnScb--0 z+bZ1KRas} zvSmfr{2+gs^5jetGoAEe@W9{;;@bul5=I7NM1Qrmh^-U+j)d-Q7dcR-x1!OBk+OcpohR93JK1eRvOCbk@I+xe>yL2O8f`2Avwq)3G{FB`q%&I|Jl@)MAHOvJB%#GG!9Tt> z`49Q%uK&)!!2gbqkU3Ikrfj<6C+~+K@BbDzx%kbbzx)R*m3(+_ZgTSJM}b`u-7!Og z#t98S(F%DbSs;NV0faUu)!zOpb#<1)SLp-@7?64Ej#9)s{Q%Y`E6{m=@I5+;FJW~4 z))Ach^VoE7^R|j~aP#XCcdcOPch7Uz*paC~C-&p&RHQR^j9ws}S@BI}w ztj*$oHr4CGJQ=Z0MJH=j-#}O2i|JTry1px|K9>`u`f|NzZO*k*ZHi7l`eTwYo_*Y) zn~Y83M<>&@|7&Q>2K*d3JbHo{>OmX;3|F?FgjJdYI!QaYu(QE zhIOvgOb>#dzp8XWPje2s90oT6UD@K^l}~joNRp>^2zsW)x3hn`h<|=775_Y1@y|0b ztv~qmvramK_~(+$COgGHGx94Q2kA~ot!PvbR7RzkDKKzHkZ zbSEelT2~v&@}k3D$1e(Ep|x(_j!86szIlWNLi@HP571C+&Ta^Q4~hi{iSQuOVT1%?ej2I>qQKL*-rC1#gU=L8d`hD*eX;S%FyG4D9}H&BUR zLGHzseY<}r9+Rchk*Fa1){(Asn~v}xACE`My&#ruzlUh_oPGB#sQ=;M75pxF=q zS$y=n-(dKg3jFx!$YT1Zc+LLeqkUZ<@{8*{QlJh z`aKnY?C#`4BzhJH3@8?$2#^z6_=thp*Yve`IrzNN*1V+xjfjW~=0XHjRf;qI>Ce&# z?8V4Z>9+pf=`W^YjD!-?F-G6ez!x#m0AITnUY7GF2rA>%>~vCA8;PF|VX^?JqPaH{ z-~9kS{XGgZYI#(N>0|^hNQ%TV0%s;C5${Hgns;d*omH;Pp)VFBacxo0~EI z8T)@Z`VNA8ifNr55WC0~bguGlUhc@;%)oXwLcpz+VSIY*rReJfEOlryNy6;%xC(91 zIbIk0K*7w7W?$ShmW~8`0Iz5g;ApGgr~b%(s6Qk2cGY8Fzyg`Ew*yjq&@uj|l?KKK z`-{JQ3RCQqX7wX-LHy0deITuhSgUV;KjR1Fer>N4yBEha8mCA>2E6qDzknRD2LZXD zL;s(P$zlJ?YTJKMP6kUx*lqOBOc0#I&)yNaF|O#mPDLGgHyz}tprBfeG{JlBk*;Nh zRBJ@1XOY^07@Ls%PGBxL`TRf1AKAXUd)9vPM?NoeE|c;{Hk|IRl|M3hq`R)+`m0}a z*L4|gmG{>tQ(o1wGgbcoT>i)tJYk)xXcIvTcPFkm{MYnj zeE7U5WKv47iotluvE2%?F5+tzLKOfma^3_nNv?H7U* zz8p`}Gf~9L*}R=;hr3+jLnjN`>7OkRWg^{~(R;-&!#Djm)RyieZYR=eNJ}K1E1W|< zEdRku%|{frvug%OC=x=Uq5jL*DTJGi-tGSg>}(8z@Sk@^R;@zGDj(sKNc+mfDZ3KW z%VN7COWz|OVWoOs6X`y6h9kx7PXyNxkz~Ghk!6gFBPBa$-JxLiUZF%Y*Kg|FspLs1 zot}xm4F6m6P_C0J8l`rf1aW%?m>o}t4^xNhs^aIf^p!|8-DNA4S=jsS#Iv;!o@pZ) zo)*t%1k4>ey{hE-aN-@~SiKwXzem;3Ib4ECPon?9804!yQ){)@Rh6*YK#?#(vWTWG zFW4cEz)!!g5vNxBVf1=$fYoC0fZ$ua3wGZIWiuQQX_NMW52%Rjhw%cLqZl_uhHunm zBvSH9xal~JicRq(LSL&JK>pkPNJCnSm}Ir|h;&-SQ&*@!ijD){CEb44i3HTkQt%$t_q?)_sn>`-Il(4eKsh>A)77rMR}2?4W)JPJM?&g zHIM6|8yB_Eb|2i>fHV4eLII76P-0t^^Z*6admq1~FHw%vlJ}t;SEBdhhJx$nUBbj-3a|a9eh5w6uDm?_@zDZ9~1jHZjdL$7GC) zSGDd|Du>onIgcxEOst`Gca>I!#gJ_=m*U~)=nCI{g8l3j?uNO^{5#A@8p@AvB&CXu zaz(>B6@mLgArayYW`Z)r^6wwmuUKviEF;I|CLg~W$Va1VP(>e1&sB4Qs&HA`it4hr zmD7NxKs3);vi^ExjzxTXFLlCfop;Xf;1O2#tVQ}DSAAcwgM{_E`LHt7kbiP&m*U6t zTll740qI6}L?k)u1z(+@ttCMMfI&DiugbP!Ang`)7JWNgh#8{niE`2>WIzrc!TD7i zl5PPTLRkA)I3dhM8LMEBFIu(joLiKB8S`^h#9s~_reGTtxDZ_`X<`WLCvTJ^sSRw} zm%2Q%<@7{ydt>K>5|M3vBzup#Tv(Op&!SJ$5A;KtbBKJbd^2HbX|<|lzl_%Kym8c6 zmAO4QeyMq@Z9invJ)8Bi>~@<-84Q+rd# zFplF25DpM4L}YR(2#}~ECsy2!I^J7}pnYbq(3qltf(z3@!Hq!Qo20s&X&ifB*Ayl!U|or)=$J-OAr10RllOF# zH<`ADt`$FsK;4c6bJI(BicH-!`8ypDE#zJbN{Xty@l*15R^xsIPb|b@Up!?h%&S3|JN5v&axsgwW5FCL?!KeY3oa`F$^OLvOV#Q#|vcG=;pBsx1bXWjdQ&~U{aKqHr zQ!ai^biRyAcP+ClpkGoZqPNr@cuMc;US^fRU&#HgWtIih%BA#0!CweagzoUSR6`OaQ3XMzcz_T_wVQlw<_RE|Ii(m8eps{WB{QT03O zoT}fZ$~Z@b`elAZOTYa9+Ma!fj%B{r*27n9MZ=$shM$Ut*RgPUaLLx)k(g$dq~S@^ zytLpN^7H~W_m#aU*OpFVUdA?C4wHL?%0E6~D*pt2e3hRnI>{BC+^GoOEELriN!Asc zCnnx>>uIFcYP>}Yy4L$*OQcK?7pX}mGM3gDE4uiIQ0m(NG$4sed(|M*^eQUSIWTz` z0_^LDj`9rwB(G^uURG0iI33rQN|@wh#9Lgms0*#i{!0}I1OZTNX7(Sv>bW!ArjZxW&V{X_ICuZI5Bnk8XI0=mrm@Osh|CQ@!dgfg&e7T{zx1dq4Fe0+`z@Lo?S#&|foH02yb4*U-kWvJOT2W4{8VK?f z+m4iis;z8as?SeV*JNqn3RcEig+lUk*VsNc)zFN1q1JSas)8=+MKg7xdPsjfM;EsgjzXK56h-{Y#wur!Xd z>I~3*TN4=G2 zL@Ls;Zy{8x3(cmwy;~mj9qz&QRbaIQQv@O?z!Uid$`GriOx11Tne5)QLf>Yc@TdPU zR>To0V?}IX#zQL?0=kCgePiW!Jd$zpf2jKsxT?zZ|G*8mE}9EvB^DL!P^plbsFW9l zqB28mu{5>a6pX|QL;HEVQcioLGh@q?Gg;X(rdbWBeUgC_8avMc3?PyJRyqpZPCu67wZt8g>2FMlUQDcm-b=sJ-=w3^lqgA=j5?Zx zj9jIFV#G93BK`^-Sx2GqdXq ze+wGG-EpDqL+H}@>5NR;@pwB9lr_yM(&#Uthk`q{$sN@p?qKmodU$7R<+QS4q-78fW|>Vg_Us}X12(3Ad=S;hP%Ykxq*~nhL=bDK83d*Q4N1no z-5P&L{oytGcmwr^+B+2RLnsf!3vCl~R~{zcF3Q71>~`iQo(L@h>TQs6K-&V4egH_` z`vA3{iJ%mWdOQd=mQsNH^J-VMfOSjy$L2qt2I3GTSXoN(UZPxW_>gi?fxk_qU_Sq- ziv2$%Jao^({zqtu_b@#Kq=fE}P3&3emaH9PEd)m)*a=7dlWa>#bASxJic|`E z(sCZCp&}ups zc+`E#-6icYVG+P7f4fJJzrcb8z>>zx;gbMmEr&}FAlX1%0NQ*PtqluLUn90$%t!46 z0JFv4EWeFvQmCjPs5^_}X<|t;0@*TlG+QqvOicJ9+Gs>FP$5_z z=ibfoI1h&q@_2~cF*L*-QOo1yb7GOlg@J~@;?PPy1GklYX6?;}kLC{DS#_Am^u-aHusXqnxrID#qe{CGx&u%v};lvlTL<_pN`- z%zohaB^qbCzm2jV&bc1>>1WE@E+Tg3OMvEtM05K~6U+MD74*_AFA^r%hX~<7N>zD_ z<7kLmX7Q9?Wu&mb4MRLV=xq-Ky$$jPVh#xvU9mtUBC|x7gS1N)?G9=R97UwFlyTn$ z7fEGoEO(bmHJRZ&%!J=lg7Yg{{6JFDnaFDFo^AhvEx%&8qKyLLgc`+)$Wi4S&5gDZ1yYp4qt znoE4JdJO61G^Fx&Q1FPXD2NKTDdK-f@1=3#FDxyzMp{~X5OCZa4*%VbHI5?ux99=) z#i6&R)@*du(`@?r1waBzKi4X^*#4}SYbBlBBTE4BIV#^{v>EU-TAAEv~?k4Mzz8a=h>FxJGLUqEkwBKCPJ7nRBe@VYn*X{(z838dUh1q z9GqioE7)u4b6+WU4ZFZ~<%H0k@iUu#O>qTcSEF&Hg(HnN7sck}?;22A2bFj;iyVoU z1>Rxi;rezPTjwhcnEKPvim-~Xg_lPwiSwkS4NFPi(P1?D782K=98QTJy8DJ|K8qoh z(kl*Q2#xbsMp6ArgTrWgmUT2#njIZ6boNH!Z!#R|?*y7Prbvv46sO(le){{5h@{={ zA+|-8{vXu=;WVxGu2w@V#nJe0x3J-~beh|f^nlL{r(J)|8Ps2SZXThs3dGq1Y8}d< zyv#vFZR@iQh^T?&qX?&cb_a*kKF1+2oVHVb`YPxr@P$;83~9toG6x~{(B=-@}F;po%ygtt+^tU79sY* zJ6L*42g)YVDoulpp{jR_`Eag7ITDkO+A95MB~Y zpOXMFRU`op=V$f%%*;K?_NETKW--c-YdCYSunhVH6fEJ)ksA>iQ_AchaaC(-es<-; z0-vWq{t7-&JtTNwum8CYzmwEtnp3|Mn^?dkr9)tdECp2kVE?%)W5lI8gYF}4yiDFD zupXh`0cqL(0ni(So6eFfx>@{Ml|?5kN@dXr4YSs!^6Qi|L@piK!t?Q@vEUVI9y9}| zAb85DlMTKg3aOe>C)6SB4f36G>Uz$iHkP0(O1!b<)@6-Ez`Z1gK#ON{e3cYk0_GN| z1iM|c$h<)nQ(?+zB-p*m0bZOV!R`|Ouu6pAX}^P^_+m$#CJpr!R+U4KPx76&KuC7bZ0$A36As}VZIHds*p%X~J zU?`K0_>E*iw*3boFj>8eEt2t17cMKTc1y_C;}rkt}^DObP=cpKvk;WFc> z-?xYm4r(D`X?<1SHiac~`nL7V{0e`%ys*6U3m!4}VX1a5X({I@=<4igBj;Iky{(*k zbIaSm(2nd+$_plF5O4uuT_i|p65vUc9Kh~U*Ds!A`{Mo<))&iLTVHH#`(n>nzKHd@ z^)znX+N%wkE%!K<7DWRm2V>Ka;h~M@eM$e59Lh z$86yZaq46v^PV8&VVjWkj~d!vG{7dc|H<}gV1K?ul@!nM@pr+}8`q!j$-C_X6caL< z{(LOwI4lXnUQ4>}G<_h@MQLcz2mPn|9gGj;l;x0jKqIUH9wQ_xHXipY*=NkAGrR$- z8Bv_E{@QH?$^Kyx`t$uOvvZu0cBe$;v)D1k%8eD3KQ~K9D$Ac5Xx zZD_aD+i3In*kaGqb_Y|#e^+I0vjXFGNvD+KF89Sb>{hz8Qgum52?b@GK2!cVmc z`~l>O(?kns1@j@d=r^pS-ZSwsYC$I9-RxPNP%kUhL!>t*&>!1loOURA>NPsxPj>Erg3S?Hg=fK(QLrg`*0Asrmi27>-Em-m}Dy9SQ^1b zG+dj!dtj<8Xe!Mvjphki<8Uk047S#j=~MT2NCf<`QNSA7I)kcK)&c)VO=C}5qM5pd zGYhRyKd3$j$U@u%^>+~Y`5+*s4GCB6&(4*V$;<|a2wef@j)3qu3y(641t)Yo@(Ou?OzgsQLa4*sC< zV>Gc2(iiOdHPsHyA#W5mcrZ)sm(b*3o6qMXJCdAAN`SHrM)Bi?K&F~@f=u})G8GvA zs4eEl3gK7sSIfvna*rOlCofyJi+%-zQ?& zP(RPk&tWynR*nW@`r9XrVQ$bG2c_lGbxkN(Oc$zubV@|3|C2@amV_q$t?C21TESb^ z*AT+jAZEqQv}eTrVf6%@63Sl|{|lP)iNQlVsg%`qDQv}?Zq}YkVB}YDZ)kA~;uilb zxg80UxVH%*7r&pS=7!CgOj#4;Jq34MITZ?8Yob(-5IPWHX^E>?I zGWzn){cRfGQNLcm!6wo%U#ORJlmT}>Do!-PeCV6~<3-`BTtd@vI(sEhqm^t~b zAAPI2rDi^O(E8{JwvYbx2qx~q#V3Rh%;X7K!~EzItQFWa;!K9 z9d2xl@$HmSK*-nu1`EY=>QYfWClYXrX_DB2a!uh-ZjlRGrF)6zfN+(@Q{EzFp-u0c zXzHD3UkttT0eUU#oue@oJpcPAo zeuVn2X%C0+B(Z+jXOexE;!Qfml8H9`ufSyDD@!#K*ZDtMyY4y%${k@Zs8l8#R6`0- z=l}w4gS$aFfigFH%4=!W0F}`>{!aS|T);=TkGhtU(#^^uo8@c)KB`!bqlUEoYb5p9 z5TrYS%=u;wY1O@=y5q8b*7QUb2YRB$zDYimEU0#&>PS-oB+}BrKw9iQ6YBdNH;el2 zRqA_|J*l?vJX3vV-7ls(QseQ7_C>N#k>d?K^t2HBW6}D3A;meT!aQUoo&Nok3}^9Y zi3a}@7MC>m-TVvEYH?)zSVk%b<c@ojFY=EBFmR7^vcngMN7dMDp+! z5XttNh}Dn|PK+BO)m#yhs`Q7Dw5oEi;4yLct9dD<^au3a(MVBdWqdV(qriB59#)>5 zUG=zO793h2J<;*0`eSBA5tdz#^3n`2w=A>&cR!5qjpm{>OjJsP(oxXgY=@;eOsqv~ zaGe(#&t5QOokI;tL?a%QuPo2;gW#$rpFxnEMFaJ1($y<_E`l@dtX`khla3+3ZBu@< z7m7?j8WpPE$Z_LBE>wkAb%R-`n&&5XS`zrlhPoVVF`a|G3vzsb1{p=vT6g+NT3DsY z>p!4y+&PjJj$#~G;jsNQO@6vN=qIcY>+SC9NQ>J9A;G>v86o$v>+10Jda|M-XHsA6&SS)k|)* zlac8E5#sMQ{`ath|7rh>7(2j55}u%piP-$kL@)9GV%H91SbU&T3hOl+Qn=ga7Jjj2 zN)8J@GKsYar&q$x0cC)vb|ZTS@&w3CTUY`b02zv<3b)jGeIsz?(nPNh4-*HZFtvUO zKTNQL=2GCz+~O&xkbvTp5J19egA6p-w{y?O=pT<0`khY?5s_oIm@<@BroLk1zdmSb zphFB1Bk*G+wEZyRODKArjD3l#G#Pw92xM@|xmX9^T7Cfg-%L_jGH@N&q=Ty(<2k%4 zo@CJa7GQe`muh?cnK(_VX-mA9Sm+#^tty7z%{SZEm|0~_Z#T`@vhO_ildn7$`JF=m z02Bh`_d_p|{AR%uDbABjE0IC)*)Z+3aPoQXP4@YSd>(AcXVE_@t?`31la3r1-_df} zYnRJGF`k!;#Vph@9w71?%&bH_Qj7;p6gI0Ej~3GTETkv#vk{$QMw>;%sOw{n@jQH^ z9T2>*?54EKz#oGa+GhWpZOK29ZY04faD@CrFrA90iEA7Di>_^uJ1Ek#ny*W8VX)mf z1=Wnk9fx+XkmFbQFXg}vEyhHO?###Yvn0B+fM2DeJB!pGAR4{94M%rmKQp?>Uq+N? z1K$Z!-C(SGjFgj7To92*?l(n}qT3TG6qrJA7Vc9*a6G+H4bbFLFr5F@3lmuM8zw;5 zW6D5!(zt7z#i1sM1f=WQ$;LvAk}^thQ59i9f6GsV<&4e^m3jWe+|0F;vpKgKSunY@ zk-EtbKJ5>F(DiIuT6qJx@zJ7Tc@6~y!6Jy!kbqaRvg9^m7OiQ~C)S<_{h|-YdGQxV zoyM+(v>XF5c{x6xj8lp_(KQSOyJ+S45=~>xI`OxkaybjgJ8@6~k}xEaQO^3&LE5Yx zqf8Ag35&zH&^?P2;2mG%U9}uEO1-J0^8Eb!J!qoudmpyCylJs)_+^7ULT zUupF+Jd3%g9~|bMiSTb13P~p$RX9@-RY$HC^G)Jq$s}1)*>!BBsA(n8w1Aw9lmUri zWf)A5{ezbvewH<3Z_!kGXA<=uOZO~JEIm*u#{H)CvJw3@STh`5&REY{0QQJQf?Az(D97~&RvGJ;l$*QcLaABIg@Y5yY% zd(h&D{WW>N>aUWHGqpaLf^|j!Wmyl=PRkImQd7r9=8IDTMr~mc6f)1^)(uBNo?lM~ z{=tvuS=>=6cCg+?Owt&53C^O%z-PupoLB91g@4V#0M!^oH-U4JWIDL}jJ=+jAL2xW zHINZ4YwXB)79(RfLdH*4YHlItVl_rd@PN(wt{8+>|i?HQiMed9>2^t@AV?YmQle30_K_2u_w z`RcuuyTGtYioJ1%NU=fv{O%x%uyBvg7=Lb8YnR2mgSgN{m70i_FoP3FawKyD5}-bo zuhaPib-Y{0E+XdDWGjjy z{h~tb>l2!r_O+O=TAPr3MYgkN90yEgoZJtbB>xOB64^g?j69by@;InmS#fg)l-3D< z%&GjMRc_pJ;g5;N*dm&?DwAZi^vtFzJ+J=~gslcs%OtPA73H5+PDXAA8xd&fVax7V z?rFyPU#HMyl|ux55z6`{jR*b~dW@$Lc4fRZQP#JaGeGbj!d~P`52kIW(IY1N2q+Gk z15aN`(`V#8G?bCI9tR~?&7Yd(@=wiiaQtKpA!?ghKdn{z#`L{&AT0dt-;~!Z349Ge z)I2e_{9+*GaspJ2XW&oX%uV-xOX&@z7zFg|nR`7C3jM1bM<{vo@e@TBSPj&3Cx2CW zyDr3IC(HpwKXYWWxb$jc?nyTI_^}r}G>-}1%%42}NB$JA{}@gqVFJ4P*fRpf%=TiZtG1pQWTeSzX{W8VA zFu2#!AQ7I2`be%B(jfIW^w{KEc{8gA0deE%y_uhR?ymsbtA!oYJ~xNaG7kp_TIOQW za($O!(e{s#MY|7y(L7%>#nE%IXudk7gP0WH+l>&Av4j#Vd_Nl#ahyXe4uT|9ba&xZ zG^?=cqz^mJ5bNaskQ&P#6==lpo`6Z81tkQ0IzBR=jyuHu;nmYNfT6E<)j-#HD{ESM z%bOn=QVSLRZy9hv@$d|qpx5iaGJ*XY;17kTDP3SVxH^*ksPCq4voY`{;$Ylp0~wF$ z^>F6ZqRkYFpUbF`2(YbPS8(z?XvaCC9p^zi26haFdVC@D;|qOjaxlESxYgdwebW$} zUuFDwBNU8{wQw)7e886gigS$3xXj`hd_u{C<S+2W^@`^6Wflkf5gG__b0QWw*Ufh`QU*rL4O?2@zM-i6dT!g%bQ z1NBDYCLP@PrUeM(X(RwKx&?|l=@v3@r2DL-+Ca-USzqEo0Wz8$!6aV=pDDya(mB`n zkuhO{T3N=g&K+oe#|iwQtUrNz+yh27?y(Ex4FuZ^vNMnm+wb+MYGT;mG95GPwNcNk z9nEaj-Vifm112z8f5Zs)iL&E>&>@X;SAlR4Z0uUni-)7kf3r1z=-FS*sr(Y6d?Sl;nDezQjK^;!nO8mS zT=HOolsj)v=@(y%oR-f2!3hNH@&TU3YbmVb`#gOwCvV5D;a6j}s4k^R%rR2>W4ITL|Vf}zKKey)vQ$XAn^Obf?qzt z5B#4BJAg37#`(Q$b@yN#`9LJqA|@5H+*mt=zK}uH@H5wBd7fC6ta^9!!?w>#W7t`uupgz8my--HH9;3;ngN3EYwxQQq%_VohnM zpACF`{v(Z#)8c`Ty?+UTk3wl%hPxx6P};T-oI{XM;5QMHSVCs{Hb_G!aYEXPY^W>?<@%$#dQztA*#`|0CBSJqMto!} zP}jE&z~gpYEV&52fb=8OQ|jfSl`u{Hx<)=%Igez zqyYe!%zX8-&yzr?se#t14oo{B6NuPAPjE?7w2fXv4Q*y51D_=ShS=90TsAdS$m?vK z_jaLY@iD9#w&6sNY~Qxp%dv}2{It{X%k{iJ4C{m4v_3erywkDBhk`pL8w99GzlSx}3_V-zL#r{6V3GJkS&Y(%4`$J$2cw73K0rgl^ z!WyzeXl3)+7p!@stUNg5-Tj&M-GhUZGZtTs?vyR)IymFKZa?e92}-M9#1ImI8~-51 z1qKRYR}grFkp-mFX4DSH8{5en+q=Dynqzu%PF<1b`_$CZS9njY%=O=rGJ0rv_HkGR z{W6+P8mJ@Jw}Ul!+N_;G1TIBk9O9wiv`MfJEzLdGG#o?f>8Bc}k0&Z(y27{kGdy~& zk+Z**J^@`kkMSLva$##sE$4Vz6r5z?gcc>wKSV7GoVw^-Gk|h_6a#>QQ;H!Y9J<0-ZzIgJ-ehlwjI0P+6zc9m7*E{#Q272EPTY@(k}g+3E4 z{+k~tzotSUm}F*?Uy$T&>3W(7G0azl34|HKE3pZ))SU88;Jh4jVj%{Vn%O0*xx}4S zlM+*i%{vxC?2&PEYSSPp*Lqj!rnc)W_p<1daac3TvnX%g#*}vF-Jw|IIQZ97!5xbTz_$x{hLUd+Nxq5PdV}R0 z$v37y$Tg8~I`cpobf$dU4OVWh1o*v{Z&-=`yb?sxgq1|n{3_GD7DtNl^3}whSQ>GT z1NaJgA!=_6^`uf^Cz7{g7{y%SAY3!R^F#$0WCcu@ikwxIK>m7|E|qY}3@&e8abbBD zOqYrr`1VOZNgY~#9t;cSWz5F#VOC0WGB@0V$S%DVOh1)q7R#K26V{(LNqeRSzu)u z*C)^zvRpr(P4wL&oxcC4+BP;=l=u7THmxunI0*<;^u9)*q5FYAEh!DFyx#}rO&`-u z`Q}Y0(@i_R3xQ<}k3cPdGS@MZr`*Lz3)1pu>W~cK-;~0z_SsWM!+ts4J0=#(>_<&O z#=#WKY|49j`nh$OS*uVp6Z%<@8;*X40G%u@CG=zK&&9F<3m3*dTRl>iJWcecrAe4y z65&9qcgz9fpZL|Z%*a02;4sZPnKSEwnW27krJmXy`!KaLkZ3!HNGOmsxGfsKZ!8EeQd#xX?`>f0)$WY*`FZ* zgnQze*W#))Ru*mjy<>h7_JAgDo_F?!+4%xW4aEkC9LX+gN!%zkDx<7Z7ciN}okp3@ zWFL?B0FiZAt}*f3Ux10vd=ml_g~$eRU1Ko65Fz!o2ARO;3QPVMhqk}8y`}9hZI9I{ zg*^Wh8zc(?AsN#CI+fWok*4QLAzU%WkT%Nbf+!1`RKWr}NRS*)+&hD)ZDJD`U7+vb z@=f@>J3rKkEUjBXgHc&pHMeLPu(vzb=Z*@!K7;pQed50ku|95`!gzFWENtQ;y?hG4 zf3@@rUcU-r2#vL`rbA{CVF1{H_EkHFef2qgO@|o{vwf923d))YYe9oAIFp<;OpfZ@r8SkMCN6-Do zg3O@5liBoU8iQd84nbfDSR3cEkp7ND4i?B!36?XnV-PHqzfdzbjPYd37wTE7pfP4k5-{fS zr5a;S{T>+e)pq<@-tT$yrq}7Fv&@^C<0i?^$Bj(i2_%LRiI*j@E$%8t^RnDA%~jhL z`qq|`3-aNTcTAJ#uX)GV^VhmvOu&c0F*@K(877hQ*T(h_Gg0t*u!LGGe{DYGf#Ofe zw4|KBHif|0(EPQPm&>rR7H0n1?$bE7{1XlwTP|CPJTD(6t1~C~0)o)r%8iEOMjBTj z4=45^ff{4-1@4@ic!-2&Y7zsDC#;`80hQRz5Hk*E--bypoc%V9tJyQ2D6djqgi zpc52$AQ3D-cYi%dJcU%*Y@A2Em{0VJxR{~#pQ8MwF-@M|<{e|pZ@X)##?aew7WJf- z_l-CyGrx`6RVf&!5gv>-Lm-?>w1(9gN=Ao~8+(3R(xoy1U>E1N-Qben_8$XG>7ibf z-&Qve2@tmYw!08tjhx@+LuQSI=aR$r`6)~gU*Mn!Lau)+*A3_O2>9P8BK|LO5v2C~ zwsXDZeW!cJ^pBi6At`ReA1Tdkb(l0arjI+++OfFE7u!s>T7-IP<+t@AhJ#)xo!(OT z1z#V?=I9)?JcdV|g~)K@hW5~sB4@Z=bbdtKs~O1L!j|8b9!-85?WE2)`Cs59`Imr^ z4askt!E9gLvVxYL+5bmq9(8`(3E#w1e%rDmXsY)7wu~%E;HgAdHe!C;K;N*^UoFfv zGkg5)PdJH@_e2~VnL^;-r^rvKfj=3nAHmpZ$zEkjZTmEZ-?AMC$6Fwx!l$ zZDsnm+~f24Z=LU?bFl*Q+v2~Dr~I~MhoER^_&D<0Xftq?-v$%cmfuEs`ITQH->C}l zJ;*tw+Pn*$>$dy?f%?!Z4s)*C0AL^u*8v0-I|wlHNdGGVtQ^U1ocs$QV@eY{NXa*C_i!9ol&H`4ciI+yX!amTE(35HrRL7tY10Z?HzDJPItTd z1V+DWaB!fXmG0K2pRC&>mq(lKw&qGu9MavUA^WSpI+r577g=t6=a8~u zpH8#j17uJxGlYmqezw?O-!~pn|I8M3IEgjTvg2Y{QOKS+!g#nX45ao8wH3AVGcu4+ zzqlcUeZ;0W{3BG02oFI*K-`FJZ|si|MSmF2{j`BZfQ%0lfAJ1bD^Kz#Gh(|iFbNYPyD;>;1qvHf)dl7>tY7R&U&BY4g*)K zu%@-$jF9y`-0_zw7Xe}_{_@Y`*ctXB4o+v7#9vtg_~r50u8+H@n53-* z<-)a0cV}7zu;5&{$nh7-?ojvx^-%dGCrJF|7>_M#VDpdBSeq>V0=H!Nq_|q&RU>x@tSJj;?YR1a>Ye)e!a!Te<27k;{G&(f6?W~MT*ZX zYHx#dL*g^H_Y=Yn7oWLXLAt5pGY9+1Hz_{z%7MNrK4aR4xcW3-jXFQ>p&YfCk{{Qn zC02Ct^Lj;RZ^eoZUKe6TU42el&y0n;xaP+lmiSF21coV$ocVEoT>NG>$%YW|n?*^? z`Ci4r$@v1~H+94UV~yWTlDAKGeS7Hm&0JDrLd9$J);}A6B|DE_vQWlX=L*h64 z`bHJM+1G`^P=`Yh7))og#MXl1Hzi00an+(-1=Fpk#UPl(zZ*^brmf|F3X)G#!SYQq zvdO2WkKeG6f)6Eh{N}%qO@D=udYMihYfvC(PPUe11L7#ZW!cl3_5JBTV12pBQ3@l> zen@rabrQ*W#i1IrB_r}H(TYz`YTi(0OlI;P>`m zfhm52^GZ4|t$7|g6z9M7WDCd<$U(>&o(bb4{NxDajGIFVZ`koTs)RRuE04bQcbw$X z$vnhowWFI-0L%MbHc(?vvwCWPdW2E(H;q4+ZUp|cqjahAey5rDRUg`4ZwxnYI)iTd zc0~vzbCs`mo$QWt?%KQG8PB2k4cs|ZJG_+#`g_x>kiZjDGXlcj0RO);elzMkf;r+h zUf%(4)tBDNdVFTHk&VkyyUL&78q8o7k!L8uoKXIMp)Z?#j&UHqW9mojtEBd&X0RuA z|M`|onW8<`)4T&aR$AboT-%8CybH^z-rM76Y7JTS9XcNL_f{SPIDU2u0)3gtZ`g^0 z^#&SzD%t00N{yVBl4T15-NrSMbPJLo(^NDPx7dO}wN4)7i2pPI5qSOcl47w|17-yQOD*n@enTex`=Qq$XKPpXk#DCIVG5mU5j(Sr6 zIwA6;?l321^MMI|A7ja9AVyGpXs5#O2F8c#NGgDYvAi4~y4NK>^u~Jdt=o^~{s*b> z7~0}PBM^#>93L96goq=z2O7U@0CAw)y?;(+UH{zlkf{Dl9)q#Xk`CZA8>*VH-yLmvC@6>=8IA&0|5d|#D;(|KTS4&8GvgZIq7`z|fRV_M8FI4PE9lM&+-8CDDWhnw zP{=~2als~9yxElRgm}|{w+XrPdhE>eZO^Hy&8hqv$o*UYy!2XXzJT8CA)7C(T@C!c zVW)i=10zxL@`x=Mta#L4z+X8Y^$14!4O9@Dk%QchjM8o{uHAekYLmbXy7q4V-WdZ^B+eYe_EbOBEcDd zx=^wC3{*!-{3*}3Hm7Pw4vd4mbhIX;b_{EyX~%$$9oRlF>j+~MK7%6e(@9rHEb2VO zqAtK5CEluU#1z=4N|aKKbTyz<7CjW0T4xQ1w3>v_fvKXSBTJnsHz6+Yv(?Xt4ohFs z@u?AC!_=erQ~^$kGAL0hDs?irU&DFlY3uOo-DDl2e##j2Cr}c%%T8Yj!utMSAxuAU zmX{~F&r|#hXM?0|x(S`i{QefKKZJ=-EjU?W2JyGd&Lh5(`FAeBNfA=H$p1p_MVlsJ z6yh1XjJ9=|b9YY7LAO=6fF$st z!f2&m!H5g0ANnf^yvEcIEk2zju+$HI7thYXS{$6tK*X=!BBt!^v4IrrDg#LtFc8Ts z2Q)ix{4#uC>os}r>u&F*IR$b(SO4LeUEKK}0XHbH#s0%((ZKf?3%>bmpAdabkoea5 zzW_EE9}E}w`l4K_FY@g(ImRKeYop2kb}u$MKT@!3{0?BekLeR+e;xkv%(xRPsJ!{r*OCsY8bPkb!|QVSuk?BtHcLdfr%Ko$I)X4!YeAyRy6 z!_PKIM<3tnD=xDDil>WaQwXEz1bX$hz%CHf-*)vqcQ$Fr%V-(dgd&>hL_i34cGhi8b0@~%C8=^D8xFtGN&Ipx-Y9Mb7K1GW-hhG zlx%0R{wE{DLGdSE{|dGKt8r{_e~3!RAR;_y41x7awAY5zzfgY&YE@?%Gl#i;X*S88 zQ1P$dGN@a_t2j70r#=1^!jF){JoLfs6tJm7J|B0Hh_bS&K)yS|<-4elHO&!cX_Iju z)EVkOXKxf?D{b2OD^KPt9D*j(n9$f3MhyyPkqX1iHqZo#s!v3-lZeWq3yR@eg`_fH zmh>(NuO7YUa($n{s?Z+J+;nVCd0dB2Nq`-4uXduO60UVxcaY)o0S-ZM2^%XjE=5v? ztA6h)=>~aXkaRUgp`v6$pD7l94w7#pAskFH^E#?(Z2ci}F^ zKzxWWMbqwpNx!#x-%+?GviUqBFIS^=!W_m|kZS>fjvoGAQsM%_L=Sz})L zPGDZb42^l8Ee7U2Md?W8{oXWhnm{-0EYmkFrJD+IlPh|~MQ|hQQbarlQcX?n7orSNTiZO7i zmXY|^6x|;j!wVNbOYDmH*|d}tqZLk~UdfRO5m&M%Y=3ZnBg&@)KhIOTtIQ8!3%{*= z>ijMmLDO&+^|Z=bMVwacecJzVckFLMBjA6_i1;6=e(H2T%BNyz556Hd+~s6$_>1WyrvBi5 zlut>Dknq2w)Z!Rb>MTU{RP_D96Iw(>J-7bgS<%F|nyP*(`)HcBGrkpL{nV>mKUIQU zPt*A0NLF1N@xV_<+_VvqtS@&l^6tdJ;p(UQSNX{Z{K+_rD9sVcnkTpZCGggWkt}=t z)DG5hblfJObjYlYve!>hgYe2%IHEOmjSWCLqGi*s(J8!N6rruxIZHNjXlrU~75_+X zg1A<=p5b2DG-i`@Tko~`02W!4;vbOqklZq(W-5MZSo845Sq3yZx;1TD6qQs%UIr)r zJ2kX3S2i$y6?`3KQGd@+1D9KJg82gYd+4i22Q!dJ^$$?|0%A8q(*Dy4=Xe02_v ztf7WcVs7JN$FSk6n;qe+4}#)X)IZ$c_rAz{oZ5$HAwJL)^;1iMIZ8*!ARP#1a>V}O z@kbJebH=ZFD)j;Jt89O}w_+%sLI=xL#w+dF#yLjG4+O0IeIGZT!d3c^SvWIj9RuDq-JUx7g&Z*UfUbe2`Kh$*!rn8Yb8F@Vl_^RPV>dmr*2AjSWb{jM;MoX zLjKPw+9-PNAKL#pH-urter(i#a!q3J^w@BZwtnhQ*7~!{DxW+969|ZI{lyd7sg;-b z)S5Li|IVv%Qq+Z)3jO83Y-?(hF6C2qAFn4q@?%W=<03ur7Z-p%jQewlNxNEub-xlb z2?l|?HP{B0wWa3B`jU|yCjK-7KQ}7=)T;x@O^H97wKO78 zoBxdl%k@(i_|`Wzq7<=w>ZDb`(I?5v#iSdiF(@gqvk6aA3lN8GzwD_e&-ew0hHAw>LW;!fs#ci`aUeD?Se z+N~9@01MoVAW-yGo`r z|0}c>m1JW7cvSuG!qrcmzsW{MHu>bNpSl1O=lGBatA<2`B9>2;RzNoW4MOT(I(fW7 zL7NX^%UvlQ7U>uAf>|Wm}1c#ed@D z4NzSj@t-LA-wmLxlqpP8zr6AN?;_SuJ@zhESk+JciO#M1sec~9M$qxTk4(~%XpS)l zzp$)U9VDoKbd2>=$I-W_e(G2{39g^|rlUrm6>Fq^s?SXte>(gH`18So__MsYLV*eGFu6V0}|kyx?l8s&5+S4c^~%*q^~y9{P4O^}pNG-x0sL3!&1;@f)vO z0OzwUOc9^s;0WM+BiFxmUMGu{1PegG%{rU`%t_xz#D5q0X|G>8!|U%`8QJl7SoU{K zHTQS*`a2yk2?qS{fX1#4>MS^ZlN#IpuHM>+nCBM1`F;D}G23rU{N|Y_r2pNkG+9Ug zyPtr+*x$7h5!8tBn<2ho6?N|Y?>=GNJrM_oubcYc$xo?)KN+`?e&mSXeEKoJWjhXz zx5N~`X;A;W`yQA6cdyvsqr*46ziWj4cgH;>>=Yfx&C$sVvXPI+5`Q=vHdF~+9$>qT&6EM0yxoc|9Uhws)(Sd z)ciM;mzDLW@cX~+Uj$Q#``_WDC^ck0Sa3bjSM_JA=68?14J#<|Y7CT1iN1LV)bjN7 z5LS?w+5@=~GdOA?rgqf(zmndSK@H`A1)Hv$4|yJ>Ky{NwXpC;^vlO5C=tZ~q zOeJ59IzIEt0kxQ_{_;(%=qFd|6*=In{p}Y0SIe^NUfYlUcGZ_@*7xd6u)bUF48i(Dn6=;L&g*`c_)Ovw+e$Pj zKC}K?;y%Is?Z!l|&(Xn|T+cg=sK=pj$@%2n^0Fu)s?2b1>WbAhp2O-sB=K|nxr6?+ z;xlb92N*fsZP6JD)lh%CUEdI)Q#DP!Y*b|Sx8o^WRX6ShH~7}A^eu|d+(IY8@tH|` zH1?dhNa8bd^ELk5Q3m`ugA%FA`wcPgJNOFZ>lE{*T)L?hZep5GAe}Ff6b8fzxJMj< z!-3tYpW5t>bMErhB|Z~Xw}udV+_3$Y73AO74t>Nozb2UT*zNrg#^Q3+uJAWM2{S`+ zg@^BN_pW7sOZ>*nU*TR!ocOJSIkES*tNTu-XpiNjEN92bNjNCaHTv5H^|f;i?zEOi z+XOrs*17%I#{!{1zHbZe{OoFi+v7V8!2@3Zi-XobRD9>wovzq09G9cUhJXAgGB(_x ztyC4?X~@(#{>AeP?r&$0?>zOT>zwYx<*4WM@utXg3e(@NBl3yV8o*2pivLtMGX7)8 z1mVHp{&sh|#eYh{w;uYC<3C#i;y(zrMvngkwY75%2z~f2lht}06j@1MyN~7iC(i3G z<~)gMwIkSd8za#S`G4oSk`3bq{bP?0Wm0@7#->JAun1k|cCRqst53wgLK`%z_06L7 z%_r#yg|RD%N^_4SiV^{u{XB^E5Vy6a?OWd_eP8+HN3A~pJ^OM zDtyca868Gq|0n8yhK8^Ip-7VP`hI#r0%u8(X3cyIst?Mb{&t8j#V7})xgA->F*LWs2t+>o$C3|G$Ctj`N>afYUmB=5 zeFpm5A->em=5{NnSm-{yA9fhT2*MtK$S3Yy?MA6#SY7SbTZ5nl3@vWRe__mBE9;j) zTr`pFyd*I<@Yz&l8*C0O!v%h27W{xODrGxM>bF|l^*BsDia!hhJ&lE%l@r{q1T=OCGc5q!3RcMP=C8Q__W}Q*cJz; zGmzp}2wYXwc+uP0i{8#&>T=Q|{!#Mgn$av*Y`As`;aCuWO>m!JY?wd^=MzUuO zOS#GzwaT6U5k!MJ+SPm*2u*=sxc+rh|89$_crE`R@n)_s%Jm{=n;PsN!i;~S?=~`+ z1qV|2&6-|#7#MB#uX`GQx%IDmeuu`}EB^|--FSh<+XZ(3Z^w)Yfww}i&EFTW2C^j~ z*u&GmF7Y`Vq@#~tp?@9XR}P9Mxgb?WI2ubf0egd+*Qxs6ChuRDL!ZL{bpN{jb7*~3 z|GHoJkEr|Cefhaw!$;;}4Ug=n*YK;`RsH7N>q4xfEB`r@wx@`;l#%&QRQ>CYIvoA$ z;vi;BVdmVwiTdGN^+!Jtd($a!hq?af1ClKv;#<34W`6b)4o-e%k8dHM<*nLfwf@|U zn#|812?>IiTf zkpub)HeSWXFHoX#{F9Op-~!ZhDtE$UIEYOLK1X%ZjpYRO4e4tnzz9W;8meWk_T1kd z`Up3xJN_kJ(e5||uV}cym+>4jEL`<>S0VOzg^(r2K*~M_k|9jZRfx^9HLDZ(6|O(s zTVVbs8QJ8Qv;N5HPZuc68W`+~zCYboKcpG;r`v*)M)ap!yiN1U@lSwPe%V{|$|W~J z-c3e|5idxfJ}&aE)4$yrqsY5R{pota0igU_6C1w2Q{rE2E7h?0*9XL%g5zHkBgemT zP@hDN!0Y`(VE z<{kTtJ?q#UJJ*X~Sk<>)+NdENVKE7Y(Fd~Vl@o}7^64uDMkSu$8_dphF>C~tjZqXn zLj7%944~6l0UJT(Y|+Se;87r3QBRF*Lni>)T8_k@<^593n?9zS^39u0rki#k&Bzra zT_yMAx7`uc)pDr0LARtM|87I-UbGQL{3W3OoU?vu)LMcv)h}I&Gi60Z?mze3vM|#T zv)9&t?r9)_qOWAa@5a|JHQyk^w#U5EUSNMtIu7=j7o5~vl(VL6B}Kvf?N63FPYJj) z*krM}>tB0IW(?GK@OWE@>yNKrDqpQvvkYfZujVI9Bd+EjSHHA$m7dcpIE#8t@sa0L z`}@={6?`ZYfY*ZKS8nx7|G5Di<)haqewFcWXZ&g@VyltkSFYiztdzKUe&=IL+e_Qw|I{akPnLy$U&nu3x(TX~x|#I5@oXVBh2ArwM^S z884ImcO6Hb4otNHNJpN`{12{ViqL(7% zK)(#3(8C&klKyi6&G=M36IqA0_*0vp{&VOAp@UJ;M4-B`SZj0yD!Tr2qrr(!ax9u7 z*n}kbD1uF>WK#Yqd;hry|H?T15DpHUwjxe_mdf(2{3zOp(*a7|K*Z@a99=C|n-23M z7aJ0r52?dM(|?ZQOaJrrOZWYo7`rpRWa~fIkou*w@k*Ear6l#G2G%c)SVWW^BBmg! zbffB*a;Cxlq4<#(Co$D8)op;0#NFpU{y(yRQVG*2WOVWW-sJosR`s3Y?nN2xG&n$N& zX4Wdy%v>$Ir?~1dc%tr>-5*lF^vQCPi_%}N&7URygM-s2M)4ni=M$%rS1ok?Qteax z`1d#jKklMIy86q;y(B0f$cNm6K8>qin(DVjCA=>2pZ-k{@`+f#w6YjTO7%-C=p>+i zY0ih5&TgFnY&23dHoki$u<@>(uyl6JLV;xh@$^J;ok#$h>Fjr{UrKzy2I=VIKdOFd z<5Hn&iTnI+^-H7FXQ_Uv`<>*+3hXb}fv-kgzqDeVT1?6Bn0p^qw9AQlMZdoSEBeCV z5G(4+Uo!vczQFGM<@c*!>M_ga?sUd?{pm#;mIY4o=o(kMAIol3c{$ z9PTa`ef`qLNBQlWa0q_8skl2MI^!UJNO^F?bZnatT_f+j*6p3q#dPFlwwMmYfM-V2 z_LnPun<%#d^-FI~j;?;`%10Qq1vt2XR(Xx#BX{dBSB;DfSGCwxFn##E&{|Z2iQ}t{ z?k~3uEI)F5=Xa@J>OKjwiRzb*r;~=&FRgrE%d)5MruwCB$7|O2Q$ASVLZltJI?Y9C z%=^1LuM?%w#lIx_V`7uUZ}Q7*E773%&5^GY_X&>QjENk-(IK1Pp?)c2B39R`UrMJx zt@@=Qud$KS-4>3~^-E{tCmpikpp03+WR))QmOhMfFQ>(@Ajs()}wn_KYc! z`lae_8h>8B82EEb7XB>nca3>pAKYgwHgB3uHx0&3u1Mx8U$;Kvj&ttvHK=}RP_ehH zqIq!UyhLC){&K0ZZ4g7t#?DIq;S>G65lzEJOPh`AMSyA9ispz^ZJpfZ-(+neoBKjc zL+KAUZm)+Go9!Fc>{n&bcqvhf?2V9l@GZklNtu+_bJ8BYC^f6}P>Z4q;D~8{cU!L% z@Wae)zlSaOjV6kkNSnWM)~1xmAhTvL(#Db4i4vKVY$z(( zNP%qjE9qtV=#xQk0bh`3h_iZ8_i}enf+vFEQzl~19Hs}~KI6rOHhlS)CWp>L!1gBI zu)V(a8HM_zBQl8{e~F0s*dL%m;)2-}BUcGg2xDZ?GROCH@1G zU|dluk>J!qoFP6Rn(0iNM8z;(|FsF;da##P#2^O&3|YD?;ENngx@0WP;!*yDSN6Yo zR$Qpl5wH!6KLE~IUf;C|zF|-PYDcl@D{06a8~$z49r%;c>kTZ* z%zDr4U3d$vS^?!NR@TO&{srpxa=w~NJ0=Vx+(07~bI5+)wgy{TKzXHIYuaK`>D9){ z>uu9gQGs7rxoRtkBrO7te(`8?yDV6)e)w#Z{8aY-BCJu`I4H=N= zn??^h=8^5kJ94n6qi-GQI#?1+_d?&;r+)R64a6Y0M`d1~8na7-=F2MG8I07Ku? z0>h3=$Yb9&$Df$vyBxm(#8!=nppb}Dtj|T14C4El#&-~j6s)VHhGtg1|16XmhFKNb za>}&qp`)q~5gAMfvIAT6jVhL$lJ^PLUQhOVZ+&HXyEWxGS=gMUvZkfCyxpI?<;~lI z*$IDJh6PeG8USZl+4g@?1@qujf`7w^X>n;F7G|HZ{{;{SF*;)xpHVIm&~P+ZVMoQR zCSX4pUpDw5SYhVoyDub#DBIus-8rlkeZ>@o8&a}0zdPwdEgwrp6KwQ5d4aRBn%T84 zTkobJV>yCL*`;c5%aa0LFnWgvjTJzp0{jw~c&>o#Egu|G_oG_`ey>^Z17~0r`R$Za zTqHR`G$ouKIw9xBqpt5GWBKz`K8Kls>^m2Yg}MwMe&<4*6rIZoqlzzWo!mh~#gh$& zc+<54kSv?VSU|#H15FR0r!2|xe%{xiX@g@QVeG#h8gyYIo?_qrkU@A!3#2+RR=R>M zuqxsSE<23Y172eXB|#%~K;~!oR;TG3nTekLo8G}uJJ^{wg1JUyH?UW@7MJjO2_03M%z<mcp2Cft3c}jFq?n^=3hlzR-_0aBW!Gz zFmLn3j1A8+#y^@;if?H7klFdJ>lE%6}Shp}Ypr%(z!WrM)RG!3*J0Q4Pq)%NIrF$uRUx|YcFfNl*XY1;)RB4jzJSDwUEQ{}}at}g~g0n0g{t)>U8 z=3)C~`o`RUvT8Q113@L3B?aZ1r`8U~yAR#NgRaLRXwc+e&B!TR@hg?9?yIJ}^8sZ$ zo9Fs(Ny#5to_!q5^bt_tA$jDd_CH~K{KU2Hzkeq-e=ahHaSbkZSZ=<*JJ5p615UyO_yp4V?SlSCm-Zdu-N3OXPK(><} zpA&zs6Z_`LIIRS&EF~fo=KBUSV`9z~L@hWn`XLcUsBMPWfhN_}-saAnkkmv1rkm(+{2~JHq9*mWI!qU;irlB}U*7rn|xztyAy3fE^Fv`ppTSp0hZm|U? zMVAns6cCf9Wf|?w+%^ejKVDZmlioFf&%u*5zaG^G{Ce?lV!CTt9Mp^?MpK`@*IP#8 z1&992KQ)KGcsw}tnpT=a|LuG{JMxTJ81(lKx}$)rvk&sWCIWwMkpIWw|C@)^4EFzF zWC)_L>?EkxqO`(lAkSXNi|C1Z4^bJHnP2m5VYXgww|H~u*q5isLm>YbQ z?jO-p3jg2iFbMH``2YTFo1W$W%P`mfa<}=pX`Src7K^536q7p4{y%8kY=0k|$^O5G zo&LWC4f6lp$q0BU4s45?{y(`s!g-yw0-K&v^aR4g+-(&{a5*(Z$JKX+1QZPhSfo9?K|1~>L_|GVYBi-0A|KB8@+IAcqQ?vR1 z%9a1`xfuL^;D6fx_d*Dj+{UbW-%qQ_R*pjlw=t{#W&htJAP({W@fj?p#{2)$wR|ke zCD`b9Hq8GwL%^Frs%s)Cp)kkTSVYC+ALsvj*yjJ6nXh~xGjI~x|Ca`ac+*e;NLG0N z-?4w!k@o$g$p822r`rE_HeS-AM=VP96J=olNX7&*{~Lcv-}v-uWm9Oom)w6B$Rqs&9bCGUhn2hguSDKE&Go$z-G6h8xsS7I7Q+8`llcE|2paTZ_5X2yAa(*; z{=cV(5O~nfA{*V@KOr&X;{THYU+gyEX#9VF3!!X;@&DZ|7#(ORHJSep(&u;c|8cEi zuy>w0aufUiwBJwr0X1{39qG=TWAOhyAo`TU|A%XTl>e`0u=4*IIEmf=cMACR;(ob(BDsui9tu?&r$jRu2BAO4po5T4WGEjlh|sH zrvu{DlmobV7FJaI06S{W=m5+P{0r^sa5wIx`(wxfj1MW{c|G@3dOdIL=szi3 z;-DHL>u*I4_*$@4FFtnaF?jK6dhuGk_{;v2+SvSqlw&yj|7;6jhSMujfL`6Q8VLXU zio;-<1^+$~;2%wXVIY2Sej&gRFDPc*dB1IXCVuTWk?^Ze{|3(QnLDGJUj+OT{pK*_ zA2tK^Q2f5+4)Q;Kb+^O+I1XW2b`2pNG5Y+&4c9Y*SK+|E0PTO=BG$~~ks#NhnH`5++UU>_R4-Tzoz zA`YRrha2R7ylFIJ+08gOJWlXG-Y!2)4E)Jh?8kC6k^k|5WcEJ}I^Q<0nEj74IlVS= z0%Gn|fz`)|%r@Nr*!x-rSq2VHko_+HM+$0^6VmB_ECVeN|EbO-I5yb-c-1vLwX1P( zOwIB?w!TY1`0zu~`ybzb1cQ?N!xEg%VJUCVN^k~C-n@h6@CW)I-?sRhz}oANKL7Bp zdqEuRf4rT~w675Phes(kg&Y;puIvej#PZ(d1jL=3Q6t<>^SWn`mGwPHZR(uT-%|TA zwTZlXsJn>_#0}@aJdM`3U|f#pwh9aPtW=kvOvd@ZJ0iz?N^}85G+`!V%Mzj;Nn}LQ z?&b_dKA+%(3a#M5H1it+@)w6Dfs&p-H+uhN`zJLGrDcPLUi?ba(DbgX-?xs1em=a} zea#!`zr68qo?*5w%0-^eq z`-oDgP$y(cBiCYNC=CKGO|Sp5q;Ug0w;?)n+}55pknwhvlt>NlCh=d%Z={qj&TqW+ z3SNcVaBx|Li202_BCEqynF;ORtVaEyn{MOo-#jzs{KkV9+4=9`&2RLmxdiGF(fK#$ zHA#MBTbeI8wU>~=mV6$)e{)Td=xcWW=D%}c8^BYO`sC481&Q!;H74wI=?96ur zVtSpaj!1Fra;|c5cE(8&uv?`#&JoSt%5j|Tn&Wt9NAUEGX9Cf*k8?N>UeqF$<2d+X z&BbrJ09^d*&omcb)&b8>X%-6;PZ$>i6R$ZCh|*fM;G^9;u0RMDuCXQFa94K$QDECM_2ycs(@ZEcYLJpK>bxf z0%RZ{8Gcs>z^|*9DxgU%$>I{|Hz(O3*il2UM>tz2tgt=XFdZRf%klM>>uE<=B|QO)y#>%Bbuot9}}dtV7jL z$K=0E;eG3{|6Q}X@ZQTlruWjT_9Fz7*=O8%yTUitKTuTsil(TK+JV=emKu})axT{& zhGj&N{Fh%yeL=QWKh1gnDA-xeQtEB42ax*dt+*mM_Xf_memXSP-4$Fwox@y37s(#q z9uv+yg%wmg%9}Dya)7k#Yc5 z6P46cPqIx(jXfGS5aEXi8N2OPuC zMKLw{qDnEfZK8R;v0LjrWfzfx50JH=ox{^A$H6fz%b%G!Rsgsh@yn3))PhPPol#G{ z_a3Y;29(^cLE)=vZ30_vxi-UOmx|K%%u zX7gX#>Zeiu2YzVPPbcL1n;){*Pjh{s=5$}T(*CtRClWaHJLx+p^oOG*hWhCzM+rp3 z=wdZt>Zb!$B2%}Z6Oq5K1E-bz1*y6EFAJ%oFqKcC%nv#K9~t-EsPZSh@WAvuMR{P( z!%5M3td6q$r=}7eG*munN&No=0SMk?DWsO~5=bls)UBpKW9I_uCFek6KX;SX*jv+E zR_^;$FcCa5*zHRrO`{!LGiVdEEMxe{Fc1uMThZjw1E(@!_QUP`1MQmJm zz`&6uxC*IdLcja8xHno%r#>DHC+DW!QOWJmlgf8<)jKkte+k* z!W}4w-T&yNAp@@9gbovy&?{p8B$l>WT^O&U)K4E4uj8C?uKAOhDGK*9a6)DdOfj4M z)BZ=64&^=9H3RmZ+&y~#WBnve2aC=I9h|;F(?J~GG{;!>ODu$tccuH9H`4z&O zd-M$OKfVgu0VR57vi<<|U_LIeD7Mv4Cz9U4`W*_WMIuW9^`wDJX_IlVQJUp|1OeZ9 zf|WoC%R0D#+D^Uv=mcd$-||R$z1DYBnfKz`BM}j5wn?Wt367+w9e&X?5rle(U|PIWDKG2NXxNAF*} z@jB6`AmFKf8Vc8D;|g4Zf3as||02-M&flG0#hFC#z{k;qo~)@9D|If&t7yi5T0C{U zaxOlJ6Dxlb+Em#3X(om8p4|?`!9RF37DoFPgX*WRzEyMRBToZ|_N~<%`r6;{>@mAy zVbBXvV@T-is_O-6DwJP%Fc70n)qzhMlx%Re?1 z;z}+n3^C8c7{(Z4vI*RRCO z`H#aK{>5O_ZE=@h@JVCwP$> z&{*XEd;enVQ3~IJ{EN5Of#0q@DklG8pWMjg6CpqHkMl1cq6u&9NHehe7l&VF`4=hv z+93bpz}}3DgK%(olHg<-EI)Yze=;7t9!t|C{zY;yez7l(9E?YIu+2|97_I&&KY9Ky z8vo+uoCh1(zj(~0;vRc;eB=C!&3ZBTn&aRE-{J5ta(<2WDzb|a9!IBtanoL)%FBra z%EtH?&*;h1Iui%Sv@HMP)=LC{*CR?At$*?Hn=mf;7ca)qRsFa57a#D_9Kt3`{%`pg zM+^s1uz&FqKGVKHXMaZaYeel|oVkajE8?$4^^vlqUNU&lNvHw-#f-rMQCFQ)X%L6m zzi7G^VQvuW%C5zj*u4#Q&+m99vvAh1Bvd0#4#zEEx~2y*UgD zqu_XG?VH}!TKhkK!du4fj74kTdtn#|25RjM_Af3FhA(Ve{o;>rH zfM-l2A)Yr`xnzLbM-IQcogm% zIEmnWlrMerQI<5^6dN8weYP%l47{iwnbkB zorlA}sQrrC�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%0A`l|zQXR0W43vq`a8j{8{8ugRt2tjb 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