From 0a8b4bff972c67d7c8950f1dd7e19cdc1a97529e Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Wed, 30 Aug 2023 13:06:09 +0100 Subject: [PATCH 001/165] clarify macro aren't support in project.yml file --- website/docs/reference/dbt_project.yml.md | 5 +- website/docs/reference/macro-properties.md | 4 +- .../docs/reference/resource-configs/docs.md | 78 ++++++++++++++++--- 3 files changed, 72 insertions(+), 15 deletions(-) diff --git a/website/docs/reference/dbt_project.yml.md b/website/docs/reference/dbt_project.yml.md index 59541a81256..6009033d557 100644 --- a/website/docs/reference/dbt_project.yml.md +++ b/website/docs/reference/dbt_project.yml.md @@ -18,12 +18,13 @@ By default, dbt will look for `dbt_project.yml` in your current working director -The following is a list of all available configurations in the `dbt_project.yml` file. - :::info YAML syntax + dbt uses YAML in a few different places. If you're new to YAML, it would be worth taking the time to learn how arrays, dictionaries and strings are represented. ::: +The following is a list of all available configurations in the `dbt_project.yml` file. Something to note, [Macro properties](/reference/macro-properties) aren't supported in the `dbt_project.yml` file: + ```yml diff --git a/website/docs/reference/macro-properties.md b/website/docs/reference/macro-properties.md index 91ba52de9ca..3b755cd0107 100644 --- a/website/docs/reference/macro-properties.md +++ b/website/docs/reference/macro-properties.md @@ -2,9 +2,9 @@ title: Macro properties --- -Macro properties can be declared in `.yml` files. +Macro properties can be declared in `.yml` files, except in the `dbt_project.yml` files. -You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in subfolders. +You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in sub-folders. diff --git a/website/docs/reference/resource-configs/docs.md b/website/docs/reference/resource-configs/docs.md index d94b975683d..dff58be8931 100644 --- a/website/docs/reference/resource-configs/docs.md +++ b/website/docs/reference/resource-configs/docs.md @@ -17,10 +17,28 @@ default_value: {show: true} { label: 'Macros', value: 'macros', }, ] }> + +You can use the docs property in YAML files, including the `dbt_project.yml`: + + + +```yml +name: "your_dbt_project_name" +version: "1.0.0" +config-version: 2 + +models: + - name: model_name + docs: + show: true | false +``` + + + ```yml version: 2 @@ -28,7 +46,6 @@ models: - name: model_name docs: show: true | false - ``` @@ -43,6 +60,22 @@ This property is not implemented for sources. +You can use the docs property in YAML files, including the `dbt_project.yml`: + + + +```yml +name: "your_dbt_project_name" +version: "1.0.0" +config-version: 2 + +seeds: + - name: seed_name + docs: + show: true | false +``` + + ```yml @@ -52,15 +85,29 @@ seeds: - name: seed_name docs: show: true | false - ``` - +You can use the docs property in YAML files, including the `dbt_project.yml`: + + + +```yml +name: "your_dbt_project_name" +version: "1.0.0" +config-version: 2 + +snapshots: + - name: snapshot_name + docs: + show: true | false +``` + + ```yml @@ -70,15 +117,29 @@ snapshots: - name: snapshot_name docs: show: true | false - ``` - +You can use the docs property in YAML files, including the `dbt_project.yml`: + + + +```yml +name: "your_dbt_project_name" +version: "1.0.0" +config-version: 2 + +analyses: + - name: analysis_name + docs: + show: true | false +``` + + ```yml @@ -89,16 +150,13 @@ analyses: docs: show: true | false ``` - - +You can use the docs property in YAML files, _except_ in `dbt_project.yml`. [Macro properties](/reference/macro-properties) _are not_ supported in the `dbt_project.yml` file. @@ -109,9 +167,7 @@ macros: - name: macro_name docs: show: true | false - ``` - From cda991a8909f1e68c8b1541ad6bafa39e6695c27 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Thu, 31 Aug 2023 17:26:00 +0100 Subject: [PATCH 002/165] add snippet and rephrase --- website/docs/reference/analysis-properties.md | 4 +++- website/docs/reference/configs-and-properties.md | 7 +++++-- website/docs/reference/exposure-properties.md | 6 +++++- website/docs/reference/macro-properties.md | 7 +++++-- website/docs/reference/source-properties.md | 10 +++++++--- website/snippets/_config-prop-callout.md | 1 + 6 files changed, 26 insertions(+), 9 deletions(-) create mode 100644 website/snippets/_config-prop-callout.md diff --git a/website/docs/reference/analysis-properties.md b/website/docs/reference/analysis-properties.md index 008da70f9db..c43819c57b9 100644 --- a/website/docs/reference/analysis-properties.md +++ b/website/docs/reference/analysis-properties.md @@ -2,7 +2,9 @@ title: Analysis properties --- -We recommend you define analysis properties in your `analyses/` directory, which is illustrated in the [`analysis-paths`](/reference/project-configs/analysis-paths) configuration. +import PropsCallout from '/snippets/_config-prop-callout.md'; + +We recommend you define analysis properties in your `analyses/` directory, which is illustrated in the [`analysis-paths`](/reference/project-configs/analysis-paths) configuration.
You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in subfolders within the `analyses/` or `models/` directory. diff --git a/website/docs/reference/configs-and-properties.md b/website/docs/reference/configs-and-properties.md index c2ad5b77629..76297f695ca 100644 --- a/website/docs/reference/configs-and-properties.md +++ b/website/docs/reference/configs-and-properties.md @@ -64,15 +64,18 @@ Previous versions of the docs referred to these as `schema.yml` files — we've ### Which properties are _not_ also configs? -dbt has the ability to define node configs in `.yml` files, in addition to `config()` blocks and `dbt_project.yml`. But the reverse isn't always true: there are some things in `.yml` files that can _only_ be defined there. +In dbt, you can define node configs in `.yml` files, in addition to `config()` blocks and `dbt_project.yml`. However, some properties are exclusive to `.yml` files. + Certain properties are special, because: + - They have a unique Jinja rendering context - They create new project resources - They don't make sense as hierarchical configuration - They're older properties that haven't yet been redefined as configs -These properties are: +This means "configs" can be set for multiple resources at once in the `dbt_project.yml` file, while "properties" can only be set for one resource at a time. The following properties _cannot_ be configured from `dbt_project.yml`: + - [`description`](/reference/resource-properties/description) - [`tests`](/reference/resource-properties/tests) - [`docs`](/reference/resource-configs/docs) diff --git a/website/docs/reference/exposure-properties.md b/website/docs/reference/exposure-properties.md index aaed2a20a09..7a7b9f18790 100644 --- a/website/docs/reference/exposure-properties.md +++ b/website/docs/reference/exposure-properties.md @@ -8,7 +8,11 @@ description: "Read this guide to understand exposure properties in dbt." - [Declaring resource properties](/reference/configs-and-properties) ## Overview -Exposures are defined in `.yml` files nested under an `exposures:` key. You may define `exposures` in YAML files that also define define `sources` or `models`. + +import PropsCallout from '/snippets/_config-prop-callout.md'; + +Exposures are defined in `.yml` files nested under an `exposures:` key. You may define `exposures` in YAML files that also define `sources` or `models`, except in the `dbt_project.yml` files.
+ You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in subfolders within the `models/` directory. diff --git a/website/docs/reference/macro-properties.md b/website/docs/reference/macro-properties.md index 3b755cd0107..2ef2a2fb82e 100644 --- a/website/docs/reference/macro-properties.md +++ b/website/docs/reference/macro-properties.md @@ -1,10 +1,13 @@ --- title: Macro properties +id: macro-properties --- -Macro properties can be declared in `.yml` files, except in the `dbt_project.yml` files. +import PropsCallout from '/snippets/_config-prop-callout.md'; -You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in sub-folders. +Macro properties can be declared in `.yml` files, except in the `dbt_project.yml` files.
+ + You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in sub-folders: diff --git a/website/docs/reference/source-properties.md b/website/docs/reference/source-properties.md index d20ef5f2877..9388d60a2e9 100644 --- a/website/docs/reference/source-properties.md +++ b/website/docs/reference/source-properties.md @@ -1,5 +1,5 @@ --- -title: "About source properties" +title: "Source properties" description: "Learn how to use source properties in dbt." --- @@ -8,9 +8,13 @@ description: "Learn how to use source properties in dbt." - [Declaring resource properties](/reference/configs-and-properties) ## Overview -Source properties can be declared in `.yml` files in your `models/` directory (as defined by the [`model-paths` config](/reference/project-configs/model-paths)). -You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in subfolders within the `models/` directory. +import PropsCallout from '/snippets/_config-prop-callout.md'; + +Source properties can be declared in `.yml` files in your `models/` directory (as defined by the [`model-paths` config](/reference/project-configs/model-paths)), except in the `dbt_project.yml` files.
+ + +You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in subfolders within the `models/` directory: diff --git a/website/snippets/_config-prop-callout.md b/website/snippets/_config-prop-callout.md new file mode 100644 index 00000000000..bfb74e1524d --- /dev/null +++ b/website/snippets/_config-prop-callout.md @@ -0,0 +1 @@ +This is because you can set "configs" for many resources in dbt_project.yml, while you can only set "properties" one resource at a time.

Since {props.title} are "properties", this means you cannot configure it from dbt_project.yml
. Refer to Configs and properties for more info. From 66ff1df9d87b7b40f5a339257b854d176db8e772 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Thu, 31 Aug 2023 17:28:08 +0100 Subject: [PATCH 003/165] Update dbt_project.yml.md --- website/docs/reference/dbt_project.yml.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/website/docs/reference/dbt_project.yml.md b/website/docs/reference/dbt_project.yml.md index 6009033d557..73c661a9751 100644 --- a/website/docs/reference/dbt_project.yml.md +++ b/website/docs/reference/dbt_project.yml.md @@ -4,7 +4,7 @@ -Every [dbt project](/docs/build/projects) needs a `dbt_project.yml` file — this is how dbt knows a directory is a dbt project. It also contains important information that tells dbt how to operate on your project. +Every [dbt project](/docs/build/projects) needs a `dbt_project.yml` file — this is how dbt knows a directory is a dbt project. It also contains important information that tells dbt how to operate your project. @@ -20,10 +20,14 @@ By default, dbt will look for `dbt_project.yml` in your current working director :::info YAML syntax -dbt uses YAML in a few different places. If you're new to YAML, it would be worth taking the time to learn how arrays, dictionaries and strings are represented. +dbt uses YAML in a few different places. If you're new to YAML, it would be worth taking the time to learn how arrays, dictionaries, and strings are represented. ::: -The following is a list of all available configurations in the `dbt_project.yml` file. Something to note, [Macro properties](/reference/macro-properties) aren't supported in the `dbt_project.yml` file: +The following example is a list of all available configurations in the `dbt_project.yml` file. Something to note, the following properties aren't supported in in the `dbt_project.yml` file: + +- [Macro properties](/reference/macro-properties) +- [Analysis properties](/reference/analysis-properties) +- [Semantic model configs](/docs/build/semantic-models) From b163c5bc0576dc69dd967ffb465d86c0926e9b57 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Thu, 31 Aug 2023 17:28:48 +0100 Subject: [PATCH 004/165] Update website/docs/reference/macro-properties.md Co-authored-by: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> --- website/docs/reference/macro-properties.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/macro-properties.md b/website/docs/reference/macro-properties.md index 3b755cd0107..9e59ca58705 100644 --- a/website/docs/reference/macro-properties.md +++ b/website/docs/reference/macro-properties.md @@ -4,7 +4,7 @@ title: Macro properties Macro properties can be declared in `.yml` files, except in the `dbt_project.yml` files. -You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in sub-folders. +You can name these files `whatever_you_want.yml` and nest them arbitrarily deep in sub-folders. From ddd2c636dca4bd307fc9a942b248b65aec6ce8bc Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Thu, 31 Aug 2023 17:28:55 +0100 Subject: [PATCH 005/165] Update website/docs/reference/macro-properties.md Co-authored-by: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> --- website/docs/reference/macro-properties.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/macro-properties.md b/website/docs/reference/macro-properties.md index 9e59ca58705..329a5a94a9f 100644 --- a/website/docs/reference/macro-properties.md +++ b/website/docs/reference/macro-properties.md @@ -2,7 +2,7 @@ title: Macro properties --- -Macro properties can be declared in `.yml` files, except in the `dbt_project.yml` files. +Macro properties can be declared in any `.yml` file except for the `dbt_project.yml` file. You can name these files `whatever_you_want.yml` and nest them arbitrarily deep in sub-folders. From 6d8ce4eab93834bb1319c0c1ae14bac110037d52 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Thu, 31 Aug 2023 17:32:00 +0100 Subject: [PATCH 006/165] update lang --- website/docs/reference/source-properties.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/source-properties.md b/website/docs/reference/source-properties.md index 9388d60a2e9..4dee14d27f4 100644 --- a/website/docs/reference/source-properties.md +++ b/website/docs/reference/source-properties.md @@ -11,7 +11,7 @@ description: "Learn how to use source properties in dbt." import PropsCallout from '/snippets/_config-prop-callout.md'; -Source properties can be declared in `.yml` files in your `models/` directory (as defined by the [`model-paths` config](/reference/project-configs/model-paths)), except in the `dbt_project.yml` files.
+Source properties can be declared in any `.yml` file in your `models/` directory (as defined by the [`model-paths` config](/reference/project-configs/model-paths)), except for the `dbt_project.yml` file.
You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in subfolders within the `models/` directory: From 9a9627afbf3f86094774b3dd93b068c756f7863d Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Wed, 6 Sep 2023 12:04:54 +0100 Subject: [PATCH 007/165] tweak snippet and add versionblock --- website/docs/reference/dbt_project.yml.md | 18 ++++++++++++++++++ website/docs/reference/macro-properties.md | 4 +++- website/snippets/_config-prop-callout.md | 2 +- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/website/docs/reference/dbt_project.yml.md b/website/docs/reference/dbt_project.yml.md index 73c661a9751..1e63beae082 100644 --- a/website/docs/reference/dbt_project.yml.md +++ b/website/docs/reference/dbt_project.yml.md @@ -23,11 +23,29 @@ By default, dbt will look for `dbt_project.yml` in your current working director dbt uses YAML in a few different places. If you're new to YAML, it would be worth taking the time to learn how arrays, dictionaries, and strings are represented. ::: + + + +The following example is a list of all available configurations in the `dbt_project.yml` file. Something to note, the following properties aren't supported in in the `dbt_project.yml` file: + +- [Exposure properties](/reference/exposure-properties) +- [Macro properties](/reference/macro-properties) +- [Analysis properties](/reference/analysis-properties) +- [Source properties](/reference/source-properties) + + + + + The following example is a list of all available configurations in the `dbt_project.yml` file. Something to note, the following properties aren't supported in in the `dbt_project.yml` file: +- [Exposure properties](/reference/exposure-properties) - [Macro properties](/reference/macro-properties) - [Analysis properties](/reference/analysis-properties) - [Semantic model configs](/docs/build/semantic-models) +- [Source properties](/reference/source-properties) + + diff --git a/website/docs/reference/macro-properties.md b/website/docs/reference/macro-properties.md index 5fdcea317c8..348eaf6139d 100644 --- a/website/docs/reference/macro-properties.md +++ b/website/docs/reference/macro-properties.md @@ -3,7 +3,9 @@ title: Macro properties id: macro-properties --- -Macro properties can be declared in any `.yml` file except for the `dbt_project.yml` file.
+import PropsCallout from '/snippets/_config-prop-callout.md'; + +Macro properties can be declared in any `.yml` file, except for the `dbt_project.yml` file. You can name these files `whatever_you_want.yml` and nest them arbitrarily deep in sub-folders. diff --git a/website/snippets/_config-prop-callout.md b/website/snippets/_config-prop-callout.md index bfb74e1524d..a0b7e45a1de 100644 --- a/website/snippets/_config-prop-callout.md +++ b/website/snippets/_config-prop-callout.md @@ -1 +1 @@ -This is because you can set "configs" for many resources in dbt_project.yml, while you can only set "properties" one resource at a time.

Since {props.title} are "properties", this means you cannot configure it from dbt_project.yml
. Refer to Configs and properties for more info. +This is because you can set "configs" for many resources in dbt_project.yml, while you can only set "properties" one resource at a time.

Since {props.title} are "properties", this means you cannot configure it from dbt_project.yml
. Refer to Configs and properties for more info. From a56d9a868b1e3a58e27bccc816d9626ef33127b6 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Wed, 6 Sep 2023 12:19:04 +0100 Subject: [PATCH 008/165] remove break --- website/docs/docs/build/semantic-models.md | 16 +++++++++++++++- website/docs/reference/dbt_project.yml.md | 6 ++++-- website/docs/reference/exposure-properties.md | 2 +- website/snippets/_config-prop-callout.md | 2 +- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/website/docs/docs/build/semantic-models.md b/website/docs/docs/build/semantic-models.md index bb56bd212e6..ca430ae5437 100644 --- a/website/docs/docs/build/semantic-models.md +++ b/website/docs/docs/build/semantic-models.md @@ -8,11 +8,25 @@ sidebar_label: Semantic models tags: [Metrics, Semantic Layer] --- +import PropsCallout from '/snippets/_config-prop-callout.md'; + Semantic models serve as the foundation for defining data in MetricFlow, which powers the dbt Semantic Layer. You can think of semantic models as nodes in your semantic graph, connected via entities as edges. MetricFlow takes semantic models defined in YAML configuration files as inputs and creates a semantic graph that can be used to query metrics. Each semantic model corresponds to a dbt model in your DAG. Therefore you will have one YAML config for each semantic model in your dbt project. You can create multiple semantic models out of a single dbt model, as long as you give each semantic model a unique name. -You can configure semantic models in your dbt project directory in a `YAML` file. Depending on your project structure, you can nest semantic models under a `metrics:` folder or organize them under project sources. + + +You can configure semantic models in your dbt project directory in a `YAML` file, _except_ the `dbt_project.yml` file. Depending on your project structure, you can nest semantic models under a `metrics:` folder or organize them under project sources. + + + + + +You can configure semantic models in your dbt project directory in a `YAML` file, _except_ the `dbt_project.yml` file. + +Depending on your project structure, you can nest semantic models under a `metrics:` folder or organize them under project sources. + + Semantic models have 6 components and this page explains the definitions with some examples: diff --git a/website/docs/reference/dbt_project.yml.md b/website/docs/reference/dbt_project.yml.md index 1e63beae082..0a3b76fe0a8 100644 --- a/website/docs/reference/dbt_project.yml.md +++ b/website/docs/reference/dbt_project.yml.md @@ -26,7 +26,7 @@ dbt uses YAML in a few different places. If you're new to YAML, it would be wort -The following example is a list of all available configurations in the `dbt_project.yml` file. Something to note, the following properties aren't supported in in the `dbt_project.yml` file: +Something to note, the following properties _aren't_ supported in in the `dbt_project.yml` file: - [Exposure properties](/reference/exposure-properties) - [Macro properties](/reference/macro-properties) @@ -37,7 +37,7 @@ The following example is a list of all available configurations in the `dbt_proj -The following example is a list of all available configurations in the `dbt_project.yml` file. Something to note, the following properties aren't supported in in the `dbt_project.yml` file: +Something to note, the following properties _aren't_ supported in in the `dbt_project.yml` file: - [Exposure properties](/reference/exposure-properties) - [Macro properties](/reference/macro-properties) @@ -47,6 +47,8 @@ The following example is a list of all available configurations in the `dbt_proj +The following example is a list of all available configurations in the `dbt_project.yml` file: + ```yml diff --git a/website/docs/reference/exposure-properties.md b/website/docs/reference/exposure-properties.md index 7a7b9f18790..04371d03956 100644 --- a/website/docs/reference/exposure-properties.md +++ b/website/docs/reference/exposure-properties.md @@ -11,7 +11,7 @@ description: "Read this guide to understand exposure properties in dbt." import PropsCallout from '/snippets/_config-prop-callout.md'; -Exposures are defined in `.yml` files nested under an `exposures:` key. You may define `exposures` in YAML files that also define `sources` or `models`, except in the `dbt_project.yml` files.
+Exposures are defined in `.yml` files nested under an `exposures:` key. You may define `exposures` in YAML files that also define `sources` or `models`, _except_ in the `dbt_project.yml` file.
You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in subfolders within the `models/` directory. diff --git a/website/snippets/_config-prop-callout.md b/website/snippets/_config-prop-callout.md index a0b7e45a1de..ff49a2d297a 100644 --- a/website/snippets/_config-prop-callout.md +++ b/website/snippets/_config-prop-callout.md @@ -1 +1 @@ -This is because you can set "configs" for many resources in dbt_project.yml, while you can only set "properties" one resource at a time.

Since {props.title} are "properties", this means you cannot configure it from dbt_project.yml
. Refer to Configs and properties for more info. +This is because you can set "configs" for many resources in dbt_project.yml, while you can only set "properties" one resource at a time. Since {props.title} are "properties", this means you cannot configure it from dbt_project.yml. Refer to Configs and properties for more info. From 02fb13782f920cdadab5f919022094e92a4a7cba Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Mon, 18 Sep 2023 14:18:50 +0100 Subject: [PATCH 009/165] adding jerco's great feedback --- website/docs/docs/build/semantic-models.md | 4 +- .../docs/reference/configs-and-properties.md | 13 ++-- website/docs/reference/dbt_project.yml.md | 24 +------- website/docs/reference/exposure-properties.md | 2 +- website/docs/reference/macro-properties.md | 2 +- .../docs/reference/resource-configs/docs.md | 59 +------------------ website/docs/reference/source-properties.md | 2 +- website/snippets/_config-prop-callout.md | 2 +- 8 files changed, 15 insertions(+), 93 deletions(-) diff --git a/website/docs/docs/build/semantic-models.md b/website/docs/docs/build/semantic-models.md index ca430ae5437..945282d183a 100644 --- a/website/docs/docs/build/semantic-models.md +++ b/website/docs/docs/build/semantic-models.md @@ -16,13 +16,13 @@ Each semantic model corresponds to a dbt model in your DAG. Therefore you will h -You can configure semantic models in your dbt project directory in a `YAML` file, _except_ the `dbt_project.yml` file. Depending on your project structure, you can nest semantic models under a `metrics:` folder or organize them under project sources. +You can configure semantic models in your dbt project directory in a [`properties.yml` file](/reference/configs-and-properties#where-can-i-define-properties). Depending on your project structure, you can nest semantic models under a `metrics:` folder or organize them under project sources. -You can configure semantic models in your dbt project directory in a `YAML` file, _except_ the `dbt_project.yml` file. +You can configure semantic models in your dbt project directory in a [`.yml` file](/reference/configs-and-properties#where-can-i-define-properties), however, you cannot actually define their properties within the `dbt_project.yml` file. Depending on your project structure, you can nest semantic models under a `metrics:` folder or organize them under project sources. diff --git a/website/docs/reference/configs-and-properties.md b/website/docs/reference/configs-and-properties.md index 76297f695ca..2a483296381 100644 --- a/website/docs/reference/configs-and-properties.md +++ b/website/docs/reference/configs-and-properties.md @@ -3,7 +3,7 @@ title: Configs, properties, what are they? --- Resources in your project—models, snapshots, seeds, tests, and the rest—can have a number of declared **properties**. Resources can also define **configurations**, which are a special kind of property that bring extra abilities. What's the distinction? -- Properties are declared for resources one-by-one in `.yml` files. Configs can be defined there, nested under a `config` property. They can also be set one-by-one via a `config()` macro (right within `.sql` files), and for many resources at once in `dbt_project.yml`. +- Properties are declared for resources one-by-one in `properties.yml` files. Configs can be defined there, nested under a `config` property. They can also be set one-by-one via a `config()` macro (right within `.sql` files), and for many resources at once in `dbt_project.yml`. - Because configs can be set in multiple places, they are also applied hierarchically. An individual resource might _inherit_ or _override_ configs set elsewhere. - You can select resources based on their config values using the `config:` selection method, but not the values of non-config properties @@ -46,9 +46,7 @@ Most configurations are "clobbered" when applied hierarchically. Whenever a more ## Where can I define properties? -In dbt, properties are declared in `.yml` files, in the same directory as your resources. - -You can name these files `whatever_you_want.yml` and nest them arbitrarily deeply in subfolders within each directory. +In dbt, you can use `properties.yml` files to define properties for resources. You can declare properties in `.yml` files, in the same directory as your resources. You can name these files `whatever_you_want.yml` and nest them arbitrarily in sub-folders within each directory. We highly recommend that you define properties in dedicated paths alongside the resources they're describing. @@ -56,16 +54,15 @@ We highly recommend that you define properties in dedicated paths alongside the #### schema.yml files -Previous versions of the docs referred to these as `schema.yml` files — we've moved away from that terminology since the word `schema` is used to mean other things when talking about databases, and people often thought that you _had_ to name these files `schema.yml`. +Previous versions of the docs referred to these as `schema.yml` files — we've moved away from that terminology since the word `schema` is used to mean other things when talking about databases, and people often thought that you _had_ to name these files `schema.yml`. -(Of course, you're still free to name your files `schema.yml`) +Instead, we now refer to these files as `properties.yml` files. (Of course, you're still free to name your files `schema.yml`) ::: ### Which properties are _not_ also configs? -In dbt, you can define node configs in `.yml` files, in addition to `config()` blocks and `dbt_project.yml`. However, some properties are exclusive to `.yml` files. - +In dbt, you can define node configs in `properties.yml` files, in addition to `config()` blocks and `dbt_project.yml`. However, some properties are exclusive to `.yml` files. Certain properties are special, because: diff --git a/website/docs/reference/dbt_project.yml.md b/website/docs/reference/dbt_project.yml.md index 0a3b76fe0a8..5a195dd6662 100644 --- a/website/docs/reference/dbt_project.yml.md +++ b/website/docs/reference/dbt_project.yml.md @@ -23,29 +23,7 @@ By default, dbt will look for `dbt_project.yml` in your current working director dbt uses YAML in a few different places. If you're new to YAML, it would be worth taking the time to learn how arrays, dictionaries, and strings are represented. ::: - - - -Something to note, the following properties _aren't_ supported in in the `dbt_project.yml` file: - -- [Exposure properties](/reference/exposure-properties) -- [Macro properties](/reference/macro-properties) -- [Analysis properties](/reference/analysis-properties) -- [Source properties](/reference/source-properties) - - - - - -Something to note, the following properties _aren't_ supported in in the `dbt_project.yml` file: - -- [Exposure properties](/reference/exposure-properties) -- [Macro properties](/reference/macro-properties) -- [Analysis properties](/reference/analysis-properties) -- [Semantic model configs](/docs/build/semantic-models) -- [Source properties](/reference/source-properties) - - +Something to note, you can't set up a "property" in the `dbt_project.yml` file if it's not a config (an example is [macros](/reference/macro-properties)). This applies to all types of resources. Refer to [Configs and properties](/reference/configs-and-properties) for more detail. The following example is a list of all available configurations in the `dbt_project.yml` file: diff --git a/website/docs/reference/exposure-properties.md b/website/docs/reference/exposure-properties.md index 04371d03956..ffc494f6025 100644 --- a/website/docs/reference/exposure-properties.md +++ b/website/docs/reference/exposure-properties.md @@ -11,7 +11,7 @@ description: "Read this guide to understand exposure properties in dbt." import PropsCallout from '/snippets/_config-prop-callout.md'; -Exposures are defined in `.yml` files nested under an `exposures:` key. You may define `exposures` in YAML files that also define `sources` or `models`, _except_ in the `dbt_project.yml` file.
+Exposures are defined in `.yml` files nested under an `exposures:` key. You may define `exposures` in YAML files that also define `sources` or `models`.
You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in subfolders within the `models/` directory. diff --git a/website/docs/reference/macro-properties.md b/website/docs/reference/macro-properties.md index 348eaf6139d..685643a9aaa 100644 --- a/website/docs/reference/macro-properties.md +++ b/website/docs/reference/macro-properties.md @@ -5,7 +5,7 @@ id: macro-properties import PropsCallout from '/snippets/_config-prop-callout.md'; -Macro properties can be declared in any `.yml` file, except for the `dbt_project.yml` file. +Macro properties can be declared in any `.yml` file. You can name these files `whatever_you_want.yml` and nest them arbitrarily deep in sub-folders. diff --git a/website/docs/reference/resource-configs/docs.md b/website/docs/reference/resource-configs/docs.md index dff58be8931..a6e0f4dc9b0 100644 --- a/website/docs/reference/resource-configs/docs.md +++ b/website/docs/reference/resource-configs/docs.md @@ -20,21 +20,8 @@ default_value: {show: true} -You can use the docs property in YAML files, including the `dbt_project.yml`: - - +You can configure `docs` behavior for many resources at once by setting in `dbt_project.yml`. You can also use the `docs` config in `properties.yaml` files, to set or override documentation behaviors for specific resources: -```yml -name: "your_dbt_project_name" -version: "1.0.0" -config-version: 2 - -models: - - name: model_name - docs: - show: true | false -``` - @@ -62,19 +49,6 @@ This property is not implemented for sources. You can use the docs property in YAML files, including the `dbt_project.yml`: - - -```yml -name: "your_dbt_project_name" -version: "1.0.0" -config-version: 2 - -seeds: - - name: seed_name - docs: - show: true | false -``` - @@ -94,20 +68,6 @@ seeds: You can use the docs property in YAML files, including the `dbt_project.yml`: - - -```yml -name: "your_dbt_project_name" -version: "1.0.0" -config-version: 2 - -snapshots: - - name: snapshot_name - docs: - show: true | false -``` - - ```yml @@ -124,21 +84,8 @@ snapshots: -You can use the docs property in YAML files, including the `dbt_project.yml`: +You can use the docs property in YAML files, _except_ in `dbt_project.yml`. Refer to [Analysis properties](/reference/analysis-properties) for more info. - - -```yml -name: "your_dbt_project_name" -version: "1.0.0" -config-version: 2 - -analyses: - - name: analysis_name - docs: - show: true | false -``` - @@ -156,7 +103,7 @@ analyses: -You can use the docs property in YAML files, _except_ in `dbt_project.yml`. [Macro properties](/reference/macro-properties) _are not_ supported in the `dbt_project.yml` file. +You can use the docs property in YAML files, _except_ in `dbt_project.yml`. Refer to [Macro properties](/reference/macro-properties) for more info. diff --git a/website/docs/reference/source-properties.md b/website/docs/reference/source-properties.md index 4dee14d27f4..ead76040b05 100644 --- a/website/docs/reference/source-properties.md +++ b/website/docs/reference/source-properties.md @@ -11,7 +11,7 @@ description: "Learn how to use source properties in dbt." import PropsCallout from '/snippets/_config-prop-callout.md'; -Source properties can be declared in any `.yml` file in your `models/` directory (as defined by the [`model-paths` config](/reference/project-configs/model-paths)), except for the `dbt_project.yml` file.
+Source properties can be declared in any `.yml` file in your `models/` directory (as defined by the [`model-paths` config](/reference/project-configs/model-paths)).
You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in subfolders within the `models/` directory: diff --git a/website/snippets/_config-prop-callout.md b/website/snippets/_config-prop-callout.md index ff49a2d297a..f21c335734a 100644 --- a/website/snippets/_config-prop-callout.md +++ b/website/snippets/_config-prop-callout.md @@ -1 +1 @@ -This is because you can set "configs" for many resources in dbt_project.yml, while you can only set "properties" one resource at a time. Since {props.title} are "properties", this means you cannot configure it from dbt_project.yml. Refer to Configs and properties for more info. +{props.title} are "special properties" in that you can't configure them in the dbt_project.yml file or using config() blocks. Refer to Configs and properties for more info. From 1872ce1d2f4edc719efb748cdc1684ad26f714d2 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Mon, 18 Sep 2023 14:32:21 +0100 Subject: [PATCH 010/165] clarify --- website/docs/reference/configs-and-properties.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/reference/configs-and-properties.md b/website/docs/reference/configs-and-properties.md index 2a483296381..61e401f016d 100644 --- a/website/docs/reference/configs-and-properties.md +++ b/website/docs/reference/configs-and-properties.md @@ -62,7 +62,7 @@ Instead, we now refer to these files as `properties.yml` files. (Of course, you' ### Which properties are _not_ also configs? -In dbt, you can define node configs in `properties.yml` files, in addition to `config()` blocks and `dbt_project.yml`. However, some properties are exclusive to `.yml` files. +In dbt, you can define node configs in `properties.yml` files, in addition to `config()` blocks and `dbt_project.yml`. However, some special properties can only be defined in the `.yml` file and you cannot configure them using `config()` blocks or the `dbt_project.yml` file: Certain properties are special, because: @@ -71,7 +71,7 @@ Certain properties are special, because: - They don't make sense as hierarchical configuration - They're older properties that haven't yet been redefined as configs -This means "configs" can be set for multiple resources at once in the `dbt_project.yml` file, while "properties" can only be set for one resource at a time. The following properties _cannot_ be configured from `dbt_project.yml`: +These properties are: - [`description`](/reference/resource-properties/description) - [`tests`](/reference/resource-properties/tests) From 56fbe0ae0dd3c62839c4bd23865beb26a57a8390 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Mon, 18 Sep 2023 14:38:53 +0100 Subject: [PATCH 011/165] change yaml to `properties.yml` --- website/docs/docs/build/semantic-models.md | 2 +- website/docs/reference/exposure-properties.md | 2 +- website/docs/reference/macro-properties.md | 2 +- website/docs/reference/source-properties.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/website/docs/docs/build/semantic-models.md b/website/docs/docs/build/semantic-models.md index 945282d183a..af4dff406c5 100644 --- a/website/docs/docs/build/semantic-models.md +++ b/website/docs/docs/build/semantic-models.md @@ -22,7 +22,7 @@ You can configure semantic models in your dbt project directory in a [`propertie -You can configure semantic models in your dbt project directory in a [`.yml` file](/reference/configs-and-properties#where-can-i-define-properties), however, you cannot actually define their properties within the `dbt_project.yml` file. +You can configure semantic models in your dbt project directory in a [`properties.yml` file](/reference/configs-and-properties#where-can-i-define-properties), however, you cannot actually define their properties within the `dbt_project.yml` file. Depending on your project structure, you can nest semantic models under a `metrics:` folder or organize them under project sources. diff --git a/website/docs/reference/exposure-properties.md b/website/docs/reference/exposure-properties.md index ffc494f6025..0bd4cf771af 100644 --- a/website/docs/reference/exposure-properties.md +++ b/website/docs/reference/exposure-properties.md @@ -11,7 +11,7 @@ description: "Read this guide to understand exposure properties in dbt." import PropsCallout from '/snippets/_config-prop-callout.md'; -Exposures are defined in `.yml` files nested under an `exposures:` key. You may define `exposures` in YAML files that also define `sources` or `models`.
+Exposures are defined in `properties.yml` files nested under an `exposures:` key. You may define `exposures` in YAML files that also define `sources` or `models`.
You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in subfolders within the `models/` directory. diff --git a/website/docs/reference/macro-properties.md b/website/docs/reference/macro-properties.md index 685643a9aaa..cd9ca559bac 100644 --- a/website/docs/reference/macro-properties.md +++ b/website/docs/reference/macro-properties.md @@ -5,7 +5,7 @@ id: macro-properties import PropsCallout from '/snippets/_config-prop-callout.md'; -Macro properties can be declared in any `.yml` file. +Macro properties can be declared in any `properties.yml` file. You can name these files `whatever_you_want.yml` and nest them arbitrarily deep in sub-folders. diff --git a/website/docs/reference/source-properties.md b/website/docs/reference/source-properties.md index ead76040b05..d107881967e 100644 --- a/website/docs/reference/source-properties.md +++ b/website/docs/reference/source-properties.md @@ -11,7 +11,7 @@ description: "Learn how to use source properties in dbt." import PropsCallout from '/snippets/_config-prop-callout.md'; -Source properties can be declared in any `.yml` file in your `models/` directory (as defined by the [`model-paths` config](/reference/project-configs/model-paths)).
+Source properties can be declared in any `properties.yml` file in your `models/` directory (as defined by the [`model-paths` config](/reference/project-configs/model-paths)).
You can name these files `whatever_you_want.yml`, and nest them arbitrarily deeply in subfolders within the `models/` directory: From 5ec1c05b15bea8e52181681f7c9b1882eec25181 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Tue, 7 Nov 2023 11:27:41 +0000 Subject: [PATCH 012/165] add table --- .../docs/reference/configs-and-properties.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/website/docs/reference/configs-and-properties.md b/website/docs/reference/configs-and-properties.md index 61e401f016d..c427a87e795 100644 --- a/website/docs/reference/configs-and-properties.md +++ b/website/docs/reference/configs-and-properties.md @@ -11,7 +11,7 @@ A rule of thumb: properties declare things _about_ your project resources; confi For example, you can use resource **properties** to: * Describe models, snapshots, seed files, and their columns -- Assert "truths" about a model, in the form of [tests](/docs/build/tests), e.g. "this `id` column is unique" +* Assert "truths" about a model, in the form of [tests](/docs/build/tests), e.g. "this `id` column is unique" * Define pointers to existing tables that contain raw data, in the form of [sources](/docs/build/sources), and assert the expected "freshness" of this raw data * Define official downstream uses of your data models, in the form of [exposures](/docs/build/exposures) @@ -21,6 +21,21 @@ Whereas you can use **configurations** to: * Declare whether a resource should persist its descriptions as comments in the database * Apply tags and "meta" properties +### Resource, properties, and configs table + +| Resource type | Description | Supported properties | Supported configurations | Config inheritance | +|---------------|------------------|-----------------------|-----------------------------|----------------------| +| Models | Describes models and their columns | columns, tests, docs, macros | tags, materialized, persist_docs, tags, etc. | `properties.yml` -> `.yml file` -> `dbt_project.yml` | +| Snapshots | Periodic snapshots of data | tests, macros | tags, materialized, etc. | In-file `config()` block -> `.yml file` -> `dbt_project.yml` | +| Seeds | Uploaded source data for models | tests, macros | tags, persist_docs, etc. | In-file `config()` block -> `.yml file` -> `dbt_project.yml` | +| Tests | Asserts "truths" about models | description, tags, macros | In-file `config()` block -> `.yml file` -> `dbt_project.yml` | +| Sources | Pointers to tables with raw data | description, columns, tests, docs, macros | tags, persist_docs, etc. | `properties.yml` -> `.yml file` -> `dbt_project.yml` | +| Exposures | Official downstream uses of data models | description, columns, tests, docs, macros | tags, materialized, etc. | `properties.yml` -> `.yml file` -> `dbt_project.yml` | +| | | | | | +| Configurations| Extra abilities for resources | | | In-file `config()` block -> `.yml file` -> `dbt_project.yml` | +| | | | | | +| Special properties (not configs)| Special properties with unique rendering context | description, tests, docs, columns, quote, source properties, exposure properties, macro properties | | `properties.yml` | + ## Where can I define configs? Depending on the resource type, configurations can be defined: @@ -202,3 +217,4 @@ Runtime Error ``` This error occurred because a semicolon (`;`) was accidentally used instead of a colon (`:`) after the `description` field. To resolve issues like this, find the `.yml` file referenced in the error message and fix any syntax errors present in the file. There are online YAML validators that can be helpful here, but please be mindful of submitting sensitive information to third-party applications! + From ef8c3bc39c8303032571d5c4794980a7921a2579 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 8 Nov 2023 14:51:17 +0000 Subject: [PATCH 013/165] Update configs-and-properties.md --- .../docs/reference/configs-and-properties.md | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/website/docs/reference/configs-and-properties.md b/website/docs/reference/configs-and-properties.md index c427a87e795..9a45d2bd220 100644 --- a/website/docs/reference/configs-and-properties.md +++ b/website/docs/reference/configs-and-properties.md @@ -21,21 +21,6 @@ Whereas you can use **configurations** to: * Declare whether a resource should persist its descriptions as comments in the database * Apply tags and "meta" properties -### Resource, properties, and configs table - -| Resource type | Description | Supported properties | Supported configurations | Config inheritance | -|---------------|------------------|-----------------------|-----------------------------|----------------------| -| Models | Describes models and their columns | columns, tests, docs, macros | tags, materialized, persist_docs, tags, etc. | `properties.yml` -> `.yml file` -> `dbt_project.yml` | -| Snapshots | Periodic snapshots of data | tests, macros | tags, materialized, etc. | In-file `config()` block -> `.yml file` -> `dbt_project.yml` | -| Seeds | Uploaded source data for models | tests, macros | tags, persist_docs, etc. | In-file `config()` block -> `.yml file` -> `dbt_project.yml` | -| Tests | Asserts "truths" about models | description, tags, macros | In-file `config()` block -> `.yml file` -> `dbt_project.yml` | -| Sources | Pointers to tables with raw data | description, columns, tests, docs, macros | tags, persist_docs, etc. | `properties.yml` -> `.yml file` -> `dbt_project.yml` | -| Exposures | Official downstream uses of data models | description, columns, tests, docs, macros | tags, materialized, etc. | `properties.yml` -> `.yml file` -> `dbt_project.yml` | -| | | | | | -| Configurations| Extra abilities for resources | | | In-file `config()` block -> `.yml file` -> `dbt_project.yml` | -| | | | | | -| Special properties (not configs)| Special properties with unique rendering context | description, tests, docs, columns, quote, source properties, exposure properties, macro properties | | `properties.yml` | - ## Where can I define configs? Depending on the resource type, configurations can be defined: @@ -50,11 +35,11 @@ dbt prioritizes configurations in order of specificity, from most specificity to Note - Generic tests work a little differently when it comes to specificity. See [test configs](/reference/test-configs). -Within the project file, configurations are also applied hierarchically. The most-specific config always "wins": In the project file, configurations applied to a `marketing` subdirectory will take precedence over configurations applied to the entire `jaffle_shop` project. To apply a configuration to a model, or directory of models, define the resource path as nested dictionary keys. +Within the project file, configurations are also applied hierarchically. The most specific config always "wins": In the project file, configurations applied to a `marketing` subdirectory will take precedence over configurations applied to the entire `jaffle_shop` project. To apply a configuration to a model, or directory of models, define the resource path as nested dictionary keys. ### Combining configs -Most configurations are "clobbered" when applied hierarchically. Whenever a more-specific value is available, it will completely replace the less-specific value. Note that a few configs have different merge behavior: +Most configurations are "clobbered" when applied hierarchically. Whenever a more specific value is available, it will completely replace the less specific value. Note that a few configs have different merge behavior: - [`tags`](tags) are additive. If a model has some tags configured in `dbt_project.yml`, and more tags applied in its `.sql` file, the final set of tags will include all of them. - [`meta`](/reference/resource-configs/meta) dictionaries are merged (a more specific key-value pair replaces a less specific value with the same key) - [`pre-hook` and `post-hook`](/reference/resource-configs/pre-hook-post-hook) are also additive. From 02a3cae7ca77942a2f40027cce16c25fabc36443 Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Fri, 10 Nov 2023 08:40:11 -0700 Subject: [PATCH 014/165] Remove trailing space --- website/docs/reference/configs-and-properties.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/configs-and-properties.md b/website/docs/reference/configs-and-properties.md index 9a45d2bd220..4fb9dda5aa2 100644 --- a/website/docs/reference/configs-and-properties.md +++ b/website/docs/reference/configs-and-properties.md @@ -54,7 +54,7 @@ We highly recommend that you define properties in dedicated paths alongside the #### schema.yml files -Previous versions of the docs referred to these as `schema.yml` files — we've moved away from that terminology since the word `schema` is used to mean other things when talking about databases, and people often thought that you _had_ to name these files `schema.yml`. +Previous versions of the docs referred to these as `schema.yml` files — we've moved away from that terminology since the word `schema` is used to mean other things when talking about databases, and people often thought that you _had_ to name these files `schema.yml`. Instead, we now refer to these files as `properties.yml` files. (Of course, you're still free to name your files `schema.yml`) From a1a8e7ff1f278c916aee2efd92bff6ae2b2750a2 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 22 Nov 2023 07:26:03 -0500 Subject: [PATCH 015/165] Update docs.md --- website/docs/reference/resource-configs/docs.md | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/website/docs/reference/resource-configs/docs.md b/website/docs/reference/resource-configs/docs.md index 12f95f8958e..c5e35dd64f4 100644 --- a/website/docs/reference/resource-configs/docs.md +++ b/website/docs/reference/resource-configs/docs.md @@ -20,9 +20,6 @@ default_value: {show: true} -You can configure `docs` behavior for many resources at once by setting in `dbt_project.yml`. You can also use the `docs` config in `properties.yaml` files, to set or override documentation behaviors for specific resources: - - @@ -48,9 +45,6 @@ This property is not implemented for sources. -You can use the docs property in YAML files, including the `dbt_project.yml`: - - ```yml @@ -67,8 +61,6 @@ seeds: -You can use the docs property in YAML files, including the `dbt_project.yml`: - ```yml @@ -85,9 +77,6 @@ snapshots: -You can use the docs property in YAML files, _except_ in `dbt_project.yml`. Refer to [Analysis properties](/reference/analysis-properties) for more info. - - ```yml @@ -104,7 +93,9 @@ analyses: -You can use the docs property in YAML files, _except_ in `dbt_project.yml`. Refer to [Macro properties](/reference/macro-properties) for more info. + From bc7c2f50ec734c085810a9df83c58ebe287ff9c0 Mon Sep 17 00:00:00 2001 From: Joel Labes Date: Tue, 28 Nov 2023 13:17:13 +1300 Subject: [PATCH 016/165] Update model-contracts.md --- website/docs/docs/collaborate/govern/model-contracts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/collaborate/govern/model-contracts.md b/website/docs/docs/collaborate/govern/model-contracts.md index 342d86c1a77..6a9980b73c5 100644 --- a/website/docs/docs/collaborate/govern/model-contracts.md +++ b/website/docs/docs/collaborate/govern/model-contracts.md @@ -91,7 +91,7 @@ When building a model with a defined contract, dbt will do two things differentl Select the adapter-specific tab for more information on [constraint](/reference/resource-properties/constraints) support across platforms. Constraints fall into three categories based on support and platform enforcement: - **Supported and enforced** — The model won't build if it violates the constraint. -- **Supported and not enforced** — The platform supports specifying the type of constraint, but a model can still build even if building the model violates the constraint. This constraint exists for metadata purposes only. This is common for modern cloud data warehouses and less common for legacy databases. +- **Supported and not enforced** — The platform supports specifying the type of constraint, but a model can still build even if building the model violates the constraint. This constraint exists for metadata purposes only. Enforcement is more common for transactional databases, unlike cloud data warehouses. - **Not supported and not enforced** — You can't specify the type of constraint for the platform. From 8a317004b72ae9231844bb1c953dba518af2c267 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Tue, 28 Nov 2023 07:19:45 -0500 Subject: [PATCH 017/165] Update website/docs/docs/collaborate/govern/model-contracts.md --- website/docs/docs/collaborate/govern/model-contracts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/collaborate/govern/model-contracts.md b/website/docs/docs/collaborate/govern/model-contracts.md index 6a9980b73c5..bb011119958 100644 --- a/website/docs/docs/collaborate/govern/model-contracts.md +++ b/website/docs/docs/collaborate/govern/model-contracts.md @@ -91,7 +91,7 @@ When building a model with a defined contract, dbt will do two things differentl Select the adapter-specific tab for more information on [constraint](/reference/resource-properties/constraints) support across platforms. Constraints fall into three categories based on support and platform enforcement: - **Supported and enforced** — The model won't build if it violates the constraint. -- **Supported and not enforced** — The platform supports specifying the type of constraint, but a model can still build even if building the model violates the constraint. This constraint exists for metadata purposes only. Enforcement is more common for transactional databases, unlike cloud data warehouses. +- **Supported and not enforced** — The platform supports specifying the type of constraint, but a model can still build even if building the model violates the constraint. This constraint exists for metadata purposes only. This approach is more typical in cloud data warehouses than in transactional databases, where strict rule enforcement is more common. - **Not supported and not enforced** — You can't specify the type of constraint for the platform. From e79d4f0ed4066392825bdfb0ee73eda210efd246 Mon Sep 17 00:00:00 2001 From: Camille Kesser <101661315+camillek-db@users.noreply.github.com> Date: Thu, 30 Nov 2023 13:40:32 -0600 Subject: [PATCH 018/165] Fix z-order syntax --- website/docs/guides/dbt-models-on-databricks.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/guides/dbt-models-on-databricks.md b/website/docs/guides/dbt-models-on-databricks.md index 489a3c28467..283ef9b4ba4 100644 --- a/website/docs/guides/dbt-models-on-databricks.md +++ b/website/docs/guides/dbt-models-on-databricks.md @@ -72,7 +72,7 @@ Most compute engines work best when file sizes are between 32 MB and 256 MB. In Under the hood, Databricks will naturally [cluster data based on when it was ingested](https://www.databricks.com/blog/2022/11/18/introducing-ingestion-time-clustering-dbr-112.html). Since many queries include timestamps in `where` conditionals, this will naturally lead to a large amount of file skipping for enhanced performance. Nevertheless, if you have other high cardinality columns (basically columns with a large amount of distinct values such as id columns) that are frequently used in `join` keys or `where` conditionals, performance can typically be augmented further by leveraging Z-order. -The SQL syntax for the Z-Order command is `OPTIMIZE TABLE Z-ORDER BY (col1,col2,col3,etc)`. One caveat to be aware of is that you will rarely want to Z-Order by more than three columns. You will likely want to either run Z-order on run end after your model builds or run Z-Order as a separate scheduled job on a consistent cadence, whether it is daily, weekly, or monthly. +The SQL syntax for the Z-Order command is `OPTIMIZE table_name ZORDER BY (col1,col2,col3,etc)`. One caveat to be aware of is that you will rarely want to Z-Order by more than three columns. You will likely want to either run Z-order on run end after your model builds or run Z-Order as a separate scheduled job on a consistent cadence, whether it is daily, weekly, or monthly. ```sql config( From 3590022abfc320305002404e27a7d812965a3617 Mon Sep 17 00:00:00 2001 From: Ernesto Ongaro Date: Mon, 4 Dec 2023 11:56:34 +0000 Subject: [PATCH 019/165] Add related defer in Cloud doc --- website/docs/reference/node-selection/defer.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/website/docs/reference/node-selection/defer.md b/website/docs/reference/node-selection/defer.md index 03c3b2aac12..81a0f4a0328 100644 --- a/website/docs/reference/node-selection/defer.md +++ b/website/docs/reference/node-selection/defer.md @@ -234,3 +234,8 @@ dbt will check to see if `dev_alice.model_a` exists. If it doesn't exist, dbt wi + +## Related docs + +- [Using defer in dbt Cloud](/docs/cloud/about-cloud-develop-defer) + From 384066249358358a05dead9b6438369f9267b2da Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Mon, 4 Dec 2023 14:55:08 -0500 Subject: [PATCH 020/165] add materialized view configuration --- .../resource-configs/bigquery-configs.md | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) diff --git a/website/docs/reference/resource-configs/bigquery-configs.md b/website/docs/reference/resource-configs/bigquery-configs.md index ffbaa37c059..eabefe90d4e 100644 --- a/website/docs/reference/resource-configs/bigquery-configs.md +++ b/website/docs/reference/resource-configs/bigquery-configs.md @@ -718,3 +718,100 @@ Views with this configuration will be able to select from objects in `project_1. The `grant_access_to` config is not thread-safe when multiple views need to be authorized for the same dataset. The initial `dbt run` operation after a new `grant_access_to` config is added should therefore be executed in a single thread. Subsequent runs using the same configuration will not attempt to re-apply existing access grants, and can make use of multiple threads. + + +## Materialized views + +The BigQuery adapter supports [materialized views](https://cloud.google.com/bigquery/docs/materialized-views-intro) +with the following configuration parameters: + +| Parameter | Type | Default | Change Monitoring Support | Reference | +|------------------------------|----------------------|---------|---------------------------|--------------------------------------------------| +| `cluster_by` | LIST[STRING] | `None` | DROP/CREATE | [Clustering](#clustering-clause) | +| `partition_by` | DICT | `None` | DROP/CREATE | [Partitioning](#partition-clause) | +| `enable_refresh` | BOOLEAN | `True` | ALTER | [Auto-refresh](#auto-refresh) | +| `refresh_interval_minutes` | FLOAT | `30` | ALTER | [Auto-refresh](#auto-refresh) | +| `max_staleness` (in Preview) | INTERVAL | `None` | ALTER | [Auto-refresh](#auto-refresh) | +| `description` | STRING | `None` | ALTER | | +| `labels` | DICT[STRING, STRING] | `None` | ALTER | [Labels](#specifying-labels) | +| `hours_to_expiration` | INTEGER | `None` | ALTER | [Table expiration](controlling-table-expiration) | +| `kms_key_name` | STRING | `None` | ALTER | [KMS encryption](#using-kms-encryption) | + +#### Sample model file: + + + +```sql +{{ config( + materialized='materialized_view', + cluster_by=['', ...], + partition_by={ + 'field': '', + 'data_type': '', + + # only if `data_type` is not 'int64' + 'granularity': '' + + # only if `data_type` is 'int64' + 'range': { + 'start': , + 'end': , + 'interval': , + } + }, + + # auto-refresh options + enable_refresh=, + refresh_interval_minutes=, + max_staleness='', + + # additional options + description='', + labels={'': '', ...}, + hours_to_expiration=, + kms_key_name='', +) }} + +select * from {{ ref('my_base_table') }} +``` + + + +Many of these parameters correspond to their table counterparts and have been linked above. +The set of parameters which are unique to materialized views covers auto-refresh functionality, which is covered [below](#auto-refresh). + +Find more information about these parameters in the BigQuery docs: +- [CREATE MATERIALIZED VIEW statement](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_materialized_view_statement) +- [materialized_view_option_list](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#materialized_view_option_list) + +### Auto-refresh + +| Parameter | Type | Default | Change Monitoring Support | +|-------------------------------|----------|---------|---------------------------| +| `enable_refresh` | BOOLEAN | `True` | ALTER | +| `max_staleness` (in Preview) | INTERVAL | `None` | ALTER | +| `refresh_interval_minutes` | FLOAT | `30` | ALTER | + +BigQuery supports [automatic refresh](https://cloud.google.com/bigquery/docs/materialized-views-manage#automatic_refresh) configuration for materialized views. +By default, a materialized view will automatically refresh within 5 minutes of changes in the base table, but no more frequently than every 30 minutes. +BigQuery only officially supports configuration of the frequency (the "30 minutes" part); +however, there is a feature in preview that allows for configuration of the staleness (the "5 minutes" part). +dbt will monitor these parameters for changes and apply them using an `ALTER` statement. + +Find more information about these parameters in the BigQuery docs: +- [materialized_view_option_list](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#materialized_view_option_list) +- [max_staleness](https://cloud.google.com/bigquery/docs/materialized-views-create#max_staleness) + +### Limitations + +As with most data platforms, there are limitations associated with materialized views. Some worth noting include: + +- Materialized view SQL has a [limited feature set](https://cloud.google.com/bigquery/docs/materialized-views-create#supported-mvs) +- Materialized view SQL cannot be updated; the materialized view must go through a `--full-refresh` (DROP/CREATE) +- The `partition_by` clause on a materialized view must match that of the underlying base table +- While materialized views can have descriptions, materialized view *columns* cannot +- Recreating/dropping the base table requires recreating/dropping the materialized view + +Find more information about materialized view limitations in Google's BigQuery [docs](https://cloud.google.com/bigquery/docs/materialized-views-intro#limitations). + + From 2ccbc79b386aa9193357cb0ccbf643f4f55a1f19 Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Mon, 4 Dec 2023 17:27:58 -0500 Subject: [PATCH 021/165] add dynamic table configuration for snowflake --- .../resource-configs/snowflake-configs.md | 85 ++++++++++--------- 1 file changed, 46 insertions(+), 39 deletions(-) diff --git a/website/docs/reference/resource-configs/snowflake-configs.md b/website/docs/reference/resource-configs/snowflake-configs.md index 30c7966ec68..6c7ba86d353 100644 --- a/website/docs/reference/resource-configs/snowflake-configs.md +++ b/website/docs/reference/resource-configs/snowflake-configs.md @@ -346,82 +346,87 @@ In the configuration format for the model SQL file: ## Dynamic tables -The Snowflake adapter supports [dynamic tables](https://docs.snowflake.com/en/sql-reference/sql/create-dynamic-table). +The Snowflake adapter supports [dynamic tables](https://docs.snowflake.com/en/user-guide/dynamic-tables-about). This materialization is specific to Snowflake, which means that any model configuration that would normally come along for the ride from `dbt-core` (e.g. as with a `view`) may not be available for dynamic tables. This gap will decrease in future patches and versions. While this materialization is specific to Snowflake, it very much follows the implementation of [materialized views](/docs/build/materializations#Materialized-View). In particular, dynamic tables have access to the `on_configuration_change` setting. -There are also some limitations that we hope to address in the next version. +Dynamic tables are supported with the following configuration parameters: -### Parameters +| Parameter | Type | Required | Default | Change Monitoring Support | Reference | +|---------------------------|----------|----------|-----------|---------------------------|----------------------------------------------| +| `on_configuration_change` | STRING | NO | `'apply'` | N/A | | +| `target_lag` | STRING | YES | | ALTER | [Target lag](#target-lag) | +| `snowflake_warehouse` | STRING | YES | | ALTER | [Warehouse](#configuring-virtual-warehouses) | -Dynamic tables in `dbt-snowflake` require the following parameters: -- `target_lag` -- `snowflake_warehouse` -- `on_configuration_change` +#### Sample model file: -To learn more about each parameter and what values it can take, see -the Snowflake docs page: [`CREATE DYNAMIC TABLE: Parameters`](https://docs.snowflake.com/en/sql-reference/sql/create-dynamic-table). - -### Usage - -You can create a dynamic table by editing _one_ of these files: - -- the SQL file for your model -- the `dbt_project.yml` configuration file - -The following examples create a dynamic table: - - + ```sql {{ config( - materialized = 'dynamic_table', - snowflake_warehouse = 'snowflake_warehouse', - target_lag = '10 minutes', + materialized='dynamic_table', + on_configuration_change='', + target_lag='< { seconds | minutes | hours | days } | DOWNSTREAM>', + snowflake_warehouse='', ) }} + +select * from {{ ref('my_base_table') }} ``` +#### Sample project file: + ```yaml models: path: materialized: dynamic_table - snowflake_warehouse: snowflake_warehouse - target_lag: '10 minutes' + on_configuration_change: '' + snowflake_warehouse: '' + target_lag: '< { seconds | minutes | hours | days } | DOWNSTREAM>' ``` -### Monitored configuration changes +Find more information about these parameters in the Snowflake docs: +- [CREATE DYNAMIC TABLE](https://docs.snowflake.com/en/sql-reference/sql/create-dynamic-table) -The settings below are monitored for changes applicable to `on_configuration_change`. +### Target lag -#### Target lag +Snowflake allows two configuration scenarios for scheduling automatic refreshes: time-based and dependency-based. +For time-based automatic refreshes, provide a value of the form ` { seconds | minutes | hours | days }`. +For example, if the dynamic table needs to be updated every 30 minutes, use `target_lag='30 minutes'`. +However, for scenarios where the referenced objects are themselves dynamic tables, it might be desirable to refresh +the dynamic table whenever the underlying dynamic table is refreshed. In this scenario, use `target_lag='downstream'`. +This allows for refresh schedules to be controlled once, at the source, instead of at each layer. -Changes to `target_lag` can be applied by running an `ALTER` statement. Refreshing is essentially -always on for dynamic tables; this setting changes how frequently the dynamic table is updated. +### Limitations -#### Warehouse +As with materialized views on most data platforms, there are limitations associated with dynamic tables. Some worth noting include: -Changes to `snowflake_warehouse` can be applied via an `ALTER` statement. +- Dynamic table SQL has a [limited feature set](https://docs.snowflake.com/en/user-guide/dynamic-tables-tasks-create#query-constructs-not-currently-supported-in-dynamic-tables) +- Dynamic table SQL cannot be updated; the dynamic table must go through a `--full-refresh` (DROP/CREATE) +- Dynamic tables cannot be downstream from: materialized views, external tables, streams +- Dynamic tables cannot reference a view that is downstream from another dynamic table -### Limitations +Find more information about dynamic table limitations in Snowflake's [docs](https://docs.snowflake.com/en/user-guide/dynamic-tables-tasks-create#dynamic-table-limitations-and-supported-functions). + + #### Changing materialization to and from "dynamic_table" -Swapping an already materialized model to be a dynamic table and vice versa. -The workaround is manually dropping the existing materialization in the data warehouse prior to calling `dbt run`. -Normally, re-running with the `--full-refresh` flag would resolve this, but not in this case. -This would only need to be done once as the existing object would then be a dynamic table. +Version `1.6.x` does not support altering the materialization from a non-dynamic table be a dynamic table and vice versa. +Re-running with the `--full-refresh` does not resolve this either. +The workaround is manually dropping the existing model in the warehouse prior to calling `dbt run`. +This only needs to be done once for the conversion. For example, assume for the example model below, `my_model`, has already been materialized to the underlying data platform via `dbt run`. -If the user changes the model's config to `materialized="dynamic_table"`, they will get an error. +If the model config is updated to `materialized="dynamic_table"`, dbt will return an error. The workaround is to execute `DROP TABLE my_model` on the data warehouse before trying the model again. @@ -429,7 +434,7 @@ The workaround is to execute `DROP TABLE my_model` on the data warehouse before ```yaml {{ config( - materialized="table" # or any model type eg view, incremental + materialized="table" # or any model type (e.g. view, incremental) ) }} ``` @@ -437,3 +442,5 @@ The workaround is to execute `DROP TABLE my_model` on the data warehouse before + +
From 89503381a1a0cbe76c4caacb9def3071e4a7d782 Mon Sep 17 00:00:00 2001 From: Joel Labes Date: Tue, 5 Dec 2023 15:52:47 +1300 Subject: [PATCH 022/165] Fix image issues in airflow guide --- website/docs/guides/airflow-and-dbt-cloud.md | 188 +++++++----------- .../connection-type-configured.png | Bin 0 -> 251473 bytes 2 files changed, 69 insertions(+), 119 deletions(-) create mode 100644 website/static/img/guides/orchestration/airflow-and-dbt-cloud/connection-type-configured.png diff --git a/website/docs/guides/airflow-and-dbt-cloud.md b/website/docs/guides/airflow-and-dbt-cloud.md index a3ff59af14e..0473043f16f 100644 --- a/website/docs/guides/airflow-and-dbt-cloud.md +++ b/website/docs/guides/airflow-and-dbt-cloud.md @@ -11,50 +11,29 @@ recently_updated: true ## Introduction -In some cases, [Airflow](https://airflow.apache.org/) may be the preferred orchestrator for your organization over working fully within dbt Cloud. There are a few reasons your team might be considering using Airflow to orchestrate your dbt jobs: - -- Your team is already using Airflow to orchestrate other processes -- Your team needs to ensure that a [dbt job](https://docs.getdbt.com/docs/dbt-cloud/cloud-overview#schedule-and-run-dbt-jobs-in-production) kicks off before or after another process outside of dbt Cloud -- Your team needs flexibility to manage more complex scheduling, such as kicking off one dbt job only after another has completed -- Your team wants to own their own orchestration solution -- You need code to work right now without starting from scratch - -### Prerequisites - -- [dbt Cloud Teams or Enterprise account](https://www.getdbt.com/pricing/) (with [admin access](https://docs.getdbt.com/docs/cloud/manage-access/enterprise-permissions)) in order to create a service token. Permissions for service tokens can be found [here](https://docs.getdbt.com/docs/dbt-cloud-apis/service-tokens#permissions-for-service-account-tokens). -- A [free Docker account](https://hub.docker.com/signup) in order to sign in to Docker Desktop, which will be installed in the initial setup. -- A local digital scratchpad for temporarily copy-pasting API keys and URLs - -### Airflow + dbt Core - -There are [so many great examples](https://gitlab.com/gitlab-data/analytics/-/blob/master/dags/transformation/dbt_snowplow_backfill.py) from GitLab through their open source data engineering work. This is especially appropriate if you are well-versed in Kubernetes, CI/CD, and docker task management when building your airflow pipelines. If this is you and your team, you’re in good hands reading through more details [here](https://about.gitlab.com/handbook/business-technology/data-team/platform/infrastructure/#airflow) and [here](https://about.gitlab.com/handbook/business-technology/data-team/platform/dbt-guide/). - -### Airflow + dbt Cloud API w/Custom Scripts - -This has served as a bridge until the fabled Astronomer + dbt Labs-built dbt Cloud provider became generally available [here](https://registry.astronomer.io/providers/dbt%20Cloud/versions/latest). - -There are many different permutations of this over time: - -- [Custom Python Scripts](https://github.com/sungchun12/airflow-dbt-cloud/blob/main/archive/dbt_cloud_example.py): This is an airflow DAG based on [custom python API utilities](https://github.com/sungchun12/airflow-dbt-cloud/blob/main/archive/dbt_cloud_utils.py) -- [Make API requests directly through the BashOperator based on the docs](https://docs.getdbt.com/dbt-cloud/api-v2-legacy#operation/triggerRun): You can make cURL requests to invoke dbt Cloud to do what you want -- For more options, check out the [official dbt Docs](/docs/deploy/deployments#airflow) on the various ways teams are running dbt in airflow - -These solutions are great, but can be difficult to trust as your team grows and management for things like: testing, job definitions, secrets, and pipelines increase past your team’s capacity. Roles become blurry (or were never clearly defined at the start!). Both data and analytics engineers start digging through custom logging within each other’s workflows to make heads or tails of where and what the issue really is. Not to mention that when the issue is found, it can be even harder to decide on the best path forward for safely implementing fixes. This complex workflow and unclear delineation on process management results in a lot of misunderstandings and wasted time just trying to get the process to work smoothly! +Many organization already use [Airflow](https://airflow.apache.org/) to orchestrate their data workflows. dbt Cloud works great with Airflow, letting you execute your dbt code in dbt Cloud while keeping orchestration duties with Airflow. This ensures your project's metadata (important for tools like dbt Explorer) is available and up-to-date, while still enabling you to use Airflow for general tasks such as: +- Scheduling other processes outside of dbt runs +- Ensuring that a [dbt job](https://docs.getdbt.com/docs/dbt-cloud/cloud-overview#schedule-and-run-dbt-jobs-in-production) kicks off before or after another process outside of dbt Cloud +- Triggering a dbt job only after another has completed In this guide, you'll learn how to: -1. Creating a working local Airflow environment -2. Invoking a dbt Cloud job with Airflow (with proof!) -3. Reusing tested and trusted Airflow code for your specific use cases +1. Create a working local Airflow environment +2. Invoke a dbt Cloud job with Airflow +3. Reuse tested and trusted Airflow code for your specific use cases You’ll also gain a better understanding of how this will: - Reduce the cognitive load when building and maintaining pipelines - Avoid dependency hell (think: `pip install` conflicts) -- Implement better recoveries from failures -- Define clearer workflows so that data and analytics engineers work better, together ♥️ +- Define clearer handoff of workflows between data engineers and analytics engineers +## Prerequisites + +- [dbt Cloud Teams or Enterprise account](https://www.getdbt.com/pricing/) (with [admin access](https://docs.getdbt.com/docs/cloud/manage-access/enterprise-permissions)) in order to create a service token. Permissions for service tokens can be found [here](https://docs.getdbt.com/docs/dbt-cloud-apis/service-tokens#permissions-for-service-account-tokens). +- A [free Docker account](https://hub.docker.com/signup) in order to sign in to Docker Desktop, which will be installed in the initial setup. +- A local digital scratchpad for temporarily copy-pasting API keys and URLs 🙌 Let’s get started! 🙌 @@ -72,7 +51,7 @@ brew install astro ## Install and start Docker Desktop -Docker allows us to spin up an environment with all the apps and dependencies we need for the example. +Docker allows us to spin up an environment with all the apps and dependencies we need for this guide. Follow the instructions [here](https://docs.docker.com/desktop/) to install Docker desktop for your own operating system. Once Docker is installed, ensure you have it up and running for the next steps. @@ -80,7 +59,7 @@ Follow the instructions [here](https://docs.docker.com/desktop/) to install Dock ## Clone the airflow-dbt-cloud repository -Open your terminal and clone the [airflow-dbt-cloud repository](https://github.com/sungchun12/airflow-dbt-cloud.git). This contains example Airflow DAGs that you’ll use to orchestrate your dbt Cloud job. Once cloned, navigate into the `airflow-dbt-cloud` project. +Open your terminal and clone the [airflow-dbt-cloud repository](https://github.com/sungchun12/airflow-dbt-cloud). This contains example Airflow DAGs that you’ll use to orchestrate your dbt Cloud job. Once cloned, navigate into the `airflow-dbt-cloud` project. ```bash git clone https://github.com/sungchun12/airflow-dbt-cloud.git @@ -91,12 +70,9 @@ cd airflow-dbt-cloud ## Start the Docker container -You can initialize an Astronomer project in an empty local directory using a Docker container, and then run your project locally using the `start` command. - -1. Run the following commands to initialize your project and start your local Airflow deployment: +1. From the `airflow-dbt-cloud` directory you cloned and opened in the prior step, run the following command to start your local Airflow deployment: ```bash - astro dev init astro dev start ``` @@ -110,10 +86,10 @@ You can initialize an Astronomer project in an empty local directory using a Doc Airflow Webserver: http://localhost:8080 Postgres Database: localhost:5432/postgres The default Airflow UI credentials are: admin:admin - The default Postrgres DB credentials are: postgres:postgres + The default Postgres DB credentials are: postgres:postgres ``` -2. Open the Airflow interface. Launch your web browser and navigate to the address for the **Airflow Webserver** from your output in Step 1. +2. Open the Airflow interface. Launch your web browser and navigate to the address for the **Airflow Webserver** from your output above (for us, `http://localhost:8080`). This will take you to your local instance of Airflow. You’ll need to log in with the **default credentials**: @@ -126,15 +102,15 @@ You can initialize an Astronomer project in an empty local directory using a Doc ## Create a dbt Cloud service token -Create a service token from within dbt Cloud using the instructions [found here](https://docs.getdbt.com/docs/dbt-cloud-apis/service-tokens). Ensure that you save a copy of the token, as you won’t be able to access this later. In this example we use `Account Admin`, but you can also use `Job Admin` instead for token permissions. +[Create a service token](/docs/dbt-cloud-apis/service-tokens) with `Job Admin` privileges from within dbt Cloud. Ensure that you save a copy of the token, as you won’t be able to access this later. ## Create a dbt Cloud job -In your dbt Cloud account create a job, paying special attention to the information in the bullets below. Additional information for creating a dbt Cloud job can be found [here](/guides/bigquery). +[Create a job in your dbt Cloud account](/docs/deploy/deploy-jobs#create-and-schedule-jobs), paying special attention to the information in the bullets below. -- Configure the job with the commands that you want to include when this job kicks off, as Airflow will be referring to the job’s configurations for this rather than being explicitly coded in the Airflow DAG. This job will run a set of commands rather than a single command. +- Configure the job with the full commands that you want to include when this job kicks off. This sample code has Airflow triggering the dbt Cloud job and all of its commands, instead of explicitly identifying individual models to run from inside of Airflow. - Ensure that the schedule is turned **off** since we’ll be using Airflow to kick things off. - Once you hit `save` on the job, make sure you copy the URL and save it for referencing later. The url will look similar to this: @@ -144,77 +120,59 @@ https://cloud.getdbt.com/#/accounts/{account_id}/projects/{project_id}/jobs/{job -## Add your dbt Cloud API token as a secure connection +## Connect dbt Cloud to Airflow - +Now you have all the working pieces to get up and running with Airflow + dbt Cloud. It's time to **set up a connection** and **run a DAG in Airflow** that kicks off a dbt Cloud job. -Now you have all the working pieces to get up and running with Airflow + dbt Cloud. Let’s dive into make this all work together. We will **set up a connection** and **run a DAG in Airflow** that kicks off a dbt Cloud job. - -1. Navigate to Admin and click on **Connections** +1. From the Airflow interface, navigate to Admin and click on **Connections** ![Airflow connections menu](/img/guides/orchestration/airflow-and-dbt-cloud/airflow-connections-menu.png) 2. Click on the `+` sign to add a new connection, then click on the drop down to search for the dbt Cloud Connection Type - ![Create connection](/img/guides/orchestration/airflow-and-dbt-cloud/create-connection.png) - ![Connection type](/img/guides/orchestration/airflow-and-dbt-cloud/connection-type.png) 3. Add in your connection details and your default dbt Cloud account id. This is found in your dbt Cloud URL after the accounts route section (`/accounts/{YOUR_ACCOUNT_ID}`), for example the account with id 16173 would see this in their URL: `https://cloud.getdbt.com/#/accounts/16173/projects/36467/jobs/65767/` -![https://lh3.googleusercontent.com/sRxe5xbv_LYhIKblc7eiY7AmByr1OibOac2_fIe54rpU3TBGwjMpdi_j0EPEFzM1_gNQXry7Jsm8aVw9wQBSNs1I6Cyzpvijaj0VGwSnmVf3OEV8Hv5EPOQHrwQgK2RhNBdyBxN2](https://lh3.googleusercontent.com/sRxe5xbv_LYhIKblc7eiY7AmByr1OibOac2_fIe54rpU3TBGwjMpdi_j0EPEFzM1_gNQXry7Jsm8aVw9wQBSNs1I6Cyzpvijaj0VGwSnmVf3OEV8Hv5EPOQHrwQgK2RhNBdyBxN2) + ![Connection type](/img/guides/orchestration/airflow-and-dbt-cloud/connection-type-configured.png) -## Add your `job_id` and `account_id` config details to the python file +## Update the placeholders in the sample code - Add your `job_id` and `account_id` config details to the python file: [dbt_cloud_provider_eltml.py](https://github.com/sungchun12/airflow-dbt-cloud/blob/main/dags/dbt_cloud_provider_eltml.py). + Add your `account_id` and `job_id` to the python file [dbt_cloud_provider_eltml.py](https://github.com/sungchun12/airflow-dbt-cloud/blob/main/dags/dbt_cloud_provider_eltml.py). -1. You’ll find these details within the dbt Cloud job URL, see the comments in the code snippet below for an example. +Both IDs are included inside of the dbt Cloud job URL as shown in the following snippets: - ```python - # dbt Cloud Job URL: https://cloud.getdbt.com/#/accounts/16173/projects/36467/jobs/65767/ - # account_id: 16173 - #job_id: 65767 +```python +# For the dbt Cloud Job URL https://cloud.getdbt.com/#/accounts/16173/projects/36467/jobs/65767/ +# The account_id is 16173 - # line 28 - default_args={"dbt_cloud_conn_id": "dbt_cloud", "account_id": 16173}, - - trigger_dbt_cloud_job_run = DbtCloudRunJobOperator( - task_id="trigger_dbt_cloud_job_run", - job_id=65767, # line 39 - check_interval=10, - timeout=300, - ) - ``` - -2. Turn on the DAG and verify the job succeeded after running. Note: screenshots taken from different job runs, but the user experience is consistent. - - ![https://lh6.googleusercontent.com/p8AqQRy0UGVLjDGPmcuGYmQ_BRodyL0Zis-eQgSmp69EHbKW51o4S-bCl1fXHlOmwpYEBxD0A-O1Q1hwt-VDVMO1wWH-AIeaoelBx06JXRJ0m1OcHaPpFKH0xDiduIhNlQhhbLiy](https://lh6.googleusercontent.com/p8AqQRy0UGVLjDGPmcuGYmQ_BRodyL0Zis-eQgSmp69EHbKW51o4S-bCl1fXHlOmwpYEBxD0A-O1Q1hwt-VDVMO1wWH-AIeaoelBx06JXRJ0m1OcHaPpFKH0xDiduIhNlQhhbLiy) - - ![Airflow DAG](/img/guides/orchestration/airflow-and-dbt-cloud/airflow-dag.png) - - ![Task run instance](/img/guides/orchestration/airflow-and-dbt-cloud/task-run-instance.png) - - ![https://lh6.googleusercontent.com/S9QdGhLAdioZ3x634CChugsJRiSVtTTd5CTXbRL8ADA6nSbAlNn4zV0jb3aC946c8SGi9FRTfyTFXqjcM-EBrJNK5hQ0HHAsR5Fj7NbdGoUfBI7xFmgeoPqnoYpjyZzRZlXkjtxS](https://lh6.googleusercontent.com/S9QdGhLAdioZ3x634CChugsJRiSVtTTd5CTXbRL8ADA6nSbAlNn4zV0jb3aC946c8SGi9FRTfyTFXqjcM-EBrJNK5hQ0HHAsR5Fj7NbdGoUfBI7xFmgeoPqnoYpjyZzRZlXkjtxS) - -## How do I rerun the dbt Cloud job and downstream tasks in my pipeline? - -If you have worked with dbt Cloud before, you have likely encountered cases where a job fails. In those cases, you have likely logged into dbt Cloud, investigated the error, and then manually restarted the job. - -This section of the guide will show you how to restart the job directly from Airflow. This will specifically run *just* the `trigger_dbt_cloud_job_run` and downstream tasks of the Airflow DAG and not the entire DAG. If only the transformation step fails, you don’t need to re-run the extract and load processes. Let’s jump into how to do that in Airflow. - -1. Click on the task +# Update line 28 +default_args={"dbt_cloud_conn_id": "dbt_cloud", "account_id": 16173}, +``` - ![Task DAG view](/img/guides/orchestration/airflow-and-dbt-cloud/task-dag-view.png) +```python +# For the dbt Cloud Job URL https://cloud.getdbt.com/#/accounts/16173/projects/36467/jobs/65767/ +# The job_id is 65767 + +# Update line 39 +trigger_dbt_cloud_job_run = DbtCloudRunJobOperator( + task_id="trigger_dbt_cloud_job_run", + job_id=65767, + check_interval=10, + timeout=300, + ) +``` -2. Clear the task instance + - ![Clear task instance](/img/guides/orchestration/airflow-and-dbt-cloud/clear-task-instance.png) +## Run the Airflow DAG - ![Approve clearing](/img/guides/orchestration/airflow-and-dbt-cloud/approve-clearing.png) +Turn on the DAG and trigger it to run. Verify the job succeeded after running. -3. Watch it rerun in real time +![Airflow DAG](/img/guides/orchestration/airflow-and-dbt-cloud/airflow-dag.png) - ![Re-run](/img/guides/orchestration/airflow-and-dbt-cloud/re-run.png) +Click Monitor Job Run to open the run details in dbt Cloud. +![Task run instance](/img/guides/orchestration/airflow-and-dbt-cloud/task-run-instance.png) ## Cleaning up @@ -224,9 +182,9 @@ At the end of this guide, make sure you shut down your docker container. When y $ astrocloud dev stop [+] Running 3/3 - ⠿ Container airflow-dbt-cloud_e3fe3c-webserver-1 Stopped 7.5s - ⠿ Container airflow-dbt-cloud_e3fe3c-scheduler-1 Stopped 3.3s - ⠿ Container airflow-dbt-cloud_e3fe3c-postgres-1 Stopped 0.3s + ⠿ Container airflow-dbt-cloud_e3fe3c-webserver-1 Stopped 7.5s + ⠿ Container airflow-dbt-cloud_e3fe3c-scheduler-1 Stopped 3.3s + ⠿ Container airflow-dbt-cloud_e3fe3c-postgres-1 Stopped 0.3s ``` To verify that the deployment has stopped, use the following command: @@ -244,37 +202,29 @@ airflow-dbt-cloud_e3fe3c-scheduler-1 exited airflow-dbt-cloud_e3fe3c-postgres-1 exited ``` - + ## Frequently asked questions ### How can we run specific subsections of the dbt DAG in Airflow? -Because of the way we configured the dbt Cloud job to run in Airflow, you can leave this job to your analytics engineers to define in the job configurations from dbt Cloud. If, for example, we need to run hourly-tagged models every hour and daily-tagged models daily, we can create jobs like `Hourly Run` or `Daily Run` and utilize the commands `dbt run -s tag:hourly` and `dbt run -s tag:daily` within each, respectively. We only need to grab our dbt Cloud `account` and `job id`, configure it in an Airflow DAG with the code provided, and then we can be on your way. See more node selection options: [here](/reference/node-selection/syntax) - -### How can I re-run models from the point of failure? - -You may want to parse the dbt DAG in Airflow to get the benefit of re-running from the point of failure. However, when you have hundreds of models in your DAG expanded out, it becomes useless for diagnosis and rerunning due to the overhead that comes along with creating an expansive Airflow DAG. +Because the Airflow DAG references dbt Cloud jobs, your analytics engineers can take responsibility for configuring the jobs in dbt Cloud. -You can’t re-run from failure natively in dbt Cloud today (feature coming!), but you can use a custom rerun parser. +For example, to run some models hourly and others daily, there will be jobs like `Hourly Run` or `Daily Run` using the commands `dbt run --select tag:hourly` and `dbt run --select tag:daily` respectively. Once configured in dbt Cloud, these can be added as steps in an Airflow DAG as shown in this guide. Refer to our full [node selection syntax docs here](/reference/node-selection/syntax). -Using a simple python script coupled with the dbt Cloud provider, you can: - -- Avoid managing artifacts in a separate storage bucket(dbt Cloud does this for you) -- Avoid building your own parsing logic -- Get clear logs on what models you're rerunning in dbt Cloud (without hard coding step override commands) - -Watch the video below to see how it works! +### How can I re-run models from the point of failure? - +You can trigger re-run from point of failure with the `rerun` API endpoint. See the docs on [retrying jobs](/docs/deploy/retry-jobs) for more information. ### Should Airflow run one big dbt job or many dbt jobs? -Overall we recommend being as purposeful and minimalistic as you can. This is because dbt manages all of the dependencies between models and the orchestration of running those dependencies in order, which in turn has benefits in terms of warehouse processing efforts. +dbt jobs are most effective when a build command contains as many models at once as is practical. This is because dbt manages the dependencies between models and coordinates running them in order, which ensures that your jobs can run in a highly parallelized fashion. It also streamlines the debugging process when a model fails and enables re-run from point of failure. + +As an explicit example, it's not recommended to have a dbt job for every single node in your DAG. Try combining your steps according to desired run frequency, or grouping by department (finance, marketing, customer success...) instead. ### We want to kick off our dbt jobs after our ingestion tool (such as Fivetran) / data pipelines are done loading data. Any best practices around that? -Our friends at Astronomer answer this question with this example: [here](https://registry.astronomer.io/dags/fivetran-dbt-cloud-census) +Astronomer's DAG registry has a sample workflow combining Fivetran, dbt Cloud and Census [here](https://registry.astronomer.io/dags/fivetran-dbt_cloud-census/versions/3.0.0). ### How do you set up a CI/CD workflow with Airflow? @@ -285,12 +235,12 @@ Check out these two resources for accomplishing your own CI/CD pipeline: ### Can dbt dynamically create tasks in the DAG like Airflow can? -We prefer to keep models bundled vs. unbundled. You can go this route, but if you have hundreds of dbt models, it’s more effective to let the dbt Cloud job handle the models and dependencies. Bundling provides the solution to clear observability when things go wrong - we've seen more success in having the ability to clearly see issues in a bundled dbt Cloud job than combing through the nodes of an expansive Airflow DAG. If you still have a use case for this level of control though, our friends at Astronomer answer this question [here](https://www.astronomer.io/blog/airflow-dbt-1/)! +As discussed above, we prefer to keep jobs bundled together and containing as many nodes as are necessary. If you must run nodes one at a time for some reason, then review [this article](https://www.astronomer.io/blog/airflow-dbt-1/) for some pointers. -### Can you trigger notifications if a dbt job fails with Airflow? Is there any way to access the status of the dbt Job to do that? +### Can you trigger notifications if a dbt job fails with Airflow? -Yes, either through [Airflow's email/slack](https://www.astronomer.io/guides/error-notifications-in-airflow/) functionality by itself or combined with [dbt Cloud's notifications](/docs/deploy/job-notifications), which support email and slack notifications. +Yes, either through [Airflow's email/slack](https://www.astronomer.io/guides/error-notifications-in-airflow/) functionality, or [dbt Cloud's notifications](/docs/deploy/job-notifications), which support email and Slack notifications. You could also create a [webhook](/docs/deploy/webhooks). -### Are there decision criteria for how to best work with dbt Cloud and airflow? +### How should I plan my dbt Cloud + Airflow implementation? -Check out this deep dive into planning your dbt Cloud + Airflow implementation [here](https://www.youtube.com/watch?v=n7IIThR8hGk)! +Check out [this recording](https://www.youtube.com/watch?v=n7IIThR8hGk) of a dbt meetup for some tips. diff --git a/website/static/img/guides/orchestration/airflow-and-dbt-cloud/connection-type-configured.png b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/connection-type-configured.png new file mode 100644 index 0000000000000000000000000000000000000000..f77d3e188fcad1702a9071fbdf3891cd6aececd5 GIT binary patch literal 251473 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

`eoXVKN%KU)RO;^r;1w|sm}GXQ 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

-cKW#b0q_HiUzp5ib?83E1nP^k*&wUMc#bXS{Ri%{KINyMoR(6_ zGd6)eF`=C)1i!?(ZlP4(f|sGomcD;S@(@ir@VQM7=MxLX_Op+xqJUpyP0 zdFJODYp~IFMo9mmOm?Wx$^`o}&-~KH)%1y(v_Ej*ZuM>G7yU{rz}~kp|BO1YC{M6z z|KTq@C0&PoNE)(kn<=cj){f2R#U*S zkqSZ9Rv6LmstUXavDLB}y?!|KtmoBvin|?Ib;d@{ zvKB<*$y;VPHFiigZ^{Ua)l&ezyO(y#t`cJXev@jFn|uB_3*ZPeO|1xnO>ZFBzWL2RGE(UK-~R_A^&mJgj{oQvAC*nex5B^t z?B_O1^}quMHDEj_If|O4`N&A7sKu%!?~>t1`amGTA;0@Hpnm-8Uo(w62!@|2jQ{aJ z{=w{89(>?F)A+qh8ewSRJpJ^)*nl3JK@cAHk*CZgf2oO-yLRI8x*zcqiiEUw)7>65 zqlr*HN2*C~Q+Z8K&MG)>+!*)QjZImYETax{K z)6PN@Z2$fPMh-y691(eVMuhYiL`Xy2LxQq&h1ui*X@D_kPMZ-vqFHC|j~zQ<8kN{{ zhLDDIVPL;n*ANkh53{M^8zw7c^sZgI)TrxQ6`26>X@s;I_?KUP*~;}sZK!xa753+~ zssIf*?4={iefQn3Z*QN-*~6yg24O)XLB;+#r48~AO>W3G2Km2!={KhR&N3u6Z-Y>x z0bmIdCKG5B&>=?!l$G=3x!gPN{LZun`ek~lQ0UZh_D{m04~|F!@rvH7zE`JW#mYXd_F!T}1kuVh zmVc1ZM~{9aH`KQ$g6a7rUh8aEJW1DgQsy zJ_d0B!6X*QY!!LEM}waO8i>%bJap)o>aVwK(v#I7Od8X_;866!m8&wMt*CPpO%@p& z0~S<1)=OhZWUORlM{?RNCZXaXTX&kIW$7vtzw~E*^P5*xPP)yOH(EpB#zg&YO(0SJ z!TeV*zNC6-hw72L6-=A;H<$n;k06KlNjsQ)qb_5DGioRAxBSEG3FeyEw}XiV229v_ zCf|kzcW4knd49nrd4`8CYjfwvtX_(HLVRH5or#&Z-_~Zm`X<=hgTd40+qWtWU8=Kw zr}}EMX-G4{pZ4E?kfse_viV0^fx!3LEgO{Ic=GF}IZrtB83xt9U=r$x(s@c+-XqFu z%nYF!Z+$R*_nSA%q?{(wekvP~tUzE>!!~6m?Jqy-5&C6L(FIY>j*dkj({WJ2rMrI5+R-XHJsV!1(SMfwSwzQ(kf=fEaRQShd)%` z>!kYDE7ZS`c?$KDiv?|jt#J_Jp6%NQ)%W`fj|#@W?3pw!zU8o1>;K}} z7bOdOd&#CiJNt}Gi$GryzW&5lO=+$}`)B;-*RL9>OgQv0=r=Lh%{bwO7k(w>q*v9? zXpcnk=1n$v4nYhd{cJ`^qdkqy?1Kj%P`H@AJY{_;#^LaA$T>7LXi7}1*Qc-C6vp@S&Q$S%=8w50aNevE4DO9FB7+?SVXU~ZA z|7G~fSHCJn)vsxc^_eu%e(8`7I@-zXC+-!W{v)!+M@zxi8DWN1^v&(4Xv z6d|qg8XQO@q*)~?LON<07)Y36WP?q(s{8N1Ph-Olo4`OBhVcYr23EqB##8|L+9EZp|f9hq-F9#`(4VH$QEe; zwiRTzwRl;D{Gv$a^D@IR5mwwTpZyTQ!z$3@s$9mT89frlE{}&Pn|SG$dFoa2yDD__ z$q>8Dcl4~>EIZRZp%Y`)(x(1QmCp%%Bp3A2wMlcOTZN!kA4j`>ZTh&7fFjKY1G&|u zg0NxZdTC6d{T%HgqMeD>C~hd^lp}Ud9UL6e;A^)Ln?L{gvmyaD=))YcK^y}dOkjNR zi;oyFa8(11Ux*Cg1fE`SmNdgg$Dh?pCFGhY?b* zD14S0$K?QRrV(4K;K!U5VAuVKl_HHzZ(p|>kIk};^n?vGSsrm-n{zS9XQr`F@A=>^ zNz)7R9gRu`n(T&p`iwMS^^Ck?0L=jgkh6Q0uMA92i}b;UCgc~JvF+Ts!^i`|!L}na zpV98J%AzU^2H}SeeJESL)1W~^laxU> zq#K*ML6$)_L)3reD_=H(`d9icunBtGZ8EJPf|_oE^9qju1`wdgHp;=jhIS)+D zK(>FP#uiOMwD+i|9(m*oB2%`AKeHpIo67mJ zN#D;tX}_|uEcF59mrc(w5yJ!wGw4iAVJ79VFMUyEY1BG2bcpEqVxOML9cIlT?$K0- z6n#@9GK4e}4-m@`W9(zV1kh8z|D@bTLi)!)ei{@snXoH-`7vooEB_$hOha0oMc%#j z*4x%$#6~#gpWYEcH!2fU5Yl|7Mo9njPr^q>MM$fCWde!`Vm4RVvUy|Z*JRGLI^&0r zVn_X|b;7~E`l!`rRJ&Q6dkE<^mA`e;vVGWA2(fW8Z6szPu-nWE56shCR-RBsU)RJJ z8`42YGYNd>U3;wz(H`TT4QU}enMlSg%tp1r5T=upQ(1kewpMv`^~zyxmmfrG&qD}3mCu%RjwSg(s% zhLC1MmyQnE7uT}ZtI~qLW7lq-N33swM*iU7klFFxqWb3e@e^wQey6tMQ=8_>W zBokWnb(rX)ZDznlpNS1PX|vGSX7w00(jm(COUs!F1hjwXpN)+Tn}#$tp*dbqywp!j zBvY?LBC~NK8qAlJUnjJZ>OBo2c~3tm5z-7UX}_2tr7if8CVV0xt(6H+J)!jWD4nuV zt?zuhCV7}xVqz2f)RYzMNHQtHgc&QSwr(9%SsakP!JmYqhxPqjlBv10UrI(wQ~vn& zw~3fW^eGtI(hay3^L*o-Bh8gofT%#S$*!510dFa2O?8M$w z8#b;D_sgtVQDZB{R9B@a$(WTs0KCy5^}#>VL^dSkzB_l@q%&qh=;zUgM*#s%;#ah9 z&U^13HKH3CSnWuEtXrDSgM*ul6lLXJhsH^mki?9`z(Ak)g((|b|4jYN4>ew3wIn?Q zHiF(J<%d7`gQwJwZ#P2vm%n^LeF{vNN`Xe&*_bN5_nv#CBoX^cru-w%>_LPdY-U3& z|5k+Rsgq}|pPcnN6oWB+I;&Trhn=0B#!Jy3#EdQE{U!Br#?-HcCnHVG9P{hnra(Ev zY)B9Su>Vm$#xD@(lj30@qtBcQZ>U2j%LO~b|N6iEFX|8O)uhB&_z(Z#KZ($X zGm!~9DLD6f+gj~(rIrN_YX*c6_XPA z{7q*31_pYi>R2dCb@lsc~ETFiu5o_=gra-vb;^n`U|RPMfV2dPBbqF>l+p z%e1K&C|mCFR~~I}Vqq&HD;dgY%iNUlwIfbXtq90HXGFE1yiOP)-5o|nN)LB!2$TI= zL-)F!p}luSD2PneFifto7cFu@gmba|Tqt&&)=xG>H;siAnsOGp;wz)M4rCS%kOG|14#hkGvr!CKFG|~XLUFUH7NwEF8H0AnI5q=gu!-$S3L66p z$W1nXqHr@PVn77uXh$;uB@Qx)Lf@~-1)_}s2s1C^B48lWR!fDSfgzj!FnfkSK7I%u zHfZ7q`@WT3>a*!k=E`-5lt+?We{%K zqQWG7FiPwVdazs`^D5ZT?hwWsM4TOzHm0=XwR7!+wE3ufO^Z{8Zwz@~<>&E6-i+o3HYz6M2>Y%qMN50IA`+=~~kh#)&^WY|?{p|QkiP|Nw(uU{ja zWnM?$!kCC&w3FHR5Y2R!GD9?M-n`Xhm{Mg6A;2J>WlL19$&?0~y)5g2GzCv=jzX$| z874z8K>!&J8Mk`PDw_~Mn+$T|9T5@O?%cbVos#d-_qWpAy)8oU$Pt-?5aCVb&N3S` zb%#Y7{p??!)ok{M+Q{upsj&nO2ra%7mi+|Jr$}`+8lBSjThKQ%rOiD){p5^I5*#~n!c42!_p5K1i5+%+ z#xx8w{=*{k$QO_yzldY$kJxb2h;P!;x}7@*RsQx_r;iRRCX?u-Mh)pUePcapPd19+ zyx-~#mSUmZOg%&$!M7GW13_u+v`*wRtzcApOzSx0?_76xqv+RkYDqq)9e!v>p}q@#?T>wE7#pt?*O0t^3_UVJ5-{Pc|K zr*Si*!X!vR?IfC^MYU73n3qYDzJvT>bxqdmBtMqsV5J47QU>%b+-aNA(H63EHX18v zI3OoWEWrYTo_dAJuQl4(Wl$4^?6H73E;fFl!-7UDZ7AgZgu_VS}13nVn%W@1u`CR{gG3I{N--PppHc39k;-M`&2nJ`Imd zs86AGN&tddo8HH(+6d0C!(Ka#>ZhsSSJ0+ED_8a?y?3g-Z8BLXZ%k;>|FAxVzB4pn zAdK089&LM8SJ3Ml&?+PddfGD5!~`Yv4d220?|*3Z#O~d@ZBm4Kg!YmAV3{Q5eK6BR zy@KhBK9y@oV%*c0ViJJmq)bp@f(UoiRjf>-9cJHvV={X)F*&A*iM#b|gW=6&B@@qs zgEAqcZ;1Ml^m5QwJACLP$#~KF0j#8fC}-mNl-j2~d+xA0j(*sSFTSMq=retn9X2^< zleWs^_p}OXy#`@SG|`V@a+P|N_JTnfq%;$I1&*Dp=+SHfo>YuT>|d-Wdm%~F5G zdW38Gp7aH2cbFKFuqH1e+hN z?@`+fiOZOC=Z;<0KEJ27{^-#oSv!nBt)^GMZ>##_a09z{OIc6jDE1Cwj}ZuI#x;zM z#>X*R*dtSALuRsYQvEqr###HXJ`kkzQH{Tj964s*Sm%Vo&w=o}L`%q}ififlITvi%y*BE~H?p?MLu)PEAa4}+nVPtq* zeIfcsM}?D2Zm6G%qGrNWskCeE?V0?+V?jnU9=(cY8}_w3#;8!ui1^S}K*djm8IhdCdoL-&BNjOpYJ~Q9DHL=w?Dh z^jJZJbm$2q-5bL63K7z4cZQ-gMhY41_~Mj+tEg6D90%z-68|fE`~sX5P{uiklm>QZ1>X0)wncP8uH0U#{ifC z8x>6)R7&St6%w`%36ohf>`Zfwo!2yI$1Q_Z$RtQlJ`^fWez;+9&GHUDa@6#ZI5RjzHr^p0hSDMb$RghH47vCK2&Y`w6^HOhgEzgn0S_u0 z2J@4`w5X50PZjJIv)zM+w5lBY#38&`%8MOLX8q2bkr@G13>!rvFk^+efsZ~qVPrJv z1se#ob{ia`0l(D-nhc`Ru7fOM**%jLED1*g>ayOU4GG!VrOF1kn0JAgg%pAaLbDx= zN7QJ1eBx7)Bqv2komXs>zS2jd>%}>!z$(HeL-n=TQwkb!+F+Q8DcRYUDF{gTty|ei zc#TMbe#`$eGJnFdo|7lfn)W9X0IOC@%TMWNXJQB)HiI}V?Rso&fip|DyS0oR?c1$e zwh5;-MvS5bifvW2-e_3SZo|$wwv(8dq)bC%Lg;W$exNN1p5zl+acKG@A0~Am;~+s< zBDHSa1{?UVT)9r}HG!k$)922gwnhgn^)G($i$)HRo}d2Y88Z!m1~m8^8p6ct0iF5w zN@X9cB*&C~bT*h-1-o)Rr`tt7N_j^lA}TE3_~_LU(5EW0yicUddZl@-ku1oIm>dup zHpHbC$OjzLt`|H?LhxCNZAs?7rgQUh> z1Lc{CHZ-y!UYKNHVgRBW4MZAv8ge>F(ch;wX-3{s-_Rl2EX~{1TIE3vd_^0~()l@e zRvU|oL}Yho>P992=~yD~v{t-Kh@hn&d3yhfPWD*g4A<(E(ct*LW&AFhuiuwvd8&a8i2Am-W zN$=3mpiNGK?eXI$>>1=8VUf?cBOZR_0r|-!3k2B-bv7?*LqqD%%_7MmyD8Ae)VW1_ z6Fcke>Qq^o68_U70$Ck^hIE_CQ)<7Ixa)YR{VuY9K&ME}4VG@|X1-7U@t>uYZ2HJ# zE0et=A_B23jGaBSdbe!3-Tcu}q@Da!lf|?JO#brCV^)STew!wLu|qtqyf}60v`tK& zK7Cs4tZXGK@3-n3!rma}qR^7TmLP;DTGN!#*p{oT*f*?lqk4B*c+bqx&eQI4q;EL; zkmJMBUrHNkT8zWOQu^`-^$J*S+s=e;x9Z|?D{s`jOw>|0lMd<;$`thmn*G=oWXE?_ zB5mEKO*Ca+x+qPa3+Ey3Puh<%#R?fTg*I1;b@DZyQSe*djj2|W{n0P?z zgbgLB^_dh}yG|4HQdnR$6q9%xlr~oEFwlTFzap)8>e3-iw5C-($U=KW-AEhHpp`0{ z@0xlNd+|KORyEr93?4B>#0H{FZt#6YLRxi~$_6zU13$8ccl7y42mLha%+it7hgok$ zkLB18N5Bzq1RMcJ;1))}MgdvZ#`>>nQ{ihMa3LWX%dAyj8ms3fgkUN~~sNr6MNra0l^HJjt3m0T ztW%!?l9-iRtfD)465GZyiKf0_lmJ2K3o^D~btU$u`;14xMl+k!(|@IZc21M&m?yn@ zMOFhuT%v#h_d_3;N%IXGQA8|QzxR~Vfk_BUC;bO?G9a!=6ZWWC^+mr7u8P%Ta1&S1 z_#RcbQnbUpO`s#C^*`d+N4GZa;yqjvd>H#pC0--;QE=7xuq>NbHzvzui(P$ba*xiJ z{g1LHeh5PP@|BBHyp%bWk;^uwBtKECz??2x(kMv0^wLYVzX`k?{1|*0N?VUS`e+y& z9Fp0SUuY8GoRxtmo_IoiwP{m!p`S}XkTLPLZChko^sqLde?I)fKm5?N%Qa|H8HtLd z5Zai`ER9*|?CD^Vzz&02e4fT59JqrI#F^k#{^2fjYc3Y&58usAM@UDx;5v$&q)YCH+z8S)f&uL5AGn zfe%>k`A8skc*mfE3L<|{fl(Iu02p);C)(7I6KE?E4iy-?azac)yzt@2NXj8mVDXy{ z!p#?Y-caa`P*Z$-Ocsu=d5&E8N#VxuQfN2oIpRR&&48HMM|Q0($S%1N(#l*kq?yfR zpa*P_L{ylN7vKz`Gh*7737?oh;7?wo%?3V@`pi_3j|@^f<(GujPyvMCmY!(>O4otZ@PxD`i5sCENk1BuQly zKABdy%Dds97}B@Gd-4e_0_rk4c*G5n9m`V0jc1T4kTKMYd^eChM9Spyhwc^3g$Tm$?FEiD3i& zR%S?vGRw-C#HI-$y_OeBH02rD$w%^t^w0)S$JivI@{no*JaL!W8Qh^IZJMLH27hq1 z{E!eyV;+AzXCfEO$!G4z##BC3KLIM=yOCXrXWX8P5L2Xy*lm-Xe2Z<$Zv~*zccUDX z;W$BqUA&GC(kPc|m=rdW_Wr)GOe^4}X+0+@LuE z)=Vl84&Mj)%R!khsEz4ST?F<;;Y_|$7ot%?-+)h7Fk9YA0(_a=QF}xYn87eYQ;bBa zd~WqY`Qb-gDK-Wfw4sz^$_)qgD`gJctPJ2@_{Q?5xR&k~#O6wnBlaFEN| zcIr}<5&C@A&M6$+@NI!pL1iP>%PIqslYS>*mw)j-%N7flu)%`3Q=Z@|`q4YRkA=n_ z`X5KY5pVb8($UdjYri3Y>1#5Mq)$bE zz{boP``|y<8`Hgwc9ay22PAytju=BIE~Uj388s$XS4I99^TxCyUmS}ujs^rAqcj=E z)!+a?^p%mJH0D>oNj~ivN-(_Rtf6!an?8%)N1Qm*ccDKU59`VBN5UBnx*`muOGhSR zx?SMeB2ySK4x}TUoT8jc1IjewBS^%^D5m@_ikQBj{1`Dspa&j2Xy!W5cK*j7{6H(% zw87)M?-|zg0m1q2;= zqvz*8e@^Z`(O7^Lz%ofG9%LovTD4*id*z0sM5nxPSRWbT6;6Bv{;@nVPUis5*muU= z;vRfALabDFVxou;WeC}ySZ*deNDc+m5~hzpLkj)W35Sd>NIN?8%6{~1p>5@Mne5mR z3Xn(oc&zwnr_(SsDy=LHfF@)-epDMS4Zo#|;i$}SoCzzowuJ#{a`mm#Qc`JLkBdMY z7r`;bfWnqOQV~EFF=%8%zV1+%5?MB>W!|H@zaVYk)8k?EV-eZdpVsVBHX<;S9hSX_ z5B?O2tdQtQcEk_SKJ={eqCi<8(icu8#;C@C{-DxK1CLmd#6d8G z5)~ifKtwYrLo6$#y5O0VeRWuy%hqp8Dee^a;KkkDf|V916fX|NU5XTU3GNgKP>Q=0 zcb8C#y9O<80dDp=XCJxue9!*wUwM-!$;_--Hfz@UEkkHJXYp$!#CH!!em_5Kr(GE?2^$U-zt*NS`6R~oz~v< zN%iV%HSea7>4bg|-(IP|<4zeV+mxBt&bU#?*l5J>@YtfJ>SCn`wR2Y!RJ_6)mqsoV zg#6f=-3M?RA{#?+w^OlevmBtA#fQUccv6o_R?fyXdxc_gUT^HIj_FsU{RFURQ~{lt zPp5iS-iB&j!^744I_>nM*1hhjvS+l4XQd851fV;yo$ zA2gYnSvL{(H=fM7{RZ;w5!$?KpD*y5@?qj_w*myzPyjl5CEe_ zFsW5PDw^|041g7zZ38fGrrF;LYkJtYsoMrA7InW{?le|O{E+o07Jyg&*=Vi0523cL zi>JkhJ#722wyG#kT6BC&(YPa&OENF25z)&Jql`AS1jREvb(jq0bQ-txRPc0<$ydhT zpImKD@@<2A4DsIaWDSKn-&Sky2;4UED;Sn7tCM3q(tUtt()le>7t8)qbJlBNtLKvR z3Qsd@ocHa0t~2d2K9!3P@lt^;{5^efO-sI0x4-PkB&Mpf$}jM4CBAAuW)F39YHs(f zi`_$n?6ZM}`X%=1$NmO#kCtElnUdO{->e4oWPJ+=O+UY zN98L=DMpjEHFEPhzm|1M^McATN>irz{3K5~mhJf$Hnu)LwVu~JjXb_sK$p`!m=Jqv z9W5oVe(#AGahOClYO}<~!vO~Z**B*v?Om=p?6L3+vpg;>xtbOOCFNrfBmLX-1omCQ0Yqj*q-Fj=NEkTonY1@} zl1LuhCOY52{7PF%#{1~2t$O~9O4qy7ocODy8}syO9AnWk`t2U7VeyNp$zP||dwU=; z=&_6OOarEIp>5Zdl~7-uvzN4TW&t5}kW4refzrHVR{D;i1+xX%OQ@WF1d?=2{A=`= z9GfK(jqmnhGG{(!?ZOtnui9XIh1>h&op2>BawYBoY@R?9_D(e-GbRF*k41szLFt;m zHNS>e`pCkj+lCMrG>N$+anC{V3=O%CCr5>-WS;MNAMuPZ|FqSmZw@DP7sT8fZU-tdvPKw&g39V6fcc?y!(m_x0sTGYH zBN@-ukozhO*l~%JK$5wM!GcFuHi&)>Zg;N~IwyeheJ0bxDNw_y=!U@5J+2>alSEi5 z&mFskSZPs}vj5J7NQ!LQh^+|Fqo zqL@Imh6=U z29L2avQ9`$4?H~;D{cr+wktD{+{}PU)0x$G2=}>z+_T)-8kkWC7)40F_SXdZlzDzk zj-PS3U}SxT&WX-}F7VkD+wx&(skF5ZFDz)!Aw|P~?av$Pr9hMq%IO)}!brbV&b~ZK zk~W@k;?8_}XPtUEc!yVAJyBo5#d(M41rWNbelFN>eZd0>Zp6+1bgvVk(CKP7Da?T3 ziLPbK#V(!4_ND^=%`KjjGs-EmdgDiQOnVP4=ai zry3Qrvr;v-OcvLx))z<~B^~+V*wv|nHQ}i28v#ZuF6>l81YKipNv0Vi=FFNx(Wm`M z10CTw1O#pz(xg23J+$0T&hno_tP2GmIJFdNQc0EGra_e-@f%rVH)XXr}$IR&KG&h?tI}27Cl!>tA=ZTsA6iqGD;cl(^skMwuNcP?L z3tW8GYHYIUT zX7KY0JjGSqhx_fXz2<}4afI)Sq$d_~s@x~s?exEGkKvFE&wvSf@Em^dvoV<0@D@hF zionSNMcWy)fNzzqp{2zY!BM$G<45#tdKM8)m~YaoBNdLY0R)e*MnYds&rRA`s%K1l zOhUVW5b~bghJD4W{4M4mamB<4>x@Rs6=;@9@)r(xW>U!yNz47$9|>}k1KETk)@KuI zwho1j==AfmmP$m;6j+g4s(ps=G7O!^&!~+%X?rGecm!jEehG$;i8^jjlf5$Q7BRv2 z-aTe0k9-<&TUFDQ{66_CifV&>fMl7i&uH>n3QywbN|M=IZk2Q5+4NS>*SyvN-rilX z0412QNF=+!Xhpt^?bN+TY@Hh0zv+#F4-wT?Zt=Be)$eGO{ECP@{FK`nF|RoqGNUxA z0F|%RUHt530U!pQ7FI(1d~)x$QuTZNi7tTnL{t(@-lU@S>)rII*I`@^EH5L>>&|pq zl;@msIi^vs!FicWE)1<{*IO^P^Rm34!Xf77-P|m9v;{{L#(PxO5VAlviYxiJ{6-%H zC%k1qqZiw428DV8{jM1<$GLNW%y4Sjc-mvQMl|nmwi&=K-a#~GV&gvH%Tj_YxWR~oco4-88Nhl~+L`pUm-wFU7f;%j0{6Q6q+} zcd&+(2Y*W{D5bybuIdmtXoB5BSO|9I*e#4W}Q8Zx#3l1h>86L5&+i+m6PR3 z04oPI?kv5IL3Bi|xkmH7IKlu#pz|5iM$)k9JeTK4$4d}4BaNj4rsGE?WOM$ZM6<{V zl-D6)jUT8^*-v7>hSNNWhGdTi7kn7SoUnS*@Lby6UKbBZUYZj-w&jiwK#3itS0jKo zPwf4%cwU7W&v$!ljYUOn>Xek5vJlOvZ zuOu!Kb1HkB@T>?e)7>!+j(9BCH|C^`kI_N&@c z?gzH(@2_^z%ZAY8$@!I1S+Z>Luz4^rF>y4^#vZ;ml`d4Jt7AgGHJwNnpU*Zdt{qJ! zrNSi;i%)UH6plzA&Qgr#)c>u3rNVCyDz*0cJ-PH;Iw@o>%#zhcovA$~{csQcq0I(N z;~QqZLwE1>rK?gj&5Hf`Oa=F8ts;TdPINrGBoG^@>@Ame+`;BrwqP5~%TKashVW6I zhsb!#mP!9sR(F)K`(jT=><6*%0+?;tk3QPn5G#=))tuq3X4FF^IC=3-=K6cUWL`QZ zzZ`3tdrsZJ2c&VyXVgbvDO?M(qQX<|75tWgdzsan$VvBia_5Jh#J3lph-VmF=V)2Y z-QDs@m&vS>gDA6Rv6ZC*>QPhS5PopuyVBR;LjfB`rb3Nl%@GC_22yO6UN}^nJt`d! zca^gCVsl+v%^RFq(+gr&dKFRMmV{tSvGKyZB3*g}Io6Hks#^4ux#EcX5;Chs83P@e z!jfr{3^ZE{L{p6TT0b!uo!Jk&Bw_}!wb@#PHg0)J5m9%7#!v09jN+MRrRv+S=lwE1 zC!CE5YxhdGxnL@^kEWIRh$*Eg=7e~$(U5VMJkow4eQQuUI!4bUM?7)sY#uRUs6G6# zq+#v+m}NQ1bmGSlsr6@_3Ez3kR;4+{>)PYzs!#ChW9~$WcQ<>LSt82XkEI&w_u`S6 zsqcrFlOuKxVixkW#m9E#_;R*ljEUt+F6P#b<-2)g-aYGw?M%~UuccGl#V2J{)=Y?8 zvp-K7Z`OXF%C%A>(nCIV!L-dap>DV)maA~t(e*t%qgB-@L-rgIoN`#7uX;?_xb-V? zC|Bt3dD(DTkz_+u|2*--hpGU=))p`Td|YP>_Wd$?Y>%q5H#0Qj_;p@maZ{7cxMtRSopOF<2|;W_$ktALjLsr?FYzK(0KDAZa#N!`E=c?>YIz!F^w+`?BMq;kTWM=lBdsts9#C#w}ykFs8|uy(p-8vz@@LfD6)3I@Nh8 zJe-MUB@|Bw6i!_ob$g#Mv{8CQB|z`d{H)~FzILZjn80uPT&=)cT}WWA?i`qogBSK{ z+*u@*v*caHS=xt~bbj_4TK%ntL-(hD<>Ye?;mvgY}X^Z zyOLQi=&MS<%9Xrd;*X0lJ`{-2zc{edO^Vu07NWD987=SuLwZ42_#DbXf^;@nmeP}t z2T3M*D{rRdQ4TS_%yv@S=2Eyk2w5tiDL?8rr<5baV>d)0V%M*VDWCrWQf1%lpXtT9 z|A8kL_AsSmW`fF*v#T-aD>_=gKCxm#vGDANHiK~Q`^fm?gXAMCm9;Tlp$}Lrs{*4& z#lH(g6^qWM`+GVjR93C+S=4Qg>UULFM-eo3QDF1n}!TF?6(;~6iD(Azk4(8ON=u4g=}-7m?2IC2}3KBv@uZr^aKhSjk~fs z@Pv&}hkLMq>BSiZ`sUKSEjoFPm8r4ymV&xs>wGY;AD(+XY@*{?3R-QS_M(Kn(y{ZD zddWg3)3t5$A9@j}mrNKX)2u_bydC<%<*Z*lV~q0G?}Pz5e}f}e@pa96JJ(f}c7e^J zcjV=tQ}@5P+A}aH8AYK&RibU!b_<335!T|IB^9F^qs|}nb468eUrl(CusY2j4Bv%m z>J3X7j|+b%5zx8%DVpxzM`T(C?cMt3XzXm+y;%#|U65L-Q`_yX)sb%T9*v*0M{3eC zS4fh|v+ULp)iIk5iRb5h4a&>vXM}pm4UPHyW*5(8>B#63IbraPD->pXs_CkqdH#`k ziu6|X*rNEm)Y{|lp9P?fh$%P$Kamx8iTRE`f7(p+61bzCdcSWpg&Th#Dw{|?=yfKf z-Tk^JcZAQ0CpN4#Qe0!T-{;p}X|MRul2{_KZnT8|SmM5)gX{Z8!g;syDSm7~6jDwFL` z)3L|UW6UE813=0AZ1ibM;6!(&WjY`^PbK&;xH#)$G6#{X!h*wV>6R=h5*jv<*Bac1 zW1*qiQ4h~Cp|Js%c{bajZ})WAj`l#4;y%JE*4*3GzW#Q=Ci8&Ml_Aqpk+H%wps%+9SOe-wi?24}ii#=H)^aj$wYj9ciYIX^2w{ z(iYQlEwem{FQ=1^<@LPl1cIX$vi6o-(*%V`Ch$9myA86I0Vw*%QL=Q4+`Etd3i zH3!agD-<$8ft8s^?B|PXpB)(Lw3heNKx;=f~wCX2vW$~Xol`--BY)~gV z9HG3i?*q~CloS-d7{a)B^DI>_C&CkAAIsXw)oY2e2luYn?SkhlErh8HL}cY_r##5f z6Lw($r8mIF!BF1YBuROh3{1>oS(Z4$7CHIrp$qw3727gQgNFrB%^dCJ7E9jIu=RYb zIE8SLc_i&%N?mkprkZ$mPwv_Nlt69yctY;NrkTCt#`m0MpvRqGUM#xn^UM%{OZS0iG&~AIq1Zr`N$W! zp|op}zfE>|Qbz(NTvZ(|hARl9iAsyNx)t_W@%BkBcW*Rd4!w_Rv?UMOe|q45IO67r z>Kzi!k#AZ|RPWiL599wDtgl~O?MVYYXrz*+vp?2DfgN>*E0g_cnLiAI`2 ziEiEM=R6i~9IdF}eyw>!fuI;eY7LoK4_5L`QEUA9w<#GVwILq`nCiYLM4V8* zkV}l&4%%?VY-j(?D}wz&`0^k{yv~nFiAV$;UIMivWc$M-6 zRMvcQA7l7~es26wyiFP(>s`B@!B85RiNS}&IKNqqi0ptraGrVmt-kK>XC719_`3(F zzS_dvZd`?HTQrKbdeZ0zVj{YEMb&~Hh$43>`TJGvwuVLGt0kwOXCkw;t%{NSn*_x@ zTU)_8a>QhbDHlzL%4$lVbr&F;@zed!8Th#m8kHo?WTSpizv22MI*?W^vpi43UTttc z6A^s8e~4<3wvU55uO;asj0^F~H&P!0$exGwt+bwdHH~iK54k(5NH|r>rE60X@1d^V z{h|tE%)JXm@!+?VO}VS#Ne>`dFE2BBBt| z+(@m3WPouaO# z=kck+{gH`~lpO(F2Di|%9Cnq^NoMsQHtM?5kuneNA>}^v0`|!c_Y?)LD z${na62)?cBH%uaqh`SUvYg=U&>>W`R+1EtuDitbCE#d_*fx9ndyet+WCH5w;kU#1g zUn6K0F!jRa!EryUc|Y5t+ezSDfqGj*SO7n8SDS~4Os=lvl4i}FTtkn+z|1LfBi0Te(*~%Q>+4sr|4JUl=w9gMX zrCY zN0T1~D5)khz@cH&YRN)-0mxqucFl<=l>LIyNe`&OSQM>937*_g`EoY(Em^UoS}igDn+8T_`o=@Msfzfp67@8vVMasA6T z8qb>xylB^M`5XrAow45l1%^MKJn>2otp1xH>MZ$n{?VVjKyJ2$y*A&4&KYhryu$p^ zaUqI{%~_`UQcB9}aIoKUc(99t4HJrL4IHR#>Qi)z+IUSXK>84G4To4rVvn3YJU$*C zv`R;}*pz18=*MIeDn8h+_D+7Z3%N&f< z*cv-~L30v0TW|KuqkQ1Dy8+RhY!$d+ybM#}*0%8`f+O0W=Fs{!P69NgZmo3+YN#8R z1I-9e{Khwq!Th8-qPTjIH24X3>j*GV%xGCxZKAN32D-&c|Gk$6ad{AoN{F4}zp?2< z&1>S^b-4w}2suf&JpTrFsNhf<;h36bZ!=y72wPTo7tdEMEyHkr!!oE01v+dP!DQRj z*Z!n=oBxEudam$MhA+2~7C}OQZ6xBD$j8BnGkuCp5?aiQW5cF3hda{U$o8%ik$s4wp#4e+# z(CGM_G&sbf&WlcTdN3Ed$-)2tO!M9%8YQ-YLssMfl?S6@K~U5nZeIBKOs80gHhMjRE#I2#~Os z@I0-YMs<(ND8J@A*Pz7#vH83;^U#}!=$r&a>{^2CU@klfZ*x82vsZ!5;X|=kSUh7~ z^yQzXkLrCGuu!0{w9$Z%p5RSFI&fGopQ%iXKrKz1@+^13I{^44^BQR+F8I!$=ar36 z6~>q7(6rEahQwqcoqic59^&d;?uM_xTUA9HA^CCvv=x)dp#8MNpdH^=gaHHq;W@5~ zZ*1knG0{b7%=+PnacwMTZ{s z;bEBu526-a!G47NZHsQF9^ms_`op&1Rz*VmN;)lAJIrp;UCSD%FyZ;h=b4q*+k%PS z2WQJAS05i47+;z?9_E;5BJy!4&d-p4p#A($F99!UpPdK@>k?TI`WWJoM6cLyR4`EiL#o+38uG*6wuk!%m}$z>{wP zFzt_Agvj+@fSk-1#OezPS}fsomu`Y^fR%mG53^FQ;voMzdHz|z@egRgzrW~4KO_H0 zzuP>CLYqf6KOyT^bS~W!`-mSlAH4*wq@2+4%Sjb7%8yzkC{C1C|!1NT*OjSW*W_cp!Rf#)O^Rs^2Y(FD;0#J& zXRM(-)j#n`>METmL z4`l&$B&)HUSl~jEE05S)-mNuA#);s^fQsL9rg4At?-9JXa*LwN zLDiVn0D#fo-TEaDoERg7P_fckOH`T*bV^4ofW5lI>Tx{LFFljo=T*7PVx{{Xb9sQ``&ofH?}UalAIgy6RlM#eD^!nhPY+L;ogTr*$LzHE z#YJYQvML^r;Q>l%7mipnzqdvw{uh&({nE*b<=)WmTK<++Ti?XlMyT3yM>=+zM43Eo zlPNsSo<&k+0vOSZvmmk{W2q1Z{A4YE0EYU%l-csNb|2FMR7C3NlQFb_9`IoZih)9SYAbVBx`}@iCIZQ|mV>egZNWsHOL;;_C z3GPI`#etG59$BCECKk0uyTzD@oS@avQq+If@Kh}FX%#Kaqgf`of`c-{e)wPS8pokP zSK1BHUvPU1!^76U8>UT|(Rf}{co?a`aRvT6AOHJSRe7TPgoIaImXVv*E==8gkz`MV zoQmT@HnNX86OgvJbs=)o@$6f?-~z%cQ55J^mB&dt5O^|=e|LAc(H~kvW1tAMjP?Mu z(?2u2xNy~RA%&XsMu^2B+#CI+q9qRqq5i@aGwQ!#b@0;iP2#3^?1l?%}xfsaSXiRC;<36RN~3S8ptS3nrs8-cm@&Y^@%hf zLoY^eeee|KXU+xORSUe`*4x7WNt*vfg-#d_XZuXr<_>IZK+HZS3XYHk;hWg@q)waf zb(D`Bf|u9J11&E&#d*SJC4o;bgX_YfkL`XuN(Q;{fFvzlp zX9%|S*Occ}LyUGVw}>JOo+|sil&)3R%`ZMH$}qEOMc?x(weO`2uu(BxsErM`i$ptG z(CZEHcvC1`x6U;>7~Mp5+@Mb<@h4JX@`CXxRLjsf@F4RssNFrpE*piLZGQw@{z}m{ z@gq`4@2>NxVF+9iM(pwPb8Q(h4&8<7V|HW4KqwuP64mf^aUTmAQP;m&KXOlxhWvky! zu-k*6y971wFsHl62D`$?BtF<9<8Bdx8~%d^IJRh7a*Rp!GB5b4^5n5l#r+WOgmKRs z2M&eSsW|-<#^Gj`PW@TYmy~(u#x6CbD&&-GOmEDRn{u*$%kqPXG0k$UX}}<|k>q;l z$ftXtoa!&t1S=&1NHE99^LHx@4QIR$D6Gc#$Ujw(PR5(-RzmBPFW9N+vSfopNi4n4 zWQtGQJOcaL6n#P*-rR|8#@p(&*l^T{uf;^jHSeT-GtvQ5wg#TC;6gz9IjTUtV6^lx z4AU(hV;@`5=-8N0u57yjxqOBzBn87N-SKF)N^fJ-VX=`g(9(bzqe6-*w10d^%{kY< znRtD-XR}31bjBX`h$Kb*gvnL}bn!utB1|4JB2yaZ;AfvvYlCUh;+?d?e)bpML7h1y zW}v5k9AEx#XUAR^(e`j=>ludghmJrM9@FdQ;zmYSch^vp&r^d?!KD~~+8{J1F_EcY zE=2boV_oX9WMpgxP$)EafJa4U|<5F|`Z&<&bdQk> zT%tld;H^T4=6>SP;0UU*lTBn#ZF$wWo0tIfn;dDP;}p1CRyxH_w~~3!$ss%ByL`DI z4s6Xxp6pVYu^;80jp6INn@mG_zt5eudyfPJULo9ax9tV8NeMaLl5J&du0G4U86Hu4 z5#9>peYU&9B;mp^N%1eO^G`R!F^JlcZS%Ufz=ZzAihxtcZPi(;g`4`i5KV!eB=7{= zKN$t;hYPtAU?Z>vlo2v5yX-v7&3zF3d{u^;yfVW*3ksjd)6vUr@mfjU7>2QFH7Q2l z1{)ova1!d}(52?;1xc2R>W`-B8c^y#_BU_e2=ot(sG0h}r`2!S3@2yFdE;TPs>(_@vgs3|;F^h&bEjE1uPTzmHdl$4wKi7;-TnUw>h`Z4>Wm5KtUr^87P4C^ zskVFSlq8g@du6)un5GRUt+{F2V>Fe&wH&;IelZBnYDOWt>K=GtSyCmrIA3x^sfRPnfT!RffU#Rjp*j0snD*N7!!gw?ZuPr<86H%e7d4 z({SBLwasrtk5>%eo+zF|h=M|b*KRlv+d}T$U_`O&($bDFqQI5z2jNHb0eHcr;3K+} z!@3{*o2E@kH1S4`hW($}zQpI`WMG+YnhFro_?~XaX)N=LWX5aFAo2qbyh@K8+08@8 z<$#O#DqoY1VYRw73?B6>Yy+0eZOjHx@xsDi=NGKa*4xc=Y89=p!Oh7!A&V}v>U)8f#x!?OY90=j)DBY(<&pe~nW=@R|afon& zH#?sFChR&G3w-j)13u7uE@TG9BRwxfV}qVnpE|C?L7X5pwB4rFM=lg&P3bHcE4%f& zM0_grc`Yt_6sZI|w$$(04$3?v)d%eASNoI{+?teqa|cE?D#D~L&q?PRrLT0nz(9+k zrO5D9>$GzA)L7rmKsfjQJ0m>ZZA=SZg>)DkU;3AhFlHa@i$kT~cFf;NtgW7jen44! z4=4L;$&{O4r$#27rTH$f(q}pwdISCu&nqLxPb(43A{-p}VY}!?`z$&gpXY6WmL-+^ z^TrXuAGd&rwr#PlJNDw)wrKBG9?GOtf;cU2*-(l5RJrjjoNBe%jG38L%lzUKh`ma3J*HUC=7k6ltU2geAVD+@4 z9fdcxEo8gasTbY0--~(tTTM5P~C7%E**lODJ$=n zX3r`uYbA$)hMCaG`$*33-DOvLs&9&!*ve!Xw1={m9NGJlhvNOUDN>uY`?q`gRmDiu zrG~3y@35BQRdoG=A-%>%8~*cL6FQ`4fZWr#$?Dj*vBe z+`3I8Dmvro{Dt`qTWd^To}W)_{T+V&9I!FfsV65Gks%HtUf^a2&IRG|?5UApC^~A_ zsS%1d`t`vL2YJswgoyqceIo7T`ttfZjNk=}w4T(cS>l5eEx6cR#{1BFF@AillmYCu z^eXQ=NTYmRW2N#rl2hi3umkD5k4{_58G>%zqq2MmX8i@d)i^KN7z@e*}=qV=t3R)#3$3pL`m@^7jT;KLg&|wQO^wmyqRFOJ~jr% z9EX?<(qONSNrRV(Gr-luLobc_(4zax`Q~hc-6F$nCa%x|<#DTv|4nJf-L>&*yYKU& ztQR%u*C7qk5mx1~UkPb2^Q;sIfWhyDU3F63M}>k0Uw+*p%1`~6h`%zQSA{AbqT^kW zIwVo^M)ggov^+{Nr!u#>y;Gc?<`hl&Vu)IGTbhRj!p}$+p^WsLY778*_rcyCCm`Df z4Ir!wxz!L5zoSzVg4`9U92{Uy|oeX zQCV5+_sDlK@%Fvf<4TpVdGWx_%>@}pZdW%C9nbovb{)T3WMvuPEa3V~wg3+j?ye%s zAWH*2+8YECC+psTQMTPdsmo$w{rxh>MLmP6A(_mK1BqMDK8A1OhB!SgdEr7rCKnfN zdOyF@9VQ3^(5YxnRvNaEvKzF#f}h^Hhm+w~lngquT_8y{Iu^vMo8G2d3JMC$o}L~+ zeIJaam2xQ4uTTdO^vjF^**Fd6?r{#IF^C@{kH26=1|na>^|rBoNV5znM9!~iEH!bf zsn0Soa`f^aNakxP($v3TyNhw9JpHaTmIgRZ8M9SUX>w=G$ z@j4m1u}_dSeGbBb4oYt2^QBWG(yW8Njhk5+3+tTKgc}i>>;q1IMWD=E>Erf?tHt$) z>s9RHH`!=p{I)0_%Wm3Do3SF&mI}qVi!)~SfCzjV@5|xj-=~bZ!A1}J+7^^1_g6>8 zPmd4s{JT-2$6QoWqG8xnSPt#C7IQ6brOgIE+{>+nH^r%_5cy?=5HH~1Rimrbaj_xm zr9D?!oFXD3J#hBxhT}4KPp*9>!8x%y;f(o+;=F_-FTT{OKXRGjdisKPoY_|~h`d$& z{;;;nVl1P|@8PaWsn;I>OXVKZqEQr=_{X8lo(=J*QZhr0Udox!ohW+5?6w1f*gyw6 zP+8q?zrP*Gp_|qbMQ6PHk^HG;l644uz+drW1zE(V5m5%c*ZK_y>Zlv76YM~`mX5<- z5tbc4jtfzJ#RD8Au~x|KaHN5qrFLMPwBJ|Y_OWP{p?%-F!3z!@`V2tN62oym=rS6O-<`+Nt4{CZ__> zBF@HO&K8fl-s=-ZQ{f>OHp_0?!W1W-bw&ZJ#sX_BB+;HXm|LPvU#1T#J1E6()?Uya zq?-|wl5#_Yac5@}9&JuHgD>j8?)d$UavvU1SQW$SLW0vrR%J=_k8cD(vK|}%ang1~ zr{P?EJQ`C08ojc%C2fy6lTg^;ckUM%R0itS#Y#NhZ2pG#&h8ywGTm6u`FxCuEdi^t zCO3t5oZtbaSv&TN$(sH+6kwFT3zLB5rQdaGUHRrdwZaqJ&1nqlYT~FQ>=&lsc#Bzw zHmf9XY)w!Vvl?(jBQmaurV`%D$DCHXy06CkJjHR*u2Dxgo}`;p_2X#h;YzK@(&vdb zV|f1#`PhQ(m=xELP~H%FktXgy0kO3#f+D&Xao-i+D@$zE#kPuke!HvYCOVWWrpCS9 zO?OcP=9=^&HZ3q+FW96CIp3XFRIXdlF4r|bBNuTWKK|9KK<#6dVeTD2fI*}AevAcJ58CP*EiN5sDYo0mJk4FZ;JM_b~A&KZh(otb%_ zv|V@CPKeuNj9bm+LotM4%@e-tOa7}5#(l#C@`lA#&xqAYOz?x|t+ot7Ls)RkGGqx( zz47=_c$XBTrS}PQ+@W|Kwk9YMccFD2xt|}sXu(vz7gLV+M~!+PdJ_j#dHts@eBltr z-Ie|i2UUi;6UcN#z55w_HuTz=^GWc7hrZ`g{j3Tt@%>M1QAbYEi^(2~A_VD-8=8h` zsTQd|zbQS$hOrXGic3AD@=C#vPhrdi**8FIMkzrXV_ex##XKjSv;{A@-ms+?%ZNDBq0TDERx>|RCJG1>m93djTINb6cutq3UW zR4cjR`=FnYD)JbkvFq@kk#c)J#GUyL0uLl?q(-FThC=~9TY4JRcY(ISgFcsym7$F* zJ}iez%{+(1q-YL`WF$N|a}<8C(}9?^UeQp|v|K0L46Chtkk8fO{3N|}3$+QJ^D8zB zURN40_KN?cdk7tCxC77>s6Of`NouNaH=}LDhfih&B%{fmFXMOC@}Km3gf|E<%e<4T zrNDH;Bxy6a%AfZHy#Tx_w}%9>*=_*X=BoNB`ClTC#9wdpMOhrbNFX@#Wot;@M&hBx zX&ICiX6R>>RCiBaup3Ga|{*dB6T9e9ERoj5Rc_Vnke|CC~#JOs8#E+^94!Q z3!%w`T@t4RkB=?#&Oyk>ELg*eeJ}pvBFA3(k1HZo#Qa$eRUBz~nU?mmeHM!Wl0-6i zqriAjlSA8OO8PW>mg+Y>5_hybi_di;QjXyU7BrPM`4PWYtqw$Ec8Lc1k#>9|+q>7V z+8FZSafFR*9!8o#Bz+Mhuu{cyilbG-hMDILmyQYkd71!4%;TwN^7pq1Testl9TcHv zehAzoUh0ukkPy1CXn9&sN%txmogcIk8-~AlW?jv1m=K?2;E_CBq zwnKRTnxEbJC8|jCKXLJy2N!2&Era<_<}YxwXsT%{yGW+V;HCp}Zcx7Vp)l1j(wemW zQ#wWi&b{I<87e>G6?l^;2r4Kpg%^Al=8YAgrc2X7^D}}g<5gEc+we;1a&Px_J5*kXTP3&@3Gpao*WF6L4+Cs z%#q#=Ygcv%Q<``x>yqI@7HKb$^6}SIDEG!r0UK!#5|~2w?y{`sII;j6-1b(SCfP?k z)hOQO*4rZBypv7Jq^zm~dWoVe&$}OkDhu+_0GXlpzN^01<}^xo*bB@Y`?M3hCWOrQ zmGD4|&Ub(%E`$wK6J!NPBCo@Z#_WnDFN}kCw;nPDs{#^0^RlS4-a0s^qQM}$=1MMm zNHDd>y>u^kB~BypYBGyz7{;gm*b?6wW=df~ zv~q!OK|%9-KDE8`@YkCE<(&;AAPCvnKi7Z#mYhOWN0zVkqk=F2U>GWaoiE!!du-gv zZy3Jord_Vg(Q)QXc=yvE&aRg4#;RGc!{`z+grP5{CZhxP+|!c60M0UB#PM&j@MHN{ z*P~r6qfs3CWn4Xl+(|sGp<$`{Tz3JW2A#3 zWs(P;X9ua~Z1-Qpf<_F=0YTIQTig*EqnF;V!+721O50Tk^tBmh=3#6yzh$ zOVv7VJL>Iqc|<+|)Q?Gh&Py0fP=RlmA*Ki~Zk)1!W6$Fj9XiBjI~=>Zo1RZ*7p&qA zAIw%xFl(l;8O?onfAc36K+3s~2DV8K7v2~qcK#&p*u_0n`zzSar$A*^n< zkBg=z+Yejz=gk?K0*u9%fuOvdU-u!~}eu?H!?Ri}Fjp*G|r8W+$; z_$NemJDTq$2aoqB6Ve$cD4xSLu{BFfb8R*r709SDAK7u|FEAtCAl`bkpJ%gHD_`(U zZAVjqRDL)XILOAk@T`{_J$!0mwHGFjM6rogI5q`BsboLB+Cl9m&x?~}eEoSdG^XpL z+D>mw;LB=`2h&*2%K73}hU{Yd{~{}Y>{X{NH4eKiJj1k-kU%)3Qg^f&Cy_Id{(a( z?EWYx{AHgbzS$z}#@37#EOF7n-;1Cgvgc~NJf?-Jy`R-MPcYt%d+f`7tj#$CI?@Rr z(Z;Mt2QzB(oquURrIte!vr`wibcEr|i2w*tO~aU-vrVybktsc?l^y%P>^&Vh_$8W) z4q#8k#j^|O2r{t$Hw6VJdfE(PQD!{l|6%RD!bO^nkoBf>qe(!!Ze*c{Fhu4MZ-PX*S znKkP-vu^0p7`@=bNI3_-9gAo7-J2%GH7`6P6v(1+4EH|z&T%f_N41&+u4JBUJ~Zij$Zrs9yU3zX=%xeMet>cWv`dNz~K) zW*|3W_3*y#OIsBGa20=>Dgu%Y&WoftZ3UC4*9AJlK9N(BDPe4ui)x7=PGv(|MzH9aRbh@sNVeSPB5YRYdQYZb{^ zXGLGIdw$5m(@hRhQfrv-(_MSNL)*|EEK=m26GO6cdW4loRyqYt!~r!S^}MjvDo}!g zXtdl#pSBJ?&+2oTDrv#)z-?;*1&rqGwxFWOMi*rp%;)T=?+!E5quUUzq|hloG@W5a z6tiSXkYG<&1YLgQI>!McTcnIpmJGqsxqESB?3)g&itCPJn+%zPpX28%C5ndR=eh(AeCtD~R zZa#Y#)d!QN=2sJuYIzgtqLsl~j%tTNzh{&}jKj8=M=Rt)sTGdHjgP=^1tgwee3bQN zZTP=@^nV6^o{%7DD<7H?V1yP~3w>k`nFfW01;Pr(U9g7vAFDqKpuNfK@p6r! zw-u9o@eC8KpuSeb>@6^LvRdG69?4Ku#Uvw_-;cIK&0qrJQK)>|EB)wgHZ5`Wc#g=+ zR5bKHeuxno7{bk2(b?{ZI>^1pik-_^G^PbTBzFML1~sB{<(!vdo(E zTbJ^?$lj?JU?-#xs`*k(w|>b}%sJN4xJWTLWo&K*JTt3c{Zh#$cU{OQ?;86FZ(&_5 zt#O^$E?x7NAmNtaQA|X1DH9`^(Q?Rw5nV(jj~r=aUZ$@^xL-fp41Kp*v~)s{&;9)gUe|lKojSpa;Vw4RO7G-}=%~mTNHPP*Nf)69M29KIC&&4yz^f{;-*fOEd z9eg>;2MAFRrZFcc=WbSpeu=Ka%UI7>p-<2Pu~cD751mm1s+?#pr$iBY*dX|wQjh;H z7!|}l%pjLhJT%N)QJ|!oM#l)n;tMyjAiSj&w?o+xY7{6m9aoI7hY5TW#>Tv$#B2rm zg6tw36c7-HFo#@bOhnA*q)=n9a~M0PXUa3%tTQ#{bZ+|seD z4i?nwHY;YwdNB2>iEEQVuPgE*p;(8QQ9MUV$}#1*!>fVUbG%NOO4hGpELk?SsjVZQ zDSnANxr9;&4)K`1a&fLgQ?67LpH))AThAip&Yh>mR@>5y@PKx`h+=Yq?1gP9N(jH$ ze10l`Dfv}+O*6xp1K-NVWM(S09kd3ty8V-H$7dz^);Ir6o60_MG>$!e{x|bC4|WNKEkURgwnehHVc4HhE!r1NMF^up6V*Fa*lJZwdZ>|>WX<7tHLiCo(~@Usq?ZBnW???wf*%NU<}O|Y zsgRP66A?wjMI7uCDq3;Jhr2<1OszZ|%B186={c4wFTu4f;LRQPWfdkE77PPT0v1*+ zaN`Zzw}FD%TPkC#1*_h_Kurky=30yPk8EMP=Afw7IzF_}^i5O;?0zZOU+K;L*}KJc zFp6I0X}UX6-imeP!F`I$U~AA%ghj=Q>=#)liF#%;$(W`4^WUx#oGLnuFh5NbVfy@; zpDpLGSWHn7(u<6DBtDhy>0Xg6x9ZwriHZo48et46+jzwyN<rrCq73;jID>B zD2uU2EweT38g;qj=w{IjYjIQH10{{O>l)`e1AjfmxATGV2!65pd(+>@lg}1&XK6VvE@gN0;$P zX_%+BF>l;U#}?VvQR?qpPWv?)5z>j_&z?6&BjyhG2Hg|J6`TMua@wSv{NgO^LG{#7 z%$Z)IbC17sdm|VgjMU#RfNi}q^6R_QK1Kb#Qg&ITz=~bu_-#h9sslrpC?NvXD5lg+ zkhghj&N{?#BTHlJa`QU+nvu6aOJRI>%U$MGF`=7UvM0DzTvrQKrG|&t_5Qw=lTsxH zSY)qY6y3`9tX(7N1->#-mn}l_)A)Zc!OkL_Ai{6E7DQp;5z(YLv1SDXvO)t?TQ*}{ zE;{mLfP1cs6gPZ zUi4r`6NS}Vya${umUG&Z{^qxq^++AxUrC}ZB~d`0I$e;P9r zn4@~ue)?+U+mI>!pOESwYjRGihN-EQ>7Z6&=)py%CO$^8 zLFIIXS@jFDJZvB5ROktBXQIAf+0nc!YC9-TBnv0+1AUETOr}=Gnn&1fmO-~x=j9RA zE*odyW*c8QzP;d-3iKMcB9mjx|FpR4>q zx2eQ5&K@s-&ifb$lmg7hg;h3TLmqd~8+S~cr z+1X(_?F|hd2JQLE%3aZs45B$9EGMSJUrgl}qoaygQ}f-6$uX=J!NI|pI-f(#jW^}Z zCYH}&_E9Mrtpe#SvOXtb0h5_B>7`tMSkT2ZID>z&qOlIG5YlJO_DGs^FfSK#-g8)7T2cX$$C+En{&|nSy(Z&956p(#jLIwT-*Hcx%H3*( zV0RvT$26i)sI+20P>}7N9nLH?K7dk%VB$~0KU1SD&<%<>129^t%p1_4M#$REWrG%e)03Elpvm^Dspg=&| zRW+)e|Ifox=WwxC15rrM#uQxr`ExBNx*OuT+kz{t3rdhJcV0()NnT0moE6I$7mD| z-~GQxmyzIzTQJBuPF_?>Ds5+VEOmHfMBCWjcyV#HO{h|-C->tAXcY{u9dmFUqlT)~ z`jZkQ{U9VBo%@05?{`(NySru{=-m8kEBZqWGd+Di9L|eQop#FklQ?d-lf;kujD)pd$e5f>`Lza2$khVq6hW*>Mvpagx0G6nKWF>0bM#Yn5asz|YD5m**J*O3eS62YrMN2Vvr} z90UINNpND;Six4R-)RZO--&T?&uB1QdV5NLe5q8z;+Q%)bx&7P+})4OEiIg}Pwhu5 zc%(O5DSCsiF=+Yu`DNUZ`iT;``B@Rs-6`CvsbWG(SfS|fdGe8lnX|t@jrOx~@Og5c z#87kRr*}`n5SksbpY1;9duNo+l-z}Sb~ezsu+o|KSOEIE@*e6U7ZXt+5HQGLE| zQ>7$!gHAe=kA758$5+;7O9Qq&HzOk>5ZzoNB0vfp@*vVhQm238a0G+9kfC96@%jZ0V_ejAiHOKuNk>FELiRPgvbTj9nyO zeS^CtimAQPmuZE``sCGqer@fs2#nM^Xv;e88x2*G3Ze2t=gNlI4>Rki?>Kh@ImzlO zE#uaO)ffz)6k%D;_Eu&}2ZvGAqw@stkc2gRgO_lh4IOeN1f1UD{-pGoW*4s^f4fys zDYVK_eb4YB^7REeRe>~)&E#s&5OStAx?djn`MHIK0?OV$B$o52It9!7^U7I{_>M{wr{-F3+e9hAA9j3{Nv9Z>+-r$j>&XHM|pX9 zu2OC4%8~@&V#(Mk>G#@upNfl$!zmcWVxpMEsbu-}VzgZW^1r{`+h4lK=3L=GNLX`P znp-fxem#)z-gA&}oQ6HAGPhn_SQfLBQbh2gHBzq^#55Q{UItq7SW8l3;FK6VmKTj3 zHg~8wXF8=@~k4(Ndw_V2oxpMKTU16#u%0#QHA5WpXvSxEHq|PE( zJR$bQId?(4RRnyi!;d}Pitpw9<)w}@xm)YsquI4xJJRq0k{le7-{^*xkoI}R)}9Il ziLq-rRdq!z@jN5#k``@sk#onsML=lXtzLub8QT34c#Z-g!(N_w_-w3~dOGFmPIxRP zjkQ$M>52vuEi_pN)$=Id;7w;vbMuN>na_~X*yFZCUmjwSwtkzosPXafFv6ouGnx7Q z=8cTT5a1y>V(R5Q|8`u!s^g{PZ3{RtS`P$N=9?6A^$#mPp zuk+OxPIUh4^KELS&Uy!yXu=iK;u+heK;wuR)Y4?bmj?wWj^E_wW%UQ$o_=r2q#m)U zo;5t4!BBFy^9m~QX+o76qbHZiG5#Ib~lAzjSNDF5jWgd|JByqb)9z^YtF~2Uo+984q#|N{rK<*Lf%_CX%$XHj+6$eDL^5 z`E$J|l};AJWwtuL2hVkMbe`0DZU-Jk)|Hl*{XW#n(d?o_-^o<*`)HASQ0ZuVgSEqh zYPGJ`tG7!-=BJNAiKSXWaZzotAH9_+Vrmf!tY+&@q`QyeuqWfskh`m6xWOVb>)#(9 zRjycW#~=Hg6Y-gNf+p8CNO3W8CBTWnWnyn#*sjl{JXAE3nVB%C+wt&J>-_1}%l)aX zLSqQhoRJ82*BEl27kpItM(^Hca-i)aM6VPy#YImk@x%ePch!sCtG_coEQnb5-g*w8 z9{x^z{6%I0iS_#}Ijj%n6_W$#V2FVzdwL3uq+18=t4{`3iI{NV6VU^+0 z%xd`gPL;1?p0&nF?>B{h*6^>W?-(^dDeq;@ zVo*9+tzOF&9e0Nq`W({=R+blcYukktD zDYY9ZFSY8<=$H>?c#$+%So%m}vHF}j*Bg65MvjfC*esU>*E|%+3bp~U{lJ1ffryA& zu<6kw!Z*h%m6jvQ$+&f+6)PO?Qd_u8ab4BtPm%*CiREp+eLp2IoL^>%ff`+iZo1iR ziQw1FDt1gOm3&q7JZgl_w05wvmOIm8j+R!PsQ8V5V-2`9Rv z87dGrGP|Rs8-gzJ{;c$H{@dU}Qz6q1%V6fX@8QZ;Hp?-$-FS`onCplg?gyQ*YUpA+ zt$?cW{-RFrH+QSk{_?o5+zZs2?U}v@*24_NuGTOeAPe(me^jtS`Lunvq*gnF?%2$9 zm9DY&_;>~PM#oqQpxKOjYj?*}PgZS>RhZB#p&mwB(bv^;m=O^;4X1V{Mp&n5Q4S$yJ$Mtugx98XF!wREhz-OibYxhw=HtA#Ncrcep8tQeiv z_u!By7TJs#vrL~Iy(lzHHBNtfvt3X_C4o=r`1n{)HIYXbt>IDl`kj_#RSg7P+!{&V zGl8)>5ET)NpQAfoTU{-{b6d!CSA4K@jP<6dQeY5wv}ttLY`7!-RMB6Q5u&nvdW5QxZ>-N`Bj$7#R}eCFiR`F z_b!V|=3Snl0Ed6G$983)b4OS)QBh^fXJc%RevS%44LIHP-`4C+>^mN1`T+Pm9%vT39EU+xOQtO=Hv;nbpbrWpV+QBur=3ySw0F^Bi%)P@Y>wc zXO%jDgz*!0SV3>cY)Z0cs;|Y}w8Ukpe`^ZPk~?BwEj@6zUo57UtXrc@eJmxf1%=^ufv3tX|g`H~_e4)!^rVdjT_7inmNBC~6>ree^ z06ykRZP!!T!cT5AZmo{2p`+b=(}G(RF`wN=X+fV8b9Tx@$0KI$D@ScmdWC>JU98aN zdwT&Cy(fF448WmZk95!qygF!(_5{VPrB??VVctxP>BG0LV}f>bJgo$Z|uTvHSCS`HoPhN<1su6XW=+Aw@{RAZ50u8=f&$KDr-)8;r2=Pcy4yUym@&>E`8@dOwjIf&4zOHSMF^*g zIn;zQo^9oNZsgFFq$!+qWXj66Yq8(bBH`)OSVT$jCKR?}$iC|>zLoJ6n0PqeKYQ1r zTUX%TeC9U1D50P7ec6J>LmQMy4*8-rXZXis(^D;Y*iD6U$h(9P6Ryo9;u$!L7hm`- zaAQ4yo0yvh_wkasBzUUZmY6>Oeea_WTFnV)3{Pq-1}2$$!lGS@+*?O&VaNm(mHj{C znpzzWx_0YQS(HO!x^To$)+mL{T{|zy+MRD?xJZPg!_nkapX<=KQj--HPhwTo0p>DH{SA3IBT;(;>i&rs_{dXbE%5LM1 zaL>DeBASgb9K>SCjlC@f95C7`I_7RxM=QmE6Fvcu^I3dgst9_SHS6X^_*;QvS!#v( z(O+Tj_}W;)@nn?|7c4u79hi;w-VoKtwzGx<)@Nw6IT4u9O_zx1$#@jSj4L@QS5#l4 zQtj)+$(#z5VBV0y`s4I9b3JuGnFt0E!J0iN^9<1N;d2eewln~8CwH1G4=|WzsWE3CNTLKw%GU`C4Gv?13T_?vNIK z=vwteIwgiFSwYHMKsQ<;c`8~)oke!n+jBqJ3In&VPn7@*c@FWX_67qjupbu~#?c1W zwEOqm1*x&v7*1ukbFeoYS@7T&yn{pzA(qJl0KI&w(a{sd=;Eya6Ivr7X=j8E`vQ(g zgFh) z)Z5!!BJM(APA!Ss@4d))K2ao{H?xN~K1q9AXq1jPZM++_L;?U_CV`@uWEsl*j_B8ERClc2_gvvx~KLUGn#99N@aIE#FD})&p2(55%oZ8w)98R?{R6 zQYYo2Yz~0^-Ow9fMjb*V&YsCj;^yf{-&oG9NB1$ z;wwcJwLUf%b}7)S<>WUml4^esRE^9X@8hJ&>{wBcKk1@^HZVCVNPUF)@ByFiH`$x7 zDqt@#w3^MO_lIAlvsFevxq+) zqgs-Winqv2YgpYsk^0y2F>f}z9z;GgV~B8f1V3N_<-qhI6Kz7tF^ZPj10jt!#1YaF z0S5IzVpio0zJe$;Vh}_A%M?m7&fv%u*`(kZQ-?#yhppdvnM#LB-zitNM;#0gFrue2 zh9Ihq;yv|vkL8C|lZPT~577Mh&^hlw=deDj0?1>(&A3eT$AYR`V@z6!M4;Hki}Y&d z>wsg;r2GYA(oVpyOM)JC7)X20B0P^M{8~k`lS)qaqEC|!<@J~kTGXg_<~XS;Q<8gu zojivGJ7R0*$9q7f3D%bAX|l1dLv|=W_{1>^S%5Txpm>mG27bOw1K@HbGU7UOqM@sv zOx{^ogk^v&!%0Ce1RU)S&d{L8#+4Gr`W5q1bU4NL)S8`@Fw)rW>4W>%#q1oqFwBJ+ z;~6IRP?*3am^f!=^E|Nh{Z~RXmx6$ikU5g|-Z)9Y99@4T8F`S^gDFlu2Wmo^#OGHd z=Tdzs)_|Rd$Ga~p7+<-NjDB}fAL8m;d{+;;n=3Q&o&3!^NGx=NSw!;s1^iH}X z2y;QPnTmg}iCV)Pq*gllI<%Z$h~~zuzJj;oOVIBIMJOaNbbe0w>6`6YlW|HM_k4)z z0Y39I4RT{BT7)L__F{I&eCj={Ym8B!yo_$sW)UT3wnAZXoT_Iq)QtIcc^U0W*!znT zc6P(1cd|G{&5MG**;ejj}WcEadt&(Rw@&6H!1=i>vv8 z-1=Iq5d|A*DGoOa=qaHT28Q*tMQ5|p7$P(M{C^$>>cDIJz zQhzQ`l=r4oqPf)EBNX38@-Cq(#QMpRCfY8UArp>(7$xI7?B)-EKrYF?$zjG)Av#jW_CyHSF+eRl-bT^9iBz{JJ*^cj>&d zK3Afe-D8$U-KR%A*2Z=*ctNR5g)Q0RUfDTg*BJ6ZWWtVhKoCCh#PL#uOUOGX0O>3=stu9UH&9nOn;AfOD1p6xMx?E9ShUcwX z7K-~)GVW4f;ek0s%Nev$Ars@L75yOB2z(=%5oT1vS`HeVeZ>*&w2za5($oJ)zse3e zhANh_Ch50~Dhz&As&p40 zS+`@s=w$oWekbAg@u{CC81W4~gFsRnUm94B7vSQzlD2NZq#+K; zEfc5XyH4zPvBZZ$6nZD!^~agszQRP}M1#>1dX#m1od*iWH`n;6@>K43#pslOd zF&*4a1>npW;a1i_5hx8$v%kVGR&A6rI$<*J5O!JiU?F?|t#)~BoR%U+O8>z!z9G* zKufJ2H`wr#1lexTn0l&dTUNr`Jzb^#H`uooZ9^vkmQm8$0xfu7w?u^0+MI#np?t8g zZxc(0iMshMRIg9tiX_|b$9#qf5+l=B?spVzpr%B8pWcpSkxghOXHv~}q&DF@khw`! ze77x9z#v}2tiFqQpC!7kxU|Wa`qmx4?PwL%x5S3?RGHm62;r;q{1lgu_PhNux<~Y( z%7W2ID#!LT4xpN%w?l7UhR0Tn>tuE9L?AQIdw!k@D~jcJN|c({HyVjm5J0tds9`K` zC!*>)6D*-Am1<9}nv057Q`V=Mp_k=g)C8S=Vq%3AoDOwoi}d4-Xg^gJpCir1#pSkv zYcS~ucQJ5>nA_fEC~6)iiWER*2pKUmx4FE2$ZViO**DrT?Fo1y23<)q`QbVK?SZm@Y#N+TeIf|{XxeF39T0Z0ku zuSA8WX|wuMpM;0Rri8aCHfN?nWsh+hB^A&YY`*kl6cpa;{zMQP53zxbGo%~DR>MOG znoeAJWgxxK^qh$)L|aX#{Gm~xlei_uZ>va)&ixnR}3_$eH*QGT7HxM{vM z({~H`70Ad?PF56O5Azy_0{!?IQ<8LKPd1|Q;*F6ge}8{IZ_w`!msx!6?kGb&c#w+X z-c@l1YauZ>ZIJnV3f?Bv_Qgp&G8uU#S#?%qyC@@7pjAIm20-a~2a zFq2+*feOsG1gK5u-UXAU1tG8Ey4(kvP7I<=11jnc7PrNn4st1{B0dkf6i0NPo1CE_ z7$qEHTo2*`|5%C5LGp!cE#CdO2=#u8> zINM^Lsb;-Ll}hnl^ADiRm1>WAA3_uhid1!8U!~LFgNCxz z#`GV}X8MG}6b-axDOB{`epfMes%GfJgb!JZx#3M z3Rx@kzC~u7asCr~?~DSSx(L$sllCs5+QV1UzN0fur>-z)wgXXu_pHIR!BmPv%ZeLJ zIskWE@d8+#I*Xv%4B{#Xwrr%XZ#ckgd*LrWI5JZc_k>8-NR;AORH z=nK#`}ZN8M7hUl32T_>v8_QV$k*L9xXA;7W1I*^FFcDb^xhuu#|@=j)Vbn#>N0 z^^^}%vnGh`w9J1IWr^abpQeX!Q_ZPGSr2DV5IYj~&&N!E$+`-fgGGZkjlyMWu7gtg zw!2S{x_fqidl;m#5=%AFo8{G&v1R^b>-P}^YwcLG;Oj$TUvfg{7>xqxX*qt5tg+j z9hpdnB?gK%;N&phUHK3S3#HCDgP*5et}sC?_Z($)2NJeZy;hS-&LW=HI~*fH)YEzG zRsoFxMGAkKd>Ta5z)xN#5nn^$f2_9!n1JK7f$*7{Cm?+44rp^LRYnNA|E3`?(<+md*fMiA$iDDNy~rhVmH0$*n6FZRvYE!I$jKq~0#9p+GO z)kV(VM4-V?-Zr*x&nQS##o7CH(FIAO_P$c1%gt$|liw+)LJfU0x_u-3H+qc0te_z; zc>`&te1Zj09>N$5V&-dk-J8n{E38ST_tC;&W*G#~Xs%~+IiLn?lXmi8_rPVTw`L!Y z={G6jIB0N3G#1&+eMob?d}S*nbYr5W;=MhqIsG(a&$T?NcWPb;pXLjhXQkZ9JS}h2 z91N&FWTqN|-?vyCP;s|J?^3Zv-jJbV>%3$6LX+rQ!tRlDKdLxq*2~g|M?3UE6yEo_ z^KyKjT)f%4)y+z8>~vS9Qp(kX(TWFLq6rBt`;Jz#0hZ(?zbMK#p1v#0sgJ~$ZoP4` zU>KkYM3#h*Yh^e-NN{aS8mh1QQ5oHLFI%bZPqE$)gm8F|HoDTg^T=VP$^qDwa1WcL8D&=B{`TVuzBEx*AzZ zGXhDuVI6sUk%B;>Nyv>oR0<|jLRr>YhfW&wGx1CK@(B_f+xn~VJsEK7jiqcqTLNer z#tkWdc1bgWQXT=R3tfaA2-G|`m0(7tvcM-~kDh@q6R#Ar@JKDlV!YS)OlDEz8QGsv z+RG}w^ssFcVzc3F3gQ9{x0ZnG6Mlk7;*mFyd?IKRbz|6QmLS61{4n+g5o+)gL^<_1 z>?YjPYJ#x9h zX3pIu3YXhI1bSlPC|QIx5s5rOG567%+CH;_JP^tU#7}4M2xd8hln@V2a`;g*&NT7;rTitW3{PG{W#dS3$1$eVpr}>b9 zp$AuzReXNy@Vt6{>kybi_r`~OIq4M+mvv5ud;{d#?G%}g^b;`Z9)dpek}GpLTFi>S zT@;qzRQ;qg?AO%EFD%#b&0aO|Q)~M@l27}=C%DCW&h}6<(1)yqv%1b9 zI9F-3{m67x(^!VW7Aa`|v1?*<;U~Uk%ioQ5-Z9zUqoAd3&VYXe*;sOPpJgyQ=-`8k z>ZcCB{?ljoLOz;x%)Dlh=D$;Lu-`fEk8;!*dFoP0{$?W)8EcpG{G>zNXhxplJn{md zY3A0}YJg0!MF)({M?m`%m~ z_w!!}9?RP9--_n;ZamO3^XlK>zYQUd$G_ag1Dw*e;=cBs{I1$&ANBo{%jtP>+x1m- z8)@0b3b(NvJzsSf2QtG1T^iFwAD^x>e!#4k{A+X6M3IVn{FPgfb8A#3D>|IgCSKt; zy#c2pkN(&_9hm|8hgr$kwm~NB5J~)g<6+QsjFnAtc}jX*j^J{5lfXpYtvwA zqcIIZ>e^OJ=DtR%KH=j6@c1?_uL{n*Q^Q?KTLlO z02e+^{a45~tGXO!h;sSg4~x%Z%6(r`nO@W1p9x`)&y`A zt7*paZYp4-4Y)==gghr39-RvS8GXIIaaGk-Tzc*0oo(&#jGIZ)l`pax`y-q#FDfdkw@R&HVPWu@!1rbVuj%U_P6)8p;FTJB{mkvT zH(z9AWDYf#`mAyFj3dylBJqj7ejf9(&c_f5#bCIWj+@SS;)d$)?%R)z_<^&3Itr}H zW&0e8&89s8KxdT1q2~rmxHtSe7iMzOM8av$!639s8^F#M7Z=;;N|A-XrOy>#2Um=R zZJa5ve5q<7iq6Z1N9C69lrv5a3=AY%AZG+faS8pxiZbLB6nV8?ySV@=+Xt*h`Nb2C z4d}>koTmwMA8H6@&+d$(^%zCSX1S2#>(k=~;b#_~kN_7)GCz;BA zyO(%Ua)Ya8PZcdx`12?akfC(%e8usb20Hb(1_=CE?Mw@@bgQ)$aU6`H8z*4+Ur6fz z`LQ=bu6J_yNgLV4eF;fPZMP!~BYmgUk#dOw+vk`U_XG{N{KeJY8r-fd(MbU3x0e@> zpSPM~zfDIhLW8-p-u#?uE^$8Y&Y41Rr7{#GHjHvSP#M#_;LzAfHx|4N1d;#k*w1)& zlLD&u;fpDvJdNJl+t*CaxTIj7DIF5TTgu6cPXw~I88MxHc3Q3*=dz6*$`?(QQliKj z4Gg(MG&B*io8LxDKKLAG2VCdYH_0s?R=y^iR!Wg3xCvR`Q9AF~+#b32TPFLlxrFIhx{24;7;3l;E z9AhN>#YQRtm_5wkn{3DOL0byRTKB;J%CY>d9&g3{^?1=l#WBn(pFcB+Ll34xXfU05 zFKz$K^cpZ;B(+8&jMI`WdC!yd*%&sY{WToj`*Cs?{`h}>u$>Lr|3CLRc@-q`vSr`O zTPiXtDi^4k=)+)Q0k#Ey_(Qy-{LkMH0Hh6xQIXLWI%lXr<#R0Km9$y*3ds zx$FriX{yJwzpEAg6*2$kLSVQ%SSi8D>*B&kEPM@EM62Rsx|Hfiw>ifo48YSo7B zhzo!HTMPfb=zr9-Bwns{wx*cqF^J zI;j4rT+5ILQal9JtqaJX2$VIzBg*i+j+w80c@KK9Jj(aS@{kUJiwX$gTjr(WXx^4x z{CteSBOWvv$sbEB{3`)N;S+2{b_Z6(T^P z6ktTsZxqBg7_j|{eKOrxVC5UT^sudi#wberJo$Sw1G6z`3!5yv%ImMEz$*J(WK`r; z)yZVfuv^;pP}BCOS5qbc{7k0EDto8O_1aV=l|{a>RU7Gle^Lj*UpHb*nkU!1XvOuQ z=|O_RURJQ}rKOKx-16NgXPmm6f%21^0-QA5R>O~Z=HdUP%Oz(O4x9B{oB$X7alR@5 z)qo~^ef`$AcE^(<#&(-C>A~JtH_}NfpxWo+; zC`}p=U*`#QDDag50A&f!t!EOh%evFhWDA$Myd5ki*n)%Azf$Eb2h3StUmx)1%41_= z`Cq?^mVNy?P$-H_jDY+T7o5LE0C2;e1zkQZ{J`Ps2My3b5xO7m-o10)Tb~kMCfoIDlXJ0&ULA6>Swx79etA1s|}ILWwFMgP-v_$RBHJSN5cwtd_e zwACC*jPnD+#92L?2@VGk38R$zZ6*nK?lQO1kcicG*+Q7K;d4sbY_ zl3Zs~J6X6)MvETL7>8x(Z2kw97c;)7pbSCF9&c#}ZSB8umi@<@nLGx{^MSDR2h5d{ zs)Ca61JrZsTadUR9PZVErNaCU;nb2P0}Xi3*H#@vBN`=uX@G;jM5c4&fQB8wPOL!C z)|Mn}2l0=2RS^nUUQ%4R*w}OBi@m9Gj}UPaWqEmAhR@g{U(Qcd#T5L+si<-8=JkL5 zd7yP5HRL(~M7o_M@u?320s^c7UUlC;7}(nAYAgGDTK{Ev0imBw?(P%4Rbr0Y3KxOJ zeTjM0y_B3CZtyKP{|mU`yLqjK<#8Z%oqf*L!|VR(yVz)(q2Zlk`+{(A8RGeCoy6wy zMHhHF&>J+b{P!>Q{1AyY_x7qqFPw@?dghr(;*o26lN)^KpKP_yda^2`er)_R2tTVv z1Y$^dUfuVE1{`6R4noKFRxxd3I|eAQxqQcEfWw*Fu)O4&<|CTcIpL9;iN&8k6_U;A zYAyFz=yRQt^R6AYr8!fCjAl!#}oj`8-bFUj!L0@=aHJ z=kX2jCSV3WeClGb@dGf>TY(Ix@f>T$!o$D+3T2ac3B|rvURi%2ujR^(#0IJ5B|*}mbP+Lxr@^?0hez906ga$7fNemp$0Z&BEu!*EN`z&_K!e-IwzD`g z(I4*cn@F?g#dA$z)RixW#hn)(oLRR5pe^v%6ZPZPMYEQuxr5hV1hg2VRq2~H5TzqG z!PU1)R7SQ!bji&E%J3NvNB0ep6GKnGtRsy*T^4mBk8aN92l}>p;trp5u$rO zU}f+h7R$c`C@~Wa&AxR9g8nFS#OFVxapBzoz#1M}6){kiS3SUTWqQXNt0W4jkpX8| z7S?PkKPj_$RJAi~Taxr5zTUu(QipgP=={%E6dB)T_mDTb8)oogqE5Q@aJ710hlvB4 z5|aB_uY}XC&KkLhTlra>;wq@`uJ@$Y(gmn-Y%i`T%ef1;*W%yCLm%R&WvKu)!%>W& z+Ve=}rH;amqZ!3xjohb#`o@00dE6|f1CT#0N=yQ0igX==TnUx@r~XW;0>94l%+}WB zL2EQl(UEj`UJUK;=0HO%F3YyV`x4$;!1}DbWK>vu_e?#3CYqQ>I)-l&1dTH?+^54z zJ+~K~d(}iOrqUpJkk?7?tq<;_@k@oZ8NupTbN2DrJV76viXN*DheM^J-B{J#_Gh#9 z_K5iccUiz2MOgR|&lNczZx2}AiPSwg>uGfP&Pr@TVEF>CpbVro?2}>)-shPEcUF#m zNrfd7H09LcL557Pae|Ohc@O;H^l;)-hF|v!>#h&5)!>m<;!7niMDuXuJ(PUHWx!C6Hcl|L95Hu4eJkjh zWmcYEC`M7LJ5yA4duuB&f>{Zky?kc>mms7Jcj^E-{b*YD7Q*hv5wK_6v3We7YOj9Q zVeJsBd@O%aI7v?Y^kztdC+&;Y^^XA+?0s}W&P+ip|Ik|kl36*?i{rY)8Ma5i_w+zN zjO*J~bi_IXS1u$4XgcUE+3S)w=(7nBMNP)J> z@Znq;EP^lrj#R}`>zRWi1ne=>97z&(2s9YGh4tY)pa*rjW<>&BDf{~-1~PZx&iFVD zndHOozQpEeA#0h6U<;C?p^U9P7Uu2=J&itLoZRrtu-jAj=~of&IiIAs-e3VA0c@Ol zs;GSz^blxIi2&~Pc)VF=%y3LR>!xOxOf)E z?ZqD0uJkZE9B)DOYE>!VY+z_1(dsK#t~e1Q!#-G!rTn(Vd~2u8#b$U301d6spx?6r zb>2O5dd_Uo`FJkbeI?ql)@PfV)IU1D1*MZoWihZtUY9RFJs7C(vX(~>ypkKI!MJm` zv8H+~fHlVq4$t5z=eb4R-t1_Zl*&^owJB=aa3Rl&OZF zO4U&7slBE;aBg98Lw_7FPRHwZZ}QBp&tD*5CU1+(t3BMA$NMi`A;aDfO%z*86wpi2 z9((w8V<_Zimp{og4Mc1gOXup-f@SI5Pz;yIQk~U~T-1im6~m z`Un$We5WX0{;Edc`q=fSi4U1h_cKqE9|sZE34=3<`mdrP@Mv@YL#*tn_}GoZ@f)v_ zA2PNY65jhp|4z;4DE=~!B54fJjPkTih#prBz}$RI&5*>qr}06y^mC}D`n?~5PHmL4 z_jvB^DUtPb!-TY>T3_@VBRlWvaRPKFP{|azLTrt`2faz+GZQH~FC=@7XPkPQ@=>kz zOs*7d8$kE_{j_5%$d4{J05VG?4jD1U!6Bh_rzeN|!4ziTv1>TTq$Tu^sYKGFz=$Q% z|A(!&jEk~s-~AO(P)b0$Lr_vcI)?6$ZctKMxemQUWFte^}t#zK~aeNOq1pWl)egC50zYgp*F`U0wF19KCDvB4w?nr?2tokI8 zMb8oX@^^-P(-DMhdRQ_so&boj8A3wWk&N2;E1lEPUv@k3*+1_|+WoQv1_bDU5(zYT z5YrNBLw9XPog-T*`Z5x6@fg}ohS|}~`8y5ZHa!YRzo+#H^E}=^9>9$VQ2Cu5<|$=7 zS>6}w9+f^N;}CcjJhuz*(ne__IkJu)KHQ%?-uTg;Od$Ru*DkLG>~}v<=a4i2ifbp+ zw+ESi53nWWnR~=8Xv`Q6$T}QH{Ugy=VFROr1izbz(S6ip#%|TRpQ1eV^${72I$8uQ z4n4?{4LDo?yp6yB@^BeOF7{8cONBQeNB5o-4cJf3L57PEJNa@u z53Zw?76IuGaW^SJSyyr8FaV1vH*0v2TjSkxez{5c_;<$loDDlhlH>_ZA$$ zIjV!0o=}sOFyoz0McpW5RO}p(WUCe3dGo9B8>t$u-^7*P#(NTpYkyVG$Jp;cGPLdD zm`M_WA8a4q1YWkcixBK?MFTlDZMWNOj#FGTsWsGsfjGaK%|9tFG+8Jwkc_YNyTN5r zU%?f0dWQtgF<&V8TA%OJ?3C+zX+V$nGchN-*@sn-1e4#h)$(j{{4;cON*A9dWkdTi z`pk|7_OXkP-;xaSuiEU-KiBPLXXAQRB&V2mzy;9HAn{?mOIh$tLbuJ=hoEvRK@!@E zs}c{~Om)=bST{irn;^$6&X_5|_t7EG>=q$hTQlvcN|qij>dhyK{F?VBi5GbeLjGw=*p#Tv`2fY_?qXQ2AUT7CFc^*tt~nq&Q&gf z9ChMI0{4!A1D#u1MU97pi~zWgVWPYm(P!iJ<0S;-wC=lFXx=*rW{;(JL!i9FWK8K5 z_J6mV2*3ZWJbb8k#!Cv28~)gc($^1T{;h!qQuIynRN;mBnS(JSe?3y2=kG;P&N_q8 ztG6VHXoD@m>Le0ev;luFhCuuJ0vRW!-(CXC5`~BFCji{C+hRXY3qt2ze6_NbW?n|q z^Vcu6-WB5HBVmy^MPgfOyAJ>#ZI!A;Uvuw2caI4Um?GUu&%-9Co_aM`;>DM94VV?o zg>ZgeIz6`f?0=l{0|4|}AuQ)qeE`~-ZMG|bL|H=pruA(#pwwOB#+g7yMt-^9;6O5x zqT<-y%G)tA5&}SZvz;E@ zpW$S1EC24N$1YnTf;rPIXK{tUbsz{DzNRt%PZcqZ|V2)=)Cv+VA!-}n*vwU3;a-Ko$Ur6YnxLN?_mdO$& z52zelTl;8bnNa|Cv=OJM&S;eFa9}nRbdT{>ppS9y&dC*u1k6>Z1%VT zb;Wa}VTVxr9YY}3jt0u9=kN-WYXzylgmH(>jfV$hAdoAw*Z4X&*ecKD56p08q8sd*+A5meH(c-P4=LwjC&sk%;S?AI_HQf1v+r|- zMoYCSnXMyCC@!iI&IY3LlJyexDmG2^^bf|SMs-66ci!+1IDQ%nlxmrLO&JHMa0iA%^pd{FtV9wMK^#?bTG z#$wYw1IviswWuwr#k$xhE&hoUl7pO*In8&R35l1=Ix@36pHpac6#CZR#`Jv{Zcr9z zzFn$+?VvZBrV2S65;%Z5RaAaoxYnnKt6j5QC2UMX7(+tBpN}^K5ehI zhQ$~9ovJ^mda>;)cUiT`eUifa^pIrjaMf()qf?ZHKN0lfzei){mVuY4{t0I{?V-_F z0D%A*X9AQC>@qqFfqU=17c_Gc7srM@B()7k;lRnihn~pL_`(gZixUNs+Q_Q?3frbs zpkugKk^VvGd$k)U72?@4-b}Lz=?0s$9 zrRHJ*dOncOVc{`ya~qOdVgaHT(}5na>td>g+nNb%JEhf%y~(9HpKTEiYBcw&|>S-?Ene_Vai@w)nbObrZ;$!)nn?1N0?>#tTmXVq z2x9t&W^P~H$G(xD0CFfM8(j_@1Mw$b59lOK;3aZu4H$i|&ZKjMK-49VEsvx<9)u=4 zAGS3TW)Ib7E*koEd({RL06kW&O%xn+UrrYVP-T%Lsi}q7nsuLj_^S-qdmOyN64a`yq3O$Wb4z9 zrTLeIjb#sfsax*qcN249eaQEwC?U9j3U}20IPHG-N{gl2us>M%ftQ@$RnWj=T4TQo zpGkFfJ6vtI^V#@V^n}A7`iC%GJtDU9FcJp%$8sT_1Im#XUq>m0y?L|j(FvFfK>F`j z+XwofOLUGGn)EY?P8SMhc~y~~Me^AdWp)?9WaO(Q+Sg3R95zfZy?@^+0Pi_K1!moi zr@fSXX-OjXn&5NTw_!F@=NxpA_*TUEkWMO%xh&5;)+iu>BrdDpX$VDl1BCIvZGyKj}k3y|9 zQ!rDzPZi2&<}S^DfO9S*QZz=Bd9fBNv)^adPwtzbO$%tw~!Som}YxnC0Yqz6?giK%fK4Mg~ z0cfR8{%y$}uXRadKwBVt8SW5RdLG!0E_G$^$N!NiZ#k+XwmX}Lk+R)CH#yWmE)6rzjD?u^qYx*2^)&nmEhW2D8 z*@Zt4iNU*^H%4YBqCmo#!l9usA93133mCrTm4RE{wA)H1e5O<}qs2$X@6tMb?<|5= zisW!1hhG?T0?dS^)C!7qx4f?lkNxt-hPi+d`zKGlk21<9njxMLtpVr8rt zDGN9z02kg3sOZC#14YOq2z{vFNug^1B{*FV_KC%qC`MKXu9W(!n^|S3MlzmT>;`BV z4%p%-D(GEUtK^27oEx1)o<-l)3#oppu$9b771^jd3L-QtkbX-$Q{J$Xx-@#c+%)+~ zLa{5&ML}U<(cl1t=c*E6>2Uc%W%!!IE|BJT^7Zc3P5v_+9VKTz$Cyp+M2@qVLxx~w z(~igLtb1l|ury=*)jq%*86B^z8Nx*B=D={bF#6rJ&#=0CH5R@H-E*p7JW{iNY<_6Q z9**8TOp&5*|+P=wVm)V?Yx7CEQ=1s^{?aq&>m1Vq;A87lpCTgGJ_6Y!XM@2&&$ZMoltrzkA z7Evlu$>21~;gsWgY89UX>g~Knbz0!+q?T*W_hMKHDgVX(?Md(N`iK8!X(flF{75o6 z1XM-DUn_$?Oh7mLZ4vMT`y7TWPYwgXO1%#xk`2IqLV~^Rte3Pw7%KL=Ycns+Zt#vO$jEa)_wulMZ01hh z>%GXA)z?0)tT{qgm2C1Uw~{iGt67LG1{mEZ%7t8v@x8B`qTh4<`khsanr}D4|FUv) zs%U5TdHMpmzhwD#9KhF_I0mUt_jj4fn`7??9A+G8hA62KejkrJ%iXy|7-s74J8i{KyL5Fi#4wQ z(O0Kd%nPoFLHkI@T6Gf~T>up7_7W-vnYr3H$`b46Vwsh%h!tBcO*zjAJO*6@IgK&b zo6WCMFPAR-(4Qhy5`XpENxXMVkZljRlfe{QY!;rsl9idThQ`cFyuj;e=A%1ZFSr?b z)qT=>V@NQ)%{DI~yb8STFwsD?Eo|Xis-Z8YoWBzZ`BK9A>G7Y7B?(U|)4dn-8rXPa zxwyD^?u&M%_q&x`1=}(0#gDBw6U6=s>Nfx!X%Zg##dkX)X>xK*Fiw(7Wlo~*d`)c7 z5CGWh10aY&pEvg0WYV-RiG3phyI1=TCJY*R{G#rIM8d{9lOG1G~P&$o5wY`r@B zG=R^Z2|}!6!+5D$EV1{$&C#W%qg?}@txH!4-ivlAnmJi?$J;*-pFF4xDy?)Hj}jNf z^o=O7zuTD5L51eyH&_gEn{?q`D~zo;r*q6t?6u z7-xq?O9}R6o%QB7pKfo}Ey%6D^dBz4vKAvE7k1{&SN|O4*p<(4tC{rf#SZSz(Wo<6 zc)Zef>&XQ7GO5eiY z<-mp**#bYDjP8=2C`u@%S?=A?r+|$ZjZ(U= z{dL9lj|FSf=RV8A8I_==bqv#`AR_9IP4XVA2|G0tvW@dfy$&^{cO;I=0f`DeUVt8* zRy295${2Hq@o**p&VOduCvnD$Xn<1k_HP3={Vo;qDj_1F-(I!k&#DV`LD&*K64}!c z2RdjPsxr-*)0XX2lf!0jXz~jArYFNhKAHT@ij#fw@sLO7BJZfoe*Ne7u9w;*0`6}k zdyz45CV+%4w;7gMhb8n@-ltR|-!2r8P}5(i{+3Xs;nM!SGjN?S+lala+~QeVekXpZ zJKH*YQ@Ofy&u+)2SM^-JO48~#9oB}z*XI^LIC-C>&!2^>sSK-?6gffHo}jcV{8Z97 z${;2_8|xn?f6NdV!X~F6XZi#Fk@i|Ty~6DD;j9vRS1`AD7uq9K5a%mQL-gnJ!136V z^5*n`9Es)gK$4N)(N%LpJIJQVIQJ6gtScVAAlJV=%o7NKA3l{Pp9*yx#+P-ZU< zJp%*~tYQ4s_f?8fDE>shsp;GA7-zRj7h`W4n1Mtx9#qTg1EWX!FqQ5q{P9qYK$hR? zIxrjJ&k2xPvv2hHx*^LzfA)h4vH)9lTOmILvNFtQuU|px9`(<*_wpo0vRH z(R5q}%6!{f+A#=q+~!Ns4_$?tj*D@`4R&14I2!`4`UHC4(qr|&OB8{pL%$fr76#4e zs?MRJaCnT^(QvOHmKZ#=;9?`3mBRbjY4$mB1D~zuUPs9Dx}KLduC%d2cK0@i$iR80 zl|PF1j0feDx8$7X*_$M~Utt)Jzz8UXY38Wh$J%E0^AJu>eY1TpnBW*wFe>s$x~$2*|sZwJeuuZegeMQ9KL90_qRB*UY=wQOL-kQb{|oQA2TVlF*5G; zoXxBqDq{?{m##*KJW~TjV#MHq2?&|&*^RvKz7_1Dw7b&XE+S2#XLPdReLvz^8z!BO zH&bLA75E|GX|lnd8!u9_!8PY)Y$Bwcv=)2jhgN@&{`5J!9+&pl`}i*ZEb)J>c)$~X zC7H1`DAot+5z6T1Cgbqntb2roY^tt~br3re-hho6KFv+*-LZV<;rBUD`5@Nxrn%-g&v;sL4$@AN8EXRP@EvAB^-SrN;Fp&B635$ydM9OHx zY#V-I<F0RMdxD;#9ibNXpLXwOlKud$BtI z%J=ylv(+zm>wTcNDt9=4*+toDA-{rAPlsmN_iEznH{#)h5WL0ZC+-Yro=k-?n@K&2 zfkP%kSQ3)Vy(6{)j?+$SG0o>q+ERKo-6pHj^KW#2WU)sKOG{BmGDjFH2){OiDku+8 ze>AOzoH|}?)y^6X8GCcse+q0f{ZS|87P~}~opE5gM;C~NsO+I|Tst`8az)Wai6E6G z_n7)(?|Gq2Nvj(O-~F%k13s>8e*gQ{p1Po>MiV6KW`udSutQ2KG@f-%6TCt*GtI^C z2-Rltw0-tD9K-9w(4)fPoeg?8Fa=B1zmGVT9Ha>%Bp`@Qck!i`Ikx^D?JEHFq>`D; z>Y*4or^>-;3N`CK0+NlU=@Meb9?#hxW9d$=j~3&i-;nNGdA*{m8)NH9#I?xu(8OH> z(rg<0VsW7MJ=uey2FVkPgI0Pjx73|LQARHs)n8jqk4s3csMS~E9UL@0J2-w6MU_+P zow#asG8hn12ZC(6Jty|jLWs~Vm$XA1^>pZ-OjMv*b_C3F z2|j~b`Rw2iwl(Lax4k0*XRKdj;S)R^+Tuu*f6`In#%3Wt4|=tnS38;kEh zHQ5|NVP>Wt(W}yA_<9bfD*DdeC9eC^ zxYqNPKNe52_I#h5;re$~dz6^63{(Ug)p+q9k;n-)OSpJrm0t_SmpW{I^%(|{&e(@K zJS2bUA**rUJo^YKIavA6-uizm+>Z25ya~?wbny3Rf}b=ZI62pp*J8#rs->C`)M{Il z5(%kpU5|q%pDZBkLl31=qxt0dxTkJOrWD!`FqWL{lN)o(9-f(t-Ee9UBZ;wYdJ*_e zjAYza*^1*wwCkZX2(D5#(Rvvx?_{(LFxz-;zCg~2e}%h?N8G81Z$T1fuD|ACFUNRk z64F|fV{o|MU0*mJ;4C^(<=(%d6{f-1>`}a{Nw>LWBMVq=lLD zQm>X{5esx;fe4;q^G9FJ`rXflB_xbUN-+?>;@?MstXI5DkGix7NmyysBe$+~ikXNK z@G~eG&O_IWneVq45MD9$)FF@bHq_Sc$6vZZ5q*$3#Is9Fs54>0GVKof9Ac|ERm_4s zNLROyI!njZhj>k>TP}!i6kATQ%>;3-zj3gdc^nQ9IbgW*$UK*nVrl}ZO;@);lk*;H zJaG3xGiV}QBZUbZ3cYjNs_H9?Uur2S1NN%5VCtkl&nYS-xgWlRq zJZbX(wM1A_DE!nyv_yih0zc#ztW616AwT^QFNFdmGnsFgeC6v|T_t?x|v9@EL5zly{_MYj%=ikI+FZSLZvI!*r@oJwRvbjxC@c;y^blS z=yn95_e1%q>F%etWpUID)RMbtuv5I=pm!&7`>_~<5eD5kaxq>WF%`$3bT4Ng~vyR zx;nn9F)fZ;zPvgXXz{LV=^>3_GrptS7*KnTRequqFWQQTJ%9h1c4@&gBkrZ!`F29Q zMYc)5bIx@cRTpLCEN5lx0s$lBvZ5&MK~qN0%q|?e7^2Jvi|+_F;mNUE_yN#~@cAXH zivkqrKt6jzSXoCbo)UIc@1M$`QK_PnXgMy*de68%Utf90P+f66(hMql6DLg;;kvzHl?r?CH@*MKgH zr|G1^DxGfYWV>=W7V9HF7Q3t0XJgqgJ$eLKnVjCDx`jUKQ#Pr+)~Z(}wmIWB{=9y; zMp{ZQY+hl~XBGgYgFSNBUrx+f(e#7Ds?Y`;#CVjs{jjE9T52R#!uXP(h(b&ZFC~vT zupA11$=%RsCd4UIcoegTcgKU7S6j3gnW4!iPqBhxsU+oipQDfZm%J%9JZT|~q||0o z<{99-a@W$Nkg(oYcez`yr!!bpTQ%m}{V~PLmyPIp?wU?f%A!Fi<>$9Kx$Oqr!BC$+HBo8H6nL*qS)e;pq$qvi+WkW4 zKg+WAQS6CP5}E1SNKPg!+a7L-^ywG-W`7)iJ^AvYa8D!aqU*HY+xAos#;BZ`NJ%_Vb}t)U?;PhVXP9l8*2seNXEUd^c2NU&q3oRI}rvSY}} z@2qZ9syR}#b)$mnUhtdWD#JEn`GHM3=al-^%+L!Pg21C<^UIiP#XF~r7U%rBxO%1B z{W(||?;<2N=-^?dZs-Kq2(XkvFh^sH~{6Hlm_m)MZg@OY&v@n_PvuRBuC zf8y@mGjY6TAAI3mXC{#uDVT8n-BRZJkcC;fMoUz_aF^5hY>-B=2~PP+X?$7Z^se?m zd6mWqu7@J|5v&2kFli0M=LAGM&1zh3+Lh+bj3SPW`QGTP^%zPoVSx|;mip`257CX{sz^Kx7zc8 zN9B?DAr8hMGu_9K3sF|!&*}-@)XZdC-mNexS_)&B*;!Nf@;BmE*BDyod)MZ`D9Q4M z_ByvkZdcZJB1&97qy!8MYf52 z)|J&33ji)6$#3FZ=pUCvx6Y{>#%+ zmuKfKicXsq>5-+U4-NmRI#G#{Lf%lfxEv5Cc0cd<5#7p+w*Tn+$9{esE@_Zc)8}0l zp4hBS(Ns|4bRNmtxDX!y`D424Jp)+D0d~KcxF`W+EX@S~eU4fmbp0rsZpU_g0!@(CWCLwdfpdE21^*V?SX_n5Y z)~(wD?!9iCUTj-Tb@@xy7y(ftAt@92sYT&R_LY44*IC|QFt4)opY{iDN?}r}SS+Kd zn};oPUcNK3J{V{HN^KHG=2%_1uyp1Tj2P76fY}|i9eH>(7maqd4e|>Y+6*LL+oju3 zcF~k8+7$WDP=KaDe(J8d;0S-zRfuh$(%5~ici^zq7(X|-f^jkN9p9V9o58+EVN;{4 z4$aW9(zIF+^UI{|g%aoDBKoVzal9{G2f<{U8%{+ZcJAI-EZl|IkedsV-3@)fm^pN> z@roRujw&@O%=a#XmUv(J)SkQvL7Z`CO!3IGZ5JKZIJ7#Cw&K8Y`4g`&!3pVSaJ{rV z*mMm?t^hF~55}G5PS&5@%V(Bh1|FtYelLqPzne_+91M(16h;jh-A?HzahOM7+mbWg z>%*r77Og2tO_&nitk!Vc(Kuzoy;lBn+Lt{0=b^A&OmQIo{99V)gf|Cmzwu+y4J2kU zJiqbh@WqJaWXUG0A^iY(()i5&1#U`L+$N#e`EWdlHGUMSs{Ug}(_wvyhBxJGR%qc| ziI}fm4pdjuH$WE3i9yjD05;oJ-;Okz`t{K2h_c{{XEUGKW981Ye!#_Q+hfaV_?5CX zDYIHa0os+YS}ztX2pd$=vB*aiqTJG+&vzgfv|ZO2fXyUMJY&Z^IXl;|+qrwXhs@&Y zEKB;^@VzGEvfdq3zeV|+99FC_keuM>T~g4TeM3#L(ENtw7DD;OWeJZ0!l1euyOtjP z*@FnT9xhj9nwj2(;lhstLuX7U4%op=3F0wvm{avu6uW> zRNK+oIXRdzlgU(?&9VwtO)zrwZZZyqDxG%DZa$d^@I|p1QHNgRw`P4Vw?3vT!&DW*-c`(5l?^ zt7kC%tANJq3@=|kS`z& zr$291x{emd22$?(=e}>m%Da+rfUM@e8xVeQDPc`t2v6moeg4KpcaSL4R@tOCzv-?4YSlharI@exLOHaC_OajG$Y%8nadB`JX4qvh>C(tKzs0 zr5UJyE~Avn&h*T%l($|(Kb>T@1h^c`VshIq#IyOAh{j=~vlg}0o+sMga9=cMX#wL| z@>In9N$~2Bw8jaiBM@}Yd(leZ6OU2F)bDjPJ^Q@LXg-6exXU_>q7oCQgr^rf(C!Ci zj-{i*=-5(!cT2(7X6QFs1 zir8fDGK9ex5KQB{fasm5`Eo*@&!dUzG`yQ3{j1mm|5@-AX`&66`nDlh=*r0BY8u1$ z>KTY=SWC(m*ON-}k{pC3@7EZo7pM;tAFx?Hnm>^Q!QDqX%UGIbva|x6AVU!lZEN!U zK~iW1U}f#doV~$N;ynv&p8w=kh7B84r><6R?;AmG-MomAF5M8TDijj{Bfhvdx7G;* ziFxTf=GC+IBBymXU8}1YpskxeTYlEwSVdZ+RCTRFRhP!V3H!@9pw!s9+u7vChLE-O zgsH@aG*48LbijLJ=;|ovgGv8$(sXHkR{dySL+o2`UM^b|r7XkECs@o?d5C zjYeraN|a6ObAzq7!onfE{9Wbr@b!7)Z z&By4{f`4mWJx6DAoTX0NE*gRM)ow__L{*ahM#8N($jlJ#$9Y54Bcm6TV(#{QIB}_K19PCN@8;i zW6B!~h>C7q`)15cHI4@U7Iw6zua_Gyepz(088$lH2aJvp!1Y zPNgT-KLr88H7d~l>0JZ*s93SP-97lZ(-w;m)osBeu8Zuanc6>Rto<5}7`z4nETwT9``w z`#En2NzNeyH$c|G2bT?G0NZZZ+Iyjq(*3LT5PV~K?^d`#Ii(NFujxT0zIkM@H5;Co ztvLaL8PXpDN|J+jt!fw_w@$p{+LG8x)G2)O5*$X+$2B(h=^ic0)2O`RfGULS5UtI5 zSnfs6AHLo6xXrM$5>w4p^4V(V7%+xY2VhbocXY*u*exge8kubkAQl9Ly^bewhZ!@gNpV*WpmJrw>p2s?JgY@{)&{y4(B*Xoi|*u* zJzf(X(!hgO-7n z=ek{NyKm}%iGHbn5)J)bh!kZR=_P|RF&VMf2UF{`8=*_Sf}dPA(%MAyca4I=TIu z>d)w+uOTklAY-4s>q?!|*G1bpObXxIb&L(reW5ZY>&vR@D?B>14WQ1p>(_9!WAz50 z*kd9Mns61L7xd!y&t`6(`@-iKXzHbySqEn41YgwcTowrzS+i^@O?qg^mHz&SgMYK? z_PADYPo4as#4ls`Yg_t5c4dnmMqUurR71p%tYx9_p z@FSZM0;gy4^zOM&?E9lq5((lvMW0>$P&QK_GAT;u1mmS&d3IW~CkI`2S`Xx{*!w3Ij<}N!( z+Lk}M1&j$s*$CY%IZ5}(C5`*T-~V$mRp=MveK%;~S@m`rMYrpw$}R@;gXvZP`Q7gp z2Tp5=*GUw2r%Hqp6=@E=O+i#?L)Ro0p?=VTe8-YC^xo$eBO#Z`{(bd8G&#KGfcWUH zpB7uX4aAdGM7yY1r1iUWS#-AWEcBVL@BHJ=Y+d_nQ3h4vKDca%68;@j|=yknXrhn<-ip!ly3;hc^lbXZRZzF`dF2?S-Y&D zv}IwR8*6a1y%E(pOus#Hzstqv=$|BBBN?Wjr2LEk$F2{q15oU(Yuu5mvP<9hjn2$A1exDgpy+Z#fhGo@=0oZVfjDPvQ3Au2D& z!daW&Ql2T3A$N6>7Aja=hb-({%e-g815tKIun)YnGl{_8(0tG$52fC=PK$|u3ch8i zEbSF6&c?AB>ywi+tJIF%}#iOw+gi~ z>@=xZ60R19lBiVXr)_D@>Hr=+!ASAg;no(e@kb82}(r-`iXpF@+q~rMyGb8thp!7Ps zAJ$plF)jwiOj+dc~1GCfa& z*u2?oa}SQ|_x%9r^OhpxZ2W9@WUz8K7q;M_^pLL$T)%$C#pqzSXbEqY-0!xF@;vow z$O!IOChR684epGLnofjLSC^3%E4~}cj5(6Su2X-P-jYP-;gd&uR||$CP743in_?1e z*Pj^O-zjdGI9&+9m?cK-p_q8Q0U_8<76oii7NxPd?S#EfOWP1es1_M5Tqm(<9~3jW z{6{%vdi>ED2vP0=qDR9cbY5bNr7SUt=!#xv<^q2_8QCA=2V+haGXyZVZT;bniv(x{ z(JasVU(%I6NPJ{wW~QSKF%_w5eQjohQH3353YIXXqZyZMeyZw$T>f*;qVL)7K~n22 zhtY4)=5~=5O}rSBT5x68kD?^Qh!#J$w)BAdpYl{0Uhz_&J`Gb14KmX48z*6I6|Byg z3p@+_;DN-xJ>aJB$L%))=l#S}_LKT2A({D^j#hRCzYR@^X-H#E(#O1z!#6wgu5lh* zhdC{$w$!!?rW=tgnK}d?u$8NR#Jeg~d%=QFd~c5I@m^(y z?3;7Nd91#t1&NZCeOu7`Tc_JD;|fV^j*08`?j~2<{)wj$G=uuW-Ix%{7vxc-=@duU zwA--h<0SDDD)l{!H>>C*}MfyaF)9tEY%HIYwdgny2;og&ac zN5zI5&u&j+4Z+hVrk%4MeJy)R(j28W+g<&Gn0-FCOb)0P4sj~w+T^2Y{UdyZpzghbQt;)zljk}=J$ zM*lcPE8ig?(fA1qwQULXvkFG$+TZ^BPG+~v8B(x80Y&RWP@h-q=& zp+u`1`E?QYixU)m%V9I80wLuw^x2+1M1@m&I4cRPdRtctDG6-{Ae_OT+tjGO-ggaD z!z)DBZgiaA1K4U_NQDZv=9EF@?IoI8iCy-?5nng+BHyKzf3de6(%jrG{?%qOSRFoW zAc{-f7|Ca6PDB`yYcoZ0S=)nj|0(&%eQBrrbVpBEL5B8viPynNob(n;>*zV*_G0Dt zENfa@eiHjl&Jr9g!-SgM%$D)pfOzS^t}ZJDrow@pvC%?O;fdfqhQ5#$=W^0_&Z4U4 z;#U`AYQHnKQW9@54q+Ltb@-jK3~X>zh0lfHmRBghrXhBLWPY7zmQ2gHNf!%xhA)JB z(YIG4Hl@3hhx}Ht?rqk)>IS^tZ5>5kAjBSLeBtDvZTYWjUR$RYw$^N`NnIA!c20)N z?}dfnLp#yAkv>VND-hq0*lp_4BSDvC?18Q4p5rI+amaOegbo44n+QJpZ-I~P;g91- z7g=}SQE$FZ*_n21l(t_VwTDnZjTu1HS-xAbzgp6HT;DN0RA@DL+pr5ygXbDrKWaV* z*tMCQ?wNq|Fnd|6`kR5oHYw%l+cN9|(H zzg}Eat-Ab3Q$O6WzfSerp4M_4=4ahudl>9nJ6yiTg;zoT@a)l83YgHv0?Eb(;A4_{ z;!XN!kM5G_KIP{ zx+n~AoumM|Oun=`t&>WMev^h#w8ci@e21ylWh2j?PSbCZ;zdZm{}=+%i~_q4nApXj z(jU6S&E1-?&Rlz=yc_jZPWfU1+bd%wI#+g|sUP7P$gggYT!sRwSQBRG2400PXIZs= zNJos}r4S4J)`9&Yd8o$abBxFh=s)VS2I48T0igo@ip~I?brlzNIX*SZ$6A`+XJc{<2iz5zx%Qx0V3t1& z7P(?0M7WHDUsp`XoHB(j0s+4?13YA>D|2^J&ux*~X*e59tTVPo^Ow%lG{izk^FhX_ZT`@U&liipk8+a`22Tx%8mZjHkw((x^fa z>gTO53_mihmS3aIdXlAddE+Daj;TUY1klE}MNWqZJfD^N#wa3oZT^Sk9A(0=*B-oC z9NvPfxA)~Lx}7rS+fRw_UqC1w2VRC_{3v?gHC_MUYaS9rSeKt8+nR2t{!}mwGZ?j= z%r<`WXAx%@eQGsq6WX-bi5?dik4h}hy_hhIg`{o^ZEBnom+t$7g<7AIhVoQX!%`T%)9o(&>_EWNM zp8MGSnnYHVM|SAAJZgJk$y#iWe<&7WlsnbP`<_3bvkQO8j#U))suh}-37UFy8UXUC zz1ai{3G?nQ^$4Rd@IxPa@p+JQ2*r;#l?5ppTN73jEH)vh;Mcph>aY6(wxCkF|B}%waR>L7guC2M%Sgs7rNj?d~tsY*4S<4oyU)?82*7 z#B++3`Os6@4JPQCI5c)k)VV+4r?mN*QN5M&HFfUQBVc#4Jaw+Yhn=FiAnjJG@zi@w z7z6QUe1mb>8Cl-vVHJ0>ms^|`t7m|`kqf&+761YD;+$_! zyT$RojHr1wANtmj3A`%u)u{yD(yAC-nd&Fa)F*f$vGPQl(sv`->HO4%f3hn)>%xt@ zGK(BK>2`@%>{-{Ny(5*!Abd;qXlfE!d}$aeXp@&;DKFG(lPrVKpt$&90`7w`m@Gb1 zHaMk5v8b2HTy3oo8gO&`bSf5YvxDjqD{Jq24b5PPKdZ?;0T~7&pmf`aikDL&E=ILWrr-z=BqsP~{hQ@uw_Gv=8D!*yu`V?khafYyhT ziGBjlfV;`T$$00Zc{!e?`~%OQok8&mJz%Pu|C7yN{nrkg1YpQi`A0T^0_6OOoCdKw zVAk1_?$!=Ye80at1!QN4okS5J6e!V!h&ddFq? zTTb=8?PB?+FviLFAwC4F!$=pyH29S?2GfgE^3x)!oYU|jFkj<_x)$pUCXZ-!(s314 z7@H2wB@5?jSX;X7GAqerWoG@dnG!}aN8?~FeTj#J2@kpV@$L<85431ni?OOr-;z{m zV)Qb&w$r(JnL><;3F9XJI)KRB`v7YJDpGU-(udx-oeM0e7()>(hK8+Ak#ytUST(;^nPB@ z*=t)&3+jE2UKSMd$XqTs(RbzxeXry#mifry1eWC>``ss-H5Q0tNm}Op-N}8X$#=(o zCC_&M)~088-K=>gH%_+l(HC$uyeO)Y5wZ944}wP@Nxz!dXOR-O-BQ1Wb@0->I-~t) z!k}thAzm~?$lR;&rL-a~14T*=c8*0WYWW0~+}QQ?NXrEK2%W^4)l+!&G5M^ou{SyD zb?;-=J4ptj>hFFp>5tUayKK(C*-CD>t&;6RtVqod84Cc%AQlS%5%bn z6*AfV?x(y@Kb@3?4?1nJ%n55o1>b21j4V1ayk3|kI-9D^sU)EcRJdjR$uO!Y(QoK<*!T!2+z`RP|xT}PA)7;3o9e} zG`wkmk({V_&_m!|F@rNlSw&3s5Zy65-@U_kCEs0L_!^gK=P&J&`x4a&j;PmLw3CUm zf8aE?DTe3HuHC!pEGgZXYDejgb9&h@*Uop#3t5BKimW}$GkTi~Qup(7IUR5Gh4}QGzqfLAR)02n%B%I8W z)~`+b;iynjD|`{8*usx>2h1qm{H5O77drpMwL2{b zwtXmu#LjR*{>6Z_vnuY|FF<_Y8(I$8V)RMq0|l^gBDfqAg7neK96c55D)6e!733c$ zc!C{+hu3w&+~nkpdX`bg37m{fr+z|!;KY=XIQm9> zKaquY(rx$Q+-hfD83Xl@c*99t@sUw3Ar$u)(od@s46A;j^AX?8|FSTansINx$bi#& zF@N48!llyPIw#(G=)2AW&ughcF+(GDk9H2jfG5%2!wApAEW2N*NU<>1AO`7Vp7YTc zIg=wr$(cv5%!@_|$xU*hb|^GmR^H<1V&*Z@2%Z}H!vdM>7;TeMW0+>$aIOFwrrZ=* zY6UUo9W&j&Kd=>t!JD4V=ZiU2c!&E5oC8KVG%lXpTUuK|O!?eCRt9Jj;t6Q5Jk{xSw zm{5><5<$O6>fUdE_a~pnhjUlWjdnItX-6OQ>-Tl;GItX^{xst!@M&JeR>mrb(&rux z)BWWbcw$X8x06C5+WEdit-1anaK9QLl*+ z6)TEJFj;tP?qDvIS~X^HbL-Cc=LI11oF;j1XQ9i})#_zWeLV_Z2$B#+Ce9f=Lxr4W z<5{wPuaB(-E*cZ#wo65WbT2q`mt(hh?BrLdZCO{PBdyOZu~b94wA)Lk5mkZ#F|DR&&Is!3NOzmv7zfE`7hJQj`r@-x;;zeqQ*0r^S}Nf53F4fM z$}pZQWgtM;fFq=>0zXM6_OK823W{j0PUeoDuA>3F6LPq@c2lsQX15%2@9qtD>~}Ia zQy4O->$c#Rq4y+R8^(zB{q(biNx@SVt>uMD>b&0v;2T^!o2F;IUaInq^0!DHSf=X} zV%u5cQW_uBw+QY>Ei?I#HZdQ8uTw{NCS4DX{-1w%h>3B8Kl$~Jn)A6HC--+f?Y6po~SxSwX{&X2plJdb2_0ncTlrnBW*;|yK# z;{j7G%qh}OkzJ+sIO}g#E=DE5hyhjKc>k{y-(uvdm?d+#mLJvQJ-j3s0ni3u1@bZf z$emXJen$j)2gEQx!7hRPkPV{d;xy6xWV0xV!=I#r_e3h9Q%@h3IFeZqt>enU7*A}> zx<^&}Fmvzevd89$bBwhh<7q3;Yk#))xNisVt{OVRF>K>v3tHARJAGwHC@@*Na{RtV zvvZmDzLX--{)rA>juL^${YlPM#U7Rc0#8Zw@Xb%~$?ya*^*m!!FgsM4@D|A}V1Nv%$aD4Ziu9!-chW3k1Y2b(=9=}zD-`D8Fp(-eFZ0qdYI{RjS5b+!@e*3Q7b+!2y zO9Ug0Nhjc65H*71eQ>!RLNI*Os$t1XX+f0%EGX1pNI&<0C5zP8rYa-44-n;ZlQnYw zRLlGOIq-Po&r~oTNU&a%SMWl2v38Dtn$tYJLmbu2H{AMho9F%etnmWg`$=2h!Rk`G z6i!@k9@8W~z&xTa?Jh;Ad6>y1m?o?G!<5yht>XwD04busd%gqlylmbQHfe#tL@rDc zCNOv2UmD&EIKGk(mFc;HjGE~}PrO%YFBM>Bbx*-B@48gL(jOLkd%w`tF)uX^f;Pj> zei9D9d<$l|oxFMnJCyQmLc3;bB<2R+HplM|B%?_Io z`YZ5|>L&4)cboh#730SbLX-%G`3fZ~hP7N&-Q96(Q#apTi3+0aOr5srE{A-zluuoE zA`V!x>S!W+sZxVL=cw2zQ?J%?kk!Svm)P0>KXw>5@;i&Py`x z0BvtO$F+pHiH`kpG|`GW=>@=y%i7Q|a%V9XlMoQg{D)z64d@(n=Sg0#8TCX0aqG?b z#(~|eNUxzuJYU4}4xZ?RrmAW2&ff&h9zs2|0dzY&ScLlgjk z7d;A6#(w3@04QT`navY zTx?in_A^Dn7+a4_7m$ES#u~SYNhKBJsGQA&N2*+dZK;`;Md9H>;xK_5&YEJ8(B?(T z$8b-zRq`i>^hQ|Wi;;S)a^WKsi-TJ7nyQ~70NGf#y#mP*M8N8$|5}=TJ89mJjTk9Q zuArAlyk~PP5m_-;6>c>TA@lnFmB(BNmJICZg}Q$8_Qs2q44Spca6$*iZcO9O-P$;e zbYk{mN-2JRnbYf~3pERpU524TFx`PBt2WG+r~VV(kKmI|BPM88LbYvj!msT&>D- zEWr>%^VMi4ZkK+AQ~a;kXQ$Jn>&3Uz$DvP;&nkFMu|Y=pC%shz2PU^NZE_VuGQTe! zyYnh2j0!uh$7S#2s7lE%J4iGA{ek7`TIG?mF_D~C>+=0SNG-9&HZjUBEl_Bslfk>X z&WnM$%uO_r#M_T}G#CW!lB#GQuy)WZaX7~o&V5dy!U&S;UY@%Xf@V{FcO3VNa#p6^ zmN!$|?DMNQIKFMT#)P1Q29Hxv3{%@y+n-Etli>Yj%VaMEsOG7Ufo{;KLLi$|AXGC; zqCTnVl_G!4BumZbyqPc1?$2gIPmFTuFGF!nlFo1cfO)-2{CyU1LA{f{*A2cySCW7U zEqy3JB#(%?%ddk;J5JiWG{K9~caW4~y%bgup)&C77xG|c>3C7NEjgt(?vr>s%Y-{EQWm9TR=Q@V(L zLA56H1;#?`J8*3MtwYym2*=atq1f>+gFK0hOH$a)0HfY*QFXhuW?lQPSEq=eN9c>i zy}^@{#?7m)A3v_d?d&ulX(FRIw+lDvceKX@_M6|tdn0$Ve7T1ffACO~+l9$k%{cU)Qhtd{>#-Y%pH1 z^WgaRlkPdE`okt_a9xKeqNO^5$R?Lcj4qT4c;16=IF`APdXM0afepBUZ1wJZNRDBM zacz5A5utF~flc<6RKAAPp}B4#lKH+Otpi?-O>xh6Hx@48aP?bMY$^A@xf!I;Xl11} zZPZWf*Vw5Uu?C-2?q^7a^++6Yo=X;G2cl^(u?rz^{AXqC6bSssu@v0Bqz^G)cg06I z`Nw2S`+W{0(O~+5U40cU4(7hX*2lz{IJzF1McgzObmbE*#KBvD5wd3>}#6_oDIXOu2Q}zFhcTTv-@Dp z_U)JEIKTk2Ep<}8Be^0*;yI5=72inbG;}5T{o$0hLs^_AbnUXIj z`U8^+$CahK)9q=T?Gr?@8|CmK`6Zex>ND_0jIWyfl)w~w8=`<;A4hl~ojoz|Oj4?; zep-I3TBn66HC96LqZIFt&y`);Vn`dqH`*+>Nc>e<(3t*d)`Pr}F+kk3DxgiVKbTQ= zFZz|#R8dwYrUn4Ozni3GK)>WUo3T$DaIUr4GF{*>WsjiNS$LDCO*oKTUa@JRD0^%p z_XPY6xC|$^&GVV=Tcwkc?8*;Vn@BaN*YMa~{z*|d(jv8v%eh{W0XTHH8J=E$X`CR~ zvL14nt1_Z|E=6Kk+Ezzkvmb`RVpucr{IT)``|If7rSGfBT z6T8mvQ}D~J2;?W43Rg2+;?cHQ<(b9MSp@jqn@nfO17_jTs5blCcLnv00ubzzxoX9^ z&acWmqT>m~&Hhe5!Z}z;hiB)z{wyc1bwDw5%#~%btD`DE2{n%`BFxjrcL!Xta5KZ$ z5uXf$K7(Y54ABDe8V$CKPlTdI-hczBJR!qg-@2k?S1&DYOQBenwsdrcOy#z}C=TQv z(WpnF)$C~TRBf%7#@tS)z8p>Sz*U4|;f|Xx-$OE4HqB>VbG*3AX4T8P z7VEa?1m9lwZ?cEeR`+sx3|*Al!?=9k)uD1dLvLL;3hl^J(i}c!?#0gjX=cifLc|E> z0Do|6f%}BnX`Jig_(EYQ(vGnL7dNb~nO8QuLW7wNx2@?yTUuFs@4+5SI}dg1PEEY5 z)IDoU>x-;0_-mR%!gD5zb;M{V5mbgibn#bZ} z0F!}3ifm)cZdM3cxvr<%NH)a{1+RW!>?|x&+uu!`$O~O|gV}7$%G$s7*c$D)W3tvi z5n{di5!)fM(;Sw00|A;Qw~g}X*t{&szDlTRbS3&vhBO$-i8e~`R zb)u6Nlq3W=4s^Gga8Np1d~bg|ush&YI9E4Ie<_GoYbNq}s-Ci4%+sDLQ7ZsO+KJ;E zUDgS5FK&khpOy5w`UI(t=^M^abzCo>?3}zy5&HESMenUA)=oAX!1r{E&$VmfBd$|a zu?z1#tvUns6@|$Lg)vuKEnC@g*u=e$JH5r76ym#*?h_MZ9Cwo!x5K2FZ^U3jXHp+| zDhy_`5MO8sqt9%e`Nbys0{upb8p9y>i~pt}NY@%BjrVkVRao&jEyer#3;mGa_C`10 zw?6L!)06)bS_4X8D)dZOV|+t#L;>jPw~BxZjw9H0Ybs+bRa2pHW(1_vjHH0)+&kEi zeoCwo7*8d}54q;f&1pQl*lD>urfGly9-DV02rXOXlOAV}_lPypZylvw%^D*)M9pj@ zFONSpeQ9tbnXcIppuvU4J$rJkm;HFGSkq<16HCE3mRj*w_=GHvrZy-O^Cg$xypjdL zpYff;eoFH^8!vMxsNStgni{A6h~!<@z-QotSC}C$0-DYM3Z`+>u~!rFpBSMv6)aSL z+9(p4JzJ-ENaWu$N&<}Vgte<)lW3 zQGS>X}$aEekI*=E6wub$7LH7TNw<<&o-m0V7#n2 zp~u71S6AO*qOf$Ui!Z;ruRzc2@je}Lfjs3Z8Z|no%Ibt#_Bhw5Vy{PH5VYwel#1jY zR;&7?Ti0Dr`S)4(X@k`n!oa-bh=+>Pxx`hk*Gk(iAHbL#*pxCB6i*|dHTPQ;3hrj0 z+n{?ZE=*P#v4lORQzvv*6cN(!RKoue>r1Op4|?fr;E=RS$wdawqyy2j^+3FlJcH z+R=A1@aCUx;-4!+QZQcu$W{U|%P}6yc3s`E7-Gz_kmom7hKWyY4p3Ju3zk#)Nz3b; zR+MFSP0Av#9fYF`GgXe|jyW5GC>~9P9PJXI$d8b(T9LVT&yjCc5hbcwYkhEmhEvi_ zrqyj07e2#&VuD>Hm-5_jXldoy#S`DeO?88tsNZC|>r6nT%X+ur-9+*QCoAl8P@<}c zFyq`@q5hEjyaKy#s|Tiw7-?CrI}4WFg7Crv}*XFp1|b>`gM-hdHb&0y!pDFC(s!(0W73P75Kv zdlt~uB}E0q7=7=;*O*hFXp85_eI~<|gin-etVNky!pe-+jsgHFz2^Y6K}v_ZwP#m~ zEXN?9;Pyk3w=BPWwb<{{5+@{Q+*%q*o~t;n3kRv)PN;-${-})VLs7NPnb-;aKAl{U zm+>^AOG6UeMseJXP!Chh5sCT8=^SIf)Gir{Vscu~1%Y@vPzdb%_}cYPkug{Dz419O zjJKN=bz{y=i+>_tT`R%yb*pI(kD4lpREY*gRgL;8YjMH;q=uC+iz7kzu8GM{3$YnC zal7!zx1&FCZZe4nDh->7&SWXYdGNi(gA44>O+df6ZM%qkr0&86fUjeS+J);(OmV z*K!&D2rpKadjy*blTKGwTSPHhQihQgLG?<*Ve`8LMR^Uy8o`9^pS3ePSAysDJrA>- zMTMPbFpJn1t0h+OW+qnXg}q+5gNlQfA0YI}Z@d3s_q=^@DPr zpM>`Zj;Z&WGVMLBdDqG8S5Szd(#ibpag{c933u0UUbbwf9Q*JbOG*f#4|WBl_6J!p za|#tJJ{|V;`PlSBUMVixSdD;Zg3RE(A_I@P_^yL3X2EUJ6#U+!q^FAJX{_%k`_mY= z$v<`JNQ4P=l~0dc<;d1QgikT;73Ov>vveHAp~F~)TvO9s_LKpv4i}vab;J@k?*>Vp z*J$Z7@gG|^i8<88G&Tc9cugAWtEFk$6^W!+S10VMV*4DAF}WU;-DZ|g1px2!BkH|b zZ;b5sh9`h$IBEEBRe#D8%B6yLi zF4Mr${Ri4mj_n(YrH3Ft$G3xirPFO{r8@q0e|rDD`#uiu;B2A;os&D0Su01<3Ou%2 zRXHA2tt}Ls0wS2NjSK8qup(?UJ3zP{Rs{9dtMETnubrX|_c>5l`u$s~mpa~`vY7Lh z*G@OkdLvZOh>-)AuHF%5QKZ15{qn2?Emn2g97zWKgNj0nN|d2`(>pUupS zg8asDqj=I}gi29=6AQ15H?zDDVwin*Z7%OAAr5@eRkJFR;MUi`yU*Dx6hd;brB!~p zj-zuPPD`f3%m*_-hDXZ#!!WmbqRwZo$KCb|AZf!}LvN<8Iei|GZ0B@-m$k~R z>Sg!aJQNAqZ)}n&KGF~_-fnR>)sAYqVh$AF3^_TPJz2x16{?LQG_c8j*&2o1rmD~! z_CZApRTCDa@Lmv@<9e4%YJ<&Wy z5woQCa4^Zlam*7pX)iX6EAhWhQCz%6BcW`(hbvwe<$7luEmH4|wtwh5Y|F;2cw>B%!%*qjJZFeSy@`9?tHOU-%w zNPk{7T68}@ip_P#Vs(J~Q7P=?_dcRpRWP>tcgomB5iv9pwpG$?1uMm_YtpdIS?iRPg;RfC+6f*zDBoapU%hgQYpV#WKA)iJfQP;|3I(^m zdL137b6ohmO)0CUP@hJd72pI2&lV5B6^V9X%C#}&SiO8}KJa33`UJWzSvcXlSxu|1 zx|;u-9MOW`_x5t3GQ+o9@{K27w9YmzhuM5(#++s!U2^iWOG2RoYr|lovZoSHpHbA5 zvy8v8Fz065!aMLrZsw0{mRkY~&q&?WAL6S?S~1Y=J{R@gCKO+9ecM!@AXO!3@~0=N zD{1LxbM!DwLv)a%dcgDYi{38XBqW*&bedq;PIs6~KgA{T#YAJTMEO7ruI5D_S7v7Z z3w#henx1=KlL~b!)w(q!xK?+Il(Lx)9ab8dR9QZ_h^ONibwnOEI!7}>+YWW>wcZy( zg9Dpe_c&tOf4p_|bi(2@zdtG6c%59+0k3F&ZvmrjzIf26+3}uAM-!JubA)eqtFk(y z!hs*BDk}Z_dpsNQ(wx2*?Wj_P6Eq;oj(4vC@9izc{65|J?40+qYXq2mmdtS;l9QHa zcNIU)?m0CobR?%dD%wlwCX(!|)Gt~8#zvsxJP;yyw71=gn!^P4%?}lP<;qY3N3<>s zBP1D=_oTGUBJW*HbhkNHOUY=bqzugl>@I{2!-spsh^o{;UY;TfhRsEWx&tx>#=GLQ zY=Q@yJ35!v&h34(u{CfeC7R|0HLo}&(DKAptmQDoz-MIWr1jh^*-ME^RO}?_Sdh-T z6g?J-YXNn$ zyimn(OYolOTbr)DjAceC5X%?a(2X53PaVVlkAxW##t_}|>BeKk^F{TzyTX5=n?N&o zTTq&dEYlTU@MzLUW~Yo#L;`(HL@yO!wLx$&?CzG((Z97(8uhImt#3&A_ee$m01xj@ zf2-xx4l7Sw=usslHCdQbXfLCv*=5= z>up3phg>?v-u+w|2Oez~K+iV{eLg^A`qh`&43lxhoa%GWv{I&a6DQZy`r5>HHTxDu zJsl8*5^rOkX`#8#WQ@bN==v%aBv)$w$arq(4aD~Cma%9IdnM)BPjaXB`6KL!RaI%V zu{r15*Uj>Crv3Y000N=8qS9YRO&h2zk3CV`ue;syvhq~6EBV<9qw8!_kVw}}f)|v7 zj|2F9rWUz8Z-aBuD|o#E>AG^b zb-NXrH9yrrE&$yYn8a~mxQCcR5knf0BuaBFCy={_; zWjb7_R%jPgiJ#1@9Cd+9n@4f*w?0D-GYA>lcN|}7SKqxM`zIq=t8OpQFzQJ48dh<4OQ1!%SQh27I%zEyg^lY$p`&|6d77c1V9+`id z{n1=!SWCE0^jc3a%7yw%=}mMg!OX$PiCTpUr^%VdjLt4e@yK|`0q3n!`)0Xb)}i-y zxp;d5TitF6sP7r3;J!>3KdV7M>Z&#E>vmsnYzCiX3CrQ z13@RBB54lvclW=#jafVwd0UY*W>=ye{32Gtfn^X`y-MA9`i(##$ammHhB|C&l&Y|R zSO5CY)W7{U(%Cx#tG_%ca;K1Ht0o`#{-lPYIV7=PP(7poq&4>OyeoWs82T469Yf;Z z+Rs4bU@Q5~KfvAdTp;q{mzFU|0cJA)ueJHX%FWA)NY*iGNW!X8Oq}?mGIe6u{W!>GpS6-op6#lKf&)MPj=DBpercdsa5m!f#9da`IbQJNmM)#5Y_NL5E zX+54qjY05+?>>{S{#-4h@P+B4Lz6&$gY%dnJ6DH__xnf7_m<&HKVHY$o4s0PA0njW zx+^#3(MQwSJ#C5}&xdpBv(JEg8n+_Pqw93&?GHa45{FHMPU{G2tX!d46^g_+ownJ! z&wk_{IaHi$G0dvu9_Eip>1x7kQ)5G0-TLIQL29e}8*`1m zqL7PVahuOFxjprc!#=7R$Zx~lHz?Kp%9X3{{LxXp&Fhzvb^aIe{I>IP%$H1X>)YA& z8nt=H+wXH#8E<4uo#{*6YfA1!A)T`NvVhcN}Ip*_`^*pG-4Zpgw)@(dn41gv7Ck2pcR4@{0H1w&XWtR zTltkUpAXSeEV~fVog&NPoANEyq2#_ksFC>!tma>P50N!s7${JgDzl*dNiKxAQm%h5 z2>!T78Rb_I5vb-Tz~&2HLN6;Q9Iuw@^0fhBU~6j_&_H=N_>RA%d9JdPtq+5=kN4>t z9W~gObhS+5CbsEd2BOj7?|Gf4N~QOw&S_C2cS>xFyTtnFliFL+9%C}?OU?zct^f6~E5S9N^SZZF&% z*S8-kvpEEQGZX*E_)c`@sv}-=7kW>U=~z@%BwE^jg;12g$T@W=x>X(tJz)4!3Jvb+ z7wX-b(L&ZmC7b5E*ldRkwe$OFVH`gB!^L-}7Rsv4dr<&jfN(FpLHs2JtR>ZF{d&~w5=`{M)!tC;OS zXQ-F6r=#yi;%lN{wlij6Vl$N?g-XYk0_15U;iRdkfoGp>5r};>^wgR6Jq|(jwoDvS zaWTG+gDdF>WpGk10n!qS*#%~#1szk{u{nQzgo?_#Sa$WX4e#Xci>$PFtiwT`DfSp1sVhjGmkpshs&;A3fN@b5ed}*_eD&(lXryPwYd! z7K9+r{v=Z2CUK@Fz>5Woj8>MWKB|KxB3M(N`sy(?16KYY!DcqeUXTkD-?~1dy;&x~ zunMivHq84N`yz;$oH!LK#w0=d6;{RKFviT=d>UiD+v=y_@an;g)#FNnGqwj(cqJzz zyStp18ddSGssrj?Ny@9GE20exf8s@wTk*ZVr0aOGQkp!dGQniuR_Y~F4#DI|%FxvE z<{k>U3FI4Bd2?;7ZV7~bPtw^iZ)@#{2Cl{mbd>b+jAa# zP{lJlrbE`8D1{9NRN-_B-Q?DueY4%ZEiQnuVBgV14Y_s%X3TcpYR$c z>DKwE_)Jskgvw{}no|;K+FSRQxPA&&M(DY|6&ARBXRT!RHP1OC4aI;k#q84tK1s6V zrK4XAB`$9}u<1yiD{j^Z(QJ(|t?0}=t7o`x|9oIU>EET;!M>Yk@@xMl#VqtrJbF9t zeABac`|{-9@2)a`Nw61M(I1`rg`$|DBAB)$?;gy-Sn@Ul+7-Xnue>HH-y;kXBtKeI%MFzugBCdg# zDm$&BF|z_HzdhPL+bbbERzp#T^_3}+LutF$ALie=zD-E>$>UdHWSDI}No3G8yEe!h zD-*Z9I~&zRE7D*47%tYjlsZNoZSOSH-z7m;sOYtH>yMt@&S~|ruZtcoS-BQ97q)3- zOpb^dcz(#x)!nijMWVx2y~>+D=Gd&itq#=9<84cm1WKbO>M2IjHl2DqDj^*)-}DyB zHz*eF)b{2MkN(AS97E~foe~=jr1s>32-yDyTOr1qwJY0L96m9R;XLqE^9j>`cS4+@ zt4#C@a{M8NrE0+sDl19HY}(bhY>o7(qvkH`zKd=7kXrhpAw4Se9GPUq|0GmbX0~xO zk-?VYvI(_cCZ6Oz;hmJ_QUOeh>J;9oDl@?)sK_6EuJlZ`)Y&?s=D10x2I6HG-YW2$ zhilsS#YI%Fe|P7X>5Yj>pjLz)&tGUQnu^sPK%_2>A~>R@5a@AnU!oVXrJxB)rQ(EGhTc>uXH`FMcBG{)yG$VF8qeSTue7j0+P?}1pR(G` z`W`u;ilaM?qa|r2Bb9A2(L}I!IV`7qvPSsEW7j|X#;}?PxTF|&|mv*TLh)Y0k1i)VX1 z@SK0sXsqt=zcf82NmB$u+@-xl?QWI-+tW&A)_B?Sz^g}0K4)vRzDPqHi}WVjDzs$k zxIxu-?&gPsZxyM?ZrfN+&t$UM7C^9>%Icr!)DII$Vs1w{jWSaMiN;qa3;$O&BwCV* z*ZNVVWBd8lpMOIP|6aQO{8yNOaSnf=H-FQmFAo3=1P_ ze?R#*`|*EQBZ=-*2<|jiRs_DByPhfNLj8iEGpG%jZq+=sD;roG!kEYK_XTVk(T`+G z(bxEIt^1dW`M-TYWD6itl1AMl`$o6F(0hwA`F!%Wm~Ce{C1s8cf-7j>uR~n#)w;XO zrp zy@zdCEXcfSw|o-^$ef3(@CefUzLI<*L9YN!bo5`H`A-cI#YB&qiKOD94C?;IhQ&y(j=6gSVix~Juvd{uwr}S$&vi(5h9Z4ru)@!KGwJ5`deIDL zrsYhAFR__;;H3YxGOjlmG*LZfoIs}AEn7+^eOuBAmEr;&Y1HQtMon%^X2yRkL1N&b$0#&SR0lbC7tHq0B_dN3=IC-KU@{q2(y}xZt3N#fP7soO@p>x{XT%LNTHo+%z z`TQSS%KVNSfHz|%C4bSG0f8h9s1V+--ro{*3pBk^njb$B$pd<9b*M%p*B3N5ivpjr z!=<5Zo)@`N9pps&-#u{e z01!-egyRsBAOFhTxW7p_?rtjiJoR!c{b1MbwILD(EX*H*6gH!*S@LLj>1nB{6=h%V zmN=6$Ochntz6Z!k{$nwx_QzY=7P0#jmXbNePah1wKL^{;vBx&qSMmKaY!tY?I=LUU z{5dF4+}?gyqM+EKBBUrQAF2=JG3(1)E3NwHhWg%%q*qf&E6vnCz>y5)n$BS_*pUx%QoYh1EFm5Y%{8IgGBiI&vn`;|7k@% zAWbO;3_=tu^(VtPgx1rQXa#LlRV6Mhirah=cF8yyj>=*MX$|%G583h}G~m+z*aPU! z;f|1;f4DDDy4whOi?@GeyI;(4AJZCZSBtl=&A;I(8-FnDg}?8YZ}HCy`~hjBIOaB2 z-XbMckV_K&{;&Ok!aE`I30id%lTFW$G-uD5d>A4O!vASnpug`-Vtm&t-8}8$3?l49 zUAaZX!k*RH+a$-flYLio{rtb(3BXINjx{io{+iF+6bl;+s%6f*P=u=kWQ~+DVS(xu zW@dK*0pw=SS?<0vLwYZeAFJg@|MNn7#{l4OSfl03j+CL9O?&M2%!H}!$2-{|xO_{o zF+`DSFAAIMyMaiaf-+AVsecWtUl79%n0(Z618yNk^@xx-KPTrVx2A^wjM{qO^I`Si zr?&q*LxyEB*OlK~M-$_7yw}v!bm6MDt33}44E(KIL_Yfimhgdpq@c2r$JNCpFC-*n zYH8`{GHQC3VBzVM3_aE@R&jmB%(dz&#|K=Kb+zgO+f>a^kBTa~3ECH-@GNuYJhnU@ zze);b-U$4}hn8=J(>)p)rza;9P+r#)Yh&5uPfko<&4jyA=1z~v{in4t7}Tl#mUV_D z$=cfbHg0J9b9}Q40+GN^F)^f~_+3$PS7fgcJz&}ZX+?_$=Z{B6N6P4JgF9be(D^5i zZqZgTyQadFdL7F1C&d39+l z>_4vabAUWz^3h{xe`lv8^D#Ckzr7t)S6l0m2me&8Y7rc3XTO@5>A)+KH`&)c*fBTeE(ek}}BDWb=o>s#Ppqo4cQyZrQCzHO{(WL=E zHd~T0=oLrL8!?M?kh5rpg!fGDx43cf&sy*!R;;hzF| z@x{bV)h5{UM>E8dn_t}S$BKNxCZNo-A~@yJAJkH;lvgzQ{lcsdr=>V2$YsBJ)|-^X zAJcz4=oKCy|*39^Y@j?ljrDe~>wM`=;5 zq>D6qgK+V2rl!p;2`^$Ed)r7J-Jws%(e>Ods!eU}WSdc<#;$BJ`_rP7dIxjgpoc-7&g; z*U#ti{p0t3`}uS6*k1SEbMHB?bDn`GJqC`P&ju9|~WjnlCw*4U7+LG~JSB()n zr^mrt=Ze|?#}e+>BhBc9&Sb7})kVKpq1Fm{vh*e=+`jG5Rcc`Qhgs2Ccq!vLwwTOh zrQ3L&@#mG%uWjpS&s*);GVA}m*}u^d?nnf0!w6R|FTK(?UiyC&QL+quj+e*bo1@Wv z8>m_wWtz3QghZH?O-Z+SEZK}=a;`ZdOxV`uBO|e4HRQO&00(Y}791c{nz&J+0dL1;T34r^WB%bTp< zaJEs^)zvkBW({!qa?>?!J>;U+eaty7HQF%bqP&1 zkH=%%ll)86DGI7mh`ZJ59x=mA(04T!I;?_-c{%&wx|{`5xzinR5wO z*%Q>WVgivhOWatF;JLEG>o1kZC^gq8c?>OXC(#)f11>LKW386siu>BvCJqud`qx zd3Wt62yflGHP|rgGm6QJHb4k|V%F9)^f(k)|D@$y4L}+8v7t|g$7e>j-#I*a{6yTv zb$I)1p?WqX^}#<)fZiUAH~;pu9n@QXTwq2!fc@YO$sN(FwS={KXWf2pO3WLR zMb~X?>E+XzR8rj^JI%|mIRTSLdKbzH;B@rI~p zyWVaF4C}=vsY!*&?A_909F3wQXI;k;GyPnOY$gI&pFBlxakY}QP>wI6XC zE*L{Cu4%Yc$ZcYX5OrhR7z=dhQP#V?X?)gec^G+I@{J{=+?A2Np6mm6qN`LW>HfS7MlC9D zrY47Lc$$KR^II6KP3wuk?*aTmoDw-r}cPj2^B8+VdZx#Iu;&YL~S z1$MW3%_8koZ3DmV=W7zb?M3OuKNcLb$%bU+<#7SI2A!@Ln<3)3%@BH;bvkg|seZxAw9po-Zpiv%S83 zba+_%rGyDl&X?^vPw%syhdipJm1QaTGCJ^#k?>oa9^$H`b)Ty*} zJ8L&--SB{ilJwq?@?GwL7n49de0m0BQ3*=461GoX7mrOyV2dbXQPHo3ulCQ$tgdFJ z2->?14#Hn+p}EUN5|5$k!9V%&>5*YYW+ifmdNAEPj zfqAqDRH7EP+vev~LKFTd3cj_usSGHsD%#c_ycIS4gtOGUsv_2E<1@DA6+a9Y<)*%g zpVPY$Nxwfki$pBv;kusWXV5cl!}KcF^PngK5;|CW7`>v?o3CRt(?8x9Zp z&bRX5hxz$GkBn#+FUHrtJaU-c^6D>7`CYcA=4-y` z#{7sH9Vp8;(+w-X7dC(|YX#>uj1Og9{IYp}q+R%n(c_%u+N<#J3so&(UvFPmBza2X zFperb&G>C$0GF| z-0Bd+^^oC2a}o=cn#7MDN`lSTZaZa(R#Drw`-aU8$d@E)!gPo{=iCBceSm8T^Ejq=rf zjFhT3;8wMw*25zWE1o@kvEG>laW+ zu2_%A$Vp+5-b4YR^DdqAC16^h6tw?Gj3g^Jw^!D6cpYrOwoAN_V2 zN)WI-cPuq*{o+}^T4#^IGzJwaEhuM5jjZpBTS=tk4?a0gzw<@;-f5#VCAZnZU6Q+y zKB17TNpOwOn22wELXiD_k5Nlx{`~naL!tcw%G`G0eeFMsR^KePh9goUi$!GeX?*$v z*>6fj{^kw}#(V9bOJrd}?YC$x&juxI>%g1UGXn2p=?!%^YmUSZ9b!gai~i( zN$D7(=ww9&;*Bi}2#8k+s`{Kx)&tsZQDM-ooo@Tl`wX*Zdc6h8a-$dE_@VhI-8W*$TJ7u%QC?@JxN zhUT`NPFh<~>}3f!RC>N3KW)3@y15zu`ErajD#@)=j+Q>==}pjYTki)lT&ttH9-Ny~ zg)9=s{eG0KQ&?;A_`BU&wza>;`_0-^C+?hn?h*5vhn~(}kPcqnJR3T+p5*xC=9VDj zogAA+I{sN|(QPT->|BG_8T?&=KsqJj7h4V&8rPR3HkAG5=ipK=YUtc;f9OemU8Lmk ztRL=fFo~^J?ZjvPDFvEFzp5Yy)~W|K93c@uJSgLelSD?PkoEg^IcDM=v&qv8DSk5N zo#DS+_7)U^Uw99lI`)75XleO#l(ai12Tectg)Dx?4E_n^7*a_|1zlmprsWr;UnZ8&a?6eL3s4L+Jy~@`yj>zjTmx~ zyeVE0CoK^YA-YNhNGB%R*Wi3H+$Qk^bW&koF`APM%S3G|nq6wi1ltC5?UGOd?2cq& zp(O6ejb<%_bhul?<^7CQDdvr;s!P>DjMfminn#*u>4u~K=en0tXZ_39#p-SiO2!^c zhck#t?tEh2xUa%|Aa&lQ%E~c%(SvyL zq^{{G{+Qt_r_h$=890zMXxr??xSDi#J>i3gbs9GkkDiTCwUEDbe{y3q=vfft$}_=P z6uwkKEC#j$nG({ggkd>{8>Jrp(v4E|-lg)M1Md^-9ZSDAw!q6)K5a#i7eZ?ZpMoWi zwkNl<2w~TO3yaJ~n?JLYWiVP}b;5rd;Ye5%aSuOnR+CJx!%l1f{bDlgwQLOd>b zS02X73H$73*EepDBU{TD;ZUWwZyLkR-zgFqEX(-wNA53lzFNg5F;@G~^Isnw8#9h* zNI_!-`vMu-#h(WV07o_q8Hs!esO zpfy`S5&zFKE*vwECZ9x%=}=Cc5rN>S+Cm&-4?^)loq|i(+U)}oE=yFOz7kruaJC1+ zY{T%|#(39;gNHj@)=L62T)_d6CAI;#IG3PUD5&|Cy91>I!)>9P`^RoL+hh3DC zZ04~0o(~mtZ1lN`n2+lzch0IWZ1gYsnqCJ_(PG@#?}>XP!#I+sxenSLZp3FW7KJmh z-mM&u9TTqjK}ID)&BkFtAn7@xDQrsT;t;ZImB*ApLn@wi(?V)y0(;z|y-R-}^Unrh zM%=ZT^b?yd7X_l#FOSb0%6S2`qF0w@H66b5hUyP5>D*eVN_*VvKJJ->bMJXJLUXj0 zlkiU3h4pPn(US+0ws;D^L=$7^i{dS>P7BX;a z8}tF{07grm?=<74J+>>g0dgy?c1uKN{DD@vO>auIQpN?&Ov>@PoCF69VvO}86*ng@ zm}Z?<^*((iwac<^E|tn2(VSRK_9jQ>(%uFA8k0Wiy zyq-s>5D^^#>Bn{A4%ms-n$favEJgVM@~Zx@R9<3!KT0CSoy4R~teuP8&T56WeK}aK zX7cl-2<;Ftx8{4|>i7lCC?8^F!#uum6=Oan(6^A3T^?t=U8(bCDRd~UPzE=ARguAh zn48keS3S&rM==`zEuEIJIQdES%tc=JGmXpB(RybCB~3J&iN$u=q>UrHO5JkG)%voR)yJfCe4|MnYrTy=Ew5zOIv zh%v2FKIwLw2YhGt+`35H8t%S1>AtgY2tS%$K6|^kCqy{s*)A29N%_x)ciiI}p6#<| zLH;H1IdziNtc17O@_1db4X=qUQsu7J@-MsaA%jHUyPFX46#Q!6p`+jlVKtVY$>lXY zL2O`-2xq7`xtiMy+%4XJg(Z@lSFYvJ8Avub2>KSp9!e%#1g1tLLOY5W)xHr5twGYS z!vVS^Y*|LdgcEZ;VfpV`7vU>NcJbzH>e znO6OQ7FQA}O>@fSMkW_bOG``VTJr;g4tqIs^7K<~z};SV^aVC#1$u9YG_?fuHAp7x zt{XCyG5Tt!YE7a(5q}T ztq<`bqdp|b?DCV3o9yop+VLJqZ7cn-?ZRNO9_3S?os2u`4+L|Jtk9uuN3||G=ML8c z4?IpTOfpHTT!^f%$(mt=F9cFV+Av?(MJ8k|0__Vn62`SA`#SJyi^`-y))(Cyi< zq!8D|viGH#S&v!xDS}MOT8V6$&deW&Q5H-AY*@nVb9&%pzCx2VXK}3XAMN%gE)Qt0-k6+8>DF z9`D_g6x=mFvA?7vr9liuBb*n-j48`a7?^(RYOTr&)=JB`Cu^SBGr z>2lifTGNwA)$~c_)9DY9v9Moe%00EVpsbnW(^1dFg2UD+Ewt7*49wY|wK9Xz{n#MZ zl`d@%-=d5AHS{5v0>Fiy3SBLg*E|A8(2{`T8PT?sG|EtpK`P$R8dfQRh?Wri$}dnf zofT*hdc8S@&@L4Lis1q&XYlEnM>&&4aiQPk;DTJs3Q6Kac1**Nf#(tVUcVN39I3|< zQ^s`>6aH0X1%xUs?2d^iryIqXs(Y6=#WH?FnPi&ocxu-=BJaqW4qoFH%k-N5X2 zCi5=j<#zca$F`l$Emd)hAeAO^x5K1`6Rv4Rbr*1_+5$h=Rk|pjq%*k$9aImgm)kii zfww_5JuJcw2F8^K^}o=Mw^yHR&X^Xt0u=3O(y;47Kc-A`Vl{Ow)bq~E>rZUCGPjFG zRP$CTAQllDQl|sq=dQehZJoQRxicq8GrR60eLbOTYl(Ur`gC@N20c)L=2OP2UB(MX z-)Bn|PpJ^*rhUxIBGZH((5nn(R3dE(?SxDR-}ZJ5Rs|I-cFuiGILtGHl2dyD)K?Hd zkzyGpmQpL6p>1p^asCKUMPBn<8l7Lw_`#eJNzm9xm20c8kGzJP)iWn~veJwn zndRV|&Mac7YM>NCvo@#EB$sql?&Zi^|3@Jm#S-SJ*0!hbC}yjbq%Wrdk>jKKy1G6V zE1-y%tsj_dCY9K5Vk(P>-8n9j)po=-OL#~sZ^uzz?KFprUo-&*iAyIa8qAq9R?Jv1 zqR4T1Nfs;}PjG`OOCHK49RV{w=H&u^EhgT0BtLB;DmjW?ctSbQd)&F$;~aL-=tppF z`q5>qaA^z-0$l{@je&0}tUsT$hB$%}3l`(NXVk07(t8TQH>mTVE0-}u+p-Wli<^ip z*=tLSfIcbxHXnSEN`gGe2qy#>`qd>F0aj<>_m=POS9DF7Yy`o|mHdks_iw6o*UYWCYmG^A zVKOm)hqb?*i%V>8zMj|_x7TiP9SLQJ3s-?%&3G)f+kV!tVYKd0K=r_(iwibjwnQWz z?-CM20);$@~f^y7z=TQ@(C5C>$Zl zW2@gJXe_KPEYD*mJoDytBt}PC^vrG4^8YVHe7jkgm?h#Kzg2|kO>+!R1A|^drFf*^ zz>o>}PUpcz{kdYSJ@jEz(RJS-PdUQE*Kfy^FO~X=n3zBj7^$m7S<$+MNScUHn9Kw4 z;#gnGQn3^mg&Nu9-9-$`ya1&m7UUkYOd@m8#w)8CQw*{B&=&H|FZ^=S;Je;{7I2j( z8vaDX}&a{vo83<@xrM& zz&YP`Hxi$QSz=>8GVvGm$7SF4dD&O3lm`!JtrAm2{8XJccV9n%!)v+VQl~3^A5&y$ zrK|>e&>LeGpk~`zYd3_;rb>C7c>R9aBV9J4@RA?J~1jbdR_5hNC(Ik}m<9 z4%2MStorQypljgM2c0iUj%~F>qwy*4D$%sHwWIq^J3Swk-rY;Y`XcKL*6&`PxE)rS zT{IES-?tA&vOZ3dY@h{&=|ct+SIm}p+wq_GPO+|C&T)H>hvPd+ay9jnq|o>~dV0kx zLe=(9p3CtGUbY8go9VFJWYkag;;@SR;#6+4a`hUjA`_X63liS@xk4AmAo{-Ln7TbT zHXUNBq#&fJHtuWU5D@!IoS;Df?bNw10_>&PgqhKx%XDecJ_*V3zw9u5eEb2L+dU{t|wha-lNi=7m>D5?_^2GiF6i=he(Hx#|spo zx}Z6vUWXbUpzs=OCB0l$@_8aqv*hIV; zMli``M?APj6bKVDSoE@T8q{kMU6lr`x~-|)V6X5rgDRay%0pw^S-2Hc)AJm4ARdz; zH&4E!tfo#xeo65}houxm(^EEfQIl0NZy+nty26Gh-x0TE!?wzt04KD(nT<^biu1b= zHkXZKVQvfMt=|@gk+h9Y@hu)eUvH=yVv9iQmU|`H*G#*Sk}mJN4BZT)uuxAfg-z18 zB^rHNSrTS`BjXPa1a-n*Q%A&HZ)|r(=*tnZ@JD3r$dHh4h8UaOA=Dp~oid-_rK&&v z+--n<*zWTg`$-$x0lte6mUAvqi_!w7}#`f-BH*qG+rf7ne@~RdYeh-jo(mc z+}9j@?}6kpvGfBkLW?k}$&;zQ*(QShKn!ULu`7>Rki%s|7^9J4B4A9g0vOoaw8!&0 zjqT2Bkln90-X)hR%dfwDFKS3dTG9U;nE3=)+idOZ-$;35^APbmQzx~2uG7<`k9SnJ zgqFi*rtJ4J^M15LW3=P-f!QaVzla^>g8w=C)h4<@4vg#H8R}-K{K12~Vn-u<&U?Tw zuhy@Q^mNpj`9SK>EC&Y?noxh18S8o?;e{DKh&-YRs?PiogoKty-oC!t+B;9C)REx? z$(9mA1l?gxh!U?QR72AY{OHh0m5xBd1kem>-(gt26Dpgqhh zWKJ-3G}DdHN4hqHZOZ45WT1~HJKhD4oux^gvcv}CuryKr`^%X9A9knSxJT?_w>Zmp zZbAxUQHho%!=Mv(Xo#zxx2^k$5VuE*9@|5rd2btNHFM;)&}YGos+YSje{p+%P4=F13l7sYd+LM=Zj7Ncu8_?{ zp&$Mx$Orvia0LRZJ}&qs+IN;ZQNp9`v#^x{#q(&sh$fhP7zL=I!xj2aZJ1EHt*21V z+;M6w*2t+^)+S%ObdV)iq563Xw^L(;QI%1*WeZ1OGbaXvEXJtSrIC>Z$hb-87Pkhnvk2Y4X~` zV0R;%hLBT{LnuXlL0wb8ird;{_F}G_r}u|Vd%y0Aejok}iBs8OZnZ|P^H9=3YRwvx zbxNt^;cz6I^p)tDr(MqBgqhz_kLocwr^@5osf{#j>+#F^2_@ba2SVCiHs&+4hRMM^ zI|2Al<6hH2{Ty@V!6f1;nlv^)6mH+O>FF%=I1N;tG+WLgT21H5W|2;y=@CX=X&Zmz zLLWGd_LlQ*;V}3YvJ1@=1{lv-Lr{w1L-CU|1E-(8H^D8HWDRj~jM{NNYCkVb@Y)kk zC@qBIY(cyj-ZA|HW^{Z#w8GKzU7mJCUj5eT$Ki=@I(_tLHw#Pa{luLU)o)(^1k5!I zQy`H*J$$P9XW|kX*iVW6%ZNsb7-tBJ9$+ z31v^4?K34(J3-5YDs2r@^mGq!*v>>|aKawW4^H!>Jv5k-&=?%Y-pqH#CwHox)FahJ z|CCb9daIB}$n_=Z!TvYvhdc-M#u1g9o3s+6{Gi4j;-#mgT!7tx<5}?aRQS>68DJJj zm-4Pau3|`NiEHnx*RFn_n$U#_b0o@(+4v~oTL39J{d3hBWUl91=dFp=!C1HHvHq15 zsxFqeRlfar`vzK|t;Uvs66wW9pf-!2M+0K)q5lv)h-#YaB4p5YWCZi!F!waCRRU4yGg0HLct|Ai^-=1#n+ z7w7wu{x0i1jQC(m-QcaMW6xK~&dBW^z~2h|&pGhBFV|*Vj`P}&Eb7d5lfG<+d2Vy) zJnBAT>)MCMZi{=qOBgoP+YRiw`;uVB4+~6Yl(WL!*-GxM*;DmP=^sgDAHY|!&~<$d z@n{)$>6SMzJm|F>uUOF{pdzMGWO&4@m?#!Dh>EFwBx{p>DbX{PeyBY-p3DTM&_(83 ziFwFz5(zScx`Cg7;+VUHI~@$=zw9ME4dV7^Q$xX?c!BKH<$4N}KVHj`Pi9_&fu!+- zQiFrkC&J($TUZ<^^599&9D)wuT-p)o%nVMior0 zy^mS@;DDGl_oBK3bm!)h9anL4evnksbe49G$cfVmmzm3tI~|4mGlyEHLi<|A10$tn zLn7;D?^N}&1sYxF7uYG1125X_te?bW9$4pQbuPH{F*qrQS`;4GFK?+1uG`jq4NKa9 z(Q;1U+EBJH9Id9b@BJtWzOKz5q~{zGswaG&3VqN-$u)&X#*3Jhfi=g#J={Ic=dVv8 zhdCYJCz1{+ZEz1DbL&Pjn4>33fM$<>9 z(~(CUh_gJ1XzNh(QXBH7T;j%l!FCqv*YUOoiR)PvF)(*l7}Z5E`0dddEy?~=Fj!)A zYW9`f`FSR4i8_p@%E787{X8_+I&E+zYwpony3c{=F<~Gd=&AY64Nc>N;Bj5(_rSE) zGL%OK7`yCueZ6?uPEx4Uo%(OVXZd6qg>`v+X{~o?4851QoCc{T<{eu+KeJ{@Eltv8 z=(zTKm+g+r_zaPRh(J6?62H@XEJ;lkE9&Jhj+fE856)CjH;R9+r(@9_(p$>_wB3Mh zp~AczWA|FwFG=s?^QTfP1Sdln%>>#BtZT#PQyKGDF(S==BJV9OmIb^;d`p(VuY*f1 zdEmOup9-67O0KT=gvsas6Uj8|K(s^ubz6vh@X)%dD7DK$!$wI}d^cJi%6$7vFg$iy zQJh#WAXw2%3MXr@iZvIXs-F}Xg2Tc90jP+z><{Ph+aYeGE6mJxV1*~7c=L!vbMZdazdAY5f zL0A)KBKRXN$(_ zF8zD*jBeZX!7UO<_giN}?i3a&^up1S6SZuM4^TsG0zZec*OxO@b9=`5lCr7_SxaXs zB<%F6xVOiaJ|c7a|ydTStODQyFO)^ZJ8MESHKvJ%?MHsg{W~ZOrAXOMvJyb zJhF*f$WcC4lX6n;qq!eOx~_TLDN7KhoRcO#KeqgN^PTlZZO$e|5B&4RH{BUifxB@V z%N2H>8W?KfY02a!?e84>pHJN~dgBz;!iFK}A$e$jWhM=NN_SCWbDWq;m+wbweM-HNk0;DnzyF&fOJ(PcdIASGOgjI*w+1o+u3gcNIe*jOv-*9 zeV$IZI>v~gOnv%rBo5wD4V|GI_*L_ri}FxjoH+|=R=3lVmDX?8S?Dbi z!|6@`+@HU)ypvWnT8wIt>^L#dvyjVpGE5NnFILbi1)psmPnQVfQg`;ncUKP&i1b8i zVzHv9!ajF+{N2Ljj_fBO=H6JPI>7sERB6ba{RY_XE76X~o$D?8>9<#dd=~b56{t1e zL`$a|JynSQ8k$%zPWoLL{RBSmlo&iFF{!FMbn7CN@U1b;q9&DMO@@u`e$c*ZbhsWR znub~V#)-chnGVfaKf~3)^86)#Bn^Sd3#uAD{0kaEX6rMON#VfizH~1|wSLDcmV@-~ z{4OU&!`AaBLFwZw<&KA`ZjP@MW#DU)1(-o&4LlcRctWvN<+7)w4g2$3xk;@tgK2$T zIE@59-RkFt=@$nt_KVWr2DqzaUazJW!L;#=s+-{^?SJIv?$_Jxa)mdtmGP=9>r!jM z>m?UM{4c7I(aF^LjYv1z^P;C>Ym4!lA)FP)KM|wM zS6O~=!!TaKOCtk#NQ5J?A`e!;d+r*`p4oQ!@I%W@(@bJu6r3fg@x|%A#QT3TBW7Pv z1Z~UAQ6G0tX~xP_Ss&a!yS1cOPAq-eN&L!rEaKW*&j|X>25k%GBx}C9XtUAP(mw

64BJzm9B=QoT#h@c9Xbt5%*We+J8nBM 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 Date: Tue, 5 Dec 2023 07:26:18 -0500 Subject: [PATCH 023/165] Update website/docs/guides/airflow-and-dbt-cloud.md --- website/docs/guides/airflow-and-dbt-cloud.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/guides/airflow-and-dbt-cloud.md b/website/docs/guides/airflow-and-dbt-cloud.md index 0473043f16f..89de21cd992 100644 --- a/website/docs/guides/airflow-and-dbt-cloud.md +++ b/website/docs/guides/airflow-and-dbt-cloud.md @@ -31,7 +31,7 @@ You’ll also gain a better understanding of how this will: ## Prerequisites -- [dbt Cloud Teams or Enterprise account](https://www.getdbt.com/pricing/) (with [admin access](https://docs.getdbt.com/docs/cloud/manage-access/enterprise-permissions)) in order to create a service token. Permissions for service tokens can be found [here](https://docs.getdbt.com/docs/dbt-cloud-apis/service-tokens#permissions-for-service-account-tokens). +- [dbt Cloud Teams or Enterprise account](https://www.getdbt.com/pricing/) (with [admin access](/docs/cloud/manage-access/enterprise-permissions)) in order to create a service token. Permissions for service tokens can be found [here](/docs/dbt-cloud-apis/service-tokens#permissions-for-service-account-tokens). - A [free Docker account](https://hub.docker.com/signup) in order to sign in to Docker Desktop, which will be installed in the initial setup. - A local digital scratchpad for temporarily copy-pasting API keys and URLs From 5057aea21c992b9dbe556bb723027a9390b81165 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Tue, 5 Dec 2023 07:26:27 -0500 Subject: [PATCH 024/165] Update website/docs/guides/airflow-and-dbt-cloud.md --- website/docs/guides/airflow-and-dbt-cloud.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/guides/airflow-and-dbt-cloud.md b/website/docs/guides/airflow-and-dbt-cloud.md index 89de21cd992..b3c331920c8 100644 --- a/website/docs/guides/airflow-and-dbt-cloud.md +++ b/website/docs/guides/airflow-and-dbt-cloud.md @@ -14,7 +14,7 @@ recently_updated: true Many organization already use [Airflow](https://airflow.apache.org/) to orchestrate their data workflows. dbt Cloud works great with Airflow, letting you execute your dbt code in dbt Cloud while keeping orchestration duties with Airflow. This ensures your project's metadata (important for tools like dbt Explorer) is available and up-to-date, while still enabling you to use Airflow for general tasks such as: - Scheduling other processes outside of dbt runs -- Ensuring that a [dbt job](https://docs.getdbt.com/docs/dbt-cloud/cloud-overview#schedule-and-run-dbt-jobs-in-production) kicks off before or after another process outside of dbt Cloud +- Ensuring that a [dbt job](/docs/dbt-cloud/cloud-overview#schedule-and-run-dbt-jobs-in-production) kicks off before or after another process outside of dbt Cloud - Triggering a dbt job only after another has completed In this guide, you'll learn how to: From a649e0e61f3d8fcd3727573c699db6c7dc5f49a8 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Tue, 5 Dec 2023 11:14:00 -0500 Subject: [PATCH 025/165] Update website/docs/guides/airflow-and-dbt-cloud.md --- website/docs/guides/airflow-and-dbt-cloud.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/guides/airflow-and-dbt-cloud.md b/website/docs/guides/airflow-and-dbt-cloud.md index b3c331920c8..e7f754ef02d 100644 --- a/website/docs/guides/airflow-and-dbt-cloud.md +++ b/website/docs/guides/airflow-and-dbt-cloud.md @@ -14,7 +14,7 @@ recently_updated: true Many organization already use [Airflow](https://airflow.apache.org/) to orchestrate their data workflows. dbt Cloud works great with Airflow, letting you execute your dbt code in dbt Cloud while keeping orchestration duties with Airflow. This ensures your project's metadata (important for tools like dbt Explorer) is available and up-to-date, while still enabling you to use Airflow for general tasks such as: - Scheduling other processes outside of dbt runs -- Ensuring that a [dbt job](/docs/dbt-cloud/cloud-overview#schedule-and-run-dbt-jobs-in-production) kicks off before or after another process outside of dbt Cloud +- Ensuring that a [dbt job](/docs/deploy/job-scheduler) kicks off before or after another process outside of dbt Cloud - Triggering a dbt job only after another has completed In this guide, you'll learn how to: From bf57f5102375efbb1cddd19bb11c519eaddf0cab Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Tue, 5 Dec 2023 12:31:58 -0500 Subject: [PATCH 026/165] add materialized view configuration for redshift --- .../resource-configs/redshift-configs.md | 84 ++++++++++++++----- 1 file changed, 64 insertions(+), 20 deletions(-) diff --git a/website/docs/reference/resource-configs/redshift-configs.md b/website/docs/reference/resource-configs/redshift-configs.md index 9bd127a1e1a..ea0e4cad7b5 100644 --- a/website/docs/reference/resource-configs/redshift-configs.md +++ b/website/docs/reference/resource-configs/redshift-configs.md @@ -111,40 +111,82 @@ models: ## Materialized views -The Redshift adapter supports [materialized views](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-overview.html). -Redshift-specific configuration includes the typical `dist`, `sort_type`, `sort`, and `backup`. -For materialized views, there is also the `auto_refresh` setting, which allows Redshift to [automatically refresh](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-refresh.html) the materialized view for you. -The remaining configuration follows the general [materialized view](/docs/build/materializations#Materialized-View) configuration. -There are also some limitations that we hope to address in the next version. +The Redshift adapter supports [materialized views](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-overview.html) +with the following configuration parameters: -### Monitored configuration changes +| Parameter | Type | Default | Change Monitoring Support | Reference | +|----------------|--------------|------------------------|---------------------------|-------------------------------------------------| +| `dist` | STRING | `'EVEN'` | DROP/CREATE | [Sortkey / Distkey](#using-sortkey-and-distkey) | +| `sort` | LIST[STRING] | `None` | DROP/CREATE | [Sortkey / Distkey](#using-sortkey-and-distkey) | +| `sort_type` | STRING | `'AUTO'` if no `sort` | DROP/CREATE | [Sortkey / Distkey](#using-sortkey-and-distkey) | +| | | `'COMPOUND'` if `sort` | | | +| `auto_refresh` | BOOLEAN | `False` | ALTER | [Auto refresh](#auto-refresh) | +| `backup` | BOOLEAN | `True` | N/A | [Backup](#backup) | -The settings below are monitored for changes applicable to `on_configuration_change`. +#### Sample model file: -#### Dist + -Changes to `dist` will result in a full refresh of the existing materialized view (applied at the time of the next `dbt run` of the model). Redshift requires a materialized view to be -dropped and recreated to apply a change to the `distkey` or `diststyle`. +```sql +{{ config( + materialized='materialized_view', + dist='{ ALL | AUTO | EVEN | }', + sort=['', ...], + sort_type='{ AUTO | COMPOUND | INTERLEAVED }' + auto_refresh=, + backup=, +) }} + +select * from {{ ref('my_base_table') }} +``` + + + +Many of these parameters correspond to their table counterparts and have been linked above. +The set of parameters which are unique to materialized views covers auto-refresh and backup functionality, which is covered below. + +Find more information about these parameters in the Redshift docs: +- [CREATE MATERIALIZED VIEW](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-create-sql-command.html) + +#### Auto-refresh -#### Sort type, sort +| Parameter | Type | Default | Change Monitoring Support | +|----------------|---------|---------|---------------------------| +| `auto_refresh` | BOOLEAN | `False` | ALTER | -Changes to `sort_type` or `sort` will result in a full refresh. Redshift requires a materialized -view to be dropped and recreated to apply a change to the `sortkey` or `sortstyle`. +Redshift supports [automatic refresh](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-refresh.html#materialized-view-auto-refresh) configuration for materialized views. +By default, a materialized view will not automatically refresh. +dbt will monitor this parameter for changes and apply them using an `ALTER` statement. + +Find more information about this parameter in the Redshift docs: +- [Parameters](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-create-sql-command.html#mv_CREATE_MATERIALIZED_VIEW-parameters) #### Backup -Changes to `backup` will result in a full refresh. Redshift requires a materialized -view to be dropped and recreated to apply a change to the `backup` setting. +| Parameter | Type | Default | Change Monitoring Support | +|-----------|---------|---------|---------------------------| +| `backup` | BOOLEAN | `True` | N/A | -#### Auto refresh +Redshift supports [backup](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html) configuration of clusters at the object level. +This parameter identifies if the materialized view should be backed up as part of the cluster snapshot. +By default, a materialized view will be backed up during a cluster snapshot. +dbt cannot monitor this parameter as it is not queryable within Redshift. +If the value is changed, the materialized view will need to go through a `--full-refresh` in order to set it. -The `auto_refresh` setting can be updated via an `ALTER` statement. This setting effectively toggles -automatic refreshes on or off. The default setting for this config is off (`False`). If this -is the only configuration change for the materialized view, dbt will choose to apply -an `ALTER` statement instead of issuing a full refresh, +Find more information about this parameter in the Redshift docs: +- [Parameters](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-create-sql-command.html#mv_CREATE_MATERIALIZED_VIEW-parameters) ### Limitations +As with most data platforms, there are limitations associated with materialized views. Some worth noting include: + +- Materialized views cannot reference: views, temporary tables, user defined functions, late-binding tables +- Auto-refresh cannot be used if the materialized view references: mutable functions, external schemas, another materialized view + +Find more information about materialized view limitations in Redshift's [docs](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-create-sql-command.html#mv_CREATE_MATERIALIZED_VIEW-limitations). + + + #### Changing materialization from "materialized_view" to "table" or "view" Swapping a materialized view to a table or view is not supported. @@ -157,3 +199,5 @@ If the user changes the model's config to `materialized="table"`, they will get The workaround is to execute `DROP MATERIALIZED VIEW my_mv CASCADE` on the data warehouse before trying the model again. + + From 406b40851a34268a194b2ae0e15ca5c180c09e92 Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Tue, 5 Dec 2023 13:10:15 -0500 Subject: [PATCH 027/165] add materialized view configuration for postgres --- .../resource-configs/postgres-configs.md | 46 ++++++++++++++----- 1 file changed, 35 insertions(+), 11 deletions(-) diff --git a/website/docs/reference/resource-configs/postgres-configs.md b/website/docs/reference/resource-configs/postgres-configs.md index 97a695ee12e..f9bd4e11cbc 100644 --- a/website/docs/reference/resource-configs/postgres-configs.md +++ b/website/docs/reference/resource-configs/postgres-configs.md @@ -108,21 +108,43 @@ models: ## Materialized views -The Postgres adapter supports [materialized views](https://www.postgresql.org/docs/current/rules-materializedviews.html). -Indexes are the only configuration that is specific to `dbt-postgres`. -The remaining configuration follows the general [materialized view](/docs/build/materializations#materialized-view) configuration. -There are also some limitations that we hope to address in the next version. +The Postgres adapter supports [materialized views](https://www.postgresql.org/docs/current/rules-materializedviews.html) +with the following configuration parameters: -### Monitored configuration changes +| Parameter | Type | Required | Default | Change Monitoring Support | Reference | +|---------------------------|------------|----------|-----------|---------------------------|---------------------| +| `on_configuration_change` | STRING | NO | `'apply'` | N/A | | +| `indexes` | LIST[DICT] | NO | | ALTER | [Indexes](#indexes) | -The settings below are monitored for changes applicable to `on_configuration_change`. +#### Sample model file: -#### Indexes + -Index changes (`CREATE`, `DROP`) can be applied without the need to rebuild the materialized view. -This differs from a table model, where the table needs to be dropped and re-created to update the indexes. -If the `indexes` portion of the `config` block is updated, the changes will be detected and applied -directly to the materialized view in place. +```sql +{{ config( + materialized='materialized_view', + on_configuration_change='{ apply | continue | fail }' + indexes=[ + { + 'columns': ['', ...], + 'unique': }, + 'type': '{ HASH | B-TREE | GIST | SP-GIST | GIN | BRIN }', + ] +) }} + +select * from {{ ref('my_base_table') }} +``` + + + +The `indexes` parameter corresponds to that of a table, as linked above. +It's worth noting that, unlike with tables, dbt will monitor this parameter for changes and apply the changes without dropping the materialized view. +This happens via a `DROP/CREATE` of the indexes, which could be thought of as a `ALTER` of the materialized view. + +Find more information about materialized view parameters in the Postgres docs: +- [CREATE MATERIALIZED VIEW](https://www.postgresql.org/docs/current/sql-creatematerializedview.html) + + ### Limitations @@ -138,3 +160,5 @@ If the user changes the model's config to `materialized="materialized_view"`, th The solution is to execute `DROP TABLE my_model` on the data warehouse before trying the model again. + + From 99ba899848b319af3943c0b526ff6754de21bd29 Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Tue, 5 Dec 2023 13:16:15 -0500 Subject: [PATCH 028/165] add required column --- .../resource-configs/redshift-configs.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/website/docs/reference/resource-configs/redshift-configs.md b/website/docs/reference/resource-configs/redshift-configs.md index ea0e4cad7b5..635fecc5e02 100644 --- a/website/docs/reference/resource-configs/redshift-configs.md +++ b/website/docs/reference/resource-configs/redshift-configs.md @@ -114,14 +114,14 @@ models: The Redshift adapter supports [materialized views](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-overview.html) with the following configuration parameters: -| Parameter | Type | Default | Change Monitoring Support | Reference | -|----------------|--------------|------------------------|---------------------------|-------------------------------------------------| -| `dist` | STRING | `'EVEN'` | DROP/CREATE | [Sortkey / Distkey](#using-sortkey-and-distkey) | -| `sort` | LIST[STRING] | `None` | DROP/CREATE | [Sortkey / Distkey](#using-sortkey-and-distkey) | -| `sort_type` | STRING | `'AUTO'` if no `sort` | DROP/CREATE | [Sortkey / Distkey](#using-sortkey-and-distkey) | -| | | `'COMPOUND'` if `sort` | | | -| `auto_refresh` | BOOLEAN | `False` | ALTER | [Auto refresh](#auto-refresh) | -| `backup` | BOOLEAN | `True` | N/A | [Backup](#backup) | +| Parameter | Type | Required | Default | Change Monitoring Support | Reference | +|----------------|--------------|----------|------------------------|---------------------------|-------------------------------------------------| +| `dist` | STRING | NO | `'EVEN'` | DROP/CREATE | [Sortkey / Distkey](#using-sortkey-and-distkey) | +| `sort` | LIST[STRING] | NO | | DROP/CREATE | [Sortkey / Distkey](#using-sortkey-and-distkey) | +| `sort_type` | STRING | NO | `'AUTO'` if no `sort` | DROP/CREATE | [Sortkey / Distkey](#using-sortkey-and-distkey) | +| | | | `'COMPOUND'` if `sort` | | | +| `auto_refresh` | BOOLEAN | NO | `False` | ALTER | [Auto refresh](#auto-refresh) | +| `backup` | BOOLEAN | HO | `True` | N/A | [Backup](#backup) | #### Sample model file: @@ -150,9 +150,9 @@ Find more information about these parameters in the Redshift docs: #### Auto-refresh -| Parameter | Type | Default | Change Monitoring Support | -|----------------|---------|---------|---------------------------| -| `auto_refresh` | BOOLEAN | `False` | ALTER | +| Parameter | Type | Required | Default | Change Monitoring Support | +|----------------|---------|----------|---------|---------------------------| +| `auto_refresh` | BOOLEAN | NO | `False` | ALTER | Redshift supports [automatic refresh](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-refresh.html#materialized-view-auto-refresh) configuration for materialized views. By default, a materialized view will not automatically refresh. @@ -163,9 +163,9 @@ Find more information about this parameter in the Redshift docs: #### Backup -| Parameter | Type | Default | Change Monitoring Support | -|-----------|---------|---------|---------------------------| -| `backup` | BOOLEAN | `True` | N/A | +| Parameter | Type | Required | Default | Change Monitoring Support | +|-----------|---------|----------|---------|---------------------------| +| `backup` | BOOLEAN | NO | `True` | N/A | Redshift supports [backup](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html) configuration of clusters at the object level. This parameter identifies if the materialized view should be backed up as part of the cluster snapshot. From 0256471955d8480994f515a9e98092317939ea8d Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Tue, 5 Dec 2023 13:19:21 -0500 Subject: [PATCH 029/165] add required column --- .../resource-configs/bigquery-configs.md | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/website/docs/reference/resource-configs/bigquery-configs.md b/website/docs/reference/resource-configs/bigquery-configs.md index eabefe90d4e..9d2b4abed75 100644 --- a/website/docs/reference/resource-configs/bigquery-configs.md +++ b/website/docs/reference/resource-configs/bigquery-configs.md @@ -725,17 +725,17 @@ The `grant_access_to` config is not thread-safe when multiple views need to be a The BigQuery adapter supports [materialized views](https://cloud.google.com/bigquery/docs/materialized-views-intro) with the following configuration parameters: -| Parameter | Type | Default | Change Monitoring Support | Reference | -|------------------------------|----------------------|---------|---------------------------|--------------------------------------------------| -| `cluster_by` | LIST[STRING] | `None` | DROP/CREATE | [Clustering](#clustering-clause) | -| `partition_by` | DICT | `None` | DROP/CREATE | [Partitioning](#partition-clause) | -| `enable_refresh` | BOOLEAN | `True` | ALTER | [Auto-refresh](#auto-refresh) | -| `refresh_interval_minutes` | FLOAT | `30` | ALTER | [Auto-refresh](#auto-refresh) | -| `max_staleness` (in Preview) | INTERVAL | `None` | ALTER | [Auto-refresh](#auto-refresh) | -| `description` | STRING | `None` | ALTER | | -| `labels` | DICT[STRING, STRING] | `None` | ALTER | [Labels](#specifying-labels) | -| `hours_to_expiration` | INTEGER | `None` | ALTER | [Table expiration](controlling-table-expiration) | -| `kms_key_name` | STRING | `None` | ALTER | [KMS encryption](#using-kms-encryption) | +| Parameter | Type | Required | Default | Change Monitoring Support | Reference | +|------------------------------|----------------------|----------|---------|---------------------------|--------------------------------------------------| +| `cluster_by` | LIST[STRING] | NO | | DROP/CREATE | [Clustering](#clustering-clause) | +| `partition_by` | DICT | NO | | DROP/CREATE | [Partitioning](#partition-clause) | +| `enable_refresh` | BOOLEAN | NO | `True` | ALTER | [Auto-refresh](#auto-refresh) | +| `refresh_interval_minutes` | FLOAT | NO | `30` | ALTER | [Auto-refresh](#auto-refresh) | +| `max_staleness` (in Preview) | INTERVAL | NO | | ALTER | [Auto-refresh](#auto-refresh) | +| `description` | STRING | NO | | ALTER | | +| `labels` | DICT[STRING, STRING] | NO | | ALTER | [Labels](#specifying-labels) | +| `hours_to_expiration` | INTEGER | NO | | ALTER | [Table expiration](controlling-table-expiration) | +| `kms_key_name` | STRING | NO | | ALTER | [KMS encryption](#using-kms-encryption) | #### Sample model file: @@ -786,11 +786,11 @@ Find more information about these parameters in the BigQuery docs: ### Auto-refresh -| Parameter | Type | Default | Change Monitoring Support | -|-------------------------------|----------|---------|---------------------------| -| `enable_refresh` | BOOLEAN | `True` | ALTER | -| `max_staleness` (in Preview) | INTERVAL | `None` | ALTER | -| `refresh_interval_minutes` | FLOAT | `30` | ALTER | +| Parameter | Type | Required | Default | Change Monitoring Support | +|-------------------------------|----------|----------|---------|---------------------------| +| `enable_refresh` | BOOLEAN | NO | `True` | ALTER | +| `refresh_interval_minutes` | FLOAT | NO | `30` | ALTER | +| `max_staleness` (in Preview) | INTERVAL | NO | | ALTER | BigQuery supports [automatic refresh](https://cloud.google.com/bigquery/docs/materialized-views-manage#automatic_refresh) configuration for materialized views. By default, a materialized view will automatically refresh within 5 minutes of changes in the base table, but no more frequently than every 30 minutes. From 88d681930b0ed629ed3c5e464cc65ec692d4d036 Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Tue, 5 Dec 2023 13:23:01 -0500 Subject: [PATCH 030/165] add on_configuration_change --- .../resource-configs/bigquery-configs.md | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/website/docs/reference/resource-configs/bigquery-configs.md b/website/docs/reference/resource-configs/bigquery-configs.md index 9d2b4abed75..97acb73ce33 100644 --- a/website/docs/reference/resource-configs/bigquery-configs.md +++ b/website/docs/reference/resource-configs/bigquery-configs.md @@ -725,17 +725,18 @@ The `grant_access_to` config is not thread-safe when multiple views need to be a The BigQuery adapter supports [materialized views](https://cloud.google.com/bigquery/docs/materialized-views-intro) with the following configuration parameters: -| Parameter | Type | Required | Default | Change Monitoring Support | Reference | -|------------------------------|----------------------|----------|---------|---------------------------|--------------------------------------------------| -| `cluster_by` | LIST[STRING] | NO | | DROP/CREATE | [Clustering](#clustering-clause) | -| `partition_by` | DICT | NO | | DROP/CREATE | [Partitioning](#partition-clause) | -| `enable_refresh` | BOOLEAN | NO | `True` | ALTER | [Auto-refresh](#auto-refresh) | -| `refresh_interval_minutes` | FLOAT | NO | `30` | ALTER | [Auto-refresh](#auto-refresh) | -| `max_staleness` (in Preview) | INTERVAL | NO | | ALTER | [Auto-refresh](#auto-refresh) | -| `description` | STRING | NO | | ALTER | | -| `labels` | DICT[STRING, STRING] | NO | | ALTER | [Labels](#specifying-labels) | -| `hours_to_expiration` | INTEGER | NO | | ALTER | [Table expiration](controlling-table-expiration) | -| `kms_key_name` | STRING | NO | | ALTER | [KMS encryption](#using-kms-encryption) | +| Parameter | Type | Required | Default | Change Monitoring Support | Reference | +|------------------------------|----------------------|----------|-----------|---------------------------|--------------------------------------------------| +| `on_configuration_change` | STRING | NO | `'apply'` | N/A | | +| `cluster_by` | LIST[STRING] | NO | | DROP/CREATE | [Clustering](#clustering-clause) | +| `partition_by` | DICT | NO | | DROP/CREATE | [Partitioning](#partition-clause) | +| `enable_refresh` | BOOLEAN | NO | `True` | ALTER | [Auto-refresh](#auto-refresh) | +| `refresh_interval_minutes` | FLOAT | NO | `30` | ALTER | [Auto-refresh](#auto-refresh) | +| `max_staleness` (in Preview) | INTERVAL | NO | | ALTER | [Auto-refresh](#auto-refresh) | +| `description` | STRING | NO | | ALTER | | +| `labels` | DICT[STRING, STRING] | NO | | ALTER | [Labels](#specifying-labels) | +| `hours_to_expiration` | INTEGER | NO | | ALTER | [Table expiration](controlling-table-expiration) | +| `kms_key_name` | STRING | NO | | ALTER | [KMS encryption](#using-kms-encryption) | #### Sample model file: @@ -744,6 +745,7 @@ with the following configuration parameters: ```sql {{ config( materialized='materialized_view', + on_configuration_change='{ apply | continue | fail }' cluster_by=['', ...], partition_by={ 'field': '', From bd764ceb01701d9d36ded64b4ae02843ac49a23c Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Tue, 5 Dec 2023 13:24:48 -0500 Subject: [PATCH 031/165] add on_configuration_change --- .../resource-configs/redshift-configs.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/website/docs/reference/resource-configs/redshift-configs.md b/website/docs/reference/resource-configs/redshift-configs.md index 635fecc5e02..8c9b015ded3 100644 --- a/website/docs/reference/resource-configs/redshift-configs.md +++ b/website/docs/reference/resource-configs/redshift-configs.md @@ -114,14 +114,15 @@ models: The Redshift adapter supports [materialized views](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-overview.html) with the following configuration parameters: -| Parameter | Type | Required | Default | Change Monitoring Support | Reference | -|----------------|--------------|----------|------------------------|---------------------------|-------------------------------------------------| -| `dist` | STRING | NO | `'EVEN'` | DROP/CREATE | [Sortkey / Distkey](#using-sortkey-and-distkey) | -| `sort` | LIST[STRING] | NO | | DROP/CREATE | [Sortkey / Distkey](#using-sortkey-and-distkey) | -| `sort_type` | STRING | NO | `'AUTO'` if no `sort` | DROP/CREATE | [Sortkey / Distkey](#using-sortkey-and-distkey) | -| | | | `'COMPOUND'` if `sort` | | | -| `auto_refresh` | BOOLEAN | NO | `False` | ALTER | [Auto refresh](#auto-refresh) | -| `backup` | BOOLEAN | HO | `True` | N/A | [Backup](#backup) | +| Parameter | Type | Required | Default | Change Monitoring Support | Reference | +|---------------------------|--------------|----------|------------------------|---------------------------|-------------------------------------------------| +| `on_configuration_change` | STRING | NO | `'apply'` | N/A | | +| `dist` | STRING | NO | `'EVEN'` | DROP/CREATE | [Sortkey / Distkey](#using-sortkey-and-distkey) | +| `sort` | LIST[STRING] | NO | | DROP/CREATE | [Sortkey / Distkey](#using-sortkey-and-distkey) | +| `sort_type` | STRING | NO | `'AUTO'` if no `sort` | DROP/CREATE | [Sortkey / Distkey](#using-sortkey-and-distkey) | +| | | | `'COMPOUND'` if `sort` | | | +| `auto_refresh` | BOOLEAN | NO | `False` | ALTER | [Auto refresh](#auto-refresh) | +| `backup` | BOOLEAN | HO | `True` | N/A | [Backup](#backup) | #### Sample model file: @@ -130,6 +131,7 @@ with the following configuration parameters: ```sql {{ config( materialized='materialized_view', + on_configuration_change='{ apply | continue | fail }' dist='{ ALL | AUTO | EVEN | }', sort=['', ...], sort_type='{ AUTO | COMPOUND | INTERLEAVED }' From 3ca806c8e56a14ebf3c470a19bf625b8342a8379 Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Tue, 5 Dec 2023 13:25:57 -0500 Subject: [PATCH 032/165] add on_configuration_change --- website/docs/reference/resource-configs/snowflake-configs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/resource-configs/snowflake-configs.md b/website/docs/reference/resource-configs/snowflake-configs.md index 6c7ba86d353..39dd4430c4c 100644 --- a/website/docs/reference/resource-configs/snowflake-configs.md +++ b/website/docs/reference/resource-configs/snowflake-configs.md @@ -368,7 +368,7 @@ Dynamic tables are supported with the following configuration parameters: ```sql {{ config( materialized='dynamic_table', - on_configuration_change='', + on_configuration_change='{ apply | continue | fail }', target_lag='< { seconds | minutes | hours | days } | DOWNSTREAM>', snowflake_warehouse='', ) }} From c42bc24c0d484a4d10ad93825c2e3b1500a378c5 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Tue, 5 Dec 2023 14:56:03 -0500 Subject: [PATCH 033/165] Changing `tests` to `data-tests` --- .../blog/2021-11-22-dbt-labs-pr-template.md | 2 +- website/blog/2021-11-22-primary-keys.md | 2 +- ...1-11-29-dbt-airflow-spiritual-alignment.md | 2 +- ...build-a-mature-dbt-project-from-scratch.md | 2 +- .../blog/2022-04-19-complex-deduplication.md | 2 +- website/blog/2022-09-28-analyst-to-ae.md | 2 +- .../best-practices/custom-generic-tests.md | 2 +- .../docs/build/{tests.md => data-tests.md} | 46 +++++++++---------- website/docs/docs/build/jinja-macros.md | 2 +- website/docs/docs/build/projects.md | 2 +- website/docs/docs/build/sources.md | 2 +- website/docs/docs/build/sql-models.md | 2 +- .../docs/docs/collaborate/documentation.md | 4 +- .../docs/docs/collaborate/explore-projects.md | 2 +- .../collaborate/govern/model-contracts.md | 2 +- .../03-upgrading-to-dbt-utils-v1.0.md | 2 +- .../core-upgrade/07-upgrading-to-v1.1.md | 2 +- .../core-upgrade/08-upgrading-to-v1.0.md | 2 +- .../core-upgrade/10-upgrading-to-v0.20.md | 6 +-- website/docs/docs/introduction.md | 2 +- .../faqs/Models/specifying-column-types.md | 2 +- .../faqs/Project/properties-not-in-config.md | 2 +- website/docs/faqs/Tests/available-tests.md | 2 +- .../docs/faqs/Tests/custom-test-thresholds.md | 2 +- website/docs/guides/building-packages.md | 2 +- website/docs/guides/dbt-python-snowpark.md | 2 +- ...oductionize-your-dbt-databricks-project.md | 2 +- website/docs/reference/commands/test.md | 2 +- .../docs/reference/configs-and-properties.md | 6 +-- .../{test-configs.md => data-test-configs.md} | 26 +++++------ website/docs/reference/dbt_project.yml.md | 6 +-- website/docs/reference/model-properties.md | 8 ++-- .../docs/reference/node-selection/methods.md | 2 +- .../reference/project-configs/test-paths.md | 2 +- .../docs/reference/resource-configs/alias.md | 2 +- .../reference/resource-configs/database.md | 2 +- .../docs/reference/resource-configs/meta.md | 2 +- .../resource-configs/store_failures_as.md | 4 +- .../reference/resource-properties/columns.md | 8 ++-- .../reference/resource-properties/config.md | 2 +- .../{tests.md => data-tests.md} | 38 +++++++-------- website/docs/reference/seed-properties.md | 4 +- website/docs/reference/snapshot-properties.md | 4 +- website/docs/reference/source-properties.md | 4 +- website/docs/terms/data-wrangling.md | 2 +- website/docs/terms/primary-key.md | 4 +- website/docs/terms/surrogate-key.md | 2 +- website/sidebars.js | 4 +- website/snippets/_run-result.md | 2 +- .../snippets/tutorial-add-tests-to-models.md | 2 +- 50 files changed, 121 insertions(+), 121 deletions(-) rename website/docs/docs/build/{tests.md => data-tests.md} (67%) rename website/docs/reference/{test-configs.md => data-test-configs.md} (87%) rename website/docs/reference/resource-properties/{tests.md => data-tests.md} (83%) diff --git a/website/blog/2021-11-22-dbt-labs-pr-template.md b/website/blog/2021-11-22-dbt-labs-pr-template.md index 40d4960ac18..439a02371ec 100644 --- a/website/blog/2021-11-22-dbt-labs-pr-template.md +++ b/website/blog/2021-11-22-dbt-labs-pr-template.md @@ -70,7 +70,7 @@ Checking for things like modularity and 1:1 relationships between sources and st #### Validation of models: -This section should show something to confirm that your model is doing what you intended it to do. This could be a [dbt test](/docs/build/tests) like uniqueness or not null, or could be an ad-hoc query that you wrote to validate your data. Here is a screenshot from a test run on a local development branch: +This section should show something to confirm that your model is doing what you intended it to do. This could be a [dbt test](/docs/build/data-tests) like uniqueness or not null, or could be an ad-hoc query that you wrote to validate your data. Here is a screenshot from a test run on a local development branch: ![test validation](/img/blog/pr-template-test-validation.png "dbt test validation") diff --git a/website/blog/2021-11-22-primary-keys.md b/website/blog/2021-11-22-primary-keys.md index 84c92055eb0..d5f87cddd94 100644 --- a/website/blog/2021-11-22-primary-keys.md +++ b/website/blog/2021-11-22-primary-keys.md @@ -51,7 +51,7 @@ In the days before testing your data was commonplace, you often found out that y ## How to test primary keys with dbt -Today, you can add two simple [dbt tests](/docs/build/tests) onto your primary keys and feel secure that you are going to catch the vast majority of problems in your data. +Today, you can add two simple [dbt tests](/docs/build/data-tests) onto your primary keys and feel secure that you are going to catch the vast majority of problems in your data. Not surprisingly, these two tests correspond to the two most common errors found on your primary keys, and are usually the first tests that teams testing data with dbt implement: diff --git a/website/blog/2021-11-29-dbt-airflow-spiritual-alignment.md b/website/blog/2021-11-29-dbt-airflow-spiritual-alignment.md index b179c0f5c7c..d20c7d139d0 100644 --- a/website/blog/2021-11-29-dbt-airflow-spiritual-alignment.md +++ b/website/blog/2021-11-29-dbt-airflow-spiritual-alignment.md @@ -90,7 +90,7 @@ So instead of getting bogged down in defining roles, let’s focus on hard skill The common skills needed for implementing any flavor of dbt (Core or Cloud) are: * SQL: ‘nuff said -* YAML: required to generate config files for [writing tests on data models](/docs/build/tests) +* YAML: required to generate config files for [writing tests on data models](/docs/build/data-tests) * [Jinja](/guides/using-jinja): allows you to write DRY code (using [macros](/docs/build/jinja-macros), for loops, if statements, etc) YAML + Jinja can be learned pretty quickly, but SQL is the non-negotiable you’ll need to get started. diff --git a/website/blog/2021-12-05-how-to-build-a-mature-dbt-project-from-scratch.md b/website/blog/2021-12-05-how-to-build-a-mature-dbt-project-from-scratch.md index 8ea387cf00c..f3a24a0febd 100644 --- a/website/blog/2021-12-05-how-to-build-a-mature-dbt-project-from-scratch.md +++ b/website/blog/2021-12-05-how-to-build-a-mature-dbt-project-from-scratch.md @@ -87,7 +87,7 @@ The most important thing we’re introducing when your project is an infant is t * Introduce modularity with [{{ ref() }}](/reference/dbt-jinja-functions/ref) and [{{ source() }}](/reference/dbt-jinja-functions/source) -* [Document](/docs/collaborate/documentation) and [test](/docs/build/tests) your first models +* [Document](/docs/collaborate/documentation) and [test](/docs/build/data-tests) your first models ![image alt text](/img/blog/building-a-mature-dbt-project-from-scratch/image_3.png) diff --git a/website/blog/2022-04-19-complex-deduplication.md b/website/blog/2022-04-19-complex-deduplication.md index daacff4eec6..f8cece85b61 100644 --- a/website/blog/2022-04-19-complex-deduplication.md +++ b/website/blog/2022-04-19-complex-deduplication.md @@ -146,7 +146,7 @@ select * from filter_real_diffs > *What happens in this step? You check your data because you are thorough!* -Good thing dbt has already built this for you. Add a [unique test](/docs/build/tests#generic-tests) to your YAML model block for your `grain_id` in this de-duped staging model, and give it a dbt test! +Good thing dbt has already built this for you. Add a [unique test](/docs/build/data-tests#generic-tests) to your YAML model block for your `grain_id` in this de-duped staging model, and give it a dbt test! ```yaml models: diff --git a/website/blog/2022-09-28-analyst-to-ae.md b/website/blog/2022-09-28-analyst-to-ae.md index 7c8ccaeabec..bf19bbae59e 100644 --- a/website/blog/2022-09-28-analyst-to-ae.md +++ b/website/blog/2022-09-28-analyst-to-ae.md @@ -111,7 +111,7 @@ The analyst caught the issue because they have the appropriate context to valida An analyst is able to identify which areas do *not* need to be 100% accurate, which means they can also identify which areas *do* need to be 100% accurate. -> dbt makes it very quick to add [data quality tests](/docs/build/tests). In fact, it’s so quick, that it’ll take an analyst longer to write up what tests they want than it would take for an analyst to completely finish coding them. +> dbt makes it very quick to add [data quality tests](/docs/build/data-tests). In fact, it’s so quick, that it’ll take an analyst longer to write up what tests they want than it would take for an analyst to completely finish coding them. When data quality issues are identified by the business, we often see that analysts are the first ones to be asked: diff --git a/website/docs/best-practices/custom-generic-tests.md b/website/docs/best-practices/custom-generic-tests.md index f2d84e38853..cd6dced8ad2 100644 --- a/website/docs/best-practices/custom-generic-tests.md +++ b/website/docs/best-practices/custom-generic-tests.md @@ -6,7 +6,7 @@ displayText: Writing custom generic tests hoverSnippet: Learn how to define your own custom generic tests. --- -dbt ships with [Not Null](/reference/resource-properties/tests#not-null), [Unique](/reference/resource-properties/tests#unique), [Relationships](/reference/resource-properties/tests#relationships), and [Accepted Values](/reference/resource-properties/tests#accepted-values) generic tests. (These used to be called "schema tests," and you'll still see that name in some places.) Under the hood, these generic tests are defined as `test` blocks (like macros) in a globally accessible dbt project. You can find the source code for these tests in the [global project](https://github.com/dbt-labs/dbt-core/tree/main/core/dbt/include/global_project/macros/generic_test_sql). +dbt ships with [Not Null](/reference/resource-properties/data-tests#not-null), [Unique](/reference/resource-properties/data-tests#unique), [Relationships](/reference/resource-properties/data-tests#relationships), and [Accepted Values](/reference/resource-properties/data-tests#accepted-values) generic tests. (These used to be called "schema tests," and you'll still see that name in some places.) Under the hood, these generic tests are defined as `test` blocks (like macros) in a globally accessible dbt project. You can find the source code for these tests in the [global project](https://github.com/dbt-labs/dbt-core/tree/main/core/dbt/include/global_project/macros/generic_test_sql). :::info There are tons of generic tests defined in open source packages, such as [dbt-utils](https://hub.getdbt.com/dbt-labs/dbt_utils/latest/) and [dbt-expectations](https://hub.getdbt.com/calogica/dbt_expectations/latest/) — the test you're looking for might already be here! diff --git a/website/docs/docs/build/tests.md b/website/docs/docs/build/data-tests.md similarity index 67% rename from website/docs/docs/build/tests.md rename to website/docs/docs/build/data-tests.md index 3d86dc6a81b..a63b25dffca 100644 --- a/website/docs/docs/build/tests.md +++ b/website/docs/docs/build/data-tests.md @@ -1,41 +1,41 @@ --- -title: "Add tests to your DAG" -sidebar_label: "Tests" -description: "Read this tutorial to learn how to use tests when building in dbt." +title: "Add data tests to your DAG" +sidebar_label: "Data tests" +description: "Read this tutorial to learn how to use data tests when building in dbt." search_weight: "heavy" -id: "tests" +id: "data-tests" keywords: - test, tests, testing, dag --- ## Related reference docs * [Test command](/reference/commands/test) -* [Test properties](/reference/resource-properties/tests) -* [Test configurations](/reference/test-configs) +* [Data test properties](/reference/resource-properties/data-tests) +* [Data test configurations](/reference/data-test-configs) * [Test selection examples](/reference/node-selection/test-selection-examples) ## Overview -Tests are assertions you make about your models and other resources in your dbt project (e.g. sources, seeds and snapshots). When you run `dbt test`, dbt will tell you if each test in your project passes or fails. +Data tests are assertions you make about your models and other resources in your dbt project (e.g. sources, seeds and snapshots). When you run `dbt test`, dbt will tell you if each test in your project passes or fails. -You can use tests to improve the integrity of the SQL in each model by making assertions about the results generated. Out of the box, you can test whether a specified column in a model only contains non-null values, unique values, or values that have a corresponding value in another model (for example, a `customer_id` for an `order` corresponds to an `id` in the `customers` model), and values from a specified list. You can extend tests to suit business logic specific to your organization – any assertion that you can make about your model in the form of a select query can be turned into a test. +You can use data tests to improve the integrity of the SQL in each model by making assertions about the results generated. Out of the box, you can test whether a specified column in a model only contains non-null values, unique values, or values that have a corresponding value in another model (for example, a `customer_id` for an `order` corresponds to an `id` in the `customers` model), and values from a specified list. You can extend data tests to suit business logic specific to your organization – any assertion that you can make about your model in the form of a select query can be turned into a data test. -Both types of tests return a set of failing records. Previously, generic/schema tests returned a numeric value representing failures. Generic tests (f.k.a. schema tests) are defined using `test` blocks instead of macros prefixed `test_`. +Both types of tests return a set of failing records. Previously, generic/schema tests returned a numeric value representing failures. Generic data tests (f.k.a. schema tests) are defined using `test` blocks instead of macros prefixed `test_`. -Like almost everything in dbt, tests are SQL queries. In particular, they are `select` statements that seek to grab "failing" records, ones that disprove your assertion. If you assert that a column is unique in a model, the test query selects for duplicates; if you assert that a column is never null, the test seeks after nulls. If the test returns zero failing rows, it passes, and your assertion has been validated. +Like almost everything in dbt, data tests are SQL queries. In particular, they are `select` statements that seek to grab "failing" records, ones that disprove your assertion. If you assert that a column is unique in a model, the test query selects for duplicates; if you assert that a column is never null, the test seeks after nulls. If the test returns zero failing rows, it passes, and your assertion has been validated. -There are two ways of defining tests in dbt: +There are two ways of defining data tests in dbt: * A **singular** test is testing in its simplest form: If you can write a SQL query that returns failing rows, you can save that query in a `.sql` file within your [test directory](/reference/project-configs/test-paths). It's now a test, and it will be executed by the `dbt test` command. * A **generic** test is a parameterized query that accepts arguments. The test query is defined in a special `test` block (like a [macro](jinja-macros)). Once defined, you can reference the generic test by name throughout your `.yml` files—define it on models, columns, sources, snapshots, and seeds. dbt ships with four generic tests built in, and we think you should use them! -Defining tests is a great way to confirm that your code is working correctly, and helps prevent regressions when your code changes. Because you can use them over and over again, making similar assertions with minor variations, generic tests tend to be much more common—they should make up the bulk of your dbt testing suite. That said, both ways of defining tests have their time and place. +Defining data tests is a great way to confirm that your code is working correctly, and helps prevent regressions when your code changes. Because you can use them over and over again, making similar assertions with minor variations, generic data tests tend to be much more common—they should make up the bulk of your dbt testing suite. That said, both ways of defining data tests have their time and place. -:::tip Creating your first tests +:::tip Creating your first data tests If you're new to dbt, we recommend that you check out our [quickstart guide](/guides) to build your first dbt project with models and tests. ::: -## Singular tests +## Singular data tests -The simplest way to define a test is by writing the exact SQL that will return failing records. We call these "singular" tests, because they're one-off assertions usable for a single purpose. +The simplest way to define a data test is by writing the exact SQL that will return failing records. We call these "singular" tests, because they're one-off assertions usable for a single purpose. These tests are defined in `.sql` files, typically in your `tests` directory (as defined by your [`test-paths` config](/reference/project-configs/test-paths)). You can use Jinja (including `ref` and `source`) in the test definition, just like you can when creating models. Each `.sql` file contains one `select` statement, and it defines one test: @@ -56,10 +56,10 @@ having not(total_amount >= 0) The name of this test is the name of the file: `assert_total_payment_amount_is_positive`. Simple enough. -Singular tests are easy to write—so easy that you may find yourself writing the same basic structure over and over, only changing the name of a column or model. By that point, the test isn't so singular! In that case, we recommend... +Singular data tests are easy to write—so easy that you may find yourself writing the same basic structure over and over, only changing the name of a column or model. By that point, the test isn't so singular! In that case, we recommend... ## Generic tests -Certain tests are generic: they can be reused over and over again. A generic test is defined in a `test` block, which contains a parametrized query and accepts arguments. It might look like: +Certain data tests are generic: they can be reused over and over again. A generic test is defined in a `test` block, which contains a parametrized query and accepts arguments. It might look like: ```sql {% test not_null(model, column_name) %} @@ -77,7 +77,7 @@ You'll notice that there are two arguments, `model` and `column_name`, which are If this is your first time working with adding properties to a resource, check out the docs on [declaring properties](/reference/configs-and-properties). ::: -Out of the box, dbt ships with four generic tests already defined: `unique`, `not_null`, `accepted_values` and `relationships`. Here's a full example using those tests on an `orders` model: +Out of the box, dbt ships with four generic data tests already defined: `unique`, `not_null`, `accepted_values` and `relationships`. Here's a full example using those tests on an `orders` model: ```yml version: 2 @@ -100,17 +100,17 @@ models: field: id ``` -In plain English, these tests translate to: +In plain English, these data tests translate to: * `unique`: the `order_id` column in the `orders` model should be unique * `not_null`: the `order_id` column in the `orders` model should not contain null values * `accepted_values`: the `status` column in the `orders` should be one of `'placed'`, `'shipped'`, `'completed'`, or `'returned'` * `relationships`: each `customer_id` in the `orders` model exists as an `id` in the `customers` (also known as referential integrity) -Behind the scenes, dbt constructs a `select` query for each test, using the parametrized query from the generic test block. These queries return the rows where your assertion is _not_ true; if the test returns zero rows, your assertion passes. +Behind the scenes, dbt constructs a `select` query for each data test, using the parametrized query from the generic test block. These queries return the rows where your assertion is _not_ true; if the test returns zero rows, your assertion passes. -You can find more information about these tests, and additional configurations (including [`severity`](/reference/resource-configs/severity) and [`tags`](/reference/resource-configs/tags)) in the [reference section](/reference/resource-properties/tests). +You can find more information about these tests, and additional configurations (including [`severity`](/reference/resource-configs/severity) and [`tags`](/reference/resource-configs/tags)) in the [reference section](/reference/resource-properties/data-tests). -### More generic tests +### More generic data tests Those four tests are enough to get you started. You'll quickly find you want to use a wider variety of tests—a good thing! You can also install generic tests from a package, or write your own, to use (and reuse) across your dbt project. Check out the [guide on custom generic tests](/best-practices/writing-custom-generic-tests) for more information. @@ -241,7 +241,7 @@ where {{ column_name }} is null ## Storing test failures -Normally, a test query will calculate failures as part of its execution. If you set the optional `--store-failures` flag, the [`store_failures`](/reference/resource-configs/store_failures), or the [`store_failures_as`](/reference/resource-configs/store_failures_as) configs, dbt will first save the results of a test query to a table in the database, and then query that table to calculate the number of failures. +Normally, a data test query will calculate failures as part of its execution. If you set the optional `--store-failures` flag, the [`store_failures`](/reference/resource-configs/store_failures), or the [`store_failures_as`](/reference/resource-configs/store_failures_as) configs, dbt will first save the results of a test query to a table in the database, and then query that table to calculate the number of failures. This workflow allows you to query and examine failing records much more quickly in development: diff --git a/website/docs/docs/build/jinja-macros.md b/website/docs/docs/build/jinja-macros.md index 135db740f75..074e648d410 100644 --- a/website/docs/docs/build/jinja-macros.md +++ b/website/docs/docs/build/jinja-macros.md @@ -23,7 +23,7 @@ Using Jinja turns your dbt project into a programming environment for SQL, givin In fact, if you've used the [`{{ ref() }}` function](/reference/dbt-jinja-functions/ref), you're already using Jinja! -Jinja can be used in any SQL in a dbt project, including [models](/docs/build/sql-models), [analyses](/docs/build/analyses), [tests](/docs/build/tests), and even [hooks](/docs/build/hooks-operations). +Jinja can be used in any SQL in a dbt project, including [models](/docs/build/sql-models), [analyses](/docs/build/analyses), [tests](/docs/build/data-tests), and even [hooks](/docs/build/hooks-operations). :::info Ready to get started with Jinja and macros? diff --git a/website/docs/docs/build/projects.md b/website/docs/docs/build/projects.md index a54f6042cce..d268ec09920 100644 --- a/website/docs/docs/build/projects.md +++ b/website/docs/docs/build/projects.md @@ -14,7 +14,7 @@ At a minimum, all a project needs is the `dbt_project.yml` project configuration | [models](/docs/build/models) | Each model lives in a single file and contains logic that either transforms raw data into a dataset that is ready for analytics or, more often, is an intermediate step in such a transformation. | | [snapshots](/docs/build/snapshots) | A way to capture the state of your mutable tables so you can refer to it later. | | [seeds](/docs/build/seeds) | CSV files with static data that you can load into your data platform with dbt. | -| [tests](/docs/build/tests) | SQL queries that you can write to test the models and resources in your project. | +| [tests](/docs/build/data-tests) | SQL queries that you can write to test the models and resources in your project. | | [macros](/docs/build/jinja-macros) | Blocks of code that you can reuse multiple times. | | [docs](/docs/collaborate/documentation) | Docs for your project that you can build. | | [sources](/docs/build/sources) | A way to name and describe the data loaded into your warehouse by your Extract and Load tools. | diff --git a/website/docs/docs/build/sources.md b/website/docs/docs/build/sources.md index a657b6257c9..ae6024a3e58 100644 --- a/website/docs/docs/build/sources.md +++ b/website/docs/docs/build/sources.md @@ -91,7 +91,7 @@ You can also: - Add tests to sources - Add descriptions to sources, that get rendered as part of your documentation site -These should be familiar concepts if you've already added tests and descriptions to your models (if not check out the guides on [testing](/docs/build/tests) and [documentation](/docs/collaborate/documentation)). +These should be familiar concepts if you've already added tests and descriptions to your models (if not check out the guides on [testing](/docs/build/data-tests) and [documentation](/docs/collaborate/documentation)). diff --git a/website/docs/docs/build/sql-models.md b/website/docs/docs/build/sql-models.md index 237ac84c0c2..a0dd174278b 100644 --- a/website/docs/docs/build/sql-models.md +++ b/website/docs/docs/build/sql-models.md @@ -262,7 +262,7 @@ Additionally, the `ref` function encourages you to write modular transformations ## Testing and documenting models -You can also document and test models — skip ahead to the section on [testing](/docs/build/tests) and [documentation](/docs/collaborate/documentation) for more information. +You can also document and test models — skip ahead to the section on [testing](/docs/build/data-tests) and [documentation](/docs/collaborate/documentation) for more information. ## Additional FAQs diff --git a/website/docs/docs/collaborate/documentation.md b/website/docs/docs/collaborate/documentation.md index 16a4e610c70..1a989806851 100644 --- a/website/docs/docs/collaborate/documentation.md +++ b/website/docs/docs/collaborate/documentation.md @@ -15,7 +15,7 @@ pagination_prev: null ## Assumed knowledge -* [Tests](/docs/build/tests) +* [Tests](/docs/build/data-tests) ## Overview @@ -32,7 +32,7 @@ Here's an example docs site: ## Adding descriptions to your project -To add descriptions to your project, use the `description:` key in the same files where you declare [tests](/docs/build/tests), like so: +To add descriptions to your project, use the `description:` key in the same files where you declare [tests](/docs/build/data-tests), like so: diff --git a/website/docs/docs/collaborate/explore-projects.md b/website/docs/docs/collaborate/explore-projects.md index 78fe6f45cc7..ed5dee93317 100644 --- a/website/docs/docs/collaborate/explore-projects.md +++ b/website/docs/docs/collaborate/explore-projects.md @@ -149,7 +149,7 @@ An example of the details you might get for a model: - **Lineage** graph — The model’s lineage graph that you can interact with. The graph includes one parent node and one child node from the model. Click the Expand icon in the graph's upper right corner to view the model in full lineage graph mode. - **Description** section — A [description of the model](/docs/collaborate/documentation#adding-descriptions-to-your-project). - **Recent** section — Information on the last time the model ran, how long it ran for, whether the run was successful, the job ID, and the run ID. - - **Tests** section — [Tests](/docs/build/tests) for the model, including a status indicator for the latest test status. A :white_check_mark: denotes a passing test. + - **Tests** section — [Tests](/docs/build/data-tests) for the model, including a status indicator for the latest test status. A :white_check_mark: denotes a passing test. - **Details** section — Key properties like the model’s relation name (for example, how it’s represented and how you can query it in the data platform: `database.schema.identifier`); model governance attributes like access, group, and if contracted; and more. - **Relationships** section — The nodes the model **Depends On**, is **Referenced by**, and (if applicable) is **Used by** for projects that have declared the models' project as a dependency. - **Code** tab — The source code and compiled code for the model. diff --git a/website/docs/docs/collaborate/govern/model-contracts.md b/website/docs/docs/collaborate/govern/model-contracts.md index 342d86c1a77..a083c3e6d2b 100644 --- a/website/docs/docs/collaborate/govern/model-contracts.md +++ b/website/docs/docs/collaborate/govern/model-contracts.md @@ -183,7 +183,7 @@ Any model meeting the criteria described above _can_ define a contract. We recom A model's contract defines the **shape** of the returned dataset. If the model's logic or input data doesn't conform to that shape, the model does not build. -[Tests](/docs/build/tests) are a more flexible mechanism for validating the content of your model _after_ it's built. So long as you can write the query, you can run the test. Tests are more configurable, such as with [custom severity thresholds](/reference/resource-configs/severity). They are easier to debug after finding failures, because you can query the already-built model, or [store the failing records in the data warehouse](/reference/resource-configs/store_failures). +[Tests](/docs/build/data-tests) are a more flexible mechanism for validating the content of your model _after_ it's built. So long as you can write the query, you can run the test. Tests are more configurable, such as with [custom severity thresholds](/reference/resource-configs/severity). They are easier to debug after finding failures, because you can query the already-built model, or [store the failing records in the data warehouse](/reference/resource-configs/store_failures). In some cases, you can replace a test with its equivalent constraint. This has the advantage of guaranteeing the validation at build time, and it probably requires less compute (cost) in your data platform. The prerequisites for replacing a test with a constraint are: - Making sure that your data platform can support and enforce the constraint that you need. Most platforms only enforce `not_null`. diff --git a/website/docs/docs/dbt-versions/core-upgrade/03-upgrading-to-dbt-utils-v1.0.md b/website/docs/docs/dbt-versions/core-upgrade/03-upgrading-to-dbt-utils-v1.0.md index a7b302c9a58..229a54627fc 100644 --- a/website/docs/docs/dbt-versions/core-upgrade/03-upgrading-to-dbt-utils-v1.0.md +++ b/website/docs/docs/dbt-versions/core-upgrade/03-upgrading-to-dbt-utils-v1.0.md @@ -82,7 +82,7 @@ models: # ...with this... where: "created_at > '2018-12-31'" ``` -**Note** — This may cause some tests to get the same autogenerated names. To resolve this, you can [define a custom name for a test](/reference/resource-properties/tests#define-a-custom-name-for-one-test). +**Note** — This may cause some tests to get the same autogenerated names. To resolve this, you can [define a custom name for a test](/reference/resource-properties/data-tests#define-a-custom-name-for-one-test). - The deprecated `unique_where` and `not_null_where` tests have been removed, because [where is now available natively to all tests](https://docs.getdbt.com/reference/resource-configs/where). To migrate, find and replace `dbt_utils.unique_where` with `unique` and `dbt_utils.not_null_where` with `not_null`. - `dbt_utils.current_timestamp()` is replaced by `dbt.current_timestamp()`. - Note that Postgres and Snowflake’s implementation of `dbt.current_timestamp()` differs from the old `dbt_utils` one ([full details here](https://github.com/dbt-labs/dbt-utils/pull/597#issuecomment-1231074577)). If you use Postgres or Snowflake and need identical backwards-compatible behavior, use `dbt.current_timestamp_backcompat()`. This discrepancy will hopefully be reconciled in a future version of dbt Core. diff --git a/website/docs/docs/dbt-versions/core-upgrade/07-upgrading-to-v1.1.md b/website/docs/docs/dbt-versions/core-upgrade/07-upgrading-to-v1.1.md index 12f0f42354a..868f3c7ed04 100644 --- a/website/docs/docs/dbt-versions/core-upgrade/07-upgrading-to-v1.1.md +++ b/website/docs/docs/dbt-versions/core-upgrade/07-upgrading-to-v1.1.md @@ -43,7 +43,7 @@ Expected a schema version of "https://schemas.getdbt.com/dbt/manifest/v5.json" i [**Incremental models**](/docs/build/incremental-models) can now accept a list of multiple columns as their `unique_key`, for models that need a combination of columns to uniquely identify each row. This is supported by the most common data warehouses, for incremental strategies that make use of the `unique_key` config (`merge` and `delete+insert`). -[**Generic tests**](/reference/resource-properties/tests) can define custom names. This is useful to "prettify" the synthetic name that dbt applies automatically. It's needed to disambiguate the case when the same generic test is defined multiple times with different configurations. +[**Generic tests**](/reference/resource-properties/data-tests) can define custom names. This is useful to "prettify" the synthetic name that dbt applies automatically. It's needed to disambiguate the case when the same generic test is defined multiple times with different configurations. [**Sources**](/reference/source-properties) can define configuration inline with other `.yml` properties, just like other resource types. The only supported config is `enabled`; you can use this to dynamically enable/disable sources based on environment or package variables. diff --git a/website/docs/docs/dbt-versions/core-upgrade/08-upgrading-to-v1.0.md b/website/docs/docs/dbt-versions/core-upgrade/08-upgrading-to-v1.0.md index 6e437638ef6..0460186551d 100644 --- a/website/docs/docs/dbt-versions/core-upgrade/08-upgrading-to-v1.0.md +++ b/website/docs/docs/dbt-versions/core-upgrade/08-upgrading-to-v1.0.md @@ -34,7 +34,7 @@ dbt Core major version 1.0 includes a number of breaking changes! Wherever possi ### Tests -The two **test types** are now "singular" and "generic" (instead of "data" and "schema", respectively). The `test_type:` selection method accepts `test_type:singular` and `test_type:generic`. (It will also accept `test_type:schema` and `test_type:data` for backwards compatibility.) **Not backwards compatible:** The `--data` and `--schema` flags to dbt test are no longer supported, and tests no longer have the tags `'data'` and `'schema'` automatically applied. Updated docs: [tests](/docs/build/tests), [test selection](/reference/node-selection/test-selection-examples), [selection methods](/reference/node-selection/methods). +The two **test types** are now "singular" and "generic" (instead of "data" and "schema", respectively). The `test_type:` selection method accepts `test_type:singular` and `test_type:generic`. (It will also accept `test_type:schema` and `test_type:data` for backwards compatibility.) **Not backwards compatible:** The `--data` and `--schema` flags to dbt test are no longer supported, and tests no longer have the tags `'data'` and `'schema'` automatically applied. Updated docs: [tests](/docs/build/data-tests), [test selection](/reference/node-selection/test-selection-examples), [selection methods](/reference/node-selection/methods). The `greedy` flag/property has been renamed to **`indirect_selection`**, which is now eager by default. **Note:** This reverts test selection to its pre-v0.20 behavior by default. `dbt test -s my_model` _will_ select multi-parent tests, such as `relationships`, that depend on unselected resources. To achieve the behavior change in v0.20 + v0.21, set `--indirect-selection=cautious` on the CLI or `indirect_selection: cautious` in YAML selectors. Updated docs: [test selection examples](/reference/node-selection/test-selection-examples), [yaml selectors](/reference/node-selection/yaml-selectors). diff --git a/website/docs/docs/dbt-versions/core-upgrade/10-upgrading-to-v0.20.md b/website/docs/docs/dbt-versions/core-upgrade/10-upgrading-to-v0.20.md index 9ff5695d5dc..be6054087b3 100644 --- a/website/docs/docs/dbt-versions/core-upgrade/10-upgrading-to-v0.20.md +++ b/website/docs/docs/dbt-versions/core-upgrade/10-upgrading-to-v0.20.md @@ -29,9 +29,9 @@ dbt Core v0.20 has reached the end of critical support. No new patch versions wi ### Tests -- [Building a dbt Project: tests](/docs/build/tests) -- [Test Configs](/reference/test-configs) -- [Test properties](/reference/resource-properties/tests) +- [Building a dbt Project: tests](/docs/build/data-tests) +- [Test Configs](/reference/data-test-configs) +- [Test properties](/reference/resource-properties/data-tests) - [Node Selection](/reference/node-selection/syntax) (with updated [test selection examples](/reference/node-selection/test-selection-examples)) - [Writing custom generic tests](/best-practices/writing-custom-generic-tests) diff --git a/website/docs/docs/introduction.md b/website/docs/docs/introduction.md index c575a9ae657..08564aeb2f0 100644 --- a/website/docs/docs/introduction.md +++ b/website/docs/docs/introduction.md @@ -56,7 +56,7 @@ As a dbt user, your main focus will be on writing models (i.e. select queries) t | Use a code compiler | SQL files can contain Jinja, a lightweight templating language. Using Jinja in SQL provides a way to use control structures in your queries. For example, `if` statements and `for` loops. It also enables repeated SQL to be shared through `macros`. Read more about [Macros](/docs/build/jinja-macros).| | Determine the order of model execution | Often, when transforming data, it makes sense to do so in a staged approach. dbt provides a mechanism to implement transformations in stages through the [ref function](/reference/dbt-jinja-functions/ref). Rather than selecting from existing tables and views in your warehouse, you can select from another model.| | Document your dbt project | dbt provides a mechanism to write, version-control, and share documentation for your dbt models. You can write descriptions (in plain text or markdown) for each model and field. In dbt Cloud, you can auto-generate the documentation when your dbt project runs. Read more about the [Documentation](/docs/collaborate/documentation).| -| Test your models | Tests provide a way to improve the integrity of the SQL in each model by making assertions about the results generated by a model. Read more about writing tests for your models [Testing](/docs/build/tests)| +| Test your models | Tests provide a way to improve the integrity of the SQL in each model by making assertions about the results generated by a model. Read more about writing tests for your models [Testing](/docs/build/data-tests)| | Manage packages | dbt ships with a package manager, which allows analysts to use and publish both public and private repositories of dbt code which can then be referenced by others. Read more about [Package Management](/docs/build/packages). | | Load seed files| Often in analytics, raw values need to be mapped to a more readable value (for example, converting a country-code to a country name) or enriched with static or infrequently changing data. These data sources, known as seed files, can be saved as a CSV file in your `project` and loaded into your data warehouse using the `seed` command. Read more about [Seeds](/docs/build/seeds).| | Snapshot data | Often, records in a data source are mutable, in that they change over time. This can be difficult to handle in analytics if you want to reconstruct historic values. dbt provides a mechanism to snapshot raw data for a point in time, through use of [snapshots](/docs/build/snapshots).| diff --git a/website/docs/faqs/Models/specifying-column-types.md b/website/docs/faqs/Models/specifying-column-types.md index 8e8379c4ec1..ff29085f160 100644 --- a/website/docs/faqs/Models/specifying-column-types.md +++ b/website/docs/faqs/Models/specifying-column-types.md @@ -38,6 +38,6 @@ So long as your model queries return the correct column type, the table you crea To define additional column options: -* Rather than enforcing uniqueness and not-null constraints on your column, use dbt's [testing](/docs/build/tests) functionality to check that your assertions about your model hold true. +* Rather than enforcing uniqueness and not-null constraints on your column, use dbt's [testing](/docs/build/data-tests) functionality to check that your assertions about your model hold true. * Rather than creating default values for a column, use SQL to express defaults (e.g. `coalesce(updated_at, current_timestamp()) as updated_at`) * In edge-cases where you _do_ need to alter a column (e.g. column-level encoding on Redshift), consider implementing this via a [post-hook](/reference/resource-configs/pre-hook-post-hook). diff --git a/website/docs/faqs/Project/properties-not-in-config.md b/website/docs/faqs/Project/properties-not-in-config.md index d1aea32b687..76de58404a9 100644 --- a/website/docs/faqs/Project/properties-not-in-config.md +++ b/website/docs/faqs/Project/properties-not-in-config.md @@ -16,7 +16,7 @@ Certain properties are special, because: These properties are: - [`description`](/reference/resource-properties/description) -- [`tests`](/reference/resource-properties/tests) +- [`tests`](/reference/resource-properties/data-tests) - [`docs`](/reference/resource-configs/docs) - `columns` - [`quote`](/reference/resource-properties/quote) diff --git a/website/docs/faqs/Tests/available-tests.md b/website/docs/faqs/Tests/available-tests.md index f08e6841bd0..225331d2256 100644 --- a/website/docs/faqs/Tests/available-tests.md +++ b/website/docs/faqs/Tests/available-tests.md @@ -12,6 +12,6 @@ Out of the box, dbt ships with the following tests: * `accepted_values` * `relationships` (i.e. referential integrity) -You can also write your own [custom schema tests](/docs/build/tests). +You can also write your own [custom schema tests](/docs/build/data-tests). Some additional custom schema tests have been open-sourced in the [dbt-utils package](https://github.com/dbt-labs/dbt-utils/tree/0.2.4/#schema-tests), check out the docs on [packages](/docs/build/packages) to learn how to make these tests available in your project. diff --git a/website/docs/faqs/Tests/custom-test-thresholds.md b/website/docs/faqs/Tests/custom-test-thresholds.md index 34d2eec7494..400a5b4e28b 100644 --- a/website/docs/faqs/Tests/custom-test-thresholds.md +++ b/website/docs/faqs/Tests/custom-test-thresholds.md @@ -10,5 +10,5 @@ As of `v0.20.0`, you can use the `error_if` and `warn_if` configs to set custom For dbt `v0.19.0` and earlier, you could try these possible solutions: -* Setting the [severity](/reference/resource-properties/tests#severity) to `warn`, or: +* Setting the [severity](/reference/resource-properties/data-tests#severity) to `warn`, or: * Writing a [custom generic test](/best-practices/writing-custom-generic-tests) that accepts a threshold argument ([example](https://discourse.getdbt.com/t/creating-an-error-threshold-for-schema-tests/966)) diff --git a/website/docs/guides/building-packages.md b/website/docs/guides/building-packages.md index 641a1c6af6d..55f0c2ed912 100644 --- a/website/docs/guides/building-packages.md +++ b/website/docs/guides/building-packages.md @@ -104,7 +104,7 @@ dbt makes it possible for users of your package to override your model properties defined in a `.yml` file --> config defined in the project file. -Note - Generic tests work a little differently when it comes to specificity. See [test configs](/reference/test-configs). +Note - Generic tests work a little differently when it comes to specificity. See [test configs](/reference/data-test-configs). Within the project file, configurations are also applied hierarchically. The most specific config always "wins": In the project file, configurations applied to a `marketing` subdirectory will take precedence over configurations applied to the entire `jaffle_shop` project. To apply a configuration to a model, or directory of models, define the resource path as nested dictionary keys. @@ -76,7 +76,7 @@ Certain properties are special, because: These properties are: - [`description`](/reference/resource-properties/description) -- [`tests`](/reference/resource-properties/tests) +- [`tests`](/reference/resource-properties/data-tests) - [`docs`](/reference/resource-configs/docs) - [`columns`](/reference/resource-properties/columns) - [`quote`](/reference/resource-properties/quote) diff --git a/website/docs/reference/test-configs.md b/website/docs/reference/data-test-configs.md similarity index 87% rename from website/docs/reference/test-configs.md rename to website/docs/reference/data-test-configs.md index 960e8d5471a..13154832cef 100644 --- a/website/docs/reference/test-configs.md +++ b/website/docs/reference/data-test-configs.md @@ -1,8 +1,8 @@ --- -title: Test configurations -description: "Read this guide to learn about using test configurations in dbt." +title: Data test configurations +description: "Read this guide to learn about using data test configurations in dbt." meta: - resource_type: Tests + resource_type: Data tests --- import ConfigResource from '/snippets/_config-description-resource.md'; import ConfigGeneral from '/snippets/_config-description-general.md'; @@ -10,20 +10,20 @@ import ConfigGeneral from '/snippets/_config-description-general.md'; ## Related documentation -* [Tests](/docs/build/tests) +* [Data tests](/docs/build/data-tests) -Tests can be configured in a few different ways: -1. Properties within `.yml` definition (generic tests only, see [test properties](/reference/resource-properties/tests) for full syntax) +Data tests can be configured in a few different ways: +1. Properties within `.yml` definition (generic tests only, see [test properties](/reference/resource-properties/data-tests) for full syntax) 2. A `config()` block within the test's SQL definition 3. In `dbt_project.yml` -Test configs are applied hierarchically, in the order of specificity outlined above. In the case of a singular test, the `config()` block within the SQL definition takes precedence over configs in the project file. In the case of a specific instance of a generic test, the test's `.yml` properties would take precedence over any values set in its generic SQL definition's `config()`, which in turn would take precedence over values set in `dbt_project.yml`. +Data test configs are applied hierarchically, in the order of specificity outlined above. In the case of a singular test, the `config()` block within the SQL definition takes precedence over configs in the project file. In the case of a specific instance of a generic test, the test's `.yml` properties would take precedence over any values set in its generic SQL definition's `config()`, which in turn would take precedence over values set in `dbt_project.yml`. ## Available configurations Click the link on each configuration option to read more about what it can do. -### Test-specific configurations +### Data test-specific configurations @@ -204,7 +204,7 @@ version: 2 [alias](/reference/resource-configs/alias): ``` -This configuration mechanism is supported for specific instances of generic tests only. To configure a specific singular test, you should use the `config()` macro in its SQL definition. +This configuration mechanism is supported for specific instances of generic data tests only. To configure a specific singular test, you should use the `config()` macro in its SQL definition. @@ -216,7 +216,7 @@ This configuration mechanism is supported for specific instances of generic test #### Add a tag to one test -If a specific instance of a generic test: +If a specific instance of a generic data test: @@ -232,7 +232,7 @@ models: -If a singular test: +If a singular data test: @@ -244,7 +244,7 @@ select ... -#### Set the default severity for all instances of a generic test +#### Set the default severity for all instances of a generic data test @@ -260,7 +260,7 @@ select ... -#### Disable all tests from a package +#### Disable alldata tests from a package diff --git a/website/docs/reference/dbt_project.yml.md b/website/docs/reference/dbt_project.yml.md index 34af0f696c7..7b5d54c3e03 100644 --- a/website/docs/reference/dbt_project.yml.md +++ b/website/docs/reference/dbt_project.yml.md @@ -81,7 +81,7 @@ sources: [](source-configs) tests: - [](/reference/test-configs) + [](/reference/data-test-configs) vars: [](/docs/build/project-variables) @@ -153,7 +153,7 @@ sources: [](source-configs) tests: - [](/reference/test-configs) + [](/reference/data-test-configs) vars: [](/docs/build/project-variables) @@ -222,7 +222,7 @@ sources: [](source-configs) tests: - [](/reference/test-configs) + [](/reference/data-test-configs) vars: [](/docs/build/project-variables) diff --git a/website/docs/reference/model-properties.md b/website/docs/reference/model-properties.md index 63adc1f0d63..a384307678f 100644 --- a/website/docs/reference/model-properties.md +++ b/website/docs/reference/model-properties.md @@ -23,7 +23,7 @@ models: [](/reference/model-configs): [constraints](/reference/resource-properties/constraints): - - [tests](/reference/resource-properties/tests): + [tests](/reference/resource-properties/data-tests): - - ... # declare additional tests [columns](/reference/resource-properties/columns): @@ -33,7 +33,7 @@ models: [quote](/reference/resource-properties/quote): true | false [constraints](/reference/resource-properties/constraints): - - [tests](/reference/resource-properties/tests): + [tests](/reference/resource-properties/data-tests): - - ... # declare additional tests [tags](/reference/resource-configs/tags): [] @@ -51,7 +51,7 @@ models: - [config](/reference/resource-properties/config): [](/reference/model-configs): - [tests](/reference/resource-properties/tests): + [tests](/reference/resource-properties/data-tests): - - ... # declare additional tests columns: @@ -63,7 +63,7 @@ models: [quote](/reference/resource-properties/quote): true | false [constraints](/reference/resource-properties/constraints): - - [tests](/reference/resource-properties/tests): + [tests](/reference/resource-properties/data-tests): - - ... # declare additional tests [tags](/reference/resource-configs/tags): [] diff --git a/website/docs/reference/node-selection/methods.md b/website/docs/reference/node-selection/methods.md index e29612e3401..2ffe0ea599e 100644 --- a/website/docs/reference/node-selection/methods.md +++ b/website/docs/reference/node-selection/methods.md @@ -173,7 +173,7 @@ dbt test --select "test_type:singular" # run all singular tests The `test_name` method is used to select tests based on the name of the generic test that defines it. For more information about how generic tests are defined, read about -[tests](/docs/build/tests). +[tests](/docs/build/data-tests). ```bash diff --git a/website/docs/reference/project-configs/test-paths.md b/website/docs/reference/project-configs/test-paths.md index e3d0e0b76fa..59f17db05eb 100644 --- a/website/docs/reference/project-configs/test-paths.md +++ b/website/docs/reference/project-configs/test-paths.md @@ -13,7 +13,7 @@ test-paths: [directorypath] ## Definition -Optionally specify a custom list of directories where [singular tests](/docs/build/tests) are located. +Optionally specify a custom list of directories where [singular tests](/docs/build/data-tests) are located. ## Default diff --git a/website/docs/reference/resource-configs/alias.md b/website/docs/reference/resource-configs/alias.md index 6b7588ecaf7..fbedb4597e6 100644 --- a/website/docs/reference/resource-configs/alias.md +++ b/website/docs/reference/resource-configs/alias.md @@ -112,7 +112,7 @@ When using `--store-failures`, this would return the name `analytics.finance.ord ## Definition -Optionally specify a custom alias for a [model](/docs/build/models), [tests](/docs/build/tests), [snapshots](/docs/build/snapshots), or [seed](/docs/build/seeds). +Optionally specify a custom alias for a [model](/docs/build/models), [tests](/docs/build/data-tests), [snapshots](/docs/build/snapshots), or [seed](/docs/build/seeds). When dbt creates a relation (/) in a database, it creates it as: `{{ database }}.{{ schema }}.{{ identifier }}`, e.g. `analytics.finance.payments` diff --git a/website/docs/reference/resource-configs/database.md b/website/docs/reference/resource-configs/database.md index 7d91358ff01..82c7b2cca92 100644 --- a/website/docs/reference/resource-configs/database.md +++ b/website/docs/reference/resource-configs/database.md @@ -70,7 +70,7 @@ This would result in the generated relation being located in the `reporting` dat ## Definition -Optionally specify a custom database for a [model](/docs/build/sql-models), [seed](/docs/build/seeds), or [tests](/docs/build/tests). (To specify a database for a [snapshot](/docs/build/snapshots), use the [`target_database` config](/reference/resource-configs/target_database)). +Optionally specify a custom database for a [model](/docs/build/sql-models), [seed](/docs/build/seeds), or [tests](/docs/build/data-tests). (To specify a database for a [snapshot](/docs/build/snapshots), use the [`target_database` config](/reference/resource-configs/target_database)). When dbt creates a relation (/) in a database, it creates it as: `{{ database }}.{{ schema }}.{{ identifier }}`, e.g. `analytics.finance.payments` diff --git a/website/docs/reference/resource-configs/meta.md b/website/docs/reference/resource-configs/meta.md index bc0c0c7c041..470bac35ba7 100644 --- a/website/docs/reference/resource-configs/meta.md +++ b/website/docs/reference/resource-configs/meta.md @@ -127,7 +127,7 @@ See [configs and properties](/reference/configs-and-properties) for details. -You can't add YAML `meta` configs for [generic tests](/docs/build/tests#generic-tests). However, you can add `meta` properties to [singular tests](/docs/build/tests#singular-tests) using `config()` at the top of the test file. +You can't add YAML `meta` configs for [generic tests](/docs/build/data-tests#generic-tests). However, you can add `meta` properties to [singular tests](/docs/build/data-tests#singular-tests) using `config()` at the top of the test file. diff --git a/website/docs/reference/resource-configs/store_failures_as.md b/website/docs/reference/resource-configs/store_failures_as.md index a9149360089..fd561176008 100644 --- a/website/docs/reference/resource-configs/store_failures_as.md +++ b/website/docs/reference/resource-configs/store_failures_as.md @@ -70,7 +70,7 @@ As with most other configurations, `store_failures_as` is "clobbered" when appli Additional resources: -- [Test configurations](/reference/test-configs#related-documentation) -- [Test-specific configurations](/reference/test-configs#test-specific-configurations) +- [Test configurations](/reference/data-test-configs#related-documentation) +- [Test-specific configurations](/reference/data-test-configs#test-specific-configurations) - [Configuring directories of models in dbt_project.yml](/reference/model-configs#configuring-directories-of-models-in-dbt_projectyml) - [Config inheritance](/reference/configs-and-properties#config-inheritance) \ No newline at end of file diff --git a/website/docs/reference/resource-properties/columns.md b/website/docs/reference/resource-properties/columns.md index ff8aa8734c6..74727977feb 100644 --- a/website/docs/reference/resource-properties/columns.md +++ b/website/docs/reference/resource-properties/columns.md @@ -28,7 +28,7 @@ models: data_type: [description](/reference/resource-properties/description): [quote](/reference/resource-properties/quote): true | false - [tests](/reference/resource-properties/tests): ... + [tests](/reference/resource-properties/data-tests): ... [tags](/reference/resource-configs/tags): ... [meta](/reference/resource-configs/meta): ... - name: @@ -55,7 +55,7 @@ sources: [description](/reference/resource-properties/description): data_type: [quote](/reference/resource-properties/quote): true | false - [tests](/reference/resource-properties/tests): ... + [tests](/reference/resource-properties/data-tests): ... [tags](/reference/resource-configs/tags): ... [meta](/reference/resource-configs/meta): ... - name: @@ -81,7 +81,7 @@ seeds: [description](/reference/resource-properties/description): data_type: [quote](/reference/resource-properties/quote): true | false - [tests](/reference/resource-properties/tests): ... + [tests](/reference/resource-properties/data-tests): ... [tags](/reference/resource-configs/tags): ... [meta](/reference/resource-configs/meta): ... - name: @@ -106,7 +106,7 @@ snapshots: [description](/reference/resource-properties/description): data_type: [quote](/reference/resource-properties/quote): true | false - [tests](/reference/resource-properties/tests): ... + [tests](/reference/resource-properties/data-tests): ... [tags](/reference/resource-configs/tags): ... [meta](/reference/resource-configs/meta): ... - name: diff --git a/website/docs/reference/resource-properties/config.md b/website/docs/reference/resource-properties/config.md index 55d2f64d9ff..89d189d8a78 100644 --- a/website/docs/reference/resource-properties/config.md +++ b/website/docs/reference/resource-properties/config.md @@ -98,7 +98,7 @@ version: 2 - [](#test_name): : config: - [](/reference/test-configs): + [](/reference/data-test-configs): ... ``` diff --git a/website/docs/reference/resource-properties/tests.md b/website/docs/reference/resource-properties/data-tests.md similarity index 83% rename from website/docs/reference/resource-properties/tests.md rename to website/docs/reference/resource-properties/data-tests.md index 0fe86ccc57d..96ee322efc0 100644 --- a/website/docs/reference/resource-properties/tests.md +++ b/website/docs/reference/resource-properties/data-tests.md @@ -1,8 +1,8 @@ --- -title: "About tests property" -sidebar_label: "tests" +title: "About data tests property" +sidebar_label: "Data tests" resource_types: all -datatype: test +datatype: data-test keywords: [test, tests, custom tests, custom test name, test name] --- @@ -30,7 +30,7 @@ models: - [](#test_name): : [config](/reference/resource-properties/config): - [](/reference/test-configs): + [](/reference/data-test-configs): [columns](/reference/resource-properties/columns): - name: @@ -39,7 +39,7 @@ models: - [](#test_name): : [config](/reference/resource-properties/config): - [](/reference/test-configs): + [](/reference/data-test-configs): ``` @@ -62,7 +62,7 @@ sources: - [](#test_name): : [config](/reference/resource-properties/config): - [](/reference/test-configs): + [](/reference/data-test-configs): columns: - name: @@ -71,7 +71,7 @@ sources: - [](#test_name): : [config](/reference/resource-properties/config): - [](/reference/test-configs): + [](/reference/data-test-configs): ``` @@ -93,7 +93,7 @@ seeds: - [](#test_name): : [config](/reference/resource-properties/config): - [](/reference/test-configs): + [](/reference/data-test-configs): columns: - name: @@ -102,7 +102,7 @@ seeds: - [](#test_name): : [config](/reference/resource-properties/config): - [](/reference/test-configs): + [](/reference/data-test-configs): ``` @@ -124,7 +124,7 @@ snapshots: - [](#test_name): : [config](/reference/resource-properties/config): - [](/reference/test-configs): + [](/reference/data-test-configs): columns: - name: @@ -133,7 +133,7 @@ snapshots: - [](#test_name): : [config](/reference/resource-properties/config): - [](/reference/test-configs): + [](/reference/data-test-configs): ``` @@ -152,17 +152,17 @@ This feature is not implemented for analyses. ## Related documentation -* [Testing guide](/docs/build/tests) +* [Testing guide](/docs/build/data-tests) ## Description -The `tests` property defines assertions about a column, , or . The property contains a list of [generic tests](/docs/build/tests#generic-tests), referenced by name, which can include the four built-in generic tests available in dbt. For example, you can add tests that ensure a column contains no duplicates and zero null values. Any arguments or [configurations](/reference/test-configs) passed to those tests should be nested below the test name. +The data `tests` property defines assertions about a column, , or . The property contains a list of [generic tests](/docs/build/data-tests#generic-tests), referenced by name, which can include the four built-in generic tests available in dbt. For example, you can add tests that ensure a column contains no duplicates and zero null values. Any arguments or [configurations](/reference/data-test-configs) passed to those tests should be nested below the test name. Once these tests are defined, you can validate their correctness by running `dbt test`. -## Out-of-the-box tests +## Out-of-the-box data tests -There are four generic tests that are available out of the box, for everyone using dbt. +There are four generic data tests that are available out of the box, for everyone using dbt. ### `not_null` @@ -262,7 +262,7 @@ The `to` argument accepts a [Relation](/reference/dbt-classes#relation) – this ## Additional examples ### Test an expression -Some tests require multiple columns, so it doesn't make sense to nest them under the `columns:` key. In this case, you can apply the test to the model (or source, seed, or snapshot) instead: +Some data tests require multiple columns, so it doesn't make sense to nest them under the `columns:` key. In this case, you can apply the test to the model (or source, seed, or snapshot) instead: @@ -300,7 +300,7 @@ models: Check out the guide on writing a [custom generic test](/best-practices/writing-custom-generic-tests) for more information. -### Custom test name +### Custom data test name By default, dbt will synthesize a name for your generic test by concatenating: - test name (`not_null`, `unique`, etc) @@ -434,11 +434,11 @@ $ dbt test 12:48:04 Done. PASS=2 WARN=0 ERROR=0 SKIP=0 TOTAL=2 ``` -**If using [`store_failures`](/reference/resource-configs/store_failures):** dbt uses each test's name as the name of the table in which to store any failing records. If you have defined a custom name for one test, that custom name will also be used for its table of failures. You may optionally configure an [`alias`](/reference/resource-configs/alias) for the test, to separately control both the name of the test (for metadata) and the name of its database table (for storing failures). +**If using [`store_failures`](/reference/resource-configs/store_failures):** dbt uses each data test's name as the name of the table in which to store any failing records. If you have defined a custom name for one test, that custom name will also be used for its table of failures. You may optionally configure an [`alias`](/reference/resource-configs/alias) for the test, to separately control both the name of the test (for metadata) and the name of its database table (for storing failures). ### Alternative format for defining tests -When defining a generic test with several arguments and configurations, the YAML can look and feel unwieldy. If you find it easier, you can define the same test properties as top-level keys of a single dictionary, by providing the test name as `test_name` instead. It's totally up to you. +When defining a generic data test with several arguments and configurations, the YAML can look and feel unwieldy. If you find it easier, you can define the same test properties as top-level keys of a single dictionary, by providing the test name as `test_name` instead. It's totally up to you. This example is identical to the one above: diff --git a/website/docs/reference/seed-properties.md b/website/docs/reference/seed-properties.md index 85e7be21ae1..9201df65f4c 100644 --- a/website/docs/reference/seed-properties.md +++ b/website/docs/reference/seed-properties.md @@ -18,7 +18,7 @@ seeds: show: true | false [config](/reference/resource-properties/config): [](/reference/seed-configs): - [tests](/reference/resource-properties/tests): + [tests](/reference/resource-properties/data-tests): - - ... # declare additional tests columns: @@ -27,7 +27,7 @@ seeds: [meta](/reference/resource-configs/meta): {} [quote](/reference/resource-properties/quote): true | false [tags](/reference/resource-configs/tags): [] - [tests](/reference/resource-properties/tests): + [tests](/reference/resource-properties/data-tests): - - ... # declare additional tests diff --git a/website/docs/reference/snapshot-properties.md b/website/docs/reference/snapshot-properties.md index 301747e9325..8f01fd8e988 100644 --- a/website/docs/reference/snapshot-properties.md +++ b/website/docs/reference/snapshot-properties.md @@ -22,7 +22,7 @@ snapshots: show: true | false [config](/reference/resource-properties/config): [](/reference/snapshot-configs): - [tests](/reference/resource-properties/tests): + [tests](/reference/resource-properties/data-tests): - - ... columns: @@ -31,7 +31,7 @@ snapshots: [meta](/reference/resource-configs/meta): {} [quote](/reference/resource-properties/quote): true | false [tags](/reference/resource-configs/tags): [] - [tests](/reference/resource-properties/tests): + [tests](/reference/resource-properties/data-tests): - - ... # declare additional tests - ... # declare properties of additional columns diff --git a/website/docs/reference/source-properties.md b/website/docs/reference/source-properties.md index d107881967e..aa95a19327c 100644 --- a/website/docs/reference/source-properties.md +++ b/website/docs/reference/source-properties.md @@ -57,7 +57,7 @@ sources: [meta](/reference/resource-configs/meta): {} [identifier](/reference/resource-properties/identifier): [loaded_at_field](/reference/resource-properties/freshness#loaded_at_field): - [tests](/reference/resource-properties/tests): + [tests](/reference/resource-properties/data-tests): - - ... # declare additional tests [tags](/reference/resource-configs/tags): [] @@ -80,7 +80,7 @@ sources: [description](/reference/resource-properties/description): [meta](/reference/resource-configs/meta): {} [quote](/reference/resource-properties/quote): true | false - [tests](/reference/resource-properties/tests): + [tests](/reference/resource-properties/data-tests): - - ... # declare additional tests [tags](/reference/resource-configs/tags): [] diff --git a/website/docs/terms/data-wrangling.md b/website/docs/terms/data-wrangling.md index 58034fe8e91..d71013524ca 100644 --- a/website/docs/terms/data-wrangling.md +++ b/website/docs/terms/data-wrangling.md @@ -150,7 +150,7 @@ For nested data types such as JSON, you’ll want to check out the JSON parsing ### Validating -dbt offers [generic tests](/docs/build/tests#more-generic-tests) in every dbt project that allows you to validate accepted, unique, and null values. They also allow you to validate the relationships between tables and that the primary key is unique. +dbt offers [generic tests](/docs/build/data-tests#more-generic-tests) in every dbt project that allows you to validate accepted, unique, and null values. They also allow you to validate the relationships between tables and that the primary key is unique. If you can’t find what you need with the generic tests, you can download an additional dbt testing package called [dbt_expectations](https://hub.getdbt.com/calogica/dbt_expectations/0.1.2/) that dives even deeper into how you can test the values in your columns. This package has useful tests like `expect_column_values_to_be_in_type_list`, `expect_column_values_to_be_between`, and `expect_column_value_lengths_to_equal`. diff --git a/website/docs/terms/primary-key.md b/website/docs/terms/primary-key.md index 4acd1e8c46d..5724e2b3b6e 100644 --- a/website/docs/terms/primary-key.md +++ b/website/docs/terms/primary-key.md @@ -108,7 +108,7 @@ In general for Redshift, it’s still good practice to define your primary keys ### Google BigQuery -BigQuery is pretty unique here in that it doesn’t support or enforce primary keys. If your team is on BigQuery, you’ll need to have some [pretty solid testing](/docs/build/tests) in place to ensure your primary key fields are unique and non-null. +BigQuery is pretty unique here in that it doesn’t support or enforce primary keys. If your team is on BigQuery, you’ll need to have some [pretty solid testing](/docs/build/data-tests) in place to ensure your primary key fields are unique and non-null. ### Databricks @@ -141,7 +141,7 @@ If you don't have a field in your table that would act as a natural primary key, If your data warehouse doesn’t provide out-of-the box support and enforcement for primary keys, it’s important to clearly label and put your own constraints on primary key fields. This could look like: * **Creating a consistent naming convention for your primary keys**: You may see an `id` field or fields prefixed with `pk_` (ex. `pk_order_id`) to identify primary keys. You may also see the primary key be named as the obvious table grain (ex. In the jaffle shop’s `orders` table, the primary key is called `order_id`). -* **Adding automated [tests](/docs/build/tests) to your data models**: Use a data tool, such as dbt, to create not null and unique tests for your primary key fields. +* **Adding automated [tests](/docs/build/data-tests) to your data models**: Use a data tool, such as dbt, to create not null and unique tests for your primary key fields. ## Testing primary keys diff --git a/website/docs/terms/surrogate-key.md b/website/docs/terms/surrogate-key.md index e57a0b74a7f..9b8c932ee5a 100644 --- a/website/docs/terms/surrogate-key.md +++ b/website/docs/terms/surrogate-key.md @@ -177,7 +177,7 @@ After executing this, the table would now have the `unique_id` field now uniquel Amazing, you just made a surrogate key! You can just move on to the next data model, right? No!! It’s critically important to test your surrogate keys for uniqueness and non-null values to ensure that the correct fields were chosen to create the surrogate key. -In order to test for null and unique values you can utilize code-based tests like [dbt tests](/docs/build/tests), that can check fields for nullness and uniqueness. You can additionally utilize simple SQL queries or unit tests to check if surrogate key count and non-nullness is correct. +In order to test for null and unique values you can utilize code-based tests like [dbt tests](/docs/build/data-tests), that can check fields for nullness and uniqueness. You can additionally utilize simple SQL queries or unit tests to check if surrogate key count and non-nullness is correct. ## A note on hashing algorithms diff --git a/website/sidebars.js b/website/sidebars.js index 598fffc7f0d..42269c49a76 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -277,7 +277,7 @@ const sidebarSettings = { }, "docs/build/snapshots", "docs/build/seeds", - "docs/build/tests", + "docs/build/data-tests", "docs/build/jinja-macros", "docs/build/sources", "docs/build/exposures", @@ -743,7 +743,7 @@ const sidebarSettings = { "reference/resource-properties/latest_version", "reference/resource-properties/include-exclude", "reference/resource-properties/quote", - "reference/resource-properties/tests", + "reference/resource-properties/data-tests", "reference/resource-properties/versions", ], }, diff --git a/website/snippets/_run-result.md b/website/snippets/_run-result.md index 77a35676e86..28de3a97cb6 100644 --- a/website/snippets/_run-result.md +++ b/website/snippets/_run-result.md @@ -1,2 +1,2 @@ -- `adapter_response`: Dictionary of metadata returned from the database, which varies by adapter. For example, success `code`, number of `rows_affected`, total `bytes_processed`, and so on. Not applicable for [tests](/docs/build/tests). +- `adapter_response`: Dictionary of metadata returned from the database, which varies by adapter. For example, success `code`, number of `rows_affected`, total `bytes_processed`, and so on. Not applicable for [tests](/docs/build/data-tests). * `rows_affected` returns the number of rows modified by the last statement executed. In cases where the query's row count can't be determined or isn't applicable (such as when creating a view), a [standard value](https://peps.python.org/pep-0249/#rowcount) of `-1` is returned for `rowcount`. diff --git a/website/snippets/tutorial-add-tests-to-models.md b/website/snippets/tutorial-add-tests-to-models.md index 491fc72ba85..f743c2bf947 100644 --- a/website/snippets/tutorial-add-tests-to-models.md +++ b/website/snippets/tutorial-add-tests-to-models.md @@ -1,4 +1,4 @@ -Adding [tests](/docs/build/tests) to a project helps validate that your models are working correctly. +Adding [tests](/docs/build/data-tests) to a project helps validate that your models are working correctly. To add tests to your project: From 102e11546b02c409341de36adc2f15850c000388 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Tue, 5 Dec 2023 15:03:46 -0500 Subject: [PATCH 034/165] adding redirects --- website/vercel.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/website/vercel.json b/website/vercel.json index 3377b49278d..41b10f9c773 100644 --- a/website/vercel.json +++ b/website/vercel.json @@ -2,6 +2,21 @@ "cleanUrls": true, "trailingSlash": false, "redirects": [ + { + "source": "/reference/test-configs", + "destination": "/reference/data-test-configs", + "permanent": true + }, + { + "source": "/reference/resource-properties/tests", + "destination": "/reference/resource-properties/data-tests",, + "permanent": true + }, + { + "source": "/docs/build/tests", + "destination": "/docs/build/data-tests", + "permanent": true + }, { "source": "/docs/cloud/dbt-cloud-ide", "destination": "/docs/cloud/dbt-cloud-ide/develop-in-the-cloud", From 807ebbcfb7e53387388adcf0d65645027916ccbe Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Tue, 5 Dec 2023 15:06:32 -0500 Subject: [PATCH 035/165] Fixing syntax --- website/vercel.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/vercel.json b/website/vercel.json index 41b10f9c773..5cdc2656948 100644 --- a/website/vercel.json +++ b/website/vercel.json @@ -9,7 +9,7 @@ }, { "source": "/reference/resource-properties/tests", - "destination": "/reference/resource-properties/data-tests",, + "destination": "/reference/resource-properties/data-tests", "permanent": true }, { From 6c459adc0db4888f7c8043b1587ec08757ce8c0b Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Tue, 5 Dec 2023 15:13:15 -0500 Subject: [PATCH 036/165] Fixing sidebar name --- website/sidebars.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/sidebars.js b/website/sidebars.js index 42269c49a76..7a05539d05f 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -809,7 +809,7 @@ const sidebarSettings = { type: "category", label: "For tests", items: [ - "reference/test-configs", + "reference/data-test-configs", "reference/resource-configs/fail_calc", "reference/resource-configs/limit", "reference/resource-configs/severity", From 55d37b71142f270cff5cdce03b74d528f31e7f9b Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Tue, 5 Dec 2023 16:35:28 -0500 Subject: [PATCH 037/165] Apply suggestions from code review --- .../resource-configs/redshift-configs.md | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/website/docs/reference/resource-configs/redshift-configs.md b/website/docs/reference/resource-configs/redshift-configs.md index 8c9b015ded3..0e079453ec6 100644 --- a/website/docs/reference/resource-configs/redshift-configs.md +++ b/website/docs/reference/resource-configs/redshift-configs.md @@ -145,10 +145,9 @@ select * from {{ ref('my_base_table') }} Many of these parameters correspond to their table counterparts and have been linked above. -The set of parameters which are unique to materialized views covers auto-refresh and backup functionality, which is covered below. +The parameters unique to materialized views are the auto-refresh and backup functionality, which are covered below. -Find more information about these parameters in the Redshift docs: -- [CREATE MATERIALIZED VIEW](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-create-sql-command.html) +Find more information about the [CREATE MATERIALIZED VIEW](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-create-sql-command.html) parameters in the Redshift docs. #### Auto-refresh @@ -157,11 +156,10 @@ Find more information about these parameters in the Redshift docs: | `auto_refresh` | BOOLEAN | NO | `False` | ALTER | Redshift supports [automatic refresh](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-refresh.html#materialized-view-auto-refresh) configuration for materialized views. -By default, a materialized view will not automatically refresh. -dbt will monitor this parameter for changes and apply them using an `ALTER` statement. +By default, a materialized view does not automatically refresh. +dbt monitors this parameter for changes and applies them using an `ALTER` statement. -Find more information about this parameter in the Redshift docs: -- [Parameters](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-create-sql-command.html#mv_CREATE_MATERIALIZED_VIEW-parameters) +Find more information about the [parameters](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-create-sql-command.html#mv_CREATE_MATERIALIZED_VIEW-parameters) in the Redshift docs. #### Backup @@ -175,15 +173,14 @@ By default, a materialized view will be backed up during a cluster snapshot. dbt cannot monitor this parameter as it is not queryable within Redshift. If the value is changed, the materialized view will need to go through a `--full-refresh` in order to set it. -Find more information about this parameter in the Redshift docs: -- [Parameters](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-create-sql-command.html#mv_CREATE_MATERIALIZED_VIEW-parameters) +Find more information about the [parameters](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-create-sql-command.html#mv_CREATE_MATERIALIZED_VIEW-parameters) in the Redshift docs. ### Limitations As with most data platforms, there are limitations associated with materialized views. Some worth noting include: -- Materialized views cannot reference: views, temporary tables, user defined functions, late-binding tables -- Auto-refresh cannot be used if the materialized view references: mutable functions, external schemas, another materialized view +- Materialized views cannot reference views, temporary tables, user-defined functions, or late-binding tables. +- Auto-refresh cannot be used if the materialized view references mutable functions, external schemas, or another materialized view. Find more information about materialized view limitations in Redshift's [docs](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-create-sql-command.html#mv_CREATE_MATERIALIZED_VIEW-limitations). From 465a360978addfca419099f0dd37e23bcf31b4b6 Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Tue, 5 Dec 2023 17:39:44 -0700 Subject: [PATCH 038/165] Example to use instead of N.B. --- contributing/content-style-guide.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/contributing/content-style-guide.md b/contributing/content-style-guide.md index e6fafec4593..4ebbf83bf5f 100644 --- a/contributing/content-style-guide.md +++ b/contributing/content-style-guide.md @@ -479,6 +479,9 @@ Some common Latin abbreviations and other words to use instead: | i.e. | that is | Use incremental models when your dbt runs are becoming too slow (that is, don't start with incremental models) | | e.g. |

  • for example
  • like
|
  • Join both the dedicated #adapter-ecosystem channel in dbt Slack and the channel for your adapter's data store (for example, #db-sqlserver and #db-athena)
  • Using Jinja in SQL provides a way to use control structures (like `if` statements and `for` loops) in your queries
| | etc. |
  • and more
  • and so forth
|
  • A continuous integration environment running pull requests in GitHub, GitLab, and more
  • While reasonable defaults are provided for many such operations (like `create_schema`, `drop_schema`, `create_table`, and so forth), you might need to override one or more macros when building a new adapter
| +| N.B. | note | Note: State-based selection is a powerful, complex feature. | + +https://www.thoughtco.com/n-b-latin-abbreviations-in-english-3972787 ### Prepositions From 573b65ec1d72b73fd4797bf233dc91298a5d0fac Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Wed, 6 Dec 2023 07:33:33 -0500 Subject: [PATCH 039/165] deprecated content --- website/docs/docs/build/metrics.md | 696 ------------------ website/docs/docs/build/projects.md | 2 +- .../avail-sl-integrations.md | 25 - .../docs/use-dbt-semantic-layer/dbt-sl.md | 99 --- .../use-dbt-semantic-layer/quickstart-sl.md | 263 ------- .../docs/use-dbt-semantic-layer/setup-sl.md | 5 - .../use-dbt-semantic-layer/sl-architecture.md | 32 - .../docs/use-dbt-semantic-layer/tableau.md | 1 - website/vercel.json | 5 + 9 files changed, 6 insertions(+), 1122 deletions(-) delete mode 100644 website/docs/docs/build/metrics.md diff --git a/website/docs/docs/build/metrics.md b/website/docs/docs/build/metrics.md deleted file mode 100644 index 7afcb41c2e4..00000000000 --- a/website/docs/docs/build/metrics.md +++ /dev/null @@ -1,696 +0,0 @@ ---- -title: "Metrics" -id: "metrics" -description: "When you define metrics in dbt projects, you encode crucial business logic in tested, version-controlled code. The dbt metrics layer helps you standardize metrics within your organization." -keywords: - - dbt metrics layer -tags: [Metrics] ---- - -import DeprecationNotice from '/snippets/_sl-deprecation-notice.md'; - - - - - - -The dbt Semantic Layer has undergone a [significant revamp](https://www.getdbt.com/blog/dbt-semantic-layer-whats-next/), improving governance, introducing new APIs, and making it more efficient to define/query metrics. This revamp means the dbt_metrics package and the legacy Semantic Layer, available in dbt v1.5 or lower, are no longer supported and won't receive any code fixes. - -**What’s changed?**

-The dbt_metrics package has been [deprecated](https://docs.getdbt.com/blog/deprecating-dbt-metrics) and replaced with [MetricFlow](/docs/build/about-metricflow?version=1.6), a new framework for defining metrics in dbt. This means dbt_metrics is no longer supported after dbt v1.5 and won't receive any code fixes. We will also remove the dbt_metrics spec and docs when it's fully deprecated. - -**Who does this affect?**

-Anyone who uses the dbt_metrics package or is integrated with the legacy Semantic Layer. The new Semantic Layer is available to [Team or Enterprise](https://www.getdbt.com/pricing/) multi-tenant dbt Cloud plans [hosted in North America](/docs/cloud/about-cloud/regions-ip-addresses). You must be on dbt v1.6 or higher to access it. All users can define metrics using MetricFlow. Users on dbt Cloud Developer plans or dbt Core can only use it to define and test metrics locally, but can't dynamically query them with integrated tools. - -**What should you do?**

-If you've defined metrics using dbt_metrics or integrated with the legacy Semantic Layer, we **highly** recommend you [upgrade your dbt version](/docs/dbt-versions/upgrade-core-in-cloud) to dbt v1.6 or higher to use MetricFlow or the new dbt Semantic Layer. To migrate to the new Semantic Layer, refer to the dedicated [migration guide](/guides/sl-migration) for more info. - - -
- - - - -A metric is an aggregation over a that supports zero or more dimensions. Some examples of metrics include: -- active users -- monthly recurring revenue (mrr) - -In v1.0, dbt supports metric definitions as a new node type. Like [exposures](exposures), metrics appear as nodes in the directed acyclic graph (DAG) and can be expressed in YAML files. Defining metrics in dbt projects encodes crucial business logic in tested, version-controlled code. Further, you can expose these metrics definitions to downstream tooling, which drives consistency and precision in metric reporting. - -### Benefits of defining metrics - -**Use metric specifications in downstream tools** -dbt's compilation context can access metrics via the [`graph.metrics` variable](graph). The [manifest artifact](manifest-json) includes metrics for downstream metadata consumption. - -**See and select dependencies** -As with Exposures, you can see everything that rolls up into a metric (`dbt ls -s +metric:*`), and visualize them in [dbt documentation](documentation). For more information, see "[The `metric:` selection method](node-selection/methods#the-metric-method)." - - - -## Defining a metric - -You can define metrics in `.yml` files nested under a `metrics:` key. Metric names must: -- contain only letters, numbers, and underscores (no spaces or special characters) -- begin with a letter -- contain no more than 250 characters - -For a short human-friendly name with title casing, spaces, and special characters, use the `label` property. - -### Example definition - - - - - -```yaml -# models/marts/product/schema.yml - -version: 2 - -models: - - name: dim_customers - ... - -metrics: - - name: rolling_new_customers - label: New Customers - model: ref('dim_customers') - [description](description): "The 14 day rolling count of paying customers using the product" - - calculation_method: count_distinct - expression: user_id - - timestamp: signup_date - time_grains: [day, week, month, quarter, year] - - dimensions: - - plan - - country - - window: - count: 14 - period: day - - filters: - - field: is_paying - operator: 'is' - value: 'true' - - field: lifetime_value - operator: '>=' - value: '100' - - field: company_name - operator: '!=' - value: "'Acme, Inc'" - - field: signup_date - operator: '>=' - value: "'2020-01-01'" - - # general properties - [config](resource-properties/config): - enabled: true | false - treat_null_values_as_zero: true | false - - [meta](resource-configs/meta): {team: Finance} -``` - - - - -```yaml -# models/marts/product/schema.yml - -version: 2 - -models: - - name: dim_customers - ... - -metrics: - - name: rolling_new_customers - label: New Customers - model: ref('dim_customers') - description: "The 14 day rolling count of paying customers using the product" - - type: count_distinct - sql: user_id - - timestamp: signup_date - time_grains: [day, week, month, quarter, year, all_time] - - dimensions: - - plan - - country - - filters: - - field: is_paying - operator: 'is' - value: 'true' - - field: lifetime_value - operator: '>=' - value: '100' - - field: company_name - operator: '!=' - value: "'Acme, Inc'" - - field: signup_date - operator: '>=' - value: "'2020-01-01'" - - meta: {team: Finance} -``` - - - - -:::caution - -- You cannot define metrics on [ephemeral models](https://docs.getdbt.com/docs/build/materializations#ephemeral). To define a metric, the materialization must have a representation in the data warehouse. - -::: - - -### Available properties -Metrics can have many declared **properties**, which define aspects of your metric. More information on [properties and configs can be found here](https://docs.getdbt.com/reference/configs-and-properties). - - - -| Field | Description | Example | Required? | -|-------------|-------------------------------------------------------------|---------------------------------|-----------| -| name | A unique identifier for the metric | new_customers | yes | -| model | The dbt model that powers this metric | dim_customers | yes (no for `derived` metrics)| -| label | A short for name / label for the metric | New Customers | yes | -| description | Long form, human-readable description for the metric | The number of customers who.... | no | -| calculation_method | The method of calculation (aggregation or derived) that is applied to the expression | count_distinct | yes | -| expression | The expression to aggregate/calculate over | user_id, cast(user_id as int) |yes | -| timestamp | The time-based component of the metric | signup_date | no yes | -| time_grains | One or more "grains" at which the metric can be evaluated. For more information, see the "Custom Calendar" section. | [day, week, month, quarter, year] | no yes | -| dimensions | A list of dimensions to group or filter the metric by | [plan, country] | no | -| window | A dictionary for aggregating over a window of time. Used for rolling metrics such as 14 day rolling average. Acceptable periods are: [`day`,`week`,`month`, `year`, `all_time`] | {count: 14, period: day} | no | -| filters | A list of filters to apply before calculating the metric | See below | no | -| config | [Optional configurations](https://github.com/dbt-labs/dbt_metrics#accepted-metric-configurations) for calculating this metric | {treat_null_values_as_zero: true} | no | -| meta | Arbitrary key/value store | {team: Finance} | no | - - - - - -| Field | Description | Example | Required? | -|-------------|-------------------------------------------------------------|---------------------------------|-----------| -| name | A unique identifier for the metric | new_customers | yes | -| model | The dbt model that powers this metric | dim_customers | yes (no for `derived` metrics)| -| label | A short for name / label for the metric | New Customers |yes | -| description | Long form, human-readable description for the metric | The number of customers who.... | no | -| type | The method of calculation (aggregation or derived) that is applied to the expression | count_distinct | yes | -| sql | The expression to aggregate/calculate over | user_id, cast(user_id as int) | yes | -| timestamp | The time-based component of the metric | signup_date | yes | -| time_grains | One or more "grains" at which the metric can be evaluated | [day, week, month, quarter, year, all_time] | yes | -| dimensions | A list of dimensions to group or filter the metric by | [plan, country] | no | -| filters | A list of filters to apply before calculating the metric | See below | no | -| meta | Arbitrary key/value store | {team: Finance} | no | - - - - -### Available calculation methods - - - -The method of calculation (aggregation or derived) that is applied to the expression. - - - - -The type of calculation (aggregation or expression) that is applied to the sql property. - - - -| Metric Calculation Method | Description | -|----------------|----------------------------------------------------------------------------| -| count | This metric type will apply the `count` aggregation to the specified field | -| count_distinct | This metric type will apply the `count` aggregation to the specified field, with an additional distinct statement inside the aggregation | -| sum | This metric type will apply the `sum` aggregation to the specified field | -| average | This metric type will apply the `average` aggregation to the specified field | -| min | This metric type will apply the `min` aggregation to the specified field | -| max | This metric type will apply the `max` aggregation to the specified field | -| median | This metric type will apply the `median` aggregation to the specified field, or an alternative `percentile_cont` aggregation if `median` is not available | -|derived expression | This metric type is defined as any _non-aggregating_ calculation of 1 or more metrics | - - - -### Derived Metrics -In v1.2, support was added for `derived` metrics (previously named `expression`), which are defined as non-aggregating calculations of 1 or more metrics. An example of this would be `{{metric('total_revenue')}} / {{metric('count_of_customers')}}`. - - By defining these metrics, you are able to create metrics like: -- ratios -- subtractions -- any arbitrary calculation - -As long as the two (or more) base metrics (metrics that comprise the `derived` metric) share the specified `time_grains` and `dimensions`, those attributes can be used in any downstream metrics macro. - -An example definition of an `derived` metric is: - - - - -```yaml -# models/marts/product/schema.yml -version: 2 - -models: - - name: dim_customers - ... - -metrics: - - name: average_revenue_per_customer - label: Average Revenue Per Customer - description: "The average revenue received per customer" - - calculation_method: derived - expression: "{{metric('total_revenue')}} / {{metric('count_of_customers')}}" - - timestamp: order_date - time_grains: [day, week, month, quarter, year, all_time] - dimensions: - - had_discount - - order_country - -``` - - - - - -### Expression Metrics -In v1.2, support was added for `expression` metrics, which are defined as non-aggregating calculations of 1 or more metrics. By defining these metrics, you are able to create metrics like: -- ratios -- subtractions -- any arbitrary calculation - -As long as the two+ base metrics (the metrics that comprise the `expression` metric) share the specified `time_grains` and `dimensions`, those attributes can be used in any downstream metrics macro. - -An example definition of an `expression` metric is: - - - - -```yaml -# models/marts/product/schema.yml -version: 2 - -models: - - name: dim_customers - ... - -metrics: - - name: average_revenue_per_customer - label: Average Revenue Per Customer - description: "The average revenue received per customer" - - type: expression - sql: "{{metric('total_revenue')}} / {{metric('count_of_customers')}}" - - timestamp: order_date - time_grains: [day, week, month, quarter, year, all_time] - dimensions: - - had_discount - - order_country - -``` - - -### Filters -Filters should be defined as a list of dictionaries that define predicates for the metric. Filters are combined using AND clauses. For more control, users can (and should) include the complex logic in the model powering the metric. - -All three properties (`field`, `operator`, `value`) are required for each defined filter. - -Note that `value` must be defined as a string in YAML, because it will be compiled into queries as part of a string. If your filter's value needs to be surrounded by quotes inside the query (e.g. text or dates), use `"'nested'"` quotes: - -```yml - filters: - - field: is_paying - operator: 'is' - value: 'true' - - field: lifetime_value - operator: '>=' - value: '100' - - field: company_name - operator: '!=' - value: "'Acme, Inc'" - - field: signup_date - operator: '>=' - value: "'2020-01-01'" -``` - -### Calendar -The dbt_metrics package contains a [basic calendar table](https://github.com/dbt-labs/dbt_metrics/blob/main/models/dbt_metrics_default_calendar.sql) that is created as part of your `dbt run`. It contains dates between 2010-01-01 and 2029-12-31. - -If you want to use a custom calendar, you can replace the default with any table which meets the following requirements: -- Contains a `date_day` column. -- Contains the following columns: `date_week`, `date_month`, `date_quarter`, `date_year`, or equivalents. -- Additional date columns need to be prefixed with `date_`, e.g. `date_4_5_4_month` for a 4-5-4 retail calendar date set. Dimensions can have any name (see following section). - -To do this, set the value of the `dbt_metrics_calendar_model` variable in your `dbt_project.yml` file: -```yaml -#dbt_project.yml -config-version: 2 -[...] -vars: - dbt_metrics_calendar_model: my_custom_calendar -``` - -#### Dimensions from calendar tables -You may want to aggregate metrics by a dimension in your custom calendar table, for example is_weekend. You can include this within the list of dimensions in the macro call without it needing to be defined in the metric definition. - -To do so, set a list variable at the project level called custom_calendar_dimension_list, as shown in the example below. - -```yaml -#dbt_project.yml -vars: - custom_calendar_dimension_list: ["is_weekend"] -``` - - - -### Configuration - -Metric nodes now accept `config` dictionaries like other dbt resources. Specify Metric configs in the metric yml itself, or for groups of metrics in the `dbt_project.yml` file. - - - - - - - - -```yml -version: 2 -metrics: - - name: config_metric - label: Example Metric with Config - model: ref(‘my_model’) - calculation_method: count - timestamp: date_field - time_grains: [day, week, month] - config: - enabled: true -``` - - - - - - - - -```yml -metrics: - your_project_name: - +enabled: true -``` - - - - - - - - -#### Accepted Metric Configurations - -The following is the list of currently accepted metric configs: - -| Config | Type | Accepted Values | Default Value | Description | -|--------|------|-----------------|---------------|-------------| -| `enabled` | boolean | True/False | True | Enables or disables a metric node. When disabled, dbt will not consider it as part of your project. | -| `treat_null_values_as_zero` | boolean | True/False | True | Controls the `coalesce` behavior for metrics. By default, when there are no observations for a metric, the output of the metric as well as [Period over Period](#secondary-calculations) secondary calculations will include a `coalesce({{ field }}, 0)` to return 0's rather than nulls. Setting this config to False instead returns `NULL` values. | - - - -## Querying Your Metric - -:::caution dbt_metrics is no longer supported -The dbt_metrics package has been deprecated and replaced with [MetricFlow](/docs/build/about-metricflow?version=1.6), a new way framework for defining metrics in dbt. This means dbt_metrics is no longer supported after dbt v1.5 and won't receive any code fixes. -::: - -You can dynamically query metrics directly in dbt and verify them before running a job in the deployment environment. To query your defined metric, you must have the [dbt_metrics package](https://github.com/dbt-labs/dbt_metrics) installed. Information on how to [install packages can be found here](https://docs.getdbt.com/docs/build/packages#how-do-i-add-a-package-to-my-project). - -Use the following [metrics package](https://hub.getdbt.com/dbt-labs/metrics/latest/) installation code in your packages.yml file and run `dbt deps` to install the metrics package: - - - -```yml -packages: - - package: dbt-labs/metrics - version: [">=1.3.0", "<1.4.0"] -``` - - - - - -```yml -packages: - - package: dbt-labs/metrics - version: [">=0.3.0", "<0.4.0"] -``` - - - -Once the package has been installed with `dbt deps`, make sure to run the `dbt_metrics_default_calendar` model as this is required for macros used to query metrics. More information on this, and additional calendar functionality, can be found in the [project README](https://github.com/dbt-labs/dbt_metrics#calendar). - -### Querying metrics with `metrics.calculate` -Use the `metrics.calculate` macro along with defined metrics to generate a SQL statement that runs the metric aggregation to return the correct metric dataset. Example below: - - - -```sql -select * -from {{ metrics.calculate( - metric('new_customers'), - grain='week', - dimensions=['plan', 'country'] -) }} -``` - - - -### Supported inputs -The example above doesn't display all the potential inputs you can provide to the macro. - -You may find some pieces of functionality, like secondary calculations, complicated to use. We recommend reviewing the [package README](https://github.com/dbt-labs/dbt_metrics) for more in-depth information about each of the inputs that are not covered in the table below. - - -| Input | Example | Description | Required | -| ----------- | ----------- | ----------- | -----------| -| metric_list | `metric('some_metric)'`,
[`metric('some_metric)'`,
`metric('some_other_metric)'`]
| The metric(s) to be queried by the macro. If multiple metrics required, provide in list format. | Required | -| grain | `'day'`, `'week'`,
`'month'`, `'quarter'`,
`'year'`
| The time grain that the metric will be aggregated to in the returned dataset | Optional | -| dimensions | [`'plan'`,
`'country'`] | The dimensions you want the metric to be aggregated by in the returned dataset | Optional | -| secondary_calculations | [`metrics.period_over_period( comparison_strategy="ratio", interval=1, alias="pop_1wk")`] | Performs the specified secondary calculation on the metric results. Examples include period over period calculations, rolling calculations, and period to date calculations. | Optional | -| start_date | `'2022-01-01'` | Limits the date range of data used in the metric calculation by not querying data before this date | Optional | -| end_date | `'2022-12-31'` | Limits the date range of data used in the metric calculation by not querying data after this date | Optional | -| where | `plan='paying_customer'` | A sql statement, or series of sql statements, that alter the **final** CTE in the generated sql. Most often used to limit the data to specific values of dimensions provided | Optional | - -### Secondary Calculations -Secondary calculations are window functions you can add to the metric calculation and perform on the primary metric or metrics. - -You can use them to compare values to an earlier period, calculate year-to-date sums, and return rolling averages. You can add custom secondary calculations into dbt projects - for more information on this, reference the [package README](https://github.com/dbt-labs/dbt_metrics#secondary-calculations). - -The supported Secondary Calculations are: - -#### Period over Period: - -The period over period secondary calculation performs a calculation against the metric(s) in question by either determining the difference or the ratio between two points in time. The input variable, which looks at the grain selected in the macro, determines the other point. - -| Input | Example | Description | Required | -| -------------------------- | ----------- | ----------- | -----------| -| `comparison_strategy` | `ratio` or `difference` | How to calculate the delta between the two periods | Yes | -| `interval` | 1 | Integer - the number of time grains to look back | Yes | -| `alias` | `week_over_week` | The column alias for the resulting calculation | No | -| `metric_list` | `base_sum_metric` | List of metrics that the secondary calculation should be applied to. Default is all metrics selected | No | - -#### Period to Date: - -The period to date secondary calculation performs an aggregation on a defined period of time that is equal to or higher than the grain selected. For example, when you want to display a month_to_date value alongside your weekly grained metric. - -| Input | Example | Description | Required | -| -------------------------- | ----------- | ----------- | -----------| -| `aggregate` | `max`, `average` | The aggregation to use in the window function. Options vary based on the primary aggregation and are enforced in [validate_aggregate_coherence()](https://github.com/dbt-labs/dbt_metrics/blob/main/macros/validation/validate_aggregate_coherence.sql). | Yes | -| `period` | `"day"`, `"week"` | The time grain to aggregate to. One of [`"day"`, `"week"`, `"month"`, `"quarter"`, `"year"`]. Must be at equal or coarser (higher, more aggregated) granularity than the metric's grain (see [Time Grains](#time-grains) below). In example grain of `month`, the acceptable periods would be `month`, `quarter`, or `year`. | Yes | -| `alias` | `month_to_date` | The column alias for the resulting calculation | No | -| `metric_list` | `base_sum_metric` | List of metrics that the secondary calculation should be applied to. Default is all metrics selected | No | - -#### Rolling: - - - -The rolling secondary calculation performs an aggregation on a number of rows in metric dataset. For example, if the user selects the `week` grain and sets a rolling secondary calculation to `4` then the value returned will be a rolling 4 week calculation of whatever aggregation type was selected. If the `interval` input is not provided then the rolling caclulation will be unbounded on all preceding rows. - -| Input | Example | Description | Required | -| -------------------------- | ----------- | ----------- | -----------| -| `aggregate` | `max`, `average` | The aggregation to use in the window function. Options vary based on the primary aggregation and are enforced in [validate_aggregate_coherence()](https://github.com/dbt-labs/dbt_metrics/blob/main/macros/validation/validate_aggregate_coherence.sql). | Yes | -| `interval` | 1 | Integer - the number of time grains to look back | No | -| `alias` | `month_to_date` | The column alias for the resulting calculation | No | -| `metric_list` | `base_sum_metric` | List of metrics that the secondary calculation should be applied to. Default is all metrics selected | No | - - - - -The rolling secondary calculation performs an aggregation on a number of rows in the metric dataset. For example, if the user selects the `week` grain and sets a rolling secondary calculation to `4`, then the value returned will be a rolling 4-week calculation of whatever aggregation type was selected. - -| Input | Example | Description | Required | -| -------------------------- | ----------- | ----------- | -----------| -| `aggregate` | `max`, `average` | The aggregation to use in the window function. Options vary based on the primary aggregation and are enforced in [validate_aggregate_coherence()](https://github.com/dbt-labs/dbt_metrics/blob/main/macros/validation/validate_aggregate_coherence.sql). | Yes | -| `interval` | 1 | Integer - the number of time grains to look back | Yes | -| `alias` | `month_to_date` | The column alias for the resulting calculation | No | -| `metric_list` | `base_sum_metric` | List of metrics that the secondary calculation should be applied to. Default is all metrics selected | No | - - - - -#### Prior: -The prior secondary calculation returns the value from a specified number of intervals before the row. - -| Input | Example | Description | Required | -| -------------------------- | ----------- | ----------- | -----------| -| `interval` | 1 | Integer - the number of time grains to look back | Yes | -| `alias` | `2_weeks_prior` | The column alias for the resulting calculation | No | -| `metric_list` | `base_sum_metric` | List of metrics that the secondary calculation should be applied to. Default is all metrics selected | No | - - - -### Developing metrics with `metrics.develop` - - - -There may be times you want to test what a metric might look like before defining it in your project. In these cases, use the `develop` metric, which allows you to provide metric(s) in a contained yml so you can simulate what a defined metric might look like in your project. - -```sql -{% set my_metric_yml -%} -{% raw %} - -metrics: - -- The name of the metric does not need to be develop_metric - - name: develop_metric - model: ref('fact_orders') - label: Total Discount ($) - timestamp: order_date - time_grains: [day, week, month, quarter, year, all_time] - calculation_method: average - expression: discount_total - dimensions: - - had_discount - - order_country - -{% endraw %} -{%- endset %} - -select * -from {{ metrics.develop( - develop_yml=my_metric_yml, - metric_list=['develop_metric'], - grain='month' - ) - }} -``` - -**Important caveat** - The metric list input for the `metrics.develop` macro takes in the metric names themselves, not the `metric('name')` statement that the `calculate` macro uses. Using the example above: - -- ✅ `['develop_metric']` -- ❌ `[metric('develop_metric')]` - - - - - -There may be times you want to test what a metric might look like before defining it in your project. In these cases, the `develop` metric, which allows you to provide a single metric in a contained yml so you can simulate what a defined metric might look like in your project. - - -```sql -{% set my_metric_yml -%} -{% raw %} - -metrics: - - name: develop_metric - model: ref('fact_orders') - label: Total Discount ($) - timestamp: order_date - time_grains: [day, week, month, quarter, year, all_time] - type: average - sql: discount_total - dimensions: - - had_discount - - order_country - -{% endraw %} -{%- endset %} - -select * -from {{ metrics.develop( - develop_yml=my_metric_yml, - grain='month' - ) - }} -``` - - - -#### Multiple/Derived Metrics with `metrics.develop` -If you have a more complicated use case that you are interested in testing, the develop macro also supports this behavior. The only caveat is that you must include the raw tags for any provided metric yml that contains a derived metric. Example below: - -``` -{% set my_metric_yml -%} -{% raw %} - -metrics: - - name: develop_metric - model: ref('fact_orders') - label: Total Discount ($) - timestamp: order_date - time_grains: [day, week, month] - calculation_method: average - expression: discount_total - dimensions: - - had_discount - - order_country - - - name: derived_metric - label: Total Discount ($) - timestamp: order_date - time_grains: [day, week, month] - calculation_method: derived - expression: "{{ metric('develop_metric') }} - 1 " - dimensions: - - had_discount - - order_country - - - name: some_other_metric_not_using - label: Total Discount ($) - timestamp: order_date - time_grains: [day, week, month] - calculation_method: derived - expression: "{{ metric('derived_metric') }} - 1 " - dimensions: - - had_discount - - order_country - -{% endraw %} -{%- endset %} - -select * -from {{ metrics.develop( - develop_yml=my_metric_yml, - metric_list=['derived_metric'] - grain='month' - ) - }} -``` - -The above example will return a dataset that contains the metric provided in the metric list (`derived_metric`) and the parent metric (`develop_metric`). It will not contain `some_other_metric_not_using` as it is not designated in the metric list or a parent of the metrics included. - -**Important caveat** - You _must_ wrap the `expression` property for `derived` metrics in double quotes to render it. For example, `expression: "{{ metric('develop_metric') }} - 1 "`. - -
- - - - - diff --git a/website/docs/docs/build/projects.md b/website/docs/docs/build/projects.md index a54f6042cce..829245de6fc 100644 --- a/website/docs/docs/build/projects.md +++ b/website/docs/docs/build/projects.md @@ -19,7 +19,7 @@ At a minimum, all a project needs is the `dbt_project.yml` project configuration | [docs](/docs/collaborate/documentation) | Docs for your project that you can build. | | [sources](/docs/build/sources) | A way to name and describe the data loaded into your warehouse by your Extract and Load tools. | | [exposures](/docs/build/exposures) | A way to define and describe a downstream use of your project. | -| [metrics](/docs/build/metrics) | A way for you to define metrics for your project. | +| [metrics](/docs/build/build-metrics-intro) | A way for you to define metrics for your project. | | [groups](/docs/build/groups) | Groups enable collaborative node organization in restricted collections. | | [analysis](/docs/build/analyses) | A way to organize analytical SQL queries in your project such as the general ledger from your QuickBooks. | diff --git a/website/docs/docs/use-dbt-semantic-layer/avail-sl-integrations.md b/website/docs/docs/use-dbt-semantic-layer/avail-sl-integrations.md index be02fedb230..045838602a9 100644 --- a/website/docs/docs/use-dbt-semantic-layer/avail-sl-integrations.md +++ b/website/docs/docs/use-dbt-semantic-layer/avail-sl-integrations.md @@ -9,9 +9,6 @@ meta: api_name: dbt Semantic Layer APIs --- - - - There are a number of data applications that seamlessly integrate with the dbt Semantic Layer, powered by MetricFlow, from business intelligence tools to notebooks, spreadsheets, data catalogs, and more. These integrations allow you to query and unlock valuable insights from your data ecosystem. Use the [dbt Semantic Layer APIs](/docs/dbt-cloud-apis/sl-api-overview) to simplify metric queries, optimize your development workflow, and reduce coding. This approach also ensures data governance and consistency for data consumers. @@ -34,25 +31,3 @@ import AvailIntegrations from '/snippets/_sl-partner-links.md'; - [dbt Semantic Layer API query syntax](/docs/dbt-cloud-apis/sl-jdbc#querying-the-api-for-metric-metadata) - [Hex dbt Semantic Layer cells](https://learn.hex.tech/docs/logic-cell-types/transform-cells/dbt-metrics-cells) to set up SQL cells in Hex. - [Resolve 'Failed APN'](/faqs/Troubleshooting/sl-alpn-error) error when connecting to the dbt Semantic Layer. - - - - - -import DeprecationNotice from '/snippets/_sl-deprecation-notice.md'; - - - -A wide variety of data applications across the modern data stack natively integrate with the dbt Semantic Layer and dbt metrics — from Business Intelligence tools to notebooks, data catalogs, and more. - -The dbt Semantic Layer integrations are capable of querying dbt metrics, importing definitions, surfacing the underlying data in partner tools, and leveraging the dbt Server. - -For information on the partner integrations, their documentation, and more — refer to the [dbt Semantic Layer integrations](https://www.getdbt.com/product/semantic-layer-integrations) page. - - - -## Related docs - -- [About the dbt Semantic Layer](/docs/use-dbt-semantic-layer/dbt-sl) - - diff --git a/website/docs/docs/use-dbt-semantic-layer/dbt-sl.md b/website/docs/docs/use-dbt-semantic-layer/dbt-sl.md index 8387e934d84..cde9ae4afbb 100644 --- a/website/docs/docs/use-dbt-semantic-layer/dbt-sl.md +++ b/website/docs/docs/use-dbt-semantic-layer/dbt-sl.md @@ -9,9 +9,6 @@ pagination_next: "docs/use-dbt-semantic-layer/quickstart-sl" pagination_prev: null --- - - - The dbt Semantic Layer, powered by [MetricFlow](/docs/build/about-metricflow), simplifies the process of defining and using critical business metrics, like `revenue` in the modeling layer (your dbt project). By centralizing metric definitions, data teams can ensure consistent self-service access to these metrics in downstream data tools and applications. The dbt Semantic Layer eliminates duplicate coding by allowing data teams to define metrics on top of existing models and automatically handles data joins. @@ -62,99 +59,3 @@ plan="dbt Cloud Team or Enterprise" icon="dbt-bit"/> - - - - - -import DeprecationNotice from '/snippets/_sl-deprecation-notice.md'; - - - -The dbt Semantic Layer allows your data teams to centrally define essential business metrics like `revenue`, `customer`, and `churn` in the modeling layer (your dbt project) for consistent self-service within downstream data tools like BI and metadata management solutions. The dbt Semantic Layer provides the flexibility to define metrics on top of your existing models and then query those metrics and models in your analysis tools of choice. - -Resulting in less duplicate coding for data teams and more consistency for data consumers. - -The dbt Semantic Layer has these main parts: - -- Define your metrics in version-controlled dbt project code using [MetricFlow](/docs/build/about-metricflow) - * dbt_metrics is now deprecated -- Import your metric definitions using the [Discovery API](/docs/dbt-cloud-apis/discovery-api) -- Query your metric data with the dbt Proxy Server -- Explore and analyze dbt metrics in downstream tools - -### What makes the dbt Semantic Layer different? - -The dbt Semantic Layer reduces code duplication and inconsistency regarding your business metrics. By moving metric definitions out of the BI layer and into the modeling layer, your data teams can feel confident that different business units are working from the same metric definitions, regardless of their tool of choice. If a metric definition changes in dbt, it’s refreshed everywhere it’s invoked and creates consistency across all applications. You can also use the dbt Semantic Layer to query models and use macros. - - -## Prerequisites - - - - - - -## Manage metrics - -:::info 📌 - -New to dbt or metrics? Check out our [quickstart guide](/guides) to build your first dbt project! If you'd like to define your first metrics, try our [Jaffle Shop](https://github.com/dbt-labs/jaffle_shop_metrics) example project. - -::: - -If you're not sure whether to define a metric in dbt or not, ask yourself the following: - -> *Is this something our teams consistently need to report on?* - -An important business metric should be: - -- Well-defined (the definition is agreed upon throughout the entire organization) -- Time-bound (able to be compared across time) - -A great example of this is **revenue**. It can be aggregated on multiple levels (weekly, monthly, and so on) and is key for the broader business to understand. - -- ✅ `Monthly recurring revenue` or `Weekly active users` or `Average order value` -- ❌ `1-off experimental metric` - - -### Design and define metrics - -You can design and define your metrics in `.yml` files nested under a metrics key in your dbt project. For more information, refer to these docs:
- -- [dbt metrics](docs/build/metrics) for in-depth detail on attributes, filters, how to define and query your metrics, and [dbt-metrics package](https://github.com/dbt-labs/dbt_metrics) -- [dbt Semantic Layer quickstart](/docs/use-dbt-semantic-layer/quickstart-semantic-layer) to get started - -## Related questions - -
- How do I migrate from the legacy Semantic Layer to the new one? -
-
If you're using the legacy Semantic Layer, we highly recommend you upgrade your dbt version to dbt v1.6 or higher to use the new dbt Semantic Layer. Refer to the dedicated migration guide for more info.
-
-
- -
- How are you storing my data? -
-
The dbt Semantic Layer doesn't store, cache, or log your data. On each query to the Semantic Layer, the resulting data passes through dbt Cloud servers where it's never stored, cached, or logged. The data from your data platform gets routed through dbt Cloud servers to your connecting data tool.
-
-
-
- Is the dbt Semantic Layer open source? -
-
Some components of the dbt Semantic Layer are open source like dbt-core, the dbt_metrics package, and the BSL-licensed dbt-server. The dbt Proxy Server (what is actually compiling the dbt code) and the Discovery API are not open source.



- -During Public Preview, the dbt Semantic Layer is open to all dbt Cloud tiers — Developer, Team, and Enterprise.



- -
-
-
- Is there a dbt Semantic Layer discussion hub? -
-
Yes, absolutely! Join the dbt Slack community and #dbt-cloud-semantic-layer slack channel for all things related to the dbt Semantic Layer. -
-
-
-

-
diff --git a/website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md b/website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md index 62437f4ecd6..19fcc4b9eda 100644 --- a/website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md +++ b/website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md @@ -8,8 +8,6 @@ meta: api_name: dbt Semantic Layer APIs --- - - import CreateModel from '/snippets/_sl-create-semanticmodel.md'; import DefineMetrics from '/snippets/_sl-define-metrics.md'; @@ -98,264 +96,3 @@ import SlFaqs from '/snippets/_sl-faqs.md'; - [Available integrations](/docs/use-dbt-semantic-layer/avail-sl-integrations) - Demo on [how to define and query metrics with MetricFlow](https://www.loom.com/share/60a76f6034b0441788d73638808e92ac?sid=861a94ac-25eb-4fd8-a310-58e159950f5a) - [Billing](/docs/cloud/billing) - - - - - -import DeprecationNotice from '/snippets/_sl-deprecation-notice.md'; - - - -To try out the features of the dbt Semantic Layer, you first need to have a dbt project set up. This quickstart guide will lay out the following steps, and recommends a workflow that demonstrates some of its essential features: - -- Install dbt metrics package - * Note: this package will be deprecated very soon and we highly recommend you to use the new [dbt Semantic Layer](/docs/use-dbt-semantic-layer/dbt-sl?version=1.6), available in dbt v 1.6 or higher. -- Define metrics -- Query, and run metrics -- Configure the dbt Semantic Layer - -## Prerequisites - -To use the dbt Semantic Layer, you’ll need to meet the following: - - - - - - -:::info 📌 - -New to dbt or metrics? Check out our [quickstart guide](/guides) to build your first dbt project! If you'd like to define your first metrics, try our [Jaffle Shop](https://github.com/dbt-labs/jaffle_shop_metrics) example project. - -::: - -## Installing dbt metrics package - -The dbt Semantic Layer supports the calculation of metrics by using the [dbt metrics package](https://hub.getdbt.com/dbt-labs/metrics/latest/). You can install the dbt metrics package in your dbt project by copying the below code blocks. - - - -```yml -packages: - - package: dbt-labs/metrics - version: [">=1.3.0", "<1.4.0"] -``` - - - - - -```yml -packages: - - package: dbt-labs/metrics - version: [">=0.3.0", "<0.4.0"] -``` - - - - -1. Paste the dbt metrics package code in your `packages.yml` file. -2. Run the [`dbt deps` command](/reference/commands/deps) to install the package. -3. If you see a successful result, you have now installed the dbt metrics package successfully! -4. If you have any errors during the `dbt deps` command run, review the system logs for more information on how to resolve them. Make sure you use a dbt metrics package that’s compatible with your dbt environment version. - - - -## Design and define metrics - -Review our helpful metrics video below, which explains what metrics are, why they're important and how you can get started: - - - -Now that you've organized your metrics folder and files, you can define your metrics in `.yml` files nested under a `metrics` key. - -1. Add the metric definitions found in the [Jaffle Shop](https://github.com/dbt-labs/jaffle_shop_metrics) example to your dbt project. For example, to add an expenses metric, reference the following metrics you can define directly in your metrics folder: - - - -```sql -version: 2 - -metrics: - - name: expenses - label: Expenses - model: ref('orders') - description: "The total expenses of our jaffle business" - - calculation_method: sum - expression: amount / 4 - - timestamp: order_date - time_grains: [day, week, month, year] - - dimensions: - - customer_status - - had_credit_card_payment - - had_coupon_payment - - had_bank_transfer_payment - - had_gift_card_payment - - filters: - - field: status - operator: '=' - value: "'completed'" -``` - - - - -```sql -version: 2 - -metrics: - - name: expenses - label: Expenses - model: ref('orders') - description: "The total expenses of our jaffle business" - - type: sum - sql: amount / 4 - - timestamp: order_date - time_grains: [day, week, month, year] - - dimensions: - - customer_status - - had_credit_card_payment - - had_coupon_payment - - had_bank_transfer_payment - - had_gift_card_payment - - filters: - - field: status - operator: '=' - value: "'completed'" -``` - - -1. Click **Save** and then **Compile** the code. -2. Commit and merge the code changes that contain the metric definitions. -3. If you'd like to further design and define your own metrics, review the following documentation: - - - [dbt metrics](/docs/build/metrics) will provide you in-depth detail on attributes, properties, filters, and how to define and query metrics. - -## Develop and query metrics - -You can dynamically develop and query metrics directly in dbt and verify their accuracy _before_ running a job in the deployment environment by using the `metrics.calculate` and `metrics.develop` macros. - -To understand when and how to use the macros above, review [dbt metrics](/docs/build/metrics) and make sure you install the [dbt_metrics package](https://github.com/dbt-labs/dbt_metrics) first before using the above macros. - -:::info 📌 - -**Note:** You will need access to dbt Cloud and the dbt Semantic Layer from your integrated partner tool of choice. - -::: - -## Run your production job - -Once you’ve defined metrics in your dbt project, you can perform a job run in your deployment environment to materialize your metrics. The deployment environment is only supported for the dbt Semantic Layer at this moment. - -1. Go to **Deploy** in the navigation and select **Jobs** to re-run the job with the most recent code in the deployment environment. -2. Your metric should appear as a red node in the dbt Cloud IDE and dbt directed acyclic graphs (DAG). - - - - -**What’s happening internally?** - -- Merging the code into your main branch allows dbt Cloud to pull those changes and builds the definition in the manifest produced by the run. -- Re-running the job in the deployment environment helps materialize the models, which the metrics depend on, in the data platform. It also makes sure that the manifest is up to date. -- Your dbt Discovery API pulls in the most recent manifest and allows your integration information to extract metadata from it. - -## Set up dbt Semantic Layer - - - - -## Troubleshooting - -If you're encountering some issues when defining your metrics or setting up the dbt Semantic Layer, check out a list of answers to some of the questions or problems you may be experiencing. - -
- How are you storing my data? -
-
The dbt Semantic Layer does not store, or cache, or log your data. On each query to the Semantic Layer, the resulting data passes through dbt Cloud servers where it is never stored, cached, or logged. The data from your data platform gets routed through dbt Cloud servers, to your connecting data tool.
-
-
-
- Is the dbt Semantic Layer open source? -
-
Some components of the dbt Semantic Layer are open source like dbt-core, the dbt_metrics package, and the BSL-licensed dbt-server. The dbt Proxy Server (what is actually compiling the dbt code) and the Discovery API are not open sources.



- -During Public Preview, the dbt Semantic Layer is open to all dbt Cloud tiers (Developer, Team, and Enterprise).



-
    -
  • dbt Core users can define metrics in their dbt Core projects and calculate them using macros from the metrics package. To use the dbt Semantic Layer integrations, you will need to have a dbt Cloud account.




  • -
  • Developer accounts will be able to query the Proxy Server using SQL, but will not be able to browse pre-populated dbt metrics in external tools, which requires access to the Discovery API.




  • -
  • Team and Enterprise accounts will be able to set up the Semantic Layer and Discovery API in the integrated partner tool to import metric definitions.
  • -
-
-
-
-
- The dbt_metrics_calendar_table does not exist or is not authorized? -
-
All metrics queries are dependent on either the dbt_metrics_calendar_table or a custom calendar set in the users dbt_project.yml. If you have not created this model in the database, these queries will fail and you'll most likely see the following error message: - -Object DATABASE.SCHEMA.DBT_METRICS_DEFAULT_CALENDAR does not exist or not authorized.

- -Fix: - -
    -
  • If developing locally, run dbt run --select dbt_metrics_default_calendar


  • -
  • If you are using this in production, make sure that you perform a full dbt build or dbt run. If you are running specific selects in your production job, then you will not create this required model.
  • -
-
-
-
-
- Ephemeral Models - Object does not exist or is not authorized -
-
Metrics cannot be defined on ephemeral models because we reference the underlying table in the query that generates the metric so we need the table/view to exist in the database. If your table/view does not exist in your database, you might see this error message: - - Object 'DATABASE.SCHEMA.METRIC_MODEL_TABLE' does not exist or not authorized.

- -Fix: -
    -
  • You will need to materialize the model that the metric is built on as a table/view/incremental.
  • -
-
-
-
- -
- Mismatched Versions - metric type is ‘’ -
-
If you’re running dbt_metrics ≥v0.3.2 but have dbt-core version ≥1.3.0, you’ll likely see these error messages: - -
    -
  • Error message 1: The metric NAME also references ... but its type is ''. Only metrics of type expression can reference other metrics.
  • -
  • Error message 2: Unknown aggregation style: > in macro default__gen_primary_metric_aggregate (macros/sql_gen/gen_primary_metric_aggregate.sql)
  • -
-The reason you're experiencing this error is because we changed the type property of the metric spec in dbt-core v1.3.0. The new name is calculation_method and the package reflects that new name, so it isn’t finding any type when we try and run outdated code on it.

- -Fix: - - - -
-
-
-

- - -## Next steps - -Are you ready to define your own metrics and bring consistency to data consumers? Review the following documents to understand how to structure, define, and query metrics, and set up the dbt Semantic Layer: - -- [dbt metrics](/docs/build/metrics) for in-depth detail on attributes, properties, filters, and how to define and query metrics -- [dbt Server repo](https://github.com/dbt-labs/dbt-server), which is a persisted HTTP server that wraps dbt core to handle RESTful API requests for dbt operations. - -
diff --git a/website/docs/docs/use-dbt-semantic-layer/setup-sl.md b/website/docs/docs/use-dbt-semantic-layer/setup-sl.md index 33f1f43f614..fb7b853ad24 100644 --- a/website/docs/docs/use-dbt-semantic-layer/setup-sl.md +++ b/website/docs/docs/use-dbt-semantic-layer/setup-sl.md @@ -6,9 +6,6 @@ sidebar_label: "Set up your Semantic Layer" tags: [Semantic Layer] --- - - - With the dbt Semantic Layer, you can centrally define business metrics, reduce code duplication and inconsistency, create self-service in downstream tools, and more. Configure the dbt Semantic Layer in dbt Cloud to connect with your integrated partner tool. ## Prerequisites @@ -88,8 +85,6 @@ It is _not_ recommended that you use your dbt Cloud credentials due to elevated
-
- ## Related docs - [Build your metrics](/docs/build/build-metrics-intro) diff --git a/website/docs/docs/use-dbt-semantic-layer/sl-architecture.md b/website/docs/docs/use-dbt-semantic-layer/sl-architecture.md index 9aea2ab42b0..f1fd13944e9 100644 --- a/website/docs/docs/use-dbt-semantic-layer/sl-architecture.md +++ b/website/docs/docs/use-dbt-semantic-layer/sl-architecture.md @@ -7,9 +7,6 @@ tags: [Semantic Layer] pagination_next: null --- - - - The dbt Semantic Layer allows you to define metrics and use various interfaces to query them. The Semantic Layer does the heavy lifting to find where the queried data exists in your data platform and generates the SQL to make the request (including performing joins). @@ -46,32 +43,3 @@ The following table compares the features available in dbt Cloud and source avai import SlFaqs from '/snippets/_sl-faqs.md'; - - - - - -import DeprecationNotice from '/snippets/_sl-deprecation-notice.md'; - - - -## Product architecture - -The dbt Semantic Layer product architecture includes four primary components: - -| Components | Information | Developer plans | Team plans | Enterprise plans | License | -| --- | --- | :---: | :---: | :---: | --- | -| **[dbt project](/docs/build/metrics)** | Define models and metrics in dbt Core.
*Note, we will deprecate and no longer support the dbt_metrics package. | ✅ | ✅ | ✅ | Open source, Core | -| **[dbt Server](https://github.com/dbt-labs/dbt-server)**| A persisted HTTP server that wraps dbt core to handle RESTful API requests for dbt operations. | ✅ | ✅ | ✅ | BSL | -| **SQL Proxy** | Reverse-proxy that accepts dbt-SQL (SQL + Jinja like query models and metrics, use macros), compiles the query into pure SQL, and executes the query against the data platform. | ✅

_* Available during Public Preview only_ | ✅ | ✅ | Proprietary, Cloud (Team & Enterprise) | -| **[Discovery API](/docs/dbt-cloud-apis/discovery-api)** | Accesses metric definitions primarily via integrations and is the source of truth for objects defined in dbt projects (like models, macros, sources, metrics). The Discovery API is updated at the end of every dbt Cloud run. | ❌ | ✅ | ✅ | Proprietary, Cloud (Team & Enterprise) | - - - -dbt Semantic Layer integrations will: - -- Leverage the Discovery API to fetch a list of objects and their attributes, like metrics -- Generate a dbt-SQL statement -- Then query the SQL proxy to evaluate the results of this statement - -
diff --git a/website/docs/docs/use-dbt-semantic-layer/tableau.md b/website/docs/docs/use-dbt-semantic-layer/tableau.md index 0f12a75f468..689df12ec6a 100644 --- a/website/docs/docs/use-dbt-semantic-layer/tableau.md +++ b/website/docs/docs/use-dbt-semantic-layer/tableau.md @@ -9,7 +9,6 @@ sidebar_label: "Tableau (beta)" The Tableau integration with the dbt Semantic Layer is a [beta feature](/docs/dbt-versions/product-lifecycles#dbt-cloud). ::: - The Tableau integration allows you to use worksheets to query the Semantic Layer directly and produce your dashboards with trusted data. This integration provides a live connection to the dbt Semantic Layer through Tableau Desktop or Tableau Server. diff --git a/website/vercel.json b/website/vercel.json index 3377b49278d..2329cac0941 100644 --- a/website/vercel.json +++ b/website/vercel.json @@ -2,6 +2,11 @@ "cleanUrls": true, "trailingSlash": false, "redirects": [ + { + "source": "/docs/build/metrics", + "destination": "/docs/build/build-metrics-intro", + "permanent": true + }, { "source": "/docs/cloud/dbt-cloud-ide", "destination": "/docs/cloud/dbt-cloud-ide/develop-in-the-cloud", From 8b00253997ff14a9b2f6777da8f13d374493b423 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Wed, 6 Dec 2023 12:57:02 -0500 Subject: [PATCH 040/165] updat elink --- website/docs/reference/node-selection/methods.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/reference/node-selection/methods.md b/website/docs/reference/node-selection/methods.md index e29612e3401..1b3c5be980b 100644 --- a/website/docs/reference/node-selection/methods.md +++ b/website/docs/reference/node-selection/methods.md @@ -244,7 +244,7 @@ dbt ls --select "+exposure:*" --resource-type source # list all sources upstr ### The "metric" method -The `metric` method is used to select parent resources of a specified [metric](/docs/build/metrics). Use in conjunction with the `+` operator. +The `metric` method is used to select parent resources of a specified [metric](/docs/build/build-metrics-intro). Use in conjunction with the `+` operator. ```bash dbt build --select "+metric:weekly_active_users" # build all resources upstream of weekly_active_users metric @@ -367,4 +367,4 @@ dbt list --select semantic_model:* # list all semantic models dbt list --select +semantic_model:orders # list your semantic model named "orders" and all upstream resources ``` -
\ No newline at end of file +
From 54b29418138dfae2e7c153a83a3b1e8b9d1ae26c Mon Sep 17 00:00:00 2001 From: Mike Alfare <13974384+mikealfare@users.noreply.github.com> Date: Wed, 6 Dec 2023 17:36:24 -0500 Subject: [PATCH 041/165] Update website/docs/reference/resource-configs/postgres-configs.md Co-authored-by: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> --- website/docs/reference/resource-configs/postgres-configs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/resource-configs/postgres-configs.md b/website/docs/reference/resource-configs/postgres-configs.md index f9bd4e11cbc..855c17d8883 100644 --- a/website/docs/reference/resource-configs/postgres-configs.md +++ b/website/docs/reference/resource-configs/postgres-configs.md @@ -127,7 +127,7 @@ with the following configuration parameters: indexes=[ { 'columns': ['', ...], - 'unique': }, + 'unique': , 'type': '{ HASH | B-TREE | GIST | SP-GIST | GIN | BRIN }', ] ) }} From 964e12563623525ccffc3a52ab6b2b2795f957f2 Mon Sep 17 00:00:00 2001 From: Mike Alfare <13974384+mikealfare@users.noreply.github.com> Date: Wed, 6 Dec 2023 17:36:39 -0500 Subject: [PATCH 042/165] Update website/docs/reference/resource-configs/postgres-configs.md Co-authored-by: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> --- website/docs/reference/resource-configs/postgres-configs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/resource-configs/postgres-configs.md b/website/docs/reference/resource-configs/postgres-configs.md index 855c17d8883..109bd595bb9 100644 --- a/website/docs/reference/resource-configs/postgres-configs.md +++ b/website/docs/reference/resource-configs/postgres-configs.md @@ -129,7 +129,7 @@ with the following configuration parameters: 'columns': ['', ...], 'unique': , 'type': '{ HASH | B-TREE | GIST | SP-GIST | GIN | BRIN }', - ] + }] ) }} select * from {{ ref('my_base_table') }} From a6f69eb551ce902cef2a9191c3bef052e98e664d Mon Sep 17 00:00:00 2001 From: Mike Alfare <13974384+mikealfare@users.noreply.github.com> Date: Wed, 6 Dec 2023 17:47:36 -0500 Subject: [PATCH 043/165] Update website/docs/reference/resource-configs/snowflake-configs.md Co-authored-by: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> --- website/docs/reference/resource-configs/snowflake-configs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/resource-configs/snowflake-configs.md b/website/docs/reference/resource-configs/snowflake-configs.md index 39dd4430c4c..900860ea287 100644 --- a/website/docs/reference/resource-configs/snowflake-configs.md +++ b/website/docs/reference/resource-configs/snowflake-configs.md @@ -357,7 +357,7 @@ Dynamic tables are supported with the following configuration parameters: | Parameter | Type | Required | Default | Change Monitoring Support | Reference | |---------------------------|----------|----------|-----------|---------------------------|----------------------------------------------| -| `on_configuration_change` | STRING | NO | `'apply'` | N/A | | +| `on_configuration_change` | STRING | NO | `apply` | N/A | | | `target_lag` | STRING | YES | | ALTER | [Target lag](#target-lag) | | `snowflake_warehouse` | STRING | YES | | ALTER | [Warehouse](#configuring-virtual-warehouses) | From 0d4dd63ad767fcb480ca39f9ee8d2999e920a1d1 Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Wed, 6 Dec 2023 21:40:59 -0500 Subject: [PATCH 044/165] incorporate style standards --- .../resource-configs/postgres-configs.md | 86 +++++++++++++++---- 1 file changed, 70 insertions(+), 16 deletions(-) diff --git a/website/docs/reference/resource-configs/postgres-configs.md b/website/docs/reference/resource-configs/postgres-configs.md index 109bd595bb9..98ef0d56d27 100644 --- a/website/docs/reference/resource-configs/postgres-configs.md +++ b/website/docs/reference/resource-configs/postgres-configs.md @@ -111,32 +111,86 @@ models: The Postgres adapter supports [materialized views](https://www.postgresql.org/docs/current/rules-materializedviews.html) with the following configuration parameters: -| Parameter | Type | Required | Default | Change Monitoring Support | Reference | -|---------------------------|------------|----------|-----------|---------------------------|---------------------| -| `on_configuration_change` | STRING | NO | `'apply'` | N/A | | -| `indexes` | LIST[DICT] | NO | | ALTER | [Indexes](#indexes) | +| Parameter | Type | Required | Default | Change Monitoring Support | +|---------------------------|------------------|----------|---------|---------------------------| +| `on_configuration_change` | | no | `apply` | n/a | +| [`indexes`](#indexes) | [{}] | no | `none` | alter | + + + + -#### Sample model file: + - +```yaml +models: + [](/reference/resource-configs/resource-path): + [+](/reference/resource-configs/plus-prefix)[materialized](/reference/resource-configs/materialized): materialized_view + [+](/reference/resource-configs/plus-prefix)on_configuration_change: apply | continue | fail + [+](/reference/resource-configs/plus-prefix)[indexes](#indexes): + - columns: [] + unique: true | false + type: hash | btree +``` -```sql + + + + + + + + +```yaml +version: 2 + +models: + - name: [] + config: + [materialized](/reference/resource-configs/materialized): materialized_view + on_configuration_change: apply | continue | fail + [indexes](#indexes): + - columns: [] + unique: true | false + type: hash | btree +``` + + + + + + + + + +```jinja {{ config( - materialized='materialized_view', - on_configuration_change='{ apply | continue | fail }' - indexes=[ + [materialized](/reference/resource-configs/materialized)="materialized_view", + on_configuration_change="apply" | "continue" | "fail" + [indexes](#indexes)=[ { - 'columns': ['', ...], - 'unique': , - 'type': '{ HASH | B-TREE | GIST | SP-GIST | GIN | BRIN }', - }] + "columns": [""], + "unique": true | false, + "type": "hash" | "btree", + } + ] ) }} - -select * from {{ ref('my_base_table') }} ``` + + + + The `indexes` parameter corresponds to that of a table, as linked above. It's worth noting that, unlike with tables, dbt will monitor this parameter for changes and apply the changes without dropping the materialized view. This happens via a `DROP/CREATE` of the indexes, which could be thought of as a `ALTER` of the materialized view. From bd6c4fc146678f0aeae9a9e15f15b2591cdd4bf8 Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Wed, 6 Dec 2023 22:08:42 -0500 Subject: [PATCH 045/165] incorporate style standards --- website/docs/reference/resource-configs/postgres-configs.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/website/docs/reference/resource-configs/postgres-configs.md b/website/docs/reference/resource-configs/postgres-configs.md index 98ef0d56d27..d5960231c66 100644 --- a/website/docs/reference/resource-configs/postgres-configs.md +++ b/website/docs/reference/resource-configs/postgres-configs.md @@ -145,6 +145,7 @@ models:
+ @@ -167,6 +168,7 @@ models: + @@ -174,7 +176,7 @@ models: ```jinja {{ config( [materialized](/reference/resource-configs/materialized)="materialized_view", - on_configuration_change="apply" | "continue" | "fail" + on_configuration_change="apply" | "continue" | "fail", [indexes](#indexes)=[ { "columns": [""], From 5e904f13d54f8228f2c89848f8ca8a0440b5f026 Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Wed, 6 Dec 2023 22:34:56 -0500 Subject: [PATCH 046/165] remove tabs to test build --- .../resource-configs/postgres-configs.md | 77 ------------------- 1 file changed, 77 deletions(-) diff --git a/website/docs/reference/resource-configs/postgres-configs.md b/website/docs/reference/resource-configs/postgres-configs.md index d5960231c66..c4d60ba905d 100644 --- a/website/docs/reference/resource-configs/postgres-configs.md +++ b/website/docs/reference/resource-configs/postgres-configs.md @@ -116,83 +116,6 @@ with the following configuration parameters: | `on_configuration_change` | | no | `apply` | n/a | | [`indexes`](#indexes) | [{}] | no | `none` | alter | - - - - - - -```yaml -models: - [](/reference/resource-configs/resource-path): - [+](/reference/resource-configs/plus-prefix)[materialized](/reference/resource-configs/materialized): materialized_view - [+](/reference/resource-configs/plus-prefix)on_configuration_change: apply | continue | fail - [+](/reference/resource-configs/plus-prefix)[indexes](#indexes): - - columns: [] - unique: true | false - type: hash | btree -``` - - - - - - - - - - -```yaml -version: 2 - -models: - - name: [] - config: - [materialized](/reference/resource-configs/materialized): materialized_view - on_configuration_change: apply | continue | fail - [indexes](#indexes): - - columns: [] - unique: true | false - type: hash | btree -``` - - - - - - - - - - -```jinja -{{ config( - [materialized](/reference/resource-configs/materialized)="materialized_view", - on_configuration_change="apply" | "continue" | "fail", - [indexes](#indexes)=[ - { - "columns": [""], - "unique": true | false, - "type": "hash" | "btree", - } - ] -) }} -``` - - - - - - - The `indexes` parameter corresponds to that of a table, as linked above. It's worth noting that, unlike with tables, dbt will monitor this parameter for changes and apply the changes without dropping the materialized view. This happens via a `DROP/CREATE` of the indexes, which could be thought of as a `ALTER` of the materialized view. From 76df337ea6acb03da8fcd1ab313deb6ed0e4e4c3 Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Wed, 6 Dec 2023 22:43:16 -0500 Subject: [PATCH 047/165] remove quotes to test build --- website/docs/reference/resource-configs/postgres-configs.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/docs/reference/resource-configs/postgres-configs.md b/website/docs/reference/resource-configs/postgres-configs.md index c4d60ba905d..de084f9eb02 100644 --- a/website/docs/reference/resource-configs/postgres-configs.md +++ b/website/docs/reference/resource-configs/postgres-configs.md @@ -111,10 +111,10 @@ models: The Postgres adapter supports [materialized views](https://www.postgresql.org/docs/current/rules-materializedviews.html) with the following configuration parameters: -| Parameter | Type | Required | Default | Change Monitoring Support | -|---------------------------|------------------|----------|---------|---------------------------| +| Parameter | Type | Required | Default | Change Monitoring Support | +|-------------------------|------------------|----------|---------|---------------------------| | `on_configuration_change` | | no | `apply` | n/a | -| [`indexes`](#indexes) | [{}] | no | `none` | alter | +| [indexes](#indexes) | [{}] | no | `none` | alter | The `indexes` parameter corresponds to that of a table, as linked above. It's worth noting that, unlike with tables, dbt will monitor this parameter for changes and apply the changes without dropping the materialized view. From b744ea85e0b24fcbad5a73d4c2fc4d8deba1e206 Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Wed, 6 Dec 2023 22:53:13 -0500 Subject: [PATCH 048/165] test build --- .../reference/resource-configs/postgres-configs.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/docs/reference/resource-configs/postgres-configs.md b/website/docs/reference/resource-configs/postgres-configs.md index de084f9eb02..e230641c37a 100644 --- a/website/docs/reference/resource-configs/postgres-configs.md +++ b/website/docs/reference/resource-configs/postgres-configs.md @@ -111,10 +111,10 @@ models: The Postgres adapter supports [materialized views](https://www.postgresql.org/docs/current/rules-materializedviews.html) with the following configuration parameters: -| Parameter | Type | Required | Default | Change Monitoring Support | -|-------------------------|------------------|----------|---------|---------------------------| -| `on_configuration_change` | | no | `apply` | n/a | -| [indexes](#indexes) | [{}] | no | `none` | alter | +| Parameter | Type | Required | Default | Change Monitoring Support | +|---------------------------|--------------|----------|---------|---------------------------| +| `on_configuration_change` | | no | `apply` | n/a | +| [indexes](#indexes) | | no | `none` | alter | The `indexes` parameter corresponds to that of a table, as linked above. It's worth noting that, unlike with tables, dbt will monitor this parameter for changes and apply the changes without dropping the materialized view. @@ -123,7 +123,7 @@ This happens via a `DROP/CREATE` of the indexes, which could be thought of as a Find more information about materialized view parameters in the Postgres docs: - [CREATE MATERIALIZED VIEW](https://www.postgresql.org/docs/current/sql-creatematerializedview.html) - + ### Limitations From fb00255b8588c8df6a324f00780adc85858978b1 Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Wed, 6 Dec 2023 22:59:24 -0500 Subject: [PATCH 049/165] test build --- .../docs/reference/resource-configs/postgres-configs.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/docs/reference/resource-configs/postgres-configs.md b/website/docs/reference/resource-configs/postgres-configs.md index e230641c37a..d4e53efbc1d 100644 --- a/website/docs/reference/resource-configs/postgres-configs.md +++ b/website/docs/reference/resource-configs/postgres-configs.md @@ -111,10 +111,10 @@ models: The Postgres adapter supports [materialized views](https://www.postgresql.org/docs/current/rules-materializedviews.html) with the following configuration parameters: -| Parameter | Type | Required | Default | Change Monitoring Support | -|---------------------------|--------------|----------|---------|---------------------------| -| `on_configuration_change` | | no | `apply` | n/a | -| [indexes](#indexes) | | no | `none` | alter | +| Parameter | Type | Required | Default | Change Monitoring Support | +|---------------------------|------------|----------|---------|---------------------------| +| `on_configuration_change` | string | no | `apply` | n/a | +| [indexes](#indexes) | dictionary | no | `none` | alter | The `indexes` parameter corresponds to that of a table, as linked above. It's worth noting that, unlike with tables, dbt will monitor this parameter for changes and apply the changes without dropping the materialized view. From d19ea838bfd9d1538e7c1e264886e0620feebada Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Wed, 6 Dec 2023 23:08:08 -0500 Subject: [PATCH 050/165] add tabs back in --- .../resource-configs/postgres-configs.md | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/website/docs/reference/resource-configs/postgres-configs.md b/website/docs/reference/resource-configs/postgres-configs.md index d4e53efbc1d..d47aaad7559 100644 --- a/website/docs/reference/resource-configs/postgres-configs.md +++ b/website/docs/reference/resource-configs/postgres-configs.md @@ -116,6 +116,84 @@ with the following configuration parameters: | `on_configuration_change` | string | no | `apply` | n/a | | [indexes](#indexes) | dictionary | no | `none` | alter | + + + + + + + +```yaml +models: + [](/reference/resource-configs/resource-path): + [+](/reference/resource-configs/plus-prefix)[materialized](/reference/resource-configs/materialized): materialized_view + [+](/reference/resource-configs/plus-prefix)on_configuration_change: apply | continue | fail + [+](/reference/resource-configs/plus-prefix)[indexes](#indexes): + - columns: [] + unique: true | false + type: hash | btree +``` + + + + + + + + + + +```yaml +version: 2 + +models: + - name: [] + config: + [materialized](/reference/resource-configs/materialized): materialized_view + on_configuration_change: apply | continue | fail + [indexes](#indexes): + - columns: [] + unique: true | false + type: hash | btree +``` + + + + + + + + + + +```jinja +{{ config( + [materialized](/reference/resource-configs/materialized)="materialized_view", + on_configuration_change="apply" | "continue" | "fail", + [indexes](#indexes)=[ + { + "columns": [""], + "unique": true | false, + "type": "hash" | "btree", + } + ] +) }} +``` + + + + + + + The `indexes` parameter corresponds to that of a table, as linked above. It's worth noting that, unlike with tables, dbt will monitor this parameter for changes and apply the changes without dropping the materialized view. This happens via a `DROP/CREATE` of the indexes, which could be thought of as a `ALTER` of the materialized view. From 139046b04d6d55fae6336ede64dbdf8afa7a7556 Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Wed, 6 Dec 2023 23:33:23 -0500 Subject: [PATCH 051/165] add formatting back --- .../docs/reference/resource-configs/postgres-configs.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/docs/reference/resource-configs/postgres-configs.md b/website/docs/reference/resource-configs/postgres-configs.md index d47aaad7559..c904802d598 100644 --- a/website/docs/reference/resource-configs/postgres-configs.md +++ b/website/docs/reference/resource-configs/postgres-configs.md @@ -111,10 +111,10 @@ models: The Postgres adapter supports [materialized views](https://www.postgresql.org/docs/current/rules-materializedviews.html) with the following configuration parameters: -| Parameter | Type | Required | Default | Change Monitoring Support | -|---------------------------|------------|----------|---------|---------------------------| -| `on_configuration_change` | string | no | `apply` | n/a | -| [indexes](#indexes) | dictionary | no | `none` | alter | +| Parameter | Type | Required | Default | Change Monitoring Support | +|---------------------------|--------------------|----------|---------|---------------------------| +| `on_configuration_change` | `` | no | `apply` | n/a | +| [`indexes`](#indexes) | `[{}]` | no | `none` | alter | Date: Thu, 7 Dec 2023 09:49:50 -0500 Subject: [PATCH 052/165] removing metric and metrics schema --- .../schema-discovery-job-metric.mdx | 58 ------------------ .../schema-discovery-job-metrics.mdx | 60 ------------------- website/sidebars.js | 2 - website/vercel.json | 10 ++++ 4 files changed, 10 insertions(+), 120 deletions(-) delete mode 100644 website/docs/docs/dbt-cloud-apis/schema-discovery-job-metric.mdx delete mode 100644 website/docs/docs/dbt-cloud-apis/schema-discovery-job-metrics.mdx diff --git a/website/docs/docs/dbt-cloud-apis/schema-discovery-job-metric.mdx b/website/docs/docs/dbt-cloud-apis/schema-discovery-job-metric.mdx deleted file mode 100644 index 3a8a52a19cb..00000000000 --- a/website/docs/docs/dbt-cloud-apis/schema-discovery-job-metric.mdx +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: "Metric object schema" -sidebar_label: "Metric" -id: "discovery-schema-job-metric" ---- - -import { NodeArgsTable, SchemaTable } from "./schema"; - -The metric object allows you to query information about [metrics](/docs/build/metrics). - -### Arguments - -When querying for a `metric`, the following arguments are available. - - - -Below we show some illustrative example queries and outline the schema (all possible fields you can query) of the metric object. - -### Example query - -The example query below outputs information about a metric. You can also add any field from the model endpoint (the example simply selects name). This includes schema, database, uniqueId, columns, and more. For details, refer to [Model object schema](/docs/dbt-cloud-apis/discovery-schema-job-model). - - -```graphql -{ - job(id: 123) { - metric(uniqueId: "metric.jaffle_shop.new_customers") { - uniqueId - name - packageName - tags - label - runId - description - type - sql - timestamp - timeGrains - dimensions - meta - resourceType - filters { - field - operator - value - } - model { - name - } - } - } -} -``` - -### Fields -When querying for a `metric`, the following fields are available: - - diff --git a/website/docs/docs/dbt-cloud-apis/schema-discovery-job-metrics.mdx b/website/docs/docs/dbt-cloud-apis/schema-discovery-job-metrics.mdx deleted file mode 100644 index 174dd5b676a..00000000000 --- a/website/docs/docs/dbt-cloud-apis/schema-discovery-job-metrics.mdx +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: "Metrics object schema" -sidebar_label: "Metrics" -id: "discovery-schema-job-metrics" ---- - -import { NodeArgsTable, SchemaTable } from "./schema"; - -The metrics object allows you to query information about [metrics](/docs/build/metrics). - - -### Arguments - -When querying for `metrics`, the following arguments are available. - - - -Below we show some illustrative example queries and outline the schema (all possible fields you can query) of the metrics object. - -### Example query - -The example query returns information about all metrics for the given job. - -```graphql -{ - job(id: 123) { - metrics { - uniqueId - name - packageName - tags - label - runId - description - type - sql - timestamp - timeGrains - dimensions - meta - resourceType - filters { - field - operator - value - } - model { - name - } - } - } -} -``` - -### Fields -The metrics object can access the _same fields_ as the [metric node](/docs/dbt-cloud-apis/discovery-schema-job-metric). The difference is that the metrics object can output a list so instead of querying for fields for one specific metric, you can query for those parameters for all metrics in a run. - -When querying for `metrics`, the following fields are available: - - diff --git a/website/sidebars.js b/website/sidebars.js index 598fffc7f0d..792645b53e7 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -556,8 +556,6 @@ const sidebarSettings = { "docs/dbt-cloud-apis/discovery-schema-job", "docs/dbt-cloud-apis/discovery-schema-job-model", "docs/dbt-cloud-apis/discovery-schema-job-models", - "docs/dbt-cloud-apis/discovery-schema-job-metric", - "docs/dbt-cloud-apis/discovery-schema-job-metrics", "docs/dbt-cloud-apis/discovery-schema-job-source", "docs/dbt-cloud-apis/discovery-schema-job-sources", "docs/dbt-cloud-apis/discovery-schema-job-seed", diff --git a/website/vercel.json b/website/vercel.json index 2329cac0941..eb057123cde 100644 --- a/website/vercel.json +++ b/website/vercel.json @@ -2,6 +2,16 @@ "cleanUrls": true, "trailingSlash": false, "redirects": [ + { + "source": "/docs/dbt-cloud-apis/discovery-schema-job-metric", + "destination": "/docs/dbt-cloud-apis/discovery-schema-environment", + "permanent": true + }, + { + "source": "/docs/dbt-cloud-apis/discovery-schema-job-metrics", + "destination": "/docs/dbt-cloud-apis/discovery-schema-environment", + "permanent": true + }, { "source": "/docs/build/metrics", "destination": "/docs/build/build-metrics-intro", From deee6a8f96ff41a50cd0f01ee3fb192a20708cf8 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 7 Dec 2023 11:26:56 -0500 Subject: [PATCH 053/165] Update website/docs/reference/data-test-configs.md Co-authored-by: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> --- website/docs/reference/data-test-configs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/data-test-configs.md b/website/docs/reference/data-test-configs.md index 13154832cef..5f922d08c6b 100644 --- a/website/docs/reference/data-test-configs.md +++ b/website/docs/reference/data-test-configs.md @@ -260,7 +260,7 @@ select ... -#### Disable alldata tests from a package +#### Disable all data tests from a package From d4f8ff1e05305168162db0d2ce58a21e892dd28c Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 7 Dec 2023 11:27:21 -0500 Subject: [PATCH 054/165] Update website/docs/best-practices/custom-generic-tests.md Co-authored-by: Grace Goheen <53586774+graciegoheen@users.noreply.github.com> --- website/docs/best-practices/custom-generic-tests.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/best-practices/custom-generic-tests.md b/website/docs/best-practices/custom-generic-tests.md index cd6dced8ad2..bd232a0a5d5 100644 --- a/website/docs/best-practices/custom-generic-tests.md +++ b/website/docs/best-practices/custom-generic-tests.md @@ -9,7 +9,7 @@ hoverSnippet: Learn how to define your own custom generic tests. dbt ships with [Not Null](/reference/resource-properties/data-tests#not-null), [Unique](/reference/resource-properties/data-tests#unique), [Relationships](/reference/resource-properties/data-tests#relationships), and [Accepted Values](/reference/resource-properties/data-tests#accepted-values) generic tests. (These used to be called "schema tests," and you'll still see that name in some places.) Under the hood, these generic tests are defined as `test` blocks (like macros) in a globally accessible dbt project. You can find the source code for these tests in the [global project](https://github.com/dbt-labs/dbt-core/tree/main/core/dbt/include/global_project/macros/generic_test_sql). :::info -There are tons of generic tests defined in open source packages, such as [dbt-utils](https://hub.getdbt.com/dbt-labs/dbt_utils/latest/) and [dbt-expectations](https://hub.getdbt.com/calogica/dbt_expectations/latest/) — the test you're looking for might already be here! +There are tons of generic data tests defined in open source packages, such as [dbt-utils](https://hub.getdbt.com/dbt-labs/dbt_utils/latest/) and [dbt-expectations](https://hub.getdbt.com/calogica/dbt_expectations/latest/) — the test you're looking for might already be here! ::: ### Generic tests with standard arguments From 1aa147a33b2a79cb038763d2a9cc2222bb2ae85a Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 7 Dec 2023 11:28:17 -0500 Subject: [PATCH 055/165] Update website/docs/best-practices/custom-generic-tests.md Co-authored-by: Grace Goheen <53586774+graciegoheen@users.noreply.github.com> --- website/docs/best-practices/custom-generic-tests.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/best-practices/custom-generic-tests.md b/website/docs/best-practices/custom-generic-tests.md index bd232a0a5d5..3f59d6916c6 100644 --- a/website/docs/best-practices/custom-generic-tests.md +++ b/website/docs/best-practices/custom-generic-tests.md @@ -6,7 +6,7 @@ displayText: Writing custom generic tests hoverSnippet: Learn how to define your own custom generic tests. --- -dbt ships with [Not Null](/reference/resource-properties/data-tests#not-null), [Unique](/reference/resource-properties/data-tests#unique), [Relationships](/reference/resource-properties/data-tests#relationships), and [Accepted Values](/reference/resource-properties/data-tests#accepted-values) generic tests. (These used to be called "schema tests," and you'll still see that name in some places.) Under the hood, these generic tests are defined as `test` blocks (like macros) in a globally accessible dbt project. You can find the source code for these tests in the [global project](https://github.com/dbt-labs/dbt-core/tree/main/core/dbt/include/global_project/macros/generic_test_sql). +dbt ships with [Not Null](/reference/resource-properties/data-tests#not-null), [Unique](/reference/resource-properties/data-tests#unique), [Relationships](/reference/resource-properties/data-tests#relationships), and [Accepted Values](/reference/resource-properties/data-tests#accepted-values) generic data tests. (These used to be called "schema tests," and you'll still see that name in some places.) Under the hood, these generic data tests are defined as `test` blocks (like macros) in a globally accessible dbt project. You can find the source code for these tests in the [global project](https://github.com/dbt-labs/dbt-core/tree/main/core/dbt/include/global_project/macros/generic_test_sql). :::info There are tons of generic data tests defined in open source packages, such as [dbt-utils](https://hub.getdbt.com/dbt-labs/dbt_utils/latest/) and [dbt-expectations](https://hub.getdbt.com/calogica/dbt_expectations/latest/) — the test you're looking for might already be here! From 4ce204051236ff2cbe3f9239b3345d5f9c287093 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 7 Dec 2023 11:28:28 -0500 Subject: [PATCH 056/165] Update website/docs/docs/build/data-tests.md Co-authored-by: Grace Goheen <53586774+graciegoheen@users.noreply.github.com> --- website/docs/docs/build/data-tests.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/data-tests.md b/website/docs/docs/build/data-tests.md index a63b25dffca..3ff0564526c 100644 --- a/website/docs/docs/build/data-tests.md +++ b/website/docs/docs/build/data-tests.md @@ -19,7 +19,7 @@ Data tests are assertions you make about your models and other resources in your You can use data tests to improve the integrity of the SQL in each model by making assertions about the results generated. Out of the box, you can test whether a specified column in a model only contains non-null values, unique values, or values that have a corresponding value in another model (for example, a `customer_id` for an `order` corresponds to an `id` in the `customers` model), and values from a specified list. You can extend data tests to suit business logic specific to your organization – any assertion that you can make about your model in the form of a select query can be turned into a data test. -Both types of tests return a set of failing records. Previously, generic/schema tests returned a numeric value representing failures. Generic data tests (f.k.a. schema tests) are defined using `test` blocks instead of macros prefixed `test_`. +Data tests return a set of failing records. Generic data tests (f.k.a. schema tests) are defined using `test` blocks. Like almost everything in dbt, data tests are SQL queries. In particular, they are `select` statements that seek to grab "failing" records, ones that disprove your assertion. If you assert that a column is unique in a model, the test query selects for duplicates; if you assert that a column is never null, the test seeks after nulls. If the test returns zero failing rows, it passes, and your assertion has been validated. From 97ccd64672c38790a8106a5cbb4b7d59fc4f819a Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 7 Dec 2023 11:28:37 -0500 Subject: [PATCH 057/165] Update website/docs/terms/data-wrangling.md Co-authored-by: Grace Goheen <53586774+graciegoheen@users.noreply.github.com> --- website/docs/terms/data-wrangling.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/terms/data-wrangling.md b/website/docs/terms/data-wrangling.md index d71013524ca..96f3e938411 100644 --- a/website/docs/terms/data-wrangling.md +++ b/website/docs/terms/data-wrangling.md @@ -152,7 +152,7 @@ For nested data types such as JSON, you’ll want to check out the JSON parsing dbt offers [generic tests](/docs/build/data-tests#more-generic-tests) in every dbt project that allows you to validate accepted, unique, and null values. They also allow you to validate the relationships between tables and that the primary key is unique. -If you can’t find what you need with the generic tests, you can download an additional dbt testing package called [dbt_expectations](https://hub.getdbt.com/calogica/dbt_expectations/0.1.2/) that dives even deeper into how you can test the values in your columns. This package has useful tests like `expect_column_values_to_be_in_type_list`, `expect_column_values_to_be_between`, and `expect_column_value_lengths_to_equal`. +If you can’t find what you need with the generic tests, you can download an additional dbt testing package called [dbt_expectations](https://hub.getdbt.com/calogica/dbt_expectations/0.1.2/) that dives even deeper into how you can test the values in your columns. This package has useful data tests like `expect_column_values_to_be_in_type_list`, `expect_column_values_to_be_between`, and `expect_column_value_lengths_to_equal`. ## Conclusion From c11032e963dfc902366fd27c40fae42d6a1f252f Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 7 Dec 2023 11:28:44 -0500 Subject: [PATCH 058/165] Update website/docs/terms/primary-key.md Co-authored-by: Grace Goheen <53586774+graciegoheen@users.noreply.github.com> --- website/docs/terms/primary-key.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/terms/primary-key.md b/website/docs/terms/primary-key.md index 5724e2b3b6e..489085342da 100644 --- a/website/docs/terms/primary-key.md +++ b/website/docs/terms/primary-key.md @@ -141,7 +141,7 @@ If you don't have a field in your table that would act as a natural primary key, If your data warehouse doesn’t provide out-of-the box support and enforcement for primary keys, it’s important to clearly label and put your own constraints on primary key fields. This could look like: * **Creating a consistent naming convention for your primary keys**: You may see an `id` field or fields prefixed with `pk_` (ex. `pk_order_id`) to identify primary keys. You may also see the primary key be named as the obvious table grain (ex. In the jaffle shop’s `orders` table, the primary key is called `order_id`). -* **Adding automated [tests](/docs/build/data-tests) to your data models**: Use a data tool, such as dbt, to create not null and unique tests for your primary key fields. +* **Adding automated [data tests](/docs/build/data-tests) to your data models**: Use a data tool, such as dbt, to create not null and unique tests for your primary key fields. ## Testing primary keys From ca9395ff2b53ad151944fcca664c1cc2b909c81f Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 7 Dec 2023 11:28:56 -0500 Subject: [PATCH 059/165] Update website/docs/terms/surrogate-key.md Co-authored-by: Grace Goheen <53586774+graciegoheen@users.noreply.github.com> --- website/docs/terms/surrogate-key.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/terms/surrogate-key.md b/website/docs/terms/surrogate-key.md index 9b8c932ee5a..1c4d7f21d57 100644 --- a/website/docs/terms/surrogate-key.md +++ b/website/docs/terms/surrogate-key.md @@ -177,7 +177,7 @@ After executing this, the table would now have the `unique_id` field now uniquel Amazing, you just made a surrogate key! You can just move on to the next data model, right? No!! It’s critically important to test your surrogate keys for uniqueness and non-null values to ensure that the correct fields were chosen to create the surrogate key. -In order to test for null and unique values you can utilize code-based tests like [dbt tests](/docs/build/data-tests), that can check fields for nullness and uniqueness. You can additionally utilize simple SQL queries or unit tests to check if surrogate key count and non-nullness is correct. +In order to test for null and unique values you can utilize code-based data tests like [dbt tests](/docs/build/data-tests), that can check fields for nullness and uniqueness. You can additionally utilize simple SQL queries or unit tests to check if surrogate key count and non-nullness is correct. ## A note on hashing algorithms From d4c9d1be12103955f14af54796a7dc27e4babc96 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 7 Dec 2023 11:29:05 -0500 Subject: [PATCH 060/165] Update website/docs/docs/build/data-tests.md Co-authored-by: Grace Goheen <53586774+graciegoheen@users.noreply.github.com> --- website/docs/docs/build/data-tests.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/data-tests.md b/website/docs/docs/build/data-tests.md index 3ff0564526c..a5995759f2a 100644 --- a/website/docs/docs/build/data-tests.md +++ b/website/docs/docs/build/data-tests.md @@ -21,7 +21,7 @@ You can use data tests to improve the integrity of the SQL in each model by maki Data tests return a set of failing records. Generic data tests (f.k.a. schema tests) are defined using `test` blocks. -Like almost everything in dbt, data tests are SQL queries. In particular, they are `select` statements that seek to grab "failing" records, ones that disprove your assertion. If you assert that a column is unique in a model, the test query selects for duplicates; if you assert that a column is never null, the test seeks after nulls. If the test returns zero failing rows, it passes, and your assertion has been validated. +Like almost everything in dbt, data tests are SQL queries. In particular, they are `select` statements that seek to grab "failing" records, ones that disprove your assertion. If you assert that a column is unique in a model, the test query selects for duplicates; if you assert that a column is never null, the test seeks after nulls. If the data test returns zero failing rows, it passes, and your assertion has been validated. There are two ways of defining data tests in dbt: * A **singular** test is testing in its simplest form: If you can write a SQL query that returns failing rows, you can save that query in a `.sql` file within your [test directory](/reference/project-configs/test-paths). It's now a test, and it will be executed by the `dbt test` command. From 9ddd75a8a0bdb65fe518344ecb5f523306148fe4 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 7 Dec 2023 11:29:12 -0500 Subject: [PATCH 061/165] Update website/docs/terms/primary-key.md Co-authored-by: Grace Goheen <53586774+graciegoheen@users.noreply.github.com> --- website/docs/terms/primary-key.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/terms/primary-key.md b/website/docs/terms/primary-key.md index 489085342da..fde3ff44ac7 100644 --- a/website/docs/terms/primary-key.md +++ b/website/docs/terms/primary-key.md @@ -108,7 +108,7 @@ In general for Redshift, it’s still good practice to define your primary keys ### Google BigQuery -BigQuery is pretty unique here in that it doesn’t support or enforce primary keys. If your team is on BigQuery, you’ll need to have some [pretty solid testing](/docs/build/data-tests) in place to ensure your primary key fields are unique and non-null. +BigQuery is pretty unique here in that it doesn’t support or enforce primary keys. If your team is on BigQuery, you’ll need to have some [pretty solid data testing](/docs/build/data-tests) in place to ensure your primary key fields are unique and non-null. ### Databricks From 20b746e238f93b187867a6b2ccefc9eaf9f6bfdb Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 7 Dec 2023 11:30:50 -0500 Subject: [PATCH 062/165] Update website/docs/best-practices/custom-generic-tests.md --- website/docs/best-practices/custom-generic-tests.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/best-practices/custom-generic-tests.md b/website/docs/best-practices/custom-generic-tests.md index 3f59d6916c6..4be3caeef5a 100644 --- a/website/docs/best-practices/custom-generic-tests.md +++ b/website/docs/best-practices/custom-generic-tests.md @@ -3,7 +3,7 @@ title: "Writing custom generic tests" id: "writing-custom-generic-tests" description: Learn how to define your own custom generic tests. displayText: Writing custom generic tests -hoverSnippet: Learn how to define your own custom generic tests. +hoverSnippet: Learn how to write your own custom generic tests. --- dbt ships with [Not Null](/reference/resource-properties/data-tests#not-null), [Unique](/reference/resource-properties/data-tests#unique), [Relationships](/reference/resource-properties/data-tests#relationships), and [Accepted Values](/reference/resource-properties/data-tests#accepted-values) generic data tests. (These used to be called "schema tests," and you'll still see that name in some places.) Under the hood, these generic data tests are defined as `test` blocks (like macros) in a globally accessible dbt project. You can find the source code for these tests in the [global project](https://github.com/dbt-labs/dbt-core/tree/main/core/dbt/include/global_project/macros/generic_test_sql). From 01fe6448de311e61d1ab7e38f56db5235b097bd6 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 7 Dec 2023 11:31:56 -0500 Subject: [PATCH 063/165] Update custom-generic-tests.md --- website/docs/best-practices/custom-generic-tests.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/docs/best-practices/custom-generic-tests.md b/website/docs/best-practices/custom-generic-tests.md index 4be3caeef5a..e96fc864ee6 100644 --- a/website/docs/best-practices/custom-generic-tests.md +++ b/website/docs/best-practices/custom-generic-tests.md @@ -1,9 +1,9 @@ --- -title: "Writing custom generic tests" +title: "Writing custom generic data tests" id: "writing-custom-generic-tests" -description: Learn how to define your own custom generic tests. -displayText: Writing custom generic tests -hoverSnippet: Learn how to write your own custom generic tests. +description: Learn how to define your own custom generic data tests. +displayText: Writing custom generic data tests +hoverSnippet: Learn how to write your own custom generic data tests. --- dbt ships with [Not Null](/reference/resource-properties/data-tests#not-null), [Unique](/reference/resource-properties/data-tests#unique), [Relationships](/reference/resource-properties/data-tests#relationships), and [Accepted Values](/reference/resource-properties/data-tests#accepted-values) generic data tests. (These used to be called "schema tests," and you'll still see that name in some places.) Under the hood, these generic data tests are defined as `test` blocks (like macros) in a globally accessible dbt project. You can find the source code for these tests in the [global project](https://github.com/dbt-labs/dbt-core/tree/main/core/dbt/include/global_project/macros/generic_test_sql). From f50eb361a0066c9a264361d3bbce909ac0240eb2 Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Thu, 7 Dec 2023 12:20:56 -0500 Subject: [PATCH 064/165] update to use appropriate style guidelines --- .../resource-configs/bigquery-configs.md | 165 +++++++++++++----- 1 file changed, 126 insertions(+), 39 deletions(-) diff --git a/website/docs/reference/resource-configs/bigquery-configs.md b/website/docs/reference/resource-configs/bigquery-configs.md index 97acb73ce33..f9b447fdc0b 100644 --- a/website/docs/reference/resource-configs/bigquery-configs.md +++ b/website/docs/reference/resource-configs/bigquery-configs.md @@ -725,60 +725,147 @@ The `grant_access_to` config is not thread-safe when multiple views need to be a The BigQuery adapter supports [materialized views](https://cloud.google.com/bigquery/docs/materialized-views-intro) with the following configuration parameters: -| Parameter | Type | Required | Default | Change Monitoring Support | Reference | -|------------------------------|----------------------|----------|-----------|---------------------------|--------------------------------------------------| -| `on_configuration_change` | STRING | NO | `'apply'` | N/A | | -| `cluster_by` | LIST[STRING] | NO | | DROP/CREATE | [Clustering](#clustering-clause) | -| `partition_by` | DICT | NO | | DROP/CREATE | [Partitioning](#partition-clause) | -| `enable_refresh` | BOOLEAN | NO | `True` | ALTER | [Auto-refresh](#auto-refresh) | -| `refresh_interval_minutes` | FLOAT | NO | `30` | ALTER | [Auto-refresh](#auto-refresh) | -| `max_staleness` (in Preview) | INTERVAL | NO | | ALTER | [Auto-refresh](#auto-refresh) | -| `description` | STRING | NO | | ALTER | | -| `labels` | DICT[STRING, STRING] | NO | | ALTER | [Labels](#specifying-labels) | -| `hours_to_expiration` | INTEGER | NO | | ALTER | [Table expiration](controlling-table-expiration) | -| `kms_key_name` | STRING | NO | | ALTER | [KMS encryption](#using-kms-encryption) | - -#### Sample model file: - - +| Parameter | Type | Required | Default | Change Monitoring Support | +|--------------------------------------------------------|------------------------|----------|---------|---------------------------| +| `on_configuration_change` | `` | no | `apply` | n/a | +| [`cluster_by`](#clustering-clause) | `[]` | no | `none` | drop/create | +| [`partition_by`](#partition-clause) | `{}` | no | `none` | drop/create | +| [`enable_refresh`](#auto-refresh) | `` | no | `true` | alter | +| [`refresh_interval_minutes`](#auto-refresh) | `` | no | `30` | alter | +| [`max_staleness`](#auto-refresh) (in Preview) | `` | no | `none` | alter | +| `description` | `` | no | `none` | alter | +| [`labels`](#specifying-labels) | `{: }` | no | `none` | alter | +| [`hours_to_expiration`](#controlling-table-expiration) | `` | no | `none` | alter | +| [`kms_key_name`](#using-kms-encryption) | `` | no | `none` | alter | -```sql + + + + + + +directly to the materialized view in place. + +```yaml +models: + [](/reference/resource-configs/resource-path): + [+](/reference/resource-configs/plus-prefix)[materialized](/reference/resource-configs/materialized): materialized_view + [+](/reference/resource-configs/plus-prefix)on_configuration_change: apply | continue | fail + [+](/reference/resource-configs/plus-prefix)[cluster_by](#clustering-clause): | [] + [+](/reference/resource-configs/plus-prefix)[partition_by](#partition-clause): + - field: + - data_type: timestamp | date | datetime | int64 + # only if `data_type` is not 'int64' + - granularity: hour | day | month | year + # only if `data_type` is 'int64' + - range: + - start: + - end: + - interval: + [+](/reference/resource-configs/plus-prefix)[enable_refresh](#auto-refresh): true | false + [+](/reference/resource-configs/plus-prefix)[refresh_interval_minutes](#auto-refresh): + [+](/reference/resource-configs/plus-prefix)[max_staleness](#auto-refresh): + [+](/reference/resource-configs/plus-prefix)description: + [+](/reference/resource-configs/plus-prefix)[labels](#specifying-labels): {: } + [+](/reference/resource-configs/plus-prefix)[hours_to_expiration](#acontrolling-table-expiration): + [+](/reference/resource-configs/plus-prefix)[kms_key_name](##using-kms-encryption): +``` + + + + + + + + + + +```yaml +version: 2 + +models: + - name: [] + config: + [materialized](/reference/resource-configs/materialized): materialized_view + on_configuration_change: apply | continue | fail + [cluster_by](#clustering-clause): | [] + [partition_by](#partition-clause): + - field: + - data_type: timestamp | date | datetime | int64 + # only if `data_type` is not 'int64' + - granularity: hour | day | month | year + # only if `data_type` is 'int64' + - range: + - start: + - end: + - interval: + [enable_refresh](#auto-refresh): true | false + [refresh_interval_minutes](#auto-refresh): + [max_staleness](#auto-refresh): + description: + [labels](#specifying-labels): {: } + [hours_to_expiration](#acontrolling-table-expiration): + [kms_key_name](##using-kms-encryption): +``` + + + + + + + + + + +```jinja {{ config( materialized='materialized_view', - on_configuration_change='{ apply | continue | fail }' - cluster_by=['', ...], + on_configuration_change="apply" | "continue" | "fail", + cluster_by="" | [""], partition_by={ - 'field': '', - 'data_type': '', + "field": "", + "data_type": "timestamp" | "date" | "datetime" | "int64", # only if `data_type` is not 'int64' - 'granularity': '' + "granularity": "hour" | "day" | "month" | "year, # only if `data_type` is 'int64' - 'range': { - 'start': , - 'end': , - 'interval': , + "range": { + "start": , + "end": , + "interval": , } }, # auto-refresh options - enable_refresh=, + enable_refresh= true | false, refresh_interval_minutes=, - max_staleness='', + max_staleness="", # additional options - description='', - labels={'': '', ...}, - hours_to_expiration=, - kms_key_name='', + description="", + labels={ + "": "", + }, + hours_to_expiration=, + kms_key_name="", ) }} - -select * from {{ ref('my_base_table') }} ``` + + + + Many of these parameters correspond to their table counterparts and have been linked above. The set of parameters which are unique to materialized views covers auto-refresh functionality, which is covered [below](#auto-refresh). @@ -788,11 +875,11 @@ Find more information about these parameters in the BigQuery docs: ### Auto-refresh -| Parameter | Type | Required | Default | Change Monitoring Support | -|-------------------------------|----------|----------|---------|---------------------------| -| `enable_refresh` | BOOLEAN | NO | `True` | ALTER | -| `refresh_interval_minutes` | FLOAT | NO | `30` | ALTER | -| `max_staleness` (in Preview) | INTERVAL | NO | | ALTER | +| Parameter | Type | Required | Default | Change Monitoring Support | +|------------------------------|--------------|----------|---------|---------------------------| +| `enable_refresh` | `` | no | `true` | alter | +| `refresh_interval_minutes` | `` | no | `30` | alter | +| `max_staleness` (in Preview) | `` | no | `none` | alter | BigQuery supports [automatic refresh](https://cloud.google.com/bigquery/docs/materialized-views-manage#automatic_refresh) configuration for materialized views. By default, a materialized view will automatically refresh within 5 minutes of changes in the base table, but no more frequently than every 30 minutes. From 503253ef6a6b3ba5f6eb0586e6053bc26dcade6c Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Thu, 7 Dec 2023 12:33:30 -0500 Subject: [PATCH 065/165] update to use appropriate style guidelines --- .../resource-configs/snowflake-configs.md | 81 ++++++++++++++----- 1 file changed, 59 insertions(+), 22 deletions(-) diff --git a/website/docs/reference/resource-configs/snowflake-configs.md b/website/docs/reference/resource-configs/snowflake-configs.md index 900860ea287..c6ef5c4b339 100644 --- a/website/docs/reference/resource-configs/snowflake-configs.md +++ b/website/docs/reference/resource-configs/snowflake-configs.md @@ -355,44 +355,81 @@ of [materialized views](/docs/build/materializations#Materialized-View). In particular, dynamic tables have access to the `on_configuration_change` setting. Dynamic tables are supported with the following configuration parameters: -| Parameter | Type | Required | Default | Change Monitoring Support | Reference | -|---------------------------|----------|----------|-----------|---------------------------|----------------------------------------------| -| `on_configuration_change` | STRING | NO | `apply` | N/A | | -| `target_lag` | STRING | YES | | ALTER | [Target lag](#target-lag) | -| `snowflake_warehouse` | STRING | YES | | ALTER | [Warehouse](#configuring-virtual-warehouses) | +| Parameter | Type | Required | Default | Change Monitoring Support | +|----------------------------------------------------------|------------|----------|---------|---------------------------| +| `on_configuration_change` | `` | no | `apply` | n/a | +| [`target_lag`](#target-lag) | `` | yes | | alter | +| [`snowflake_warehouse`](#configuring-virtual-warehouses) | `` | yes | | alter | -#### Sample model file: + - -```sql -{{ config( - materialized='dynamic_table', - on_configuration_change='{ apply | continue | fail }', - target_lag='< { seconds | minutes | hours | days } | DOWNSTREAM>', - snowflake_warehouse='', -) }} + + + -select * from {{ ref('my_base_table') }} +```yaml +models: + [](/reference/resource-configs/resource-path): + [+](/reference/resource-configs/plus-prefix)[materialized](/reference/resource-configs/materialized): dynamic_table + [+](/reference/resource-configs/plus-prefix)on_configuration_change: apply | continue | fail + [+](/reference/resource-configs/plus-prefix)[target_lag](#target-lag): downstream | + [+](/reference/resource-configs/plus-prefix)[snowflake_warehouse](#configuring-virtual-warehouses): ``` -#### Sample project file: + - + + + + ```yaml +version: 2 + models: - path: - materialized: dynamic_table - on_configuration_change: '' - snowflake_warehouse: '' - target_lag: '< { seconds | minutes | hours | days } | DOWNSTREAM>' + - name: [] + config: + [materialized](/reference/resource-configs/materialized): dynamic_table + on_configuration_change: apply | continue | fail + [target_lag](#target-lag): downstream | + [snowflake_warehouse](#configuring-virtual-warehouses): ``` + + + + + + + +```jinja +{{ config( + materialized="dynamic_table", + on_configuration_change="apply" | "continue" | "fail", + target_lag="downstream" | " seconds | minutes | hours | days", + snowflake_warehouse="", +) }} +``` + + + + + + + Find more information about these parameters in the Snowflake docs: - [CREATE DYNAMIC TABLE](https://docs.snowflake.com/en/sql-reference/sql/create-dynamic-table) From ab2584c86a86052c84a1da4cda57ce8f391a0331 Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Thu, 7 Dec 2023 13:11:04 -0500 Subject: [PATCH 066/165] update to use appropriate style guidelines --- .../resource-configs/redshift-configs.md | 112 +++++++++++++----- 1 file changed, 85 insertions(+), 27 deletions(-) diff --git a/website/docs/reference/resource-configs/redshift-configs.md b/website/docs/reference/resource-configs/redshift-configs.md index 0e079453ec6..44b66b30005 100644 --- a/website/docs/reference/resource-configs/redshift-configs.md +++ b/website/docs/reference/resource-configs/redshift-configs.md @@ -114,36 +114,94 @@ models: The Redshift adapter supports [materialized views](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-overview.html) with the following configuration parameters: -| Parameter | Type | Required | Default | Change Monitoring Support | Reference | -|---------------------------|--------------|----------|------------------------|---------------------------|-------------------------------------------------| -| `on_configuration_change` | STRING | NO | `'apply'` | N/A | | -| `dist` | STRING | NO | `'EVEN'` | DROP/CREATE | [Sortkey / Distkey](#using-sortkey-and-distkey) | -| `sort` | LIST[STRING] | NO | | DROP/CREATE | [Sortkey / Distkey](#using-sortkey-and-distkey) | -| `sort_type` | STRING | NO | `'AUTO'` if no `sort` | DROP/CREATE | [Sortkey / Distkey](#using-sortkey-and-distkey) | -| | | | `'COMPOUND'` if `sort` | | | -| `auto_refresh` | BOOLEAN | NO | `False` | ALTER | [Auto refresh](#auto-refresh) | -| `backup` | BOOLEAN | HO | `True` | N/A | [Backup](#backup) | +| Parameter | Type | Required | Default | Change Monitoring Support | +|-------------------------------------------|--------------|----------|----------------------|---------------------------| +| `on_configuration_change` | `` | no | `apply` | n/a | +| [`dist`](#using-sortkey-and-distkey) | `` | no | `even` | drop/create | +| [`sort`](#using-sortkey-and-distkey) | `[]` | no | `none` | drop/create | +| [`sort_type`](#using-sortkey-and-distkey) | `` | no | `auto` if no `sort` | drop/create | +| | | | `compound` if `sort` | | +| [`auto_refresh`](#auto-refresh) | `` | no | `false` | alter | +| [`backup`](#backup) | `` | no | `true` | n/a | + + + + + -#### Sample model file: + - +```yaml +models: + [](/reference/resource-configs/resource-path): + [+](/reference/resource-configs/plus-prefix)[materialized](/reference/resource-configs/materialized): materialized_view + [+](/reference/resource-configs/plus-prefix)on_configuration_change: apply | continue | fail + [+](/reference/resource-configs/plus-prefix)[dist](#using-sortkey-and-distkey): all | auto | even | + [+](/reference/resource-configs/plus-prefix)[sort](#using-sortkey-and-distkey): | [] + [+](/reference/resource-configs/plus-prefix)[sort_type](#using-sortkey-and-distkey): auto | compound | interleaved + [+](/reference/resource-configs/plus-prefix)[auto_refresh](#auto-refresh): true | false + [+](/reference/resource-configs/plus-prefix)[backup](#backup): true | false +``` -```sql + + + + + + + + + +```yaml +version: 2 + +models: + - name: [] + config: + [materialized](/reference/resource-configs/materialized): materialized_view + on_configuration_change: apply | continue | fail + [dist](#using-sortkey-and-distkey): all | auto | even | + [sort](#using-sortkey-and-distkey): | [] + [sort_type](#using-sortkey-and-distkey): auto | compound | interleaved + [auto_refresh](#auto-refresh): true | false + [backup](#backup): true | false +``` + + + + + + + + + + +```jinja {{ config( - materialized='materialized_view', - on_configuration_change='{ apply | continue | fail }' - dist='{ ALL | AUTO | EVEN | }', - sort=['', ...], - sort_type='{ AUTO | COMPOUND | INTERLEAVED }' - auto_refresh=, - backup=, + materialized="materialized_view", + on_configuration_change="apply" | "continue" | "fail", + dist="all" | "auto" | "even" | "", + sort=[""], + sort_type="auto" | "compound" | "interleaved", + auto_refresh=true | false, + backup=true | false, ) }} - -select * from {{ ref('my_base_table') }} ``` + + + + Many of these parameters correspond to their table counterparts and have been linked above. The parameters unique to materialized views are the auto-refresh and backup functionality, which are covered below. @@ -151,9 +209,9 @@ Find more information about the [CREATE MATERIALIZED VIEW](https://docs.aws.amaz #### Auto-refresh -| Parameter | Type | Required | Default | Change Monitoring Support | -|----------------|---------|----------|---------|---------------------------| -| `auto_refresh` | BOOLEAN | NO | `False` | ALTER | +| Parameter | Type | Required | Default | Change Monitoring Support | +|----------------|-------------|----------|---------|---------------------------| +| `auto_refresh` | `` | no | `false` | alter | Redshift supports [automatic refresh](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-refresh.html#materialized-view-auto-refresh) configuration for materialized views. By default, a materialized view does not automatically refresh. @@ -163,9 +221,9 @@ Find more information about the [parameters](https://docs.aws.amazon.com/redshif #### Backup -| Parameter | Type | Required | Default | Change Monitoring Support | -|-----------|---------|----------|---------|---------------------------| -| `backup` | BOOLEAN | NO | `True` | N/A | +| Parameter | Type | Required | Default | Change Monitoring Support | +|-----------|-------------|----------|---------|---------------------------| +| `backup` | `` | no | `true` | n/a | Redshift supports [backup](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html) configuration of clusters at the object level. This parameter identifies if the materialized view should be backed up as part of the cluster snapshot. From 552b5393566aafe26163904d817f4cb4201f07f8 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 7 Dec 2023 15:25:26 -0500 Subject: [PATCH 067/165] Update website/docs/docs/build/data-tests.md Co-authored-by: Grace Goheen <53586774+graciegoheen@users.noreply.github.com> --- website/docs/docs/build/data-tests.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/data-tests.md b/website/docs/docs/build/data-tests.md index a5995759f2a..32a50dba800 100644 --- a/website/docs/docs/build/data-tests.md +++ b/website/docs/docs/build/data-tests.md @@ -24,7 +24,7 @@ Data tests return a set of failing records. Generic data tests (f.k.a. schema te Like almost everything in dbt, data tests are SQL queries. In particular, they are `select` statements that seek to grab "failing" records, ones that disprove your assertion. If you assert that a column is unique in a model, the test query selects for duplicates; if you assert that a column is never null, the test seeks after nulls. If the data test returns zero failing rows, it passes, and your assertion has been validated. There are two ways of defining data tests in dbt: -* A **singular** test is testing in its simplest form: If you can write a SQL query that returns failing rows, you can save that query in a `.sql` file within your [test directory](/reference/project-configs/test-paths). It's now a test, and it will be executed by the `dbt test` command. +* A **singular** data test is testing in its simplest form: If you can write a SQL query that returns failing rows, you can save that query in a `.sql` file within your [test directory](/reference/project-configs/test-paths). It's now a data test, and it will be executed by the `dbt test` command. * A **generic** test is a parameterized query that accepts arguments. The test query is defined in a special `test` block (like a [macro](jinja-macros)). Once defined, you can reference the generic test by name throughout your `.yml` files—define it on models, columns, sources, snapshots, and seeds. dbt ships with four generic tests built in, and we think you should use them! Defining data tests is a great way to confirm that your code is working correctly, and helps prevent regressions when your code changes. Because you can use them over and over again, making similar assertions with minor variations, generic data tests tend to be much more common—they should make up the bulk of your dbt testing suite. That said, both ways of defining data tests have their time and place. From 3f984083d6423b8aac18867a5767bae43082b95d Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 7 Dec 2023 15:51:06 -0500 Subject: [PATCH 068/165] Updating links --- .../blog/2022-10-19-polyglot-dbt-python-dataframes-and-sql.md | 2 +- website/blog/2023-01-24-aggregating-test-failures.md | 2 +- website/docs/guides/dbt-python-snowpark.md | 2 +- website/docs/reference/resource-configs/meta.md | 2 +- website/docs/reference/resource-configs/store_failures_as.md | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/website/blog/2022-10-19-polyglot-dbt-python-dataframes-and-sql.md b/website/blog/2022-10-19-polyglot-dbt-python-dataframes-and-sql.md index bab92000a16..9c04bd73a9a 100644 --- a/website/blog/2022-10-19-polyglot-dbt-python-dataframes-and-sql.md +++ b/website/blog/2022-10-19-polyglot-dbt-python-dataframes-and-sql.md @@ -135,7 +135,7 @@ This model tries to parse the raw string value into a Python datetime. When not During the build process, dbt will check if any of the values are null. This is using the built-in [`not_null`](https://docs.getdbt.com/docs/building-a-dbt-project/tests#generic-tests) test, which will generate and execute SQL in the data platform. -Our initial recommendation for testing Python models is to use [generic](https://docs.getdbt.com/docs/building-a-dbt-project/tests#generic-tests) and [singular](https://docs.getdbt.com/docs/building-a-dbt-project/tests#singular-tests) tests. +Our initial recommendation for testing Python models is to use [generic](https://docs.getdbt.com/docs/building-a-dbt-project/tests#generic-tests) and [singular](https://docs.getdbt.com/docs/building-a-dbt-project/tests#singular-data-tests) tests. ```yaml version: 2 diff --git a/website/blog/2023-01-24-aggregating-test-failures.md b/website/blog/2023-01-24-aggregating-test-failures.md index d82c202b376..2319da910a6 100644 --- a/website/blog/2023-01-24-aggregating-test-failures.md +++ b/website/blog/2023-01-24-aggregating-test-failures.md @@ -30,7 +30,7 @@ _It should be noted that this framework is for dbt v1.0+ on BigQuery. Small adap When we talk about high quality data tests, we aren’t just referencing high quality code, but rather the informational quality of our testing framework and their corresponding error messages. Originally, we theorized that any test that cannot be acted upon is a test that should not be implemented. Later, we realized there is a time and place for tests that should receive attention at a critical mass of failures. All we needed was a higher specificity system: tests should have an explicit severity ranking associated with them, equipped to filter out the noise of common, but low concern, failures. Each test should also mesh into established [RACI](https://project-management.com/understanding-responsibility-assignment-matrix-raci-matrix/) guidelines that state which groups tackle what failures, and what constitutes a critical mass. -To ensure that tests are always acted upon, we implement tests differently depending on the user groups that must act when a test fails. This led us to have two main classes of tests — Data Integrity Tests (called [Generic Tests](https://docs.getdbt.com/docs/build/tests) in dbt docs) and Context Driven Tests (called [Singular Tests](https://docs.getdbt.com/docs/build/tests#singular-tests) in dbt docs), with varying levels of severity across both test classes. +To ensure that tests are always acted upon, we implement tests differently depending on the user groups that must act when a test fails. This led us to have two main classes of tests — Data Integrity Tests (called [Generic Tests](https://docs.getdbt.com/docs/build/tests) in dbt docs) and Context Driven Tests (called [Singular Tests](https://docs.getdbt.com/docs/build/tests#singular-data-tests) in dbt docs), with varying levels of severity across both test classes. Data Integrity tests (Generic Tests)  are simple — they’re tests akin to a uniqueness check or not null constraint. These tests are usually actionable by the data platform team rather than subject matter experts. We define Data Integrity tests in our YAML files, similar to how they are [outlined by dbt’s documentation on generic tests](https://docs.getdbt.com/docs/build/tests). They look something like this — diff --git a/website/docs/guides/dbt-python-snowpark.md b/website/docs/guides/dbt-python-snowpark.md index e2f314ada55..fa39ed6d423 100644 --- a/website/docs/guides/dbt-python-snowpark.md +++ b/website/docs/guides/dbt-python-snowpark.md @@ -1720,7 +1720,7 @@ We test data models for mainly two reasons: - Ensure that our source data is clean on ingestion before we start data modeling/transformation (aka avoid garbage in, garbage out problem). - Make sure we don’t introduce bugs in the transformation code we wrote (stop ourselves from creating bad joins/fanouts). -Testing in dbt comes in two flavors: [generic](/docs/build/data-tests#generic-tests) and [singular](/docs/build/data-tests#singular-tests). +Testing in dbt comes in two flavors: [generic](/docs/build/data-tests#generic-tests) and [singular](/docs/build/data-tests#singular-data-tests). You define them in a test block (similar to a macro) and once defined, you can reference them by name in your `.yml` files (applying them to models, columns, sources, snapshots, and seeds). diff --git a/website/docs/reference/resource-configs/meta.md b/website/docs/reference/resource-configs/meta.md index 470bac35ba7..6a69536bb2a 100644 --- a/website/docs/reference/resource-configs/meta.md +++ b/website/docs/reference/resource-configs/meta.md @@ -127,7 +127,7 @@ See [configs and properties](/reference/configs-and-properties) for details. -You can't add YAML `meta` configs for [generic tests](/docs/build/data-tests#generic-tests). However, you can add `meta` properties to [singular tests](/docs/build/data-tests#singular-tests) using `config()` at the top of the test file. +You can't add YAML `meta` configs for [generic tests](/docs/build/data-tests#generic-tests). However, you can add `meta` properties to [singular tests](/docs/build/data-tests#singular-data-tests) using `config()` at the top of the test file. diff --git a/website/docs/reference/resource-configs/store_failures_as.md b/website/docs/reference/resource-configs/store_failures_as.md index fd561176008..52ec2e3bd3a 100644 --- a/website/docs/reference/resource-configs/store_failures_as.md +++ b/website/docs/reference/resource-configs/store_failures_as.md @@ -17,7 +17,7 @@ You can configure it in all the same places as `store_failures`, including singu #### Singular test -[Singular test](https://docs.getdbt.com/docs/build/tests#singular-tests) in `tests/singular/check_something.sql` file +[Singular test](https://docs.getdbt.com/docs/build/tests#singular-data-tests) in `tests/singular/check_something.sql` file ```sql {{ config(store_failures_as="table") }} From 7f758f499a464c32418d8f6d2b8601d3e9321761 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 7 Dec 2023 16:02:42 -0500 Subject: [PATCH 069/165] updating links --- website/blog/2022-04-19-complex-deduplication.md | 2 +- .../blog/2022-10-19-polyglot-dbt-python-dataframes-and-sql.md | 4 ++-- website/blog/2023-07-03-data-vault-2-0-with-dbt-cloud.md | 2 +- website/docs/guides/dbt-python-snowpark.md | 2 +- website/docs/reference/resource-configs/meta.md | 2 +- website/docs/reference/resource-configs/store_failures_as.md | 2 +- website/docs/reference/resource-properties/data-tests.md | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/website/blog/2022-04-19-complex-deduplication.md b/website/blog/2022-04-19-complex-deduplication.md index f8cece85b61..f33e6a8fe35 100644 --- a/website/blog/2022-04-19-complex-deduplication.md +++ b/website/blog/2022-04-19-complex-deduplication.md @@ -146,7 +146,7 @@ select * from filter_real_diffs > *What happens in this step? You check your data because you are thorough!* -Good thing dbt has already built this for you. Add a [unique test](/docs/build/data-tests#generic-tests) to your YAML model block for your `grain_id` in this de-duped staging model, and give it a dbt test! +Good thing dbt has already built this for you. Add a [unique test](/docs/build/data-tests#generic-data-tests) to your YAML model block for your `grain_id` in this de-duped staging model, and give it a dbt test! ```yaml models: diff --git a/website/blog/2022-10-19-polyglot-dbt-python-dataframes-and-sql.md b/website/blog/2022-10-19-polyglot-dbt-python-dataframes-and-sql.md index 9c04bd73a9a..694f6ddc105 100644 --- a/website/blog/2022-10-19-polyglot-dbt-python-dataframes-and-sql.md +++ b/website/blog/2022-10-19-polyglot-dbt-python-dataframes-and-sql.md @@ -133,9 +133,9 @@ This model tries to parse the raw string value into a Python datetime. When not #### Testing the result -During the build process, dbt will check if any of the values are null. This is using the built-in [`not_null`](https://docs.getdbt.com/docs/building-a-dbt-project/tests#generic-tests) test, which will generate and execute SQL in the data platform. +During the build process, dbt will check if any of the values are null. This is using the built-in [`not_null`](https://docs.getdbt.com/docs/building-a-dbt-project/tests#generic-data-tests) test, which will generate and execute SQL in the data platform. -Our initial recommendation for testing Python models is to use [generic](https://docs.getdbt.com/docs/building-a-dbt-project/tests#generic-tests) and [singular](https://docs.getdbt.com/docs/building-a-dbt-project/tests#singular-data-tests) tests. +Our initial recommendation for testing Python models is to use [generic](https://docs.getdbt.com/docs/building-a-dbt-project/tests#generic-data-tests) and [singular](https://docs.getdbt.com/docs/building-a-dbt-project/tests#singular-data-tests) tests. ```yaml version: 2 diff --git a/website/blog/2023-07-03-data-vault-2-0-with-dbt-cloud.md b/website/blog/2023-07-03-data-vault-2-0-with-dbt-cloud.md index 2a4879ac98d..6b1012a5320 100644 --- a/website/blog/2023-07-03-data-vault-2-0-with-dbt-cloud.md +++ b/website/blog/2023-07-03-data-vault-2-0-with-dbt-cloud.md @@ -143,7 +143,7 @@ To help you get started, [we have created a template GitHub project](https://git ### Entity Relation Diagrams (ERDs) and dbt -Data lineage is dbt's strength, but sometimes it's not enough to help you to understand the relationships between Data Vault components like a classic ERD would. There are a few open source packages to visualize the entities in your Data Vault built with dbt. I recommend checking out the [dbterd](https://dbterd.datnguyen.de/1.2/index.html) which turns your [dbt relationship data quality checks](https://docs.getdbt.com/docs/build/tests#generic-tests) into an ERD. +Data lineage is dbt's strength, but sometimes it's not enough to help you to understand the relationships between Data Vault components like a classic ERD would. There are a few open source packages to visualize the entities in your Data Vault built with dbt. I recommend checking out the [dbterd](https://dbterd.datnguyen.de/1.2/index.html) which turns your [dbt relationship data quality checks](https://docs.getdbt.com/docs/build/tests#generic-data-tests) into an ERD. ## Summary diff --git a/website/docs/guides/dbt-python-snowpark.md b/website/docs/guides/dbt-python-snowpark.md index fa39ed6d423..110445344e9 100644 --- a/website/docs/guides/dbt-python-snowpark.md +++ b/website/docs/guides/dbt-python-snowpark.md @@ -1720,7 +1720,7 @@ We test data models for mainly two reasons: - Ensure that our source data is clean on ingestion before we start data modeling/transformation (aka avoid garbage in, garbage out problem). - Make sure we don’t introduce bugs in the transformation code we wrote (stop ourselves from creating bad joins/fanouts). -Testing in dbt comes in two flavors: [generic](/docs/build/data-tests#generic-tests) and [singular](/docs/build/data-tests#singular-data-tests). +Testing in dbt comes in two flavors: [generic](/docs/build/data-tests#generic-data-tests) and [singular](/docs/build/data-tests#singular-data-tests). You define them in a test block (similar to a macro) and once defined, you can reference them by name in your `.yml` files (applying them to models, columns, sources, snapshots, and seeds). diff --git a/website/docs/reference/resource-configs/meta.md b/website/docs/reference/resource-configs/meta.md index 6a69536bb2a..bd9755548ab 100644 --- a/website/docs/reference/resource-configs/meta.md +++ b/website/docs/reference/resource-configs/meta.md @@ -127,7 +127,7 @@ See [configs and properties](/reference/configs-and-properties) for details. -You can't add YAML `meta` configs for [generic tests](/docs/build/data-tests#generic-tests). However, you can add `meta` properties to [singular tests](/docs/build/data-tests#singular-data-tests) using `config()` at the top of the test file. +You can't add YAML `meta` configs for [generic tests](/docs/build/data-tests#generic-data-tests). However, you can add `meta` properties to [singular tests](/docs/build/data-tests#singular-data-tests) using `config()` at the top of the test file. diff --git a/website/docs/reference/resource-configs/store_failures_as.md b/website/docs/reference/resource-configs/store_failures_as.md index 52ec2e3bd3a..e12c00c7fba 100644 --- a/website/docs/reference/resource-configs/store_failures_as.md +++ b/website/docs/reference/resource-configs/store_failures_as.md @@ -29,7 +29,7 @@ where 1=0 #### Generic test -[Generic tests](https://docs.getdbt.com/docs/build/tests#generic-tests) in `models/_models.yml` file +[Generic tests](https://docs.getdbt.com/docs/build/tests#generic-data-tests) in `models/_models.yml` file ```yaml models: diff --git a/website/docs/reference/resource-properties/data-tests.md b/website/docs/reference/resource-properties/data-tests.md index 96ee322efc0..7b658acf949 100644 --- a/website/docs/reference/resource-properties/data-tests.md +++ b/website/docs/reference/resource-properties/data-tests.md @@ -156,7 +156,7 @@ This feature is not implemented for analyses. ## Description -The data `tests` property defines assertions about a column, , or . The property contains a list of [generic tests](/docs/build/data-tests#generic-tests), referenced by name, which can include the four built-in generic tests available in dbt. For example, you can add tests that ensure a column contains no duplicates and zero null values. Any arguments or [configurations](/reference/data-test-configs) passed to those tests should be nested below the test name. +The data `tests` property defines assertions about a column, , or . The property contains a list of [generic tests](/docs/build/data-tests#generic-data-tests), referenced by name, which can include the four built-in generic tests available in dbt. For example, you can add tests that ensure a column contains no duplicates and zero null values. Any arguments or [configurations](/reference/data-test-configs) passed to those tests should be nested below the test name. Once these tests are defined, you can validate their correctness by running `dbt test`. From 1ba9c68e0f9eb90d6022890509f4d20e6d9c15f5 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 7 Dec 2023 16:07:26 -0500 Subject: [PATCH 070/165] Apply suggestions from code review Co-authored-by: Grace Goheen <53586774+graciegoheen@users.noreply.github.com> --- website/docs/docs/build/data-tests.md | 16 ++++++++-------- website/docs/docs/build/projects.md | 2 +- website/docs/docs/build/sources.md | 2 +- .../docs/collaborate/govern/model-contracts.md | 4 ++-- .../docs/faqs/Models/specifying-column-types.md | 2 +- website/docs/faqs/Tests/available-tests.md | 2 +- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/website/docs/docs/build/data-tests.md b/website/docs/docs/build/data-tests.md index 32a50dba800..d981d7e272d 100644 --- a/website/docs/docs/build/data-tests.md +++ b/website/docs/docs/build/data-tests.md @@ -25,9 +25,9 @@ Like almost everything in dbt, data tests are SQL queries. In particular, they a There are two ways of defining data tests in dbt: * A **singular** data test is testing in its simplest form: If you can write a SQL query that returns failing rows, you can save that query in a `.sql` file within your [test directory](/reference/project-configs/test-paths). It's now a data test, and it will be executed by the `dbt test` command. -* A **generic** test is a parameterized query that accepts arguments. The test query is defined in a special `test` block (like a [macro](jinja-macros)). Once defined, you can reference the generic test by name throughout your `.yml` files—define it on models, columns, sources, snapshots, and seeds. dbt ships with four generic tests built in, and we think you should use them! +* A **generic** data test is a parameterized query that accepts arguments. The test query is defined in a special `test` block (like a [macro](jinja-macros)). Once defined, you can reference the generic test by name throughout your `.yml` files—define it on models, columns, sources, snapshots, and seeds. dbt ships with four generic data tests built in, and we think you should use them! -Defining data tests is a great way to confirm that your code is working correctly, and helps prevent regressions when your code changes. Because you can use them over and over again, making similar assertions with minor variations, generic data tests tend to be much more common—they should make up the bulk of your dbt testing suite. That said, both ways of defining data tests have their time and place. +Defining data tests is a great way to confirm that your outputs and inputs are as expected, and helps prevent regressions when your code changes. Because you can use them over and over again, making similar assertions with minor variations, generic data tests tend to be much more common—they should make up the bulk of your dbt data testing suite. That said, both ways of defining data tests have their time and place. :::tip Creating your first data tests If you're new to dbt, we recommend that you check out our [quickstart guide](/guides) to build your first dbt project with models and tests. @@ -35,9 +35,9 @@ If you're new to dbt, we recommend that you check out our [quickstart guide](/gu ## Singular data tests -The simplest way to define a data test is by writing the exact SQL that will return failing records. We call these "singular" tests, because they're one-off assertions usable for a single purpose. +The simplest way to define a data test is by writing the exact SQL that will return failing records. We call these "singular" data tests, because they're one-off assertions usable for a single purpose. -These tests are defined in `.sql` files, typically in your `tests` directory (as defined by your [`test-paths` config](/reference/project-configs/test-paths)). You can use Jinja (including `ref` and `source`) in the test definition, just like you can when creating models. Each `.sql` file contains one `select` statement, and it defines one test: +These tests are defined in `.sql` files, typically in your `tests` directory (as defined by your [`test-paths` config](/reference/project-configs/test-paths)). You can use Jinja (including `ref` and `source`) in the test definition, just like you can when creating models. Each `.sql` file contains one `select` statement, and it defines one data test: @@ -58,8 +58,8 @@ The name of this test is the name of the file: `assert_total_payment_amount_is_p Singular data tests are easy to write—so easy that you may find yourself writing the same basic structure over and over, only changing the name of a column or model. By that point, the test isn't so singular! In that case, we recommend... -## Generic tests -Certain data tests are generic: they can be reused over and over again. A generic test is defined in a `test` block, which contains a parametrized query and accepts arguments. It might look like: +## Generic data tests +Certain data tests are generic: they can be reused over and over again. A generic data test is defined in a `test` block, which contains a parametrized query and accepts arguments. It might look like: ```sql {% test not_null(model, column_name) %} @@ -108,11 +108,11 @@ In plain English, these data tests translate to: Behind the scenes, dbt constructs a `select` query for each data test, using the parametrized query from the generic test block. These queries return the rows where your assertion is _not_ true; if the test returns zero rows, your assertion passes. -You can find more information about these tests, and additional configurations (including [`severity`](/reference/resource-configs/severity) and [`tags`](/reference/resource-configs/tags)) in the [reference section](/reference/resource-properties/data-tests). +You can find more information about these data tests, and additional configurations (including [`severity`](/reference/resource-configs/severity) and [`tags`](/reference/resource-configs/tags)) in the [reference section](/reference/resource-properties/data-tests). ### More generic data tests -Those four tests are enough to get you started. You'll quickly find you want to use a wider variety of tests—a good thing! You can also install generic tests from a package, or write your own, to use (and reuse) across your dbt project. Check out the [guide on custom generic tests](/best-practices/writing-custom-generic-tests) for more information. +Those four tests are enough to get you started. You'll quickly find you want to use a wider variety of tests—a good thing! You can also install generic data tests from a package, or write your own, to use (and reuse) across your dbt project. Check out the [guide on custom generic tests](/best-practices/writing-custom-generic-tests) for more information. :::info There are generic tests defined in some open source packages, such as [dbt-utils](https://hub.getdbt.com/dbt-labs/dbt_utils/latest/) and [dbt-expectations](https://hub.getdbt.com/calogica/dbt_expectations/latest/) — skip ahead to the docs on [packages](/docs/build/packages) to learn more! diff --git a/website/docs/docs/build/projects.md b/website/docs/docs/build/projects.md index d268ec09920..c5e08177dee 100644 --- a/website/docs/docs/build/projects.md +++ b/website/docs/docs/build/projects.md @@ -14,7 +14,7 @@ At a minimum, all a project needs is the `dbt_project.yml` project configuration | [models](/docs/build/models) | Each model lives in a single file and contains logic that either transforms raw data into a dataset that is ready for analytics or, more often, is an intermediate step in such a transformation. | | [snapshots](/docs/build/snapshots) | A way to capture the state of your mutable tables so you can refer to it later. | | [seeds](/docs/build/seeds) | CSV files with static data that you can load into your data platform with dbt. | -| [tests](/docs/build/data-tests) | SQL queries that you can write to test the models and resources in your project. | +| [data tests](/docs/build/data-tests) | SQL queries that you can write to test the models and resources in your project. | | [macros](/docs/build/jinja-macros) | Blocks of code that you can reuse multiple times. | | [docs](/docs/collaborate/documentation) | Docs for your project that you can build. | | [sources](/docs/build/sources) | A way to name and describe the data loaded into your warehouse by your Extract and Load tools. | diff --git a/website/docs/docs/build/sources.md b/website/docs/docs/build/sources.md index ae6024a3e58..466bcedc688 100644 --- a/website/docs/docs/build/sources.md +++ b/website/docs/docs/build/sources.md @@ -88,7 +88,7 @@ Using the `{{ source () }}` function also creates a dependency between the model ### Testing and documenting sources You can also: -- Add tests to sources +- Add data tests to sources - Add descriptions to sources, that get rendered as part of your documentation site These should be familiar concepts if you've already added tests and descriptions to your models (if not check out the guides on [testing](/docs/build/data-tests) and [documentation](/docs/collaborate/documentation)). diff --git a/website/docs/docs/collaborate/govern/model-contracts.md b/website/docs/docs/collaborate/govern/model-contracts.md index a083c3e6d2b..8e7598f8e3b 100644 --- a/website/docs/docs/collaborate/govern/model-contracts.md +++ b/website/docs/docs/collaborate/govern/model-contracts.md @@ -183,9 +183,9 @@ Any model meeting the criteria described above _can_ define a contract. We recom A model's contract defines the **shape** of the returned dataset. If the model's logic or input data doesn't conform to that shape, the model does not build. -[Tests](/docs/build/data-tests) are a more flexible mechanism for validating the content of your model _after_ it's built. So long as you can write the query, you can run the test. Tests are more configurable, such as with [custom severity thresholds](/reference/resource-configs/severity). They are easier to debug after finding failures, because you can query the already-built model, or [store the failing records in the data warehouse](/reference/resource-configs/store_failures). +[Data Tests](/docs/build/data-tests) are a more flexible mechanism for validating the content of your model _after_ it's built. So long as you can write the query, you can run the data test. Data tests are more configurable, such as with [custom severity thresholds](/reference/resource-configs/severity). They are easier to debug after finding failures, because you can query the already-built model, or [store the failing records in the data warehouse](/reference/resource-configs/store_failures). -In some cases, you can replace a test with its equivalent constraint. This has the advantage of guaranteeing the validation at build time, and it probably requires less compute (cost) in your data platform. The prerequisites for replacing a test with a constraint are: +In some cases, you can replace a data test with its equivalent constraint. This has the advantage of guaranteeing the validation at build time, and it probably requires less compute (cost) in your data platform. The prerequisites for replacing a data test with a constraint are: - Making sure that your data platform can support and enforce the constraint that you need. Most platforms only enforce `not_null`. - Materializing your model as `table` or `incremental` (**not** `view` or `ephemeral`). - Defining a full contract for this model by specifying the `name` and `data_type` of each column. diff --git a/website/docs/faqs/Models/specifying-column-types.md b/website/docs/faqs/Models/specifying-column-types.md index ff29085f160..904c616d89a 100644 --- a/website/docs/faqs/Models/specifying-column-types.md +++ b/website/docs/faqs/Models/specifying-column-types.md @@ -38,6 +38,6 @@ So long as your model queries return the correct column type, the table you crea To define additional column options: -* Rather than enforcing uniqueness and not-null constraints on your column, use dbt's [testing](/docs/build/data-tests) functionality to check that your assertions about your model hold true. +* Rather than enforcing uniqueness and not-null constraints on your column, use dbt's [data testing](/docs/build/data-tests) functionality to check that your assertions about your model hold true. * Rather than creating default values for a column, use SQL to express defaults (e.g. `coalesce(updated_at, current_timestamp()) as updated_at`) * In edge-cases where you _do_ need to alter a column (e.g. column-level encoding on Redshift), consider implementing this via a [post-hook](/reference/resource-configs/pre-hook-post-hook). diff --git a/website/docs/faqs/Tests/available-tests.md b/website/docs/faqs/Tests/available-tests.md index 225331d2256..2b5fd3ff55c 100644 --- a/website/docs/faqs/Tests/available-tests.md +++ b/website/docs/faqs/Tests/available-tests.md @@ -12,6 +12,6 @@ Out of the box, dbt ships with the following tests: * `accepted_values` * `relationships` (i.e. referential integrity) -You can also write your own [custom schema tests](/docs/build/data-tests). +You can also write your own [custom schema data tests](/docs/build/data-tests). Some additional custom schema tests have been open-sourced in the [dbt-utils package](https://github.com/dbt-labs/dbt-utils/tree/0.2.4/#schema-tests), check out the docs on [packages](/docs/build/packages) to learn how to make these tests available in your project. From f967d2db344309dc1fd37962f45040adea651dd2 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 7 Dec 2023 16:13:55 -0500 Subject: [PATCH 071/165] Apply suggestions from code review Co-authored-by: Grace Goheen <53586774+graciegoheen@users.noreply.github.com> --- website/docs/reference/configs-and-properties.md | 4 ++-- website/docs/reference/model-properties.md | 8 ++++---- website/docs/reference/resource-configs/alias.md | 2 +- website/docs/reference/resource-configs/database.md | 2 +- .../docs/reference/resource-configs/store_failures_as.md | 4 ++-- website/docs/reference/resource-properties/data-tests.md | 4 ++-- website/docs/terms/data-wrangling.md | 2 +- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/website/docs/reference/configs-and-properties.md b/website/docs/reference/configs-and-properties.md index c96fe7be299..9464faf719d 100644 --- a/website/docs/reference/configs-and-properties.md +++ b/website/docs/reference/configs-and-properties.md @@ -11,7 +11,7 @@ A rule of thumb: properties declare things _about_ your project resources; confi For example, you can use resource **properties** to: * Describe models, snapshots, seed files, and their columns -* Assert "truths" about a model, in the form of [tests](/docs/build/data-tests), e.g. "this `id` column is unique" +* Assert "truths" about a model, in the form of [data tests](/docs/build/data-tests), e.g. "this `id` column is unique" * Define pointers to existing tables that contain raw data, in the form of [sources](/docs/build/sources), and assert the expected "freshness" of this raw data * Define official downstream uses of your data models, in the form of [exposures](/docs/build/exposures) @@ -33,7 +33,7 @@ Depending on the resource type, configurations can be defined: dbt prioritizes configurations in order of specificity, from most specificity to least specificity. This generally follows the order above: an in-file `config()` block --> properties defined in a `.yml` file --> config defined in the project file. -Note - Generic tests work a little differently when it comes to specificity. See [test configs](/reference/data-test-configs). +Note - Generic data tests work a little differently when it comes to specificity. See [test configs](/reference/data-test-configs). Within the project file, configurations are also applied hierarchically. The most specific config always "wins": In the project file, configurations applied to a `marketing` subdirectory will take precedence over configurations applied to the entire `jaffle_shop` project. To apply a configuration to a model, or directory of models, define the resource path as nested dictionary keys. diff --git a/website/docs/reference/model-properties.md b/website/docs/reference/model-properties.md index a384307678f..65f9307b5b3 100644 --- a/website/docs/reference/model-properties.md +++ b/website/docs/reference/model-properties.md @@ -25,7 +25,7 @@ models: - [tests](/reference/resource-properties/data-tests): - - - ... # declare additional tests + - ... # declare additional data tests [columns](/reference/resource-properties/columns): - name: # required [description](/reference/resource-properties/description): @@ -35,7 +35,7 @@ models: - [tests](/reference/resource-properties/data-tests): - - - ... # declare additional tests + - ... # declare additional data tests [tags](/reference/resource-configs/tags): [] - name: ... # declare properties of additional columns @@ -53,7 +53,7 @@ models: [](/reference/model-configs): [tests](/reference/resource-properties/data-tests): - - - ... # declare additional tests + - ... # declare additional data tests columns: # include/exclude columns from the top-level model properties - [include](/reference/resource-properties/include-exclude): @@ -65,7 +65,7 @@ models: - [tests](/reference/resource-properties/data-tests): - - - ... # declare additional tests + - ... # declare additional data tests [tags](/reference/resource-configs/tags): [] - v: ... # declare additional versions diff --git a/website/docs/reference/resource-configs/alias.md b/website/docs/reference/resource-configs/alias.md index fbedb4597e6..e1d3ae41f8b 100644 --- a/website/docs/reference/resource-configs/alias.md +++ b/website/docs/reference/resource-configs/alias.md @@ -112,7 +112,7 @@ When using `--store-failures`, this would return the name `analytics.finance.ord ## Definition -Optionally specify a custom alias for a [model](/docs/build/models), [tests](/docs/build/data-tests), [snapshots](/docs/build/snapshots), or [seed](/docs/build/seeds). +Optionally specify a custom alias for a [model](/docs/build/models), [data test](/docs/build/data-tests), [snapshot](/docs/build/snapshots), or [seed](/docs/build/seeds). When dbt creates a relation (/) in a database, it creates it as: `{{ database }}.{{ schema }}.{{ identifier }}`, e.g. `analytics.finance.payments` diff --git a/website/docs/reference/resource-configs/database.md b/website/docs/reference/resource-configs/database.md index 82c7b2cca92..19c9eca272d 100644 --- a/website/docs/reference/resource-configs/database.md +++ b/website/docs/reference/resource-configs/database.md @@ -70,7 +70,7 @@ This would result in the generated relation being located in the `reporting` dat ## Definition -Optionally specify a custom database for a [model](/docs/build/sql-models), [seed](/docs/build/seeds), or [tests](/docs/build/data-tests). (To specify a database for a [snapshot](/docs/build/snapshots), use the [`target_database` config](/reference/resource-configs/target_database)). +Optionally specify a custom database for a [model](/docs/build/sql-models), [seed](/docs/build/seeds), or [data test](/docs/build/data-tests). (To specify a database for a [snapshot](/docs/build/snapshots), use the [`target_database` config](/reference/resource-configs/target_database)). When dbt creates a relation (/) in a database, it creates it as: `{{ database }}.{{ schema }}.{{ identifier }}`, e.g. `analytics.finance.payments` diff --git a/website/docs/reference/resource-configs/store_failures_as.md b/website/docs/reference/resource-configs/store_failures_as.md index e12c00c7fba..08ae10e5309 100644 --- a/website/docs/reference/resource-configs/store_failures_as.md +++ b/website/docs/reference/resource-configs/store_failures_as.md @@ -70,7 +70,7 @@ As with most other configurations, `store_failures_as` is "clobbered" when appli Additional resources: -- [Test configurations](/reference/data-test-configs#related-documentation) -- [Test-specific configurations](/reference/data-test-configs#test-specific-configurations) +- [Data test configurations](/reference/data-test-configs#related-documentation) +- [Data test-specific configurations](/reference/data-test-configs#test-specific-configurations) - [Configuring directories of models in dbt_project.yml](/reference/model-configs#configuring-directories-of-models-in-dbt_projectyml) - [Config inheritance](/reference/configs-and-properties#config-inheritance) \ No newline at end of file diff --git a/website/docs/reference/resource-properties/data-tests.md b/website/docs/reference/resource-properties/data-tests.md index 7b658acf949..ce557ebeb4f 100644 --- a/website/docs/reference/resource-properties/data-tests.md +++ b/website/docs/reference/resource-properties/data-tests.md @@ -152,7 +152,7 @@ This feature is not implemented for analyses. ## Related documentation -* [Testing guide](/docs/build/data-tests) +* [Data testing guide](/docs/build/data-tests) ## Description @@ -262,7 +262,7 @@ The `to` argument accepts a [Relation](/reference/dbt-classes#relation) – this ## Additional examples ### Test an expression -Some data tests require multiple columns, so it doesn't make sense to nest them under the `columns:` key. In this case, you can apply the test to the model (or source, seed, or snapshot) instead: +Some data tests require multiple columns, so it doesn't make sense to nest them under the `columns:` key. In this case, you can apply the data test to the model (or source, seed, or snapshot) instead: diff --git a/website/docs/terms/data-wrangling.md b/website/docs/terms/data-wrangling.md index 2fbb8d41942..e1aabdea8bd 100644 --- a/website/docs/terms/data-wrangling.md +++ b/website/docs/terms/data-wrangling.md @@ -150,7 +150,7 @@ For nested data types such as JSON, you’ll want to check out the JSON parsing ### Validating -dbt offers [generic tests](/docs/build/data-tests#more-generic-tests) in every dbt project that allows you to validate accepted, unique, and null values. They also allow you to validate the relationships between tables and that the primary key is unique. +dbt offers [generic data tests](/docs/build/data-tests#more-generic-tests) in every dbt project that allows you to validate accepted, unique, and null values. They also allow you to validate the relationships between tables and that the primary key is unique. If you can’t find what you need with the generic tests, you can download an additional dbt testing package called [dbt_expectations](https://hub.getdbt.com/calogica/dbt_expectations/0.1.2/) that dives even deeper into how you can test the values in your columns. This package has useful data tests like `expect_column_values_to_be_in_type_list`, `expect_column_values_to_be_between`, and `expect_column_value_lengths_to_equal`. From 428d05e562808ff9d13bad1abd2665061794821f Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 7 Dec 2023 19:00:59 -0500 Subject: [PATCH 072/165] #custon --- website/docs/reference/resource-configs/store_failures_as.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/resource-configs/store_failures_as.md b/website/docs/reference/resource-configs/store_failures_as.md index e12c00c7fba..e9ca1ce4c5b 100644 --- a/website/docs/reference/resource-configs/store_failures_as.md +++ b/website/docs/reference/resource-configs/store_failures_as.md @@ -71,6 +71,6 @@ As with most other configurations, `store_failures_as` is "clobbered" when appli Additional resources: - [Test configurations](/reference/data-test-configs#related-documentation) -- [Test-specific configurations](/reference/data-test-configs#test-specific-configurations) +- [Test-specific configurations](/reference/data-test-configs#test-data-specific-configurations) - [Configuring directories of models in dbt_project.yml](/reference/model-configs#configuring-directories-of-models-in-dbt_projectyml) - [Config inheritance](/reference/configs-and-properties#config-inheritance) \ No newline at end of file From b8e3a12b3baac6c5ac3312a06dd04d431c4f2386 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Thu, 7 Dec 2023 19:05:00 -0500 Subject: [PATCH 073/165] Fixin links --- website/docs/terms/data-wrangling.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/terms/data-wrangling.md b/website/docs/terms/data-wrangling.md index e1aabdea8bd..46a14a25949 100644 --- a/website/docs/terms/data-wrangling.md +++ b/website/docs/terms/data-wrangling.md @@ -150,7 +150,7 @@ For nested data types such as JSON, you’ll want to check out the JSON parsing ### Validating -dbt offers [generic data tests](/docs/build/data-tests#more-generic-tests) in every dbt project that allows you to validate accepted, unique, and null values. They also allow you to validate the relationships between tables and that the primary key is unique. +dbt offers [generic data tests](/docs/build/data-tests#more-generic-data-tests) in every dbt project that allows you to validate accepted, unique, and null values. They also allow you to validate the relationships between tables and that the primary key is unique. If you can’t find what you need with the generic tests, you can download an additional dbt testing package called [dbt_expectations](https://hub.getdbt.com/calogica/dbt_expectations/0.1.2/) that dives even deeper into how you can test the values in your columns. This package has useful data tests like `expect_column_values_to_be_in_type_list`, `expect_column_values_to_be_between`, and `expect_column_value_lengths_to_equal`. From c5858e6038496449c123bb1243a5209c3ca6e821 Mon Sep 17 00:00:00 2001 From: Tania <92768464+Tonayya@users.noreply.github.com> Date: Fri, 8 Dec 2023 13:56:43 +1100 Subject: [PATCH 074/165] Update deploy-jobs.md Added some examples where we are using the L expression to specify the last day of the month. Relevant conversation can be found in Slack [here](https://dbt-labs.slack.com/archives/C04KKUHLT32/p1702002328874979). --- website/docs/docs/deploy/deploy-jobs.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/docs/docs/deploy/deploy-jobs.md b/website/docs/docs/deploy/deploy-jobs.md index e43020bf66e..cb62de00e7e 100644 --- a/website/docs/docs/deploy/deploy-jobs.md +++ b/website/docs/docs/deploy/deploy-jobs.md @@ -87,12 +87,19 @@ Use tools such as [crontab.guru](https://crontab.guru/) to generate the correct Refer to the following example snippets: -- `0 * * * *`: Every hour, at minute 0 -- `*/5 * * * *`: Every 5 minutes -- `5 4 * * *`: At exactly 4:05 AM UTC -- `30 */4 * * *`: At minute 30 past every 4th hour (e.g. 4:30AM, 8:30AM, 12:30PM, etc., all UTC) -- `0 0 */2 * *`: At midnight UTC every other day +- `0 * * * *`: Every hour, at minute 0. +- `*/5 * * * *`: Every 5 minutes. +- `5 4 * * *`: At exactly 4:05 AM UTC. +- `30 */4 * * *`: At minute 30 past every 4th hour (e.g. 4:30AM, 8:30AM, 12:30PM, etc., all UTC). +- `0 0 */2 * *`: At midnight UTC every other day. - `0 0 * * 1`: At midnight UTC every Monday. +- `0 0 L * *`: At 12:00 AM, on the last day of the month. +- `0 0 L 1,2,3,4,5,6,8,9,10,11,12 *`: At 12:00 AM, on the last day of the month, only in January, February, March, April, May, June, August, September, October, November, and December. +- `0 0 L 7 *`: At 12:00 AM, on the last day of the month, only in July. +- `0 0 L * FRI,SAT`: At 12:00 AM, on the last day of the month, and on Friday and Saturday. +- `0 12 L * *`: At 12:00 PM, on the last day of the month. +- `0 7 L * 5`: At 07:00 AM, on the last day of the month, and on Friday. +- `30 14 L * *`: At 02:30 PM, on the last day of the month. ## Related docs From b0b94c64f9ee1978ac2f0a6bfe21bb1a695b9d05 Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Thu, 7 Dec 2023 23:18:29 -0500 Subject: [PATCH 075/165] combine sort type option into the same row --- .../resource-configs/redshift-configs.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/website/docs/reference/resource-configs/redshift-configs.md b/website/docs/reference/resource-configs/redshift-configs.md index 44b66b30005..c7fc0671c0b 100644 --- a/website/docs/reference/resource-configs/redshift-configs.md +++ b/website/docs/reference/resource-configs/redshift-configs.md @@ -114,15 +114,14 @@ models: The Redshift adapter supports [materialized views](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-overview.html) with the following configuration parameters: -| Parameter | Type | Required | Default | Change Monitoring Support | -|-------------------------------------------|--------------|----------|----------------------|---------------------------| -| `on_configuration_change` | `` | no | `apply` | n/a | -| [`dist`](#using-sortkey-and-distkey) | `` | no | `even` | drop/create | -| [`sort`](#using-sortkey-and-distkey) | `[]` | no | `none` | drop/create | -| [`sort_type`](#using-sortkey-and-distkey) | `` | no | `auto` if no `sort` | drop/create | -| | | | `compound` if `sort` | | -| [`auto_refresh`](#auto-refresh) | `` | no | `false` | alter | -| [`backup`](#backup) | `` | no | `true` | n/a | +| Parameter | Type | Required | Default | Change Monitoring Support | +|-------------------------------------------|--------------|----------|------------------------------------------------|---------------------------| +| `on_configuration_change` | `` | no | `apply` | n/a | +| [`dist`](#using-sortkey-and-distkey) | `` | no | `even` | drop/create | +| [`sort`](#using-sortkey-and-distkey) | `[]` | no | `none` | drop/create | +| [`sort_type`](#using-sortkey-and-distkey) | `` | no | `auto` if no `sort`
`compound` if `sort` | drop/create | +| [`auto_refresh`](#auto-refresh) | `` | no | `false` | alter | +| [`backup`](#backup) | `` | no | `true` | n/a | Date: Fri, 8 Dec 2023 07:14:15 -0500 Subject: [PATCH 076/165] Update website/docs/docs/deploy/deploy-jobs.md --- website/docs/docs/deploy/deploy-jobs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/deploy/deploy-jobs.md b/website/docs/docs/deploy/deploy-jobs.md index cb62de00e7e..d7fe0b361d2 100644 --- a/website/docs/docs/deploy/deploy-jobs.md +++ b/website/docs/docs/deploy/deploy-jobs.md @@ -90,7 +90,7 @@ Refer to the following example snippets: - `0 * * * *`: Every hour, at minute 0. - `*/5 * * * *`: Every 5 minutes. - `5 4 * * *`: At exactly 4:05 AM UTC. -- `30 */4 * * *`: At minute 30 past every 4th hour (e.g. 4:30AM, 8:30AM, 12:30PM, etc., all UTC). +- `30 */4 * * *`: At minute 30 past every 4th hour (such as 4:30 AM, 8:30 AM, 12:30 PM, and so on, all UTC). - `0 0 */2 * *`: At midnight UTC every other day. - `0 0 * * 1`: At midnight UTC every Monday. - `0 0 L * *`: At 12:00 AM, on the last day of the month. From 69227e0d4f178e4b6472d6fbdef7bd469366d49e Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 8 Dec 2023 07:14:42 -0500 Subject: [PATCH 077/165] Update website/docs/docs/deploy/deploy-jobs.md --- website/docs/docs/deploy/deploy-jobs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/deploy/deploy-jobs.md b/website/docs/docs/deploy/deploy-jobs.md index d7fe0b361d2..09b5491b1db 100644 --- a/website/docs/docs/deploy/deploy-jobs.md +++ b/website/docs/docs/deploy/deploy-jobs.md @@ -93,7 +93,7 @@ Refer to the following example snippets: - `30 */4 * * *`: At minute 30 past every 4th hour (such as 4:30 AM, 8:30 AM, 12:30 PM, and so on, all UTC). - `0 0 */2 * *`: At midnight UTC every other day. - `0 0 * * 1`: At midnight UTC every Monday. -- `0 0 L * *`: At 12:00 AM, on the last day of the month. +- `0 0 L * *`: At 12:00 AM (midnight), on the last day of the month. - `0 0 L 1,2,3,4,5,6,8,9,10,11,12 *`: At 12:00 AM, on the last day of the month, only in January, February, March, April, May, June, August, September, October, November, and December. - `0 0 L 7 *`: At 12:00 AM, on the last day of the month, only in July. - `0 0 L * FRI,SAT`: At 12:00 AM, on the last day of the month, and on Friday and Saturday. From f076c2d6742a70832801f7522cb65954d09c2fad Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 8 Dec 2023 07:15:01 -0500 Subject: [PATCH 078/165] Update website/docs/docs/deploy/deploy-jobs.md --- website/docs/docs/deploy/deploy-jobs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/deploy/deploy-jobs.md b/website/docs/docs/deploy/deploy-jobs.md index 09b5491b1db..ef46b368b91 100644 --- a/website/docs/docs/deploy/deploy-jobs.md +++ b/website/docs/docs/deploy/deploy-jobs.md @@ -91,7 +91,7 @@ Refer to the following example snippets: - `*/5 * * * *`: Every 5 minutes. - `5 4 * * *`: At exactly 4:05 AM UTC. - `30 */4 * * *`: At minute 30 past every 4th hour (such as 4:30 AM, 8:30 AM, 12:30 PM, and so on, all UTC). -- `0 0 */2 * *`: At midnight UTC every other day. +- `0 0 */2 * *`: At 12:00 AM (midnight) UTC every other day. - `0 0 * * 1`: At midnight UTC every Monday. - `0 0 L * *`: At 12:00 AM (midnight), on the last day of the month. - `0 0 L 1,2,3,4,5,6,8,9,10,11,12 *`: At 12:00 AM, on the last day of the month, only in January, February, March, April, May, June, August, September, October, November, and December. From e3c7326f12994ed901a5d9de2a9934e2dea48569 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 8 Dec 2023 07:16:50 -0500 Subject: [PATCH 079/165] Update website/docs/docs/deploy/deploy-jobs.md --- website/docs/docs/deploy/deploy-jobs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/deploy/deploy-jobs.md b/website/docs/docs/deploy/deploy-jobs.md index ef46b368b91..5c7ef0ca8b3 100644 --- a/website/docs/docs/deploy/deploy-jobs.md +++ b/website/docs/docs/deploy/deploy-jobs.md @@ -97,7 +97,7 @@ Refer to the following example snippets: - `0 0 L 1,2,3,4,5,6,8,9,10,11,12 *`: At 12:00 AM, on the last day of the month, only in January, February, March, April, May, June, August, September, October, November, and December. - `0 0 L 7 *`: At 12:00 AM, on the last day of the month, only in July. - `0 0 L * FRI,SAT`: At 12:00 AM, on the last day of the month, and on Friday and Saturday. -- `0 12 L * *`: At 12:00 PM, on the last day of the month. +- `0 12 L * *`: At 12:00 PM (afternoon), on the last day of the month. - `0 7 L * 5`: At 07:00 AM, on the last day of the month, and on Friday. - `30 14 L * *`: At 02:30 PM, on the last day of the month. From b237f544d461378bcab7b8ea5590543b5fbfe618 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 8 Dec 2023 07:26:55 -0500 Subject: [PATCH 080/165] Update website/docs/docs/deploy/deploy-jobs.md --- website/docs/docs/deploy/deploy-jobs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/deploy/deploy-jobs.md b/website/docs/docs/deploy/deploy-jobs.md index 5c7ef0ca8b3..cee6e245359 100644 --- a/website/docs/docs/deploy/deploy-jobs.md +++ b/website/docs/docs/deploy/deploy-jobs.md @@ -84,7 +84,7 @@ To fully customize the scheduling of your job, choose the **Custom cron schedule Use tools such as [crontab.guru](https://crontab.guru/) to generate the correct cron syntax. This tool allows you to input cron snippets and returns their plain English translations. -Refer to the following example snippets: +Here are examples of cron job schedules. The dbt Cloud job scheduler supports using `L` to schedule jobs on the last day of the month: - `0 * * * *`: Every hour, at minute 0. From aa7b29da2104fca529a615f0d1eddbc0224c145e Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Fri, 8 Dec 2023 15:32:25 -0500 Subject: [PATCH 081/165] add reference links to config block version --- .../reference/resource-configs/redshift-configs.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/docs/reference/resource-configs/redshift-configs.md b/website/docs/reference/resource-configs/redshift-configs.md index c7fc0671c0b..f610d19a346 100644 --- a/website/docs/reference/resource-configs/redshift-configs.md +++ b/website/docs/reference/resource-configs/redshift-configs.md @@ -185,13 +185,13 @@ models: ```jinja {{ config( - materialized="materialized_view", + [materialized](/reference/resource-configs/materialized)="materialized_view", on_configuration_change="apply" | "continue" | "fail", - dist="all" | "auto" | "even" | "", - sort=[""], - sort_type="auto" | "compound" | "interleaved", - auto_refresh=true | false, - backup=true | false, + [dist](#using-sortkey-and-distkey)="all" | "auto" | "even" | "", + [sort](#using-sortkey-and-distkey)=[""], + [sort_type](#using-sortkey-and-distkey)="auto" | "compound" | "interleaved", + [auto_refresh](#auto-refresh)=true | false, + [backup](#backup)=true | false, ) }} ``` From 20ae17beeecb7d2eced51a81f1f157421139b372 Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Fri, 8 Dec 2023 15:34:31 -0500 Subject: [PATCH 082/165] add reference links to config block version --- .../resource-configs/bigquery-configs.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/website/docs/reference/resource-configs/bigquery-configs.md b/website/docs/reference/resource-configs/bigquery-configs.md index f9b447fdc0b..ea20be4fb41 100644 --- a/website/docs/reference/resource-configs/bigquery-configs.md +++ b/website/docs/reference/resource-configs/bigquery-configs.md @@ -827,10 +827,10 @@ models: ```jinja {{ config( - materialized='materialized_view', + [materialized](/reference/resource-configs/materialized)='materialized_view', on_configuration_change="apply" | "continue" | "fail", - cluster_by="" | [""], - partition_by={ + [cluster_by](#clustering-clause)="" | [""], + [partition_by](#partition-clause)={ "field": "", "data_type": "timestamp" | "date" | "datetime" | "int64", @@ -846,17 +846,17 @@ models: }, # auto-refresh options - enable_refresh= true | false, - refresh_interval_minutes=, - max_staleness="", + [enable_refresh](#auto-refresh)= true | false, + [refresh_interval_minutes](#auto-refresh)=, + [max_staleness](#auto-refresh)="", # additional options description="", - labels={ + [labels](#specifying-labels)={ "": "", }, - hours_to_expiration=, - kms_key_name="", + [hours_to_expiration](#acontrolling-table-expiration)=, + [kms_key_name](##using-kms-encryption)="", ) }} ``` From ecc39ab9c905e9750016e7f9d689aeafd508fbbc Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Fri, 8 Dec 2023 15:35:39 -0500 Subject: [PATCH 083/165] add reference links to config block version --- .../docs/reference/resource-configs/snowflake-configs.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/docs/reference/resource-configs/snowflake-configs.md b/website/docs/reference/resource-configs/snowflake-configs.md index c6ef5c4b339..a5c2e6f57d9 100644 --- a/website/docs/reference/resource-configs/snowflake-configs.md +++ b/website/docs/reference/resource-configs/snowflake-configs.md @@ -417,10 +417,10 @@ models: ```jinja {{ config( - materialized="dynamic_table", + [materialized](/reference/resource-configs/materialized)="dynamic_table", on_configuration_change="apply" | "continue" | "fail", - target_lag="downstream" | " seconds | minutes | hours | days", - snowflake_warehouse="", + [target_lag](#target-lag)="downstream" | " seconds | minutes | hours | days", + [snowflake_warehouse](#configuring-virtual-warehouses)="", ) }} ``` From 08972fe81b37c325692942689cbb772b6c4b67fe Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Mon, 11 Dec 2023 10:16:18 -0500 Subject: [PATCH 084/165] clarify and add links --- .../docs/reference/node-selection/syntax.md | 27 ++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/website/docs/reference/node-selection/syntax.md b/website/docs/reference/node-selection/syntax.md index d0ea4a9acd8..14ec34eb8a6 100644 --- a/website/docs/reference/node-selection/syntax.md +++ b/website/docs/reference/node-selection/syntax.md @@ -35,7 +35,7 @@ To follow [POSIX standards](https://pubs.opengroup.org/onlinepubs/9699919799/bas 3. dbt now has a list of still-selected resources of varying types. As a final step, it tosses away any resource that does not match the resource type of the current task. (Only seeds are kept for `dbt seed`, only models for `dbt run`, only tests for `dbt test`, and so on.) -### Shorthand +## Shorthand Select resources to build (run, test, seed, snapshot) or check freshness: `--select`, `-s` @@ -43,6 +43,10 @@ Select resources to build (run, test, seed, snapshot) or check freshness: `--sel By default, `dbt run` will execute _all_ of the models in the dependency graph. During development (and deployment), it is useful to specify only a subset of models to run. Use the `--select` flag with `dbt run` to select a subset of models to run. Note that the following arguments (`--select`, `--exclude`, and `--selector`) also apply to other dbt tasks, such as `test` and `build`. + + + + The `--select` flag accepts one or more arguments. Each argument can be one of: 1. a package name @@ -52,8 +56,7 @@ The `--select` flag accepts one or more arguments. Each argument can be one of: Examples: - - ```bash +```bash dbt run --select "my_dbt_project_name" # runs all models in your project dbt run --select "my_dbt_model" # runs a specific model dbt run --select "path.to.my.models" # runs all models in a specific directory @@ -61,12 +64,20 @@ dbt run --select "my_package.some_model" # run a specific model in a specific pa dbt run --select "tag:nightly" # run models with the "nightly" tag dbt run --select "path/to/models" # run models contained in path/to/models dbt run --select "path/to/my_model.sql" # run a specific model by its path - ``` +``` -dbt supports a shorthand language for defining subsets of nodes. This language uses the characters `+`, `@`, `*`, and `,`. + + - ```bash +dbt supports a shorthand language for defining subsets of nodes. This language uses the following characters: + +- plus operator [(`+`)](/reference/node-selection/graph-operators#the-plus-operator) +- at operator [(`@`)](/reference/node-selection/graph-operators#the-at-operator) +- asterisk operator (`*`) +- comma operator (`,`) + +```bash # multiple arguments can be provided to --select dbt run --select "my_first_model my_second_model" @@ -77,6 +88,10 @@ dbt run --select "tag:nightly my_model finance.base.*" dbt run --select "path:marts/finance,tag:nightly,config.materialized:table" ``` + + + + As your selection logic gets more complex, and becomes unwieldly to type out as command-line arguments, consider using a [yaml selector](/reference/node-selection/yaml-selectors). You can use a predefined definition with the `--selector` flag. Note that when you're using `--selector`, most other flags (namely `--select` and `--exclude`) will be ignored. From e198da4b6fce4188af82c308544717d0590805ec Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Mon, 11 Dec 2023 10:16:59 -0500 Subject: [PATCH 085/165] add example --- website/docs/reference/node-selection/syntax.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/docs/reference/node-selection/syntax.md b/website/docs/reference/node-selection/syntax.md index 14ec34eb8a6..1edc28a4c41 100644 --- a/website/docs/reference/node-selection/syntax.md +++ b/website/docs/reference/node-selection/syntax.md @@ -77,6 +77,8 @@ dbt supports a shorthand language for defining subsets of nodes. This language u - asterisk operator (`*`) - comma operator (`,`) +Examples: + ```bash # multiple arguments can be provided to --select dbt run --select "my_first_model my_second_model" From f4ceaf326758cc037e8ce2e2ee3bf56d9515a5fd Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Mon, 11 Dec 2023 10:26:59 -0500 Subject: [PATCH 086/165] fix label --- website/docs/reference/node-selection/syntax.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/reference/node-selection/syntax.md b/website/docs/reference/node-selection/syntax.md index 1edc28a4c41..31e4f878ff3 100644 --- a/website/docs/reference/node-selection/syntax.md +++ b/website/docs/reference/node-selection/syntax.md @@ -45,7 +45,7 @@ By default, `dbt run` will execute _all_ of the models in the dependency graph. - + The `--select` flag accepts one or more arguments. Each argument can be one of: @@ -68,7 +68,7 @@ dbt run --select "path/to/my_model.sql" # run a specific model by its path - + dbt supports a shorthand language for defining subsets of nodes. This language uses the following characters: From d569754aa118ac1260cdd80a3e9745c323ac6329 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Mon, 11 Dec 2023 11:37:45 -0500 Subject: [PATCH 087/165] update sidebar --- website/sidebars.js | 1 - 1 file changed, 1 deletion(-) diff --git a/website/sidebars.js b/website/sidebars.js index 792645b53e7..544b3a1e92a 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -281,7 +281,6 @@ const sidebarSettings = { "docs/build/jinja-macros", "docs/build/sources", "docs/build/exposures", - "docs/build/metrics", "docs/build/groups", "docs/build/analyses", ], From 8ee808d9145107c71abe59e8e2016ab45a4772d9 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Mon, 11 Dec 2023 11:59:10 -0500 Subject: [PATCH 088/165] Create legacy-sl.md --- .../release-notes/74-Dec-2023/legacy-sl.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md diff --git a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md new file mode 100644 index 00000000000..00b1dd4b74c --- /dev/null +++ b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md @@ -0,0 +1,13 @@ +--- +title: "Deprecation: dbt Metrics and the Legacy dbt Semantic Layer for Git repository caching" +description: "December 2023: dbt Cloud can cache your project's code (as well as other dbt packages) to ensure runs can begin despite an upstream Git provider's outage." +sidebar_label: "Deprecation: Support for Git repository caching" +sidebar_position: 10 +date: 2023-12-15 +--- + +Now available for dbt Cloud Enterprise plans is a new option to enable Git repository caching for your job runs. When enabled, dbt Cloud caches your dbt project's Git repository and uses the cached copy instead if there's an outage with the Git provider. This feature improves the reliability and stability of your job runs. + +To learn more, refer to [Repo caching](/docs/deploy/deploy-environments#git-repository-caching). + + From 9edcc6d61566ca4c9da4c615f15ac92a0af7dd1f Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Mon, 11 Dec 2023 12:24:46 -0500 Subject: [PATCH 089/165] update rn --- .../release-notes/74-Dec-2023/legacy-sl.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md index 00b1dd4b74c..fbe5396d9a6 100644 --- a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md +++ b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md @@ -1,13 +1,11 @@ --- -title: "Deprecation: dbt Metrics and the Legacy dbt Semantic Layer for Git repository caching" -description: "December 2023: dbt Cloud can cache your project's code (as well as other dbt packages) to ensure runs can begin despite an upstream Git provider's outage." -sidebar_label: "Deprecation: Support for Git repository caching" +title: "Deprecation: dbt Metrics and the legacy dbt Semantic Layer is now deprecated" +description: "December 2023: For users on dbt v1.5 and lower, dbt Metrics and the legacy dbt Semantic Layer has been deprecated. Use the migration guide to migrate to and access the latest dbt Semantic Layer. " +sidebar_label: "Deprecation: dbt Metrics and Legacy dbt Semantic Layer" sidebar_position: 10 date: 2023-12-15 --- -Now available for dbt Cloud Enterprise plans is a new option to enable Git repository caching for your job runs. When enabled, dbt Cloud caches your dbt project's Git repository and uses the cached copy instead if there's an outage with the Git provider. This feature improves the reliability and stability of your job runs. +On December 15th, 2023, dbt Labs deprecated dbt Metrics and the legacy dbt Semantic Layer, both supported on dbt version 1.5 or lower. This deprecation means dbt Metrics and the legacy Semantic Layer will no longer be supported. We will also remove the product from the dbt Cloud user interface and [documentation site](https://docs.getdbt.com/). -To learn more, refer to [Repo caching](/docs/deploy/deploy-environments#git-repository-caching). - - +To access the [re-released dbt Semantic Layer](/docs/use-dbt-semantic-layer/dbt-sl), switch to the latest version using the dedicated [migration guide](/guides/sl-migration?step=1). From f9c7d9bd40d686fc7029321a9ca8b2c77f677430 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Mon, 11 Dec 2023 12:58:19 -0500 Subject: [PATCH 090/165] tweaks of rn --- .../release-notes/74-Dec-2023/legacy-sl.md | 25 +++++++-- .../docs/use-dbt-semantic-layer/setup-sl.md | 51 ------------------- website/snippets/sl-prerequisites.md | 38 -------------- website/snippets/sl-public-preview-banner.md | 7 --- website/snippets/sl-set-up-steps.md | 30 ----------- 5 files changed, 22 insertions(+), 129 deletions(-) delete mode 100644 website/snippets/sl-prerequisites.md delete mode 100644 website/snippets/sl-public-preview-banner.md delete mode 100644 website/snippets/sl-set-up-steps.md diff --git a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md index fbe5396d9a6..395ad258b62 100644 --- a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md +++ b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md @@ -2,10 +2,29 @@ title: "Deprecation: dbt Metrics and the legacy dbt Semantic Layer is now deprecated" description: "December 2023: For users on dbt v1.5 and lower, dbt Metrics and the legacy dbt Semantic Layer has been deprecated. Use the migration guide to migrate to and access the latest dbt Semantic Layer. " sidebar_label: "Deprecation: dbt Metrics and Legacy dbt Semantic Layer" -sidebar_position: 10 +sidebar_position: 09 date: 2023-12-15 --- -On December 15th, 2023, dbt Labs deprecated dbt Metrics and the legacy dbt Semantic Layer, both supported on dbt version 1.5 or lower. This deprecation means dbt Metrics and the legacy Semantic Layer will no longer be supported. We will also remove the product from the dbt Cloud user interface and [documentation site](https://docs.getdbt.com/). +dbt Labs has deprecated dbt Metrics and the legacy dbt Semantic Layer, both supported on dbt version 1.5 or lower. These changes will be in effect on _December 15th, 2023_. -To access the [re-released dbt Semantic Layer](/docs/use-dbt-semantic-layer/dbt-sl), switch to the latest version using the dedicated [migration guide](/guides/sl-migration?step=1). +This deprecation means dbt Metrics and the legacy Semantic Layer will no longer be supported. We will also remove the product from the dbt Cloud user interface and [documentation site](https://docs.getdbt.com/). + +### Why this change? + +We understand that changes of this nature can be disruptive and we believe in the potential of the new direction. The [re-released dbt Semantic Layer](/docs/use-dbt-semantic-layer/dbt-sl), powered by MetricFlow, is a significantly improved foundation that enables more flexible query generation, faster performance, and a more dynamic consumption experience. It’s a step towards a brighter future for dbt and its community. + +### Key changes + +- Legacy Semantic Layer and dbt Metrics will officially be deprecated on December 15th, 2023. +- MetricFlow has replaced dbt Metrics for the construction of semantic logic. The `dbt_metrics` package will no longer be supported. +- Exports replaces Materializations. Exports will be available in December or January in dbt Cloud and replaces the previous materializations functionality. + +### Actions + +- If you're using the legacy dbt Semantic Layer or dbt Metrics, use the [dbt Semantic Layer migration guide](/guides/sl-migration?step=1) to migrate over to the re-released dbt Semantic Layer. +- Engage and share feedback with the dbt Labs team and dbt Community slack using channels like [#dbt-cloud-semantic-layer](https://getdbt.slack.com/archives/C046L0VTVR6) and [#dbt-metricflow](https://getdbt.slack.com/archives/C02CCBBBR1D). Or reach out to your dbt Cloud account representative. +- Refer to some additional info and resources to help you upgrade your dbt version: + + - [Upgrade version in dbt Cloud](/docs/dbt-versions/upgrade-core-in-cloud) + - [Version migration guides](/docs/dbt-versions/core-upgrade) diff --git a/website/docs/docs/use-dbt-semantic-layer/setup-sl.md b/website/docs/docs/use-dbt-semantic-layer/setup-sl.md index fb7b853ad24..0944e5ce1e1 100644 --- a/website/docs/docs/use-dbt-semantic-layer/setup-sl.md +++ b/website/docs/docs/use-dbt-semantic-layer/setup-sl.md @@ -32,58 +32,7 @@ import SlSetUp from '/snippets/_new-sl-setup.md'; 8. You’re done 🎉! The semantic layer should is now enabled for your project. --> - - - -import DeprecationNotice from '/snippets/_sl-deprecation-notice.md'; - - - -With the dbt Semantic Layer, you can define business metrics, reduce code duplication and inconsistency, create self-service in downstream tools, and more. Configure the dbt Semantic Layer in dbt Cloud to connect with your integrated partner tool. - -## Prerequisites - - - - -## Set up dbt Semantic Layer - -:::tip -If you're using the legacy Semantic Layer, dbt Labs strongly recommends that you [upgrade your dbt version](/docs/dbt-versions/upgrade-core-in-cloud) to dbt v1.6 or higher to use the latest dbt Semantic Layer. Refer to the dedicated [migration guide](/guides/sl-migration) for more info. - -::: - - * Team and Enterprise accounts can set up the Semantic Layer and [Discovery API](/docs/dbt-cloud-apis/discovery-api) in the integrated partner tool to import metric definitions. - * Developer accounts can query the Proxy Server using SQL but won't be able to browse dbt metrics in external tools, which requires access to the Discovery API. - - -1. Log in to your dbt Cloud account. -2. Go to **Account Settings**, and then **Service Tokens** to create a new [service account API token](/docs/dbt-cloud-apis/service-tokens). Save your token somewhere safe. -3. Assign permissions to service account tokens depending on the integration tool you choose. Refer to the [integration partner documentation](https://www.getdbt.com/product/semantic-layer-integrations) to determine the permission sets you need to assign. -4. Go to **Deploy** > **Environments**, and select your **Deployment** environment. -5. Click **Settings** on the top right side of the page. -6. Click **Edit** on the top right side of the page. -7. Select dbt version 1.2 or higher. -8. Toggle the Semantic Layer **On**. -9. Copy the full proxy server URL (like `https://eagle-hqya7.proxy.cloud.getdbt.com`) to connect to your [integrated partner tool](https://www.getdbt.com/product/semantic-layer-integrations). -10. Use the URL in the data source configuration of the integrated partner tool. -11. Use the data platform login credentials that make sense for how the data is consumed. - -:::info📌 - -It is _not_ recommended that you use your dbt Cloud credentials due to elevated permissions. Instead, you can use your specific integration tool permissions. - -::: - -12. Set up the [Discovery API](/docs/dbt-cloud-apis/discovery-api) (Team and Enterprise accounts only) in the integrated partner tool to import the metric definitions. The [integrated partner tool](https://www.getdbt.com/product/semantic-layer-integrations) will treat the dbt Server as another data source (like a data platform). This requires: - -- The account ID, environment ID, and job ID (which is visible in the job URL) -- An [API service token](/docs/dbt-cloud-apis/service-tokens) with job admin and metadata permissions -- Add the items above to the relevant fields in your integration tool - - -
## Related docs diff --git a/website/snippets/sl-prerequisites.md b/website/snippets/sl-prerequisites.md deleted file mode 100644 index 0c100c299b0..00000000000 --- a/website/snippets/sl-prerequisites.md +++ /dev/null @@ -1,38 +0,0 @@ - - -- Have a multi-tenant dbt Cloud instance, hosted in North America
-- Have both your production and development environments running dbt version 1.3 or higher
-- Use Snowflake data platform
-- Install the dbt metrics package version >=1.3.0, <1.4.0 in your dbt project
- * **Note** — After installing the dbt metrics package and updating the `packages.yml` file, make sure you run at least one model. -- Set up the Discovery API in the integrated tool to import metric definitions - * Developer accounts will be able to query the Proxy Server using SQL, but will not be able to browse pre-populated dbt metrics in external tools, which requires access to the Discovery API
-- Recommended - Review the dbt metrics page
- -
- - - -- Have a multi-tenant dbt Cloud instance, hosted in North America
-- Have both your production and development environments running dbt version 1.3 or higher
-- Use Snowflake data platform
-- Install the dbt metrics package version >=1.3.0, <1.4.0 in your dbt project
- * **Note** — After installing the dbt metrics package and updating the `packages.yml` file, make sure you run at least one model. -- Set up the Discovery API in the integrated tool to import metric definitions - * Developer accounts will be able to query the Proxy Server using SQL, but will not be able to browse pre-populated dbt metrics in external tools, which requires access to the Discovery API
-- Recommended - Review the dbt metrics page
- -
- - - -- Have a multi-tenant dbt Cloud instance, hosted in North America
-- Have both your production and development environments running dbt version 1.2
-- Use Snowflake data platform
-- Install the dbt metrics package version >=0.3.0, <0.4.0 in your dbt project
- * **Note** — After installing the dbt metrics package and updating the `packages.yml` file, make sure you run at least one model. -- Set up the Discovery API in the integrated tool to import metric definitions - * Developer accounts will be able to query the Proxy Server using SQL, but will not be able to browse pre-populated dbt metrics in external tools, which requires access to the Discovery API
-- Recommended - Review the dbt metrics page
- -
diff --git a/website/snippets/sl-public-preview-banner.md b/website/snippets/sl-public-preview-banner.md deleted file mode 100644 index e97527d356d..00000000000 --- a/website/snippets/sl-public-preview-banner.md +++ /dev/null @@ -1,7 +0,0 @@ -:::info 📌 - -The dbt Semantic Layer is currently available in Public Preview for multi-tenant dbt Cloud accounts hosted in North America. If you log in via https://cloud.getdbt.com/, you can access the Semantic Layer. If you log in with [another URL](/docs/cloud/about-cloud/regions-ip-addresses), the dbt Semantic Layer will be available in the future. - -For more info, review the [Prerequisites](/docs/use-dbt-semantic-layer/dbt-semantic-layer#prerequisites), [Public Preview](/docs/use-dbt-semantic-layer/quickstart-semantic-layer#public-preview), and [Product architecture](/docs/use-dbt-semantic-layer/dbt-semantic-layer#product-architecture) sections. - -::: diff --git a/website/snippets/sl-set-up-steps.md b/website/snippets/sl-set-up-steps.md deleted file mode 100644 index 295253fb994..00000000000 --- a/website/snippets/sl-set-up-steps.md +++ /dev/null @@ -1,30 +0,0 @@ - -Before you continue with the following steps, you **must** have a multi-tenant dbt Cloud account hosted in North America. - * Team and Enterprise accounts can set up the Semantic Layer and [Discovery API](/docs/dbt-cloud-apis/discovery-api) in the integrated partner tool to import metric definition. - * Developer accounts can query the Proxy Server using SQL but won't be able to browse dbt metrics in external tools, which requires access to the Discovery API. - -You can set up the dbt Semantic Layer in dbt Cloud at the environment level by following these steps: - -1. Login to your dbt Cloud account -2. Go to **Account Settings**, and then **Service Tokens** to create a new [service account API token](/docs/dbt-cloud-apis/service-tokens). Save your token somewhere safe. -3. Assign permissions to service account tokens depending on the integration tool you choose. You can review the [integration partner documentation](https://www.getdbt.com/product/semantic-layer-integrations) to determine the permission sets you need to assign. -4. Go to **Deploy** and then **Environment**, and select your **Deployment** environment. -5. Click on **Settings** on the top right side of the page. -6. Click **Edit** on the top right side of the page. -7. Select dbt version 1.2 or higher. -8. Toggle the Semantic Layer **On**. -9. Copy the full proxy server URL (like `https://eagle-hqya7.proxy.cloud.getdbt.com`) to connect to your [integrated partner tool](https://www.getdbt.com/product/semantic-layer-integrations). -10. Use the URL in the data source configuration of the integrated partner tool. -11. Use the data platform login credentials that make sense for how the data is consumed. - -:::info📌 - -Note - It is _not_ recommended that you use your dbt Cloud credentials due to elevated permissions. Instead, you can use your specific integration tool permissions. - -::: - -12. Set up the [Discovery API](/docs/dbt-cloud-apis/discovery-api) (Team and Enterprise accounts only) in the integrated partner tool to import the metric definitions. The [integrated partner tool](https://www.getdbt.com/product/semantic-layer-integrations) will treat the dbt Server as another data source (like a data platform). This requires: - -- The account ID, environment ID, and job ID (visible in the job URL) -- An [API service token](/docs/dbt-cloud-apis/service-tokens) with job admin and metadata permissions -- Add the items above to the relevant fields in your integration tool From 4113f882dd26f043edd1fd70ade408ac6fa3705c Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Mon, 11 Dec 2023 12:59:55 -0500 Subject: [PATCH 091/165] remove link as redundant --- .../docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md index 395ad258b62..11bd25a7020 100644 --- a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md +++ b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md @@ -8,7 +8,7 @@ date: 2023-12-15 dbt Labs has deprecated dbt Metrics and the legacy dbt Semantic Layer, both supported on dbt version 1.5 or lower. These changes will be in effect on _December 15th, 2023_. -This deprecation means dbt Metrics and the legacy Semantic Layer will no longer be supported. We will also remove the product from the dbt Cloud user interface and [documentation site](https://docs.getdbt.com/). +This deprecation means dbt Metrics and the legacy Semantic Layer will no longer be supported. We will also remove the product from the dbt Cloud user interface and documentation site. ### Why this change? From fa6eb4ac4ecdc2f89f947ee2f801070bb56648ca Mon Sep 17 00:00:00 2001 From: Mitchell Date: Mon, 11 Dec 2023 13:03:40 -0600 Subject: [PATCH 092/165] update prod settings image --- .../using-dbt-cloud/prod-settings.jpg | Bin 63954 -> 51716 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/prod-settings.jpg b/website/static/img/docs/dbt-cloud/using-dbt-cloud/prod-settings.jpg index 1239ea784de5f7baded90147e74fc81b9c4a6e6c..04ec9280f14561a762dcf8b666ac395365967099 100644 GIT binary patch literal 51716 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

d`(yTc~4gl7NFc`7>77(r&ska+hRnm zN_w5~f}UfAjX-=a&etbKdewy?6xAzQPZ|&AN z4KNyLS0sZ|B<7bfD&1FhHB{wAou5p;AzB*|5JRg!0c?|mU+#RD;w$-7nq4ZR=8(A@ zB4I}@(SZxL?7y&^TFB4vls-caDcM)`EX@k+lf^Ch>Z*m5dV@#(J(&*SeQ5&JVKULH zG1G-Q0{r@~jfy6X8*Yy4R8GiT)9a0CK}7B!`9XooFk}C|02XJWXD^%cO^7~o7gT6! zYC4o)yns-e&3A=`D+#T=5YPn#3+OYB`XW_@U|14Kg3*pm(o`QzFVVtLvW?n++~pP; z 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 From 36a30c0ce3d0176bf2ff7633deeb7593e2810202 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Mon, 11 Dec 2023 14:25:10 -0500 Subject: [PATCH 093/165] fix broken links --- .../docs/dbt-versions/core-upgrade/04-upgrading-to-v1.4.md | 2 +- .../docs/dbt-versions/core-upgrade/05-upgrading-to-v1.3.md | 2 +- .../docs/dbt-versions/core-upgrade/06-upgrading-to-v1.2.md | 2 +- .../docs/dbt-versions/core-upgrade/08-upgrading-to-v1.0.md | 2 +- website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md | 2 +- website/docs/guides/dbt-models-on-databricks.md | 2 +- website/docs/sql-reference/aggregate-functions/sql-count.md | 4 ++-- website/docs/terms/dry.md | 6 ++++-- 8 files changed, 12 insertions(+), 10 deletions(-) diff --git a/website/docs/docs/dbt-versions/core-upgrade/04-upgrading-to-v1.4.md b/website/docs/docs/dbt-versions/core-upgrade/04-upgrading-to-v1.4.md index a946bdf369b..240f0b86de3 100644 --- a/website/docs/docs/dbt-versions/core-upgrade/04-upgrading-to-v1.4.md +++ b/website/docs/docs/dbt-versions/core-upgrade/04-upgrading-to-v1.4.md @@ -48,7 +48,7 @@ For more detailed information and to ask any questions, please visit [dbt-core/d - [**Events and structured logging**](/reference/events-logging): dbt's event system got a makeover. Expect more consistency in the availability and structure of information, backed by type-safe event schemas. - [**Python support**](/faqs/Core/install-python-compatibility): Python 3.11 was released in October 2022. It is officially supported in dbt-core v1.4, although full support depends also on the adapter plugin for your data platform. According to the Python maintainers, "Python 3.11 is between 10-60% faster than Python 3.10." We encourage you to try [`dbt parse`](/reference/commands/parse) with dbt Core v1.4 + Python 3.11, and compare the timing with dbt Core v1.3 + Python 3.10. Let us know what you find! -- [**Metrics**](/docs/build/metrics): `time_grain` is optional, to provide better ergonomics around metrics that aren't time-bound. +- [**Metrics**](/docs/build/build-metrics-intro): `time_grain` is optional, to provide better ergonomics around metrics that aren't time-bound. - **dbt-Jinja context:** The [local_md5](/reference/dbt-jinja-functions/local_md5) context method will calculate an [MD5 hash](https://en.wikipedia.org/wiki/MD5) for use _within_ dbt. (Not to be confused with SQL md5!) - [**Exposures**](/docs/build/exposures) can now depend on `metrics`. - [**"Tarball" packages**](/docs/build/packages#internally-hosted-tarball-URL): Some organizations have security requirements to pull resources only from internal services. To address the need to install packages from hosted environments (such as Artifactory or cloud storage buckets), it's possible to specify any accessible URL where a compressed dbt package can be downloaded. diff --git a/website/docs/docs/dbt-versions/core-upgrade/05-upgrading-to-v1.3.md b/website/docs/docs/dbt-versions/core-upgrade/05-upgrading-to-v1.3.md index d9d97f17dc5..5a381b16928 100644 --- a/website/docs/docs/dbt-versions/core-upgrade/05-upgrading-to-v1.3.md +++ b/website/docs/docs/dbt-versions/core-upgrade/05-upgrading-to-v1.3.md @@ -49,7 +49,7 @@ GitHub discussion with details: [dbt-labs/dbt-core#6011](https://github.com/dbt- ## New and changed documentation - **[Python models](/docs/build/python-models)** are natively supported in `dbt-core` for the first time, on data warehouses that support Python runtimes. -- Updates made to **[Metrics](/docs/build/metrics)** reflect their new syntax for definition, as well as additional properties that are now available. +- Updates made to **[Metrics](/docs/build/build-metrics-intro)** reflect their new syntax for definition, as well as additional properties that are now available. - Plus, a few related updates to **[exposure properties](/reference/exposure-properties)**: `config`, `label`, and `name` validation. - **[Custom `node_color`](/reference/resource-configs/docs.md)** in `dbt-docs`. For the first time, you can control the colors displayed in dbt's DAG. Want bronze, silver, and gold layers? It's at your fingertips. diff --git a/website/docs/docs/dbt-versions/core-upgrade/06-upgrading-to-v1.2.md b/website/docs/docs/dbt-versions/core-upgrade/06-upgrading-to-v1.2.md index 72a3e0c82ad..cd75e7f411b 100644 --- a/website/docs/docs/dbt-versions/core-upgrade/06-upgrading-to-v1.2.md +++ b/website/docs/docs/dbt-versions/core-upgrade/06-upgrading-to-v1.2.md @@ -34,7 +34,7 @@ See GitHub discussion [dbt-labs/dbt-core#5468](https://github.com/dbt-labs/dbt-c ## New and changed functionality - **[Grants](/reference/resource-configs/grants)** are natively supported in `dbt-core` for the first time. That support extends to all standard materializations, and the most popular adapters. If you already use hooks to apply simple grants, we encourage you to use built-in `grants` to configure your models, seeds, and snapshots instead. This will enable you to [DRY](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself) up your duplicated or boilerplate code. -- **[Metrics](/docs/build/metrics)** now support an `expression` type (metrics-on-metrics), as well as a `metric()` function to use when referencing metrics from within models, macros, or `expression`-type metrics. For more information on how to use expression metrics, check out the [**`dbt_metrics` package**](https://github.com/dbt-labs/dbt_metrics) +- **[Metrics](/docs/build/build-metrics-intro)** now support an `expression` type (metrics-on-metrics), as well as a `metric()` function to use when referencing metrics from within models, macros, or `expression`-type metrics. For more information on how to use expression metrics, check out the [**`dbt_metrics` package**](https://github.com/dbt-labs/dbt_metrics) - **[dbt-Jinja functions](/reference/dbt-jinja-functions)** now include the [`itertools` Python module](/reference/dbt-jinja-functions/modules#itertools), as well as the [set](/reference/dbt-jinja-functions/set) and [zip](/reference/dbt-jinja-functions/zip) functions. - **[Node selection](/reference/node-selection/syntax)** includes a [file selection method](/reference/node-selection/methods#the-file-method) (`-s model.sql`), and [yaml selector](/reference/node-selection/yaml-selectors) inheritance. - **[Global configs](/reference/global-configs/about-global-configs)** now include CLI flag and environment variable settings for [`target-path`](/reference/project-configs/target-path) and [`log-path`](/reference/project-configs/log-path), which can be used to override the values set in `dbt_project.yml` diff --git a/website/docs/docs/dbt-versions/core-upgrade/08-upgrading-to-v1.0.md b/website/docs/docs/dbt-versions/core-upgrade/08-upgrading-to-v1.0.md index 6e437638ef6..99de91c6565 100644 --- a/website/docs/docs/dbt-versions/core-upgrade/08-upgrading-to-v1.0.md +++ b/website/docs/docs/dbt-versions/core-upgrade/08-upgrading-to-v1.0.md @@ -70,7 +70,7 @@ Several under-the-hood changes from past minor versions, tagged with deprecation ## New features and changed documentation -- Add [metrics](/docs/build/metrics), a new node type +- Add [metrics](/docs/build/build-metrics-intro), a new node type - [Generic tests](/best-practices/writing-custom-generic-tests) can be defined in `tests/generic` (new), in addition to `macros/` (as before) - [Parsing](/reference/parsing): partial parsing and static parsing have been turned on by default. - [Global configs](/reference/global-configs/about-global-configs) have been standardized. Related updates to [global CLI flags](/reference/global-cli-flags) and [`profiles.yml`](/docs/core/connect-data-platform/profiles.yml). diff --git a/website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md b/website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md index 19fcc4b9eda..2ca81a0daf2 100644 --- a/website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md +++ b/website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md @@ -92,7 +92,7 @@ import SlFaqs from '/snippets/_sl-faqs.md'; ## Next steps -- [Set up dbt Semantic Layer](docs/use-dbt-semantic-layer/setup-dbt-sl) +- [Set up dbt Semantic Layer](/docs/use-dbt-semantic-layer/setup-dbt-sl) - [Available integrations](/docs/use-dbt-semantic-layer/avail-sl-integrations) - Demo on [how to define and query metrics with MetricFlow](https://www.loom.com/share/60a76f6034b0441788d73638808e92ac?sid=861a94ac-25eb-4fd8-a310-58e159950f5a) - [Billing](/docs/cloud/billing) diff --git a/website/docs/guides/dbt-models-on-databricks.md b/website/docs/guides/dbt-models-on-databricks.md index 489a3c28467..907b677cff9 100644 --- a/website/docs/guides/dbt-models-on-databricks.md +++ b/website/docs/guides/dbt-models-on-databricks.md @@ -104,7 +104,7 @@ When you delete a record from a Delta table, it is a soft delete. What this mean Now onto the most final layer — the gold marts that business stakeholders typically interact with from their preferred BI tool. The considerations here will be fairly similar to the silver layer except that these marts are more likely to handling aggregations. Further, you will likely want to be even more intentional about Z-Ordering these tables as SLAs tend to be lower with these direct stakeholder facing tables. -In addition, these tables are well suited for defining [dbt metrics](/docs/build/metrics) on to ensure simplicity and consistency across your key business KPIs! Using the [dbt_metrics package](https://hub.getdbt.com/dbt-labs/metrics/latest/), you can query the metrics inside of your own dbt project even. With the upcoming Semantic Layer Integration, you can also then query the metrics in any of the partner integrated tools. +In addition, these tables are well suited for defining [metrics](/docs/build/build-metrics-intro) on to ensure simplicity and consistency across your key business KPIs! Using the [MetricFlow](https://github.com/dbt-labs/metricflow), you can query the metrics inside of your own dbt project even. With the upcoming Semantic Layer Integration, you can also then query the metrics in any of the partner integrated tools. ### Filter rows in target and/or source diff --git a/website/docs/sql-reference/aggregate-functions/sql-count.md b/website/docs/sql-reference/aggregate-functions/sql-count.md index 42ece4b124f..d65c670df90 100644 --- a/website/docs/sql-reference/aggregate-functions/sql-count.md +++ b/website/docs/sql-reference/aggregate-functions/sql-count.md @@ -60,6 +60,6 @@ Some data warehouses, such as Snowflake and Google BigQuery, additionally suppor We most commonly see queries using COUNT to: - Perform initial data exploration on a dataset to understand dataset volume, primary key uniqueness, distribution of column values, and more. - Calculate the counts of key business metrics (daily orders, customers created, etc.) in your data models or BI tool. -- Define [dbt metrics](/docs/build/metrics) to aggregate key metrics. +- Define [metrics](/docs/build/build-metrics-intro) to aggregate key metrics. -This isn’t an extensive list of where your team may be using COUNT throughout your development work, dbt models, and BI tool logic, but it contains some common scenarios analytics engineers face day-to-day. \ No newline at end of file +This isn’t an extensive list of where your team may be using COUNT throughout your development work, dbt models, and BI tool logic, but it contains some common scenarios analytics engineers face day-to-day. diff --git a/website/docs/terms/dry.md b/website/docs/terms/dry.md index b1649278cd2..ec1c9229567 100644 --- a/website/docs/terms/dry.md +++ b/website/docs/terms/dry.md @@ -42,8 +42,10 @@ Most teams have essential business logic that defines the successes and failures By writing DRY definitions for key business logic and metrics that are referenced throughout a dbt project and/or BI (business intelligence) tool, data teams can create those single, unambiguous, and authoritative representations for their essential transformations. Gone are the days of 15 different definitions and values for churn, and in are the days of standardization and DRYness. -:::note Experimental dbt Metrics! -dbt v1.0 currently supports the use of experimental metrics, time series aggregations over a table that support zero or one dimensions. Using [dbt Metrics](/docs/build/metrics), data teams can define metric calculations, ownerships, and definitions in a YAML file that lives within their dbt project. dbt Metrics are in their experimental stage; if you’re interesting in learning more about dbt Metrics, please make sure to join the #dbt-metrics-and-server channel in the [dbt Community Slack](https://www.getdbt.com/community/join-the-community/). +:::important dbt Semantic Layer, powered by MetricFlow + +The [dbt Semantic Layer](/docs/use-dbt-semantic-layer/dbt-sl), powered by [MetricFlow](/docs/build/about-metricflow), simplifies the process of defining and using critical business metrics, like revenue in the modeling layer (your dbt project). By centralizing metric definitions, data teams can ensure consistent self-service access to these metrics in downstream data tools and applications. The dbt Semantic Layer eliminates duplicate coding by allowing data teams to define metrics on top of existing models and automatically handles data joins. + ::: ## Tools to help you write DRY code From c4cdcda7ea7bb5bdbb38e9e5fd1f529445a954cb Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Mon, 11 Dec 2023 14:58:45 -0500 Subject: [PATCH 094/165] fix broken links --- website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md | 2 +- website/docs/sql-reference/aggregate-functions/sql-sum.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md b/website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md index 2ca81a0daf2..9625621562e 100644 --- a/website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md +++ b/website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md @@ -92,7 +92,7 @@ import SlFaqs from '/snippets/_sl-faqs.md'; ## Next steps -- [Set up dbt Semantic Layer](/docs/use-dbt-semantic-layer/setup-dbt-sl) +- [Set up dbt Semantic Layer](/docs/use-dbt-semantic-layer/setup-sl) - [Available integrations](/docs/use-dbt-semantic-layer/avail-sl-integrations) - Demo on [how to define and query metrics with MetricFlow](https://www.loom.com/share/60a76f6034b0441788d73638808e92ac?sid=861a94ac-25eb-4fd8-a310-58e159950f5a) - [Billing](/docs/cloud/billing) diff --git a/website/docs/sql-reference/aggregate-functions/sql-sum.md b/website/docs/sql-reference/aggregate-functions/sql-sum.md index cb9235798d2..d6ca00c2daa 100644 --- a/website/docs/sql-reference/aggregate-functions/sql-sum.md +++ b/website/docs/sql-reference/aggregate-functions/sql-sum.md @@ -57,8 +57,8 @@ All modern data warehouses support the ability to use the SUM function (and foll We most commonly see queries using SUM to: - Calculate the cumulative sum of a metric across a customer/user id using a CASE WHEN statement (ex. `sum(case when order_array is not null then 1 else 0 end) as count_orders`) -- Create [dbt metrics](/docs/build/metrics) for key business values, such as LTV +- Create [dbt metrics](/docs/build/build-metrics-intro) for key business values, such as LTV - Calculate the total of a field across a dimension (ex. total session time, total time spent per ticket) that you typically use in `fct_` or `dim_` models - Summing clicks, spend, impressions, and other key ad reporting metrics in tables from ad platforms -This isn’t an extensive list of where your team may be using SUM throughout your development work, dbt models, and BI tool logic, but it contains some common scenarios analytics engineers face day-to-day. \ No newline at end of file +This isn’t an extensive list of where your team may be using SUM throughout your development work, dbt models, and BI tool logic, but it contains some common scenarios analytics engineers face day-to-day. From f0235af5df5e5c6d7a8c3b67dedcd8e04d398a22 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Mon, 11 Dec 2023 15:29:13 -0500 Subject: [PATCH 095/165] remove version blocks --- website/snippets/_v2-sl-prerequisites.md | 30 ------------------------ 1 file changed, 30 deletions(-) diff --git a/website/snippets/_v2-sl-prerequisites.md b/website/snippets/_v2-sl-prerequisites.md index eb8b5fc27e4..99d8a945db6 100644 --- a/website/snippets/_v2-sl-prerequisites.md +++ b/website/snippets/_v2-sl-prerequisites.md @@ -1,6 +1,3 @@ - - - - Have a dbt Cloud Team or Enterprise account. Suitable for both Multi-tenant and Single-tenant deployment. - Note: Single-tenant accounts should contact their account representative for necessary setup and enablement. - Have both your production and development environments running [dbt version 1.6 or higher](/docs/dbt-versions/upgrade-core-in-cloud). @@ -11,30 +8,3 @@ - dbt Core or Developer accounts can define metrics but won't be able to dynamically query them.
- Understand [MetricFlow's](/docs/build/about-metricflow) key concepts, which powers the latest dbt Semantic Layer. - Note that SSH tunneling for [Postgres and Redshift](/docs/cloud/connect-data-platform/connect-redshift-postgresql-alloydb) connections, [PrivateLink](/docs/cloud/secure/about-privatelink), and [Single sign-on (SSO)](/docs/cloud/manage-access/sso-overview) doesn't supported the dbt Semantic Layer yet. - -
- - - - -- Have a multi-tenant dbt Cloud instance, hosted in North America
-- Have both your production and development environments running dbt version 1.3 or higher
-- Use Snowflake data platform
-- Install the dbt metrics package version >=1.3.0, <1.4.0 in your dbt project
- * **Note** — After installing the dbt metrics package and updating the `packages.yml` file, make sure you run at least one model. -- Set up the Discovery API in the integrated tool to import metric definitions - * Developer accounts will be able to query the Proxy Server using SQL, but will not be able to browse pre-populated dbt metrics in external tools, which requires access to the Discovery API
- -
- - - -- Have a multi-tenant dbt Cloud instance, hosted in North America
-- Have both your production and development environments running dbt version 1.2
-- Use Snowflake data platform
-- Install the dbt metrics package version >=0.3.0, <0.4.0 in your dbt project
- * **Note** — After installing the dbt metrics package and updating the `packages.yml` file, make sure you run at least one model. -- Set up the Discovery API in the integrated tool to import metric definitions - * Developer accounts will be able to query the Proxy Server using SQL, but will not be able to browse pre-populated dbt metrics in external tools, which requires access to the Discovery API
- -
From 3a0d77cc2dd9ec76a54cc3a249009c8dba8f162c Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Mon, 11 Dec 2023 15:45:55 -0500 Subject: [PATCH 096/165] Update website/docs/reference/node-selection/syntax.md Co-authored-by: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> --- website/docs/reference/node-selection/syntax.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/node-selection/syntax.md b/website/docs/reference/node-selection/syntax.md index 31e4f878ff3..d7d2136b325 100644 --- a/website/docs/reference/node-selection/syntax.md +++ b/website/docs/reference/node-selection/syntax.md @@ -45,7 +45,7 @@ By default, `dbt run` will execute _all_ of the models in the dependency graph. - + The `--select` flag accepts one or more arguments. Each argument can be one of: From 706dbb021e9335e0bbc7104d2ba5b7a624d102d4 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Mon, 11 Dec 2023 15:46:09 -0500 Subject: [PATCH 097/165] Update website/docs/reference/node-selection/syntax.md Co-authored-by: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> --- website/docs/reference/node-selection/syntax.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/node-selection/syntax.md b/website/docs/reference/node-selection/syntax.md index d7d2136b325..969db486c0e 100644 --- a/website/docs/reference/node-selection/syntax.md +++ b/website/docs/reference/node-selection/syntax.md @@ -68,7 +68,7 @@ dbt run --select "path/to/my_model.sql" # run a specific model by its path - + dbt supports a shorthand language for defining subsets of nodes. This language uses the following characters: From 0408a62be7f2d9e9ef21948b9fb3def422600430 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Mon, 11 Dec 2023 15:56:28 -0500 Subject: [PATCH 098/165] tweak --- website/snippets/_new-sl-setup.md | 2 +- website/snippets/_sl-test-and-query-metrics.md | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/website/snippets/_new-sl-setup.md b/website/snippets/_new-sl-setup.md index 18e75c3278d..c69cb23f425 100644 --- a/website/snippets/_new-sl-setup.md +++ b/website/snippets/_new-sl-setup.md @@ -8,7 +8,7 @@ You can set up the dbt Semantic Layer in dbt Cloud at the environment and projec - You must have a successful run in your new environment. :::tip -If you're using the legacy Semantic Layer, dbt Labs strongly recommends that you [upgrade your dbt version](/docs/dbt-versions/upgrade-core-in-cloud) to dbt version 1.6 or newer to use the latest dbt Semantic Layer. Refer to the dedicated [migration guide](/guides/sl-migration) for details. +If you've configured the legacy Semantic Layer, dbt Labs strongly recommends that you [upgrade your dbt version](/docs/dbt-versions/upgrade-core-in-cloud) to dbt version 1.6 or higher to use the latest dbt Semantic Layer. Refer to the dedicated [migration guide](/guides/sl-migration) for details. ::: 1. In dbt Cloud, create a new [deployment environment](/docs/deploy/deploy-environments#create-a-deployment-environment) or use an existing environment on dbt 1.6 or higher. diff --git a/website/snippets/_sl-test-and-query-metrics.md b/website/snippets/_sl-test-and-query-metrics.md index 2e9490f089d..b0db4bb520d 100644 --- a/website/snippets/_sl-test-and-query-metrics.md +++ b/website/snippets/_sl-test-and-query-metrics.md @@ -65,4 +65,3 @@ To streamline your metric querying process, you can connect to the [dbt Semantic - From b6a08ea56cf65415976626e9e3dfda0bc098cdd9 Mon Sep 17 00:00:00 2001 From: Jordan Stein Date: Mon, 11 Dec 2023 20:03:57 -0800 Subject: [PATCH 099/165] sl blog --- ...-12-11-semantic-layer-on-semantic-layer.md | 98 ++++++++++++++++++ website/blog/authors.yml | 8 ++ .../Screenshot-dag.png | Bin 0 -> 290575 bytes .../Screenshot-gsheets.png | Bin 0 -> 104987 bytes .../Screenshot-hex.png | Bin 0 -> 280943 bytes .../Screenshot-metrics-dag.png | Bin 0 -> 332777 bytes website/static/img/blog/authors/jordan.jpeg | Bin 0 -> 180802 bytes 7 files changed, 106 insertions(+) create mode 100644 website/blog/2023-12-11-semantic-layer-on-semantic-layer.md create mode 100644 website/static/img/blog/2023-12-11-semantic-layer-on-semantic-layer/Screenshot-dag.png create mode 100644 website/static/img/blog/2023-12-11-semantic-layer-on-semantic-layer/Screenshot-gsheets.png create mode 100644 website/static/img/blog/2023-12-11-semantic-layer-on-semantic-layer/Screenshot-hex.png create mode 100644 website/static/img/blog/2023-12-11-semantic-layer-on-semantic-layer/Screenshot-metrics-dag.png create mode 100644 website/static/img/blog/authors/jordan.jpeg diff --git a/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md b/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md new file mode 100644 index 00000000000..b321f0cd78d --- /dev/null +++ b/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md @@ -0,0 +1,98 @@ +--- +title: "How we built consitent product launch metrics with the dbt Semantic Layer." +description: "We built and end-to-end data pipeline for measuring the launch of the dbt Semantic Layer using the dbt Semantic Layer." +slug: product-analytics-pipeline-with-dbt-semantic-layer + +authors: [jordan_stein] + +tags: [dbt Cloud] +hide_table_of_contents: false + +date: 2023-12-11 +is_featured: false +--- +There’s nothing quite like the feeling of launching a new product. +On launch day emotions can range from excitement, to fear, to accomplishment all in the same hour. +Once the dust settles and the product is in the wild, the next thing the team needs to do is track how the product is doing. +How many users do we have? How is performance looking? What features are customers using? How often? Answering these questions is vital to understanding the success of any product launch. + +At dbt we recently made the [Semantic Layer Generally Available](https://www.getdbt.com/blog/new-dbt-cloud-features-announced-at-coalesce-2023). The Semantic Layer lets teams define business metrics centrally, in dbt, and access them in multiple analytics tools through our semantic layer APIs. +I’m a Product Manager on the Semantic Layer team, and the launch of the Semantic Layer put our team in an interesting, somewhat “meta,” position: we need to understand how a product launch is doing, and the product we just launched is designed to make defining and consuming metrics much more efficient. It’s the perfect opportunity to put the semantic layer through its paces for product analytics. This blog post walks through the end-to-end process we used to set up product analytics for the dbt Semantic Layer using the dbt Semantic Layer. + +## Getting your data ready for metrics + +The first steps to building a product analytics pipeline with the Semantic Layer look the same as just using dbt - it’s all about data transformation. The steps we followed were broadly: + +1. Work with engineering to understand the data sources. In our case, it’s db exports from Semantic Layer Server. +2. Load the data into our warehouse. We use Fivetran and Snowflake. +3. Transform the data into normalized tables with dbt. This step is a classic. dbt’s bread and butter. You probably know the drill by now. + +There are [plenty of other great resources](https://docs.getdbt.com/docs/build/projects) on how to accomplish the above steps, I’m going to skip that in this post and focus on how we built business metrics using the Semantic Layer. Once the data is loaded and modeling is complete, our DAG for the Semantic Layer data looks like the following: + +![Screenshot 2023-09-28 at 4.05.25 PM.png](../static/img/blog/2023-12-11-semantic-layer-on-semantic-layer/Screenshot-dag.png) + +*Good old-fashioned debt DAG, with an extra node at the end* + + + +Let’s walk through the DAG from left to right: First, we have raw tables from the Semantic Layer Server loaded into our warehouse, next we have staging models where we apply business logic and finally a clean, normalized `fct_semantic_layer_queries` model. Finally, we built a semantic model named `semantic_layer_queries` on top of our normalized fact model. This is a typical DAG for a dbt project that contains semantic objects. Now let’s zoom in to the section of the DAG that contains our semantic layer objects and look in more detail at how we defined our semantic layer product metrics. + +## How we build semantic models and metrics + +What [is a semantic model](https://docs.getdbt.com/docs/build/semantic-models)? Put simply, semantic models contain the components we need to build metrics. Semantic models are YAML files that live in your dbt project. They contain metadata about your dbt models in a format that MetricFlow, the query builder that powers the semantic layer, can understand. The DAG below in [dbt Explorer](https://docs.getdbt.com/docs/collaborate/explore-projects) shows the metrics we’ve built off of `semantic_layer_queries`. + +![Screenshot 2023-10-11 at 4.41.13 PM.png](../static/img/blog/2023-12-11-semantic-layer-on-semantic-layer/Screenshot-metrics-dag.png) + + *Semantic Layer DAG in dbt Explorer* + +Let’s dig into semantic models and metrics a bit more, and explain some of the data modeling decisions we made. First, we needed to decide what model to use as a base for our semantic model. We decide to use`fct_semantic_layer`queries as our base model because defining a semantic model on top of a normalized fact table gives us maximum flexibility to join to other tables. This increased the number of dimensions available, which means we can answer more questions. + +You may wonder: why not just build our metrics on top of raw tables and let MetricFlow figure out the rest? The reality is, that you will almost almost always need to do some form of data modeling to create the data set you want to build your metrics off of. MetricFlow’s job isn’t to do data modeling. The transformation step is done with dbt. + +Next, we had to decide what we wanted to put into our semantic models. Semantic models contain [dimensions](https://docs.getdbt.com/docs/build/dimensions), [measures](https://docs.getdbt.com/docs/build/measures), and [entities](https://docs.getdbt.com/docs/build/entities). We took the following approach to add each of these components: + +- Dimensions: We included all the relevant dimensions in our semantic model that stakeholders might ask for, like the time a query was created, the query status, and booleans showing if a query contained certain elements like a where filter or multiple metrics. +- Entities: We added entities to our semantic model, like dbt cloud environment id. Entities function as join keys in semantic models, which means any other semantic models that have a j[oinable entity](https://docs.getdbt.com/docs/build/join-logic) can be used when querying metrics. +- Measures: Next we added Measures. Measures define the aggregation you want to run on your data. I think of measures as a metric primitive, we’ll use them to build metrics and can reuse them to keep our code [DRY](https://docs.getdbt.com/terms/dry). + +Finally, we reference the measures defined in our semantic model to create metrics. Our initial set of usage metrics are all relatively simple aggregations. For example, the total number of queries run. + +```yaml +metrics: + - name: queries + description: The total number of queries run + type: simple + label: Semantic Layer Queries + type_params: + measure: queries +``` + +*Queries metric configuration** + +Having our metrics in the semantic layer is powerful in a few ways. Firstly, metric definitions and the generated SQL are centralized, and live in our dbt project, instead of being scattered across BI tools or sql clients. Secondly, the types of queries I can run are dynamic and flexible. Traditionally, I would materialize a cube or rollup table which needs to contain all the different dimensional slices my users might be curious about. Now, users can join tables and add dimensionality to their metrics queries on the fly at query time, saving our data team cycles of updating and adding new fields to rollup tables. Thirdly, we can expose these metrics to a variety of downstream BI tools so stakeholders in product, finance, or GTM can understand product performance regardless of their technical skills. + +Now that we’ve done the pipeline work to set up our metrics for the semantic layer launch we’re ready to analyze how the launch went! + +## Our Finance, Operations and GTM teams are all looking at the same metrics 😊 + +To query to Semantic Layer you have two paths: you can query metrics directly through the Semantic Layer APIs or use one of our [first-class integrations](https://docs.getdbt.com/docs/use-dbt-semantic-layer/avail-sl-integrations). Our analytics team and product teams are big Hex users, while our operations and finance teams live and breathe Google Sheets, so it’s important for us to have the same metric definitions available in both tools. + +The leg work of building our pipeline and defining metrics is all done, which makes last-mile consumption much easier. First, we set up a launch dashboard in Hex as the source of truth for semantic layer product metrics. This tool is used by cross-functional partners like marketing, sales, and the executive team to easily check product and usage metrics like total semantic layer queries, or weekly active semantic layer users. To set up our Hex connection, we simply enter a few details from our dbt Cloud environment and then we can work with metrics directly in Hex notebooks. We can use the JDBC interface, or use Hex’s GUI metric builder to build reports. We run all our WBRs off this dashboard, which allows us to spot trends in consumption and react quickly to changes in our business. + +![Screenshot 2023-12-06 at 2.52.03 PM.png](../static/img/blog/2023-12-11-semantic-layer-on-semantic-layer/Screenshot-hex.png) + +*Semantic Layer query builder in Hex* + +On the finance and operations side, product usage data is crucial to making informed pricing decisions. All our pricing models are created in spreadsheets, so we leverage the Google Sheets integration to give those teams access to consistent data sets without the need to download CSVs from the Hex dashboard. This lets the Pricing team add dimensional slices, like tier and company size, to the data in a self-serve manner without having to request data team resources to generate those insights. This allows our finance team to iteratively build financial models and be more self-sufficient in pulling data, instead of relying on data team resources. + +![Screenshot 2023-12-06 at 2.56.18 PM.png](../static/img/blog/2023-12-11-semantic-layer-on-semantic-layer/Screenshot-gsheets.png) + + *Semantic Layer query builder in Google Sheets* + +As a former data scientist and data engineer, I personally think this is a huge improvement over the approach I would have used without the semantic layer. My old approach would have been to materialize One Big Table with all the numeric and categorical columns I needed for analysis. Then write a ton of SQL in Hex or various notebooks to create reports for stakeholders. Inevitably I’m signing up for more development cycles to update the pipeline whenever a new dimension needs to be added or the data needs to be aggregated in a slightly different way. From a data team management perspective, using a central semantic layer saves data analysts cycles since users can more easily self-serve. At every company I’ve ever worked at, data analysts are always in high demand, with more requests than they can reasonably accomplish. This means any time a stakeholder can self-serve their data without pulling us in is a huge win. + +## The Result: Consistent Governed Metrics + +And just like that, we have an end-to-end pipeline for product analytics on the dbt Semantic Layer using the dbt Semantic Layer 🤯. Part of the foundational work to build this pipeline will be familiar to you, like building out a normalized fact table using dbt. Hopefully walking through the next step of adding semantic models and metrics on top of those dbt models helped give you some ideas about how you can use the semantic layer for your team. Having launch metrics defined in dbt made keeping the entire organization up to date on product adoption and performance much easier. Instead of a rollup table or static materialized cubes, we added flexible metrics without rewriting logic in SQL, or adding additional tables to the end of our DAG. + +The result is access to consistent and governed metrics in the tool our stakeholders are already using to do their jobs. We are able to keep the entire organization aligned and give them access to consistent, accurate data they need to do their part to make the semantic layer product successful. Thanks for reading! If you’re thinking of using the semantic layer, or have questions we’re always happy to keep the conversation going in the [dbt community slack.](https://www.getdbt.com/community/join-the-community) Drop us a note in #dbt-cloud-semantic-layer. We’d love to hear from you! \ No newline at end of file diff --git a/website/blog/authors.yml b/website/blog/authors.yml index 31d69824ed4..cd2bd162935 100644 --- a/website/blog/authors.yml +++ b/website/blog/authors.yml @@ -287,6 +287,14 @@ jonathan_natkins: url: https://twitter.com/nattyice name: Jon "Natty" Natkins organization: dbt Labs +jordan_stein: + image_url: /img/blog/authors/jordan.jpeg + job_title: Product Manager + links: + - icon: fa-linkedin + url: https://www.linkedin.com/in/jstein5/ + name: Jordan Stein + organization: dbt Labs josh_fell: image_url: /img/blog/authors/josh-fell.jpeg diff --git a/website/static/img/blog/2023-12-11-semantic-layer-on-semantic-layer/Screenshot-dag.png b/website/static/img/blog/2023-12-11-semantic-layer-on-semantic-layer/Screenshot-dag.png new file mode 100644 index 0000000000000000000000000000000000000000..c053e595b778b0e65e32ca32e12345f858f4e566 GIT binary patch literal 290575 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⁢1tyI%2H0;X`i2-@t&lBxh-sc_loIP?7#wKUwY&{H3g=( zG-0`~{z>5_@!alUPfn5EwShYX=v;x9x*prI4X&Zb_K_VP<3F0N60?VFHP+{bI|5o*~$>2V* z+b{3I0;IQ1iC0-Z&Uepo*K6_xuFzw?be z?L!ouyM^KqRKxrsy*D_L@C7Q$rzRoTR#K{s1;d^Xp%&`_Dzf*k&QclAPO8izDFgT^ zdI=7!a%})Zt`}JM4RjSCmHou{5i@z?k6WJ-Xo-No5GDBj-umsSvh#GJ(d7@PvmeEm zzsK~QXC|!VE(hv1ayNC256Us2`xM?=>!3|WRVLJFNe;9N7+kK_Pf|rhBCQ9sEBReE zsUUmwclx<6)U6a>k-Hk&v6ak+_j*g&-QVL^UeVMZX|BEJE*Piz>6BdGOH4ePnQoJo zk481taM=R*gKA=@N}T2qaepe_gyQ2Qsx~JSTVs(hBc6G_&uj=B-P-RLKWD7@`^7#l1QT40q;F+W6l& zT^M#rC;q%3&1RmP2hQpICcp zq5wr08V&C%)(psOKuH_UJ<}`Ql}jjGP#VMve`TX9J;wPAFt#Gtq*6a zlUMp5zhc^IR#dk3h!C9Xe{tpBb1K;@3VEcBv--qgHMiz&tTkN;CLj`m4#-9M&0qI- zolt)`FlJD(7dZQoeo{@I-TLeMpUPr8agTq%Jo6;eOJsfZ|5I-<{EfxnBsf}qK2~A2 zH<^GYCqntX(N*TryQbZWv$+Xi^f6JR+W;u**{-XmB%0(~=2|eHD$kR(4Wy1&UDDXK z*hb$;-f)aJ-k`)Yxsxnydb2k{?q87o?>+zcqa@itmFiNT>INYK=-MYE_zmr8sQY=; z!ha)NHOw!x7RM{6PKbM*YYJx)2fTCL%G3M2-NvUg!=9RZ)r3o|OPGr>rzV{TOa^+0 zJuGOw7!m^w8IRIHS<&LaZ_Tb~yv6gUBMUJVo!? zrzFNqb81KHC&SOQFoS&iZ|bwnDNc1)mg6qJy(%4rScacGe@DxqFf=?`_b}>*BRnC- za^4)08+`KGB-);D!n-s@&NC^Ibt2H-@KiZtL)r^83}~v%_KPnbsFrzuw)Yj+KUHS7 zl+^_-FTWF>RjKw2*m$V!(bvVi*17LKQ7#%qxtZ#}+JDoysIv0|BN8vHT=~83$CR~n zi|7FTJl~x=qxObF5nLfT9V%f0YgI*-GS!Ync9zwI8KG{L6NbeQ+2+}*CkYb6h3S`{ zjB(|EgPVw3jDrXPrkTKWY`LVrCbf?VNphZ)pUiS@gpu&Sx$0FP*1+BkpL^k7KyBwF z^}jGlsQ}B4ZgX@@2|_fZn4)S-;3Eh@*Z)@t(!nbZ>~-xjbFA|Ql3Bb?>%Wv9ESJuA zD%dD>DGUEMxBZJPfzv7R z(r;JIu8;ApT$3bgV;r)3Rw=DM|J=94HZiPtFl+)%88b`3zbK`aoUdSvE{wHuq$YGW z)($O?KAyOW9`<3o0;vOr*I={%gCS@3N8rFELHNwP43NZAFp=*EMlSl6Dh7AmFN zlfD06cZC$FAc;uy|1u2>gRjy{T1W3@U`Ueq>HkkwgO9tR7LYllAk@U>Q|C;HM!@r;PH8RLgz2wb zW9a$PkDxIRgwusK_sv_>yPe27V4_2Ulaa^sh=BCH)l=^HxFQ{-D=X@*3>M0iXz)k^!q^&mVMdLk>Ah9^0LzeeD5AnYn z{R((+6A2JC0ZJ$b>fPSB*HZtJjSJvzJa@PNb7CAB^5HQ+T#99XA@X<9Eke?N6866Z zjRw9ClMEX0!WxfDwz)0lKPbf&SSC&FKG)ZSAs*=faMixn+KrLEZ$e9_ILHs5u* zdg$^vq!)Q$>H%xn$L7YFtM7Df|I^BkOwLk|9Nv8Kx0>sH6z=!mY7V>)&>)UQfl@wQ zX=hhep9ReaEc>_U2>#b1jDrEIC;aOyaN7tCcUbUcgp+={trZKHpL3&4f;EUA9RU~;P?nn!|B z4jygKb)r#c$douD<3$quKQ#bhySf+hhcJpOR@fcXN+iiRs6l4`)0ywdjQzdvhLl$h zP`jsR>=lDA**dWPO&!6uuzl`-s_*|+f)4z+vX2#E)d2E zwvAYcdQQ&9_9}Q)I@^_hs_ji|dGlH>4KJZISN8n<$yCK5$gmnM2SI&|r7^x~mAWhJ z1RMSs=y4C+x;sgRy1tkvoM@DXPS{ZSz#Muz$_>@P!m)fWy#&&C1V4wu0OlDpn(kth%K7d>k%x1L^o00{`(3poN6?GrHKl*(SU z@MQ<9;sn~etM?kSm6BPz*h@kR?FTbo6t5R|Ihmg$5E^(Uj^4QkX6jTVW;8xvE>i(( zw5upyIO~-D&TxC@-K=)B${N)^7?bOPo8zGgb2e4qp3~ARBlZfI5Acyp8d+ zLG}yk|NJyq2FOjSY9-2NHWyRz%N=50HxJEkoGr-PfdNOS!Hf_1_hf$qWw_Yc=725* zuDSI)g6@RHgjsXK4KMa^wCT`b=Wwybv3Ye`SZILb7@t4Dp`Oc27LGcE zjz{sG10vM8H8Oj34c-G>?Ui?%D~!L3K2jJO5#^D{Pm1F-Zp8xfLME2c8DLO?^}~aK zs$2JJ>O=Y@F13LD)DzupwT2Vbc+Z0|I91Vr9CZiivYCZ@N!u6*BE;%{XcV`0ID@cMTRs0ko;=88>*aWS6 zMH-$FiGR-j7zuA6cHyM25P3KIl5!}wG#|$~PDddFn<>TIO3yZ|y)iq?rya^(OhDAF z9BW*)6Wef>)rB$jDKF%bG*_t;aq$==vZ3 z%X|FilImv$ugRzfTuwiQuG|LcTlAO>dqec%fS*@_wAVxQ4`OW&!6@IXc4DJ71f9|TT)7p>VJwn%9rVVU~vQ0sPJz^G9YCi z@;8wjqvQ&p^ytpk3&fKmusSitU~IwRI1PN>VuW+zt&$Uy3iAilgExJgbWh9f4p8n2 z3!Q5OwACRSb>m(2eCB?<{P&XmdxKUJ;>y0rg`Hrd-GhSaH8wMVN&uqkB#ro-sRfc3 zY%_f#B^DZB{GDdw_7FqKYGCt^?(&|_y0@LFONuYDv5fL{68yq0bz5@?kL%;E&l9EG zG;NkO#e?5Whxm10#boEX8hB|4^JsT|X8zCo?PsQ=R-6rUVUQ=Gw&HiT=6QmX3CO5c$2Vtx8q$Pco>EJnGwCyo{Z_J3AW>y;SAg_H&jQ^{{80W)Xxpe!( zO^F^0ZRbCUJ)%xA=MQo7%MUOGGN#Fe(Tx0#5B3VlW8-KN!-LtsiMyn|0-@HbxyGzS2u?7Gl| zCE_l5Iu5qK_r8XA4ABq>cc9B;oc|Zh-v0r1_zENhMSOrW-YB-EmUF9fc_rVK9}5sK z8g!1`$q2)pX-$$pi`UPI@T7)*kEnFK)wt={jgwSNhN$`jIU&!Jy$;9k zz^{g z12#Up8_Lv;c}x&*0A=m~NrO&Y0(J%f(uVQpM6q)XVEy!V_vf{;XyHGu$GvLY1=I$Y zN63mh77e{k#rOO=F`dOrcJdZ6oDE4B5_jT0(J0PZ&xC22V&kjAntIRE+{yyo?0PW% zA=yv-S%;;lEo!50KdhqLc5!1uR-k5pg-76SP z+7_`1S#|@LWR~~k1wertRGtqC)L^xlBm|b~{JSQfzN3zgv>CfU+FtjSE^0nZTxBWA z{X2i7dh1<$6W(*U$M@k)TWF8$UzHBKHoGuJv@M6rgOs1=;sZ0@=0 zl%(X$#+mXDz;5=K1^4zLZtsW^*+U}YM#i{Yzu&eOUm5uSCw;MXZeQ@{N-*Q7@t9!# zyGT@4YyPCa;fB0hjFJWI{j~syKtVNY7qz@*r2IZf#VmIiUq16IX`0@p!W_fIcZ?ZVBlHx{{0sEZMC_g)_zhxL0eW`wz0u23HD?lO_z7fY~{uX7DXc;r?Th5Tm zOvrMKO%DpKZJ$w~J__X4>Ke6yY<#%8-2NexvFKDqY zri3Zq4FhPMR;~!7m7F(`c!*#Xy>uVhi~+eQseLKiy&y2!#3c-k3i5JmCKNmpPdmR8 z_oKP$gJ^!k<&t2-_9|GI43ifg^2iM#utZ-DGQ^WGy60^T{5+|c% znii3zs+hhtWm$}LUD)G+ZQx`$nJQ9BEK!PsGCZv*FG|tPlvozl8CF}W+yPKyc+pK1 z0#!)S(t8R+e&CN5B@eVTTY)>_CEP){YMa7!I_-$ z^;^89$3PlRc|m|1c*+;rqhY47B4TneP7$38@MG5-kFt-_{s6xX4$#h^m{YBSTuyO! zO9rOvdEcXmU%e*x+PvnkWQ;W|rIk1x>wCZX0;{zH36r=uBKl2M%~nwPlb)dM2iBZ? zKJ%;6jxlCCErnEBw5Ykxg4ASxoABEo7TSoc+4-F|m=^j&!xTbTfNn81^acF~Qr z0J72QnV5ZdU4-!)w0rGe1yDrC$B*bK>9#6rDT$G-Yj^#(n!Z1tb0 zN#fn&xEin<;7iv1xP$BgJM zXv*WtD`-22ZrORw3M6NmW)eMiU%%iy_gOr=;Y`S>qHG4FRm&(P+6-IOSu~Ma=*gb(86;6pjG>|8wKMyVF<_ z%_On@F6$g=O@D!Orn=a&_<1qe)lGX4;90yCU`jnp+}E+C^+`u-pW;d zPN;eOzWcpJ6)Wp>2_WqL0NRLBRUKgyC%-{i{q7B?cV~0Bd)b*ce@IhFkajfdy$wAZ|geZ$jdx7oxc|v8MHH?NOtlMJ5^OxnlcB~c=7~ZhS;luYj$LMx( zc^`K@=&@Wmf#{V9F4@qSp+2(}#67UCUd^7vFPv-tG$#-V4|^9qxs)mNrLRt9a2M` zhBeWi6VQ7bEPaagk4O!3V%iLBnrp{R-nr6e?FpB=Y+inJe*!QwuYiC^=;M^fEhHn0 z$YvsiPHaH)Y_*(bF}HfB+0W7?l~MYkg)mfPQmVxHxYTc&7`zpn0J=*`^lyirI=;iw0*>vjRE>1k%~V zBAz_=Ei;!_A9-M#IREh?VkGr5`Uaat*coFOe!{Tf)k>w!`co?yPy#^+@oSZ0W1I?f zuk!Q3MzYiR6UgQ_EB9%h1O0V7>VfBL3;nv6;6(CUxKfTHm|NWQ=95`%aplp68&VRs z4;Tw^^JakPSp@L}rf*5taYXgJim0%P7nL>tux)88;pb5>&t8DUSz4h^{;l!y%7B|* zG=AL%7LGgqw&D)8I8I0^?i;zZqP^M zan-$+<*(N;0w&k7n&yk&_f3pG8L#9!Pc@(NU%Ma3*Ok8erMV$~>~q(pO*s~q!R_ih zRI1k9v~A$asWxAYP)-qr>D9d%jh>|<#e@ctvYedSPrD|#2le-*mUbh(x)nIVfbdEJ z`*05_*VAw-qu%H;IY*;+wp;|k%p%V3AxpvPx?{&AXq`>j0;Ou!Myi=eXHo?cCr|(V zUqB@ck;{Ma$LmnU_JJN3h+4=c9L`Nyaa*pRj~1%}TCf#UW^c`aDbmTgW&eS4{0C;E z(`CxA74}WzjZFOR)hPn^7oxZIh*otDcFD3Y0SMV)*Tu1{O5>wdK55tWT3g_k-c<=x zC$6L8{g15ow3mkyeSt*kpoYVcXTf>pfiw$zxr~03ja=twk%qB0RzKxq5%MK@$qJ2z z3emjAC8&}Mny4fc8{~dSwva@hm&hF*WeJ~-5RLfMGfTju#Q%i{CI8lk3V2bv5zD_z z9EJv^Tq)%1(%3^#4yAQGQ|z8Sqk+W18T#07NzZ7oj-0U$RhF|U&SVG7B9%Y~j(WHv z8&yFuBHi&_Di|!o+jGlL-*ht`+biWB*B_z^9c5#KdL`Vpt3-BF4(?s1pR7LQc}R#O z|G4nQj;-Lg9E~YyD(zE-{_j9K)3BT@F29UT-L;K)wJ0@vLR3Hto$z#g7)TSkOk9Nq zOsXz&P%45!W@j?>v|^}je)MB`Cq;y)|@C*elDcbz9sh!B9C|Is_)qei7GVyIY%((f&vp%>{`7TqY2U5CtQqnlsI2i{(6v+Z+3P3 z<9r!e{+k?T2+PQ~sR&_S6Q&ZJ4Qk{XoR+w^{RTW$Af&ia1}v`J|R9ti10){_KWd^3DFZU-Ln`|nJmn2S9+|Lwy<@AJHh-|ISBTQRHr#JzbbrVFaUy$NAnI0T<5QfYroXljk} zMg1t~7JIiVFb6_Qb8dZkWp2&)@lk#N!xelzFqSGQ4?K923~yaZZ2{ zs1)7h1JBVLX2-+TG>)^2i^y`&$#XpUNPWfz2`@0{^>ai6!cDgU?ZEYZgoZq911QcN zVst!a4S+Yt&6v&Bu?4dtrvOebq`~d8BB$1~OZS;moi8S%?oM^V9_p9hXp$1a-Nbf0 zch|-#(^yw6W%s(QnBb8?5M;scp_OG0^Xt>XKYH51VA4vY+mGk+eM>7lWL_)HI^AoJ z%_ILR{HnT3d1X4snjRtb$>u}-`w#1ra}0a33c9f=kXDyfd0*K~2s{wpaG-svzmaD+ zOkw(iVxBC8#9)1R`-)+dwkgzByA8-ZdRZ!{orc9t`kZWclQ-0IqD|UY{y#bdiw-;I=BwX{v9j)w;6QG~t~<;>k6FY>9Xu(;6uO z4YL!CC^&6dn~#t69|`Eb*zy><;Opre{Q3S#jF&0FSj(q4z7pb0?XS>+QM(n4`Zq5j zfmQVk!@C|LN^9!5^|baRM5slZ^>V`+!im!lg!3tH_E4vGyCleEeElR-^-{Q34s)Sr#QNL^Ju8>F%D^HpHyGG^)XmO~ zOTyp~^9lbg1I=|6G4GcLXb-c(>}0pKAFKy5+DY^ldLjzHf@pA}a^kLPI+jbU18v?5 zlRR@{Plal{A|?m3M62SAI#9h>q^D;FG0B+jd2Yn^O4+}Sxh`ok>R@pZ-Vxj?*o{7TuYyNVU2tCuNCn9l+dC*usOxf z+LN`sW~TFm*O(TqvRi5nblR;+1YBdV8+R+{VzqVi!sEkt!dOA$;1UJrKkKtFHBPWoV5%)n8L%bV z4XOR^1!Dh6k$?xGdkBW+=U~$Uxxu)~@ z0eEtudGvSb`H8+{`b*E;eZ1?R_+rm!?7`i`1@VYOsuH(Ze)zoGMu3-)69_`HHWs&0 z12)}+sD)pZmMBNU33o{fPB-sa&noyG{65lNe(`s&Z@wvj6Zw?!k@|os@0chAI&t?- z>PYU>9X^AmF?6_1NnkJXLl$vzk?`jxv94p_L_QsX(pV{TH9%W$v^_zL`YQ>_7yTfI zD9risFNzYO3->B*-o4F9^k*qFlqZuKZ2+oExJ58;-Uh|=XwXFpl7 zDUlSd?OsI&HW{iRNZb6)K<2P5J9rtTIr>XQ+4o#Bn`fNi!U}6GJyg91HzF+aY|1?w znV0lNG{URiq(8;S(?A2Di!6_`D8ch=8^y93a};cU$DSwMe(YqJS43b+zo;C+Hj#>< zwH}-AgoKsWhl)bbErGr783k)E$~e{U4%<&ZZ#eI<_L}eNV47{j6h>wZXc3)o2`dI%y$^kkjpNJTJyC4qKx_*V-R&0 zC1$sPYJpV333C6fYyP5~@RV%$t5e*!>PrCCS^6^tvqx|%Lu*$=s|SS1$LS&J6zC#` zax&;$>!ZbZBn>r6gTnY?j=bS{i<75`?x4yw(cuxNPcplRUH>x(d5MgvHnUMOTlb~j z6jkPeT#~`P#LJxMJgy<1=LJMuMr_wXlV|?tx$ef4@*^NuSytAB#`$p#Z%^3@BWZ|^#RFWG+MtaBO;2nqWiiW*D6 z-|^uB#Eguu*YhvMwhtR%^zgVX@-J(5h=ZI%Ba(|GsPA5`wHBqSE9ZQ6c=-4|j7p8Z zub%I=!~-EFtDp${Jf+9stsG5XW;ODDwfMR?$kGRD$ELk1TY%_4$73=)SKOsocCB>$|eb#7yZKO*~A_MM>cObD~MtM+{W$Z_Y z-n{!bTlB0F@B=PG7^?pa>i*k@7>%x2%})G0fqdRM3EqJb(BX?E6r6k=15h`autosX zFoxl+7+d-B-PFtid~=`tlz(=mpfBENHnU)G$qHt%cRUE&8!HgJUX3Z3Lriqixvw*B z?jrfkL0hg;`X2%3uXf)Su3xczpkD>>zgE~+vZxKKPjiU6N5+-ZQ2@AZNA0TvHqYBO z6{YCF_Z#sdXriC2f`<$1i>JbFmQP-AwYp%WPMajl54B{z^9pSgz@=^zHDqtHtMdwYH6kVdb-5G0Ho?^}`&MQ}W z0-Qt)%9ZV8Okp0|t)3L;ldv)}(*YPT5Svkg0h=Hj;n`25EhP90K(=^qb!FLoqb!yf z6-Is2jiXZ0(KgXY=MeM>5F&29qQ6tuBHV zzqq|GmJ{HdO%#80h$4W4k4OToA$1!hQ<|8l@(;ih#BXbntLx#=mwT7@VSf2Jw8}b` zY{usfefR!f6y0?8_XNR08&`8uIgfrQBo?x)T1{09x2rB-W+=1L z>1O-3TXXDIkG}pZu~2MSz1(ov6;|`-tHv}|>zcFS$U=A{WOt#oq*r-FiH(OA{ni^FeU_xGqy>Nz|f&x+zs;+;n0WF(2Mc#Y1n+fca z)C9(iNGX9RSe^8fXs^K|`^EfZz$^}qI*H-E{W-rhU}Y_T+&K_?*4Bd$6tCg zP?7`p*F5`N@!rs&!H%5K__R8u>!1qi#AW&(n{ul3SZOVxO_75w%hF2+~i*Ez)OQ~^-;Kg*;VXg+|u13ZVI}1%kEqi+uC4(v~dtD1RyYyL*!P z*osA~___eqSBRzNO+O{F(pg)VRLfCDR!Pg#5`q11xCg4Cns6T{oQ>Sb?kU^I$$291EW zXmX!Mp@iA7tcQA(TpfB18aJaM19TZ4z)mAUY0FFfn!pbIcKq25+NjfC`HmK4Iwr>D zoSzKOe^_`vCQkK2_i0Sn`@*M5UZ2%naf20Dco#U=8i(gu%=8uu-B9QyOGRt}r`Ipn z)Jzi4S23&Ry^&L%nz_K(cHfvbJbP?DS5W8u#Qq5qy1ZA?W*!s6Z>>X5c3v9#{tX>j zrs{Q!fq5@UQXQRmLw>J@0~EG0Pb#iaU#6wLkU|*)6QC^ z5R*`X5SA_sY@VdDr>slOB_0D3)5AZ$BU}>-l)0T>*@qdeVmgcOCdCLU>KM^Yg$T#G z7d>g}BS{wFf48jfl>8B67*dse@33DPpg)?083vv@dZWG(rpbbdec;zd(7d5$RdfXJ zW#i;gi`@L|_@GxlzP*%?yx9TJvhjZnl3Qn@=~w;i0a$^l7Po*Tk|wCW9Hx1KwzWXGi$ydlcG*=`K#*+Z7BZ{z>}iReyHuL7qj1 zKsxM{9P}PT)xFDpR+*bn=XqE))xD^LQ19l|mydZ5j{cGDQ*o~MUM*6Y@_ubKP-khW zkWgr8F}i(Y6ij}^k2Mm|sQUV1; z7dhXZ(&Svz-E6-|atXyzp#%JF0*)H8pbW*6W}f-@#HTV5?R@!&@Z!ddXJe{hH>gJ6 zxIG|uq#7M00Ck=0F=HNATeQsxRZXSdkN{tzCfcjYM}5Tvq0`SPmakcMSI0Qg;Cs@t zAc$#8Z-}?0{1T!JE1W%oqf9@Q(R^}bSCiPFi*TfWMm7FnXWcV9@|1ZzW0C)DSPy~L zYb#YERH(qu!p^kN$0gsTsn>~(_oNs%KRxeejc`XoN1J$+z(_S|@OQ_j!*6WJ3o7Cu zM(uZ+3UB3*(dzdUfsQsp@>NbEYaDX4BY@fK{kx=bke^qS5EXUR3^LZw(*0tE}ks8EYwOe22juV>}pLfho1I{X1qv8vjdO{$2PHB#|!vJ zcBBV$CajoUSthjh`t7D=-@~5;tmvXO9pp3zxPI&LIOOG*-<2=kg^KIXl5VI5BR1Ox zJJRhF95X@lRhQw+;5*|z>n68u19Ahq84V+_dF;5C!%knYbjjf_))gVcw7pFxFsqY+ZU5E^$%G-f*^~BjN9y;-1~7)uh{hOp_UZRz z)%yy6nqM}Niy{whCzo9aKFS%9K#(X4pA(m^(0qik)X!U;wu45!@b`;FD@mgXCHYrI z@31c!)Sm&i{OR!^fy35AdXE8lZM3Lj{?1(919SU7e*lg)r(=@aonBH-;FaR)@N`Mb zm>ptB6jb$q2ED1y){Hv84>tx@gk)L3>|8VThw)O1-TZ z44y#**Px+pa}KdIPWEzaT5160!kN7W8yjg`CDt|k=-7T;;gxZx2dH)N`UH5EFeSmf zi@!v%ekyQbkL}!B%L4Z2Hti701h;(;qe!+t%1wo6qlKT3DAQTn=uLAEc&Rz5|~VLf*(- zo|Eq;>mfSYl)}=PXJCEz^a_P{wZdhPc1EK-iXLI9B7aWdWp2(2E|WvfJw}WQivrnD z)AWNj{5|@b3fiHO;*!C^gYuFcvnq4(Hu|Vw?8E!ogV{oX17Yrl#xqJo>-z=lg1Dmr zj^djaldhb9Ccpij`S4g*%2Mg@8?u@3c1oFU;#={hKziEE>)MnPlaAFyqsM0x_ZBr( z6Nje0Lnaj)8*reBZ#kD98PW;~x@0gFX2>qrJ~zhToB}(vM@4P3`1s;irzLI4zg<>^ zuB}VGdM`#$FUtXG#w{wJ2Q(T#e-D1OV#kB2DXlMiZs^F|(v^@3?$S`So9ZA1d81<> zoO)D=xmPjfOZ8;iSFT&5q3FWpJ~U1jUjm(mL)))!=AfOxC_p1)9AF|AB;xDh5*v>C zitL4XKy4w$aG%CU(7Z&`Y&`S9dV6Y6Sk29ccIs+v+YmcNrV<~^^0BrYO$Bqn~_|6oN4dvBGpv%9Ds4>G>jvvXvW zRKv5xF}*NNxjH~5h~iMKj#FQoduj4P59V889-F(?ewzXZeZ7u!7&2;7L{G73;5Z&l zQnKd9ryhCz(Glyjgm>^g{m@#TFaHUEXPkg)?W03u?LWV|)hAX&zrO^tJw$~6kFf6!r27B< zFBDRQq=;Kt$*k;guT+Gr64^=F*B)6{$_SydGA<$6dlSkm<6e8*Yl~~|eO-Rf+q*vR z-k;C6_pg7t>E*tj&+|Oba~@}>wk5}2!CeOW#_&ntSSFAu9a%-w9^(OAyCNn?o(J4t zs>rv7<@8#U)<8Sx=yk4cdI=BnV`uzMBNP1v-k(2#7M!mbkp7y>{jpVo{K%>37kwHJ zjC?F>WFSY=?wHZ0v6I2Y!h^514Q|E@+@v5F#v*tpUdtb!BFMyV*vsDY4 zXT31d%<7Zd_nZ#6>w?o30S5BeekC@RF~?&cOhyO1F& zPQ+5K)mbCxIwUT3aoEe&I!}eyA-jI{ki6c=Mvl28Ykyt{HNH>n$=WB3 zx__SU$bZ+<3L*yo2FdhT5))jh_0R$gIU(E#hdR2B9-f54x-um4%y zkuwse!hNuHm(#XkAKdDDK@*)KEy#Q0RU?+8luD!Zhd$;Ee>7t1*y)gmD9_fJ>fK;u z`zT8uyJf~j5uEQEN@unr-X*8^YWg_IvqwJ4e(lTM}5YLg@Euk}e)OW6tzk$@)cv^6*L5Wl>l{ib~U7Vz~9r>7u^1k@vBE_1zcRlLk*dUFcgnMdJBnOKlNGQ;6?9Q~a*jve+P zI^;@$+*5(N=SO^8;>ZWddm_qBEr#XxK*e2fH~P~LCrbwHnQJC@u0oBof`?q@dO$X? zw9oj=c^(0f2zcxu@O9jk(0aWik9%#i{WMuXHU0jcKYL%6E7R1XGs36b8ya4xb7GE9 znWiO}?F}CvNG)iL%RJtpjSKoL?nuw2a>q6!X8K&LA&9hvdhRgR%SanORp)mkCeXbN zVa#K;yOLChuLu$tL9G>0OMU1OX?lrTRDvjALC(}t-8)r35Yr=n0wjXJljd0*Ce*T~ zXuq4^5_U%Ia~09SI7fCwM9A@Yp|LJk1Ko4pB!__Un8+gzrLVugdKxXR-^KLp`LDJ# zKfM>C@-hiPhJj>9H9M%8M4AF)O6q&T~z zZg=HvC zn_6WB2ZLgh>=oOr(v^!_CwmsAN}E{wq};1dHkLP;o^c!WUVYX~Y)x@xa32(9anaze zKPY}Y2=dI>74Tpp*_%_Z{I_>yAY@Ohcqf?ZABHL`DoZYZCJmF?c$s}G02R6J7p(M2 z{4jaJ$G7uEETBksf%B*c>-FK{36)px0yiIcl=eRg3i%esh4*-RZyJoRRm=;7FJAOA zU}Tdpw(UNl^I$_Zc5GRb?e=sa`oMHaYINaJ^ZvnL?8#0AoA>8$xt$^-Bdbc3zkXdq zmiFYS!`BUOWe5zDX~?Lbe13k9Qu#G!gRHvXbs4u@MJfe~nIpGJSK|-%MNoE2-{Kvd zw_3}$!k0XtU`peB>wK$AJQ6vuvv3YR;e(>X$<^JqJ6Fy^Ho!}0+X4O0G1%xIeZSHEkDI6MhFhD?@1;ISi9TKlI8 zM{)UU=5oHM=Ga&vtr)uX**O96fMn#e8@QzLZTnio1_2XQ?HpWv44tdw^_Mvp#!7i~ z$Bs3sJQFxDLz?E}*e8{Ba}=$x*`GhUQ6iir_jJ$$DH5e2QHv}?q;$BsPxFJ>1zBZw zNeDaT@otn{gIKdaUgvID+G2H&(=lJvA{(`@9fURQ1}2~$2TrZ>KtH0p?C zuid2HsGyP^_00--7J=d`M7HnWpRV&K;-UnIa+zGsrB}z05jeI`sjFK6zxz4yT_BX% zO|07GmW>B`TuIuJ=`=Ng+8>dmK=M43*PxJjKSfa_e-mYqP$&W7hTkUbb*jX(`^DRO zghU)XNj%9?7{ zyVk!<@IeQ$wMaY!jINvXZjAHs_`kj5|^Ze_Z{k9**u( z){Pz*kA#agOZR%uNr}`<)*%^dUz06+oiJzXt9KD@+Sx~?W{WZcs34_1-`{gyM)Gi3 zDf2jLPB0_S+-E(uHorP~V>-+Jlzrz$91rK6o}KC0E`HUH?D{ab+nVF!J}5<19<*F8 z!xQ!nZ%IZj$6iu#CIeWxPOF06bY~#;GE26{q@K9D?O3OELw;U-(oTn>?xNUb$H?1V z${#D&ItnUALm)tE4!&#H&wh~DEPUIs>e>HbN9%LNgJjtw?WPbYEv zaWcb`uxx2AZktH^C&df0-mjX|BLbdl4Mei4M+gG}5a#FDE+0^u+1ss6cnV zQ=_#uijzHg7Z~@MZj>WpIwK$SZnO{HOg-t_GDP z&nRk3Ic8HKX~h|HB~d>(^Cy#nDMq{`#j;;C#`5W#8sHl_7Z(LoUgGw~ecToHlE!P; z@rs2SWsh({fF~Ik_~g*?gk-$kBNG?sqTZDn#fEqFxp!o!VcQIqq7!>V(yXPyCCnX! zNAM&|`DARFh*(Zlq@fYs;A!0C*|(G0x8j;9PW8rG9ZGa~a)Ktwr zmv%e_l~{RCAOrFE)@sf(~GGu^@pD@nj)PvRd|XeYQQPY%yE?<%esBlk>4rUL}ucl_#FY3Ih zYA<)|BhYQ#(qeK~xoe;gQz|dOl*~3{w{ubJbnwkS&eeHSt@iYSUrhJfBzrsGsoAgA zMLOa1vtN%=A;};edzr@zU_B{Hsw8W&Q6-=uL`&^@@zvr&fq-C-io0P$6{v9Td-ggV z(wKcSI-N}0nH#TVajO|6*CBPM0`oPf8+zU+w*$66{V{CnOrismj*sslGK=VEjg%I~ z#o65#9CKbhyqoWE`b}X=bbP5Vfm=FLcryrbYOdB&Hz#4L7KM}))f>~Ud6&%CV{aWX z{K)t!qiCB59HwKApLgKq>#MnZu4Y=tIxY#J+f5)Wc^L**K{4UB7=mH|^qeFAx9!&8 zN}K8(6GpxozWX-(@$-r8pi)VAt2oz_&rnWFGq|PuU~O!$U#_N~)(Jc~WibI82!WC~ zL!9TdyvOw%_p+g8+)>VPVI?#MvluAq%I4a2yPl?K>#V8yxO_t?tPT@?hVdA+#PoaW zC6@bMOrayrSoq43wD!_SU)0Muo-Dnj8$`+d>wfsjoPHBCek$tnMhVsc?S&zUcZU&>!0T+hs#(I(Hid!#(PBJp5 zwH_@PcIP)3lh%Jaj|nJ)7X{nn8!+ut?zV0YZ%MY*w8X6F`U1ApOqx8?Q&%vL z0$XoTUcAW6e1z1C#zd<^?dCe3)4S?Z~6zu)ET7J-_<>YX;5n8id;QrW~Qz)W-V z6Q}z<$=8hxJX$eA$Lfxfcv3-+QdVv7+QH*ix&6%b!KAEOyxL0lKAG&AAZ1VKV%sAX zG-(6N)yKE<&*$%3V4b|utb0t-7B1lmq^`B3oORiE=^HT#mD(&KSnbh}a(YfYA0-E< z;Qb7R*1=rHP?LzpfP0pnQD2-_&O#-cwZsw|a-R=d7Ya3J)N_oM-s=y`?<-$y z4uazsNZjBGcG&Vx>BMKa+g zAZG;r6w}v#Q5hx?lWVbFo-`AMH7qhy7pq=sT~R3CchZX&-lV9n8|zn}I2Ak;M`b`A zyQ^nD#AKO8yP4b4aBr8XW|knI4mA;C85jrEJ+y8^pboHPE~ipXm2pT_5*5H1?t9~W zfyjnkR|rEA!FJL+A7WgS#%ED;wh6)HZ=naWC+BoRS*4G?c`CWzuoH!O?i;j_Maku+ z)Fm(brKv&0r1c%O!jYOoX5QQ7FCgUqxphCFlN(7)RP%Uq1CJAQPCN>IcSZjUJjj

6p^bJV`sOV8TV{BR~{Ln`@uF;#pfnz-iRJq0R@r~ZDGAN9IgIa+(+iDxs$Ml1=2Y*4m zyo~$>5E*zfu}z_-Os(L9f;P)A1*^(D!fZV9SyfQXp}7Iw%nyw?9&>YA@2a;7^la8A z2&g}{fP&PGc`((g4L1rbr-FwZWqWp=$cGIGD$NpVLm{$E1`H@6qnC?#z_vhsN+DM} zbL^x z9zzaocuB8Z#c$Z`g9@-E7Q8Zk*lwg5(g)@&?7cmtX$>077J^<7PywN^cj6D8^j8xW zZ2WPcB-DZmai4QAcdGy5r$YxBDl$nMyc0urA;&diWq%^6J4(#gxnlm_toiJ^p+ zn{)%Z`9e#vK1@n!Q0`S-f39)%)y=uDbzACu$B-`!lM6?qS|v^iZ#z+k!KnY1>wv?S zZ=6qmD&khmZl~zW?WEGj?E;O7nnno4uM2fdn3bW1U3M;=+7&-2+q;QoXuP*Qy;HWG zvUfQ^_p(0f`uhRO`k_pP=B{H&jzu^TnWal-B@`> z0WKOQ9bBSd*aka`TLs=dy=LxG9J%ve(+>Y%eGmrfb=LzH)Vun+4G^ zo&4jTBSJ>gJJ%+04HOH~=>O z?R27pyv{3v=E}qQz7GBjCk;zk)0?QC4D(I^Xa2U$xA|AyN(qf!m#(!r} z#PU;F(Xx^}@wlH(rG-15XBKv3N?bFvDeK9>Z*W`)47J+6g73ybjdf-$0CD#e3tZdu$(!y5-(=;m3jH(eFgo_II? zAr06O0w_ZD9q6|zY?}vFT}o3CmR*sz#xlPhPIQQ5x}b7}WS4uH*ZT9b!%vcXS^`lz z=ERwe)Gb}0Wo9L4sHugYS)6Q%irw$5h?jQv%e+>>a2B+Lz%G-%0tf>Jzv~2HO>`L2 zx^M)5rVN?$+3nieVsi)jPh#Q4v!wT`9*B9MMRd<)9pwckB5U!YTgk8=^T4{OLFr6x z&1t``nx&9~fQ1Tl^^Wm^(DU~48{QVnGR7&O&U}PubN3G_#EF9;^Y_9~)K1dv~u2iaftU(B1u@}AQq%f#>)BtR#%8JePwg*+*~e4;#N; z)aAy|$iw(?*~7?VQo(3^PahG4bTDU>TpDkJ7uE+Tk;8yEy-KnORS8op7fV4gN@}$l z?p$_4O-d@9VHBxoV-kotiXWh;KZexG(Tlc(!`mV+<}(G#+)XSzKGQEfpL0|VmdCQ9VixveLX%axgk(_3{k(4waOeH#3Nk3+33p4Ii` zg8TQ3gl`c|Njp^YULaN`wbf8ZQ$VP8GV^boDP}Y{rpYj80>Q3N7`=ORa8iPi?M00Z z37tp{^WLk{dLLrwm6(3H#Zkdq1(F#@h+RRKcXiTr!bZeEQ>?=TGJJRXy&K-%P_eZ8 z#7sax9*lW|)X=>b&wH+VR+x8vjMhZo+hv9qsr%m-^E629?UJ3=n-jjdfBq2YH}Lw_ z^qwy%bwRR<1Yhf7kSfePmDSY@I%g+~Bdzhw3YMJh7i=B(rCKO8J*a2>gj-zRZm#6Q ze!g&HZG~0>r>@~CpVSAU&m&_A{3W208~ZWVI#951_IoUzbAD zm5Z}Hm7<~-6cZv28Q0wZeg>aCuEs;W`r1oog5K_jmmM$3-X24msvu2LS=O^pez94q z8tR?j7`dMiXcs^)QJI(eO0v^LIo2ql-%b+0Uv4U4Q@J7?k_6j<)$!tD~d4 zitC&|@2GMkDDN+T;bii46qYAb7Hyt7t-`LGWd=q{|B^+6Ul z&^1yJMk99dyM6PmnmpwaCjCft?!>kFE>uxds?^Dx)OSKXxL%u7uKTS5K7l&kVjcM|VhYwS1bG+7^&SHoaAnc&$Uj-c`z*o}Y3!^10 z@NW6OVsNP}wf1+T0(?-Hzd&+64dzrYOEF7%lqpwC40|M=1iY6=`pbzYN21T?DEB=s zfBfaq-^GP0*=2@roB;{!uL8q_^g5GL6>`6HsMpepy8kf9%!UMLI-4{i(q zb-GV^YPilk_cc4BTreVDE50Q~Jwq>|o-cwQ_m=)8g9JGb&!mp7Zdj`9S3i!|8q--l zWz~ha{SuFvtIR7MPV<%{J0Ics3%$L`xR_f5r|2aFbPKve20Uv7hfTKzT0+D&@MG0E zcHdD6G+SQFEeZY8EG2v~&gJwJ$QIghslPPe`zw^^9j#m4QZ#^f@(EezF(lWWPu(Hg zdpRY2TGb|!ixvKa?RPd9+7VdC`tu9H?K>;v`$ndSrGCM+QmNG$yLn?$Rqs_(|gAx|!fwuj99Co1-HVi-bw3VCg zgUbE197kAgC#@sV-^A5m^4=uZditRD=iZ(ANuxHo_nAJx-w@l@c}d_mOp;BXc5^?R z(>f+EL_1QfVVsk8r@Ra^i%}R4r;7S;yh7!zZO2|YA!|j?qXZnF6D7O3{J8yVA%k+; zNmQjJ*9lxLqcu;k;XBr*9}0&QeU2gggjsTfBAcV;01oAWwN7x%mbPsgk$C^wYzMo* zh1HZ?dcEZ$i~A)17)Ryr(FQ%(Ak9*(sdhCCNKl2XPcLuJ&k4|Ig`g7dl!M#GA^7~) zZSw)Q?P&V#KycfhasW~9(bp!5X)s07P8lb+mF79*Ru5ZO?FMSd;?CN9vL4xKW~>uJ zRW5SsdQB+T0eTo@M%Dj>W6BEed4ABNv-^_JZ}ea}nRb&mR>T^!Y`3kLqMkN+nL&gf zzEdvrw*G!U`&hWOo|p?CGPI&BuVYPnGxLo}q{m5ek`0yj{hqoC<((g*g|e1x?IxAn zg3HRbcm5L1UYd@Z=nDROcX%9~ef3sRm7B9`0t0KIQbt<`lh(S`j@nOWwMzFAK!?0Xoj2T&~x?kFw_Woq~~?)RoeQlBpW5+ z`8~QriB|DGB|Dr{Pa(`tl}TmhBjwyG?T{uDEao&mf+&0nlN=@=GIRK5$>Pj*7+d2l zVf{<5+vh$nA+Ve0wkB;yD3MOQUgcX+xp@IFiLQ9h=_|S}6DQz%ll0js#T-&m_?kFR zM)Lcw2iTsjrClFw+r)+>-Y@JUH@By|ua;PiRi&QRuxu|F!w1!yoL^p@ z`DEC?P*d3~mt7gJ@6nR5hWl>?h2;35pq~FjL3#6^A61fy6-H*QynTQ9j%2nBxNTPB(IWu?Do#1$os`NW44h7U>?+;#apHA&6>&r8*UyMN;&|b(p?#WSSGo{F_@rWgl!&3-SQrJ_ z#Q6Q>J0BF?|zw#WQ? zfytz694vfU=llOb4eZ?t@C1w*BelXfGr4pg>0P>sz!$@)bfocYQozkfJGc z0%TL6$7}P-A>I5(zMu@o-DpJH(+pzWk#uW}ihqM`NZu^sLnb1pQ}5cgtujF$vIt6r zgg06|Hxf3Il#Q7;5`?Xn$MO;|rI28p1}>t)tsr3qR@p9crm7fTi0@BoKl>-iS0w?Ry#%DgCbLAbnoWm4WJr!B6=5Rd*-|2o7lB2U3W@4SLCmu&g zYb{WM4AS zCNmg*K9>L?OcuLq?$laK-{9T5c)M3`t)9R#AZ>=*v#_QC)wiEcQPCGe3?0Hy2oJQf zX7a&A3&Ihy9Uq(JM=-P2T~Hm|uF7M%WO7a2YXcpwS}d)-kh)xV7C4UR8L zFiF6MKx>k+f)+A8gC$r>$wZZJ@krF{OvM`2NdWJ<876v5_~HGD6h?WAPab8Z!)`nt zpQ$0x!63C8CpP269culX-#<+1^}pxlcAMtx)%unfiUQY6Ti?-&P=MJS%Ha*)WpOm~ zu?bkoJNGjAZ1NgD_DVke4Bc8bPQ0Ye1udCrT9A+0YpytuFVa_>&RXt^lk8Zmnp71T zPoC>n&8-qLR8@s7=OMlBRzCOPk+dn;;K~wydWAq#!ID&r1L`p7H|IgizGaVm0K$Ua ze1ZIhGTZx!>@0lg?tuo2jbYep(0GoD%b~}MU-+4#jwBO>#p(@DQ$v!W(h-E@DG3^8 zk=B-*m7ER{9}Sv89g~=OhoWECXG2n>l+^1cDJpdrgW*E&HOoE4l*KIDGrVhZY1mU$ z6Igo{r29h~FF>K=^@u$T8jY^`G%IU51gmn}%73C1_1z{#eJ;loCbq_lHCy9bLtyM= zO&54n;)ws62i;3TB_p=x^6h=~9rnvhmVlL&1JBe9MI}5Y|B02o{W#SCSzNxyyy_a1 ziM*u-xcguYc3`})u#ivhp)G@smj>&%wEpb>@aPW zg6^(NA(Mc=6=brmylXV9hUR5=BaXH3T`3`}Xg0)9R@W8{+DQ+DPIVQiJgQu+$hN_E z^y@D@^T32I-YAxIYZ{$kvlkVe!6Ld%%=QfC7F5Bem&zA(N)vS6VV&W!`Po9`ZZ3g@ zQ*7a_HB1Ytg&0+7GfNXx+*u|$Hgn5ng``dk%jOiWXE}rw@zPVKFojjRs;*>*yXtVw z$o)bko)~{cTx60t_ecz>J%-niV7k$i($?AE2=-Jf8O$uCqL|SZ*sCyDy_@2ONVl1F zu)a%>Hk=R`2whDtS1`mt2SVe-cDE_|2SU&6c5dFULkKN#;a7x3wNK#HS%pVL?Z1B& z3sYW5-J*(Ug;#EJxsCBIsOm}ZD-VP=Vq-=&%waKW>%yhkoAMQ;2@cqT1f32!4FEVA z?~^)0#!1cw9qrE07&;H-Yyb?x`i(m@<(1I!@X-VbiP?4@FX++ziVvM#H*{$_c?I;S z3bTv41=ChkcWqTb?!tv3w}GC`<&ls5gVC9+LLGBU;)^XMTZt1{BhL>8%kX5#7yc55?-eKj6v;Hq*iYZ}fFA9U&4tG7y0>+EX&$J1+9wc9 zPY6cj%r-XpB+kki#|jZl8@MOe3+{NeS-`3rMK&J8piPZE1qorQ2j!5&HDN7Ggm>OH z75TZx@<>OWr#x{xRmKaz#(Pu4$8NpfFUO3P)3q`;+{SqKvYlBvU6GLB@m%^TddPQ} zC4|Efx-~l|xy`@|7RX+E<>vxjDS)`P+)EMn=5-*oyNH7vY&SWte&h0=@RN&SzGTYB z#B6C$zqOsox{KCc;0j4UW5JtgXIeNAI-G6xYT98hgix=oEm5QME|xdSc*{D6bw0Hh zS7Po}5pk{bCNB0qvp3-(EWrBpJDK7S+1#f(D&|c(dM{b$uREfoYdlaVPFZ>>PTp{R z6V#>9U|#t4!+l=q9Z7g(Jl3vHF$-%h7V`XCg)9mA|fNV6FuvYly9 zFiq+ncLH=RtvWqU0Ix1B2~Sv^sp|MaU}MIOxmKLkdW9W6<3(DRozk*^UPrm!5jnPkk#|HpH95sl$}5rY zSY(=EwPW;&GgteMo?w1t`E+{*H!VE4Pk!Csc#65JmV9?~>_**OxkE|`1yZSF?A%ZK z+7Yp+C_jrL@IDCf91h0+(zSlFz!8*~5mx)tb90yW5{IKogc`eT+*jAt@85cRdrwm~ z@c&Y)Kio%Zs$`0k4|%xdi#wIWQfs9&k`D9S;fV z{W?>fl-1VqW=f*zO|GQE<>8Tj*Y&hQA`himt$V%P+`zOnw&E)DaBgt>faF~|pTD4P z_YrSHLq}g_q(~h~61QIQRUn%9KkaA9gcfye3i%egjBEPOM$Hvjo_Aan>ei$9OFXJM zkf~6DZUdvA_nlX1LN?!u-b5J)zNPqm0~T*(gd0kG?o^(;;{s2(2#xw!>6~KD_z~Cn zgbI-7sJ9~arR=flu6w&Zw+jVF&fzbpX-v;^x!z58AxTYejjw{d9Cnd#Ja7|G^xtE1 zTzvL|^rwl{by93a-gIDjw2u?9U1cMz9L;?RyxH5HOoiDir#LJBV=%!FazU+p&Z*bc z2Zg*9GxwA37D1o)js#ilsiI34N{5=MS+`OGulav1f8@jdn@i-7cMO*r{0qFeE0mOX z#h^GR(=n5SI!iNt;>;Kb4R5olWs6)F&(g&7DE2|_-wmXbnLd~DW#59#x}0DgyBF$j z6*S~rpdM>ghS_o3cwpQ>z8Te$Q(V=w_{e>6bHI)7=#JlCr#JgtLy@oIo;=bS@ z>4m8-Sn5A@h4L6M9N*_t4nA!$oCibW3t6i3ay=cx+L%-Glo+um7*&frw+8B*;n;k; z=35HCY_3ZRqZnrEQh$hNGj;y~RY_L}HuAXcBKt+0y^k1h^8Iof9`bIy*gkMk7t*J6 zv3t#qMXSrVZ!Nl{(r*ba{k_8_T7iZnh2qq3Q%bFKPr1cZevG*bL#|1gHAs9?DJm%u zAth~o@ceVqt)>2GoSqrafq<#*Qeo@~J@=ad?HdjmlS3)aTlYmTI_4x?W=s9)3Js(H zlXzR4XBhghd5JF;is(a&LAJsDaMm|OM~e`hx9b`sMimupHdNtKimZ`B`MuIfy%4zd zC8^xGWislbqxDP7hm$|Q>@gXu$FyDL{uB&56>I%i-fM02@tZ&&+3$K}$A|xV=C9qF z*^&fb4%|@Bu^*R#^qJYNB|Qb#hLU6w^NvoPK4JEiB|GZ);d``1r(V4HWnqRUKkB{j zU1%&r-{84OI|5t|`!Y1w#*_R++T2w($DFxYwzZ#YxJeetuWxeA1XW;~;6AYEKKe!w zb!9}NUj+L&`Q{2G8Sw<8DWo>*3!OKdN_}n(d-x;kB9M3*CcQoi5Z!g!c;ot$pC6F~ zjkxv=yIDqpOoDrx-PZ(kMxa#-Oa#j8!A81tLXu4*de4@8dz{^}fH}yIKdC^eN znaFHU*_Q{Y4hnRi+l_p3rCLqzU32%&cG=C6wmb0rg#FsbDfyE~a%_1P?TjpVIN=+g z)q&?$!9HQvgrD~!u66n)#qSL1ck%p?Msh{blgxE#JItK$WtZk7hbgiys+q^WjWjkj z6oBtjB)kIKiDp2CeX(p*yEYOJ-_@R&Y|(lk?Q&BSxDBNb#%p5ok8xl7DU8i2)sOi;NV^DB5^Sbf-x3FyR=YMh_)=s9G!tbQ(DBjJn2qF#po~UtF42X(u z5pRpq3kr&cRIaz*s@8`8@N2QM2jjKxx^nvb%3b;`;PKl>(8K?{y>(La$FyHZLcG6U zW!|f&XxL3=a2P$*+rO#-Q3nTtCbLLKzU0x##tHDFw<9=#AkCr&%S1D0tW2DT*D2ajfay?R7vu=0&``urkSe~bE)d+u(=r9_c z+<9$!tABXp2_8ufT)bPD!Sx z+e;ZWPNy&PBO+gBum75nANT_PBe(vqj}pFzF5*y#$Mz~cP=`0bDmM7%GA9M`4Aycas zgB80Z{corHUY(*oAdX8le(+L5^0|NPREG5AC64nsPgu0lJw#=S)yRN645R3_m+VuZ zD7!;TbXS3{CW3w0x}_J@mw)NQKkaAZ`ordMZq7Fj-R4I?oKXGZ{O`$s;J21<9O@{9 zgnS_JHo5SutX$ioqQJh92!&K~3LXdi=7{}W&;N&j6_MbGb0*O}zYEzz-cuaU_Oe{( z;@{plPkEROrErP1@h??Tu6TT=N6WBSxKFPOy80%xY)+%d6J)$t4S#YKF>621Ecj67 zmU;PCqVek@4|4Q|DqUQLqf3b%p6F|)Iw18AKHZ)e-4!6`0a~6ffY}?RVD^SCFe;N% zuP)^3m3Iz5oj5Vql^Pm+PWxrkIsGm znR56EEMnMmOFvf9#kzlU+rkTsX0c{EnZaU6^p45RU?9a~pi^n4m^8=x&8AdBTH)&M zTyCr?UOVrhH=n_${<*c50kp(imT|;-vL1&RUVTK~^E^allP$i2#({@OK@Rto%~ z>Uq=6`GJp!h}_N8n9XZXmq(We7Lu(WPh`-~r(TUgAs&ZXT)XUKVdG>or(FiJBei1m z&WsepimhOv32uB_^fj(??mHG<-I{5z_qeECi--z~65{_-G4dDP3OXIFitjk1UNik+ zGqt$5xHBW)Ee{f0xN&D5%=Fy;lwQ_;outAPC~T(9RF7g96EhE=A<>#fzvWQ61K$Du zLIzBEXvNCVe)kK)ODsrSxyyj>aJarPQMY65m0<*P)1u#7MV8{C=H-{dh4$}y_4zw2 zgbvHkA`@u1@ahNh=%Wx7G=K4R=z=MjVmju~(zligHVQmB%lfVO7@A(V|)O;IGBR7=?vO=`=B2{YOKeqeSGqkJ@AU@ z;gg{{*_hC&jBb0X?P9|4!@J);?GovFM!-_QU{}fdX(c2zDQ=^z3h!KtxLy)^;Y{t+4~4=<)@(yaWp~wm8E3;I#PwHhjlm z@GiPK-mn@AF@+UNl`dc)MZysS$&V__6-F>wsG@`-S+ln5nKhX%Jk>?o)wmMS-J#E9 zr&n&<%F6?*Dm+z^nV8)%STcndD&bBEzU0J@Ii{(^>|MgCD2}a;#crmbXv+w0C(t@c zSW_|$>2c7<#oT<`KG1jLmVj>0g{~LPTK?+vrWMgb*XJjmgmYqg1kK)0TGq)`2 z@u9i$jP;|%Lt*tXrM&mv6%t983u&%=c%?32cYoNV0HW+@{!pW3Gr93Pi=1+iXc)mP zN!Hn*h3Fayji<^;(D`wiG4+va8+#dkgtX-3Z>J2=xfVsRo;*nL8@h~)7g0rZtePfo zyn2Y#ghJQf63iayp#=;D=8=R;(i>bnPE4QDY!VTHi_8$zKMG9lVZ!_!F{1j!nAhs=BG$(f?GZ$;BdFs z=Ehzpd&%yp>RnimnO95)Vtuf$QaphG0XM)J7BhXEm26fN~3Z0AFy zOV?j*tnAr4gh3MkYb2Ny6S=7HAbB&j7dU0%csGPNK7FGcUPOz4`Z*E#FWq21^=vWi z;!etnQMQGpkZ8J{X?7{BdLfkwd`q#mn|xL|M{4$pFrp97URBu9-|sJy33#?#p-S?8 z^phxP+!W`11H&b+$FSzq-H+8po-y*>pDK4xL%}D~&NVq>W^jeCVM1p=uwuY!vR5hv z@Ev&QK&dJ|oe>_4fecAP^)%r=n7$vDzU|jr(gXig;lCq>ztqBp%=>pg4DyZFo~yqD z)E}CHmGbT7Ow-&f?)Na^|Lj!e{T$_a`^8;}^Z(2~{`o#pTq` z|My`jD*`whN2M3G`o91Fe&W|p!SP=)ZtMrO9}?g5s;Y+A5skm6_59;>gKvT29OE9Y z6z~6C(ccdW@p_BBS^H_V7`5C1X5#;x5pf^wtz^J+<*;zi`QMmBhUH}YF%;-k^Z?EQ zP?(dN>tovAVe7AbfRkq+g4DxONk2o%e|W8$J_((;B?m68>lg|+*0a8!^R4~UsW81J zTC>Zo=~;Yyd?y|}4kVh`fA93aKgvj-yu@h_G7kS^+Wq$$-mef10SE7{0C3EWTr!mZ zA66D8nP>_v1wDQozeZ`=%Y7d_O!+5XG&3Us6>2B+EshaO3I1h~ZFDc`#Y;;|WB2TS zBi=tg%B%rW4oW#GEBx#FgjFB5zPlpwq&b{==O$Pi`Twk~(UbYXuU-H@xxkExxK4=< z39F3@mq()SSi;6fZQ0|9FG5K2||=a;b!n zfmOH{6u>&&607Jw9OLH1)=m#7&dFQIE(+H0kT%}1JOk8uzv=?4CNH6RG0wyjk^LaQ zc3q2RGdVw)=((<2Q$kw>&v|SlG=O+*!bGkGCUp0s_Q>Iz@OtT**)Iqozn-U9|2l-l z2*RUEwRv5TJL?^kM`9sWbN7&<$%Ji>Qr%!&)Zz{4QjdYq-9v7Sb89>IRl)cd zL#-Mt3k=~=_ST`u=}p-VXz*AF#V4_1SH+f}UbhHX&MnJz^4fjUHHD~ZORh!*QZGE#z<#Su1}n@xR# zCGLpC?DX#;+6<+vMZz0`qN5lPASE@kZ12^ucj*fvl(|%zv0YAww^-hoOC)r>yN9-h z0Ea)gfu!g_O~-f%CyPt7Oyc$*LJNH9ZxdlXD2d|PTYEG8>g=`JC<->YSIZYKYNk2^ zJAxR#XBIMh9m8v8esy8w5EPSJXrXS%_sN2|BCV))fgpN|5n^t}|KQB*!K>*S?zCv(yXH5OT^yhW?!b@o7jfpjYP})4=nM=vg*Jxan4PKo&$0Z-& z#sUbX46s2u_Al|Z1qdY(!Ydf#2xfX&yDMYh?^kJ|vX`CuRr^X{DYLl%2;$WUCL@~@ zAok;coGsjriOmAm>J(???#}&Y#JYO$l%PimY(ubApAWANONqpl6t06y*+U5|9CNny z!5k;Nxe43{jbp@6z%WdrqS|v9ir}b>#OxJm(e#xlV!l8TEx@vF`3WYyy&A^Wm6655 zW^8+Ag%;-4lAuQ5&eti;B^}PKj_>~H`4` z3Cj{(RD5pC{OZ8I*)tF>?f8%>pdR9m5RN6Jg=*69JU51o@o99xJkP)1_eJkt+ng}% zxiGR2di)j;6=;Fdi%86E5Q#N~xy{T@+&}{9G83Im>0yWlKZ1^Ai{V#xtW(Y|$P09? zt9&y(0GSZ+ARS_*X4ZcR2n%>|7&H#L-+@0V&Ft|Bo6U#^yWHi@h-J6_rA4j-ysA8I zTJH7~kxuiznthXAQ~TCICq}hA2*i13jjYq-F^~jfV{k@OM?E$ZVh0c&A;J0w1E~ZJ zV19yEd!9CQz~&rGbRpK?*jKf}jbW4V>nUha{NQ8Zc_1@B?4oCL-v?iU*D0Vh=XNF? ztUEWnJO*emOhwuXi@}eK@)D*BAi$(RbYwCSOhrq>oz=O5X_8c$_^zi4q_RLrP-f%* z?FjmX%6=-{_CYds>v%yUS%o(a4)jUue^N)!*ofKSQVvi}dwWJB5TN=Ot$m2BNT={7 z%Gdg@$ereN+s^>&|0??S??kk$(^3AdT+QR(zf+0`1(XH{hlfMH4zQWN{k=WG-|F?5 z3>(n}1w2Go`+(NIJ^6w6Ph0xymmF#TgDLg&NlXJ0{s=SW1`^gBvkrFq9ZFex{zNiV}_3;W%;9a6+mUe~Y1^J1*V)@{_jXwO#h0YS=;K`8x z)MuRJSe_~>ollfcDDtu#ES*MHux`Oi7c@6*1^pU+Savcvx@l0=4eG(!tdI}S^=}R= zC>zV_8PmShZP4Zj|Ew)*`e(`>PWWMpKNH5SUHowWfNZhMJ#c8JkK5?F+t!jP=m~7v z+j+P22(!qew5s*#u9BHX=3e+&CbkJ7;lHw5Qz%=JrJtwT49^_Je4k+MkE$t(3OwGUd90bg>cD7dj{a7PzJ%vTX9R)3qhYK>oHFL|!V za{yPhnKa~%%?8TlDq<7oc5MAhF)Hfparzy_f8mgxaq{Wgw+1HVhP$b#6$})CY zvJ5j)B!nWAZDh$lvKwoWB>OV9vBY3zj3vtqW(>b;dY=IMZC6iwN`|p8n0M=G0 zx7aCR zb_B#lr>o1O!FlZl3;WgP@<77#j z7mU8V7e~(~Tu$ZPA&8on1wpVo&H;jlttEm1&#!amjUKosCzzE_1gd%2{kqV($C?>Y z;}^CHu`KNRu}+@0FU6a$$}L%yJ2amR-9B?D)%m0F z_umpArLCZD=5N;Y#kcIyE9%#m<;l9n@N(@5o7xUh^U4ls&fZ$fD0aAfy~xh5X4dAN zvWa-(c}6YWujCr_klZjF*8k4HZiwbmFXe-ZHB89?N=gb+MwT+gnBi=|Ylf2`>%o7E zV!5kCVj2J`vl`!MR>3=x@naE-koI{^Utb!>YGU4jGKHb21lT*!JlHr%Nh3CTfnZo) zMdS{z?qUr1_E^?jAE1PQlDF$l4Wp9H`t~W`9r;^pIroaZGytXH0^DlPP{8YN#>5rK zl<}2tPLV zhhd}ob1{`Nvc>w8bT0~DArQz=@{VLCqNv~7hip+HFFdCSIJ;*d`7r;YuDaqj3+AKo zC@KVyB=@QY;RMVp$|dXy`9pfhndxx){lQ1KazCs@eUq*64V15VQzgsnK#Zn9Gfo_#nj`uu$8jvGw@dB&0Ej4McIV zS=$xY$zl-nNZtTqF@Yy%g6On8tCO4G@N{C4O6|FC!yg4DpBroqdj``h^c@9MNaJ*~ zV~5b2h;Lrh9&f-PGn_0iu?*&eLhua_Mq8{!H04zXBe1t4+O~(Vu zwB9`Y@NE0Yt-Q727$obsjB)l>I?RCq42+h--X*UC3JH{?3ppZq0i6nV#hh>-crGY* zl05!eC<}rk>Nc}3K#4x&c?A$PF&EOqOWSFdF*Bh+NRy+pZBIdAi`uUNVzwgMclyGtJT z>Mp^;A%acbITWAO<$JC`Uyl4*(^wAdq>70kP92Z?s&M(qCk98)`uZ2n*5rjL8b+NC=Xh<_p% zT4x1cY6N1xKjg+drTUTkdsM%6Gg?aVjQSvW{sh=eDwSD(;j7=((?`_-1mXX~3Zb|e zKoRP1@S?%#FCY6hHXFI7HWrJCDAF!!DKe@{VL>2Y^?adfp!RbiPQdXWISGuwpH)fC zrv#@~897E55{usZ2aX|~*||!+Ys1eQ&4f+byntqQdWw&6P5D4NX<=B$ckIuC=+>Qd zGj(Wql6x)e9+QVxNr%?@g88pkJ?K-e+l=hNTNQlh)b6@rj@B4nUeq+Vua$^AN%=qR zLjD~9P!nTRwD`R_3^i26TjSNf1E3XH(U}8WSL!FTE`Fl~uL9{}&hx+gX3<=$6TX(d zUWm!Xg(p46q6NdJKa^#DX9%d&@a!Nj+v-4H{44o7xd*9^zc)R12T~I6dKFd>XyjIJ ze-FHK(_)tKt{=bOHN`FpJRiA_HlxGOVr!3e~DQCt)l` zk(2(5cjj*VV3UbaArw?j5ezTl%jNl#5;jM&b2eL%m^2}kkS<3e`#ErdPa&WnqL=XT z|GCPZvhIyPoXYQ(AW{h{+uuby2McjDC%Dx+#kMe~ap-2?@2H{;UFw>=r=w3Ow(5TY z;-#l*LkyZhX6%U}bINks6Sdx5h_By+q@crxy4miNr` zjczvOW#8cw9=+Ps3*O@4VR4Mrrx*{~5p`R5B9i!B0Fpzt9yQQCF7N9Ge=PI&rux6d zH*k6Qi`OtSo&SmoV6e0ehlLn-IymVPxQe;_kRyKyBQ<^2BIg%rbCQ?{U z>@_p+iAea5G40;NhiDba3Je`lIy>kxUg93s9pkQom3cn>jP{xjF8GH^ z^^d&>2FbLq+d@Yta#G}tnI&VzCt_}XWUS`_X|SGUELCj(T)|1N)r>xPO*wU$`TNJ| zxy75k<_@#Ch{vMR-f}7F+z>1AIs^JNkBT)h%II8i@LtSpFZBA7AQ zm@#4K%hcLRPp7GQkfnX#{JxKIBfeb(H=<-duJ8A?tI^qi@q7F5@o7)kt{YWOKGc*i zzJXQu@Oqe4u_ge5FTb}H9R#w4s;=Ymv{@~ufBxePV%hl`ezZ##O%mPP5YqKy`GvU~ z=T4N$X2JW?-T5+!QDE0%TdcbANOflgT7i9$Dc8;`IKI`m#j=<-Iq4PQg0N_+Yx(TlRUi~w+zj+C7Yb2`L|SYJ{eq~3mN~lGopz8s4F~~ z-}|3Q=;IF3|6=?49PF}{PanFkLrA$GQlfucvGvgxc1B>i1Hzz1Kj!+}?_HYC%zXbk zfxE@TDIQOl@9dR#`L#lO+Mxiuxuc`WEG+QToWPyUh4l zhyHZua0F2Bzd55!@8^5%c`42CxrUnN5{#7 zQp>lf{uniavE9Hy+?isWu~^XEaOy?vT21l-25+?3j@v97HOR^K+m#FYFuq2^{tZtV zSyi98bOqYQ&G0mID3(c(DK!Y&?}SMMg>33C^kA*;vSL<}N;~kXFio?b^~^zpQn^%V zoUm{C%QFSLWuCLz0lV~#>u2?WgbPO4&Fv7br9$S7w;sA5OVL%0wBRZm}o!B1(158b4^6r&>AUgSEcpuj--sKY27gxhOd^Kq&1ZX zBK&#r?@oxYrAh-r)#OmjC;Bm^M-^+K=Rgpvt6%Rh_~6^;TrHi@0qfrhTwHdUg!@!k zVpVZuU6&P!_IHfGZ^D^c*$nv*+2De+JHyI=z$)dt`yo$Py4%E=U8|BN$Jq6q#dtB-o-L1u!W^m^> zm1Tz8Fmne4pRHHi?9$B*x2_FZvwayu_yv7lywQyTLO7S8PrO0PK4O+bZtl#P-*7GL(w11aovXj5dJyHB3FWV#rF#nT=<<9uz2*pnV+3eV;PW zB%Urim3OLe*yWpNBp-!vt(2eZ0s_xUMrZj+sC}og^u)qQ+4bN!flqY^yasVgjf`(Nmwh$6}v03YU#!gH6wdV|dg=*}PwcIaX za`iLo0&kEf0+vVW{MVXxVyJ4WV+<-CaU&b?G$wHf<{=GCNqeHh08@S`@*^wzTT~wj zQ()ZUXw;72yZ44pI7gYX#Q~iqIh6@;<(DD{0bU^4cGkUas-B+rgk}na+MR$M2SVRc z-U^NyUN}(dZng_xUeMUK^EzN9IqQMt0H}F8`2EeL`mwM`PO(y;0|{H~X1Jv#1CH;V z8=J@dk|PeU{FV+FgU-i;mqQ!BcE%`ELsV9W<0y}R32xNeG&)WyEtw15yKs5`G;{89 z&4_*S2#^>othP&3U5dWE`#~*Gdjw8$?08fE786MfII;=+^Lvje%)I`ECWDDEh7!26 zdlWJ6G@v!ul*~*kQ5D#;?veHFBCM(afjA?mUzQReUW@A~`wmg5o$V_eE7TII*aNFl zavA<~1(CfgJ$HWuAR*)vl?(cG-l!wNfLf9{*lTe&fzq0-UyY%;V$h?9d3oXOoH99cW%T!upa#c;8s53RA#R=UeuYzm<7SkF(0(&{dUB_ z#Ncz;CV;~nbq#T+wPi$IhC=!Z9hSartQ8C{YT}M7l*`PDX07`Jei_ezwpN}kQ#8GF zz_u!|gMjS^82SUQMvkPCyHYs}U8rWa>4rhE!@K-}JWukyn>?vm87WSOQ$@sLrZ0I@u9d9y_s~~? z(P{|S1Q^h2#ExAoX+1}&YNU%P?*fmsQ6qC#Oy2vq4)&=}2APW)c6y@;=58Z-L-9IUoIcdi0Xv}45q-dumeBOE%Dc&BL zjBC>VB|2o90fk$n;~T6l)7W5N<5?h$`?WF2>}~TApeF%2?%6JekVrdU0XyTxcUd=w zX+`B=-PDV-O{|t=7mQMynQudA7pyhUw+6_Zs4unQd!k%_)MKBh&q+7gV`9>Jk+d;< zQxT+Wu~gFvB-x!JR`=?G2)NF$6imk_uSlrJeqEZa3GLTg1u!lM}Krs5qv8N2{| z1iV%PcspORDvHj>a}-E>zK!`*j51`-<5<;+PQx-fu$b^MbG`9ffw=YVd`u(!SCJs2 zsxU)uZI)pdF;MGrMk0PAJw8dNXs}Sttp(~TH|ptyeY|e(gRhVqu^bxb{utb&@b#|m zF2lXA&QD(VR$#Zv#xS#B$^)!hZ4sD>Y-hD!$?^OJkSY~Wnti|myp+Xp^B83N*W^S8KZITWv?|h<_M~Zr(kG>tUGt*-d#tJZD6*KI3T%#- zfXy*9rK-x6E!bHX3?{8>eEPQ7xU`?=IOLzM~%*^G0jW0 zfzQqUQ`9}5Np-xZ1z$+QJM>$Sx<=^2Q$z&4m*($*I(+`jPpavmfj9zC!zP>&_}d9g zdQW(A>LDF<;i9FK0Xq&wou{G~N>f7Grz&6hDdhE-I!^kKv+BMpmBy{l*lqDN*_=ErWK%F;4ZvftOshgDZLo# zX5L*D(YLJGhD(ALWeF8m(w6pF%H?&|Y(AP>Qlh7r-b6=p$&+`S-Tu?}h5n*$L*vO#U~Q z89;_zGU8D|u5a~n6BoNU*Wnb)y)8|(YaUo9=2TY2g;N2WC4xBd_oK^XE?zAjO$ZUy zV41gLY4&9SWJ}GeMKQ>mI``7c=?-LPnXZ9u%>-fJv5N8T)s`p`>501|VSsvbxJ_)z zIgP7T7Bl(uSz5JMuZP3SkyK=&IN$BO=Xv#2uE@Br5VwvKT)<%eTZ;}Z(Qf&N&+KRR zvu!FirX?fLqi;C>-huyBodjc;9ij#1n{Yo5$Q|2zAsC0~Nu!O}4bALqQqR8M@!1`n zLdUq)Sn6U69Z!B!n(IJ@ISP+kk5dwF6DKIcaSHK^sK#;Q_$0*7U?xxCo(V-+HzKGG z=eMyiQjwRjg@;BjY1|JNh3?JN#5Wg%5uxY@Y?2!>LEAPJ@_G=uxA?o4M|YnwcZ_W` z?$T45YMpt2@e%sLBN48#9yFuvqYC7b_-;l5*`4aurBIM9#G3sC%y96%r9(Uj@l62( z#)pg|*T}^|Djm&Wi@y(8C~5Vy-fZGp9n!ZtDRKNL9#;3xfEJpU7#Scr*Hh!KakQ__e+yos`NOJd{Vz2L}dd6*STgi4+f3m-zhDIQ$_@l#=i7>l(!UEjobOR z-%|ru+a8V!1yK#o-A~J{uT|#6HmvvQJXCHudSj;GKmc&j@Dfb(dlcsL5Y(>Sso*!D z)#N{!ZQ4XD2y{d)DUAd#*(E|;4c&q94b5pKrPVIcG69RAEv|XkdettJ>MVh&89vwQ zToXktIV-;y?=0E7JH{UWdxaGo+ApGjN8;!A5vo)AhY58e?%m_NgS7WMh+kzot2WY6 z{bQ5(R=84*SFiUtI(IkQS2@*P-`(i@4$~9Te~~UyFRCs zF7uwrbf{ah=!1FTKn}hVBkqJa8%Q`4Jw6cQyERZDEsz3K!>ShiN+@yZxy#;Pm^!EY zL}BnK06y<*j)C63)h|J7$&(?K*(;s{5Z?2{Z;BLaqegv4SIh^_Emh;9k3Gp|aACcwx<5vk zi~ou@wsK?)6Fc$d(~;v3tLfv*28_Nm^=)7SRExdF}wq&nqa?% zvo9)5Zs`)Z=)RyX4q4e7{A?VIv+p(Fd|57be9Y&U7t@y;)d%+edi=y0@4JM?o1H%> zo7(TxFVV0$DSPo9x7^5ep#bdwm7-T1FCn7GFVu>956`P^;UT+@!0T9pX}9{h+6`o} z*T@(spjW@xN+7pq1lL+am1=fDW5L9+f)O+ZS#{PAYqMqNftOtuve-KZ+$w+u=x1xO|7E!KNAT09R7!BJ#Mt4N)WxbXPn}*4 zX%W+2g~Qu}1p*`OU|@k+Ji5nG!yav3Y>L6ZL{Yf8tneEu>o125Kd|(R`)p5gq;7n& z#QKPGidO7Wli@YCDI`?gaOI?%bHHY=;36m*M9|bS7IWb*AjUNTkzO1x?@0nFo2h%zl+T9)@;lZg)q2<2YljL7O`haA0p=Q~H)o)XKgUw;f|d22Luf z6$M6^1`ZRt4scmK2tFjgu5IRiX6s%)G|F<3``MK z0!RL#RIyDHC1l9_Lx7`o^KvaYY-h-7i5%G_S?`wKksaYX!glEUVx;x>UU%)X{*V|&@}2Ue!4Mnt(PC!gf2ihPgqYu-?OvZSz~{N(VS{m0e* z2tIS*T`zh$_D8bk9dZ|;aO7RT)Rn|8tL*n_I7q$j?lgU~YF(wK81IzYX^MS2^r|cA zgR#_HNVm<^IQ>n>@tJC8&iwVlYU2Cn>ZQ&emDxZuTX+0mF3XglN!-Xo3UDEuUQi}( zIJ__{y0p{pVq}(RA19XDV%XlZ@Hy##R*;Ny>;%_A#oEsE*{12ZRWS1aW&6TZOixOP zSOL>5yO14eUl+05>v?^z-G%KVE~R2gE3&G-V1hcod;cp#m})(J)LJDWtxbsUncy;J z!GM@C+iK@zFFrmbYW46}!DDa~b0PZ|Y{+jtr4+;V%ug$-XZSq?i#C))#OS1SvQf%I zvsMUa=P&N6jS(m^ij`{@j0@+zlQwj_w!}eT!ta%|d7^#lVTh@D&q4#y=H$UxoOzAE z6I@Z3Rr#0NwXz0B|B3`K;=QbzK5FFpyi$XfoYrebIuhR1f^n!No7~E}teVhp!sfbE z3HU5Y5mrg$+hvwQD2^D(gB;yS%;KD#CLEKQjf{PKfsgYfkZ#2XMz7a+uH0{@x>ZlT zn5HfP_;w~)J<0Gk5?39is2hK>^DS4EC9=Xq8f#XlxqfyuUdK#R9)I%E@kKvM0<@qJ*jreu2MHT1pZS6$gsqRt2BJj;}!s;4&C#0O?$fEfVpSv=m5F|rPGjqU>s5A6-{z`=OoM9ct2=n;o-d>8N4=b`=jZaC zWP20oDoDoOA4o9R73O;>(47~PN27xC%c;Lrwl?8x!>@#Oo&f~oMPO8p)Ko* zMF-b{(OSv5ilBMp0@j43eT1Q?KK^k{LkJ0gI6Bm%DV=BI6rJ{Z;1&>vC`MS$f^p%Z zD3L&q%IaGc$v9aDPMfWQ<$TJnWGlBpp!oQt&W119iX2qV&6BLj3okdXRpt{DB<0Uk z6GK;qLvG-wW#{XY!j;^hx6*YHa80^d%dG|T+&jh2oaDE|_*>nCLK_a+nFx_iwnD%D zBi)Y1u3&CG@rBc+NJ*#CTWJ<0ORDV++1ARLgn_>K$!G z9dj1&!mwT_QQDf#+)SZ{lni(-3O7`xHJVB(7OYgja)^xcOk=-583egJF{mN{qHl<#A%-yE@8cbs_$v+ES+oXCG zI?4^X)BU$sT5Eai`L8=Y(A@{83Smv8b2Gkh(~r0*1{-ucKb1J9&A=sA#KzgoWgL>k zsoURfn2Pxl`?85SabHK|{j$E)n@F1!y7oUXaSUfh6Zx#_1ymf~>889|j(MJV#zK#a z-};;DA*nOjNNu-7o!dvH?(;AApU+3^mA90>%Y`)V^H9mQ$nbi%B_i4P)4@@H+G9+R zKPx|1J*rhgAfR<4n~9S#sCx5pY;M71hRFp=nbLp>zud#w3pGOtZD+nbUV-nWYGhNCtEZ*vYhKMK;q z7Jnsp>$CZe6?^Y0HV7bktKaOX7dG5Z z5?A4os~4wy=>u1c<3L>Cudkk|Y}kLc%D_6SDCeuHrXuQ5Ms-Tl?J09nRfLu-y@lvK z9YEFThIs|*(nfoG--s3uGS+xs8^PSgmRIHHIMZ!GMG*w~z=n5kA_13prf*2g3GEYa ztY_2S@%&OiNQ?|;919_09b+k2uW`RnLetwnf>R8eJ{^&V?-5I;%AZ%Jp99GS*yDz8KF10 zP(=(j=(I97oBo-5kgTnv7;ao9WPDGWW;j+{c+HmI5z2A&90`7A_;#WhTWY`26yBsi zQe?ua)K=@NjWO|o$I1bYiCbsw_>=6#Ztjcdy|r(sBn6}vZ8)N7GT8zqu)OZl;4yfW zKM@+wNSUk8@pl(w;jXn+p5w2FuYMO!!YD3z)rWU!pMTkI1`LS@=OfDOtr1(ZE%^TM zuI%SED;lQZT@@&at`5{S-_Ey&dO~vFd6;m`-Re+rD{K3g%*W)$y$x1mB#CO#*=>7Q zG(5ifc5ZU&DE4ZU4H3%{d@uB(-Qz~5p^=T%?EAj{A=xu3*^?-xn5c8lsHu!C8P}*B zo7_+866r_W%)zcxuo*$ zdbZR8S51*T^Cw1*)>qw-_Sw--%xYLqV*5sS`Z7+xzy*|2n@UtHsqIqP?OKz@)+X)S z139XOf%4-Joggi#2DLJt*2T+rq?d`+M0yGDYhCYXct%=uJoQ}CxS3WP`K`lS4&&K` zvyI>LZj70%hb}lg1_0>Su((DlSwJOmXVt!lUUiC zT=F;^vcj>p;fD|8=TUmZ^s-JOcHb^Mrhe^p)#x>Mn%odPpjBxCwEC{ZM7Aqa37Lyx z?*5VWi>~fvU{*JJv)WC0twW0Qpj%vP(;tp2K2#0RGHK%}cf`T$T~zD($dR^APW$yc z=UB@MM~6#n`rS*|^^|*?7AhH5o93JT!*1Q65jbO$dZpUjBHHRC8@CuAGnPTgv6N{g zC-B5ph;`UnSlqnjUHRscroaZSAqss?8+7OC17s57n?upX=xVnTcXGKlPwe zg))2z&C3=ZS%qUkHSWMz_T_RObQ0^}PEqEL%@pHfNrdYK7Pn4bAwVA*Ep$8yHMmwP zF@^VwbB)VMX;P~Vy|yr;a-nzRnDVdBGd?iu<|Fr7PHhgis@gxCvu4@%i!(McGC36$ z(7e#m(uzAOc8TwTpl|be$49ZzVOJiw;J!sgN)&IoEBiz!wWt~O`h?;_<=(<$bKd`#44C*0P<9u2;j7@Hx|HLSU+SVf0`gN7W(5V%Zu!{)Jru3T7 znX#D)V=Mpc(9`McO#Zg0Ei{4LN8pysz36advww|LQbW4C@uFi6Z!ITClyPjsR#fq*%+R>QP~hyx(qh_oCcTQ7K)-g`AmUl| ziv=RIwbhK;}%qJGn&&I5pP0c+*>u-me@Y5 z-zSHGlcg||w-XBy+JUMa6D}7%C=%QAcXJTw)Tazp#%e5hvWZqOM^B}3h(RL^h^jp# zTN+Cya}ZI{`l5`(#eN`HU(5OeU-2mDZiuT2ogrj(r#&gedDicIQ`H=-8E`+MHNhDh zdxw5+i(q}rR@aD^Eme%qoJ)>>i3G@y*A|UE>{B|$8WIXi04-}HIWIPnPqMZgB{rX( zfPel?!^xWf1FAb|%3xz^S?h!k9beCIV4v*iuPE3|g6&QOVtp55f?z*T+hhK+w%=dF zxLRrdm`Iu3IzJ=ri^a|~lp=)=-8vt0I#ma1JaJ}Y8L`dU)-#3yXmsJ})aLW6oTT1;)Da6Yo%TD4X7=8LuZBEoVaWioM47oICij{SdVHI$7Bda% zmr``5Ckfpt2H0SGY$tJHK{Uj+Z$`57e=+`&01qyhhU;}l^FSqZAVxK*Ai*4}Q57?X&_xsba2ef!x738bzOU4&%3Mbb zx>zN3DvHYmKFnAbYoU4A&%J(N87SI?`iMLrVZ3gD@z^4cjHzd6PJO==BdW?}o!NLH z{KIiJ=^tXHA6wfyfx4^7kNvL`-J88=AC`@0sKvoR&-YG)J7D^2d}N$qRh2_OABtG%iIuoRVM&n&(% z;TdDxA3b=x%Y!$7Mq7yqs;mAX|J>b(S0?auS@rFTARV0)qM}M>8DjAUGIOHx!`Q1X zQ~Hx4IV*`<8%$(By;d=L!}_bPUSU2b5}iw@Z(lFwXtB;>X6_7s zLX-(Hqq(cJT!+zU^Oe55S5z{+(C|an?wk4*FJ+$6Nc65SSYg(HGiZA?kxf#fEtLJnRH_(% z?$?3fnQSmuwpeE}b}WWgbh>2&=qP4N%%I+=Cvf7?e$iR#t6eY`jvz}yM`K;9#uE^Z zbBl!|b?dH|TH;ipNfiqN26~-=?kRB6TLayaWVcaeod+qFcgk)<$O8uNmumqpy#N5c zpw*P=B5w+$GyNmISF#$A0C9^wkuum+`@NARN$6j~=S1Z)y*MI&X8)CbzP@lAI*&29 zpwO>M8|k*Mb7~KJ*XyqnH*t>WSUIO{?~U@7#jpG17UiDy!WgkwKM>jJi?qtLUhS2j zer1EUcP9DERh}gm@Xd}+fU%4zp?uolBjbFC?)-~{OVRQd-!q#uma{{BbS17=+3czn zk9f55#O2s1DHOz*wZH00v__yoQsLiLit#nJHVwkqgI5xZ_1g+imnV{tE$`pcnqPHM zH7?WD<0GP50OJwAJ>3b~1lTT-#Tr+l+)ap#Z|AMxS_R?9I;qBsslkqN^ zdy5P9ui=v76-Y>X@14b6WqpFP|ai8$7y37kNE8j)&z=_$30@&PH>OdwOTy=nKt~3YDyk++qlSSE6OA1Ni{kUkn*RVz zm>H`Led^zhwP+fgebB9Q;Fh;I2XU(*_Ih*2_0TJE9;;u3;ZJV=p+aBpkJNMgq_;2N z%+r3RPvs$|UU9a~SN6HB z6bp1G9vg7_WrfW}mK-fRlGspmoZW%kUk}#N4JiK~H!`na2RI}31nCI^ili3JbN;rg zJ38X%tm910GA8C`O)d}HNb5TH@5#A)~d#8+fO3Ke0d09Tk?WxD>LT09h+v zj8D;6q;iX_!haRYuh!a{ujOf^bk9|Wzbt`*Dd*s&4Y$Tp%p50$1Qem_EUgvfv@<(_td7b(YT2>pyPwoC-s@- z1eRux(pf;cR7)!i{Kd-tQ=`bpMo5+RZX52I>Ny2{Ia1-ED(}q;5NYFtUTT)EsAvgQMBPmw+g)hmC#Cf&UhL<^LvSW z&~a47Yl20A#fS8fWShNS*+B)S=CA~F`l=>%$Y?#gYIC+3)HPt%CGIxbsTGb_niRS$ zDNo^DZ}PraVwFjOS|lvBO1y{hDLTV3m6;XwD=MS1XUgw&TBf>24AytOPLyq3T)pL;;FK3P$fbk60aZb!!4=&MsKp2CWYW#` z+O)j~SEbEOV3v-T_<6qKOW9JD6cuaUTlr0e+R5o_<$0Kz231&f26E`QuN=2FUbI$7 zIG3|darl<&2T3I;2kmT6KY#_Qx^g6%CJ_p|W7vjq0qb&f)o~yz&WQ^pX?dgU-~brI zQL>?R{WiqYjYEZ|{jNcep4CNbps%?BMD?&(!59Q1;&Icx-irU&HmQs|s7aYbrxK^V zwRWZb1L2AnuEk`t%k?c6k!1le_G3krK~(M8zax~6&`|ab`WVdz6?=07A5=5wSE<8G{PrXhE?@#7Qh%Y-K@GTGsWR%BL+?cI%WLR~F+0KuPJ10HH zd|Fz7_Qj~@i2h0m2>FAV$YEVUbd&Z&1k|e3UAw#e*J87-GH|F`2$ChG)++?7a zhYw-1K|a8nDEec?pS~!RmT!qn$l+U)5AYgOr5l#k+S^KqtyGiNV$(E=bFR6G;TR&6 zYh_M3Hfqe@lY&j#HnaIrnq@vjKW@ORx8O1t`#o*n8A==ctevDUxgmqG-D*5bpA=mKE^r9*d(25_}NhuA*&Tv=VW-iGNFLavBTTa}$=Mq@IlfTFX z)d05JbK`}jek;?qFQD{C(e^mQ@Ury;Qkc$9Ii(b8_yv zGU@<=ql&)@ew^t(H$h%Rd_8-;PeOyBK;|v8Uqz8e4OL`8)XHrAC(Co3y@J%IBa-n`PyhBA*`Yj#w3(Me94GK?3W8b#(=( z5J!<9-~1?0+q`At<4Xts#=B7Qa%gAw&t(^*LRkpBTKLA z%vXGPfnbgE;6*XMmC;Kv%6(YjSiB)m*d7w!v2v7COjzReQ_?bvWzlidkHAQE%24AD z2Iy}SZI!NPJYD?Me9U|yE;<;1IK{G0<_Gep6*^|(3%vl^WzIb*W;F9lt%Ae?X?1x> zx$5lhUIh{i@hx*Vsgtf!Ohr6KPV&9#X zT4#)8=c$^AsMJ_yXuw>5{rpm2U-uC|RJ8ob3j#+kmTjD)q~T&vj;HH@_5APHu)Tj^ zIbb#|0ITW_`Re}R=%=g-7W>h9--(Bs+&<|%zvk#(lNrva+FsPwk2~gt_$Ra_S15u2 zr_|6X6VqrX-b0PY-j-j(Sl?Gd$7cATsPUIHqi^rz^Kvxwysvu#tPXWXBeL850nO$N zWHJSz63ru^Hhr(Wh^fl`$dfvO`qeI}rDRAaJp=TUt_fJSxtVNE!fQ`@v4yB`&jOYGU~;)>wr#w%D^>= zIqegu%H0I3yJE*Kw2gYx)rXGc3(dFYK??i0;A*a!)V!L6^oCmMuljg1lqI>cqY&@j zuvklJg{asWBbMqSDn*=6E5G=i4*rjqo}|4$IBs)|3-&6A^-WhfYk6Cpj(uqzNO7-p zSgNyCb6v;^r~DXNc$C@d%X`F39-3BUiq5}WxTj9vrgeBY9OtTbpsnJplI-vTmsPoG zcl`s)R7+XJ>J6-2v5M>P_Y*C43AMe(;a#(X-MB3l2Q`Tfm^nGZtdG!??0kFa)k zKLoLMDGs8O;u1qmqZsRpv?wOtjVIpK$|!5sU2hI`=uzl61!X8ZOMTD0Ldk~Lzc;<* z?KYR$T6u}Vm#u3CYqO=wz1aWlfS0{sEkrsn*tu`Oas2Y&3yE)HmgQIcU6NmiDETyf zouQ1qmlzqvB-7x)fU-P%s@*d4oA>frAM?A_Qb80^^Lo$FsATyzf!iq2_f_7fYbJ+4 z!UJ_IUDH(c%ZJZ2FZUZ9HCWe>=l`4^V!fxt9ZoWDk*F4Wuh4PT1?X*Pad`LIMOl_c z;kdD`GWR!yPj@}J?)JgN=$3Gzkw=`S|KI$HScj?`ke@CWP(59Wum%O!#YilTDRvBY zE7ou92V8CB4Z%WZ|Nrj@d<%*|_N466gbY)kx1VG@rssk?%@W=qV(c?}Z;K_tZ|y2a z*k8H#XtCM@SJUZcKq{4S29&i<+-W75vRKXDKQiqV`)*g9D|4EECvH)F<-Lps%~C5* zpw~1!U}Jp8wU$IRzsf~_ahr_FbdEYaxB)DL2AafG@9T8#ne`Uj^PSL2I^0m_iV$9l*ga9ibq z$iPy)gYFd#$~+)VdraovUaw%Za<#phfo)s}<9@U;85BfjahmqMpG+uROSEqtDqN0F zYlPu?MQ5F?9V!)yPw%OSN|Mx*axaL|ckg`_1Df=}nqv%CMVwC|2?jD)K|n!Z5D7?&ihzQMNRzJg z7LeW~(Xj$TR73;}K~Q>!1nCwaqL6@;KtfSkXaNEwgpl&>;M}?Qeea$7&hX72{s=?P zIeYK5&wkdkp0yT3a+#;%eK7?#Jb=Qs6V+iA5p9W(B5Cmm)e14bDD=i1S}n0QXwDK- z1V|?cM4neOHHGS)5f5vP)f(TePJdV$g|Y~D^gOJFhjaQIk=GO7os=go&$wrzT?ElJ z-(q&>{&<0EgVjB0w^;cKE#g|#QtD%Db5zA|PnPmKl6u=x1vRBq5DPm0+dRv94=}2@SC#M6d4~|3 z35>>|9^RUfPFl*{Kd9%}SQ$k2pcb0PLTst?BBBrILnooBOw@$6pTvYZv61cSIjXyW z+ZbAJq%_=>1xZUIUSlVuht10@-Y6aJ3PBm}gvE%$e7(Mu^60S`Rp@vqZ>|72CqnUF zU}u^QNyoy&vBiVBjXS=z>RgZbs_~npaC*l((_e6;yDrN67>C+65+sbZ zh0_=2U$ftug}tmuI!nbwEN^7CcorCKBYw8WrgJBgd4=v7g(t6djp$ADD`;g@ZzhI> z%no5Wq|Mj6n|$yuRBUPGB;ZquVgo1RNDq@wypylxdO{tNr<-Un-l#2;HXHX=rV99^ zcV3Ow#N8>O@;PPPZ{G&U?!qq|mmxP!&E2Tr1FA{79Vu>6^KxyfN3_-l@g}5i4g2UA zDBGt|v7AJzZUl9(v?$l^iw(9{@LSq%ou!hu4S*eK{9=y}knR~i`D#y(vgp7SNkv%5 zMG}%uU!*D&-YePQ&se&2ztc0-l#&&l=)v!3kBz!-cDur(JLkiM@}-yC?u*R(Eo4mw zDC)1PKfX}en&)ICN6O`SB9jjxo?b``su*kolZ6pxz(s0!ZG~6HlxSxB zvFL*$S1t{F&P`9zQS;gXP3z*aHb@K-d@w&Ju|6`JQpyH)7~1Q7x6l`u$HVv zk2G@fMn6$1teUR$4s=h6h;EMgdOCQmSg;u0BbuOSw@b*aFX^47(nU4$)`~OChZ`!D3l2 zLJ}c1bbIlN_bZNYIEP-vF*C!>dqXEnpj!ET6^3=(SxfV9!p}g?H+NHlWBv z@A`b65}I)E%%WJ+yx{!5;e%ZXp8m;2)9K{JCO>Cg0EEb)%xn8Ja7KDMZ)yHhf*2 zz^DX!@1&8)vgbWE-rwtTQ<=F7V^TC>W!LXS{X+Rds{UIGhtNSEQFz83$0_zC`*rLIb7OVj9+g9 ze<8Aiof(&ck2LyhI-Bh#s`=#ckD0HW;26EZM>xaJ?Y^^QT{(kg+m_<&6K$5u{C9wA zdh*mrZBc?b`hkD)>gx#08i&`K%XmIEVqi|U&rttDfR-EEIH)%<8M(LI-y~C$7i~`= z$yfgp+Oi|_#Z|o*B}=Y;jJE*FO{L!#OVC&>i0g;z)y~v=<7Ysd^q-bh-UjtDI-5K{ zaRIq?a=-ZE-b)Up@>#Nv15ujH>s4-(HE8THBSw=wZ!TdtKPj7>JDuxnoiwgl`Stbw z<`c5yi|VxD;|D1hmJ8we&^F5%y0`V1LoUHK${N*EH`lET$KXmIQ((pL$9l_|k5PtR z$#j#pYvdmM-sZzg*YcFkdsD`lHy&wrRYnC z)ufL_%we9`@c~gO$uD~k5NuBn&~$tMM2ILkl=tfOk599f-mVim+$02YPO9K_+-FKv zi_+WKH0SGflVl2$=y#}AC`OY zWxHVYMiKcn;FaAJ8Y7BlqNuLP^TO1^Fs;7O1|#K)9W`(m!)S=wHFjW9aatI!@Bq`V zwWkJF$VBPOrqqE?L+RxfCrmgYov`EX4ZRPl3-}+~b9s@}d*Jrnoy_iR=Z#gAeX8gk83w7USB%e?YTHWBvj4~ zvWg<8vi9Z6Gptzmy<LiJ|hDe#i3wSN2McmCm^Tq@!89@=S4d;7Dj*wV;cm~*UnN9?(kXQu!#U?D(You2eardkafyi# zPFr7%l$z(eN;gLBhizrAui-uiUxfAdFGkKsO-i&?oO`zwI5MdNn?j`37De|3{rD## zrc3C4U5JA3N3X0(AIPQ)H8L9cR4&c84>@j{^42$ks~$%bJ>- zF-vT0gLA~xgCTfNnj~{3vyRjsI=C=6)Y%W1H7i9s6adkzpB{}(xi&rdKG@mqS-^ai zpaZi@#2y{{nx-H=DT2mQnel1IQTqEsS`P(HD%&aGpLtg4e9d{U>6l|CPP@7g~pHlj@aLnlj5ee_v}r!hB2ytYfLm5WDrX zo;ALb0d=lQ=uw2Ibp{Ot`-o};oa><-O&F_2(A1XSQcxHA7k%!Fc}Zh}&Hbz=RYziG z&UquJq7%AP3J1!kO2Wf`J4@}q6Cw_#^P|ztvs8|k~4CE%n)$w6Q&){-y zKida4KI9J`jx+I-J5teX@o;(} zkvuuThAubMEOu{&ak9Ci?=WWZW1L?1xiB z;F`Uv_}}FIY%P-v4=S})Y}YTPZK5QjPALPD`L~AoQHrL@fIF&}KkqI2>ea|1a@2-0 z8B?gBCB6$CE%eI!K-halW-MQ|OV>-Ogq8IKLxj;6hIu0c?6Bkh0rVyrA7Df(*3rIZD$R+ePQz8%hEmF>HkS8YHcOj-A?(_HpU1Ur zI$ppY4W{i;pGoSKYU}xyTCz#7-QEG)^e$TWe)P{Ia)yT=C64uWcAB~Q`1qvtT{W2( z%;QOKJlQOlwp6F#h+M)*PkmcPc!*7QNgG9sZw&5!)3hs&qSzKXSeA{Ow+ru{7?GVa zstY|9dJz@DF-Qn7aIwRBRiKv$<4yC_fe>tsUwO;zuTAUBc;Li|zgm3&*y{D&2itmf z#OWMb5rcj`c*!7beoiu)_Ud;3lRRz&MwQrqlFQ23g~lwkLuhf*e7%x~)=2iF7<5rZ z;kmTZ52u}X2o~%%*wVdMH{NOa(*-*R7A$c;I(cl(drWdXi)|jo=`)2Ylv*3(f~zJjW6O*BG+^MDJqmhbF?GtyhH1sWg9#pUS`|Aoj+R zNGZXOHR-u}w43SMO8KhGAAUM(4qi1^YC|H?fh>BHr`GkhP$sgUIXaBvEe|i4c)iOz z83Z;SWkKnptd<>3a2D(tVt}c!fXb9{qGf^Nc#ysmx}`A zf5VDm=d1Lov{H&PwrU7(UlAbGuX#M^Di89I(=-GAl6h3Scjk~$7?S5Rk9vgj-^G-XYPfPuG~fz-7{Vv=rkB_ev=0d>KDY0CUkvK1 zM1(FzocAkBnFKn^-neZ!4dnzyTfB)Y6J1b0lyzZV`ixeyU-Se zHrJ5LpE0z1vhvvV{?zU<-=V2S2)Fs(7BQ>di+^{__j_J!j;NK)D>}4Z#weiQDYJGQ z-K6D)8?l(K&D{z)`Gv=+!pFUG(kvb-D8%urc?Qtyt*OI-nv$SCX}NtUT9d_v^gN~6 zxg_+5YAc4aoAeN_7MS@&r~OtW`S7|f@`tG*B7bDRHTK3`bkMt#IR3khhlvTxU_Jeg zYs7*xU|0cc2VP^|TCjP*Y2@)E`xkIrD|xXtfdd=v+nxchyB#q#_}MG7k9kBZLsYTN zvYe5USJLiXMQI=*H7BzN9sid~Guag-uhk>~D}vJvfCr-r%l+R^)PJ+z*1{i;??QjL zeHZsgRsVGAm$Rf z2IW3%k3!)^qeltl{=9+nO?^u8Rd0C=L%xcZv%gEVQ@KqLwq~|NsR1A0xQw=UmPXFy z4f~W!>raEz;)nOPf)~6HI4!2Nz0B`|$pEjz^*?w=63PcW%IzXvi-k>9(aQX_;`5dU zQ8!u<{Evmv)-Q)g#e&H_LF5P_^@Zm{UbBx{>RL^1oPI-J@`rh&v}W5Ew5@y1)8^yL zBRr$=?Lv>nUUYqhf{Pagf?M@h^76!1=KA0NadQy>w}OI#GvVRkN;ATg>B9i%_=g3` zCdilXF-VY7I*CgBwZG9Y>FVtbLKo}mY0QimQFwoJXmW!{&i|ErndaB=|tk&hqLSBa|^0^wuMpZdentNJ>%e- z$x#cD9ZT-fX`^qSU7K@>O%WxG;vua_?P?+nnaL`9F#Hg4duG zc-GpzJ|zs>8%tQ6UyD_E`_cAfug~HAHapSb%x{)ppa+d^*~8e+BNmqzDNWMij^Q;- z<c5=w&q&20aXfHD0;VkE)V*7hzahrAeH{C0HL8-Aux4+_bYr7Ue-CNudZ*7LMe ziE`7=%Ucm#E<{=>(nHty=M_^M*p#=;K4qy_xYj{TOms?#igtHwd^nN3r*!Z472AG9 zcJ{-vcoBv_xP!8szp>|HIL(9^*ut!zOGIKZeSryLzTLNi-X<^l;96V-L8n^?iCOf_ zfU6LU{YH!#yKd_3y8dn-X7ryT>+NHr0-HN?B%(B|>&w^=psH1gfff=iXJ7k;sWEE^ z9qCkuvZXA_A|_pkrFzp#`y&Z^-08o72Yjn{wc(Q)lN*k3KyupKgQnVM%2cKXkUO() z+_|zc!Zklw>s{?*Z>w6Ex5t^~np1f9#hew8i~?&{?H8oV;k%i%cU4Gmo|MW)3k)!4 zN5~kdZY%dKhMWsHFEstuqUpT3-FG8ev84a?Mk_BtSbtPB*byU@|o;~vHb71}-Q zblEZFbKLf0?RH9ro}y-;wbXMvvzGFBQE`{|L47`QMxWyyHSrQPCfEbXRJ)L-g1YgG zCST?|(Dv6%g2L{`>{BPhlfO_%7Uk**$4UqK`O$~lLNPUqQ@Ncbf^c)HDVf9bXVShg{DrKUr2=KP+;@l@9; zG82W9v<;|}yHPZm)V6e2*sch)T<-pC$1GVW@vN=!=#;Up49JcVQ-^ZuxzCdl;t)f5 zmZeYDQnF1lD^G}!3hjO7sl;;Qbln~x()^N}v&8&u{pK@%blv0=?oYOgsg;e6)T`w9 zE`Bjk=y|Y1!V5$c>EEJwgyg!`Xc>a# zf;zr!r11EzGdbotjZHuuJZ;AOk>fH>7X5%^wQ3F@>+6Nn4ojPnIAs%)?Xj2k7UTphw|Uw-JGAE zF5%AK0un5yokw@TJ|`%Y$IDvmgawMDH3nVV(sVL{D#%1}db)QTh~++UHcW=*6Eyod zO!F8>=bi~vmiS^8vcu>y8tOOvaX2LWzzdfsjPFpRWP}llYYs6M-WkA4Qt~-Hw#e<} zF?+Y5bbJ`jQ=0f4ZjgXaff zU~25xi(s(DGGhLPthO~cEtM385irjK$qPBi!R}WRdWG{A;Ip_RrE){QFR1+ppJCAt zPzbUJkNp&R3w2rQDN;Wp(YR*Rc`lpx&43sP9gn{>2*+$eH(xWNAjVd89X^sWR<@Pu`=9Cjn64wz6Twf;R ziQc3Ub&&a8mBP=3wwaE_ z(28>|=9`3%lO&tE)#UZB&L1&IkT=*s293r?id82!Nk0v|rhZ=tVt!$teTmmy5Q2$T zRG;|RP2t~x(wj1`8H3we%npYEXb8FzfHLY`H5y|hpM%i1;mkoE;z;ef~9tmb&$4j1TI|L%NbY=jXS$Yoi4;yW0GiO@Y2xoydD4*SnTJ zPo@>gJLN>Y^vB^7BFl`(x}AIMXb`mL(}(%dZ|v3)DmP{RqKA5C6S1vR@v{0`z~-O! zlCuzgqd`z<*$LAx>Il_^o1pCH+%j0knf7=}`gU0UF4%;0_C-%D%lMbborgM9m~XCT z5N*x5>4^Rb<%z}dghx5c;tOEg#oZBx4-{Qv2N?>UBA%o7(Tu9i;n?G%{j(3%78#=R6y_?gpYy zpO%d)s?&d)!wr7N3;l87?j}n%4x@5s4=3HH*Bp7=NuFMMwB9Jeo^#GL@Gd!Ayvf(9 zKLgO$67@!^QuU}io(iI(zaj!+u2bAip6q{-c_HQb3*l;_ePv_zzC{n1=c&{1^9*?P zhAo{Imyu^l*E9=`X2*6Y!--53`$bN0CuTlJ;RH0*IdrRsOi;&$IWK-a%XpxBsL~y5 zpkZ&U+ye}GQm-bCMbAf0?6;QDe9~gdAFF&p>V6f>-G!IZB-$7A+OQ(1;-(PZ+(Ssr z{@iK!z4-)JPL^2e{4>&0G>Z=BhfsChwtP?rFa9H%qGm{Y21@W43m&j=l$^4GcML%# z#nB+I~gwURowXCrCR`l?>R`{`8US=$HRlI@Xt7&v{ek?~C+?4n08n@kpd_13I!0yX<+tzrpOf{Urgx#@RL@ze*1%5l z2dnx%NBibk*E8RJ%)hhzU=$)3SGZpRyY^GnWa2J}#dS_7T>Z_Q@Q`&-Yc!CC1{T|S5e{&vJo|laU z>*%W4*5BV>7@UIsQ?Kv8Y|UGZyZ<1pMf{_CWL7ho-)G|PB{nyu^!94@Rcp~dJul|H zJ~!x=RZU0vDVH?=8YMLa&>ISP32wmu@@<n1QUw?VuyptItr6P&67X0FB+C;_rlA#x^DZlU@KxK|MOMDibo-kG%n< zYv1WU-1m5@3V+608DU;v82~Gin zD8OjcjYPH{MfK|2HRbaO6L@9MuESJ$fTN0^Wls3QJ!>RUEX$fO?0EH9ATNrZ?*EcN z5x>higqVm--v?vcO!m@@9k}WHe1K9g{BZ|Ni$>L$gbZfZ{)(b1FzNzo=|||C*Sr_( z3yfzjQ4mICC(;MY#w#H@Mk#N69lv1aA3z!~Y-kEikiwG83+;kcHm1IzM?v;al#ccA zFWXy_w5!R)Ykq4?Fa>*t^xy{>b=71Th)Cm%DC5QsoH3hpPc*oABnDI)mZqL5 zln^JN+0bZ<<@?3w>*f;{yDuN0NFgTRBR8?yuaynh;{{FFy0_r#@Ch7F6 zpr5IHq(kM`V$hoS)h`D?foQyx)MpcE|Mz!(l0RQx`Kuzhg3~2`;3~*dvWC)}sKt)> z%B{Z~MVMYQLaTK;i_Sm5fL_Lul+isfwQmYGZ(5ZR0meqc=QW311-S{nV6dB8_QB$$ z4E@HlRJ1u`!-52vSG+bv_-;wg#5~QC?=?|xj;|f{F7S0xQ?)MfZakABrv)I z3MvN|&L_yf9Z$Qz6ILysRu2FLH+?u9T?OO<#XMv6%T#ihK^`&*C^R0WBW~*f^xx4) z`uf;{Gxpnkt!NK^h@>hgEqU;~Df}J_1gIr`0pEQLjzmGWs)onNDVuPz5T@!a=~=usMT_O0be?-BKwh?_Q~;^i2Xgw-J-3L*U8yf_ za(Mvh+-2uz0OS+ET@VNIAXeLz(9(x+mANHZurJ@-B@<(;_+=iP6F@8hd>kN1vTk#2 zO9#@6VO`d+O9L?PWUqU@n`}29L|7>xsvD(}QMvTYZxfvlB^vCKFpRz)hg15L}C4;AWgi2z*+QsfC;l& z2Pl#DbM#$>`5~iSk3>&lZ$w|!+|8+5qRu=Q!8PHzYXlCf-YB0~KgDL<)y1E1qT9ViQPDlSO zFb!f8EAY|g)&Ye-3)cRZsa$ibS71(6m6bo!Xtav_r>lC1H9u(n1VE_pnelN$jn#Q$ z!$*NPmQs04bTw<~u@eN8q@ew)@?%1O2Emw2`Omul;vN0fhq#sW`(~5_z0mSA?#@ZA z$_P@$1#ZNdBVlR4pi`XZ?N)acsaqwH1Z6oI#3zimM1_BRbci{ZP*il(HHpAc2OepNGCzrPB>4NF$>Nr@3r{v>tr#g)amvYSiu zR7xX=Cjl4(4H#>!Oz7$CbOwbw(_;21z6Z@MtOS4b+8}{E(U}VekOr`m=MtQ2XWwsz zhRj}FWbIcE${WY%0rhNb?6zd}-~vz1F;Gt$>ebykOHU`354tA9adg!aqhheA837h7 zZjYiX0qvtG)ayzgUaAWwU}HP0#B~@(vW-Mgy;|-D=Swq>K{)Hrf;bU0pduGgNp7EVL0dXdI|pqr=DtOnwI} zUj#OBKP%tf$3279R&gC<{^tiL#4UnuIKAe1SFWYd)3wsr^<-U?f;v!HhBTnqJ!;Z9 zLb>xXddBD~@4m`cnj@C{6WV}f`}LqZKct>W#(EmUZvm%5+IQO5tAjKRa#8^)%rH`_ zNA;$FlGVeU5#STpz8o4dHsu2mv_T_Vk0cS;LQFq`Fy&|Y3>gPZe>vH#gs=l$NQSFl z!@U;Ru7D12!p?=ssldrjpegSKg1uD+fJh3RHDCle5@tf3)*TyKvD=CB35_BF&5;6b zHV+wKOY-zOkJ09e=CRtg+Fk;HleTi0izJ&`+fd;E;1ldcl*|X( z{k^_~dsXcp6sV&cQHuh}C$X63@&KdZCjpN1-Un<#S<7yK@RcXJgYuA8iscz?c$_1* z{Ud!B9;Z1ZEjW&i?Zx&BKH$G!3f22S!_TuCk4rv^_?VwvSkPMK8G`{4zW5(so^>s} zV{hx#`IFhL!T1ZgyW-`4^Ss$Tc?^WY9_2yGpM)jHINP8Q1Reom9(z^Vjd0IYI=mA3H&3x z^feRedNGV{0kSMYW4I?^V*bUu;**YFhxYi;$=uP0JFx(vkVkoxF!H?6rqMaWM&`o z^a?+VJEds+8?H$m5iosu%lMlt8Ws3yS*S5kZ|{~oL&r)E5zumGxgWTbifcPzF(NSi zv^E9@%!QRQVh~7*P3++pIjjzWT7G`TO6A+Bzsr89-8c(?)PX8ky%9y~J_UeroancC z=Wg?s7`J->FejUG)7fXJ3IODKnmo2{f6g#EK=E$q6~VS!$*H_w=EUo9h7(1<#Z!d+ zB>>U~{3Ezhu=kx zF#q|)niJ467c=|`{`sprS+|d!{s+@G^DSTFyB^}N&A>lF;IPCW5!sPa-DgpM_xmeX zS`dVFZ8p75Sfrm=4c&Y2QSv`gqh@)0$<@^zveMu2+H~YY>VIFm|NMUs`T*_c{9c!( z)j-Zm0;Z1oYi=nhyk}N(s{e0W<;qNU$by;d?dh@H_v_VDHJ?Yht9caAf=~cFuR*D2 z3=M`1S9OV-w*@N_QqdUVkK({vY@IpF4SFn*tr13?So4)%_qYENCk4HT?0hvVsH`z%Lam zJ-z!|K?9Se1Vlj>1<*U^`_*o+uIIYi53$wN)!}`Wfl#;Bg96ZW<4r-Gm7VI|4ER&m z8l7E%g;rRZ9$mTibU-!tR3M2s@WVO90%Cw{rvTtgl!8p* zt_UY^m^lN8mnI1H0;mIc8MZIzTE8`d_X~nUum_Pkw#J12Set+n=_$H)J3Ar=Hx3G0 z*-o4o#AkBz)GTOox?0Gihy^2>>kRPfs{lZre%?H}ax@r8YXinFm@{??K$ae!06!HQ zzX;#Wh!3E@pXcasSSfYYAaolGX&3~+G8=h7tJkk16y$W_C&@N|8G$H+<7B}n6rqpwmU}>c8Q@y@xrqe(6p+&rW3+q{12PPXDm|Xmrkv>x364o2~+sW@7W?f!Wbxfa1gTxColb*~DAN zasA|sAj6;+Q03u}$#p7V?VZ+u687hNWb^0RKtn~zpDM|&TQ7t@1=;II_y6iO%t}-b z_Abc+YU2Q?@LV^@#$rfw@DEg8_$3CRE@**E`!xG|(h^Fxhx4EqrVB4M4H63~ZszK{U zr~!mKsMqA61_|qc`L$zDf>fE#Aw81$(>2yUksu?=4FF?c&;kj8pJDmqNr>&F$qx?z z>;g#NKWDmg$pCJLN@MG-gLqhn?8c%yH_T}uL-DAI>$cI1m7g4p9e)9)pwxgW$Q@&a z>;^elnt-NKL}=ijJ%9`dNc3vF6yVQiikq(R$25jCp*cxhGV}O)rfS<#ZX5FPK|tjJpnX~AAwkPh5Pvx1 zIRaiR^h#(Z%NSXo>vMr~f~Q~=0-O@8?O>+wkY3=Mg1g&cff$_i96<7p1|Vsw8VaOL zYObCY;tf?Gdj3pfd4^6dC{XNB+9q1_05T}uct#Ex38`bbXY@WW2l=NW)?ctD#CZ$Z zSVO2b*dkke6CWB=GrM^pn2@Z;sV{~XPJ*1Kp++O6hg*mDz+$v;V$1dqR zbb43Ah^z%|)>n?w%i}+Uh^-2!eU$_1zw#rWR~3k?1ajJf_51Z_nSvUNCHsvQsvU!{I6|-v03SF9E)B%VRyD<2Jt>i)1pH9trr#)wwX0>pw}U zk!qawt`Z?00bnNPdiB=TOvK!-BOvKsnoOb0TPqo?&W1j1`Xe^)-2eW=s?g=BS^+@4 z+tP3@h#-u4y()4Q2LP&)lA5a{{m5!ec_9XTzf>w0xy-!^c3uGI zlz~z%-H#4w%OD*SErJ3AdtRLM_X6cpp}vFl#|v|&uZblHg72X6Hyrfy>#V70&IOs@ zqeP4k`+3=AK-4_f499I1g*HnWCYg?onJvyn?UB8JnE~3#liLoc7O9mzv{2Co;$M3D zK9V9`4VjIw!FgHw3AnQKdUodHA&|c)nehhndaM@cNvHd~ajeAS&QYN^uH}J30<@>= zH}5?RUjwkpmo0Qb2We{%UY}e75lc{zK&^|d5!MN7*$(rV$%aq#@FMA;h~4v7GhgWy zfcOlY?CJrSXgs^fj#{`6Rw3@*7l1D`kNTc zgBlhqmrctgKAccSr7?|waJUjTs0hv0%4^)Y!k#U1Ui-p{#c50+RBh{zQ7 zg&bscBd&8Aq>by*Gz*JgyL^nf#7!US%ch*O+Fx-qaUOCq%1R ziR;9KzRZ>w3skhZokZ3PEYpye$~yi~cvtlX|2@r>`(EEG!8csrI@J*U&F*$Z&Xzz$ z{pG37=ZmorvwP%=L{{6WDtW0BVVp6C-(s=AfADK<_)*Liz#Xa;{yrv%Ha?fvJ=%t!bjaALTxJ8fyK|%^Gy5ZR zT1fZYg_BuDl^qq0?c>sBwF7ssh|mlXPfE@gU;H1jZ#2 zVms8KY)fPr+nX~`gT3h?Bv|Fe19e%zh_Z;;hxY*OE?~bAF@!!r*$$_Db#A9Q9l>|z zzyn%w-178?PTSEiKynhZHLGRPcsI-=I^32L;~2-b0d@(Nam9xKp?xY4Exy)RaktC> zPS4V4!~vSje064UhB7&n1L)3Om)!?q87QMVf=BbYqzv!x?0**-Qc-8iO#K;OG1 zs}rQks^yb6p-%q{e*x7K%@{E&^&c0LtwEEZVbkSI%jN!$%Y9oY&w+S2Lqq%F7AxRbE8Kb9_Vvf4l50ePA) z5s8tJ={~N|GFjU95u-hU>8iv%v3O|0f0}KY6QWw^sLeHLIDKUP@{D8qCmLjjKfL@x zsu}CLEO0U^?lFxfvEU(O@|?m#EM-XmsS4dP{$^4yRIy{vJ^j(oB1aKrav%&IDE zGeK$^4(HM*jayZ?GHE4!DmOQ`6-e%es~SgFg-uEY472bV_bxGqs@0&x)Fl9wy?Krw z#s4}&{)3@wo%xrrG1uF*=g=x3^LDpw-{YPw#YPGt6+#j& zr!X6zAqKWg1+c>&=+t@lp^KhVs#(gO?yP>Y^yjd@O%i4h&3I7+1OyX`H@>Pc{4_gnbdbK9zYH zJbCqbPrGD4ZqBw|n7lmO+Nf7BrdA(JunyQV9~Ge*P^0V7zzL_qmg(uvQVO=2p-l-B zu(q*z8egFDCVKyTMKZK(#~xT}z;uv>LD_?|X7~9z{nyzX6|*|;dMlDz6@#=!ie(>* zO^y9?@y=5GwuY>uJky{m(i_s{?rky&TFs$SF@FK`&Tf;|6j+_0)U)Xfgdh~Mr|2sZ z;&kUnPxKKU8$d(`@>}5K;o98Ln6Z{0chFmL%06$W^~`j{!{C(tp*JtH>}AwQEMt$M zDRVuh2^XP6lKsqxic<8I&v=$%0@g!T6oZbdlrx0f-n=XZr{RonF?{OKIk-h`9~utD z%*bcPQX-2nC%LZY?+@EKO%Qor%Xnmv(v!XVNb)7IBenx|&9@3s>`U8AqL()boz1m- z4_`Ki)Edsfy*8*amUBbwTJ@A6yEz#g{g^?_H6X45zN~>xbab{`VL||~FgrB3qJf>pjCfA&$ z@Evnegun5Vf;kBM{;%DEF|~ zTD)D>TDsovueQ)_-kx5OUZ(25e6I9E>ahUZ@MFf{<~C9TTvk8RP=a|c2r4mR32f=t z`B&2xVB)!L#D0WrzYaeFzo#v!!7TB2p9*OAI|CvG>t_Dd)_OcIv;Oh&R@b z^6tUTqw7+z_xc1;xuwx``4<+ip_{2EUM~1DeC3#URHzh>KUjGYOIKvqqULwnT^o8~ zm3=~8NfsDBtnfZTomgw-Tr`ojBy&RJi%k8_WYAIS_U)Uz0g48)6DS~1ZA|%m1OEt{ zI+FVF2Ey%v&EAhLw!~ePrQxL`@j-Rc1Uh%g2Pc&K9KkH?h3}eu_26OOQ!MgCyn%4n zLf}X*8)2MbGz>-XOD1B}u)cwA3x&>9BI!yXv>mxweE zy1$v15?jJ)H_MkkCWJYj$K^)p^Xbk&nT9!?-}nX3EKK6^SdaoiL?jP^Xi)MMnrs`f z?aPE95{xi0a$6~+sDQWR z=!l}#FhZ4xWY((~e~Aplbr%lI)G+MK!$GQbtxBYs@X^fAgWc;Wl@C09P7Gm`+Z|Yy zdteO>EE(`++u2wUIg#nxyUOUkU|ab0pW~1E92=0>lFN7CK^}mb^|eK_;b*98+Dr(MsSWoIrVu|mNZBSHs7x@qB7Yb${}`G`XVE%z#wZe z3nMG4fLw`IjaGdk*G^=mKqkJ+r2NrD)RtVt^TQuMJ7s@Nb%rm~FUud8ggkFgT9lQ} zc&ogsG^%7yYeIWUYons7+N;u_VyNn0V6QS(u%q0NaUpe_ofMapimz>zlB8l4Jo&Ur z+1z<}Rxw|N-W=vdtd_8jNYSUXOu-zlj6t&qj;G-Y$#R7mBZI|5x&_fAj3b&Gn8TsN z-6N<4darj!NG&wXN?$&#lB21@;*2i)zcr7F>R?V13r*mCjS7?Xk809|u(ms|{ zQl+{XHj2qB!S%V~7ykwS1?PpP+h@+#Q(DQ{sYN=U8YJsf>l7qqJLIUPO$y}w`)pI6 z>bx40iO)_htW!CCw<9;B&>9v{7JwMQh_A-CwNZNN)_M$g1n-vX=6-Cw?m1+#{&;h3 zoq4Qe%=^tdf^oby{8y~wrr^;GXUGXSeW89Kw-xnClSL5zB;I#Cd9G>maf5N2x0YDu zl$=^74&U>}G{(5UaZkC#?jtS{V}1=z4<2|M`$IZ&TW<{bcL53tw^VK2;l4 z`=N&XWuxe8(eW3aQSs3iqo-DRoHv}&Rt1*DQy5l>)jZV%mQ!1be9mzsYBKPOEtbC;(dC}%rZSj7Sp39xfXG)@GYRBPpa0huhdAiBX z#Z8LeT)>T=k^d(@y?_mCRU&Iodk?ZMe2H+$gl zYv0#X5(4`#4p%O$_qX>9&vMVLPB!Q|h_aYFRFjl4n8{JY(ch_5sT&lY%IJQaW;I?; zNHk>njGKd?jISh}FP%T7eA)3RQb(ZLKIIY;Wy{r}9huI1vk3nlu@*BzK_$I2)rBSe zLtIKV{WdaJl6L#H!di~{r_=rM`WN*$S1>npUXkC_OGO4^7m~}!v-y5<*&7)v#CfZ^ zs+D|T1TlNW62&#pUV6$q^hKojOfOG2xYD_rxk`#@Wf8tUq+F6#rmhOzZl_v|_%R!; zuCNm=CRM#galUj&fK<5<=@B|CaS?j-I#W+yd?AolTKTE`ND5ujBwMfbWR{tZIGK2p zT*v3bPh7n$sjSZ5vlG80Y8#VP44J&>t_?*mnZhTitS66o8tLUZcJLYDm^I1+@rW&6<$10*8^Q5lnSG250)Y%7Ai- zub&L9mL~%ou{Yz2F3SZiuERsVg*3zl#D>z%+05HOzOueC+Bu~K;I8n-lfE4DAzYeaXZD`Uj;i(zXV4y zhkl-TY#sLDEaIfQ%iauMRUG8@c8hvHyc!we`c!flyFBu3v)$%sZp&r!q&i>d)9pfC zy>t3pyw|{O=^@48(z(Kq^sj;n=OP#7CxzQ%-)+$6c2Jj5o&?om6kn;synoi)2{V8E z6ef=rW?>djAK!kW=}Qr6yS7JuTVOrEcA}@8=AqoY*Hr-| z6d^_$(#CRfFm%9g1Q>W&e3*y8FIeCs2upDPTLP8_=E2={Ao~b3gMt6kMjrTvzCHjS zXrJHT526BK9s~bj03VkOxWBF8Kp7AI{(i^_+=F?kEGjJxd@CE;85vpIo7yx7Xk9S7QDc3=w)Vd(z_-O76RlNa*Cv)Hg-m&oJ=fCEaZYnq@<+$c5jV& zmBb|ebO-(uAUAbz0P`|4J3BiwIkPj_*qJc1^6>C5v#>F)(|B>8kOsD<{kU^!(4A|8GxK zdm}qh8!KQ=2f=^)^=I1u-u%;%pBcLJ|FGgWpYN^$j21-VXTIMwL8QP#v14E#3C+Y5 zRDf?l%AhZ}WZ)0Y?{Dbui~xGqI#wVHhLIL~sp0~=mHIG&QhX@D-pTfQ_vu*s4AIju zQPk7+868w$*Ldc^0-&ePH4m|!oo8meXZ9Ul zkCC;$DrtCe=BV3)E=j1bcPtApCj9rE!3p=^(G!-|02Fos3{aKN@GLng+@CiZ1!?m$ zitLqtR}|4;5sQ6=3-Hj>&=VYnq~#P8B1J-2g|(Reb|!_Z!uSwasOCGV_jfK~ zcsjIit^TxTjc_zY*nbB=^QnhlUg(mQzYKnd5cK;kECGiB!h31P{%@X6Sz%v#W}a>8 ze-q##l0sNkz?x4ksQz7S$NVr)mzJ-E^>2JOxTIW-08x_vtl9jNIiVkxyPKOzU}0E@;GZP{6AAmk zQ$mpZ@<06}gfv)K8=-i+W^VQs*Nj8%jh=n)i`59eozip#fn$}QC3-@aUY#GvjHj$> z7_G*_xLQ%TQqF{5o7$%OW z>&?94-)~#B@xDyP^EzATE!A)B;hOU>oORz7IGlfvnj}f=nln4I-g$C)x@*(Nz4WA& z{-hOEXjo3MpZ~DOxSO$t!S-sWZnp>c=w5u``pv*1@i)1#YUM;l0-j}Fh*(&Giy-73x&Lz5jxH9MX+=UQFvwW20h^b7J?MHhp( zItcA?{UR!;(_C8kZ?6t_vJ2~#U&D9@i+Wcm|Rv--d4;&d+arM{RZ^?d+_--yoD{y8<@R|o>F8rWQ_b5N&+3qbU zEH;nRwyv#|>l$r1Urk;G7SE(Tx=rFV(Kuj$?_ZbKXr% zXOxf)U)6A^6bsKF43j6APjKxbl0iz-(!GfcW**s~c+D_zF9uO;S!8>Egi-M2uYKJw zaGG)s3?*0P8_HjRXPnR+CU~*FI$@Gtb*^&bI?qGKybcH!D@7!~o!Ln3TAD?g+Xn4> zYAVKkB38$FpT}`0OTDSivt~EfyWa6}wp*C;+?lT&Q1CfADQ$C^qZI^edzC3pH*@24 zWnMj%{1(nJB$aCj@hVTbrcQi|K@fGhRnadqwfE?gOH?OoHY$nNnf}B@4r+EdXOa;@ zA=j)+>rV8trX7P00aJeJAvGvS(d~RC9);(1AGh9#AzK^A&sR&>$)D4`CR6PDcmjT) zZUvq%iIy+)3*CYyXT3#}mF0PIjn4Y`b`zT4Kb~^BvKpGjp@lqpg8SxEf&tRueg}!R zQ$#S|O%O$dM$&pSTVJgGNw1Jioc(M{lT8@)QlCZxAfc->&U44=@w11g-`+koISRBe z{*-9U_Dbemosgh4U&9^G3o$z>QVzD1;U7n>)<$ybfXR^dT)+=b1VouWha`tqROXxq z61#Qw2;E*;D_?e@td1K-R&nWL`=u3?hr0{4`F)(So;3Ts9j(~V`jjuhrs;ar%0TaQ z%0{TQcMMO&B;E7GmSmgWRm8quzTXeVTF3zoM;oIt2Hw$`7dEQ?+L*`5>w^y31&G48B zz}8P(9hZ1BTCL53y}}%^Szi~Z4yFCL8 zxQ{Vro`kS!h1KBN2nLzB^$`NRo=R@2Y0`Yic1Lee@-BNnzo9(ON{pcIw>jo|*o#dU z1@HZ~GxAkH49mEBOPX$Yr};1NK5}+5REUjLEUqToaH{KhR?R%e0-5pIwHm3VduJcl zNOD+J^m0-u4C&n*;Jg=ZTl#41QukEgXkh4hkVw61-xs&tmFTxYuwr9?=~Po&rI^OH z=~L6TG7^XZjF5quBMk%_1b$hu5I_(YE^4+UH2V$qrJA(E2suPe*VTyNbqZL-{u}J$82<`cf}8z-ZM3R- zgUoN2h807|Mrzhye|;JNM9%-)d zIN=llPLpQT1RJ4<=+*A~?Knk}VW+H1t3P`Cxr8ygvUF8)moI%DJWdkF)@+*-*cY&} zJEW}C3ZIv;WYAa-e2LBtxFYolY?mrfIJ@`5O!Y3EH<|MXHOO;(3-2IOm`QWqw+*SO zQW|W}A$tX68KMdxmsf&IzeIC#G{NGLR>nCoH>>vg}f3?bM;&xDUY}G zZZG1SkGFbUCD7X~*N{Oqa%WvQ$ZJGjC?Pk8>9^w+oR*^L;y{Fwk&2LmSWxL0&MOIz zGdlc%yyC%i$}9)p;4f^+|??9MyL-06Uo1si!J4e4|366fL=-b#ew-K2RD`lzF z=w%S+f9c}ZGLXoJs~g%u;yn#=nlSRLr|$_{9&h~kB!W7W?HT=-QW4F%WrvS8ag-1Z zNk}lkQIbXR#F}x~IOJ$Zwut*}1If*yiF_KsO`~&tsM+NKd=3hitKIt5M9NJsKNcwE z)E`IJG3r3&ng=^}=_4a-O^vYzLx=EpD z`VZ`HuV+VA2aj6gahX|P^#M#3kKUoOxMMNA0q;x!;pO9b2OrP7@a!l9VO0)Ah zmi+X)nsEc7rh3^V-LEFQ2@T2GY5T&^gp+xZ&6Yuz`E+t0le#tFX>XMfF745C=zp=d!f z>}#3e_ISE3bYWWrrU*v7CrUdQ@K;HKjQkd#+3&)j0&IZ zV4y_Q3z7B-`jUEs!}c>!;k=!dUBxGdms(FJ8%}2}1Z=i2-Ap<)587e4%;(r8U69JK zkeG0?4lWmPb{)u6Y6Pd}W|n8%bQ6g-kXp#?5cL*j4g?GlwEP&ck%|G2ITZK3l-}K& z$Z1^PxPJe;JxS3Xr3pfzIQXOJS|A_ohY%P?iPx&$k0=)@QyP9%ue>OkN1765u_c;M zH6+wu4&>*dc zOkBdX7g57Y5Ak5aqj8Sll4I@03du6R^~XW7iK$Qov$|t0toGo5{7U!S6tyy=R4E|b zCU$WtA5(M+=aCw+Tzov3b~Hxn1IF~D_9Ck~ARp?}IaU`0<-uiy3dPJrHud`w72^h> zvHmux@kk2za8>yBwLzJIvc84*A(Lu=W)mS+7R)btjZ_jA?@8cPSXZRGwJm-{Jxl@gY*%Rok8_BL99Xy z;MG_W&b)WC7#Mz5a~_q>iX- zglwf7SY-Pj9?kxrBQU7E5(ajTI+&aI5kUNt6={wRzL|BCYFnL23j3NYLZjzzk@-Rakz%|pht0ZaHdu>NCDj+^oxU{}=p z(qpm5!0Q{lt6=Hq#Q|Aju0m?BT~Me={ah`qPYRk)$5!eO`?N;`OCynJFWQcD0U1$7 zpbTcz1HaIAh&875I^Je(l_1XdZheUJfM}L~-_BN9xDzdoqHMN?quF0FKuo_41>AZ7 zbA!UnzXJ$>NnT4YLvbbireekb7eC7K{GLl}@bje3*`qwcon%a`X{^?-iY_MWT)Ft% zb4GER-&Y0EhbU^0Y*m??W3h@wXy$8^f$(yh@=?>PW*j|_*Im>|55*HW(&JkF)w|LO zh5cP8MF(C#r;r1qn;*)`&p&*-g)1ua;_OBH)j*06@y(?on9R4f&)_>`FOU$4uRbA& z#)V9))dFXKsVi#0NkgrLi1|k=_UM{{cGMiYEB`@onU+B?)t8Q*^kzU)^EOnWJV49| zW_0e;thSvRU8-7MxL8b14-97;0`;mTn10|%?@Y1N6afN?<+g3DuiN|z#l}IWuogGa^Tls zEYuI_+N&q1K=RiFuDz|Dv=})4DDsJ)ovn}zDL-{3>?YlHHPN#rgnx+k30cbng;ZuQ z9X{z2zePkV88Fr0AR7>s$df6Ce<(1X$~uoB)(xM>H}kt$ovE2C?T~Wov>SYUIwe~$ zy;E{Jw}uXyCe7FCi}5gVk=l##ixUTvDXrU&P6S{HA0JjGtVRYcz8p6TfGluRUaD^{ zbkRY$1y?B1h%}$XAxP+2po3y0G6dBUT9?~iCCz80`}N^AfxT}Dab@{McUZY@cyB#{ zAcTZ=_k;MEEq~L~6h1H9EMwPoT8AmSzS2`!1Bl~I;Vl*{B2#+UZ0I`#2Miy6IJ$m8 zaTfYRaQHxS>+ucWd#k!|Y!KmaZ`+|whMy^r1?86yJ@rZp>+Ue{Zh41LAdaI`x%E8E zbm3EH&Gmpw+fy#>+XSXDx@pc|>|`na*jk+*T!`Zy3UezyTJ%L`qH(Qm;dH4-6_-Rr zJeTMU*(29iP`98xQuHUT0}I5q<-6^K9X#}_O*uCr(~v+!5lOu1O&P#881x=zom%v4 zM#g;Ze;JvlU#BP)SgRH!)t1JrkuslE%3#o(sJ$b27&4#hvI+P~WzGN=ieD*S7)oE> zW+oI>Hq7A=XY^J)y>>I)iZnR@Y6Xmig)3`KwT6BMk!7FNw0qE8m!BLsz}|k%RRCcw zf2dt7tV9p!L;s<291pF@2=ig)iF1#X+vpk_`C343u6qJ^UnqcUqu;EO9|xl;OnV&Q zR>0g|j5SS){gRnQ!8ql4K1I<58ZVh#V%rQ$VYS|?6lKy-qj)8T!Z7*fxlyj5iB-+y zHpFMikpi^{8+(Kh$463^p#PKD8~bT6oJiaWh+sIqrEbhL8@_E=S;0!co3fHG6O>QF zA7Wa&5=U=^oqVh{`OUp`4$->}fd}#fn$%|yAYhRtgqUXIj~e+FdN&at4qn#F!$G60z{c~SWeix@qU%(kvVEvl@Ow!mM z$|z_)w;m5LdjUQQ9w+vC_v>bHOJwdNXdo;MpQMn{(<<&v2}u&7*?75z`6lWSJ1Eh% za~Un|-N2V%j8p|}6B;NW7cT1?~%V>kM#6v`(Wg8P3^2rssfkJD` z$AXuC`38$lL!FUxZby7U`H#o`&{`*9KK_4dopwOsbcO#&`Y&a|@JQ5XskxBFt_R3M z3IA;={~SDU!$+Mq3*=+!><;S#jgAmX2!^X!=3hR&Ll8r3gCB$D#B~bkEuS$!uj91H z{!JeYZ{WLmS0rS68^jL^9=w>2nB;M?pCn z;g+t}JxHs?^Nz{~hl18vG1=~W62wR!0~?Svcy~76zd0P`0Oo&wm*75?VKh%QybdY!blYsvI z{-=xZCcx<8xRl(WPA!{nyL-mJJR@}u;#m7nkV@1r^@>ZpgnsR|H(bZwGs^)7nAN3=cCNL;KncGrGEBAWF%lBJl>LAxQgPwWgvlkC; zjx1FtA(}1pN2a;Qn32;v{W(^dj`y8Y#Q?tNaR|NbMEm*EvRUnDy0v5u|Xp)H6ngNNp7poz!~htSM8Gc!V$ZEk$?+^zxt%e z=flzb0?^-8cZjui&Pg=GWOB^dCU#n|NGKV)=bv*HpFYYD&mr7Pp8~Kfj!FGR)e85z z2n3&8E(pqkc`)u$XTU%MCkDXQGJfRHi=n0^Y~gR&%$voFDsB@U*JVtPZ>))Hs4BVV zG9Q|$S@Xkh2o5%!W+Qte3IJ@EcaOTP4>HF$%}1vGVIk%U0^6}4z_=Igre&oAm-Yx7MC7@#1=lTc0e zhd7?f-0Ylee-5+;7@$Ni{EVYPUidalAKzWI+w|Q}{q;hx#-$et{&6EFJPvuc|I3Bv zyIR@B#6*&J0!>N}6|2OS&pTovCoHv2KXpa*RbuANpY39=%@+H12Q%n;T6}Wu-3`3o zeFZ>HXpjdnqz}DJLNWNgl4EBnzJjVQ$Pa#qpsW8nJJy}E_C@v?DOl)ni;SHFGC#mG znd-q=Q9(k`_+10L5OcLel8eLZJ@YyMzjvHb!1>3RW~2Zd_{cG5N6hqf_6f5(Px)24 z7H!OWpNMbw$AP=rQIIe;TuJ?zR9r89b#Enm&s3@5h+PI$Gjd#=qk50*Y6X{Ft;7N9 z$(mzLII1F{vf#iBxGE1r5=;bcd1IF3myUG9y9^hGlo zdX=C*hAiZ__bZEYi8GiCt}c%+oDDu0afyt={W_qXWWumpfn~;5XhNTF!)i;}{LhkV z-HEp=Dh@dG!0xpiapW*V1M0S}4GiO$F);B9a$DBO`GWB2bax!jt%RVAjV#h|;t`j;m=@ySk&8wL&7^yp6oA}g3uXU6|QshyD?0zA;vT$Iw-f*`< z;X0^eqU$}~94k2%4S82g^#wPCkqcZEQtbA;+vJ(Hi$e?L(U(i!r&UNyVwmg{I%iQ% z=yJfBg!`uthAvkOzM+Tm>n2Kr#^5phh3)v3%OqaJokhfe6cOm{_r zdY#wYVSPV&l1L^7F|{ngR`jqu_F!wHG%;NqU-wX8X}CKpt_&D~q2^k~vmmTaK*FBSVoVh?ygc!R9p|46sWSM?*`ZTzu?xn`2dvY{O() z`gcWh0i*a*vD&Mo67{F*RL!d40}E04M}bSBM9#sg7y_2@sz+s3 zFV<9kjbnh&{y3FNe84J?U>lK{BVL}re+_u5gtZ%%Cc$K+FkP~=S0-;}&uH7kh{ zF5rwTNUE>Q0`SEWn}1w$1`X6sN|ohCuWIwe;69cA7YnPb@4?rL|Uct)o;Tn zkul^+QLWbyr_L^2sO#A|WSumR&+A}n;Rcy(uUkPC*78yHu9MjfJ=#;jusNc#(G1GD zHds^p6{$|vj>`kBc%k`x$ILqtsv8v8fNy?Sk*3Qv#xnZ^pCbsT0tj}uE!e%QqMf^K z>DVeYei`)BIc?BF$^)KN9Fbia7C782oLE0O`W=%34pip$y@im7BV%Rv?Nvfxp;7dz z#lAKAq_&N);{(m*QE{pP^{%=ua;I_xqCNrXdewt+9^*!nF2+N>ipuC=iQGel$qu37 zKSq3+8Y(h6+K9zkZP+eo{1sPvhhpllb&DB9{13wsBfl7gast&$GtaygLf~xIc^WWX zU4p{NhCHHSU4QvF2*lQ*Ip=9i(^JpCy{T@Tw_B4p5cqELKbHM9b{19C>L!&Jo&WKMBgmUHx+VGM z!hB90gGAc*(~w{l0@Ijxgikxane?^YrLkv`12JJM(PP+7cYd(bIY|Xx1+nbZUu~>{ z*U|+)+n%v|SMHXuL0eyb(tKQ-q%PJzZGVasD#Xvd6$&w}_Ma_wJEG-3btBB4AawM& zTbj=aG_0oV<(g?#MJ;>Z*<5!F+O>G0R?@h2^Xf&zz`q1#8=5d^k(+s~&L&1l_G=N2 z%ILSrNM;F%W6KwP4lEq1HT`Yap-y)Rp$#5K`cN)CS0iSgPHP-%WxGHXhI5B)@Z%p@ z6NWb@17bt1ti4~a8;F7OIZ#MEW7#Y-f2J!=-D|R4Q+*$OnL?v;^F+-M*Lu(~w$=jL z3cBurwLjLe<{!Vu8xNH^L{yyhLUfK^EH=%{i5@|xo!l?%f5z|`g(guzq!2a_r$@#5 z)3ij*QtB6V^(@Tg&{}+(8VTino<{_Yg@B}l@sL5B3nO#S{8{G8#hR|?f;b6ln_ATh z%~r%e;LpG)kQk}U0*)f7ocBIE8yEr9sE}#{?0DR{zWhfFh2eRj$=_?UM!hDlPip|E zh3NZ4gwV~|Ne(oi??|ba7yGjufJ6Auj7i3bj1q#+`h+*&KKiA`l)?n1IQJ_EUB49o z0Vns>E2OCE)Ot^Ox&BBhnvWYa4*^mJ0HxuhV|9-;a=-*4CTo1F)W4bJgkg+9H{l?Prz>F1CI{J?t&?a$F>#O8iE zaZnYa^O#g>&FTA-3<4*j(9%E_gJ0C@lMviHqfl z98-Z}-0zf3SQK!v@lmS;yia%&?k`dU`5=(ZzmP49megJQ9r!>?Q!LPw*V z|83l>w6*+ttoAa5)Z+XfWx94q?I3M>L%!vB&1 z-H~A8;{4BPUom;sQ|@^rmSGJKJx`~sCMs&BYL4xcMZQ-6F;b`%&EuFW(Q9fX6Gtqj zkuAEfaH08#0dqZLLcS%@7?g{q>`J8bc_6z3f_`izw5&m&?1B&wz=dR_m@p27le> z%qnts>w)IivHp2Uc~1XX%{xF=(3Mn%JYZx=?nf6RMZFjC1K|LOQYp_HbDX~t1dA?34!C+T@&A-TGK8V~1kG*%JmkZ2HRbz(bz}eu zpU?~`0l*6^>ERpTbB_PkaOj}oM7;g}SPHBfkjMCM8%e|OWPLc!f8Ehu6Lk!zJXrD_ zfO8jydH)fz4pl%Ie+4SYg~(5gf7kEIT(7ZPp7+XvRo^R5-P@obVLhNy=$U95{8vWb zAz(p;LMkafuuyT>{CA)RjRLfPOMl&Q$bjoT!?EP=+5+{d7Tdy?e<$>@hE^G95C*ez z&aLYi9Qy88FaEnk#Sm3K`ENJPe^-}^8#x>f{mK&HCbW&xWr_ce~gY(>gK| zA1Hrc{K`Q1Jq9^KA<8`!#ngc46ts>U#|OaND>s(-ornM;FXWFE3Rm=>vEzZU^BKfW zbuoGG%UnLb(E8NVk#gxn0KHWKMa=aA=q;;@(_K9l>=%EtE`aQIfZ*ad_sagmej%G; z$Rg6=kSsG4pEu`mGGS6}{m{Syz*W5fpqC%-aEg-_C05T9-$pGWL8;?&Pme%$O(X?Fj`G>w`LzvQ8t>aNh1(A>|tMB3}t2_GN_qxVqXg9(*4D510dY^ z4}q(bMgYF1al&y-r+akmdJlkl;NM0%0;myo!w4SZ+11MQyFC_uk9c<5dMygL-me!M zg}qSBimuDT!zS;+)9Eibx-R+^zdj`=0We4Auc>Mrao@)DysaME&SsPA-XX#A@Rp3n z0qoM->N&5=p-h{)?P@_0a42In3-q{q#yH9B6YDL236z~0I|vXO7C4=*7;Xblp_Wai zG1%+jziE(#YL^@%vXA83NP!a;0J>(+^bYU`#>rOItbE&*(F+YiUFk zJ=hOADeA;g++*j>am|VDsMIIJr| zVYCzJ3WDcttH1mS7#og;Rx5wXTR=X<%_B*Q{3(l;1A<)q$senBf~o21z<6)I*=VhF z)@?Jf;bfA2q+)+ik|YrT$ovc-y-r1BU3~WOMWiqdq&x!A&s?BN2 z+t~&9Xm$AQ0cuP{#k5`b1b@Yl?<^N^{{7c5e1l5XCxOW|DC`tdlClk0%tzx)e{4I? z;xn09oW-6~CnC4?OwQZSi+z(BOz;OtOk;@v^lgF=K>zJz%jEzhcFU$~uY|*^7l!#= z+!gPOek%fCD?faX^CxA1?0nsvoCthl@My89X4V|QNQM;Tmyt-1_DSFwVI_Y9pum`Q z;%-)?K3WgQB86^Dqj$Uk6zbF_fOhMv2PR-t#}M-^^udXJdgrdJpot>_EhoR3SE}P^ zS*=FI+;;*S%aa*rz0QFoU_%(SQ6rUzfkSDi^?nOjiO{Q+fMLxx9v1wdug3M-t3WjkQ>vyRg z*MM9S@2fJ+w;#oyh%2#9=A@y|qR*ijd3jPDyr-MtH+2Vq(o8Q}!>g6XG2<7SZm(_V z@%Q>ZZ1tmr-n;_vhfd_*Wax|D0wBO&mmb6zNBsB~6W1k)>ZMptu7j=k%Yt-q*+Kd_K*taZtEm#iV&*?sgQU7@-+}^J&Mf z*u74+8h$OgZC}3>!Pm!sz8vkuL)=Rd!JXC5x!?=%Vk`xa``mUY7LlYmWSnm$MpXKBItS@^ zGvSTz!geZvb=yAv9-jpJ;L-R>nckJvPI)&|?#NXUScecmnT}fYxP@_YOj_$~}jsQR$iZ`9rm|6Q$ z0u-(e_7gHg0w0M=**=w4D_YMCA9x?LEI{uTNA9muE7$~}&2xU1c0(SaeVFq&lv5=x zh9Y;dbsP<7oM76<1TVLuljhC<{AdyYRIMLwvnXjW_J2nHf&;0UtqgcHfik-v@C7qa zw}_v{5xE9GIKOqVSyD5%HM3S99&CT4vln)DZx!cr~ z%A+;lzA>v6&m=58zyslUEnA-K6Z?B5mCV*a73 zuA>To@!gP^A|jo?&1j%&xg^tcZUnXpUhRq654?OF>)*4NF<3)+_z-6sLO=r-I`Et< z=P`-L0Gc)B=`Uca7nN()Et&@tE@~^lGX=^?+dr~h0r!}lv!eovQwQK8`@|Sbj-J#G z?YN7n(&cJ6Ai$g!WeO7VsP^5Q_j^xzh#%Cj@Vog9qcfKxqoAstX^>ST3Pfc`3VuC) zv*792Pe^4MoUv3U>Qb1}E@nvsnLd`7C0p3VGf5fLwYch4(o6^E{SJffYUlgj>CB@j zh_rUfE9uqj7y;Kdht{rX>Ia|p?7-2@do&9=dqru!7Ert^*EIOO0HHysVY^)e8kS3D zCyCwn6NKCWkLGsXN64>5h*Q|t$nb32(6`CGmEigp+_%a)Fa+?ey(jtR-#yrpJm^Uf z-+=d-dcJ8v13^QUUK4i@LV>5#6*?G1qv?B|Y{{0q+m`KRFuLIzI>19rW5Typ`hJ1> z2ZDHXVBnh*MrrUz6GXdYY*gyIGcMd3yzcu19YXg;fxmJG$DqK7TC762#DbR_8^rt;Xp&2`lVUshCZP(h@o zbv=(qWUu>qH!*D50KaKy~8&xHqF%C1C8Lljgp| zQ|FeS8^>mnVk=?!Go)LzS=Bbs4+Vjby_yisjJYk&C{8%on*I zaTdp!iFd}UvEeKKX`6{-EbN7VSs zIW`g#MnbLYXFOsQ5x<>PBpfmIsD}OT1V*vb77fkVWDvAe05R+F2~K}fRAPG!dE2z z#-#_QnxVY5x;|b01$jyRF{#u*2^T>Dkr*?Kg*=P-Od)|x}WGx@-#^~_SD4&klfxlD>+BMX>j zx}ZK(AM{SwyvVbHGB;xe5#ny+LOg9qfUQJ1z1E+Q{KgltD@_x}sd%#Ak4A?WjmyH= z>|BkxSzH&t1-4bRYBkB?B2dn=zeg0uNhaxh1u$$8&aR}fK zn&EhMDvvwRd>7aeX?ec&NSMUAVT0(Pj@kj>Bz2xVz7<5)62Seh0wK-4sip7A}1 z7gUDxr95W9j*zB-h%l?haT-o3p6I_v;iM^g`Vc3L-7ouI9OBSG4)Hd_)=tmTX-5;+ z@ItmWwOz7hFsK1q6!`bW(pfU*O3Y`eN16^E;sl?2QJu?JMc0VuKYXIv`$eukq>n~? zUdBYx*T>*`us#@0U+8iIXoB2;n6Pzq>K!zn_=G7s0b))!uS{Bn zfK2V|=ZkEEi;4U8cLp{AWP3op5akd&sMDx=89A1Tuq1S|AGu|MF>wGqUdFZD#4TGu z^$e+)!S%&LPgm&>KRcQ9jk5$X-Xc{b>v7toPUATcYZWs@me^iWXx!YKHpR;rk(MH8 z8~CyAyVbV2i6l?Iv#276$MMX_`+SR#_JMEe%-3Qg|1*<&+VjomCklzT(|vBLNz_|w zB9mC;xz=jfhC_iu*&J9P91z&2XlZqld@DXCd2RG_14hUZeRrTQvVO-Cwck};VJ9F1 z9~sDT{o390@)pn24_2Cux;|k{s&V!E0(Fo5`z47rZ5oIaC8`Db`P5;W9pa4~b^SgC zXs;fkXskr6Hg5bP9XL`Vdf}g2<;2-r3aC$>bFn!mVc|fm{gU*xI5b27;>FS->x8}UE+XZ{9+9bs*sx&mimKh<}Hh<{xQ_<1SX z-0swqmF>$PAQ>!@C9YZIOYgyyk({_1U!H*lE0TjiF9SZOda{n=s)N8VcNGXyrh9K+ z_?Ca?M+rNik^VTn{e0bva=E*ikD0JQ9{JxwH^SU3fX8jBE;W7@!mG=jRaQVVGz}n7 zMqYa*x&f{&LlBSyaLd(2zS}}@9ai1+?BlB`_VS{v(u?WK9eXZ>2OrURT{1vAh!dcUZS|qiF{02W;|}NknXpALekJ0{V-0?%k`Eeco#j6A7@yT2C}yrwJDiK z5OB7*OB=eNV~kCypg*7TgYl4r0628@&#JzAlE&dqUNl3BLm|U7uZ3G`*@;zsPibgL zR)B|fwhtMJZNJyJM}7Q}Z5OA;7nHMSRWmbcW$v${rNknG#d-=vJn<*e7$E(X-JCu3 zeArz%4SU*rZewWnvOrW11m0U8Yk!cdpatXNz$}P$F=OeABQVM6p(Qy+nuUy@ANGef z3hjM+U=$74a+o>EE0Tg&)Cag&?nhapu~!+`cw@F&>sLS~QGs}9jm_-&S=LQCSU0w9Of0fZl`#a_?45q3Z3 zC94?2mcY*~BNEhl(4OpvUzgPF@V@V0_|a0Z;ZfIt+5Fx+nxTinAepkcz2XUa*fa|( zJY268wU1|_7s1OaKJyBkR*ly0OumF@-!DM6ZV zE+FskTgyLOm;20}IdkURnX}K{SF^?DVsekUbX9mJC9|2^ts_){%A0h3Nf zT2-%w$7y>rf7iv(_D15vh`r&r%G`Tlm1iz`v*Jr+JgoQ?Wk9=}TjBjrLbJ0l=7|KRYZv2({%($E0p zBMOIxjskbKO}s=6!HkV-=*PW%z_HdJ-bwE@p}5D1so~oTk_W8g@Sogw#N06E_az0s zVa#z6X-1G!qUJiVx(xKH6o9mVe#w9+En!3%%Cp&9w8N4}7Y?A4*3z z`&q5Tuhg>W`_JbuZIP6K?yzf9I9ZP#7Ci-I$r!eV8RXN0X(x*Xcsy5K=Qy_{3v>-$ z^urV>CTk&xnE|W21J&JXUOSs`>@Gn;Zeu4qM-hjsMAcx=}9?85g6cv#g6gw+u8osh@>{3Wy zEM4hS8GZC=7aaE|P)U8f=3bK3m(i$;c_2aZbKnwK>jkQx1C#cfJP~w^M!uZt3 zNGD;rqe3xmt@SWCWQ45eWbs&~#{|tIz>2Iqm}VtHnq75m?z5CEFJ50yo*sEOi&KBf z6M2gUk(BlXLEFl0tGpDL1@{{VvZTVTiiO~H-soEEAgg?DH6N z3e6Yzrv*UsrLzZ776(O?vU@oI^?>SL;PI=;*lj$yIi7%7>$a?L-nLd70Tt>F2Oknn z5pCF$$+9O6BGu>JT)hDaj+tC~+O9M%1xl7-TdnZ0Ry0Q9z9wNh<(C+Nq2#*atKCZj zM`yxsNE)f1bgG=}kKvJ2tRhWQN?0)689+%Z4qgu;cuw?8CeyJo6!6Akz9Y*LJM0fB zcUjL&zW2f&VOk>FK5minpcNJEf|BdR(B5{QSByN@h@>Us?KKK3_)byb9IX zfqDGzDR+eMVN_Xze89CcDT}+Ob+8|46MksN_|%G%Ob;)PCh8krXT_2pjJt^;A%WzC zZ8e#}e){x2rvE-|C6(Dsa94#A?4l8Wz^9^9{pdTv6*LcI=gUUUtG^Ctj&Scyyv5WbV z-XVx~=SALtF_=(Ms#Rn#n#RLNX*C(~TIMe0wdh|mrEa&f;8P38N8)^)P+4=nMiq!f z!QnrC*DytescCR~A-ehSYieU*lSGEq99xCyJPI8&W0BuImUTV;_&{(1MS zg>0=ySYz_z|9f8s$o<85KRHkw!i!qeeT)92sw4g5^)3xWzZR$-5fnM9oc?;J95DEG z9*r|?=a!|v7tOotWCRo<2dOE$gmUltc`Ifk1jdO&#UZ=vJi8$^1a+9b zSfh}zEFHA`%mO{{^4}#u4Wp(psv{Ir{8xbp%G5ZaEZhobSJRNSP}aj6E0^Gdv{6gt z3(L|8-!I>9TA>#M<^-UkwNU2&+)E1}C3`~7ef1kq(d>Ug#hw>m(*J8g@(NV!dYHiV zA3!JbAE=l;p!oU*5>g8X!@mR-)vVhGuOt+p83T;MOHk3A?DP2zeo_J<;g_JIy8Y-N z^R-F9%>WS^l1b03`|nN)aOWkcSVo{=r*_lrA<%6ADyo}h4F0QaKy@#>LdQ*_btWF> za{UK{N?euwmi>6~8OXg{o7oHkeOM(6%|0p;-XK+gRB&0ctAtO#e^rGDo!#iKcJ=5Q zW}F#oCI28F{#@v|Ea)GboH=StmUVuEm6Q;I8KFQ?oyl9GQQn51wG|9*fSmC-0D8{XfO+jr&#k+`lS<%$l>k(( zrsFV(c+XPiN`z=n_zeDn*kGTa?znA*rR6{L| zQ^-L>d^qa`l=X|L7J%;ZZ!+_{y2dJT{rqib@)|+Xt19Tr^HgKDG&PbHI7G%{$Z`*y9!yyL;@Q%C-UuU$ zC44toxUsBdl}&(e3K;auK$N7+iIhNXsOg{?LpB!VfBNzO5nF$@-kq~|FcuO-YuKGi!C;A9?6SymPH6Z0%>nRsF%~)JpxPq zG!K*PB>Sg8AV!li&tVkI8Sir?^N%3$THpr|zEMaL25elTnZaH0&rOHEP7znI^KEu_ z&o$-UT3PMc~RI60n1yi7u83?;o-nUgCAvrCkg5tWjT6hRqWZs%i=np=n^r76ftRd^DhKCXrQs zA$*DT&B{XWw;#?zJQ}}6rAK7=&TNZ;BEZF1SNrqb&){sxQ*93*Mn*r+_T@^Pce%4V z1ZCsKv|T|Ol|Z3~H);;3PZ&cmF8=SSw=tUCU_fSdN6Yw#1&YS|uT}MWl`^MkvUAZ% z@R0VLY6zP0njTXc$kwO zY)qMCtH3g%VG|d`F+CaxQtFvKkOqs*UJnPpzWpu{M0+*E4gKqIJI*L}=rok{><#;q zIW2A_06nW4vq;goVfn0B0r{YA@`_mE2Jb_F=#1@0S zWMBjGc;hZv3FchY-5*{YzUsj}s*YGV0O{6|;4zT4cw6g+A;sjrPt+K@p3IB&*0C8o znP#RaI?(bYaV()PGhQ>;=d$i__TBX?8c-*Lfh~V)dRSaL-wFVg5tTIgX8y1l?|aAs zk$Q``m1Ds*DD(ldU-oecFm}Fy{BzcQe2oxD>qynQV`iN=$@Tom-bZWH;P0bCW*~G_ z5rXyFrNMjlIl%CH!131jZ!V^ia5wP>u->q3HcLn10d`aRY4$x>#`&;M@GrVyW>1mA zxJ-Lddw@hzB4CKyeI&GJI(;)?S{#JM>8k`k#I>HMi@IJ%g8Jx0q8M{8Fzk6Rn0_OJ z(5#-(#jYlSdxUx|Unagrk8pc*;YdY>jDF%6sKa|{Sa?M>N>zv60Y2EgOZr|MO%y%p zhwK2QTX%_fnD?^@X#>7sgy3)DrWyi{hadORd4Q6I&zK7VzEJZw7sDucWwbV8g7V!? zT6GkZwzgam^uq@%-EX28J!Zj?tXvb{C?hOyI06`$S*Sura3`^y2b-{@PB`|!jMz=Hm|-wX=tLwJvK#thSgBy@Qp zsS!}B!h#S}qfr`|cmU{@tHRJ}IgNTbxhB)c~5$dW5wNLwtl;-g!O^2tk*I*$a1F!?E zQ6eiWLlm|jM$l9k6OuLmgmmaoaFF(_AJk~oSO+uheii!uRdsr#`hjpJZ;q5Oh2W(o zgEX{LKb_BlG0b8llcFVZGknR$=oEk2j3eHw* zaqKM38t#W8PQPU!rsMJ4Hf017P9c^+i+2!!m1^%}Y6LdmndE7QM1aMbgB~sPL~i_! zyl*BV19ynU=}xL%jg(P{r1dn*c*ZT-X=(!ikNY=S*OJH0D6P(Yu?vJbRejhKarYw; z*SX*KT7gJg!S!eKQb(*i&a_mc9ZF<3y|r|{=?1V%G*96IVE?T%>+ z)1vR{tnlfWCdh+S^u(p*)7jOcz9Y}mRjhvJDCr!GSnw%WK!=M0lZo=-wqdd{02Ps@ z7f0sor0&ydfw!&CiuAm@&fU~Kq850ZPab1wFr(c)jlzLZPL`KHdw7NOD*91!SZuH{GyrxV43$}I=sP$H zZe>i&xZ05{GrjA<5m$v*UakETGFJ|u1=3buT?|nX%VQsY3NbWFhjSXu-1EA^zo7QR z>j!}=_w&6DEk?cR6$S~*7Ev)M@lX{8cJOR950!}yVRS?W3q-a-#FiY^g6x>TyLIP! z*rA2m>Vt1?Xz+PJc{kw2a=|b_;d7ps0#^5^`H^-DD9h{gF@NL<-bB-RAf=gE&<2lF zOfOE*rz`a#m9f`3EE1$NhwlmNn;n~ZkMN`E3a6lDIgCwiNWLTbZP$z@R$^LFV6yWb zsOg-_y`fJNr|7MgztZHv#rKn(ua7a`EyqV!$l$)?H@het#wxW+kz1)}RyG4+^azT~ z5_c;|qkY}R^b>j*`gQ|~;0p{XC)(hZ<=ay4#wJ+#js%9^9#X4Cz&W#`AaiI&!9Zf- z4(evoV+Rt);TuUU@FSq|#|UF-EZ9=b^r@#wn=6Isua8bHP{+eATAO{z_a^QmD5L2v zKHh`W-YOluUdE9~4m_V}C&^$Zd`q{hLLahAEdfZQQ3i`8fZWBOjqVF7fYq=)zRdjQ z^es%#H@$VLr)NGXqbFZ%1h$-|)ne-82`*x3 zhy==S)NG^kf}Hp=C>$!Wo6|^ErZ25fYXD`eSol_#awno7yde=G?^qu72`}RFbgb58 zlbgM9sObXH)qrD%N8&inhg5#I$l_4>U+JnjB1eV zxNK+>iIlp=-6|cNkaQK{xTk%pbR5`G6};kn9)ECncUYu6^K+hWaiRxPZvi^egxW;5 zX^e)tpsA#7Q!t-{EooV4KbQ&1%;V=CPv~rBg|VieaflYkD#pGm#`rsC@L2uNU_R38 zjvg|j$4ERzfo`QAQ4uiBIO;<@`SX{ z;gV~9Tpn@M;UVI9Z3xbto0xVFF6O2js!-zQ8-6P4kiV^^ZA4<8%w!1)2}U=KABo|$s~-;HNR+}juy{+Ga$Z9x={KPAv%n|X zd-jblJYZf;&pjd$z%Oh@VX4?=-A?4Gfp>^yG9OjkT2^%iiApN%bFlX-3fLisSryK4Fq&K*VX{?{DRJ=&h9Eyz3`DC?=(iY1<+x^2()A-oZ0x0FbaO zU)mSn9h-KweZaj%op9!Q>@Y4_CO>PkL~DuQwA z9Zy(%FNKTW^Foe}Oh<5)5Rn_clg>|D%snUiMWly!e$s;m&%xU_IaZ%Hqg%IYJH{!7?aq*=pT3eCu z%JhR*q-1g^A?mYi>8(j7_2RZ%4OfcmIpBkQXf+Xf;Xj!xFGk2_gprXj;;>x%#q9^K&$@nwE#pT2HVDq0D*vHdQa+QxL=o*FP8}mv1X` zxU~~J@G#_2W@&j))50J#k~Fn&ZuNa{*^g_K){MFgZ23JG0}N;%3evZB~qm9a83n zApG~y5-T6@qo#4J9`q9SJ*t!;&x~M8~shbWU_-6+IHP!9SjtI9r-TYFsD{>H16;}F=B*o31^ItQ`)*j8Wd)don5|N z6wWWn&?xPzAj4piDrD)J0Jo~EM8lH0Zus8_hNSX7h!U2y!e83?F4%_V@3#9t1v zOcQyX-D76gqG<(I#s=Vby|8l;K8YPEN=i+DRG=*elsoeh^~g;qxSM1mhS9E0NlJ?u z<=!qK0Wqv>$-v(cPyl(RhQ_v+P%@P$nZdD)>%e-z5BwGLnif@8zo!V5-MgYbd73TB zsa}-_?f8lDLE_jnu_Ov+i+NiZ$9~xCJ74dY@rb6}(jx`QcuvnpK|^Kfn@~y+9HK63 zAh;=jmV|jFx^1$ic&geQMcPnQjGqk1;HKV!l90uiNVoDRg;OeT%(_DtV*V(xl z6YHJ<^?NeYbYh~Hj7~WoC|RseNr|GoFID>SU;5Pz771lY@27mB6MjVFa+Bjky#)0D zhh%SOQ0pc$NZJqS0?1U(%(=uP~E>kYyf>~ zr67gpH$Cv>e|nWKe#%1sKTo2di`H7R)tbsEj}H4xt`?4nS7z{*|q64*C%2!N-^`-0H(v!!k+(@TfnBw_vb~} zN_N>z3S2mq)cw^;%E(6TcqdkQSG54xxjIMBml-6P5Pf(nH@(;Y;XiB1VYnY?SBmndfsX@iHMM8#L(Q|wgx{SY4IWN`RaT)u$&~zN6XA@zJT1_ z$RhLlM*SHYlAJ8u-`ef)v7;I!$&aym8-?AaPMaW^+MEC+EK15rg{F{FdTZCU-ex`~ z;@U-ZEceG%Exl2k3H7_BRdDoow7i6#f{f_-^7fAv(rIX3zgEx2>#p#0_AYcR1k;`5 zq5O~eEa3Ks$-su|TgK7*lsC2aUTog@N(rC)`*k$Lf`jj(ws&uS!iH`beWN6U*Ct#2 z-~G4U_3sz>bSvcjMJ#K;&HYaoT$)nOf(IRmde`u=6yRFc-LiG~=O*sQ7@)mR+eSj2 zf`cdU>wLmo9{<)De>Fx?3C?$&~=KQb@Urn)+!!c5Bk-5AJNd~lD}?s)f}z| z6XMQIjU@N}qt{gV@E1d?-M)t+3*%;G8)gC4n&ik8tK_m681>R*0P3b?U{1=o8D24P z3lXV4g*;2-r^T~?PQoVS^MDx;QxcMl>YonM@LgBuKfA5&nv>o3XMLpa`~k?GWVv3P z>mSa2EKgZ*G7f@aN~Xp^Dm3jXq~9R@>l4rZ@GI~TQ})&z8%XhwK8BB#f?pF)RfPa5 z4|x%nb3g()5F@2^OAonpJOeo2uVJEi9p|%H5q|sw@bMIY{uc7Fd|k*NmJe$G2hN`e ztNdBYKe)^eal!fKhlvr5oxgB+)h45!4NW14DbrR0hG&4U)7c{NU9|KvWZ=o%DrDMko%tij=DPYmW5j3=~h7cWe_nzWSAM*{TpMbb@UyCmk<*^DU_y5}28S z0+$jLM>T+}XwvIuxm@8EFpT|ddCMP&u{gXxjd#(W9?D1Ul+SzZOZ-J=!gHZac% z*&Ie~Z~BAVt_*PCa(Ta%f|o7yzCDMp1KZ>x&p=Sd`8FlsoL`}6%@#|#bZ^`w>rxiL z;C;oR?#k`KYkxULx13)C2O9R@E*riPQcwLf*}$Q*mA#`haXx1s+pdx;D@n~C7zc-# ziy`Ah61{c#HEzC7=2p>3TBO6n?~FxVlhY?66C(w$1NDsSsZlcSFCg@oWiPyv+lKG(N z)_$R=8U60+x)2_zyJ_P14vJ(T^0Y;Ir@{+o{%W6cbo`ZfIj8J!ATjT1hP*iG1Q4t4 z%Iw0*Hn%w3Cl(NdR4u@AohLf5G0g*b%^T8|Aa0aIUPs?0F$` zT^tW|xQ9R)K-wud0$%z+I{_RXW+3Q7A4mwZLlifvfFUf@bNKDs^=YDnSzF(9j zGEVv~3*riq@-EVI(u~m@OH#yiP?bN4_g07`JyT4kTAn=hL%X92TX z2*FjIa;6{y07>1mf%2}nF_3ua8pb-B1DF5{qzVqo(Y}j_GP)-!0BHI6{-z(RKyOEK5FAT*Un1$@ZOUH2W1K0qDC94GW&rO zYLpe%nrPXGsGn%nYV=`c$TJ>Mao3!)aOq*B2tQ|GlwFFYQ~B#?<;G`c$NODHpUZxs zLk?=_6TEGC2I?4>!GSXWWXT$kaz+y_L0Xtg5coKNOR!(I89+zbyPpB1A`ZYP*?qva zZk9wu5#$Zt4rMP5oHW1gpNdhVC@^*C{@fo6+i6Tc0bt@p z0R%7g0FFi4e1yx3(isodEhQ;freDD*uTh)3nieC@MYIeyh}hK$xSGnG5rF z_4?!w$3}bYWFfHtgqY@C)A?Pw!VYPZ53cj0vx*N`)b2;0kvI!ixN);u+cYlPqfa2- z10M>h&T1?D^286afhmW6ifXK;V*Gc~}kp-!H=oQ7KH>R*^X-`wLzJ5I(PM z9RO=jA;w!A_`nA83MQT@T4CY|`09mD3*B@K;O-0s0&H$>d7uvvr{JH>bRv>9ZGa?M zsrUj@0zkpKxCKtbGyyhKrq=<;NLbQv%K=RQdelFWLg#W#?S0cG90X#*n9mOCj#U3_ z{91n^^@O7#!TzQ`Cq=`pEA$KL>$N-rAV|^up~=SrpfxU z8d%gFWmN*~2)Vd*`xezBSCq-cN_}jVH}1R%m_4^dr5s2?EPxjJZyWA%w{J8osQ^fy z_Me>OP1=qZv9wB7^-_#B`w`o6AUpBV?sNuv!_k;!?Q05yFxw?+@!l2LlY;{#&~;Hn ztyXp$fJQ}vIqkeurQQxY`uN3#FAfhZe8nf)qOBI5ucmr-L$hLlF|M!qgdKbkft*%p z^$rJ-V0>CWRNpzG`Ht-p#|J#NrXl;~$46{wRxJ9C8}2g@D(1+2PVNR#n@qvhM?YFs zzp!JIfMfFUKp7}8z&rM~5|XJ3D+*q8YC+&xyNlyU;q&wsdfK= zAX&BCsfFlm{;lDzl5I7XuWc*goD;|fRJXkS>MLE7y~sC*U`z7K+!;dL9D!{*%U15J zAnVr1*Ksn^!i9Wakz}kbDZ$g;YIM!?Zb*RGiT91+CxBzftx0}UO$qVppE{~!eoNN; z7;%4*opd=ou;YnCJNVE6Tf)MM#Y>dCumPyL;=u2m!aEsNPvhljz~WX$`#t)Tl@b3f zTJNJ%-Zpr&WCl8;EbVZdZVMLYlx$)63r~%Pj&D3Jzh$5u?FHawp*Prf(}|!D?~o2o zOd^LZSf)4ad2)CrJmCnZJLnfei34P|UULb-Gr*v;s8x3m-!`9(YLsm0>BOm%u_W1j z_PPcWsz0ek({Nmh8jcW2KYcm>n1aI(aPubLzuIQ4a7|tupLMjp1dOM3~}Rv|$D#NTp7W7~rSuK?6Uvw%X;apw8c9hm`! z8SW0G#%;s7u>eGdL*mI7gUc%FW~EX4u=ySBXcDvCzNiEqqIwCy2eDdsTLeFi#%%)C ze@YWmJwj*fMZnQ`QyWY$gG1o(2Ugs$0Kil6KdsEP5qqN$9I6v!RX@=pjLgj}HO?Q4 zKHf@Z3w@mDC9;r%jAa;y8%LCtpmPI~Rar0BdIo9ZLKE|LJgGzx-pC_3R3ZM#g+bDa zwH7xUJ@ooe5}^kpLg6u8i0yIu@g2ctN)MC1C7q;%?Q7_KqBXiOZoxKNMAJB}T{_cA z9JHV}afLShlYHa68NS)8C{&tLU+;3GIB;w~Kz*< zCEyhftwx;dsFHc{x4F0~!l$fo#nP1c@YNh7nAvqbWcOK6cich_uGcYsJ|; z044J0J{P zJi@$0^Gr6-1X;k(0D%#!)Z1BCy%%9e!nNX;wv6RYa@n>aC(6SS$shY2Ww>x&+m9vy z1xbyaWBo5%lq-hX5;t@2fZta&cx9eP{d`^s9DC$jTYMKsviJ;b3u2>H>U0)wkLW(p zhKzbRC37>JTkK>CQNjg-w-nBZwit||&X42AHoE1Wkein_>#@KKm<56s<@s#V)cf^( zeef}t!bUHAIR*3Ej^e(|4=fO8@|dXr6EqwNqc_x+|Bu}{r6b;IgC1Y}zhS5lQ zL9NDy1IusR5jZWy-p9HU87m(0omv)y?^TQ~seU;6`qP4DSaWsX+l7fD-~TIZN;;{tOHTXrUT|g z4J{wKeE>Uwte>u7iL$S>_G9jVM;9^y5$(A<^d+TbKdR(!^NoLG&=;_1Yc_^gQG7?wj|bi(ijVBo75_tQu@5m#6O6(&n`8Z zgMD836Tr|R!fn({;|#-jzxV}9LyD&Ur`r@@eftTraocD1fv&4nJA4NC%A@tT=7e@V zk2@&b-%5~VDJ)6Y=TBcsF^d=xI!bOVI4QswEx;FIhVfgFXa255*>AXbW@9pMJnqBM z@HO@_RBEFA)lB%71g5LcR^Yn($6;S6{n9Rn$!$z@0df@DM1`Fv=1(EnpUvM~BOr|c zwp?saGh*$H=H2I7eZS2=#`aP6v^d2T2j7>_W4rKKf>)-CY4)pB*<{?cgtbtBI!&?3 z)SYQLfs|0HdG~;(a!|{h75k_ADb9UJH@+L3S5=L_s5LC@roar85|kCV47anC8oY`1 z^UyM36x>o?7=W@AsxA{7MZn=|N}VHl$owaRxYOCZAZV19=oUv@BO*gHueO|E>JToG zh~VImKXL&f&U+ykmxY;D!w~E)`0Q3-59gnYGE|+!=Pap5PldklbAY88wLE2gy8FIz z*P#Ma!FF(e?eY*QMaU3tjE20=I!<*I8=7o`+#0;H`>ui-L#g?tw;8CzE7Q1>=0|7# zTjYKAY4yq}XM>1*2T)EZ?n~Rd&(I7v_oC6i_rV?fiLI+W=WmJzn`i4 z2fcB-B?{B^%8ZMg6XxZ7?||~tdU_+6@Gy6rkwdjPx+zl3mh)?_30W8ILRQ8RT}G8b z0@yPCz^Wjc;LRBIEkY&#Kt=}@<*he-v32AMLBIIcG1Z8wHK~WD0Ce9>GbuZVM}#cp zlTtDay-0BGP*6SD<3G9=bElQl<~Q!r?N~G4Ba)W)fH~_(K{Rz!m zR+IOhYyBj5IQsON*mH1}&cEl;Y*WY9_8|)wJ)C0?R0bUq{bsaHS5p4LT>|_ z4pcb@&ItWaMYYv&HW3E))EtN8viC*w;!6Emb{AE|UZ5{bPW5C0hWrIugjAld_h+=# z?qsj$`&AVJ)vA7p7;v3&2~&P5Ssxw=GO$|XAoie#lgA*NVBXoC#FcGk(N_I&3x*ca zBytpDUXthWMB21+(4TH1gL(NvCK=C=#yMWJ^!W(eOG|;8O&*OPhmsIJ^$-iS!4Ur* zwfW_~NQdyFvry8D`u3>?R0IcpL7O9Kx;7*qjt99PXGvKdhgA*6PKjz>^x|uyjGhEA z(aikbq0v6?$p)W8`HjIbNZu!{pb9fTR_yp_kmu}OtxZ~jS}e|C>xAxl+DTS%YK=%9 zPR1%o7P%VzF#=(-OeU5%w4!i9Kw>w;QqyMIp{4OrNC7?keJO|JoIVf@L{7ZWH8ow^3RIpqvn!CW*OOb8DryDF&o^dMj&wXIpy~--H%W7wh2b*$HKuM;$S-d3n7RJmx zV(B(=EIzlRoT8AyeLgLY^9GIn=Pfgi-lHK!s9w0LVhV*RfhPdwA5CCO;~j5HSg;mb zBdIw3lYdYf3^YB$T?r%0Iqz6DA40Kv(kB0zeQU! ziQG@0-3o+D^zZ0^vsx{d>13Yxo3_Jj;SV9McM5>N=`|uJ#=XUD{FveVC1>ID+_LYt zh9+;fKkJ;JXvIO}J_kt~Y9YS@_mLzscyEwlex!Ox_6Lykg^?Wjd~s<$+mOBUXg0?^ z0`De0yOb8D`aA8?s9WT%L2-$^jSl8MRB3O_i~eAc1j8hr3RlvWyFU}?rhF6_J0-!3 z=7ZX{*GQ*OBbp}`IA>+Y0yhTaO+=nsQgoz*7PB1wKrwGWJrsTY#JQ7=XxPpsQ*x9j zO+pK$#ki6PCfdVAiaj4H9lP~QQ*1G1Y5I#4qnA=(2 zB0IqSoS}yQ$ z*cf^-BL#7(ou+SxbUbF~P$haPgx0Cjj@EZ;j@!Jo7hmxESPB!S$V->6xa+_@4gUhM zjPgv{Q;XP1Rx~GvvSGIth?=a4QttkcNg1Z!p!q;V{LXm`9fZ>8fG^Jg-K|- zvKKpx#Oz;weWzXa=O=GY9E$MBMk~C_65MeF_Riz8VSK(R#CxZOm)4ilBoXj!V^yfHj z{s=2ZvM088A^hW9dBRtCiw{qIF8n^@W=jN+!hYcF3?cXc(S)672c3m z=;@sggi3S^t8ZW$CD1dF>wm^F@`&Oh%}Vm8-&`!CMZz1KHcXNGZGowukrKn4 z58U|$)d%G*lj&{!X{SB?<=%v&X`A!YnHmm@=sv=ei>kl9NqMqzZD07@R8Q}vWZjt% ztVhf#m3WsgI@Pf{ygoc*y!5jopZs0)5to78#AjMXn+$5EA6WYr@vt(ti;Jm^*A!+` zKfD+o*(f5-l*3@#|q<<7wUU)iB7eJS4Zg7S+GD>OZy~bA~(}sw3c=gpoUJXn zfVkh*6GUse4zF7I2aflSvQevLWv=jo=pP}0R71G;@ZooBOo(U^7+PURUr9<$jec_n zO{}f2n>gM2e!~@N~WZTPlY=)!<`5FqT#BR6X#_nf~ zjW1>St^V;fnp#u*b~^JHt3raqa9WclaLF3|RP@$u_#&)TatCU|&qy4anoJwN-nje_N4Jn+8imt-+dMPaHn8;;U>4Mh{EV8XBp`!;$uE8YM*TA_9|` zYiNJ2!kk)48~f(T;$HptCt*e*i zpWN4oKP<8RDacy&j5VMn`L>t<7!2x@5VzzePMv1o-9%J_@JhF@^{=Y@WEYGjip4F) zOQ_AUc!i+bR?%1o#*aCvWF)V0QMYnXz6z=AaE;}PIAjf}IM2e{{sBjt(-^PbpC%XMxbR)Tn zW-aXazDCp|)|s4nHrW`p>R5u(u!mbDz?Lm&{TW&DBFT{+dohma$m6xLjx*8 zlj~P#{}H0~67_{-z4GjrNlpJA8Y$pp)qj4@%*>eD@rps?ej)z`BB8fB^x(<%OQ1zd z55YU%Wl*ay9+JBd)U9T1{ zzvVs;`9O&!*4F!3UsQhR=lsNXZohWV{jq2HRxZR89lCPMT>*(swWxWOD(I=*nqqni zcfi;B%(&$t7nvBH1*;iKV!^2jq}oWb{bnh?=}j(K6l2v-1PI^sklje6Rnc?QSm^v-K@gm&(%HB=jxR z573#_`|e7D%4m(zOfGjBvb6vW*0pLMuulAqWPSV>aT|3SQLE!P3iD^aY?;sXMFh-ktO{J#*YyGJLV}kgxaDpN57QW{D0+20SpHPXSz1e@ejxaX zqUm26KZ|hvoJb|`9N?lqw3HHYudl&Fe!(*?<}I+-Fh0xn?@k5agFl+HrI6%1CH*7* zJ?I-)jxEjEbMbE;UC!`rcnMnQQEITeJuwGG^UeQ;`GkM=zVSBR^-ZYl{7`eLj%pQ8 zbL80lu7}csaW#}06L+$IPY8s+bkh}vmOz@Q9#SZ1fzVP2IXNXS{cvghz-1r<*F@ni zCrn>4%@q6kIsR0$ES3X}uWHu+Yw*EUgH*sT)2{vUHaxhI*7CEYyte^0_E!9VKKvFe z&j9R#NZN=VXaPZwW`^vuJV&#2oS5tmL0BbH+VvkQFq zzCDTMv+HZ2Np5}hnZ-K&&h~a)(O3S%pGpjMKIDM99id+P-+&I_;0rc_#_n8CfuaVO zEFCpp|JTlmyjRy=p#g(cNEXs4tlL{w$-Gx=+O06${= z>Fnyt_fyak@t;YLpmEtzKQ*j79lv>Q-2d0tQ}Akwv5hkVH{xF3 z$d7t}fOG2>F_*ZofZ`I=5{P~0Kki)n;~EUL;>*jCMC$8KIiN#bFa#e$`p6(6yWeYm z-88WnWbbNBn><5%?`x+xhvw_bAJ5m4dC0D(K?X88CGT4`-$a_YscVzDy@u@VCwn&h z-03npf|x@9^+p=0A@zuWHeU03#@zUB!^QA99RyxK1Pd}Gt6?&Bfxm`cBIUJpall2e zvi501_O4n>6@;F8x5p+%$D4sw2J6zz+-Z=&vXpXGTcQoI`Jekh@K9PMT~NFlTTT_2 zb`d1yp|8BXkFS2`551)DSY>Cww2QPFUCo2sbv&TqmIN}C#490JPKR(6)M+f;t^BY3 z=uIG4dfXZsF8_S(5fn*Sdj1|9{K!;^qYc6kxr%3vkZb)ER6P8&FnHaUc+eLL6EH=a z{tM36*HWRSobE#7P-xY8)uiGpxB6E@@hdg|W`_fs9U~I!Tz&h0A&D2V?r()Zs_Prj zdlHJR)>x3)nxahDidp_S95q;8;KMd4rM-3k8dJXR?%%&G^uh(DJ-yeVqCNn0B$Gkp zZjaMvYkU9e337yNeCN)c63Zpcxeb)-NA2QlKdP`T>t;=HO)3_z0+-ycEkE<~r%;TJNCArs#?^HR=qZz#D!(K{BCcnW3z~7F&Gg39 zqcshae;ynKjgfVS8kqHgaHy*Hnfg^{Xz2e%L*?Ti3yatH1>bVd<+AIE zyIy*3RFEk=myPCj6@P8~i(R{yW@JsV;3?+#XT~Q`YyI5ssNd%~*k5kOz-l;x-o2Gl z&hP7uilr{<`K4{g5^cKs8$3g)?l={60HOe<$y!NtaQL zFOo)OiDi=0kWR7T*zS1c#(t5!egietK<6urxqq)2J&M%f{9iLQgOg|Vo~4=uoQ~m~ zdpSm>ORQSL&}OTT!gA`v442KMNX%eTfZzz?M?z!DP3GX)S5!@K*C8W=BsI14bo!P4 z`M%_OV|1BI%jd@|81{q_t>(rPzL%Slj#E|taq)^M$u0TodB5degHU8R^@Fn+p+G~e zf?%;@4?8yDx9TtKtF0^)OBQJ?XOkCtT3E6Siu!Wuqb9gD8j3$<(&jXn{BtNt;@oKZ zcc=1~%gely_Gt`*$UCOvd}hs&$@dABZ-l?j+tO!DYb}gV zPeLZ92$-$D54M?lhtSekF0s=KAG)brJL7HmPD)gq3fqFpa?2>>*uCp5)ou7saLVQ( z2Wj_j#!`fYTG6T1l=v^SJK#XpmqD7-^tf{~(NEEVF{Xbjbgy!c(Ouh)cvhO2#**2m zOFinF?)9LaB=9TFcJ2@Gz7<+>zIj9{xCpi>XJ=T}nQ45%$e<=z)PMB$>y9WN&^PjqvH;x{Rh){jUu=)a!-G%D$j^Jy!ly zdg$rR*=Ec|mq!yQsG!nAchbXqE~if&!r$~k)vbOAd~p4GY2E_W$ly75dww=Xbw^rU zzddfj*}=)X2MFxhNzq-udBBZOhb~_Y*2;DNUdFIN_<1-SjFjP62lwkp1|!D-Gc=hQ zI~i$l^AtNcD`=m=MT31aKt1pX5EKwKI;4(nEFnh)Iz5<~(^!nTUZHX`>En^R!Gw$0}GI!0+>DKRt<9eMFYx*H+8#F zUt@ucRavJ0sChMz6^LW$feN{P9On(H%$9z2$#(=GF1{=7&hNR8kIk2RlT3V&@v#ei zF3JrwtW~?FKIRjd%|sV!?(y2|#r}2LG8@1@v6sXt71I{ynAuuPZ`HCV0Rf*Q64?bD7!r+ zQfTy(aw0RgU<&-c;9$%P5u^KE-CmMl+0%m_?sWS^)fyG%cQV)sZxb#f3uRf!5!uk)deEfhv9`%d?#jSJrgV zAmhWg-ubUj=W&+7rx$9*zG-`Et`KfHe5?fANW6lr^&UF4vc?rbNo5tU%kz@^H-3%T zP8T&_eDjKi;Fcc(#?9x@N4c}46R>%g^P~48HyK@zy7cE7y$_0a7TOYk`h&92)&$d;gUO$1CvYeTs`WFg!-_A@T; zo+obr?Ge_s-9Vb-X`nr?%Qsw6loS1U3fHoib7gd2YsX(X_Sets5i^Ch&(*9;X**`% zb7vf1Du7@`Pu+J=aDwNu1>_N)R&~kcdx}d|yGx$P(`K~(_zYi7VwVW&f9hObFZ}L( zM)rX&sxhHjUJ#?fW$k53(Tw!2Y) z@%cA%wjlYFU$U;oD+DJ)Uq8I%J)J|r_ih#y(cS}?KgWGKafxd8b+Agy={1bg23gTS z{gURC`TtS&RZ&%S@7Ic;gi5#4-6$a`(jh652M`dXyCno^q)Sq1kdi)hgGhIGN~eI- ze{GESck^9*V=%aYbJkw9SIqf5bK<_zS{uS41p*U})2od>ua48Vxdb-yO1wxb&UvNA z2HN=U!RF0NT^oMi{}rHZC!>D!7jeAi+=Sz-Tky)XQh$x6hFmqgp$urDOyUtvTW6)> zkq6&GyInhbzQVoYjV+h`u*p>WfGCX(D2i8)@lkmkSI@?ITx{t4w9R;Nk8Jc!V}!%p zKq*?h=_cvbiQhN~8ilBBW6cR1Bjxaok^GYC(KqW#<`q5)Iu^86IRi|WvqqMb7UrP#Ep+#`jyhiKgE!%dfY zUyWA`ni}d;C@!%7#%5^{8qA`4z3K(`%I66Qbm#N1<&T!<}NTC<`u?gd|M66Tm?lIP{`>xa2=S|_K z_knO=nu>IpR}LqWafb_$zhQeT2j<@wI~lAXN@?;e%rHjPg1lfKrGaW7vGO=4;MH9G zBZI)og+NB4Z3%t9DgIa1`HxUBfv$OWB^aMA2RtUVS2HJV+#}_2Vsise*n%SmK4x2; zg15`uPTQoCnAa}5R{!g?O2Ml+RLiF(r?*H?-fdkD3KHXX2Ri^!i^qO^U8o{Yw zbboG+m-~o)$|Yoh9VWL~yB+1~w0G(b}h3qCZEnL{pk z+9A)i*#@h!%ZX#x_npqKdd4{|0nbL-15K?pSA^BMR=TMeIwh&ZL^{xx7jLPI>IV9& zWT-)xq3jT_aM}=3#x@**G43`Rc#gZJX3NtW4MLuprhw^&b?(^B^~Mf`G8;B4`XTx$ zpP;G+JN&f3ZJYCL$9iJz3=8#=DbvqY-x+mIrTJny^TWjEOt{LW^eb>&l_!!kL}pQL zvzWJQA^&>bYEQrJ98@vu{#MI0y$ToiHE`BwUsZLV*Kw0@wEGgILjDuPj^%8)44wUg zZTzVG0MuS)rac>z?6KfDQNP+k$`Uk-3}qKqS+L+EH)n+eHK4Mo}tfDA)d|{%Y&0;ZS(m^aOaESdCClmh|032EGnzHf%nrK zUELAcBu|x(ngH(gf?w2J#8Gzr$Bn8%C9&xsB1uvfo1ruh?X_)m*4GRxoibQ-{ zx5A=iHi`c`Z9aq?lxQs2Li5xG%u~jSYMj=BX9HC)6vXtSBA&bCG-Qm>M8g|~*B+l` zFkcyw&`-~2rB)L>J+AB>AGN-Ep3Gm#CFZTMdK;a@Ox2Rp3MrJ&f`r9~Q1&J!cTtW; z!^}~E`vB#?_P}=irF?=9>IdPllN}F zQ$YyYR#x6fwD>WU^xmS)-kg;Hjza?+yko1Uhc51yOSdAixJl(pn4|M@X> z&)w;ctvk%feo0*SiOR}Yq!C4KI5=n7O3^go_EE0U0JPg)IMDn8t|cvXS;QC|_X{G0 z=hj6-cdpOauc@JPGiB6dDF!c3_g4DX`8I?k5QZ;Hii9mLMQN2&Chl=KT$Ai2I<*-IV61xR}-_R0#%DehUi4ih=}V?ap`~Z8^nd zAP~fXuVoj0abl`-7VkDCKU5VwBaa1Fc8sUjnSVje05hrMG}mF)UH>^W#w0sG(OGdx^j%!v0wim}{Q6=M5 zJG)J0vT<{x@mRK6g6Rh~EZsIV%UD>M{W?L+y>%M<8wMBmv=}WE!2&vqKwnnZc{K5Z z7daegFl)y>^Rcguf;V7}8eb;mxNpGsUT=SlzW_^+9qlT9{fSt$vA}}lw2z{gt$7Z$ z%yhvQ%V3We{rav=k)7h^Y2#;7w1W3;XUKUGV}IhxCBJ4MzCc%!Lr30C{Jm{ z?#`%&U2}c!wnFehgPCOXYk8RP@kHW0QbLKc*qC6^#iF^q4B)NW_n? z<_1oENr%%eatqaUH$c?<*OG}10o;3uqo?qM+sPgkmpX2$2MLv{3hOTfZn$2apB^zf ze2pr#4{R8|$*Xe>_W47H1tN}}44=-2`5JOVvKco2!({ z(0v-&($;M+TUom`&F%zJUnV|P;p(XMQ6&?}WT<=<7qfLVe%LLWAwk4R%u&emWlG~#vX)=aS<@auHMZZc5QpdDilMV>gR|zAi%DtESKVf_+^{N=;b1(+H~M^@ zom(=@=BUUnYPM_~^lL_Q6}OM8^imHVO7E?9G^ZNa_3a1~_4!dM; zx4>13c8@jHQQo;{zk`6$eLS$MG(TT!0ZVJ zr&qtq?&g=wKY#XcF<6yVL@(s!6F(R-$xbCk;h+{(p_Uret8Q;fbDhA|cl*6RD0+5+ z!~Afr*UB4MWC?Iv;A3EW{xG`{QI%Ybaa9k`SLL9srtB~ZDK~pCovg(W=-P}j7f;4`F;(g7$rBn z46E8%X~^(=xBkekq>oQ&+B~Nk+n&)(o4T7_>%;i>+>tSKs8#o&GdYVGZkrYE=j3W0 ztAL%)@9#fC=ie2QRSK1>0{7YA%$9G}bapvi)fUF7TDdPx+jL)axAZ*>4&Z8wy~ZyX zC;=p7G|%wO;Pd#Hy+mqY+tVN9_X zQ?3Yn0&U>nn;2^jHxX1TM#{k|kZULFi#Prt za_FpmS)BWWHhtCvc*$r(!wqKGv{Lv3+CQb>sFJZ*{m2GP58S>z{4d!Riwr>9+ue>* zNH!n;w$T+dXK%xw@(&2;$pT?qL>#{X_SjKYzrXE7!T{|A2>UzK1&qHBKZC0D8)Dxs z)bD}%2kIn#H1Hf**YBkm$&7x}e|aAss8g^%#iY6Op#AAgx_3}xOEI)>ch5pFa(8}3 zoTf@X7rNlDk3VJ~oiSX~?ohFkFJ38F77`vU;KyCGZ&`$Vgnx?ry77^NyMDMF6&K!9 zYf_|MYIdq}r-S%U%iamaAV|n1zwY5T(J-vOZqz4Jw9!8}a@=@8vF@K*2$9LnH3+mP z1ig74s!6@~M$waT^w~kF8Fj(ay1#51J?iV>0bDSfj09t=aX1Y(;6W@oX%ia;X(Kg{C^|-53PXEV-9Id zH;>;)K8Hz+`CpP!2Ek-G9->Jo!RbFF%2u)cmKFij9px~O#&Xp26kSPSQF3R7vK$o`f7MK z9yEhhEM5PSR#lRKH2S{PFR1?M75*@%-(TJ-84;>1GYpYM9``?*(&IM~wqI!Z^Y74- zKr|&F!W70ge+N6+fTH;|*;QkWnN|+t-JCLrCh_C;Z|! zBu71h7}+)Nnnu9UU=xJJ?8n}^f&7{U5MV$01sS66!%#Jdxy)WMsjS5E@ClJ=20**angDjuExnlrqP2Bh0$@_J}g@Bw+{kcf1*$11G*53Vaj-R z5N$l~vJgPKnW&-Vo^N%6tSl#F>j>p*M)O(95rAqz^fSX_qvV+ULspG)f1zZAQoH3G z5GF%c_`8IRdYN!`&E*SpzsI>TH}tE%yqryBMo>ovd|*cMNmMmv2^=;~gK&um;+P=z z^YdLmW~%1wC=Kyzg0m`X^HC!YnSzmLJE=#__K5?y##b$u;&YrtIadv+7`#PR76H?W z!5l625_#?B5DsXfe1lJ}{l*C4F|Wx+nnY+hX)xhq8k1$rl+44_y}7we}z}Gums6i<2h=nP2pKuSG3|WZ)?NQm{sVu z`zW?94{Emvw>xDFBjP^P9J{X$8b9g?c8labT~4%>Z#&a@%~DJ*;>%{`cJ}kAIrVa* zV&|E;3g^jT-ltcaC*Oc@fC=ThZ^CB7%_~5* zlN(Ho(bDw*n)q*f;gC3lkP4KIaCPi)wc7T9aFI87F2a#{&n}rmoaa6lA2Xj^2H)Z;#Y@KVJ-j` zYcpMCzrpWi`r1z949F=Lv#AneX7hRC_we-we?S~{>L(rFslQy$jL$7hur2AH`l#b> z&8p4TcX57HQE-O1n6-V!%j7xEqXf%?;Hjm@J)7cJzY>UDdIh#iRJCoV0poIEd1%Dl zQ94+K$}rSzzElt_VYw6EaC)}AF&DM zJ{ePoxgU=7f*j8oCuC4nWs=hsRJ zphsR<6?r5HTLF1GScfX!r*`h$~AV^LyiN-HTfdXXN5N-&9 zMM@_36Ua250zjMkFKvq@VC3o0?0fG(cI_reT1tp9O@2F5s0cUlTDzUtK1TWz4U+%e z7?|7u>#H5ev=d35-Z$S<14u5(_P{q04%ZW__HHMTrQKVbY{|aITqoWMBv{RUL9APE{E}b!68jS^`f;VdtS~WW@1-HYj5YoC^kLP(nLE+rqkH; z&{?MlBod42q_PqU*cykwDd?R~k;U)Yz0~){L1DfY3Hgi##IB^hA9WQvKG_2@B#uxf zxv@OW2dvng`m4*pQ%dAAAm~0GOvL$}HOT78R_UPhMvlQ!=UQ8Ewz^S@&lGs;KAOG+ zBF7(q%;WU=Bf!lh%CB^mdEE^L($TU&F7T6q(Rg_W&XU~GpKN4I|ZXs3J7*7vB>E7NY7n`yJ!V6igNcfYyAcJ@6OKyRNL&^Kw_iO<0ZImM$?q!-5 z%w+@V%j)3Q*i*mMlso3-@xDV^Xz(0)~p49;RdTYHtfff>zm z(g{SLEy5+Q=&@eSN_d$D`rtb(N@&L^_S>IrC0JH%3%m`vM=$OXb|`$Pheo#8^g%zB zjVk$3*W2$Dif#5!6_+wugsoogTf~j+^I=@XiV4MyeXn|6Q_CD{;9s3gB6K}1=_DWx zj=@8vb86I1W$Y>jN2P@WU?8XfY_z;Jf$;V;eO4lt<;2Pv@H*Wf0sh9^9aNEUkj~$a zOAm+Am`QC!`j&BFbmkUg1SDSK69Dm8({|kxBV}k2i8b8(PInfUR z(xP+2`v@Nn@YtVu%W@1WTht-&!c-WV+9@vP+T|{>gpaJrwcebxHTihV2Exa19Zz z^F@`|LWLhnfux#qIH%l$D^@Hur;08NU8?S0d>?JoBIz0CktCYW5u&Qe<$D*vAtwjf zBrzTGq@cnCDGD)S0^H?C9|9$Z znKRLEkqR0hjZqsnne=Vzz=Qs7XJEHtk0vpn)tBt{Q~ek$B~`fvRo{zrAo=eET2yt+ zpU>tR7l4xcp)URY=VaG?DM#QR>ZB`4GNBj5yi(`CE;0>}1^2R2dY`Xt=Eyq(Ktg}{ z_;gW{X-0B~2}=BjKMtzdz=M#UL3NJS?AS<^_Sxm ziikQkd;3lk+Ce`L{Jvoawwu^RHFMMOvN~0}hzehfN}A~kr0y&pt<9U-#Y+l5@SZ%*J_HTV1J{M1`zZyK?RTK`ipv8)jbC}Haz&^%le##Y$Ro7?yy10Wz z=3|-^Bzp5(u!^DE_G*3CD=1-or+?60fEfn{EJJwP76vL7aL-T7zkuax#ztE9a>6KPQ^tw>68U@nr)dNY;RHIVHA zqAQUxl!k|M`fz903vDOd`Odoi!h#pt@m#s$_Hzw2%wDu)R^_dven##4{JRaJjjbp` zYE~~&P5BUR7UB)=O;{adWi0{|>m@nC)7KtOV4tYN$AlsTiGSARyYRMeDD{NSWTD}GmsXt0Eq6-jsq#(Rv@+0|298+*vHWXNYKaw z1Gpj(elRfF-&8Gp!oblKv;DK0|9xZBIyVlTw=v(JO9m<*XU~ z>E^DlE~(pL_#`+X3%ps6$gjWrTjnMM!ams4V5P^GNvAx7W?3ygG&7E{XYwDURb~ZFe-^wV;y+!w)M0ohNha_@(i!maz zgcK&OeNizhngK)JIo}QKMI0eQoT<5SdT5WXcO>IFa1K? zH$`>Q5VJWIQ8nTXW+w6rCSyT_c43uR(dapRwO2Q19l%BUKzF*EdvXIW_WzIS=XlBu@N~ z`GpfI_-8U~&jMMp&^43tv4!VSR>MxUT#V`8EE3jGEVrr51|!20=y(*=BIZ)LAL!=g zwFRF7c?G)Kw)XOeh0VCWIKaI*Pn0~C3jS@7!pvuW8AZfi{g_>*Iu#LrMi5)ITuaz~ zDOVTrTmu;mpM^eGZF2TmQRjYBxP*!o@Drs)K>8($g zUgCWOs^f!+FF+lq(@zpJ$`HtmEVsmL>6B>~nDE0;>51&`iGAKfEcP!@!O#pd28xUA zQL{PsNtMjR2l#nl1l-ydQ@U#5iMc>Ea5}u*pz?(j7^3jnV&4SI7=&~x%gB=ukStph z%9gVVHE?wSXpYQ}$|6U)eeuJkhOb>1FH@L3&BcT{Mbkxlz9ScnU#@jM6w(3$g61Uw z&G5NY%t^95Nj2c?iio?KbQB(HFfUxA6@^Kj6=K^Iird5psYY)A$xz9c&`oX_gO0XJ zL(I$?2AXni=;+iq{Gk|w2L7!%MfH;p?vEtN6Tid+ptMwAH%)`WvY!G{yC2TdbkQ;} zE9<5kHR7)1PzS`JR!2HJvbz>S_`2-i;r{VTC%nZC9_di!lgwbK;PP0)!&g zOsIj;1yJc5-+AGO4@34j>CRr;pvR#+^m+{ZV>gq0y>UAZ8ciGT*-g$xGfDxIY}9$? zpGnDq$k|kB4{ipG)F}D$vy`L)hwx>4F(>T^m-TUn4#x#Ud6Xb0$=-=5;_}qF1+f{Y zi*L1QQ{oZxx~W`*tDa3cQ%jxd;4LSN5wpT{X=@gHgM^5Gw6w+(;E2`_?t+si`#9bK zi)}ow1l0L$_6(YL)R7c0{$3f`s-Eh5Lt1^n%jN zfq)%8=kYmMl;K5tIa$%zuqe~H70FTeFU671N#(!DVZk;FaV3(dzr2&PR<0pVA#dA- zD};QuoUN-1?#`-sSi7yp-7#aRdtWsIK*^JGq8QpEtqglyw*mI8CiU z*7~#P4&DKV3)+fk7Zb#fQ4S=RwdzmS z4n}6&xA#Aw7{ib|G^E`0Rt$MJuI?y2qVYHb;s{ zeu$u;Nk-YAfMM)Ofn;dC>E#yegT>@5=`D2{mMR8j?AhBJ-%R)g_PHq`>ordsL@N0A z{*EW1ukAPHqpibX-3%x!49TBB=;-B&lxLUI@P>_7(8Cl}N^Tt&R0_MUZ{w+SG)PK| z+&Di`JcY_^_?4X6oWgB^Xt#NZoXx;)gSCFU!YT-|tva@O`C@mdkm^_AOK|j-kmat? zjGArOFz{_iO(x`dsgg9al5wvSg$0d1evTJJ*47GD&ifMA-0;IZeZ7|)Fkc>s15Ma1lg%Bb~Ktbu)_ig&NMI`;}>~?FrB7 z@Y>%y8Utq8g0^&_-HWZ^u^0F4-sjYPJ-c}A1{3W&uR4KHwg{a(Zp;up&%J+){XYp~Gl9}$p-vkv6OQI`VO`hy2FX{p?6o0Syz;gf!E3|TJC{E7gWNK zID|E&pUTm~mzKY5=?x7~V9+Y0S9E?CZK()9uCCE^4#)v2={F!P(mXratbMDS%9SvM zumF&dXM(AX%sdmWW^UtpE*VvgOPjg_nsSY#+4G{u-lTmXoP!M9&%sAAwAC_NT(H$k znWc@2Sfqt;Dg{UA!K<)FbS-lF@?pVAhVZ>K;OxmIs6Gp387d7%p@*s^yJ)K+!%-*b z2T?LsXgJ&}=$xj12nRYKWWR4QwSf9A>3sv_^=C9))bmVC0?0ClMML_GS&V4mh>2CO zr1|KlQtg?>6n)XiYq)}1Kg>4N#6APrS9&5nKH*mZTiRFi?!;5!Qn@A8C4cg}=jm&_aETsb2*6k!b z=PDvZjRZ_jFXV3}FEJ$Z#Sujtu0kDKHlq|{=1_6S`A zE5}ODtDg+LWe@(486;$ipY^&;`>N-uDRTHTEVvTEk^PRCMkF@_ z*o%MGRh6STF+;g|G5S+asMea8_pYsA)R&z;bZ!eM0t!~01AH*}u~)}%+H zckCcDBjU|M4Wa0J4k0zt@s=y*t zevbdD&g~4(g=F3BozHfj%5^QSi=;;x(hQxlYQ7gRH6+818AS8XG1E>QdRooI9dOoq zQ}e~{IrRDKA9HBIxprioNJMq}CqloL2Mqv@(q^7&REW%<+KGOC2u<7X!gR)U(?9zD z6U*+A1l4|={PJNW@*lZuAsGnXxwd4Dslq9J{O@^36kr&DNvBJaV!rCXa+jf6gmV;X z2QoYI82SC~4DfsX8IY0;B0Bie{4%uUi~Ya$l;S`YIZ`sq=@jC-wt|8l0Hn{s!ExVe z_@K*V`ri|oMSk}n@a?R;TT1!w?|&u)X71bjqk3ng3*w=KFZ529q}nT!7ejS^6=42R z?S@=?X+3q^&$^kN`{pxb?RG}G1>UZsWbBB2xbE!SXI7jo&1IJ;S#b3Flj2hBEX(>} zO^caInORPXKiv$TdPKGR&D0X^##&iZ8W5M6*feeP?Iu(RP_ zvNl3ib*y@84+_psatkM;K736Y`DX(QNGNilAAUcsc33U?$KTkRvK9lcI?X*dMp`(L z5*|gJ$gh7UzF+|j2Hv+OYOJk2x0T!f%?vUGYhWjlOV0z_OB!_iZ(!H%0zU-RX6>y( zLb7#&f74F%^8;YEAeM33pC-Xwz$99kG{pZuU-|~V1XS0lyB(Jv=eqr83rvWxj5zv{ zU4LobB<^v>!~b5UuZZ7KSnhw(jb7nndbahi6M(M-889)3;?TL7X!uV8AEMR3X;&&I z>2GI&&q)E7<#3LtGfs>2>1x!f%>Q0`G6ZVy)L0k#7&c?kzwZ-pr=SG|JC&gW!L;>p z6RH0yzYEpfNB$+AFn+*)<>Lr}@^f~LZ(5b1{`c8;pewKam+gc9so?ty-2~@7)OXo0 z|L0HFrqk)p&hYQyga6Y}-y}h)^u~geLY&Y^@%N7>R)GZU(U><-T@0EG+?|<0- zX!$3{95<{}aIccfVX7aKA;VwbiGr&7F66H@a2qDFPjqm*pYhk{uvWj)3S;9=2cI9{ zO$wvP1Yt`)xkBx~Esgs!P(EfOAT0izZmYK6;3`)cf+sR#E9^PcRcH;htvoKZ9(fpY zP|K*!(}*Mi^yck2*VKNm=v5Cq6*#PSX^IIXjP^S8{aFOn=-|)I#@Tv#`9vl;8Z&so zj=uSC;(fmBsbCh@r|17|eWvzp95rJvk$}tL*e|8U8kp2V?!E@Ed=NA(op+vnXgI6; z1eE^wB&I7YXM1c9d9nU<@LDQj+w_bK33J`SGo$4rlMM2fL7&}6MFt`hj-2wqBngP@ zm*z?g{@HUrzsHuu)&!5CgCQ5?&w59oc+TG*SHVR-TD&^oB=XZ!KMU1)OHp(04>p~(*cCtMx)*rQiw2Oz?pn3xw$_(RtY zLvjIVtLoX<%T!$oPavT@RJ+$kZ1E*0(+0>mTj~+Zn#s(8)U}`6zktAT`O1`kxoOYO zd*PhBGiOtCMju;$6_yuUmLHhpzBVr40+ZvR_l*VGbF%VXGhAHp=gqr7k`@jOOUr_@ zg35uHU`zrK8K1&=@qFGe-k63P=xJw|S5aqjYguX8bWm>t{C=11@@GYTC5VJ9rT7Ri z>lpx|m}WQt;p&70NY{BbQXC?E92;)lIZ>BkD)K%90oq&bp}gyKj(}4?+XEm(Pd9IF z@@C|T&)~`86olRaCFnVpsx^uVkPQ-Jcm_BdT#E-Yh;ez3BmM2ULnVGQ)HXyPS z1l_(hCYjxOFko>stjgMrCgF=tx($h2TPY2;p#v``N1)DL1*9_jwm=fky~)rTVa7Ur zENyEFu-H9}6;ap)C1Gn1Ms+A={>b@iZ4cG9cZZ9=Qa+hw4I zKVh{;r-zU`b0FB6OpJ00qG;q3brW_VxpYn76X=SS-2LS8WN{h<(HQDr`$3+L)!^$F zHSf^{$BuSpXG3=YzN~G1U;wmQfR$&R=cTE{9N_TmA?#Wc^yxIDXKg5`w*U#bCK#*N zxAc0z3;1?w20^|gEaN5l;gg*)AV@wBsI%GuesRct))C~4!GVJBxWL8Xp!o{tMkh!B z+is;tNq-dsj*>R=k`)$^xFih=z2V5^DMoiC4O#ip#7%+jiKh4%Icjr24`EfMG z0$A>QzinLzVx8&J|6W|g0encb1E~g>;d5S>w^4RMmQcSe*ZAw4Gk1`KRSATjn|rea z@Ow>i^H+MFUY!paeDplt1WfIoxmtUoZO@N(YB;}d*VR0GQv!$0lH^VYsu%_%ir4_i zFIvrJjTkmeb~bbb$WwH@-^O=F_y|bs+Cj=VzLQ$_@^0Y+QW7HI#rvx%c{3uU@XGnt zBR}-W82R`S*6&+H@W~#j5)N75#?XrL(Ge}Y^$EI%Hzx7&^do*qiTmyOUb~DJBaZe+ z=7=t1Ab4kn`yLcLbQo(CIP4QiW+iU}BP|$R=3}7X?N3vK54kd+TVlSKdsOofjp^&V zdN{-q)PKk^Mk%1u`!QG!yo8TI3aU%LJz!bOObG(hff#lVWGA>a@j7W2qRN13`WUy4 zNlwO8dZe6&Mrnj!5I=p3ZZ1jz#C0;4bUnKKai4V_5OBu>?6^Dwmb32zVOrJp_XID} z9R@j`fwq*PwA5-o;deP&AKpzee98jge6D4RF_dan{4$aAk#Z$%u;`eq<+@?0PbC&j zJ4|+O)n8ra)O6JU0<;dq9j}WG0lIZzGUDuDwEmLQngN5`O)Weavlv_GME5ya`f1Cdv1IinPOiluWDSwXIgDqzxxQGFX_2$GWn?l?-y z!x72&nr7@0`z{gJj0u>;hb1BW`;w$FqLX@Q+etr^SYIG|xD1e?rD8D8@)_L&mIFUFi7Y0+R9T9xn7y31wQTp2BK?%2j~DT|Roqyy zUV3oP>?4Xp8xIi9aDFSx2PX&*W|kXW1H0aeR5q(^(bP$V{!hq;6c~pI<%a!AT*Y#Q0{5FNXvHj zbKuxw0X!vafH#3HV_}U=CW$3X^3e6QWS$G8e++o~iYv&!J>;ul#C##Ax$2J0O-{(TVPeJ zJMIRPeB00ID}?Qma;0zB7=3jGfdo_h2VIL6K-}F*Wq5JepPBzT0<=hGf{Sh<}HeS0c#+{#F!F3X3?J-G&T2?){QcR*_?P85q~vZ z7jU1r+)^Ks4g7=P;XC_7FXSsh*w754{t9^B%y#|NMWLm%AijNy@ZyThB_2M$l%2IA z9x6-3M@)OjbpakY@T5%edvwSR0&13B4J&NA3&n&Qo3x`!y|2Y>vaSf)r0p11x5HLekIr zgd4?nBrQe`$3Ei|YUi`opAUe5Gq-Jk-R%d>8|do%@Wkg{e{XHux;r#K-Ozd1$y)zp z|I>EuvGxwR-X+-bw~a_O=-@HhF2=J#?@yOb<}O?5nuU07-?an_h54!guj?nUG(PB9 z7)qjeF0;k1w?se@ZT0G-)ApO!=e_)omYV|d7;vP@Xu82-%m5#wsp(*Uj2^3n?F1KI z5!-#-=))bf^kUI`^}`0;kI=iGT}PhOTCwipAy;28HS_9J8gX?bLbOy~KsGyA$bg%~ zcBk!piI{y{Q1o=E*rs0WFs`pyS8?)`i|41o8|A zLdg9lZ>%GX-edZfzCHzF=eal$2anUP@`wdzMT+zeL>gN;__<5bSX)3_+CWHyiXcpa zxW)v`1N<~1>66`j9ofjN|RLEamwEz!@;h+xzaea}Rg6+<;bsQ^Qpy8B|Is(G0j zE=<%2cUJs1<^dYw#nXd!=Sz_7i_9kHwVY>8Vg6mM2fzTOqS9KE0Bh&gsZdLv2pST8 zGC9AY_x(k@pLQ*0kS2dryh3E)Ig2P|GIPt#nJ6ksDJx(kvsZ#a>3zQ&knN4(D&dJ+ zfT`_wSKO~g+SHETa7^JfTo!Wl9z;ymeA%%7{Pu~p&4J+JM zRvegj3H_8zM+B4jBid63|JOb8bo(Vtq~$q|g#K2VQi}}O;i6)LqMtdD$t>7>`8VU{ z76gd|)46RdQRpKwz4Xa(G(X@QKcr4yBNV00-mb;D$0C59Z^PrPoZ^Sv+Xx~+mPFjF zE2aPkxOV&ggEdtVc<8_-!MwzN#gif?`I;vdDRT_8R_-VBcj{SULTPyq7>Ey?eCB&j z$~XCDcv^55!l@ito-nb%o!k`p$0tUf-5=|-W+j#Tu2tf27gHVimKlf=J0u~vqF(e+ zwxgAL$OrgdEbLzMmno9P#_GPocrdX&(5obBGkRgeYXx1m5ZX9pPl||gX^y|dZ$)X+ z+?9a*Ah7iRxw@PJl&j5#p^KhO{N+d4$MhlS384nUfiZ*!TI?i)6&r+ zf{s37v#-x47|stBqP&GE!DnPJl%&L;e3)WGT>kL5XU(=OVq&}$D$owLbZ?vw+1x#Y zoX5uLl1(_n`^g{^KbNqv_ee3p{22TVJ4`j4q=4eo$1A8t7|~G$jnCCvcR#OFv)ZIN zpxhNxB-)?OD|Lh%;fS)~UXuLU{6fm7rul9*m*E%Yb)aRGQ9fU@B}I_%Q8uW)*orLu zAnnC9+}YOW&zYmCWtPmQEyZ8)u*NQF$~NASx{IV*Ipb(H>C%AdLe*j<4iElHEY8{@ zEq~XkQ*y0s_knusu!2=|u7r4iFW9eUSbNLI45=y6(L^{j3VWnG$6TBIM+nLC@8p!- z6H|H|v10!8`?3{o2Q&j~=(`ezowC2;SFGZi&T|1VTjUJ)Md7aZl%d9DJ6ch5sJ;Ge zVxNzYy}g3oGV#FpOIMvQG{PmsXbXU$)GUxGkH?cP)y14N$*`hm#}4foXScbJ(R2?N zW|mld=Wva(*MG*7KwxjpT7u?jrIr-?8*C)1loz}RlU!d|LfKN^kZXUXLPJuGrz=?o zW{}I0>ec)r5feOuOgJ!{=JXoT2p{KHQU{%~l=5r9b(di@eVU(-w(Fg~8am?)oD%tZ z3>Zmnhn56*pdWk#iSzFw9KmE6I0l{$1gLq`962qg(r=^=#6DMorJ}X_p#&28)!|o* z(jr#7x&>|R-eQdWrD-o~a4K|~f5A7e@(DRwhJu|PECbGJ%T2l|_;BYwPPF8t%f{X;n?9GN5d z9SVytGE0r-6lp+&nq;mbU%SZD9t_kM*dvE1i;EG9MM5g#7Qa$pRm@vGayQ43coW5m0_QnZXQVp6z6$#|u8sEs@Pp($kwUV-07BDqoMF^&5+g90b z#q$dKN@4uOpT)+L*!YR0WG=Y}BMvM{-K>$jyLp(S(I;V$UxUhY&}~@QG}>h`d{@rv z$-LP2M;Hao22uo%x;JnF1588$Qyha`SuC2CKcvR;YlWeSZ;r4O=XnL$YdV!o<%XG& zo}_u*oJ@Pg*tt~n6@Lxfsy9{CbbW?e`Mmssl2`+En7x7~jBBQEpuHXag~D?gIrsgh zjI7w_AS|}VR*Xgi-BxhM>EYvQiVr&y6)p8n9h~wDyiXfZA{LFH-9H)_Lj&Js<7#b2 zq7r8GMsmJGww{0;b*Pd2M1f)GARgyk+88~JdQSFhOb}9)ee`@OHDi^WRYQKba(VcH@gub*z|v43z?0#HwE&C**;y+<B>j_DX=v5WaHyJKyx<3aY;Ky*|A8+MzAz!&;BI#Fu$gal%`OAfu3$t zAigviv~7jjfYg~8GlSd7MZ`58x3N&8(FbG2rE#t06^Z0zMNP8__A2Po@3Y_EmJewo z#!EEt!|qmgXbwBuXm;c-MC(UOgS+%wC7&7hGjr0@XRzHH4}7sPHIlT<8uJq87F;=i zX%(gd$c235WQB}opg5x&a65)_sy#rq1cc*k(9VC_zE}#6v&KxBagJcq_h6~n71p_! z$z<mLSHZFZ5j$Qv4hg)<=0ITqNi<{)ZLRI-sHSB*ud91;S<+g9hD@5N(w-V zw}{Dn3;wUZt-CX&FVNswKZx_8DFgl-0vqVQ|_Gn4$1H6kzGjC@o3 zu*{sNvGvp_&@VTw>B9~;{uZFHqzi8epQlp~w#VkL@I}9;58VSdp0l8YEyd8Tg~j2# z!I)>?`uVI+cIWHjdC6x&^pwX}bAr=7;z@Jr6aopQu(2I# z*fMRynV@yqL8>V@a%*y?wAP$`Ry|#!&iqNy=YlvOiXU)@%vz&m*Rb$DTiD;4wBf*@ zlj7srNW6@90C3}vS>44CVhPj4wziUCEZZ@z5SSS^UQaYCO5UWG+9eCHEzI<85x#}bzH zS`Oo_;Z&@h;_tGA*Wb@ir%JLmS-Z8#2jYQD9 z;&Z0VxW2&9Nk?C;en1Qjb_(0IM)rq?#5rE=ty6j9`|ue=qwKcbaw&k4-U}Rs)x*A< zW)~o(q7gq?yZoZ^PBr)HOD1Sc6Iqr0MydZpXGwt1g>%Tax&t&#Kc5pyjkx}?Q~XVqIrIk!`!WCJW)+wK+t>PkbbWPP zR88EkfwF*fN_TfFAtEUa(hCSm*Mh{-f^;|1p@>LHH%du~lyo+!&>rKF$QjM!6?f9y8z(MfsHeICQ+ZB z^`Fe=90=DkrHSXCmF7aHsQUfkQqa86<@`TC8w_NF;CCUsY+`=!H;VrMzrBC)vX{Y% z_H1s??!+|AH?_}?It03iv##=-VTQL1Fo#hCx=b2)=&YXh$| ziE^mF=mD1AKZ8hum=W9njD^**3B!owuG4?t@m+w$A2Z-@MP{eR<>=Ne<-9%Yrkj)w^zd^6c1 z^uPbG1orL#)V#^WS+OuXl(>ODGz6ik2z9wqHu#OZGXFLw80O#7{b{k4UzM?V;ladY zMTKd7%YmaG#wR?u!8~g}&p%WOC(CP$@1B3G@v7dno34vEYzglf=e zF1&%&aWa#@u7udNqEZCe;|7>_wSHZ~ms6ISK#9B|g#8n)p64D(P8fFJN8T7hsuf*x zbBk2Q8fMRTWjN{cw>JKR)u{s{n5z^mc%+^>Z_kLC=G(;OXHdE~#I|Wy2{=b;fd?I+ zBGPd(toC0=)B5t42K0At3_qNb;KyxVHqz(&GBlhZ4d4WTO0VLj;~3dI>5QhyFrRJm z8mh6X`~8Se0jyr-ez2y7ewE0X#AXAWo4Epr>))-#&ar+A9drldrtX&S>MX^|O>By9 zQLa1v#>GaNx(XdLB`Q?aoi;w6T)q9lunL$jeQ5xb6~JY<;5Oql<-nlfwAbT{B7&#Q z#==%)gBx09wv(lz^;%j36!sw15}iyqf=)KlsZBI5*^JbjP)}q7ZP1~T(-*>1Fsa0+ zfPaa$_^5H68?{($brkCg?&#ihQ*|3D03W#K9w`gs7AnJOg*W z4SY$lT=#p0>XQuJ^S^G;&;Vrq)2XWTD*O$X(foFStW&#I<8oKCiig@Tx!Q2c=-Gdz;j z2fKb4+3l$Fey#<$KY)i~Jvb3n(Qh@Fo2TU!jBKg^g{>X9ke%*4$R9>fpX}qLr@cYe z6gT~}Ix6uw?*TeX)}cER%Z`g+`@hLoxg8p@lJ08ARRiI5M?iWgKzP+}8zf!roFdwA zWs%L~TR1H{0Px#2fz-lS<^r~7zy#6ZI~y%`7>x}Cs0slwm${|kvsBP8GZb!1F@_Da z#|u^8%X)r#W!jW=on2S-Y-*}z;(pxkWjB{~I@$Nu1ieLJrkM4kWsD?Ro0$I8n#Ygt zx@&^0Mc+aGmJ>i+4Z4P;Pl0Mreli6FBToU?GK0S$e+ckHz9_VAAaFTF0oFGS9*owt z7cWzQJm(xWib!Sc7d{B=04c0afEfU5eOP?J;MnF?@lCQ?C}fC zheO|Z904h?{^I=fR1+$&&a@KEMxtn^$(?MU_mM^4@zn8F^7*_;yzGKGWxINh(Lxc0 zRPJ%wWt)cv$?8!!x5=vpeV4aWA5PNww-YgKy>VN$2n?Xpaw7ruoh2Ms(EcPOh&lgu z5txuzAZt@My*n_VdxBOGJNFZi2&Msq@Xa;+-mM0^>}27&1|faK z`~}v7jDxRYAclVG8U{PgmZN1FWuq*GbG*k&viZXysNSjtMDK$~IkJ*b^E@5oi&Ya= z1um&b;Evna@e&^4zNJu)>G~1v{D;`vVh=H(oc~tmT?9vog#iTffc*P#fwuZko${04 z80O;`L(Y+EAZo67ge*;)^OJud2KTq=Y;RGW&P#I)g&@lFBge~mJb)@cnTCL?REGx* zzyY_LL&MGA?LRMoL59`J*tvI3*Yu?(?a5Jzmqg3o=kp}MTxrU#IGM3H(vzhBz)AbyT(jOr3`?z;E$Ol+Fm`ytsyWqiV5xIh# zyyk4qbc<%pc?EbhyPeK?$`Ice_UYJJPGHf}@MMRHf%(lbVy$ie4y za&`(B2~uUo_hRCfkj#VuCP8_Gew-U*AxcI%JT?Cy1Iwzyb$jNb97^qFlrHyn*N%N1 zUi|`toJMY2u;nQbxkmI|-iP5{OL6RGnfzYjRr~E-!4z1amOqqHjwC&G;uZ$0<5{7u zS#mq%U16I71TWv|rd>ixCwbzuWjpNw40(78u|KAjxSLUIM|zXM%J7*fgs%y_yie1h z9P&O77n~Lh&YG-AhYpH!oSO&Y?IU{D9Mx@j3dasVG8aGcN!d}}y9wNfvop;*oWNPz z%|&qvc)+s#P!{k$yC3&9^HZNa{c+U(gFfXpQJ0I8)q0@#;;>M2i+{fW;c#S*VsT@X z;%XBDEuxOZ00hak1!eu&)@9u>;a5=ELu$9QS~_a1kdP| zo+o)3?(dB5ZHNL5{dvXfOGu^cV>bhqA|K3XKFd4t!JqQ;GVWUP+=CKdT@E-`;N^YX z4M1#ue)z?`%WLuOYo-B6sW0g2Z@mIoEQjmYAmySFSBK=NeM^6;U7aOaV!lX%gNy*6 z0BKt2D#(oSUeEF59RAKrN;(pE#ji&^n3EEALc!FYbzA0cKS%Y{pbVmv>P(r~a;pCA z(|&Xvnbbx{~6=Oap~clhFt7i<=*@1@2AI^92b4wn#lB zwarBMqb_VhjsWr3rN5Tk2X7muia<^l5V52YO z+<@olIlbd>Y~2|jzVTx>>4W~7l@t&}cuYpocsc0K;`n0P=kk0Sl;{S{YLAKiiE}!t zO!sl~80D1jojY-%EOaOYzchUir8uS#Lna{foxc1@P8!Ot&#igYVsqAx`Z1F*w`|C% z=9HJtyZP2-Gx-k^+L@LYw~1_rPzHVg%=4$^L4(xS)Nz3p{4bEyEpED(&dk=PQydPM zG=@8q75&%EhgxX-0(c2u23QWcvj9C+(iZUb-5D(u!wlLm@!acTI-=2})QPp}Vn}kz z^!}OelQloK#u1|Pkk{S5g)aX)>O%MjHvD?|o}&=-a3FNO9pF|5gj(5;b3EI=sO5N3 zYFO}Kb5s^VdompO)F`sQz;&~z!fT~DWtOYp(p0i1(6VPaedeKYJ2-jn+=b6a5cQ$X zh6&=s!#L~SZckfChGIlwa1*!#wVgf-_N}Y3m~{T=l*D*VxT;9s&&Tt5N*43I1irG^ zf_8<-8Rpy16%zbyq^<_8Ugf$WRM}5TQzQ4dgUwVCN61N30ygMH%oFJPWo6OwBgXBE z(m=nkClxd9!RjdNfz=_Yjwy33t%m?SK2B|NtJ#TvY=iG`LrBt@WCrgCTQ5#S8Y(-1 zi{)nPI^<#5$`;yu6WdDQ(_J0nPo;A=c+0K*+cb3+?@RYD47V2eo5$T71n~Vwt`^bA z(S{FjE|`ELjU+a4qZ^MXyphhH9SlYX?=d0wa}#8xTwxGb4r&w`Hl3NsW<}hq7Yb8~ zh}|Ov_bY}fRZ(lp6RY;mZO0CQ6Ol)Mne*6S#;|TJ|*H@h^z^e@9j6AgOf{ z_1}4+8Ky~BHD*}k$JP|77kR%YRN~IH?74;QsM+ztnG45_A{WZj2Vb9mFy5kLtgzA9 zbYJW#6{nohYX;{((pJ9UtYgJ`_a=n_Nt`RjujrZgALv&k&y^iI^3jHeTw^q*q6th2 zOC4n`C|sB>5tYXO5fVoIp1KSv*%51Z=E7IGIX^C;>Q5=We{&4e|9z~RrcJF3tk~yl zkxKlaRdD^e#2B|-rsrM=m;K|@&|sKBC4iiDFQRv3aM9@=$&9_+Azc+#LW~P4kt5=i zzvTwcNg|D5_r7QVh1&h&T>@z_F7(f)m91DJpMxqa`f8=3wVxnA{TMf=`oNs6Vf8t= zy#zNh)f(Nw_|t3$Ko<4z9);^;@>%2WDQ@IiD8`AxA?Nrb(K2yS%kS5*Z)6YP21E;H zJiQP{Lq$vnnfdj+Db0*8fL&(bDxPg7uSrS-Zp_QR#NyM@BO#twDp4qmO&St$zKRB0GeemL;mQ#~58?i#!w?I^@K%x6#G(r?Tt?jsyB_dBTW=hx3k ze%>Vrb9g}CmrDtJ2$mD|ztr=^RXy016Xh8*Ra*-s(~Na!r7jE%3ME7DxXNF?WA<eV9wq00*h3i*VmfL z-U-yRU{kgq#v$4-C%uLW@!inz?SdRpL5Rek`(Y9Fy46!O*P0S60n>mBZ z`HE5uk|{^v_!@%h_wLJFT_y1yGWkb|2o>DzaX=Q+Lqsvj49gYt=6Y|J7%QB zO!F?SQw6U@UxCUiQ$gnJ zu{;(IW%tgfzN(wINL10U(^laaxZScRkVI|mkjj%_wkB{U7vxCAO1@2^M zT8c@3S*=c(Epo>wj*RA??bkjDdUb-}m)?jeGJn)^r4=ue1FM^*i|o!XpqTiSdPkFt~AwUT4-}`(^FB<=Oln@ zNw%%D2Ytsl^`FsX)hj{RR$p8x%%eSQ- zf6L(Si$px2!$zfxYIk=&LA!mq7?k{;2E3FRdNG9V2S;=6Eg_NzQm^9%b4!xPa(|Ad z^6)1bv1ulx^qGolxfsA_FT&CuQ;4XV@(l5M7EaDb)y8hhj-#hj8*KvDIlkd{`Kwb* zoR`*dM_SlbFlavQE(Sckbc=oW31>2~&mT20MQfNOgB<0ij696(S+grX{A?}ydMA}Z zN&syDg2fGPM$-rK(bL#HoN;roceTG94}2^SXn)oO1fGRd_Qb}h-ehaj!PNqGyYQCd zvxl?RZV4)CQ0)|=MOZUD_6wu&!$3tnsRtP&^Fo8i9E;n@SQ1m#J66f&J%N>5*hlPJ z*NdKlqjNTm^mG3c7Ni=WBVH)de84ed7LJulScW=d^nrlw21|%scBJ~4t(c91F3MDn z&Y791kj4t(^8CUl{O#htpQZiRV`ULB8#0ubpW0QnB@IW?zUp&|svH!)cJk9DQMZYo zqy1{#wd0S|m9ThI=?<(gG4|@$tFNwKZM1xEWf=O!*@i~wTOo~3Yg)(-X+FW12f})m zp~x8x4nMZf0R>A2f!8VTVwitAA>ybRGqi9@oVR~Y#p%(1|MlLH-lozkLQyy#d|r11 zDFzGQPe+yp%q=v>R|iwq4Q{a7 zDvq3|o#+;V6zfK2|J%e&LNYCnEbTQ`{VL0FzEcgCw$?Gu_f`-!6VBlD6fqGf%Tp!; zRsRX!+11CpoIkxycBl;L*`{i3*&XU{`-K_sVdGtkA>%qxU%I^;q*&(3aR(h)v*Tn; zP$GTswCntp*v##=EHp=a|Id6FCAc%URJTIHaW-|$)0c@OJi5V%E)3fbHD&SfeJ&+u zva4qUm?;-G*BL&?2?;dEhLhc-)Oz^tF@mPLoHTCkU0_P$x&_4X4eDtLC8$~vDpKDv zQ|svQ3O!}T&XNwo-~BR_nl}4Qs{()zV(4N6(d3-h@wINqt`A=4-bih#4aUJt6i#1i z?_QX1=?#hgxJKwaZklwm`}z{+o))d|3B5q7`mzU-kAo@RBJ7lp!&2OHQ>}sgN>9o_ zz>F0Vpzx0bWZ6xoYVz9?p4MbpT4w|xFO*~a!r%;|E-;epT-q>}C3=!hn{B_`CU zhwDUkiuzT9PKK@zj^C>zZ-*3$!f@AC2|Ud?d#MS4s5J0@i(jSA4X8l)k6^g5|y1 zDX$!A^{70(!c=Z(-k8MvCibIj*D%vP_Zkb8b((KC@orlKLa->n>>k9e*qW0B3Q;%h zFGeP1yM9d<@2V*kBPX(t&E#Q%a<+UiVG4AXZgP060Z zbvK(Y{YqOScOgh4UyZbzf){2FV8p6s=~6ZmHhqF^M>pDxkF?`_@h=y~;%h_bY!u2h zn;!NazmS>>5OSVu!rTpYZ1BH8)|KAXUT(|hNHvukJO}&u}CH{lY8r)zq1OB1q`)bDoCJc<_IGGUiCRPv|BDB*A^rRV*)2c= z`LH1>x466zK?F;DeQJPv+Ug>Ab>24$b)7rS0vqXeLmT&WxYHS+7-?~V?lr=Qj3qa{ zMonKu6H#;fjZTfbVzb;0SWfy(UtgTY zjdsmpF=z*mxmxVbAbw3y>EHlEOP92RhPgLVYVzGwa|y3dt`l>pU?HFE!8q--kR99? zBySI;sy!Bd7KV}W5PoX?sa6r;@f0knKORz6wVqIGN9J*{g?&8eA2Z+U`Mh&MeJk|m zZdTI#fSSOwV(jodR{sHrBYy7;>A-oc+L^RLvY7VXKG9>D>E zne$QVYiC;HL8+oX8dLf^8T-|dNg@{#MjOQgbg>=+K7Gh%$mdwCA!nN-dq?^k7Xnr% z;BD$qW$)}%Qg)-bK7^y3oe-WKAq3ru|SNx1Q_ zW_Mh}drE|0M$sA+udZh^I@-2)m3cksycoDiBlnU?Wl+?|iJK2Qs3?hy{Dz@zYJBA! zN$u4IzfY;CY)=ec&!J0aZDRYpCD)G)uxEQLzS<}CRQ=TIP0ZIwoVl@blG89I_O2(U zJzx`gVhAj`7D@T8w(*AsFYL;9Tes8))s#sVRbjQHjL_ty&E<$~KYWevAE1&iJi zfr9#4Txc{AP0g6h@i(fbC&A`+ST16`m{m*mnyEkr_ui^e0}uY>Wc@Po!N&`4lD$cL zP<@o{vm-}C)>)mW^3n?5+Oe6xHRm0&##`Fn*b1oYwzXe`74hMTl!N@uH*DH44e9nm z*%b-yq0v_?_R^q8zYV}oHUnO5J&WyuqBtrqQH7XOYJY2BGyTS+(j8-idDp+ zD5Cd}v+n`*W&;!ihD7^R=i2s{EP{4l`DSr9`&P3RnXivAygQ{5L_X#Wb8P>exVokoeD{98Aseub3AZ!?G4%qRFdubbobKo9wKo#LIX4Mw?%r_MB#P6_n%N=Ks*j@LKG$ z1zets)=J5j5mYSRI%Rrr#5gwjGB!+QLO}VgP{D3%$ngRiVW|yeXJOA!^gPX z9nK8*0$uHlO~%Uh9xI6IHGNRSblCjJtU9hktakOtny_*4RC2|BtkL(7N9uY+AWUK5Ru%>JhG@+qfrL%Fm_GZgW*bq5 z9)N{E4Rv(Hq5jnZM=_d3fq^(N#H!;&T9JzDsBpX-_26I2XMtc}YrqwKrj8vLUC(7fOA94~`0HfZ^ypPWmF4f--Z5gX;NvAPjrZql-`R2B$b#aF)7 z8pSX~*Tn4OKeq6qI?VEO2aY<7wLuTYDZYf{<&d{XmhA~V6mQbf^8v*<510yCvDRJv zi6p$M51reLB$R0np(^h|TKS-|8A;4s_mzBkrEl}=vE~KxOd6>i3e*G!{I>##7m*dm z)D<>Ui9FcEhMXuwt;meTkb>j)-<6$PlEGV$oD=yF;oK58a~ms!wj>^lr`1czenhK; z-{#c%0U9UWKuRm^v%2_lkn^kKA&~eSjk$@(Zgz1IX=0O6`an*%GuqMlxrs%3dePY+68MMQvtKN`DV>FjBFSUAxNAJ&{qlV%wx#{hVB#kF5b(EX(H(&R z_OFW6B|EYG?{3#>^-Em?BaV1s*4EvVgjj2Ld-sRIx(8sySW+sZv$*6I-0xroW*;F} z1nO_fmXPoQwe8D|QF9xmVsEuZakujD@IZ=m39W3xd&+1fL2oAUyV25IQZ^Cns=ZGFCT*cN09&w z7b!r@$;Z-W^t7V?k9|XZEdk;`0C9nnq)WawR8%pdvFn*K=8n!y6EiR{05HE$!Iqi8!%RmA`K{!_+(2qR|UR(~;_)*)Vx zJIfosA@aZ4EDe#4g4l><1pXy&K)2`g4>LvH{LP&|myZqum;aA7LQAal_ZLvW7s8@* zVps5=TgLur$P&a3`NwFaL1NhOPk%2!{WtM$&@=5NWS9CMDMA^#uKfO;`|p4|&VT>> z8aI0GA>FI>KP^!Ol$vJg!82fHm=|qwKkX0O#g|htD-9xfae5lB_5bD*h0+05%Rhzz z3p&LIWE0TcpYIGj6HlzKX9&{dlU0@66#V^U)ZY zeO>c|*=G;LfnEndq^HJ9%qrG{hWK@sugcK9@=`|*H~7Nz&9-W%=<$_x@N{5Bsx|?O z5uZ4khbozET2B&w=Fc_|C=`ow4+^_sWi&5X3XgJs_ zxXEv5liV4Kt)Zn>-38X6j>2e@>3-|>e+OBAC7QoUk3UhX&#Xgr{f|;6E5Gs+UWHnp z!bTZ+Cz_fRmbzcla>Oa6^8N2?-vNdL8|lnXk>4YPYOC*2s@V;E-d}m?t>@bIiL7q? zRrD*gVzUs)c!0e4bDqX8U-n1$7V!{O|- zWcioDM+1Ok0{SpCPZjen9z+x(Vt`{E){7$7-ZR%ajtp)cZ47mA@J>?AD)9a5kfJIK z$U*{3iz-uF#D?lMV`b^GPU-bSKZ>^xh6I$H0I8U@H;PiMPQbB7_zs9~a0TA30jGfW zJPo~;f%N~T5O83+tpGe5DXvP5eDv6U_TrT>(Z+{~?xyiC1x2yBwG+_rl1QT6aiI?t z58i4u@;quhT~9LNWh(2Ssf5U9HIo@+-=Z#pnl7i%D@40#RE69PLZv{DDh&qVO_2FC4=5qEkZ2po)!F(?FzrSDCGTL2 zb3)V|NmVNbFfJ+LKjParEgPQhylVN;6yeHN_rV8PYi*5~qY_tLu(Q>9mKaQv52?(4 z8A>o6*P8(AP+|4FABM^ZlnrbMh#`XxN+5Q@4nROokgPft_}w?SnvK0T-U1%32;hO} zoKGRSF!ij@xn`Brl)?bf3m7YQK!wdbzYsMK3Mz#kZ`Q+uQStDKB8)31{K(r!^q@h%;mzu9bs!1{sgV0vpbzjGnkdPxg_QVj$!Xsk(@2XlL)x8F zpraSt1x%L_rdIQIA7I~K>-A&2Lx{=u9Ma^2=dLl*USKy0YV$tiVeDnWr;P4Cgf5V8 z?+qfIEGsiN_{gNvY+89?&uavc5x5mgDa!N+QMA}+sFMbFeWnP|j zFs;OWpQ*Mt0x=`{H4u45i9E?I3GNu;v7DgYK#~RseN#DMoZlW;AI$Zz)~peN&4SQR zlv7~CJ#>!4fDZgQ(!{wUYylOhAwS3sSTz4k6SQ)sX5AHrEMC2#NP{}(5#5fkA&?2e z>`XBq&TZKQ2L(JcaJ+T}YVfj50?vH^E&asdt}J&WsOugR3X&E|e1j z-NMz8wSuG7xbz;Ap-$bGk+xSmi;r#Wi% zWE%+ooM9Zdc=#>)vjoGAHb(nAECr{XG=dO6f$s$HFR4|G0_%!ABHjI4{uY>UN5pce zfdj;Cy#SZn#0gDsXA$4|cztW`1-3FryTnU7;1l2i>@E~cw#K*Wx3{*MPVIz%?ZW9M z%`JHw>`lP+`0{e(r074c2) zb1x?i9Hj|sN!Jb<)Z;V6KH}v4ObsvY;aEP<1@h%)o6-OZk@yi<^G=?40y-CYMrs2Q z`t?LiF&PskG|J+KNrkGmM&bEfFtfJT>E_*Y6SVd=lIb6gcmPtX*V>Sz^Vhl@FTjv!_Ak42(BC%3NDJeM zccER}Sn!~17O?utEQ=)OBC7)KId#{ugg-`2`hc-j4$a&%ZFipHnuSoof@vI@b6_BQ zobehs1v%+DjM&XTmJ~1vYX|V*t}{ygYc*&KwMKw)bH>9b=T&y%i+xI<+8hWvrF+XrL|GElfzzkfO-Nmef!|C6g(LaD7ND> z$AI(AR2#m^_ppLNBCb*36utQ%Ao#XFu3_@>tA)&L1LS;wp`63~V|l-@Z^yyR?i%WZ zR8eERJ?!|!pOOqE+HlI+aNL&40w9(GIQKe=SIChN476MXby#i=24>H-gay@MMJ&Ey zZ-XS_w`rr_LxfBNzy-DgjLci99;E?mEwIuSwk|{D{0*bGiEfZvHI#Z1mtvYSqSy@5 zZr*6TmihH&k~qIHYH_4bkXySKl1Dc4U_cpd;hQfV_AXFHZv#W|oCk*ArLDfA8s@)= zbco}cz`^wIdJk*`>QSjY-+xoG0X9HQ#1w3EpQ5gC1F3jU0P7EVncL{yG>@U!YKX)Z zm*S>^&A|K~&`Lpcdo3V~cJwhF$WcB5=HPlRZ=re9E$eaX2HswKzxKEImIKB=~P5|Zglgb;}Z}4Zmg!Zw3zStx2 zXaYAOdG=HEAf2he)zoV4V}mq24)_jKvSu*oot zQ`9Rykb0Dz<<2D#NA0I$jFrTxh}SN4m7UXj_PC&((pKQWhxG(%wTJE4Y-_pslSgEJ zd240S;l0%#^i)JlUo7-&O=ijp-WVvb6<-oa7Z6{{@+aCXRC8Fn_A|cvo=V)v;^_bhwKj1{ZeM3CXsHlz%**;gbrG zF@DMzOuT>0Lqhg}Fry{0RywftG&Qj?3~+LaAn(T-I5i(^Q2_z zp5J?`r%#O{IE21h*s=BTC5bq_I-Eo+c6X~5ZsNy=pcnbrSzxRrYA+bBlRv_&Bw->V zlOwdy@)@|DGw-zpPkzGOei?vM4r5@G#yvu)U0cX{@k#4mhe%sqTFk0x*S<}r>Kk3= znuQrI>o{`~^kQU(-|Ist0elODM(pOYzwG0QlcN&CuWxJFy|wp{kx%s5SD6=gXqNO0 zKRgPXlVk=usE+NCx$Fl8-rG4SN$I-(zDaUgLv3%2j=esq7AM`x@Vab$GdJmRs5#{x z#oqlbJLvEkqdF8AUe2X}cY;C*cA4!2_dykn z6O@^rnjrkTBct&lv!~l3WMHK5ke>6AF|BboL%k#GS#JQlst&Dw%gMt3gmZ9Ewp0ewVs9zc})=}U*$u;@xB+&O*% z-2B(h9&%C9@8fR0)wF87MhV^stINQ6MiFjJ^0Q^b(GZdU@(akmt@`OZkN8 znS%V5l!L~(CmygX2T$YTC2NOUhaEnE*?)-9#o?i^NzQ_@e~$SD!|c4jO-f(DLRo zLtyWDm&~_CintMX z1>lKcQLjT9XecAaXnJ?8NZ!*O>@A&TDczpt+g8%y!G~jq9HCQlbmo=$c5p1!+wUo? zHJ9l&DVz)4LYq>Nk-pKFNpbgc<197TDC@J{`5*9S0<*hpl*;~!d?>{0cYsR-`5KTr zZ0)2y)=<8a3wAF(yu()RV8iBBQq4u18;+|bx)4lvhCDVRYL-3)r^E>+FTO7xms&<% z&N7p_B;Mf|AYdt&2Zg*l*)W*?ATOCAf$!eM!WMWQ+Hi*ek)La?&bOY~?L1<*?Uy`A z+2EgsLodc!gvwgki&QZy(o)#cRHJD}h*eTXB|;Ss-$;oo^N07HGS3(4x2ILq+(U>} z@3>4&@KqeKT#y#6cC3k?%!$Ngo!WlC?iH!IVs*DQlkpjoeO*i{ZTIv-5l6%=rm|Pd zqVUi5FN4A&vR&5K&5YT;GRd#U|EDixuDiZ>6>u z4qGf!^$v;+J3nw-2eVG6JMV@R8!jFpP^BBc5@)A0d2f4CGJ?b9Ru%~ z1bMMsN#}DkWf{}!iO)mx1J%$_B8tND^$kt#sr1O?`3q540ukY2-yg zYC~WHJ9^3|>o6J}#is*Ubn|J3Q4R%pbD{PHQ?8N$4Z$LXB?%+qp6z%x%yhnF)yxGW zA`H!%UvKwAN-rtudso|tK1F-vhZJY#z&Rg^G#-4Z-|Aj9L}XqZYg{BSvGerO?dbS`3ML4c#&aS}_%?qM5FAWu$&8R)Vq%_Bp9C0%^gRPDr$1qEt!+OcAeQFS$q~KA zc1B;4J(ds1MDwOJ-4sNevhKUMEp$ATDqY|hyM1q2Qh#|Q*_@L2nqS=JP*^mn2CUF3 z+?Ah}zBcPks@+{#l}^2P#oFcA5jugQclSpK)jZfNGYfVd)!y@0G;d>Je9$6KntK;4 zhxx1e!0zkdohF#mvsVk5JaW|`sdgt@@3};Mxb*cn3@gd0GS${ik$;M4V!7<&nD#Ie z>bN!J(fCn}NLK!3wW&$i4YK)Z6A_?SosEJi4vE6QKQDZOM~xk!El3l&j`AF%noSiO~jGUJm*cDrH}Z3p)H?;ilLWL^OcgS z1N%75?LnmaiVApo0Bw5drDAQb3&`x>mDY20PK_-wBj_ctKZE*B#WZ6W=Zyio>!oOi zJ5F8Ygf9w9px;*I_EmK%{RYJMk+Nafl0BbnZ~Nm@a*D&)$;{o4jT^y_c2>yf0pp$! z!_WwnY+Fs0IdDMyF}&O=(ElvnBtN3+A2e>QJZ}@osGT$+iM=;ITz(N*)lyY)UqaVA z(Mw3Jz5kOfWviLaFDWkH7a7!PMiue{sipIngE}}^1kO+K-3BcJY3knlstqq#-73+# z)YNteYjfwH``ONIP}}h<6y~I_A$1e1D5}GSl=TkV zjZf)bys92L+Tg2V)czpuwbc8L%&kZV!V`eCvZh6Qb^k-jo*x`a2we3gVTPLU_(13i zzy3JxfArU3LoeW$0JZK~OFX#c62HM8B!U+YAQ3tNDB3d7R)5(zTmA!l3M*0Dlj zY3k+#{Ff@#9^FXB$-~tEY9c4 zoo6{ef8Pl$4sEm&!ZO|jmT2}DYC?6*!7ohvRQ2h6chI|$-!|7czE^yOo23^tasyz` z2VehJsRwtVK&^~m*|ltvs{D-|Jcs$i+CUYPzk~2+_pTmwhF~R z55tijhpC4DA&+eIyWeOPFbhX1L*vw~S$J#t7s$2*BGM7K{9Mfm*X1+`!N%pEKVMAe-0>*mLrNg0XAP;a(8|Q%!elkTuXan=N(5oKS|1{N=Y)m4Nz%v4%gDR6$mNv^!TgEovBxHtmi)Z+MR>aQso+tfrB4g zrS>UugUGI}%64)E^C8<`C>{+;AQr{9sj%GljtK?`phlH78+Icipc+Va!<^)K z6w>A%+Qu(Ha==J)VD!qi;*ihr-*W|Eb+SahlRWqgM_|Dt)I>hxqW@+%t?CiV!(4?0 z6m6@LA1uSZ!(LIiSN{8=ZyH+s!z3`ad3#k-1&aRk9w{(JLe7 z)fE{mnjWEQ9f`?Y`8^&S8C6*gVwDg|nc@aS#c6%ao`_W-QJw2Q|Jt5 zSpM;nml%gZSJkZ{;5Vw$D8l@`V#J35@VmCty8h4QA5hzZ86p~@wX9y4%K7H{pWY0b z8)TL~6#0ECb+pk{a|^@b1iCff-leWT{&zZMHKD!csFCx0SAlalz3O!E?@z0`f-rLU zLr*Tr=KQnb+X)``pVKLAG)Vb_-O?M+DJy^gC zjM=y1Mv~u3c^VJONIZ+i)GQeNWnaH)gBDhTV}=0O@z>o$c?s+kBsTHn^uc^CQ496G z@UOJmTk6_Up=G-w69-uIC^$v{H%L8gWqkwk4^;J0x@l_SkH7w)p;k=c?>g_2*3rMm zN)Z7gki1eV08obdduSz+a#jYoZ`rR|VsJ*NSFBQH3pgxDwVP;;*x&b{yGAGtJ_&U9 z!tKZPiP(fGfL5a1;+foFO$?!&U#1ZR zlF!FD3k_I74-Cs@k^2=Cv%^8UJ0F0kv=0w&ZI*(rkjAqZewUC8>U?aDvlSZPqrl;W z2=1H^Wc_`tlrv9D)Z6RVTelXU+I1ALEaOf?^#Hh@WdnWeX$sT4V{biy={T!?=18D) z7ALH8P?I=M7ghJcub+t_lH}1BIKUXl4wkrqud1khBa?hH1-t;_A0SFG1gz%=E!tGE zhrnQvkVmsPFp=MV=YY#h3Ld4l(uav4QGJlr&NV> z_*FfuuE9l-4Qx`LLd_U{st4P%!L84Q9yb*Vj<&p%7CB~{HctTYNp0}DI`kYA!E-21 zAx)NVTChfeM^~_7xJkF6wd`!Q83T*=yRy|v z<$at@pkzM5{&j+ZP5Wjpqg2)cG*3GD@7YdNOvqzoj}?V(3{B8Ljo@!foL!fcPBN(# zmG=sjFvSJKdtSXTKkEdzvJJ6xcHb?UAOpk31eZCNjK_`&!-1;`%pat-B>Yqly!@iY zeH~%N>qB{?fdOFzI7*n;RW9SL!a$$5)9(QH0)q0|He1{G%{N0f0@-3|{T|^$V=CbR z7*k=dN8vwoB+m>Q;QJMP-D)d+(vbp8<>`kM0CFG*L0p2#)~MN4Co8FBhI~@@ zg`r(+vI}}LiGWr7{ozD5v|^v0XIpCf=hN zP_e@lT88)FDX<$ub?axHG(j(YucM|w(n@lNHr!f44ctR$`hq2D@})G9Zks63M7wPc z0cg@h`R@Ab&vn3FpdQ#zYx3?p;KN=6Lx)uF^PjgB#~qeIamv}#EzS#m8*CErSH`am zhiHEr%niE(B6=56SS;K$MmVVK6BJTlT(4sb<4Ua6?Ara5>$Qk{V{xMAy7AeB@Ez?F z%KSm}cim14MlTSCCp(w--MehK0~*2S9LiGTGVA5K5Bk6U2b&rK$`6hq;zU6)aR5Qh z0vjbCyaOXL=j5}jM~m^`msjq9-~mjNCjh1s0$4XUu(N#u_A1Xri^uwa6G^M?tGDkV zXA9Ju?6&clJ{RK+;G!#FNVx3l;JV>Rko#jumTH$6ZuMdo=~X&TZjY6|(zPjVhx-|` zo9k>h)NBC@A`#bl@F?uN>z3OSXJzoNF1Kq9I=392yUUBCz3gSQh^xrH3k`ERFj@E9 zPTtM590L4ZdS)!l)hZkfozwrCP$4)qeTDSdx&haVhPoyW>@@4olX{DPUcnc4NDV zQ3;rTfTrRI<8-}Oe%br@$W1*LVa#C$b}%Piige?as)%{sd6@ux2M`fl+JzZn1SMqO zDo(sS{c!nAE7U}<1|1ikVQ@!04!zj%yMAf)dVoq3XFI@%dZFoM2Ar+=pb+P0Dkc*u!tOk;#}$ZC=uH6{TDK`V3)5WSaRD?O^4iEvwZ*uz*8T+p(&7+@cSMUmEi^+@SG zPR$u8pd^DB*dE;(!3hhx^1W_0vME-Ws1BqB<;2MlehWEuhyq^)WfHugDq!6~#?AyB zAPTJ$@6KySKQ?e*O?RCVU;NbaPSS?ZK^H}iSUnb<^T%x=Lf>idc78KSAF_x;LtqkB zQwx0CH&%QuPcvx@w}7oq)H98;l6a6XB!WSgNGwyzJ9gFBSA@NoJL`%<2k6Dc2_s<3 zO>She>sVPq$XWwd6yl`0IHX8qQd7rc)S1(ux9FKdK8nC2K7!2YW7HW)8tAezfHEm5 z=zdP3F{RC=aziAea=TLM)CBf&zw{d5S z6Nh8UAIOZ*IN=d6VXo&b9rp`~ge2Lm2;dSrV=e9VYZlnJ|A(oofQqW^x{9E5r$~eJ zpdj5St#mUqg7nZKh>X%GA&r320umxHgdi;qB3(n5v~>N?;3x0D*64cQ@y@;XIZvLw z_c^DvI}!07gf!pZb!?C4HoQICQ3nh%^1=HNS`nvQr7YP*0?=|8{O*>pO+|jmf^%{_ zqdjoWRY`@qMvCo(hz3P7$=^&7L^u($Ae2HeEV3+0z7rLw>;2fVkjg_TZXm|&2>gLx zk{~%f^tb+D4dO@!onn?+Cl-}00?W2%9JmQ{@ule@OL_2X3nT1^V^o#yJX`$)Z)bUs z>DZ_JkoBuQXTv>R_2kdub#@)y6i`VOLbH{OM{gcPe1T((V}c&=16gGd23w-ndZ{CoGH99MEC^rv z9aQ>m$1GIlpmE8!>0fV2uweL(S2(OeEd(cEuW0R4zV77ht&N7X&e0i&3SMPTW zsa%jbRaP+{V_9*kc3Dl$6XEotj=Mv0qiq)o?}T%ZIvN+(fur=;k$ zQxJk8l!~d8)BJiu5|8tJsB}XhC*klMD3Y_Lvr8T#)Ufa>&zn&`>Z{#wk5iA|tU;qp z5aG-_pQ?CsEXdn+uwC5;0wQxO3Lzb?DAIi*PD(*j6EUYnl$OmJ&%y_UDOiCFB(V4G z%0ZkwdO{bNf^vbhAYnVzntF-KFSj~)IN}jHv3W{=P>7OANqh_m{{9_;43T`K49n0O zpoVR>_zA8fo~rd-uAyqsu_T8E1(YAb?MkBjI+uOmbehhm}#)30|EV(%_t*tdG!(26M=G-D`O#7m83n}6(h=+tHd=VI#*wVe2@GXT(W;l+nm6p{B06Jn+_UW!uJ^pjM z+~f$t8IKJ6!qrG>rWATi+ZpYN6-^r3?;ndw1ykh?7DFdjz;Ys<&Ri&9%nmrwn|{HV zI&lX($_sx&ojdY~!}CY!rY13A_24u)T$S&vds3_a_00z+?niwF%O?~N$2v~=Xe7ri zcLz=M7?K~dZrWiZv&-NxsE63T*PfmD!AVvhq1Qbf3m5c6tH2VH(=!eDa7fKOgr07b z)(=CJ#*jPayAfa9rmJ7y!u;|_2eM=Gw8DZ|XxcV|1C zD26$=ZDaFlH7rjL#NhDoxy8eGz0PBbPa*y#GTB65j(Xatk9BQX5E>6!<5X? zb`1EqauGXOga_olXHk{+h@UshmfvA9X^88tUWjBe;nbBNhg6Y@yZa3>1~6w7#59vH z0T7_Y{p($HU19iQ=u8G|ZlRUNjg#25r9cg~a5(abtwC1mi~mzRcA6MwdKRy7*0jf< z*nGv?+ex7IH=GH1nkVELC3{}12M_NDP{r%%7GHD%(M|CxV~jB1C-DzZIQfaabO!J?oKIv zLDpQo@I~`fv?Eh~lw#_H<@;N+l`#>0U4Zkv%_c{#L3v*(ITAtaCLUwm8P3FI2%TrM z3_DnFDSvo|B75og6@GOt8)BakZ@1le5+ejTM!%!jrCf_v8mvg!vYud)rbYOa#PE-e zQjExp8uj!UPXW2XP=g!*tZIENB*#LR)y)PrPXI3U>p;$R-4oy`tlTcaG-ILX6m9r3 z^I?^(p+)haUA_Hf59|Wu-3n|;YJ5Tvjw7gRT=j^?gwjEti@<^8_qy`EAWn(|#X-$I=952)jWLFVxUd9l|mp9HGEO_9~J=#-6Bm?nct9p<847 zo8L1vE#hW^6ixjY;A_EjFJJ+uzX{eY__s@+>d7R^s}YL^{^-ip%0R;TZ%~%pjp2ZI zT}(jP^%xbqkpq_VF?Sg#8Um?_aHxN$5DTW&sM0lvG3l2osQ;Ljb1~?l3bbhY)>djZ z*7`Zz7p3G8>)F#Vc%U<1Z2{Z5CiJ(YV8zeXp#!NK->HPX7(^sr&Gk+#wc2V$WRO$DGj#4oHe%u<26!?>>;uh zigyxvT}k7@zy?(c$-GUZgK#U+q6d}Aac8WxXae2PBjj+&ot(|6GM<5OWtd|gIF>ow zmx(?L;2gp?e~Br_`Xim1|LAqz+^Yk9)&z}Ec=#EsHX6A^4}Vn!C{<2IL1i8S@B5yy zqWKaLsDIum3p>gx(<3X*!r*@5oPv2*!3fCF-)DCWw|sl@f_s|h%*F9s0!OlQgm#Fn zM_G&Eh{IX`98H#H3>i3dhpyJw%#u^5$h=Kz7|-%zd7d2Q!IxX)!`3W^k^D1@_)u6cQ#006BMPwbXM#^ z;I5U{Tp)$&r{^ilLh}pXll4l-VUkc;R(xvKx~{GGBc5UqI|3@7OL^1L#dS(7F(O=S z1c$3btf2mSaH4q!hloVF!9+X5!d~ZSAu?rh8CD9SkBvL&wN@A|CmG4 zE382IgU5+d5^HvVpa_^HL19^$%$jp>`x5|P1yM+8;e=PHtqiPRUuj*ZuoC~%9QS*GHqYR`;%0W{zPUzW zk({XXNK-;~qxq6$ViQL>#BcMh&?z9YP*V;@HFi|OX8*eifsN0`9w;#sJ=%{%C_%$6 z(JooAYijcq?{DXV_Lyt=Mpc>=sS>eK0M6=Xl?Z+uI4w(1WKTq92UUr7Kqq_k&TpEe4y2z z3ZZesrRDOBYD#D=Upl|npKg9#OjR)mB z9qC)nHXz;&SP4`zk8_v!D##f120-Ez#SsPiI0?bxjuS#nqS)Ff*5CsvxZT*nEs za_Oe6Ci-eL>caPS#xUn7K>YC6&g)<16c1B;nUK6o?1XCNDg&zJD<6*X1|Z71q-5M+ zKL1E~$z^yHGvLFhW(NGN4W*-2lp@<SQIEou{fM9SX9RXq zN`eHNfbF)X=u;mSLfz7a!RuLpU4l6@ov|Xk*638xw?+M@3sD{os9^45yDeWB|Ca}e zLgx3mhEJ1S587fJN%KB032DdB|H%5Jh6RlXeS##%ufu+-w(5lGkmh6Hck`snXA*)z z0?1GtUB5rvG}-@XobQsTHe)C24qp+Kc_7(2ioW1iD&43~!oQ@@L6@$kpn8x&0Xw;P z^F?kZN(hG1f?X0$KiOKUSB*vV{?Sm^Q3!o|V|E?uKTb(a7xf%;5RE#hO)=1LMH_;( z492cO+VuY~6-1FYmNWS&8`=LcT`#3Rp$~(oCt55o5ays|5Td|qa1{uuR))Ge3Qu$@ zi&8GNs)@zFqKxSugHE`le2k)y*y&i^S47({F0cqBi zN+&9*B1u-=$=UK+hM>s6KPvj#b>gTDl-uK96AL#M5%p11{a*TBJK$PYn@^fkfOpI!&3%%hz4g3K_^hlk@459|RDJNZ6Hy)i(Gt@Zy(8H6cbD@~I6r$ZJoN^6wwP%m+8Jv{c~de&jbhtp49nyn)g{;12&;85p3; z)+6Y1kGL}Ao-B|t+*eYU-rXCdaQk}oJqt?e!S6H$B`+d&*8NYA;r{48tGsV zr2cnQs)+#EgR=B)wnb6=mB?Z>0wvTS00it>A>T6W>U*V!;2uCmV&hey{jaqFB7db9 zrTC(+@b&)|?ZXI!8kottxVqwd=rjdaCTK^gNUBJcgP{LW z-oL0p^Rv~%_J&B@YX55>6S%{?1{akJ{}nf_=7c_rp1|8ZY^d6|eKlHQQO#(~RJ=FaL~*?lBGqyA|yAMIYR8Mnt6j#ErA8J zJ#|;*%F)o_jUB4Nk~apaANx3yooB_E44DRsq=W*+lY|3UpHW7a{AcvlsFxJlcSHtW zOsR@Wo6eQj!gkVUd^X7VKl;=`9B$<%73TuH2*%#1o=Lj)N$_96^3}IesDkCjmiOQE z&GIC`muDm4-**@}Pm`2W%GCr>6D0%Wr9kC3_}`i(g&y!>WJe}k^^s0EIXB~wLfx~m zuQq%p9jB4YVZ{mTgERqu=VZJ z(DTjl&92~wK?tT3*bh&uZjVl@w=Uft>s|iwC!P|!fp`CQMShx8>_{Uqe7Ia~pG6 zLttD_X$dQ99Ay!z*t8f5KK>4=nkOy;EYX5*6pG{nRUrcmoq&Y)0jNXVS@p)ea0^8e z(Te*Za(woG+u%zaB5!uXV@3Rq|J(;0L!=ET@bGFgoZt1(U69#>?(XDbvOvXJYi9M` z&qY3e`+-abnLb`sW_$n12LZ?CuZ4!RO@Q~cneyH3jzD5#^O)rJ^(v8~Bu9H-VPHo1 z9Bep%&LAI72Z=(fVla#NYtl8I`FB^J2Pc@s?mhPdY7)@FYWnDe`sW0l@=j*44>f$LMA`3i9rQQBJIfyo-r(Sy7RGL1ZSfP z8@n3HKIH-O1H64CDu$Xs{7;nOJ_s>P0a@eg8V&+`VjI7ZO|j}%H$Hj*;z0qiu6!-} z;mkmrwFuAFb0Hq>I ziH^0uV@&}nG5&WKojBYVRF%d>ot*8T6Q97GY4bZ82Y<1(fb$sDqahFk>WGR%zhrB* zJP=#7?9KgvDs~`Ljo`f_=mZ;oY5zsl7gb+dNQS=I!_rrLaXCT$;guWh#TfnPoP!U~! z@bKO_C?;YJDknUBSi}=lcD~(4S42x*bp6Inp@Bk4KOk--l0N~Qn#v6vit(I3tAm|_ z(Yw~d7zu??;dIDfP24A9Ol*i8DZ z)$V+(X+u|%W zMAW3c`hbw{KP(+RbTe|V2hC`c;d%<9v?50(gP-n!gx{s_{OgUwAYsB~$I z+kItz1gT=Ty1Vo)KxKhgqj>_X1#i&)fFgO^OSXSl?{E$?1mBsp=1WHv6c7d>J%Dad z8H01Cj}&wTklHXVCv$1Mvz5EtzdvAtg93%1586_vI*5IyuzpX!V#|)9%a7izyTH~0 zMIQ!&2PcsB|Fhg#1SOC8H#Rr8^sAe)i|h!w!GD%%Qjo43lxHX66Q~?V5 zmeI0ZV40^GwO-~zkg-Pu;kKG+zXP#vpGS*QMc)zx_KdVF6*xgrrc3 zXXj2Sx6K1E$k{s2QMKW%mis=k;3XF`doo7N!9lvS_vt8Y6V~9Zw&3TtA3oL9GsCD% zL>{-%KIekAbl-3U;u^PsK`sQm=(`N`9rpXk-*^AIOk~pZYzSWiOu1>E>g9}2n{+2G zlkUS+hoyk!jprKoWznyEd50B27{pKA)RHIlQ~Xif2PC5j#ZZ2ph9bNmO81CV8Mt?3 zgUWxExg4)vQb2uOT-&OF+RcliX+gdtw>%e>n%ogh)REn+el(?Mx&GbC5Ee^9%Je5b6&O(xlg4lVg;&&^gL#&@xnK z5PK!;AQint%o@>`RB*A249E?)B1oY8;!5i9wdwR2^x=B02bYJtawV{MI?c$qnVC|8 z-LiAP4v0{4U6z|=>%q`*yk}548H!j0&eJnMFIH*2Wf^|c3|v7E_Mv3(4*U6faLy5x zqExlLzXxI^)oY~-7qx~&oWnqQJHfg3qf@)1@q2~n2BPUr1arK|vq|%sDg#8Gs#2hU z!&oA!Hi~&*yfyG8Y()lqt1yN^ss>wHFXVMke9BKVul}4VwlDEbH|I)!)Cz%V&JOtY zBwwns1O8xoaZ;Fv+f0NtyO=G^iZ|&6DGaEEHG0$mNy&i-1Mfr`h+aB9x#LO(%^vC1 zsGtHIV(V)#4)h!w+(C$b5=z>UIt+re2fhj9^}T!Vg!H|So`AN9BmUgrvi{aj1|&Ds zm$BA&$lF*~9;ywr6=7+(WWx(ULE`{RMO6fa=t(TAJbE@*Ju>@SCkturc3rq6hSd1p zWVxNLF24}x8n=~M-xbBTqEJ?owODlB#H_!EBM&Su zPQZv8yD?O}xH$8qcodmkpvOcZA4$8;Wyq|@vP6;58U9(L?rSx1ujzXvhh5GQR0>tv z1Er~Pi~~7bnT^2cG)iR`^eRNjmh{1NeiiPL+|$;forjEZ=gig2>bTtcJj#(9p_sJW#+<*C#XMz2#wEwMb~{7q9u)5V>rU3`Z^X` z5+aw9g`6`;0D4pw5laNlsE^GP=+^x}WgaU)PDA9vUwSl?>%2Feh^H`o`N^{(t~#(F z!^a{_^x=nDAVi!`y9RS7H^6Rhk6Wu?sc>P*IlgQS6?(>_1iC6A?;T4Dg$u9=-iE?! zckn&wXR&mdHl#0p+HqOT?_|(2;#D$dZsfIzzq#g3{G73(F`irDSNO=R-W(Tn%h~?7 zqVwp_n*_9v{RZm%o*#U=;7E{?C~AR5$`$Xl$0e?!d{Cf03_-m=Up}E7Me)T9fqEd} zLsPS(oi)ZpN{5hZ4~6Jk6?hubD{YSwxt#`g7(4xS$m4#lKS6n2n7zN`*yA?{*UA=r z2OcqJXFniRRQz-qH=qT%&h!2d_x#Azr!SUO4+n5v8qiCChLeY z1{ZpyY`h7J*k(eoWK$!D7+sNxDnMOua46n0BW%A4MwP8KF+AjzKbVQy>`Gp@TAVj1 zGZNJ=~;$z~3&*7)bcvFD_kS;O+v{&hk|2U&<-ax@44tuW(yg9ar}qruO9+ z|J&v-BmlNxme4i``ThIP=YOvJOH5{zj~_C___2@+8hS7P|7A&QM*Si}19(hgf`66B ze;*!-Wk~|v7*r4#ZpAgA7V|2x`|5YHA4;t&`wwP7ZGeZ(xhSacQ}7ke79vH2`By8C zj7eA_HlhChpn!@S zX=UXg(2bTV0Oh6sB69)9Ea0}6*u~jC4$W0ai4+mmC3X>xssH4v=HxHI|6v!CJXgAU zdNf&-DFJrDXvu#CH>gej54-TJ@9V#Uen_MLVi)~vEsTviC@J^f&z_D*k>a=tTZ@%ICaCyeLOjY+w4BRI$Fg)WcA^$Xn+smuB%f5>; z`~yk%RV}O{jr42fmre`npVdxKtpq@T|AzbPtLxcO2wH^3djW@JE+~8IEr-9SG*ll1 zp^VA}?M~(gIk;zBiyvMg(F&m;Ag2Wa0*=c zPJ7?tRUg~F`#aLd#HK|!t~!{P5L}GHi=Ssw7V*9(b7En0EkXmE`u^#}cT?;zB@pBdkW^1CLx(_h(g z;eVrdNx#41zl+2ES~6LrTZHoJon27x?7|+uTlj4J>i7I8$dY})_erW1O~jQsgi#$0 z4U4t%$eYEz3$~=LV1N^RJNe~*^+WI2C2#Pri2H4NcMi-XRL-dZE#7Imer2fL2lA=-!4a$A5-a zzXCxp|7%NZnA9gO03-aJOoH90ATcgzQxKkOn~psW#eGBn$7#kKj<&l0MwJx03*)^D z`|fbs0pPU5*sDF+;|*Z#)p441YEQ3hNld~P7{_^u*~LyY^4tD=@J5cyxlJ8K^8Nj^ zW8L#9?f%UjQylfd3UuAT>90?k$~=e{NkZHWj`>$Z?BFC4ROXx{qa{f1HVv)5jBB5^^0r9f4l&{96dJ*>*XJEb`$!4 z4Ffj;Sk;1u(tT)q@0)E(dJa8)bSIXS~h^rO8U4XIfUn*>wVRxKUkpoyqToIcyx=R?j?;hhP zx8W&t>6CaC=n#kNz`kugaA2x!ENWG9<~iqo8s<0nlFu>7bMi8PO+>jUwX* z(@t`$`1lK#_ou_8O($RVT0QF?A3e`c0{fhenST_J!G@bm%v;y3@sE~p%s(+*{bjSb z`AKu~xU6@GW7C7fxdriJ@>ktrjj`rB`OX;#e(R0}(DsvGW8NJJ$`gC+j^1_SpR)GA zI7E=Hog0N2IiA-xRLNU1goNogN*`vA$Vr^kjH_EGZU$f6sj=O)>VCZDy~x`MsY+a_ zoy@T++dH?=)9K)~nn2%eQf2DCaDS%T(H&d6?tm}Rf6BY6T6Tb+l0qB2`EJxWcQW!G zw6=QV+q;$OUX`SUwzTKj-n;(k$^5!2rjFHHv0XbkcU7vEefW^w1YI4SJQf?Zwbq)0 zdw$sHj{ft)0|!I5CgLT0zWDc7{&1?$F3|5X$0=v`8Gpi$7z~)~cJhx9INAIXCp;4+ zo|2z-B(ZT2^+~NU6k*rV)ceiW$K-kN_zv}fiQVFRi^Y;N;ti!1K^jlLFhk?*Td}6M z28e-#lg&MaobmU*GRNyi@&e}g5&#iD!7758$a>LuZqZu3D%ZjB*N#1EyH#s;JhlH} zv@0qps%^|)Z8bSSdB2XD#0JY9P9OsThHY)wv+-U2XRK>k_=CgN?Mwi|3IE|S( z{|W4AO%6C@OUyYB=OPx~80OWnfVBpMhnB~0R+B-^)^s#GC7T2d#N*+)69<8fYQX{A~>vrr196z;$*BP#DI%g#b9r3s} z*NN(WLyBzF)-Cqlx9E)uo!RE<@FZBtJiyxzT&p28zmo{z3O zvH9^AtLQktEWF_U8DdRyVyBf`YdQwFrA9TRO+%ldX!AhB>(;a-@Gh)e!`+MrA;MJ? zTUEI!T$<9bdAf{KoPtwSGtlb$MDSPr?w2$?^C)xOo|$laincq+pO*8TDIi!yVG<6) z>+jKZRS-%B!hfH2{QsW?h}_VD&&oKuBh~J%3EIR5vA!4-)R;w`zQUiOia-{nShci$ zeeq|?ru#tf@6uG^v;4&#Wcf?j%U=P2bmEzooR-|uLh!06jY$#eVGx9QK~^(>{!ewpK>sL<%%w=0~uw~xLy zs#+hxTPe9yxaX|uS`@>tW9wuv79G>@-DNDDcfo1*lzKB|Gw8zd+4FfP|HMG@#NP66 zE+&6|_UU&H7b>kL4zY^r z?JE^?NA{c$2hPJ3!^RG>WkdO#at@7nI+XVMC?Xh$ zWIvTS9QSFuNN!o*Y@y)l8lK$CquN`deE66+u&#O;j)OQBwXaAkUX{QRPe4HEUTp9m zP+R=ssvmwbq~BDCfEvDY!UY4r;UIcY2ijA3k*@9FPvv+k(%0(bN9AH<|C~J?^rta_ zh|pa;{4b$N%)_xIpzzvf0@d2X_>Y?rlt(EmeU9v9$!BMdi2c=^y$RP=$5OSaQoL~< zp@U6=)1P7o$Im_P_48Q8;8h_FIzD7fR*sHXQX93qhfd$|bNiK^+3g~LoAqr^rEhcY zEh}n}ijCLlc6!=iLlS>|Lw2-OYd>Sf#wl{CCUY$Z`8z5l{zOzA?+4!rx>dCDG`>u* z+tm9wuCluYl-q56l1K@iF!f2`7JOjsCQ9#0vgu+#*VMuQRfyc$XcDv}_m?<)?z$f* zXicLZN?*Mk%hU}Aypul9c=OTlgrn19aT3PwC$8UVbRXm&e;?pUkvQ9M>8v6$?#r~x z6k&buA4evfE@b99x*}h*Ie?#RVslinpEJ@wnOLQ83+IlixVdE6E;%(ig>{bn`F_oc z_fhv^Q*V6_7mi9{wT$S%Npll*$V=pb^FXeV%Pa4xDK4@JiIyUl+(#ol}F9uW4>uO(akZ@x}V~~yOi3;Qai$2)$rbV z<;~*g@RWPwgXNfBkQ{uje>1JEi^hYQY2zpl4%>XOY`hWFaqzyE-&5>Ce*TIj9a@p_ z((5kI!1v0pn^**=EH?aCvmZZy0VlmH9x3qy>e|*MOOw5P@z ziYof^ViJ5l*X|^HX0sT(uuZ0~{zkJp0Yb&;># zWA}m-6T3mOE{LJSd|G4GwXJ!dVGEu_6aR~{{%R-Rdwt^HOe_QO1eqa4V%j@y-{uzA zYL1%-r>;>~uO^3Zf$jXtSb$vL+eNB^U-QGX1z z6W0IIz%kidKUQnYEk_E0-Pox8(r}nXno_Ehq?60)gieX1a?zic}@>W zv_n>2uNXy&rxWGn(z#15-rXR8haWr2rNji3^p z(hp1XTH&rdR}5ZXAM@b5I8B(p`7RPEGqR)Bcr@0&zy9XDCTLC9|1FI*ok*R)!T5`= zO^kEZN#9bE{NFK^Bi|!jkVS?m+2kh8T=q_BArPgHOFJFs1c{=wem&)ZEjGF@>f=v7 zI0Yq-)4gbosF+Z|d3BFd#{hF$KE9%jcftU+nC?Vd)+UgWT%pWmUUxFX>iPC)T@!!Y z?w0F(T@3zlX?}h|oohf`LPkXH=cG0U<@e^GLWxXSqvw%^Vtu zTe``%Nw}cT@P!v-mUtUwwiaIvvvyFms+~O97ap3Ne=CY8tBF4HP>cvkl!19k?;^{; z-9~($I^N=Q?Gn~SP#=eT?sw}M0N(63ACvsa-bVjRyptF6`Uy$B_2)fblj_U8cXGlX z7l1O|!Owh*{8DO?ntoR(_uN}guwfH&rt=g(Gq)c6&Kt_lVY4l$xmxBlPce6M21hV% zuBYZ_)eyNOUpfuK*>Uk?T0WBhxtr*~=Tu*RWoK@%34*TbWExjcXFY)MMc( zLmr9l!ahfvx(?C_H^J$PEKyHEBbd?+W$75|$3<|vUvw5-6~Srq&^Tu%=jkJ_s1>VT ziiN}*o}RO#n=s8xQXJugkmN~jr(-e5a=41bmxd3NFAj`UzWva58%a0Efs8$RJUy|b z#kcgEZ9N}Xk>%XO=o9P|@Rw1fPzNWrzjI^LA-*s>zTsMy}l zxTA!9KhJAVs~h)81Sb!&s?Im$Co8RK{XUS?H{>I*BUgpX(zoavAKq9<(w*kFHulI& zd20~4CVeoaOD#j-rRI%XH7>fSA^Yu*T8^qrijyV55!qc>>HhDZo$@e-L|+Jm%kpcq zG8WjFTAUXwW@J7T){GNvz)Bs>7BWl?+N$^Fdh3(R-iiweY_zm-%!JLOk#jjy$TyP; zRuy@Ue?Hd&GwHAx-X~Psf%Jt`oDnpT}do z?qeT~gq%n(#{^koJm-7M5km3^J7cv)wD<>eG49mk(y`Q$r^Rvw0|}LzE@5Sffi0Go zeI4FhaYpAg7B(z7`S2k$qkGTZht%9X1V=P`tuE=T=Pm+UJV8%}r+(qZLDZi_@iyfV z2|7sRNY7BZ`n78urizcGwGc(S#os2mA%Vy+Wp`=J8y|5=xw>Y8xesK!{GEqM^KYGC zmS!+B;ZqbYVoE6WWtgySZh18B-g@s=_gujsyXni~TjgF{|MkU{6FLLsq1yrx@HKMC zssq8wOf6<}69auF_N^ty&pt9bTz1C-wA99!~!kkpQUB}wxXy|0`^r##9 z7~NSTA@x3=O1Q{4%~+GT-@7Mig*$bZvRyG7BQ@uzxlOA4O`j>J`fuu`Tg(ZvogConV^oPu+%(n9t3%5!({KDdglBv!-}Q*)}jf!*K6z@-b!Yb z83qj!t}(QWR}r<5J;G&7b2-VjwwzKUtW5&p$k4`h!ZNpF_cFp8o(b;VhcRFSC_wHw zSf4QK;0+7cml;(~{dhmR{{8WuJ-ndLb%k3P_YtDMl~b0?yg*>2EQK1OVc!tgdGJl% z(cY5GS`se9GhP)jwq!pXYf88Bd}tf*X60c8EYq=iv(z!(wL$nJX~#G}@h)AX%~_AU zaDgcKQ`(yu*aWy`UA)Szvx1HIVq+gWyId0-#K*>})@&e{>EEBr;Q5B4`s>VR@H7cv zMB6r#*@0|9BkWo*?Xtj5L%+iS_fgkduD@RN-zU?n4H}`0*!)cPbR@*2>p=3{QohG; z6Eak&d}qi)5cUF%xE>?8UB|PO;pp>bkdGGXNZ|eoo$cd;b_Q3J& zc$%B!wR_+9s1B6C6a)!xhbOnv{hjNHW=Dh0g?{em(oJHj3u%UYY~-F-2D!JEtC)>3 zaU9j6PS$TqeuMFVL_|6f(`s7Y3#pM^p%l=$x{iHQ!g9w7)TyqJV%V`SqZf&5>@3F~ zTWQCs&-zPji#I&|*ykzM1<+P!nx0)G(YgBEwRWT@PAXs}VC{xyP}_7unZ`)f&5#7@ZF0!MWNc({5Pc5wc9!`?K(wK%^f}2aUt34#c=2SH#j&@A45Z;cN5WW`n+l|~e!sMOcp?i3*A`y@_h|GJRS&xwN* zWD|}^#LM(N2Voyu3Ii1xxEdn;G z2B*Lx_Di#NU3~4zq#hYdoE1;cc7R1KNXq4`nklwTA}FV!^?EE@U|3t|f?^&0m0jtq zX}6*QY>iMs$$NiD*(eI48qt8r=ya^>oj5zh=~);7u3?we3GLE^z4{6>IO3TNOC2Jx z97!U;xHIS{@VX4IHf z4-Y2l`d^r->pLAV8Pzj7-M*pb+rFs5^#^(!z?3D6__EZM$WlLv%#GA9^lZ>(+oT`Z zdT{-yW?V=D+xv`?|F(8X)a(nW?+k{~Sa5)VJ{LhiEaLhD^>y@w7OVoqLW6sOy9kO1 z@HN6NDnYjMKNCm1kbrZu9qv%E=oh|CU1O6?PYzfonTVj=UNEQjef*X}i#x9aTe+*~Poxg&@awt4-zFzK1{}`GMh9yZiSPIw4NHJ$R|z3-JrZ zi1EQn$=~L`1WGc~OFEdr@*G`AeErUyjm=?JwxkrH%pF+hajo6dQG+lC_b}_J=6%vZNq6{y=@+MqHb(BpHmP6f5m+;FE6}tU+?bR!Zio zr=O|}Po7~~cT2)59lD%vtrKZ;TeK_$wC8q?*w@cNCtuk^>MR@#q7jXpV^(EM&%H(E zw|s817S6`Em76^2M4eu#9;nK*J%H5_Hjv>b7T*M=YLP0`3GUx$%H`ja#~0+Kc_ zZQ&e=WRZ;ti_CkN@U6tg)D%CULcHhKZ5crY@2C2B;DeN zWadrw`FUx}m|g5}2Jey(kO)ZGsd{(|n;Dzwh_XK+%d0_l5|+kQUstJQ9_lkv?c!If zbdTY)=ghJDDXZ$C=*U-m=9kR5eNDrA`zB8v<+wtq)ubMqR+jO2u5B&ekjp%V2VPgc z5kGRPShzU)ns=YocHP#osL@`@OF%tN;D(wscfZws06lcr7M&$~M5@ZL)9L75{zX?%B&< z4626LyG&C}88$WusXdik%%_U_FEWzI=QG!rrz+Q%jnVl&5~*jpzPj%`b8AV+jI2@& zp*kp%iekHTCo#GQ*c;)Tx}4e!a84k2GwE1Ru^gXjY{5f}pX13>&(@{fbN(_j>F(sa zWpkG@73aJAl6x<1eJ%}l!|!HK^%Cs&rrf6I>{NnS4SyyOehfE++7(|t4Q^6#-n=)r zI9+gJ=5eM!ftMJL%>>MzUDbgoruyqC|=Ri z?k96nt`XNJeNnbgSbsju$W*OT7SJ9d@Q4=ehrhgEI&t%7J9!*h8RxxG-aNy%pS7(&9%=g{gEFEL8SrDCjq)8k@Fmgu!a{37MpR^_XFI;}^^UPnr_0SHQeR-u4@VVn7ia zOUgT!HiH#PIVeAYr$dLG)Tww=#PO8*po7Nc@E%%3^ZO|Scwp!Bgg#KSqPN}ZRQB9+ zZ%9XwI&*6flGlF5`l78Sg=5d_4Q4S3 z7CAbupanKXA%z2@T=NqI@H9#~&Yqb#H$R~w@8l_a{p9{uX4!d(Q&u%H<4qqP`RiVc z;mH+839cnQuV~K#ow7updYX8uEU5?*{qLExJMeXk+;2!mFNzApGEAQVrV#L5EReFe z&YEr*+1R_2?teCkLGZ5VC45AF0?GK4l} zrO0s2@-L+!3soBSoYU9+ehWheggZ;WJKs2I=aqBYQY&dWwiCUd{2*v89Dqr$R5sSR zvc9$}BZ&5zXH1{WdBIF}!>G&|kG?rS#3i3DKIN7C@#;vXmt`r0lm^km{+llTp?{HA zE`7atk9;|1(WP_JE)OH?7?NIq(!Fjzw5`pJ@$W{{FAH4pf+y_-DvL*PL$o(-h zzLVsb_4h(!6FIs_b20&IiyT&uTb^n4_q=e3RV@W4b`h>N=q8TgWDc6tT4B`aIIsP` z5eA$v^L3RU{=q7guj9CITOOwZqyi)meOFzF%A|LiQZYzLL(60q0+qNS*%+#eWagfV zQ(g^Zvak3}8$V5-vWZ(q3MHDjgLU5Hu>mVKGh?8OHA&d3y7x{$U7*nsudY|87HOWv z$}=iHS;viZecpet&V*YUL~C{92N9JzhB7B(!gbt+2iSLTs)F81m{!Vdnr5XUyJNLT zbfoMz6)AtI4PSj?fE zb3V=HY>pKphsh+HN2#1y z%t?9z;z8$(6jxGDl%L=0FR|^j465$6G(P1fHug+ocLi196y~xr#!(8hnr=GU6df5A z@vV_Q!oE4V`Muy(mF zvc)6N7^~qa@2@BJE)SIBK!Riv~+38IDW&?zm)2|2vv1KdvqUoL)^hRLH z0RZx1&?BoQ84C zQZ8R3%N?fsbgVEp#Eu$j11O+_ZmJiAem)!^bP8ZH_>Q%#D;v;K5UBklD%M`AeDhB~ z&htYKfO5r8c*#l~O?VK@o4QJB3i~ad7~*p2{?qg`54Ggr%x5r~+xdSDV%7(c41i+&f;`xD9HW8B0s)K;j|NLG($RZ9)iBWxtEHveI<2>{@a~z-{hJ>Vk$t~oQvRTSrfp2zPOiB|6l((kPr}hz$_u5=8f9Y zG47dv(+B=u-{Iw7n2A@7rwVpuYlA+Fm zy5VK=*Qv%FY>6peAxiruub~v#ChVMJ!{~rtw(zxS>Ss_@M%Y8Gn*|hcv~kWTxy5pC zXZ#(AT!%ltx7@dtu= zOZ9TddpuBv4vV~b<9sD}^S5?I_q=#+gR&jOFVlA&?TwG@M9X?xx;~ktr2B3?oJlew zNq1t*`^JLSs$UbtpQvrmZ||F+Rot^1NU}r5(Rko(cSEbJT|uXsT_dDm%z%x3nW#J9=Ru}7ScwwAO5mGN_* zDi^ix2SPiHsTkTKjvl|dzL#I$2ZSrf!*`Gw>=+Lf z7S&$Z1Gbh0OP=I>2_RjA6Ebl=sYF|POviMU6Ot_qocy8j86h*;?kB}-e)y;HSrM&& z0{W+fLlyBEQGG}2+UDJ!hRMVd%*=k$4S2X53wZ1Ycm@HpZJM}6(NcOR_*Mtoc(k1b9UyfRtV-gU{5c(`%9y-9Asp;pJW*FaU zqP9#?w=v`{DX(Kfi~jSMT+hdBa;7+{DViTW{is=I*+@;BiB|(oCWM^65XR0KqX;b!)z-*S0#FN1lQ-{|1m3 zqW(IWjM`({-(_qkv%cDnMibEIcx9;pf2y~ZR!i`?mTayU^o*P^@x)wN{m#3VdyIB`WnTRV zU96f@5CEXiH@-~;RmMzxyQcYFY3Igx^akE;T`A~k(1oDUz`J^ngf>RjAj^Wize1L%6_S`U{{$74@io&&q7$i!0k3#+9vU2MSqmkSUZJ~vrs&@ zty&86NnU6@rrYRrbMM6ZMh(E&mQ=EI?leBETAr^JL;>O}!Gi>Q zEHfV?Ju~gC?1Aw36{C!*TKB7sWBX3F>12Bdx=^O^W*2`g?^i`hqfBY$rsHCbVckp*8ymoZf(!JJq zYKzcybp5#E_*-#)*>;9}-NxFnl_L4wlIo8d1a(iHoBLPqj{Ug2p5y-)w5T7Sgoeg7 z?x&+X;Wmlst^;(ogd%xnkQZ;fQzln>z?@|NPK_dK$c21(1$g7-U6~eQDDOv^8Ud>` zf68s|(32&Kgp>+YV7=dmghZFKdsi0%#;&M==3k||zE-)T&i!&$)63vzx0w^in&+U6 zWq`~;iVsfK%VSC~cI`>2e1~KA0&K?Rw(iW1POacXs~(}=`y11nF691$&9m(C1pl41 z_gmYjPc8VgjugtwnR)`Hu+wS&?dK#a0(F*(0P5_4A=Tg4-xs(94ekC}$a|1F{zbXZ zgClfhT&Cn%1G|nyWmCY+*iUxZeRD+iI8>gpGiYOX4(J^@dA6lL5c_U^Tu*#3X3QJe zWn`|i@RQ!c7N>kVE68VK;_MhCejF+&Rkx?JL8BnkdY?bbbfNwO1T0W>Ndd7YPM_rV z3Wj=Ax9>NwqBtQJf_8|1>UL+okeL|E^AR`a5R(&S>@3y0;MXr|mIY(^!#z5(?c{uX zCY8S11w*0lFx*6WM-}Qr@6(R6t&hvp#lX8` z1zsFY0y?Y~@JB}O1189t*sclZ)h76yy@tFP56v&4zt|3NXrB!@??1jc^O1;g7Q(L7 zlcq;8{J-_MyMe8rDLIA<(kVqA$~ZOiC0fQlc3eyAYN{W7KBuyZwXsYKDl~g%%LpK; zc7`M;#b8aTM#meyGVFdL-n#PQR&{1l%H9bW6|xBFMtNuri~ulQlfnm9~W{ zGSPS9MDsfBd6Qy_JmW&%k)7)IjeC`2&g>H5?&SAUHK^l+1jlX)Y|uQ@I{640gEc`Y z@7jsJ!w{dFW57>}b18W4UXAKc-Z5`vV;aEUa;{c?0pAhgDRcTx{Zic)sGmVkz@9kG zHhOP-^@!{Ish#SYiT$@!&jhqw;AEe~JD9NMS4<37^EK3X^L6xStlbcKhTiVe#Ud8f zqyWFtdg31J)axt<-z-b&@sPBi__Ynq#!X<;`F$(stI+%?s3BrFh)^V;&>a(Gg#{#B zJbt6+-2Kpm=+)B7B5mc1smGq^Fb}4|cBu0?w4fC4ZniG0?K$kITn_EJb`4ojWYMt} z5oCU)Y8<+sJG?;7YTUbC>x_=A$d5j+*lp6dw=rx4<0TkZ*YBim)9~xB)shT2&PfqC zv;f}9Ege3AWv(Z2_hH7~8Y~9^rQiqO1BRLt?!kQuBnLPttme@)p?0+5Rs?a~3rbn?eQ60~lr^-QWAs4;m*X>*Dt zB^VlHfu%9acPaVMWpFNDkhqRpX^nD8cHdt2j?$T{aXIE~T52)i0VKqpaBZotss5?B z_pV!q?>Irg+B|sb_|Mm8S;$GmldOTMo;3yNWW>@OvYXqrQ!V#Qp$X27k{WZ9aK5wj z=)|{7V7c`^d3S0tPHq)rTech$W&e^ZQJs_QwrFaCJU5tSXMrH3_zp)KNFOj1!#_w7 zAz^!i^&3CBf4t1|J76V(wiIv;Z8f=O1vb}wMO7CgWTZTuT#GC`zQqO_ZY1fl66}#< zR%sY$;+}e=YA`(uY)g_|2}iRn?V5PxoX^##!E6m=2&~m?%Y`l^ECr8(ZnY4bLOXCS zpBLtM6^*VhUJI(o)oEzd9mMn8*w6HoT_jN+h{pMTRGh`$<;UKr2CdbvsknD!_S}ly zT=J}!8I(V-70`-sQsnoqIMMF|V$!ia*;wBkQhKt7+Ea8p?Yj)6j5HfRKT1&&3xvCodxVh$|#wuELh2V zXF9wGzC1_|O~#II0?9KGbc!R9ir-{sQ>+w*Ka|5K#CCylbLx?%jB=c5fvnHug|AQJ z*IuxUho{E4%^g*6aV+A~P&boq9(@Ydf-|UD=>4H5bl|0NrrC*Rey%N#VR6k5`EgBq zli;Rk4iHnK0K4*!6DQ-!{4l0v^n`hFkju7ZfT>RfjKl&O%kCk0B_;WH-{K$mDN;cZ zz6}`@IC1vWq&|a6Ljk%HE^~WlC={sJ%n$871zC;E;y3%qJw+0lcAI!pTo0FN9 z0~lf$RKl;_odWk!kA}*=kE2rGdsdtPNqL>piUG=qQ)qf?v^$|cg$4C4#DZA+y>QFn z%e9K0Wtr1)?I*0E`CiKN54^{+IUxFT8bk7h2E^`$6wUqvB*OHJ{QL1nAT}L%2|ppk zam7X+2>`}z8=t}Z*Ggm+$=x!|@PQYSR`U`ms^6gNLd4x(o3AHebIsPDWW;7mh;muzb9`hPf3Gi{7#XBMLx#W>kL3DdnvsMl;4)L9ppo*c6TDpR;VBl6xm zcNQf(ml;=^ID8ow>peEo5L^Z78hO=!2!%fon>rsD6q*hwNC1%p5*w`W0%5<>sfoTT zSwbQlr{g<{&Psv4D0c;Kw{b%LOYAxWM{Onfg}(I5HH+d}{GrAJX;SLn=WNX1=>k9{I7V^mBJZoa4YIIzxN_==*;^Q~ zL`m3h%_!wW$oBnDtU$6*fqVY5kY=j+bgHsjpzqt;E=>?n1bh^<8Ol#_~4>koKewxIXfO##s48^W8SkejVMh zf>dwER|{%*QEo`J1(lg%roUtQuoDmnlJq09IU(n_rQYZ4d~HqVw0W&RZ5WG=7l#|p zOuRzPOxKpI6to}5r@Qs8fl6gjVVC;vTZvr3mJ_GgZT}DDLs*tWnIf-Rz|~%J&NE7?y?K;M zZf9uchC+O94~!HPJtKDPn_3{q-!8*S<*Yqb$HUuv!9ecmpJG!|(#E8@k*$QJad_!F zJvW4*4j7T87w#IekgRxKjwTo|62^Wn+Rc-3vnS|{)xDSJ(PU6gXPS%#0N(9neFf6W z#>Q&AN*No4C2*8P3lZ#Dww%U_vX`wdCYon3IG3qD)S~R0R@);jk1_WcQT-9#*@>#~ zGGZPbSL>M-|4+|qLDkHk_T!j~oha(&2NVB^SXeWBgMk;JAfr__!~@a=pKh@UVy%uJ zbC~TbpI2?_08=XZd1kUe{;1{Cm#a4=71}zzH_#!DHN(*Tq(woJYkCO{BOv>i-q>FTrssqgCKvkRrNeW2!S7k4G6_pjm zw!)TU$wWBOV`-&f7xz}!;mBPq%%=gEXL+klnscC;1^g6CgxOU{NTx*#xefoyB~f!b zv9Xs2=rmhpCAyHGo$|EESaI)kE^zRuA=ws{{1yf2xZqO}Q7g7~o@4AnUb?FqE zan7u_^Tv|{p4&hY_fvLiSit#IsZdV%t0hL)TL&PU-s;F%l82Z$kx#~j!tCCzwPU; zh|-1309~c&v@!}(h-#yUX1g!1?sW1P}{&Nd@Fi(N31tN>Q>RA=UMOM(K_pA;fN9-R5OSsfa1v*q1QoETyE*qRsAO$ z3UH>q6QSEVj^tUVrI|1o!M*b}yA1jpj-PQnG+6_tuxF6SVF`%qD+pUi4*$CJ+mggX zQE%WlodqRST)Hewe6dvAWXNEpp>27k(RD?Q-e`#>r=RPRJxtsuWqJe#7yN&2#B_)c^wbbp0hjg6vyXUx zqw19B!J`Hmo+tgYrtUbOvWlN%RTon?!Ild+d}h%4JQ|}=<>n;gp!{#oMqoy}N=w#p zMIS20nW0w_^u!EnaR_#u-1_?QD%pR$dLnwY^!Ec45XlH%&tjh9D;KjlC9)ml@lPX0 z5)=P5+cUnXGmjiziq{fK$S01MWtBybum8_&@6e|x#wr2-Jk2IGs*9&2UaKxX-#ln4 z8%B1~_;(SlsR&)bUKYYSeZ5~S5(Tsdi5-2Q&6kZ%-TvivI8AxVM`dgu$k&l_lXxL2 z^kt%^nL&^;NPlfr)-MZMJ#hTd*P# zD=Wt_rz+R8_Y`JW8xJdPCSra3af^^Q!0&NKO)SW5z4)aq!H@V!Q@l{?dxYFuwjE{7 zYS@;i$$R~${aM#nzN_+%16d8HWLTR8^|syu#n|BNLNFyAL)WdO#2!|EY)TmR{V%i@ zR;_6?R8&MZ^lsNya|pbbUs_gKM=u<&BltgrDaesyvEwiLh06(&FDhZpC(C@z#lrgZ zMm$H4HRXv3v=$Ga@IaA%z+hgTUfXyc;*;@QLhMIBR$-xcL!u^@llxmo>cjgV@k_~V zxo%o>(z;~P&132f^Xhl;-8Xyg0{p%A2ACg|jI7t`SU z$piW5PfsbP(QQ4iz8r4f%B=27X{wHao8rXlv3#bn=U`XTgie0aO``@0liGG(W}Xq| z^%s7+7cd5kQ)b|bMdB<bDe?m(O!Qjf;FFt2(3?BVVe~KY+$ivFfr(wE((o#w6*YCO zbaOl*idb~2U``4w0uB+0JEn7YBjG{1cvsI=u?}N?fqFtgFp5L#7?Ypl*mhl^BrA7) z+C^R-f$_Rtoa&u(55KKr->1I+Eh1>`TTj%%>Nno4>(fhCbk-9EPQ7kb0@?dx1pKc$ zez4l!5`OL!%QzoiPtHtKj$P3>uQ}`L#f;n`8YJ9#-uayIIoY?YSKn;Absop#GwI4J zr^g<%_(IJUv;t))PG4;5(!+m}KEvI`$5ePltWPmjy4lZGeh~^Exth5V9>kz7T}egH zL4KFut$R4LTGi(U@}e#u%+qk{uleLF8M0$XRS_uiskQH7i;fy@YylL~30c1cY&$DL z+S|2lNli!sETUtK;QHsA49B!w30wr5gx3q6``tbF)AtOP#+HsB4jZ$k@rJ74qSy~a zUkQnnJnM+G#>0-fyC@lNQ!mj_kHd;?<+if+v|T}xD%Y(@i|>(Rh3SypxN#dZ@FEA# zrj2X%N~P6TO!I6*7c~FvX10M|;k?(>3oIn%rdPoR?o%5wxA`!OX9WA$*sQmnM>)O4 z(rd@N1);TAqZ9)5VfiW$apU&3yHqf{;h1-5R}kFBI+?#EK{^2Kg^|u;oz8D=;0c0R zf(Yd95-KVd5;6^|Xi{kWVD?r>d&xriM){7nDsf`8-JLtiulvBOZ1!EmcCwYAqDQE^ zDsM--9_BJNM9Cx{ndoD5`wYeE;GRjA%Vblq%~D?Z=~Gj&-wYVnp1; z$AaPBb<%2F2o&`cOaG^zuznx*Q(L!t3>rW03lWKt@cr!h%KL@Z_4(jA!vyrimc{#y zb|-y3u0_X_pgRNKxt6N-f1ZVeaaqNPFTwX!f>^HNz#O+Iw~6NP$e!F_OA>matH{me z#&w%B^F?S;(tf-u`zB@St86d9e2S`9qpxCLF}@6aRq%4>2iK2q%2&BMm0ahEpVTb$ zu#28o$5&_gCHf_gsa?Q672AGV{6zUFvG|T2j}edYRGyFGO0jxsk7FhNRN}T)Jm*pO zXqQI!Ojq18-?H|h<7>{J9~L##V0QYedJ}psJdQl4Je~%IhW!RD22TxN6#E*$i+A-~ zU>B+#DQB#B5&h<0|vmT>CtlFF)ZQ%4-a_-b_$QJrXad+K{=Bxe&WB4JiK+J zL%yHj9OH%Lg@m4XtV2c|*9o@P)&=3^@Cch{jFa>~7&L_^oxCPsf%Pb_oQ39vyzk^U z+FV~UOw<3O*A}03nY5ksv~#0&VHY!V^!rr^H-SsEOUwi%9}q1uQ#HQIc{OC0+^v?h zc7q8&_Fb<@uam=ZI>U$Pbakz|wAv5hVpU=qqI_aAuBi4*+X2x*A#3|NyE(@vw!+i4 z(GTN(T542sjNb3{iCYQoJvEvz>NXAxODfLK- zR(e9Z^|rI{egEadcWWx)zCM9H{?n^|gQmTbvkj9C!{;@zStNsb-&Pv=#vlCfuXT;u z;u8-Qht52zo7wd{9o{9G&6sTq2?|k_aghy?;g=be;gj_gu1Oc}``Jfgg;x$PpR(#~ zmJ10Dq6=c#zv}Jm;OcZt)j8$fdK~$9=8^2dgQJxTkAt24r)PQR?x?MO@sqU+<8yg3 zA@X?wH}ZAcsme;zCR0J&EF2DK3@);&WlChKAhH5B1RH@(*p$xym_O+tSL#!|ujHb5 zp@>i_h{-0t`~2Z^e)6WD!i)P7I1IU3bjZ}L-pvX-ET^SE6)3osOQ_GFr&gp^G^3C1#80r4t@X`B*C%?5 zcbX^UNL?-BMG-Yn#p@X4bY%qz#l20*tmWGw5&vNRb4O<_*Es+5V6yo^GuoS# zyK#l$Q1U{?*E^r3N5y^Z9duG6jDn5I-||}sh9xtlwD6!I+I|D^nb6tg*_L45VCP^J zWwTGWA0M$Vsp)go#P0m$Sd8zUOET8kO;T2^UAud}bi_zpy^s(VJND=z_W1Ef>n9Hv zVtCZ_$+X8ac|T0w@AsJg0i>#9oVWy93S+H<;X?^ ztYr>KO0VgyuJ&PCCX0d|9?S%HA2F;k_UDLPcME=O8+$*b&dyOsdvQvEzHwI{Qur?>UqDu3&7$x*p$1d~bP*IfUi&XKs@m%Ylp9s;MvWByb3<>_dD+O3pQbfugtChm3n>z3r`9nQ~M_8D^Sv>vT39DW*>$%cmKMvD{QN(XB>+@-G>kLose@Mn5!BM@xU z!(T-_9DQpX{Z9nGTWYutF*s`t?s_-PpzwB_3;hcbmBxXdQ*sqLjeF-;)fjPd<=akD zT{0%2U5C0WPc9Zlq;fsXEUh6%5EUhLCG@-fyIOH_aWM%}%n0wkW0RlWSxXu^y4rp6 z!d{i@cGo-yMRTL+1v#QxZjFHsed$~MU;9fP?+#c=(E0541y7tO(S-@#Zd!*NbaAZa zUGy@iZkf%RlU?s#p%;u2CK~y&jTxq!rx|8cYI5o~BTkNMV6JOrzGc>}H~l|j92Wa$ z>V6?M>-*af5U$gKlBO4d^2iL|9Iv)x=&z{5m}v5ns|w6h&lr`?0~Lh?Gv-eD*3;*w z%Rfgi3#_HqbP0fKh$kgzm>x!ehM@#2A-8qeNI_HWPm8g;(_%F|! z$X)Vf(i<-uD9bL5v7%`DyRha@$gm1|u!a`S-`qFyzDlA~_I60VyPs3B_=a1M8Efp@ z_35P5S)eb;Gsw*R0m)`b0xoMbF*uSAY-t&@Id7^JUiO~mjtqg@YM9ob2Elbc_durn z4~#E~U9rdf8p>KfJ50Z0zo!atC|=u}s5xk9VetZGLM%LN1}qRz!Ui@uY{vg7Kf>n5 z!u{(!4i;97GZx-I@6iU1zkhFm?RTAj9B~t)u?T>Fl)x4Q!}-_Ugw!zHf0c1-fooU_ z`buhQz)}CHkG;Kzual=AJeVm7I6>s4YU+!HMa%Jf!&cK{-v`=|T@38)Li=V6P9TP2G zRwYj#dsZ<4ApxN~a>T5xtTH}!4pMr`kN#O5_$PbE$DH`Fi;>+M8MO>QBYV? zQc_UpzTo}){Jj7Vv_Czpn@i3kV7RPuoCMncrunbe)6j-At98-GMO!o*^gs zKuG4V`~P28{`ZOhR@3BvYu*q-BUArSzQ>e zM)Zm{?;*GH&38tMAMfqNitWs3_V0zYj-CeWW`#QLw)i?W>X+{=4bS=xo@eg_?`cMa zA=i%Lcnpj65{D?jSlD=f-lc+XKygy>V+mQGVd4B~XM;ybz5npPY8Xn5gGa3QwgTtB z>BR45ng0J~|33}_Ufn0v;l;%Feii{cvo~kSjurol8D}LSQho@7Ddzd+1|3jF@1(Bu zF7GdV$0pK91g#Mk z7Epybd4g--yQ&qA#;>Z>M!4pge6>B?;9~iJjkZAz%WBlv@DXaUhN89;@2Zf!OLP0UbE{+S9T|1K zpcc!de8}<3P{ZQh$8_AP>gtKun2_!(NT|NW*$Jt~JJ+(N;VQWnXk^)-j39`FCglo} zlY~p4s1fK?$l3v&t8pz@3%S!Uv^y-I_p9ia*Y>1v@M-D0%GI2vMS~B0%_5Oyb}e zVdM@fR$=L0)8wMihPC@Xp|9|A{miMi)l;%kPsMo)bD=v`?X85L`9kT=pY?+YG*i-7 zty%x$yg?n%h4mH=_S^o7pqR+U{z77Er?>OXM}k6ha(*`QQw>j>);Jj+I13n$ec93U zu6X>KMsT6e^rqky4hWEmR1Lv$wiP}jO10PT{9Uh8SW*R0#X-6|-(vGdB$M+VmGbo; zv|XcIC4H7(7U5K&lsTSlrdkNRh^0>Eh;0o-AsmZAnU)Q&@0lM)-InnJZ%#DL(eLZL zKSzeGG(2k3EmM40w5n;STkIz})e6b@a(1p_+O+B^8Gc#6L%ClwGL^gnt!3&*1wKl6 z8*z0dVq-1#U+71`4C~A_C-Tp96U^TA9UDqW9EL{b<}NwhkV)esk<@+5&-uu<%HB8s z4WZ}2%g;naJY^+X=uS;6o4MJk0q}K$URl^f5v*%e;X=OWT=V&I(b|Rj8{b{=M>pQZ zOv{Gc(G}{#yRnTu7>Iw6QRlW3)-?yuAH~;XxQ@SEz@x49-TtE|$>Cl~|DgraSh>J4=qg`$H4>u0z7(@7Df3nDSKGQf6vWk}uYEkLJQ4X~&!5T}0GB zBx#7_+ znw;8}?;>JxdieaP#L{V?AekzK-*kC)RJaYj)}8!)mPG!~wi+)HM47;p`uxWaSaCNM zx9WK*5w9)<9V4G)C6_$5b)}Pckww`TYG3?)-{%Jgm*ysuk6-RwW4I#9kgVo`ZX%}<%TAH(Qpr2|t^m~7%%$h9coI43=IsONXYlbj_u)yP z{Py8$?~Q-R78RzJqx-igX~X9AyO%V*_m5xkkoi%_dbVCxE~e(#9X>zJ%u2j8;tsm{ zY20TM?z3(aBU`@_@#I7!Z%Xzwy^<97;>2fyBd2Y!H%bSOI7A8>3E`UHGS;r3Ar>9l zN2_P?vIV!au6Df>dH5pI_GfHH53y8>;+|uZB*tC3A*WQ?W-w=VX&FV9;P21N@cuzb z9j3{!6%FXHWjv;VG7CeOiH05n^~p`mIw9M2aH!YX$&V8`uQpev{|1|tz)MplV`-&F zS=iOhK1NpKfKn~2G-^HOxXm*oT1&MNTUoD9w(NG~BQ89M&mk%4hv1yX!Q{J5PH8YT z%!OX1D%(`$)24fv9dgq)|B~BMKBCJRf$|%kfpYZRs%5&cEl=k$Wf$wh%Dx|43u2-n- z&m>p8)D|WfO0H_JHoofl8Vy~~>>W(va!;~(fYdLBH(qrvbVjL7dyw`omB|dVGvm*q z|7iL$H*lnWS(e$UHC$d6`xp(|R{F0++=uL1Q1K24doV?y;Cdv0h|m12>K&B7VwLB& zTn|RpJM;0F)E5S~g~G|wh5a)f%_T@oId$KDr+=9c+s{er0vApu3b$%8Yqh9m&jd_< z(rxY`Vr;IQKKXwPht7UyXJ>a+i*-Q0*vq87wk)ok!4C`DNzK;f;Zc1T@EFqj8wr;n z;+~{Il-Qc8D&cJ(RWEh(=GlUnH3=?U5R{Laoq+ht8zmXs0u0JnYh@Xc!a6lkl-2Ii zIMOQ6tQ-~MFp$O>8=kh;pxur!%|a_N z%6vPJm*$K`pNyJYqQrpSd1zliKMR&y^+k)1CQQ!vwLzhQ>82%87qvTOKd~mLJJ~#t zAtJKv0y4exm(}uF>0{%FrA=)rYa1}&OxvHLTU{MJx;se>3W=BU-|GGia>830W3@SK zGCW`4SR(7LDMUEH$hB;0QZl^JZLIL?)q=IztzmGm|1_cFnU>cGMokgO}7z19sK zMsJNSsg*wkp;yzh2PBVHlTSP2-XV=H6K(5uTQ1agXM>kV6AF6Ckr7)pS;Qc#+sz7p z)EIBTy&0aO$;A16=jye)lbkVREbo@oF2D_eB-GqPMP$X+X6A18kr|m@P<)bK@yv@f z+$QI}33|0*96b7EiIQIR!S5B3V^>-16W7o>ny|$KkV*n#*J$R8N9S~F+ zC|w;|UFF-h0$9Pe#HlK|gUtdcG+VHF@k{Kx;k(fioLeomoxk)xvbG?#P=C_F&`}+j z`niwK%(%b(`KG-6RYEUd67kf$WQRQVBqqU76ucN@p2-W^B?d8Y4;i%=>FMT&fr#qN z6jBJO?Gh4F&+1K_^{zvBEWZ@KIkS1a9!9z0-k}{lpKaToa#>eid)$_F2!>mSV&Z%d zq~g6Fl?d#A3@KDP)}_3E>5YRcJhJi1G1uwq;^9w65&NrVNrx8ZYr7Yb$2!5V&QQSg z=zUr?tqeyn=ugd`d27|MzbdtY`Fc0cu9-@1vs+yvkip{uiJ`lpLw!@iw(D3^sJ*s) z>sq(3BZpTp%d^F6(&KdTQZ$U&{=8!BA-hU@Nj&7Y$^N|H=I_4cQwi9Z+!mOshQw&* zNUKm%CUifRH{4SqqMp=0BcYyjUohh9(t}3QiX-klB%yt)u*5lu)`q(tg6n0U>l3%r zdqor?x`{#7kn?oJdNZeIV5v~-V4K9y4Oqe@(kAI*DA~+;zS|L<#)Dh!)1Dv4sEO3e z>rHc)%Ig@y#w>Te`|i+kRbfbo+M8K3V3ZK3$}Ga$Hoy&-NfWn9`ls@h^vV39J5++E z%68A|eV<&*)Re}H6GP4-1~;m968>u4T)x(qQoa_pyRo--B_%V_uU7S53=-gmT+MwN zpC+V?+Lr8VR9iwGSbPqR;H9oNG5xd0WPyV)t9j4VblQc^iAZsV;>bcI#)%23>*XXY ztD%wQt(UXuD4W{BiT9p0#}R--7wq1}H=uuMF3aSHkR3?6bj2;6GDq>0`*m8u3YSCi$vo?~R-5jaoLLGQBd-EN*_w5%$4^OR2c6iH; zasE3cBZE`Gt7{|3`rZZP7zCS76VcrrpGgzey!Ik8>UElP zBfeYGA*wwj{u8-0-1WFxwF#cSq1iK7*7BBSA zww?8@9xDS5sFj9zgo=Ae`nXj2tAz)tl$e-k zvG+50??!nQ=EvHtW*yBNG{oDfImUma*4p{Kih-^h5{(d3tv`sNSQ8FaK3bP-+Y1w25pdic65~}mrECBRyq@K0K;4^kvlZvHhuCQHPWl_dVC}%tAG>QEFz_Ab2I4S zpSuWV6~O~&6N%m;P1rb5wR#8bT8?LlZc*iXUQ4;{V!Yj@tapET{fTL5>zdwPvzos1 z_)qA86)lkjs{W>`sVN4KU?Sy?m7vr3|0K0`&%q(MAbM{tXngQ55OF+{^y+h>c>F^f z+20Vbod}@Qwka7IV+sBvA_U`s2&sdf?#?uIhCX~2D4eHmsD4<-9~##Dqw}YFY=%e5 zClE;&%$w@cU&A-ch+QJ&SoH&D{V%`%?Y+0Mp=7)?`}Y5lo4vyghP5+_xZr?@h*Vb2 z4xY{#r^W~RZ;mB;AR4A=}D99PqHt+oBX87YF=ydDq)a$ z#Bil2ONE$@XLX9J?r6?hI%xlyX^ZPxfTW-8l(qbSCK?Kou%I}5I=_3MlE9pj%ii{o zqPbk6E6}{I?C98SB)5Txc9MocbbX?BDcT_0fr?33ENV5lbz4q&Mgj4SO9>BJ|W zj*lgeR}ph=P$~s2DefO!AtH`9{O$vuL8%)I0*xfgV&iprXX8n}2I5 zpdw~qCEUEMh`gTnB4lF9Z)smg-w^Y(@NDEaJ##lhh`5CcK_hIov()2Q+q@s#ytScm?*36MJ zbt7!Ie8oBjhB7Ph(M>)Trcu;Il1Q;VYv-X=<=2I=VUbd~`6yy-IPdZj?D9~I_-dm5 zeyOvT5CL4JkK>Sx-i`rjn#$(Ij`yqp1FOj*9yVarh}^EntR5J^#!0J9xB3EzIdx(1 zR78>P+q)|9`V72XUEq#)-(yzRhwp}zDAWKQtdGJ)X^WZ+m6|)Ejb;^aEjOfBpq>#; zclFs!h^%f(@W3K&Cos!~_<%GD3|LFSP^(OBeHedc5wTk`E<&Di0Z*3f?-2p?3nvU0 zQ77I4zmbTRv-jM4m{SW6m%`fhkP_MzSSz2|wmI+mh?%vlTK0(p-%?!dXHn1adpo1x=i3OHBsEt%6ABZJ|%$c zm#;zi&qIH9Qwgc5#T z=WCNpJ}ILvVwzrOLkivLe04;e&#BZ^w`AP@-nn6&25rv=xJ0c&FV>$m;S>8=&xmHi z7NW-D9np`DN~E0@TH91Ds$^@K`9!i5iKvwq<#bY?D!aqL&{1NVvuIqst#W;)8w{e# z#}8Vx2;^1b8F*4H!_$BK_z^@_7kuR4eCj1V4DWNQae*gVwS)$1=XKz>h>=o%F%Jys zA6#tcrl9p%8{ohDDE@7%Kx3C{`BG;>Z?R!XZhw^fa)tiLlAmjA%Dww_21lh9#8ro#6F*phoPsIqR~=h6H<@Ro9)c9;fs-0P}@+->w&WG%h z^D-Tfz^W#W_eI#+*=!-HDfi56ariroxL-y~v+2G))F*rZ>ivU0DI}R#9^oDMMwma92{U{{( z8MBf(Y==Rj0vZWkt5`ccmAdF3b|{XLv>td@kP|Xp(rf5no|xg$sD@8^o4qM;4>cX2 z(;KQ>m*YS2+p7;bw?)z2cb&LbE{BRUl6Qi)W*HQkbbJ}vAc-bt6mW%?J=nv=5Q^!- zM(?a22)14N@E8=n{Q_`!oLV2)dn3$tPlu#x6ibXsbCtU(eeNBkeKBiMUxmo(w0=M* zBd@%@y+>M=LK}`pG&mxlmz7QncevJtEw8S&JlimWt;@E~bIlEz<|`HjcxYzRO1oFh z!kck^hQUrj=1Lo*bqVPs^F7nX`4Z*$V8AqCvX@Z5>UvMaEd=d*-g}QYW!M4C=wWwf zP7u>)_oiCCT&J7o!RLcMo+Y97o$*Zf_miP|=d(RNNX)5Pm__pq`uoZ$0;Zca)-A4E zYO%EZxk0ZM2e5Y8&M~LRmGO@99w;tX@8}lUZzZZCC3mL{gUYx(>=itme43CBsr8uR z1-e~(&$Ri6@2rME%MSyyA({(}o=$0x5c+5;TduKU9u3Ogvq&yB>~q{4?+6xI-4Q+< zl)pYJLp2MUR_4l#t+EvbC_GpyKt|DvIOI0D;BBp7BbZI>Ta9QihA(zJC%M> z@_^8d`+4@WXWrRMGbb0*bvoAPPQO%k4G)*~b$Sr|yC|~)Pe7jTmYUTPJ7Y~iD46Ub zwsz|Jit)uog>bKScdk+%I0>T=UmYk+>Ov7)uaieEt|qbvU9JL;I0Cb0tzxDcd<&=r zEGCzV*q|ll>e?>Oop6;_fd{VR$I~iEc6N5vrAKl0TN9<(?loCMeXe({eDT9i)#jRm zWjm{x@SE?0Id#;_ehn|YBO6&=5DU<6HzsAP_Jq&5d4?G4Z(O;ZQbY97@f*iC1y3T> zM1>YT%u1IAq<7zwGK$q3$5h{Tfw5BezVm$Zp5cK@+Fo`z0YVG+f%O1pB&^KeWn7qz z2vG)23>Q4n@GfUi3`V6p+V9RbWPjHTi}>UO{*E}7v260E!C>l2^*gn-hn%61j8#{5 zT+lykKNrQ3?)eKNnl_Ak=Ckl>iK_CywW5X#Rjk1#po7hqKFUfwm z{KUy3UH~j!N(#TZdev%wpMI}r%Xvz$&s6pnVCw_3Zw>H#M&5GAe-lf?$EhQKRK1RM z{!uArxme10s*J}fiU>f#!ieXL$Ie@wETOX&@Y1?D-WD{9mPr@>?7NQqm0f%(?i8}` z`q#ZJtXjFei2ZqmhRfHzd7j8ty+SWG=i%lT#w*XeSu|68d2^l?-}HlgDj~w39p4r> zs>U2Fb*@Zgc%H~CKpw{N*^M!N?ql7J6>N5jFV}yxF2w}1ta6AGbsrJ^3Bj*Y+_S$r zJ&MaC+jcdvUF8zdXF8t14q$SE3n_JyF=?GV<25YqDjfdYXF!`Ym&1-ra6`194jQ>| z&FGP@pLX2A{wgl+!P>2ZX~J~Wg6Pq?mG=~lL&e3m??4K9ei$p@;3ZoPp5CWnb{YG^ zHh3Ch1^7dE+O952s$0uz)+XFwU}L8TZ>|JS#W}N@{Af#UK6VyaR@H8lBk3O0X(`=w z!OY{5PaCfKccPfGha#hKinEQ!t1x+~R+OYsc*NA}fmUrK7sc^rhHRd#%??ACA6(0X zb*_+J7}D&e7mXC^Fjj-!qXB81Uplw<>dYP{tc9p1NoRBg9<_MlN?(IkEKiHbYi}rmYL$Lr9Q2#(KlESb2N8ruVrs*!4g*wXCY247G&@!`;x)XqUlvk2`e|^y^Q7Fo#S7 zkfX8A4+#8h-3l32J$mE910j`Bwkx;0K|0$x+=B&my# zw&Z(#&>k1^o75E%ayx}X1DKYxgu)}kBrr-%)6D{=wLfmTt}h@Xu20-Xbvu5jQT2m; zN*TKIb^!du7bsBV9Zc$*lhc2tS*?8KUN`5^vzh?${9+Nb@WRKs1Z|h6j{s*_C73l9 zgbxX+AnDK_)bXTL-7`pmm-~q^b)H|`@@y4D;Jh$9mM%8LJ(gy0%MkL8B)SC%+T>o0 z_OREU>}d#-Q9;Vt{&#X*?ev9l$@UCg98kzh-Fr1{n6MDPJvLxG8p`hPG=Y$6Wfl#~ zWzu_xnkVyub~fl47rea|boLEKsXoAJx5}SGBu{63way9__(@yB*JQIIEnXVHU;yS_ zeG?jRz4qKb0OXGX(t$LfkuNf_hOwurpSbIyhlu`0n!s34C%Sz)tRdIhsI|szPb>u4 zF`DcUEo~J-(6iHUY!)_Hur<L>Nk_GU1T1LJ}i?(Mrv z!OA$MYP3GcbO(QsXmf0zt}AcV;nRib^Q^xo?oHuO`dChOBBfk3lDC|UU7l7E$v;}I z)4KJ*1$~9yvqw2r*`FV-U>C5}7p%yxzB&O0(UjS32jkZa@78WMtq=N0zYSM7&0SKn zva|}@c&M-TWFOXX-}{?#x%vr(((tiV`)` z#U28YQrG;dec8^muTT4GtU~*1R(X6$sh7LbzvB^C?{(&cxn=LyLCH%iVKldJwBkPI z?e7@iSIK20-!ZYp1#L}~C2j7_(fzOc0 zgFC{y9)kt&ML9EO)OG{FJ2{rIC3a3coeK3sTIUWfgvtQq_??cHK_4g%BcT@o zpYS@9%F)Z_gnlaFT|6o<6f$%aFgAIMIUZN(?4-kJW2D5I1f z?}%s$kfIR^2%RXX(Ji~2%GWS^@}fHad%*wQO8mvWYWii1jTQ|FbPru z0lGHX0)d3v(}JVCRO{!}=Vt4TfY(2sYLKyOJbi9ltSRYxW5!grrXk_uX?-`*JtrqN z5e8`F{`=1Yx`4vw*S7>)Lo!OWZQxBxpvD35d-F|*-L>-aP;-}FF}$Ior(6YQ-y+8v zd$hz6>=>(EF4u`K@A9=i)-44_5)lkpBfr7PFV8U*m{r!WhX|8CYE)K^qoVv%R3W(`wTZeC~I3%U4!p~>OnPs@)V=cd2-}>&tee-NO zA~%Sss~gLc{dPwrZ5jgjKexF$dij27J3*QIbmygZjTPyytb_|@Y_+XSm@mJevli01 zbXEO^IPTt`9XQ5yd6Gfavo?@qURDyAB~piG25kOji;Fd>{_`2p=La3j_(OHz2^fpDK( zyDxfrGTC#Z@i8Jr0=-cpCY!Q%wF}WI&^){O3Jld2xBPWZ_o~*ZqgnMf=l6u0hESY{ zQR*|Y3)huMDSsEnTcq@7VoeaJ$Y}%qO*azid)%gnc0FAvtsTPx_FMAa&Ga(vN4ku^ znT`A=GVQ@D+gf_oz`-23y_w+rMR56A=qovdhj~G#R65t_iSr3(Tt?b>fbMvpuDM2k z#BsNZ!!-05NG??HZh6FCw^w!##uc%-QIKnTL+B3cU}RRC>*^hX?u?Sd@dooY^5)V zsJK+ekBad#0cNPA?EN+Abta}Iq%%43+P#r!V}c=Yq%RJ+a$ z95s2?ZEO`0Q`eWXrP*T!1?s32P1<%nM-kCP)tgXK9z5UM7k|rlvc9DO&Fajet*&VX zU=1F1PjC<(1SdKVVeQ%0)`(HiI{J+p5Ukn@F3lmmVZzeF?3xP^Rkq2Hjc#kL)p^vG zFRnXOWWM*(dU0RjoxDS?;QeA8(5^xRk`+2v?>P@sOIj_8#=m5`Tk4C4d$}9B*8`%n zvcZ3ReX%8|k7HecJH(Y5xHrcyKGxRZHu`j`L(OucVE_6IL*B6ejYMl746kvSQV&P( zh+B&4bZ@;UmKrL;Es+|s0=$8S!ydkVeUw!HGqUiA%i+#XQCDVcFpX3J2WyP?-1%BM zGf85TTeSSt}H}UVhC`_9EzbVshD+{xMuxg<8lGuV*w#}7_#NGd#~-< z69-k5wM*m+MM^%Z6-w~q6xKyvJ-dq)*2eV$MFR zC-dG%wR~L_8SYr(H?K{DE&<%X`qkxm|L}2@Q?QQ4;5*mxGLE}eEKlaHF>qvM$caml zUd?NRFDAp!g`%6Klz$~Kde+7;a91F4vlgGMyiRub@bb48-%1h!VfZ%WyE%Fd;AJZF zi3o%lmzR%<&-@RoLMH0HGgTGSv+vzQZxCgM!az4T+DbLAtfo$^At%Y_bL;3$I^)zb zOC6)hp^Y2I=)9;cAcxmI!1Sx_iw5SVwk#C54Oa@GB2XaO%B*sFMEYV95(%k+;$XBf z=)Jb^z|c=eR1U;%b@>qluK(mnO;^Z{>e1_m)#L?gFNkS0!HRJwfqHv}1$T#$Pcd^d zFol@__m$$3vimWGVIKBJS-#Sn(QBb{p1gr++6q^M4n0v`1lN4VMGj?(xFD&YP;Gx$ zzjnIK+&=E#doUuJ?Q-^eWK`TxCcL_+l@yN81u_+Dk~HN-AmUm0Q+L0tldtGTbORq{ z{VBawvD9DN6SIGPgO!B0r?K`HG9%- zX$l756V}C?7_uE)f$@uoSo_*Zy6WFG#J1Y)&*W6?-v8mjp()4RM$bTA_$qt^6J0vAko_FqFVO~IZ=5ZBxc=j}*7ohu6xN<^9 zj!BN6evc*{sek;myx*PK)dw$?B+dbSS45m4l>K?%RDas7zxEC2*F_q35PI5jG&X2Pi~fn3IGf%Y&Y4zAAD3O z{-~SgL79+FrJ!Zy*fzY%Sf>Gln$eO_Fa{#2rQ*o@IvDxsjmJxQIUOn@a`(}j!dK^O zEDc)&O)_iaAc(q^5}Er143t% zEp*6Yw%zbXOFkzjdwg^Ye9-m#1?dQCq4rasc{_Ge zKh&MX9lNsQfMV(Tl2kPfZE%V4h%)Dh8iRpg8>9a({;L#AOxd!}Oq2?;Rf?RM2`ysKM--2{BSjf=Cey(GunOUUXKLgMuEbxC=HncVpq z)dr#@&;aT72t-Uw$ItojHTCJN^b;I%5Xs+1KntId1-XuLtz#ZYd+mmQvqEQW&=Ajl z#Hx#v23K?!>DfRKP#o7ytF=M7#4RBIserx)8d+)%&#S*nO5wLP0VLf50ev9Y|Fk=C zW#%sQmR1PqhJIq@dPUnHV@<^ zK9(2Mc{J&x`S;R?L$nUA^W-zk&s?8x;9u~pv$iTJGaXa#p7G1tqe2Im8->;+$~Hyeqp}e*J93TvOv)7yk;`{e@`5$gc*%fML-G8vTclR%kw|(yU zzg$z|Gnem#(@&P7YkazhX#UeTso=h(W2sx&b1CUj%Ns2dW2iv#%bB6)Mz@E&o;6Lq z#%ukEz4Q6Wn|?-kZ{myYQO+~w(Xv1m!OtlG;O1fk%uY)d08rDLMks)c6+9q{AJJLa zxl99?g_mMbU|dmVi1FW4)OZhW?ap)qf=^VpLH$7$Pv#~*Dy{i%1(4ONkx2QDDvYx= zYNsG7Ng8jyl_hWmhmm(^XZNJG?ZRroz_ViD>SD5${sdr#Wu}0{nX{%mFI>=7{7)%h z(pb$vKmcgc75*C3;Io!u(QuenM6n$L!T64=pPCPYv7g`wQqKK7Fnb23_&XHeqIeiJ>tO7z` zkS<|HtDEKl%o4vo77!@JX`+Ex1g(w%kGuxTRn{6}oc{#NRbk}b|HfwuLbF?)b%v4$ z)mtxtTK`JcPaJ$SoT;p*J6&YdjDQ+emQpWtA}`kn#lu_W!U86tJW%_rn$5yHL_FkW zgim28F_mr*Ahk&q{Kc)B*IuFEh&aLKqy4Ao1;K#>?TbwKIp*Y8DCi{w^r2sI35f6C zr%VJ)h%hHvR|Hk3*DlCz+~k3X$azY1%k=+x6*q}#RS2mqUIG^4+nBC_T$#3dfg?n3 zY_C|*=C})B;8k(%^wygH^O6G7W(sznIG6Gi38@36vX+ImW{3c z%eQZt;vU__|7<$oPLr{NT&U230ygn#o^@XEmoHNLsR;?hGsB;6gR2GvO286%7l{UH z&l>c6c%nuQ|D1^h+f1Vvpc?>ASR8%Nvv5};#8x8RD+<#BNM&GQ4S`O6-e#55W)*R$Lt_se*HcJPu$3bkPR=FK{Mr9l zZ1|lO`13*BjF|WbhS5k2y|5N4=CVZmsSOEX2a96{mALWwbOf{Q_y72>KWWv`AA{JH zcZGtPRwb^0hM(ad3myOQO|Ngqti=4x8cmxJ1SACd?-(PwS{4*r{_dtRaZt{T` zw~?QMd2A64#}_KznUJR3A^UERmdbN85@DME+j_yGCA>s|0uHPIj|QY`kRg@?@3tAx znxbX#mD9iXPyehX`+58?Er5Ujg4h@eR6qrCy9AI*%@a9-3|WFuG$H?YgC$ma70Li1 zV`pRy8qVi==r`{Fb#44{J!lVsSz0ld#-QOe@Og&(dl3Kh3V1<6Ml3kd0~Nwd3ZMUv zL7CkIB;q+g6*QbS7gP5CbK;SLSnq-%H4sFC-N<3{|D)kKP8zX5kHv2?V)aEMmgT=E z^?!c#IRXh}DMc8;uxdXcR^R_Vv4LWwH-Q_O!35N6A>Lo^9W|7Rv>op8{p9fri* zH)rm_1Fll;-=~fTt;f(Eo6o%kA^60&z{2Y zjup_?cbc&ObAog9zy)ap2w$~;?zWNiykC`6tG4QzWLh$9*jas5-dBB&D!k*+r}$+=G{%nWEzH`XE0 z`Ri?`63!24*?-G_ioHbmq}Zh2Z7K8?BjY>v(sa#=ry4Nj`)m$fF&UqIU{@LhBs4Va z{240ff7P>;8e5(-5WkCyi(3zqYQLUt)we98KOr6B zPKw|9&9sAzQPJ}vNfJ@K`qIS@gwF{&m$w8j{N43Z#Il^<|2ZpS2Uu2ND8)##rP71f z(**`lkQ)Eny#F#(tiHdkHZ;(@P_3`~$MoF#9wq3$S@Y4bxfM>gzud*}=+Ptp>QA@+ zTpvo&Vrpt{fj&nc{Cn=NYZ!!oE&uD&Kb;fpAZRfNl~MW+M@d_V4r1AK?N7cMFqtR% zQ*hgnQ(?QNi_^;z%LjiNXS!aHpU?4GW1!V}vmmJ4G$_=~jU=qPwYM2r#Nl%s5amq5wUrY%QBgxohGRO{@}2Liwrov27Lg0XoU zj{=KWsvX+G{l`8)_#DhbkT^ihRnKqyF~9-P)<8=xN>cJWChPP@0V#W|ClO-e9C8PL zQYeEW5PnSoL;z)Y&j|Ub(43ckFfDay$6aC`b$!F5;5N!K{0uIK^K@`!=H`ETf}l=pGk1s>3$Y!piXX%x!&`$fVoIj#&0jZMBWUoUib}~- zI{tc3)%G&eYvfb6_GJ}Wq04)S9NSoE_73=0)8Z=ZPznO*d{E=^GRpsPud^ z+}*%AJzX*Cb_U%KQ-hzw9FK|Nh{6kvQWjn1#?V`k3CtVYc9fQo2v#^XE(8nmyCN@l z++FFYlMVW3)eebS$=9sFXbvU}D{V+>H}|?4M#gzz{+vcUc4NjcZ$lQXLdHs);e;E7 zn(>?C3+7QSo4TB$@tQ?iUT0|aguRW1er^U#>QxGn>Xf4X`uU0(Y=G56VzfV=6)-n- z9z%S-8VMv`WcTaSQbqw}UI2n}T7?=+wMTW{b?`~)OS4gf)u#(^{T7;h z=VS2YH}_=B))TC^CDTA8wI|;`NuFwci7WC>=&LVO-PN_YX6SVKqtBrx=sWZ$+dmR4 zdHBY_ZtY@QPh0jD8IPT(nQ~l^O#RV>cQ5=nPp!_?djIlzAy#v5;B~BY^dHH@x8WPMQ11 zjsBOmdHS`^Z=JZrwXSO?PJNE7BbyVO&hrkh(gA_0C>>U9Gu)e;A?We_ZJs=!3fz#s z?j1xy7_VJB>EB%6ECP(j=^Y~D5f3?C<&7|$2zHHSDtN_xYNDk2i8EOe z?#+FxewyfPE_{5`N^EAZwXe;Kq|0ZdM6X$VCVjWSZe}}xaCC6@OIw(^{PzXk5l+q7=i+?`4zZFhjHPi({};PN40V4ArP zwic(9i+m2pI`IY?Ikij6lV(F7Zsvp>wN@n^S3C|e8q5!%J-hE_WB)ZWaZf*XWvM?~ zGJlfDKrjkl>fBb~!%_2fpWN zNvvydr=N$f7^L9?qZidM|75m|`m^bk>~QKhiyru%ozH4(xOpxoV_~ss?#rLM12RIB zC=ac6B$_G6#sS}$HVo(XV`xqNsqh{wpk5d{7&O!;lC^ev2{^6I{_H+g8xruDzO=GP zwqu`N^V6fr)A{qu5&Nr&4jR9^_ny4wN^2YM@aI+B$!je(g!YSd)a=6L28f>DIfln* z%VhDUfOuy%65p4B{(dUbON_e~0?oGvX52W`gH}=;K@oWZl-gw;`#}&#jLp4C>BffO| z>b-IuEh8WV)GBbGc;_&}fw+Wv;qfhNMCpCHsQa^F7o-(+F_?&s!vpg&GloV~^;>M( ztRdBbbL>i86h@YB+JuMm)sqsV>KPApjRsMuoEww=`x;im9rMmn_1s>(&$cT(r?$g= zbnuOtAhDolA%Ba>gPagM3xmw>JIh@XMn0&5_1e(KPsA)5{Tu$*(}!83=R-3Ie2@CA z&+R-g1j7S3B(DS>aoCQY`xL)$_pu`xr-m2HB8kx|d(57%#}$PdR!75TskY{d9EQP4+WDlnnvCCbyvZiPl>VfnC2 z*?0!eu&4t^d4RN5_S{;U#tj}eWF}>CdF2p0U(!GlMW)1&i=CaX{Rq5cRBQM6A74~H z&xA>y3$9*0%RvqbpG?P{IPv#5sN+(ZpOHZoC&$I9JoL-1hCw7CVy$8;J{|+F;2D|n zMLadv_^Wl$taY}oj2~>-6`;dKE<>PFxc);W_2^7)=1L~%alRgRYq<+OyA@d(KAmN1Z zYC5FqxT*m*$N*^5&d=JP1F984PeZKVN5fwv}Z*~Y!o!a)pI zulW})o$zKOTEFv#RsIIYJZ!3|VVm3T>lj-nr<=OVoM(O5IMaR}^5vyIfycwGl1ti_ zh4=yX$J^7Htt(DPF9LWSoi!OfPv*h_N5LaieI2O^Uk45-sjvs{b&|<~P>N?%4;z^C zUk7Mm6W0VJS3ANSt_%wbw1_;9#-YLiPIPi7~4JH6Sk(Y6~FH`5Dy zlp!aHioP`=$|{f-&U3k4*L=^yoLuzaSRz2Q!upT|&)>jxAZ)quJhcaBMFzC~EC#fP zzpEB#DQ!i@d%VhpPOiYH_C8`fANfAsUG&L{AMFPO(04G-MuK9D+(A(*i1C+=c4;Wp zz|k5s>w8)D8?rG#y${~HZS#TlEhyo96GJ`B*1Emt(Ts+3QBd}Kn8+uL@J7eAe*^0u zsTmoy-^U%)Es&aCEJcc%{cJOL_WJ7lGuwX}n6}+i%>ZuAID3b>vRnMwsF5WsbrcvO z4C>qHjw_mC5Xkao=w;`Uuz`b+dWyRN=_mvOf zPb0`|ZYRl05DzG*V{&$ z3TvuuxN?r;pNG99{Jowkm&4q&)oYdZ$QYEJ^!rV{bBE1#2D{WIYt^qn+EMUlb z)U^%E%j`RR`!y=rbNiG3<;G$Gv_9o{yFijF5TZQ4f#g3ZnC5e~(Y8oHFW~T<#PLbA zucXMu&b_`P(ub)Ow!+Q!>zo^dvBJ$!?&P=Yg)2wTw;dmVB0qU2Pwpa8@-($#Y3oazyHxZls3_Ubt9-wlD2)S22=PQYWOi+TG%K2?4g zd1B<4A=%!e&t>~+GY62WcscCPh>7m>GvCw;YTp61x{^`pWc**&w@m zTVMwLwnqHMy3xj?PaQ+dL;`$U_(Eg$1&!;VgW!Do2(mA1?XA zGOaC|3xJ@tA-7Qf$&sLN_z(c9B;3fi`{XReQB}_BKPo~MQ9-XwoHpz^v(g@t&^ zxvOVyY#}yv=P4#MHSh}0yS3nPoF1elz4J7igN|v(~ zyqtQtwY$oN-)5Oz4HPK!BO0Vt9|9t5^Yv9Y8EYk~pMZHN{(+)zKswp|VR3E0oQCCB z45_*NDjZJzESYNCTNCbt87PwS^&8&y-dm-(tLy?}#UvCJ&LLHR5!vO{tA0A+U^_Mj z_+HL@!x#v>eC%4LlhvKcSDfTmbFlIVyS`KOLQ_|Cx2|=0xov z_F+QO4YrRKB9jKa2lxv!6mb4vkw&A!16_-qQxFzq$YD_AeN;DqC}rrqeaJK7OJKpL zJh(Bqm~7x)py7=1m7B}e_*z`I(Ytb7nMKHIqdz;ttnbaVkbToo!AsC>NzEAn!edQK zV#CD_b5XBC0#6k5x?G~W{Z)Nr3NxU~qc)&8qJRC$r{}CEt%{EXg*0uA*=Drlp=F|T z8%M8*fN*P*A4B`ie3uAOt~>9M>Ffug0gR5Xy$4w*#pECid!i})lAkU69JXOpW{(8V zFZ$zx>L?rYrn2&lRN{I&}N9^Soxu)~a2i88;NtuL{TX9#ao6@hNvE+)j3~ogETg zdg>VJT;mg20`@1U?Hy6Va2_)&K#r9mv=dF}`UJlv9^<&tfo=;TnaX87qsL>fV|$fH z5Ai#M&7<$5xR?9oD^sT}@1juOkLLji)%#XTe^esGEO5*KuKQe=*xnRv9&n#vHPk22 z3ZK}DY&)}0)KV^S<8m#&S^%>FA7XuoLe-sd`4zf6f{Ko#=CXD?-?g_@y|3+BiaEt%ccJMRYgU9}@1*FCGX#d_2L*XUm-Brz=^mSAM;RMQC zo*tWgDSW$r`>scz@ybL3g`Bj1C;X+@)ac>d>jDcTqpovaNB3ADt>hGFnb#ML*Eco{ zC<<2&>kS7yQ`sG^n0%Z3!Cr_eb|0@yv%MUA@={Jv-G|FfMBQGmat>B}of>4Afg^^w z(h-|RE9kNHd0Nr@O}^3+ianeU^|-1~JOqPR4v-By=~s?@3OAU}^(t+i_ULgd#)-?H z*^(enx(b9*I5fzFW*_ZZ5)?b?^RA}!5r4$wV$eX;VlM(hYP>Dyjnd^bF^7?Yp#m*+d5h# za&E^PO{=b_Tp;yezqiMaEuacuZI`5o>Pm_NE)D6q-TXl01&7`O4U4-YX1(%R_m%K*qk` z)QLyWb60$CJjn*(WkpVs4v-0XKt_d+o=4b zXfQVB2|i9Z2pC~Kh|pfESkI?~X$&2Ny-Wl%{w%fnO+K*j2_dWe@cwmVJxwtKE}inh zlnLXDlULg%7PSCOTAZO|;7b5nCMlyz|7Y_XOzR0}Mz!<2DV&xiYa3SspG+}dMa9Oa z(Dc1+zCP_>QQ_D-hyD5?(AZ)^XUm<;`33P3>m++Jh7a83@BffsqE(20E1BR2q ze!1#=xc+XC75Io5gIP8SK}8~>J=Xgiubh%m#TYu#uhg?$H;Hz$8(&0JZ^kEfY6Xq9 z!deVaYN-hi^UWE1FqR#B<<=Zw=i%`v!xBYGX98f~4s5!C{8`w~w!X((q^)v%^a@ zn>&q){Hq-Aosk3Cy+#6eoYT~AvDjPJm13i0d#}ckf3FTVp#G?zKTzJ-=xx!m zaG{{<&Z*CngM4m~0%?TX55W$>2d@|A=Y>LWQ+%;?uUrMeAUNvVOu7kH zJti}8`o;a}5U5_Z*otmI)2NH{QlgtshSob~i7ik|){SK7q=}Es=&P>&>aPyE)k6S{1W~0((kQqgfj5fgn75)5Zi?>;@>72*b zJvoIG^t~GYH8Q$j zT+GGkzI^cnw_+us!AO3y<#C18(s+-b1Hf){Z-Mv)I!@;*uZ&!4FnSNu0o)gK?s5f` zZt)|Ub2E6xIo(1;p+QPv!BOdf5mjO&)|;m}Tf-Zj z=fdLVBV6?jD&bTK_&a0AtV9gZ2vdB%4!qz2V1Jk2i3Cxz8^T&elIYd1%~|$V3cta> zi951x{KBH@H4d@avhYbJ%LEJYs#rX}kWz}kcij1P$U);nxJNM3cV!YN3FBCuThUYi zETpMAWBuG1b9@U@Y#8rnQf2o2E$FoTuI#ws{cL&aI215uZH8(j3_U-^jxX_A_Sed< zlr+`LZ2FZQ7c$@iP=D^aH6rcMu!~_pOttA((y?#B{|>0`mNzG~hJ?Sng6?%hjE1K% zp&smS&Ud$qxUL$z@Do%x+)LwiL#*#lLI$-|2xaw@ce&8fSne{HH#>pIPT9&CYQ|(Ef_JCn z1yQH5o2byuS4yFOsK=FzfWbiQj)s5|=^VIm;cP?z#E)KDA$h)3;;~##F%jN75%joC6W_x4vw-v}j%^KpTwV7mpY0N+Go1>lzci|zQmvj^{Whx@^L72#pjpBcKt;j%1r8Yu91>{2fGaPjBias%I_xN zpf9DzeczdrR1}kn&4cyfZwcmqxSQRITP!p;i7#+{EPADLyWD%T-gNO}xm>Dw#=3Zs zPtD{9)qC$v@**uX>#L~DwkF)RdsOS~+R^IW?GoFhtz9S?Euz|?hdc+YP z?7G~86iH3ffKt@;;dB?4u?JM3_as)Q1l)C*FZ|=L5J1ao*~{;5+qRjh+WUl`DULXexXK5Nul*K!*OAS zP~vy&`c)Lg^P@Nu<1eZqv?V(~+IDA8`E`mcsJsEprF_GVjg!h{FU4&;61QNH%Tf=d z|F%h*3vvdQ;xISov+!CrC9<7DVcwIf86((`O|XfL z(?s+fTP>;#ZPV-d!ndA-;n5`~pQB?Y#?{Bg`k&-X&22kUA!1?bV}~$@iAEpgcl4<| zwi4Jx^l@#WAl)&3pwf~!SxLk;VM?f&%JH=uHRibFJ4h@v=>3WMX&I5bGZF+G&Sd2J}y*- zXQq`OEnPQ1KmxO(BwynH48^_JT%Xxu_}==#z{krpw1z<@Cf4i|GAhQvk-cDdVHu&K zm&r-Kgn6=oZMl-ZFXRgvb9WF{+$0MF6HkbZmQFd<{%q}T5d67zN7RU$s5 zmAhr!hqjrG^!*TROcL3Lc}F7{(js8(aRX;8P(=IV6MK5Cl+SMr9yk&cmpw|+?sYZ^ zp{pmV*5|jCS7|vsU~wG3yiE9>|8B!KM!nBac(sc?>W7~po`~O>LM_b<0r(zIq0Llb z>Agi0%{?i5&!+o~vnt5V3Y4YM86Ha4aIQ-0LBlQ<)tnmAWij)0;m02uIthsx;bcM> zM>!mhSNcplvkN<+A}YbbD}9-R2~2}Eb-Ff8TJasPh@O$Vjqjt>k6FI?S`O{AS|3`o zFh3299&a$Y_(b@!z)VpE(m-?P6_ID9Uzb+TQe;48Uk?TE77mVHl^vS|;nz1sXR%a* zC3VTq@IB(TE|1q%-{e}HR^bb{+Q|S(t9a=XNB z9sJGhETZtP*)pIG^K7~xPab83o8PxFTqU&hQu7A4tEsORv2* zf4@}4Vd8zQVs4I2yVXXgz89BhCL)HO(XU0A)ti>Ku3}sKPqoey8P1U(gZZ-&vosDYspf_^5*-fWaHWy0+ z+#hGK+qhx1iu!esP2scyKU0r9VC4$r>jU(9Cn&x8lkwYPfoAK@9)V=ZLZD20;<3JKBIBl@K+X% z2w?tnn}k&4PTqs4G(0Jxkjw-!oN8>?8ecwCL;}s4qqe|!}^ndM7f4zvnLO8Nq zOz|L>DU}-tAD44KXs6CM_ATKQACs-<%lce-;Ckk?0Rl z*Ul8zdHvXgZ_kjW%WCc|<$vZ^WXq}b|ETkbsfr`#g*V%4Tjq>fuc&W!V}9De=H(T6HS&oia!#ykI|{0Ij5L0~ z?8)Q|8GG9I3f|@IM)AY%8I2rZA|6uE-HMP^rWVbHN|eRxL@duo4qv6mQ1d?tz3Tq!h@csa=kjBZAk%=`nlJkjM5KmgHc3`ioHpmf8i!iC-6Y%4Uk=@QtoHGP0ExwU2Tj1wu}AqNN4|U2uw^TW9F8zIG9e36 ztQ|@y_CWBS6@IMr<9eA)(R4|HMfSK@3_Nn<;&;0Ko*ny#qeiNe z?!`;KJ>=dVPSOz+say{EUX&j+>*={2D7~9m1~8%|bSQIfg{Q{RF-X-A;rrzLJcbSD z3VLjRkW9AQdWEgQuuVv!bB@0h2`>@lvXR`kP*iD;?H`%oyEnwh9D;=Km;d>wd5r|X zQFbV#h2KGGc%EiM^kfJ1Y#|np%c=zg%3==?pvj2=S^I)XMN)xHU z`bfSIyjg~U{iQ+nsp|4;*VS%*^4&=jDEqTUb{w@&1m)w!G_J=Yhem5BI8H{y#5?O( zI7Zqy?Gnx2C!rCTuxvjlhdEz+=71JWt}m?V^6>~iMH92e$wZm3yg2gh`NW~EiRx^$ zyRMNUVWC3#Yl9a3FYyA_%i9~_o%#=>*UpsENr(?NVBsRy4RLlqQo~XFM3c@pnXhGT zUbU&q!haf)$v!+E>62}4(>3Zk7LioQa?jtk;dJlWymd2AhD+_=dyB<|9NplRUA1yv_MVQ)5SA+!o!Lo zR5q{sY*ziI*UK7p6%NxgR=qmc6!Ip?$-W!6-_8*q^vRMsQ;GP7)_I)E5)nC>dJ~{~ zYk?=aHXp@9n@Tenczw2qkJlX}5d*eY^%BxwMq&>$D2`Tt(MtLouKIf-Xsv<5t|mBwV5Mq*l^-{HN{`& zKke(*P=79SPHQY17=6b2^tm$4=6ohzP1P+QdgBGw(mT}$Q^rM^1GQY%gDSV?$mW1n z$4iIn=yjd0s0R{{%O0H$*L&%(tn~UW?`0D{%@XqZX>;dw#6jO^WaAsNp43EYG|WM! zn@OSCFqz5(M%BAN?uD{fhmJ;reO50cGb<|#OLqU$PTZ$tAVHR!DF608w%^G>c!eWe zq}(OGaHWPX$qUrvwgmdx8=bjo%VX;Bx&@tm>#(3zaD31l zPrm1#j0J!`MoQqReD_NVys1cXyu2B%qFwZ5-PTZ%nncZWB?CywT773?*0=2jBFW@I z#05XqA`{kDH?P~Sg)CHC8|!&jXEM@mwwY`RCRF=*RPyvu5;eb5vAv>O{ zj*#9vlG|7Oiu1Yi#azq;S+41f^8T&*Rjn84_J`2kf;(F-%NKGtZnLV51Ui{Jib&6E>TNM$725-FA`y351SSyxf}1XXH-_pw6f%3THVD-Jcp}L-^KrdevI!1eEqL~(a;jTwO;kRs zD_usl4Gsor7B!&v2hv@>36ITj1iaRXFVFjUCYl|an{?-$jkG~E^|pf-&@yG|qZ0Cr z07o*=nU=8`d{&6kJ)J(ze^hK#ok=Z(m1I61?Y_*KVm%-jqCW0y&Zt?a0jgBU0&eR8 z7Jj?PK4RdV`%7S3du-AD^cW6l?;22=lhP>2w(T`OjUeY&dUlC5i3XeTjkl1M9r@6Y0Th=++%En_?TxHXw9LSm=% z^^H*nLW)IxxAn2GtI5+Wo(1%%W!2^Gl(pd^?VX8tX{oORaElrtkWoHLz7ijIm_Y4S zewl>rAZ*HEtj3VM860gT*OOMsVasD#lFsFDaYrtWHb_^5ri^7<0OqgE>lpeiXE(f+)Sg-P?^7J9mtq3F;OD+??6SAk}K5_gW%xq6wZMm>-fBy4NztwCX5TJ zvOA3eN~P8={z(jUjDZlb0OgvqtI_IczrQjf$Sc@7oI^g7^^+5P8Cm=`!Qcyjf7HB1 z0D^%7GI8;aql{O0dv@=eT~_cl&+;SFUx?448+VVXItQ%%G_Nojm(#29Y!a#>Ce|RF z!SFu1lFjtFJmby~dhs?mghs9ExLg&K_02>mwu-b0*p5XnRwc;=9k{+m+zh$Jpv1aw z*x;Fsjjwkx_Lfb*#)_V?#%F~sPa#n)X(<-4fYjdfMg1@Zw)+uoo(Eg*NxXDw1-Nve zvEC!k1N8xi@f)PR)1EZm1Q9=Py(*JetbHATgOw*JA=I+3Qsm~9{HI4u;sW{P zT82e`)XA&#FF+kM8ay8fxNqLsnyQUT<+hbj&JxLEPE_o3%spN1KK-;KuulR~EQxHG z20%QNXHcF_ibB9O&bLInM5E^;`HeoCfM-!6mt3*9UgaKrB6{T(52J5Ol)J9|97t!p zwMSd;BuvAirBGfgvlKE~3hTFiaT)zK%X4&JkOup&ZMMY+YbQWGT*%vukJi!KW0D*? zH~R+rzn1yz3q+_JK4po9F3Mvsz9m?Zt5<3JBL$zF>klX1X}I zxLm}@^Tn1-0U(-H5q+)=QC^6a4tnJEO3) zrQMoO3)Z_i4<`6$=Bg6IQAC!VFea<*q0s>jIY98%dJg9!Hje+LeGD;b86U(pdAmYA z^r1?De~9;i>AuC@&S-7(K*D$R0*6ML57J%Bk4sI@mA*Wu)+p4^yXCh1^VPQ)GMTRA zVwLeRgsBBeqWMazl-V3QuMOk{G$U6ihZgCUyXSGCRp0KDB8}3`Kf_!9=>ba#@0xr3 zjOSW9Pc9kv9^>o|7ZF4B?QF-lDcoQ0R;U78C z$7~-pN}(3MK><0nc&q>OF`L1Op;&XwLO;Jw)FYlU-z7C&*TX_?F1uByE}NlpZGw3L z+tCZQzTNb$08ORsWG2lRYEgg6eEi3VLA8*fG|@74rf@PulMAPx$V@siYa|V(^I4;q zBLY^P!>vJ>-8zl$PS6fB$CKshninBj#rleLZ6CTNfn6 zwi_!`ZQ^`vf%6`ye^_N(gWE^z-%ykARkU%DkV=G2zh0>?vza5E*+*RN9phO93oack z(VzFH;dKkqF06j@c|W7qVEyC>U-Y*ap?~?5f4%4<3IuV)vIxjCFpYfB%@A;3r?u>2 zInyEpE-3suSxGS|`0`kqNVmWu)Ve$-cJ+w!gExW0;6707zN{ zLyTJj{SS0o`>bFymqX=HSq-fwUw$U?1t)eASlAa;q=d2A^n4H%#38*J7vL!!EN#A$>C;H?yGH)|J$kEDtx-0W^24Lyxd&x{G2(Gf|m`C>T!CN!{xa_iFNzk&*BnJ`Nt|M z)!WAhAtxT!Gk#}BlklD&`>l?56{2yy2*c3Oh1icY;v}%>FG3#)Ykho|PV(UA#;7Bs z)SY|V!oF6+oIy)cry`N}wo}GFncBi`uy)Pf`D>B32&0`ej~g|5OS69s7}VQWFdla? zYpBm4gD%y)!2NIUsf+NQ9g_^`=vhFTy{4X;&eC`7=Yv9Z!J%1GMU^t=LmW946GOq& zCN`rW1i1M+&BSO7N88K`RG*VD>MXuTbJZq%IGY{92$BiUBllz3bDzY}<7Wq=A%1L* zZuTQcF4C}aIcf134=t~R-B4}z_cLP*24dDJBn9eFp3~FQfw^{>55R9u)Qa+!B%g!q z%3XXfh_aVxkG$m9at(IISq@Gkf8B(?lE+5++kKaAq~M(7m>jvz5Dp?KjK7@N?;G{M z_H8L~#C3Y8`l+e3sAn`gWxjTt7P}L1uzgjGjg#N^PL5{fLMIYUhm|mMQAu1p_Zwb; z?BF+NK6AOm+>W~L5PQry2TN7_#doC`P!(2pwW`e{6qe^qJ|w|J|v zuunfP2}@@j3Z)*c(D#hs;5KQT!A{loB_{!#_F-@eKs#=OIn^pu=rWVQ|P*%!aZbM!2A?!IwV z6*c+7IPv+E-RmkAueqy%r+9JzkP~{=%OJ*`aY1Unnt9G{UL^+SRR_b`ON^^(grJtw z_ECtYJ4JACF-5r>5NX>Lc%+hPBVa|*>2A#Met^5yRLT-IvpMWpr-l1v}K#3I+P%+OA~D7TtD z*(DkRQOt00RmQz3TTBcLwc`?DEBK6`$!lw?)g3x6-!Uu!x4i_d7!MrcPUQvq*NI*s z7`XXv8ww>&Jvei}w#1KwI~L;N>TV$ zV!xS9cxwP0z_T`5yWd@yz@nW5$_$qLqDn-*vH5)u!ax;n{wmzeb&cwXSPdQuBuZSk@~8_j0~q zJOdm3hFk6zHP{CLHNBF?7dleCCo?#~-Q2bJ{q2L?@9GRcyr=GjyL;}?>WHFk{t47) zSQ$^u=RHl}Tnti-!7)?<6ur4Nl|K#^Vtd|WLDaq$9_%g2+rY9PCbAnTi7-rJzi9=n zH0B2WRekB)(Q4pi15kA2z-G~6L-cA401Y|omcEdRri2ecoXaheLEq2?f3uvwl}f;$ zvsxxTE95+J)%SYxn5Q|JiQ~I7<+|9b3cpig;GvcTt1E!ms2=jx| z7#7cyP_tRj8A=BIEFFdZ&t5ERZ^V`Y_GBH_k6lE`a>R`?I}YKZlOH@vMbuccfBaF) ziXn8WgtWX7p<+^>ODipK+eq50)!I#C<|$H0=gRzS(IdCgmj%^&s0hc$C*ic%e2M@9 zTD*KGbf2_Ss72l4gM$k-ZLC&2p)cZJYBYLtZ>4nije^ccb@90#z&grW{v3`HD#T&> z5~L~qDlq(yFLtzkIa>1uJ(bz11j?eXENc5JeKKp8gM*c}qiZ|a?LQ%lI`+qjCNCsn zVqH{@j$u$i4|xC0IqMd~v0oTd1wWbHC_BE5gs(JT8U^udmRO!ekd~C%JHxUd4^Qks zCFuPcsOsBld|{0R%7@O2kWg%*{wBZkyl~WVlsO^KgPrGmwtPlH);~3fDSbOmF;xBn zoqvPo|N1kB@K@RQ-GCN|alH3>7XbVZ~H2e)+Q37`G|Z(U5rw3E#L# z1&;>r{R>I8kf5DhhQKdNXkYP&0dP8dZnkKI3hDsh4mTu<^#Kpf$~as5 zX$6^-SfgmVMS%l?hDr3~Xu)Jp=mus26eV|GzgI1x#cL)33@5)R2pnJrhV%X=M;P~x zeENOLd*Iw%q9{+HcH~jgY>1*tB?Wv#ct~OkXsYv_=Wv`XAsa(*JWw6G) zF(*nKZ;?5XHLw)FX(MPE>7@OY4H9d~K)5Rgg9<#9%m;z+_{^o~nO~7nGM1EvN(%~# zk{nQm#yHx%m{j0skwCRwc_@v=$}#&M4Rf#MhA0?YTU0O|$fpGcT4KL@eb@0T{fk@j z;^M3PgYS$lB04K~?K(peT+fe&BXDoKp$82Wa6ZL1el>{!mi)uEV-Y^@-n#*8EYDD+CS`9lPJv%3vaI`rs^USZTt1{VcO}Tm7+V0(0=aBHTq@ATqyLCFJ-xmMIugi7t}ZTUck%?o#D8Y&O{?vCNn58A8-DO zrUQ<;C#;iK7?iq$gKgOydF!~}F()>sKh}9t%@TVW43ce6vjdOTH3a4OATg5X!DTI9 zP(+c!XNbm7e|e@IO0bfJI>?2C0_%YpzOTp5{gtWOF+c%T#1l5;l_&WBu8I041b+8? zexH68`|E46s9X0H%u=7dR*}SnV>hEeHcAm!2y46k&T^P*>V0&;1p1UGOw}#LTc_&@ ziKU1=e(-a%JiwG-6iT=%&IJtuykJ6&AV4NC!i|9)v zRs2t=vJBYo2{Um_2S7jFCR zlk)F49-(8xDxcw_+Yy0+YaT07QWgIkE0&Z8%5(c`IWNoICSr(AVaHOIh@Zr0iNS3+ z_K{((6uN@iaCB1+$^}yQG4ij-GcXW}SX9>Ys|09MGGOG>9i$I`p{G(rGNG0Q>pu)2 zBJexMbF=+`b1fY%zKWnRG_y`I?0E(VIID0lS0*;}rqB>%PBQ+h%AaM5mLlvgugOAg zJ&=?k{Rl4lA(6oXxziUvlV>eY0M_ zyiKK!fv{6d#0Y5_qf7{ib&y)=5WYa_Aqsv3_LtCjdRf+a5@@1H@a$~3>J4NI)IY;e z!>6<_OhoCJpFROK<@dAUt#^OK?dTixC=CiuEnc=6Y$BkP-x>5djg9l5PY+8tE=+X^<}I?ve(PX44?~t-YV;yzlS)@s4kt z!(cdI58V5{*P8cSb6#^^*Hqk&KE$vMtUS7FZiL*dv@GJUqZ&5`tHB+zL>o5D3nFPg zLr0930qaADF46$+AfTd#?JP0+f9&i71TdqE>&E2=dc;mDyMg=hiINO4yS}dlB2`@_ z3GF{l4Eo4e6$Jr-l<~=vfKsE@r$`iuGAK89T8M}jAsE~iLx1qO{2Fvwnd@Bdz6(`1 zbm6vXjjbU6^MA=;D}Pwes|i)Es#UY9 zEd?9TmO~ty=)~Vf6pK|hU9=P@JJh9NZVu0~g;M$M(@Mep$OCZHfeXM^8+(E#Ljc>m zCx=_`nkEPj!Gmh>1hiMIf7XS^0UOA(cr?}odEv9BbO964Ei{t3b4fyxy_^hYWuU3q|5&U zG)hd;J&=@~Y|KkkKcxphoi?8*3c^-y7QF5!D%HJ7!^ru^Umt!1*dszak%+2BPf@I^ z@iu3L5gN5|u&^MM7;9gmP&e7$ui*V3+`|AlHj|oh>nq-)Lp|N5w61%zEhI5-26oOb z*prNx*aykTl73u0Qbw`gq+}KQV+M$Zp9Eus3DOY5-XZ%j%&dPAc6ny=zREt2 zA8mZ#H|vuMXCi+@tG7|OFvAs7mf&EF8b{a`Ny>lAEuGl(sJz`j9D=~g7)%z)ZrI5z zlF_n90?(m+eO2+%(C}z*(=l;TBqbddSecDEP;Nl445BowWAC7)*Ig1J6kSL2AGCxT z?+h3Z-dP!!If)l2!r*z8@|wddTdT08a{ZFjFAd^3et0~G!12_W>FG*Vh=@&R)7sd_ zPBO7au&p=>%v|{?TLN*0#R2f|1tn@&1Cq~q7(2S8B-UNVBt~$;iLkogscxnl(@I78 zif?TxK4F_QLKPO!3Lqs7u0YmY2^ElqCHK9@!-#@kt!I-Sx0g|6S1QPvr7l>kd~okFGn+b< zO)y3xeaYhcb0e+v;|lX#(CdW>$JckxlpQ^07irkLQNxc)KzgL6iDvi^kt8o5N42A9p&{*;q#MQ34YATAaT-8@9Mg z&UDq;F4f6_Q$~G`a`EZ&Mvn^+{o8^PrE>kMUjYvaPn3#a}gAx4P5zK#t(5-t9IS?_);Q zo(km&?`rG3l{Pyj2Olx^fZd;b6byAx6aId;UmSAP8Y7K*uE>=lWKoaZoA`wr`EBf6 z5boYYY0RDNbY;ZdWoHH5>6Xcsqmj?>{6$V>roNl{HB!cQcA{SjmRsu9- zC^9nbr!urLF2rP_m`o55jS$FYv+5V3+UqXakGJ1+Y-7!IK{Nm z2ewEvb7b*1T_Li|Q&v(`Ua2fElx}XVH^xz_ZAW~5)$dXL$$Y4+t9bPMK0U3*^LE%{ zu2N(Dk4a{A1-JOnAFCwL--gU>?|5Wf<+=Gyb3pwx7owzQ2x^m8E0A#{Ab<{4U_}oe(?XN-F z9H?WR_8n79@287CJ=3xxeJE_5I9+w^wnYLUjR?u-8q)x_c(;_g{SwclCW=f2!e$uK za+OzPG7yA&kkfUt`EHZe!N`uzX@@UcKf|-ACVv^7fHn%KY(A$^kU79?=~mYJk>B|x zW-BG(nsru3#D|YU)RS{i@b>Jl&AFzKn}{Y>Hb*ME*TeVog+bGXWu-PX6J3h2Sq_BE zRz1_spKlg4c)WM7d6}U_*HUL4SPw6DO7=3-!`nsbZ%02U4 zpEf|}{ulFF&1N>-q=jp5m0QaU{~Yq#os048_(K1lS!v@%wsX^~Mt@EIvMD?MwvSD< zZ<&3%R9~^tIeA$-y^bNxD}rgsjLpzxxBCPF15g$f+10`EmHqXO@` zk^3|e6-Nt|KVb57aAszAt<(0z4N8rBYniT`aP55w#jeX~xAL6_xlm@p({G~*EE+Ae zaf}8k1C>vK)bORRR=0!2b*o;@X2OP`tvKjTlW4YzwF^(OGn6nU`rD#T=}?Mnz}e9S zrHd=oZ^8R8BDh0|RtDg$>%n8URB992Z710;!#d^P?#0^P@Da6EFg&=^`?J|qQ=G7I z!no@(mn%<}eqC0Tm+Y1@)+)bXuPXOjFwZq80p_nWq(Rd4t$O>G*M8b-b=z$4&<{xa zC^;!b5kOqmc~r^11-SqWgVXLKDm*lkf#sd-ME}iu-ylUZRb=@gJ+>pr*kex$C%ExZ zm%HZwR`UIJpRX7dpf$%Wa0B|joi$>ftk@C(%medt!w=Ls|txXg$5al z3DwmslbL}omXkmiBGs)Dp|5HhH`5@-fUM3;SDU+v(#3s67+4o%AdKUk9O5 zbac3(=(E8cpVQ1REt0kE)`AU4XRb`%m!g4hykfmxAh?q8ZKd#jPeseMkIlwSJ+9MleE{6oK9BgM&}u5p$?`RyoDoRqLJCj~q0kDy}zrRb z^z=Gi%B^p0d-&;<8wow+p%|U1Sdi|@^{*)Q?lDB_#tC#(yjL04)sJ(|hC-@7-@;0#;1tSReOYsh}X9|tfc z`_CRMAdpm5lXK;C0YVIQ(CtaMztku3d;-?_h*`D1-@ z=I@qX_}sK8nic?z>vC}7;r1#80CxW0*i}@XJ1qytvk@b z{(YY`ItKffspXe4)EMOnh(vgaH-y0n0u0_hCqY7QB{P{~R0Yzg8PR0(1CZn%KGt?; zGS1;DR3`Uxx#t%e@gFdKL~j26uadd2mB8IfPO4_Bz2o+e7MEJJj^drrT5^Kb zq+oR$wmBYh?Lze+F&51Lf$!}rccQ;tUJU#=?LH1{9h%f%V3Eed#49yK|H`61k}CGR zDqndr*;rj>#9KP|=y#ot*&gd71ec{!M^(iXc2OoM_AlRsY7L;a0&)W1p{dKW z$GpUH7d_SQ|Gr@ous?5Eu^7t4fAsrBcjRN%H-$!+JjEc~eQ$lUOimYc8uR8WXIe1U z*@fM^dqdqyyHYI~(#Z%4K^Z~E%`A(N^zk;a#X)^fmxHm$*_;4o(;;w1g;|LRXfG1K z_qNs?O5G5BgZp@oOCkdh%3?G9@6Wp<$Qkcd>h3bV7dMu3TG*DfyOoIue&bQn3WPuY zW#nEEg}NqvD{9p0EE^&zz>0>95~9-iL-ARrtt>i*4r?ZHN#R8_0i>Ye>LSLB!mDxm zd`i^#?Ov@`&)oH(E|n1=Vi`eLo;SVs3C0_;cNf2wpDcgPQa>_+NksGd>ACf2o++-7 z$5kw6c3CWxmpx~R?f`&zr-J5@wfLCnG45g{=optbn?{hFkXP^fH&=bd40y*9icwG& z5{lE^7PQ`ie4qA{&=oQa9ax6rBs2eklejV=5MdsU&K^@c&z@8BGcP~01|2JG#F&F5 zjQV?^d~yCjTYB{9S$SG(7CyC5)a;$R~vhCnILwp3=?Y+A={qQp;~&Ys+NiMlU&8P zr}Zg9fI5{m);*`Zisg;L;V#x|8B+gQJQ4dnI}=v!F8@u!>8A1I818CEtP9gOgnW%V z7Xg{R24@z7v4J=T%hF23cg#I&!?;AsheeA{#R(G;HhL60{d3p;WK^8isaUcV9-Dl+ z&2K8CZ?`e$8aZGJ!Oghk+L-4bOxP+&0>fvmAr{hgiv5{pUg|+)BxkK(ro!Ji-la&n9~;(&l%~N?do-nhw2(zdv-BKP%F4Bf4VC z$EZ1M5(BDC=AB=X((!pwy?dyY?^be7rZ*;xHmnN;|3hF;Tc2vc!Sf~{5ll8S-wmoEy+&TTd^rX6XsvF`wc`Q`YaQUpN*lRDx|MZ%=0@zAWT z<}%#==oJ(4xi?z59*q@jqIiUw(7C&Qb&sr*R?F<(*mE4Dw51~waXIrW2enu39a0gW z11ur$Q#=bx8eDy*Y=Bgf-r6F7K?R-xaFB_y3<7zgoE+l+se}1tS_&;Z zGL`s9n;C#)?G~koSig!JGb*w7g~DF$1AS7hZD-_T+TVV75M+Z&HpZ1>)J^3a%$ZV+ zk-n<8PIqWHZZA~RMJFOE{tHnY3zU#rJr*rAqP1!Gr28zJ^=_L9iaS&-VkJz9I37B? z$gzZu@$J2YJ3~~N9qDG9riL496o*~XhPR}o(7l9J$Bz`B^+C4?biRK9V- zmR8-Q7GeDHC+j3*CBK~FmfL@>voE~v;A&)p@)!r4N_BC?T|oav-VuD3GsND1_fihi ziUv2 z>Ie>0B|q>p4ZL3{F2=)e8ehn>y)i9$mRF(Y;6zn;ZqTed6L%5l?M>wwD@~%q(tlJ{ zAQk9c4jz7wlg%vCTs+B=tv}_|+dUlyN6?g-KR;wL{Hl?`6=af3R9!_7N5LrkL03!cvZ2eL9x+>YNDvpO*H()XDiJ4S*X^E+dz2wuYm+_C-_fAHnb)MQ zW<21UlV@u~SSSSTJvYu zld0CEDY#Z&)$TDI_FS{+?dueOMCZ_vZq1x(%MKwSr?moSMN;d#xrXPi(rC@v8u=>n ze=#7jCQO&YJV7BVNA*10f|c_g@+egJ^&A4R$c>dMU!N56@$$_YH990YqnDvr+x_6R z)w@99pUr_9gSH3slGhb7)fZ*cK^r(hmn)ZhsRG~HAK{Pt#WaYqG8$i8Gam?*t+aBy z`L120tAzO}iu=|3N?=xQTV)k{D~mmS>++T-8N1c2Q)P`%%qiRvX!lw1IL`x*f)$U` znb#T{uGZ)n0&m-Ku~XC!KV3hwHnx2&mX23@M)7VDDTMn&Wv1`ujn}69cPbx2i3x%c)xyZ{EB*6o1&^Omusz?z?CY z1bSG$;#SZqDoQszlP@=i3vh9%UpGx`awYEmddqOz!yryA#3EN@#?XZ&%u1cp0RHD18Lelxv%nUHZcQ2FWlA``HKtKH*;71i3(2>{pd zIXFEp$BM1=lC;<78%{0n{Krwm$aLlkMjmSLRn9+x^gjIV$w*fuRD#8~GwU#L%bv_1 z8bK-c&aHo=2Ne6VhefaYocHY~T`0${{WAmuyNb^JGl=nLXiHiw`+Rmf$3AYJvsHOI z8Sl2NaI+E^(~$*ftdwI+e_g`M$92jo#U)!PGiYWtxIV#fZ_x(4^-#`u)=Ok;Khm}0JX`UI)KWP%1*?C$d{bZM3(5z{8)-uNX}H!&s*fm>vp+H zY+3u9PD3qI1ov<{`2s;Kzd!K8>)Qc>JPHba{m6F%TO#%n!jKQo85C0`R}Hyjowx% zs%1hu9Kh8Qy{x@VKB#cs&osL4k5kw$~%Q(U=HVLGGm|iB{i1Pn{@aho~oyaJ6 zKkIH%{Q;3G5wta2)Xa9{LG6y1BHS{x<*U@9#+U%rFeXrNV!N}nQ#7p!M90S}c$7G- zB5I|D9U7`#UOq=Rf@iyPeXB+IyyUyWZ|J-tBE_@(149WKQ#L>T8*{fL{;(ae8>Ate zeI=g1`g7}E;(Pp$_+y`Q!B@p+qN1K8FQfzckyL;u<3B%S-dz&MO*pu(4_jjUAu8E^ zuR@t$qIdWEy~%iUW9<+!E&ye^b$LJVbsoQWAri&fn-5R-U`*Biu2T^#EpJ!Zqb|;+ zy+jP_-YPaY@zF{YyAnv)`z%Y&`e)_dy!^$F15EY-sYgVqH!bd@6-VQ`Z&cAen+4DI z$0Q&9DA>)xI`A~Czx?CXtmgybu&5~cXSTy1ONpL}5^WwV)t77(|AVibo@kgb#?ByE zQDR(ruiBxqBG1-&V~axGJctwPOHqAH>Nfo8`b=%kp*SoBJWNT;nuU^qt&Hp=C(AT5 z=)3ekb=2BS@WTi&#b)1a7c*5Nqg=T}ZwP-zK~6n|QVg3$rz93!h z=|@tbr7?6<4bWMA=G-aK;B@kNj`Ouz*UzGV!_=W+`$PZ>ZbI}#@-LfBmDN^uJh-z* zxVnTzSY6Y1{u%>o`z9;g&)m|nKUecfi%qY0N&y|C=_rW-l?0s%BoT-oKf-wyVp4E8 z1@a$oiWH&=3W^j5^;fZs4P@JIV8|NL4HC^g5E_^<1YA1(fk!29tdajwa4=vVd}_7x zu_b^gH2XquNH8%1_7$2cHi9}4B>k)oFw8nvr!pg8)su8_z zaZR7Y(0w&xphpBLN3e}QB(gsryeHr3Hn>1pe&lIu_gMUWxm_RCV*)AcK@eQkx#?L- zEYxm_>sGvNDIzi-kdtG#aF*;U|i}8SaT#MIoNLnRrtLx1Sd4w?xJ4Ow1N0 zF)?%$#sMe^!^scdm&>~H>J-+H33ZqIBi`BerW^cvXO=Ur@)iwa(xW%I2O$R!ttg@q zbiy=`ux9j#USr2mIz&(jzc^t-7VCfX)BC7N=fk?2dX|F|^ULahtjsnFfK_Ce?%1-6 zuwL3ezun)?kdF5;U3ACJ{MPq1<;#!Q%r>$N;D0XufBlay3Ze*W%yWNH2-?6Wg)2{* zr%^p`rgC%wf115E#>2y7Tv+`njWFRL3xq}pA!G1n?aPOL!RQ#{t&bqcU--FOTf0Jq z2;A={8Y_4A4Q{v`~3qU>IHp{N8Ro!)5s`Ih;iYm_a7Ez^!V=!YgS=M z#Hm5^(^wuCO82W%bnLwebciZq45+YLP6Zsi;C+92&>%IFY;f%LP zMyazE&szy#^znn4sf)mxzi~`P(TcI`46@JW?{AebtXNS{Sc{D9y8y>)t2?~>4K9&o zXDIRVU?b{?Bq=|rD-ClTn>}Z~p5pH`(b1XBdbveH!>IN`zvdM*x}w9q@9BPXP^_y& zb8)N-V(Ir^c5khBD9fMOkxhkfd700l234*`@ukXP9Tbc9TwbR1|J0BhTN~HwEy%hR z9N?TPoDX*JIxg%1cIFlFdfg@zMOFWH|MeqCIYWjRlAOZP*dWvT_QKr6*91UeUPvs? zaC7jDK17g|d?F#A05AH|!D8|QDarq+WIxFy#tB}1jfSCP-BwIGgo5(&1E^$^cHyep zZ#j&bHJ%6w*giI>b53(tNzaXQ;`=SRQ%%Y!e}Gt-_Uw&Ot{#8ccv?yxRc{22 z;eA)!=LeWLE^P-t1#kI0nA1eOHH{1odQ_u)-Os3=Ucat2N7=`F_%SY4atN>@mJr{B z95Jb*Bmf|!4Q_Z9iJ!ZqfezBwB{>0^FNSJuQhs7c%AY&YbArY}!3x4{Q+%hAF76|D z>)||o9A`fP-UX51&STyCl<8ww)`jm?ic`;fJFn&FdZ;BX%1+vwXBM{}a$oRHH)7i) zGAyi&7Lnq+y$6I!>qf$^Ry4HJC}8HJVH7{QM`*HTknK9jU!%s2e2b?P(4bF3bHc~Uun^Q-TLt)slF29os78Af1|p(Wl-D8*$Hx5{ym zhn4@sDID9ltl0G`RdRlPVY7jEIfRw76=vn?#m0h@{?Yc!*-Q!KmAik%kmMCrK=Bj* zO^p5N-nPaZAK84-)K$7p;?eO2W_<(y@91sYv7~F-dy9;L^SUEYLkqo}4}AuO^aWtr z5Cy-z=L~}Io^F32NYzmpkG@`ObPo@#4Qi@PBUB<*fI^BWaPHe_AMvq2cKZZs2QSq! zcXn&j0Z-Ydw28xd2zt9mrQTs)Qq2U!ewsp3v>kb>5Skm`o1F@?%59yUa3=AdC5-8k zdz`tvVPYJenSusI;QJ$r5^L{OC9+X-Vpimn5kc%2DRMq;9HacI5!HOxai;mE0^uH0 z_2q?cbcNA!1j_+Wj@a>U7Kxgj$pnMfpMR^#Ie1f*CtA%6`_#~Mfh22Z(n{v0w!KdS zxNsKQ5iY$Zn+i1_k9dE?+moc8ABVL`A5RY@m*V>3{1HEl#*K(fpo!jZ7lP*93{rPE z9E%ss2(whW|LE%jY2v!SKfi4!?##HN1j4q~+dmLOAD z@i({uS)Y!vjckunds~VqECUkA`vCPssc-Wc=Fz^#Xp1R{U<6dB3LR_H=kL zt#uob*N-VLTYQMXdYXi?;*`_VJ%n0y1CpQ<^c;2uXRhIcrI;tmihJt56QK9S^0H0L zfrY0NH3;+FVphsiTDMEi#B>qw7kytDh)s$Kdf$-mrUT9mgx^r){a7APu5yB*d4-+d z;yps~Hw@EX-E{BHv% zkF!l0wWQP>{bohtZ--G?8?@mCV*Mmpq&)+v+@N;cfOw|7CVtIyURx5+B~YKmo@bkP z%7QRy^gVrz)$XX6*sEIFw)q05ip%5b8>bYVlb1dXT}&pR{Y zQ9VuuZlKQkeJD~is2mkv1vGSda6FIUqu5`nR}P7Oi|`5e)xp*(($B4T$ISU*DW$+# z6Q&c7>%m~x@h_(Gt}~lo8AKp5L=Y!j9S^OCp_>mpqSY@{0SZPZi7=vvK6-k=yUC!C z7^PdYTO`VHIcImjB)Z)mkU?|P9K3AQWDDfg`2Jhjl=BmR+4A8e;}5*FiiC%8clb1Z zclx!u6#XRxkV8LSqUf_h9w>s}-eLv(>bKgA!&s4djYfKzYq z983iRjbl5Hf}=92sYOM7x@mB+fWTO=#7)HaRJ=p2UIf{f!s$mKIbqpi^GCF3e#A(r zZv>6d-4Jeo0b50yCGlZSrDcw1icxl!;z0)sEx9A{*G)x@k}>h)#lCk>$dWJi|3+$Y z7(u#UiIGvyy56Wq=#RguZlT1)1JD3V6HS0O>O{uot@kIn=jy&oCw^w6V&lr@kFWhU5YnR+@ z8TKswq4c-?+EwkrNb*q3548?8zfLXv{2{{5%UO*!vIr zKWts&JZ9>#tZ&dW-w|tJ)Os0EQ}9$&x8Pd)HqH9Zk)ooY&G2P5zLya|V+|L1SrX8q zUvFVJdTcardwv8hyX!+EjqSJI4t-wTG%o~VznEP;vGp#x^+HM#{WrTEA~-x z3uHjLJ@L=L_XrH4Skfxc3|C1LP;4DeX5MvMOaFK-n0NQ*=YZ7hzNPWf{$W*8^CKJm zR=E?AY!2`l|F15U>_EUJU#fXO^DXF2TxVtOKpNeKY0cLVLUtoGIv+5wuJe8T>BoZw z!CzG#xVN>A373(I>#xX$RVpO>Zk~Pksk7<~C5I<{#XwQei?GBK&fRl^-fEGKVW3_ywW}IuNV9{&fyjF2>q@hmyLmO2zeK z|5ARMlG~N>w#7M3gAD|#5I#*fb0_1;%6mz_XM5;$sSrGX!^C??xsjmR-dNrmYtABB zG(!r0%qk?(P^)=UHM*S$iFzH&q*XSUNh|$2-Og>iB%3KEC}VbdQh^!}mc%`A0(#uL zYpjw}Jmhyi=VOt%YJ5|W1>J%)&GP<-)%c48-64dbH%Qzs^(&a;y67YHO)a39cXzuS z2a+w~0ylveH7h$-ZL8Qioc8y32GZ?e#n;jv)GJti1+0vApXJ|9nW!tf-($U$_|xk# zrm^1XIH>W>U;-BzrF1n|3kD{^8#~+Tiys4k9LyTc7i=B=+Fb>RTuu?OxKl+s+hjYx zNB zPm#uhxTzckV=}38>L3 zDe3=T#RIN%M%pruu`i=cil`_S)gpN5*^>ihX(n_JFTJ@%xPeb~fY z?@^oaZoYM1pPLSVBmVf|zP^}fuKAfO>kAoyN8Br6ByE5sw1jnJeRg>8X=Fn>om!1K1+!Xtur!4O+86OarJbvAJps-1 z`|Bpq=YSI@O9Q1nY?r567xI{)|8n>aRN*+K%06T|MtaBol(e4}*W(|{*wyj?U1S3D zAQvkiLbZT>2NpolAr6eThSF3J%A9H|?T{#$a_?7hh@>I&hzVWF)Gx(zii7+QW2C~jR94pY-58Dh{Bca`$UjDdmNIHnFX5M~U7^I)@0P6P zL$bpX@K+8g$tM=019tb&a(g+DBqad}%q1f8#orLxSpQaOgT2M(7!^wK9kthxV-?VF z=ep?xW?KPEX(NNfw6DO0`s%H9ekr`s-YC?m$OcfsHo&pvl;T-)k>1p_idC$B5k))< z@kd|x$pUPCjd}+&rd^NM8x_oYCAzP!DlZepGkvz#WUp2_a2X96K90}&{23&DKVFc; ztax{~U8uFMdul%%xq%BRij?_4B65`1q^T<5GY*-QQ3#i#&L`kZmH7X}JJsFh4kQHs zFdc=fn_x`r7|L%R_c7ELDo*vs?%!H}1R{RAtp~X7XUFv6DV*`?VqS8&im^ZTK-14< zatq^CVDL;*G!T4=PsayxDYja}V|PQ$tFU|Z_dW6V4+DAi3^q_)f+7!xpij!M%{$g4 z0C`b}B|H>(fJ{ygh*j;5G>m8=Pb4M(e4qR6Lo6UP6CA&O|Dgf!C>G5Rk;)BZ82@bz ze+ZVd4uLrt*-wEM5Zj`WDHq}DD7bL0YAERDN2%SLs~UK9Q}L#&Qb4-;XheCk%+`l3 zBM{Z+!<94!hWT)!Y*$nJBiDF!rCoZm zNY*OJ)|OqrU@lU*P_pAnSNOd}2bB*7f?PePKO)dTyn9b6G(z z>V2d0M{vAVixkF5)M5d`Ok>C0Jnp^6s^$ejQUA6WXJ?Ft$75DCVT zl+2d-Qt&b9B}|qlghONq8NCcAh2JI*OxCfSG21NNcWAZC;;0tcgY{j26Hpm39iXo6 zYt3v%OE>JBqHfl|T>kJ_R{o9^kyVTY4%nl|3tvy{vfZmu8jx5155e3QZnh5#-Vq?v zegTXwIRe*@aCKQR7}aZ&od6kyXaR7aS*7qh^Bp&b$ND#l8C4bpPJujGvU-zK@sH$u zL^I^gr{7FetZf$?l=(}I@`;A@)FU$*G`bX*@h}n1N0Oz1Y7Kq3nsuy2`_B+U7R%p< z>JG?B+-BKD@FfpvuImcYoPv+u$SzwH2-+A$?5=nmBg;=vNG1%GsW4>NP`&Yeb zzB+!=OpPA#w%JN|IGJXNB6gC6Ejx@qOInrJSGmXL*ZedfAVBT!@dlHRpC|Y7xODsP z!kA#u$4wAQEHLm?<@#cu0q5cnsPsS>RLFldTk$)+TkgxcGoyjkeP?M_y!`#&(8@?Y z#xIh{%{_TqWRPDQZ_^<4E%Tx2h_qzwfkB}Ip(9sfk;nPq>-Ur8Up$>bheUxfe9hD| zd^s>Nn$C7sP>pSyxk-rOTVn(4T4sMYbWWB7@luSmxs=}={@1HO+XNgcf$@M}8ymP_ zDy_~{u~WS+EL|&fJMyDs9Br5eQ9$znLoPbd|U-YlVJuov8+Cg7jm+^S{}Dnaj<3#<4?X9=okyD%5B_xexS)`Nbg4B zY-c9!<~1WB1R_HdDfN~l1<)o3ZYbtmUM37nO`_nU@EvHR{zFuj1;#dGqny?@kpWL9TI|d+h)s*Y@KJH97oDLHs#fPDuhR*s2=Yvhv>b}A?3>$>Jy`SyA41rnboDSdOwfvwdPK8pnh z8DWf@)9$SVn=T(e7)11`rKY}M>IZMp)DxJ>3kt^XeEUb;$>pvK9mP{tGcLL3#HL09M~*LSsbu1V5FZZH*iDyRcMOtYZ?aS% zKu;VU<}hM{zXNwDfccNS5H$uYt~nzn7Jtx~&ZPSf!cq(TvS9%t*B!LPwxTN6iCtSu7JZ8H! zPBe0ycJWW*Yj9!y-}zlAFM3@RuVq*UO)!wln7E{XaS+H$0-C|711(4 z9w9D%m?uzJy=T~(4F#q2okqAc$8hp9d+woYn-(E6N4+`)lgEPZ>sTj%zDcr}WAZ{! zX4_M~RM>s{F-pQ8ExG^MqqSAHF`O2f_acSWk%(PK28{H|A?7gbUC-+HJetrI^7ykz zc}-D^)_yWfO~!!ZiT1wZ{K+QU=&{R9t#SyF4(H+Nwg#KHh_IE9kusA;?zf?oTD1&A zuM(||xT?FK>pzDngbN+>ODj{^K%sfI<;3WXv|i4`@a@UM`=lD1CyZ*@f#9f9Z{*t_ z>L;U^-CZugIR;@CE4phds3@(XFVMVHd$JGuDvhTK?4|o}pMOwH7ZId?k*Frp_}sPp zIiobCoiNatPlhY3Nu0vk9e2xkydOA=YE+}axoE~2AmTnJ%|b@I!~pEb(>Rtudw9UH z3FC8;JECEH1mfXPMIc3+y|Q9_RiuxyNSe)MDzDxyh0;OK$Y|I^g8i5~>R`E5waQ{B zdOuCj>$6I#0Fx}r6%IHupGY%f0UanHXqh8U-$4<}_}X8qRL3md)@?LX((Cj7|Pb;?Hgu!a3FznXIQ>Yp3@!i*x;CKBtD)jeCeU`RSsAQk0(e z9WIkaPD;}8`t@&eZQpGU-#@cOJ-_1L#Y2UM7_J$a)HR1HYWl8BYTKRB%^z=iDV<0T zN{Z*J$bG?bhYmkgPGanO6@PZxg9q8N{6}Uo8|H5HeZr5B%6F5pWnrM=1B7c>vM_>1 zFVUur2AJq&`b=SP9g2Si;lRnaKAoAx*?a$vySFNHWh_Vjn6>Q6h+XTfC!CC5-{1dV z=}60=iuYY$6GNU;38{Z0gb@5 zlIFXb{#n3dFPCh)23lOR$>P=AWR5aT5FK}h-~x$uYvZ-HeOZ*`mX!CWvr-&^LBlvep1;U3>MUi{ftGy+UR-m zCw!XM15NGAJkYO?7kSIo-r4u)E!B?5OrygFvy=65G?3ORt+e^@`jXRR4ag}l4GJJUbA$pb9jQk13w67Nd5;0p<6W`B!Cz@h_p9)olcQM zYXZ7Zp@Hdzm+s7M)-QueJd)sKrCDq?{W&9pYN|jzEt%JrIfeCAb{J>3_*C-d)Lq7( z>sUh(pASTp5-fNTY1VT~F($+jl)~nJqN&N11DKLoUvpo5H%1Wpc*wcf;KVZMmV@PU zf9h|EBV@Ni4Omwr1!yo|Py3?H0|ljU!aQ@$tSBHUOVk8m#uWO{vU8eouGm(yM=Kpx zp{xqTBzn%lu|1xfLq9;&SL6a+0t6DWcO#WRG)aB=&g-oJDf=i$AK)jXUfn3MLntoX zyZIFWL2Ca34;wC?f4tp)|JSbo7L;z5GQbe>D!tHV@<|}xIGir1bQZAM#|`Qm@mi(2 z>{SEt?5Z?0H1V=_aEXl7Co9eVi0Q%62?)HB=X`dXe|X(`ubE~1d1?HLdi1nIG5GFl zqQP940;jQBRqP3e*D9jbsugTAkEU%k2zi*7X#2epYDh}ASs-Jeb#kCtl6xq+@Hc9d9#E| z#{Qj&${+C&hBYi7Zlh9a14_O6_}O~{`6C}MmPBcu;2|Pp;i~;aD5Qw;M_k$rgff5$ zg%NF5K`EfM(%bCLBtZHzmU4!;&t*phM$kX)<;HIj>n=##oH_aM>{1_;TJ|Jm!8=)Q zwvjKFMvE#@kx_)6KK4hX7~L!UY4Yd~N2(I}Rh!losC-TpYh-*_Y_KUtJBRCbAR&iw zFsh-h7nDo5ajK)_is@WFwoR;DpA8nQ8BT^`cmZ<8(9>npT~p0>U~ z`QMI)akOXXKo@8)W`Y@9O4_rl9f5S`3Ws}t9fjO487npspTNxHP#6(GUahTXFdI=t z>5pg2zjuyClGKkSIZoDu!AHXl%2EIV=|JN6;?~nL-B-@{H%vAju zK6^XkDvql@9)uGGzFTPI@Jkn2|6gDFBM6B#;)@Qy%(ehTGT4qD_P|aGUX3u+w$jxQ zE!YA9>G4Nx%{_c%zkMYnp7>e`Q4c@vhWofupiSZD-2#F~i=bq<9dd#bn8aF&^Pf3m zeiAV7Xyyes<%7o0EV}=Ub}3hWa6vh59fgF55dENZ+gHGfga?L?)Ww4^{OYe1SYHab z^0sd~KvIp%(cA67C4g^41Xw7=)93nN?{VonLfA_%nT`by>ncecG-Mf=;jeu+8H5|A zF1V1bP0$YH?OXtl0Up9cM%teucfhrt@X(OqOZVh|yL7(y=op5r9;#GgUfd+OSg7!; z0eb(c)YXl`vS?)8lVh3YXG|vF6JsmPO((?k$n4j9ayT-?CKf#|7!~kVcykKj*~J3qBmX4}E-`ZR z7u><9I4pGkzpGzL43PX(PknNPOiQP`&_**y3itpUGKrYr;MPvQcYw;M?rrq!#yUR32tWPXo^K6HCdZkzP;0>tGE`r)mrOwz+31e z_OHqxbva(}6Ym^3EaLbUuX~jkt?#*WyS1}UTVNTx{|C#MBEi6jhR^+^VwGL;rwoMY z*ywbpHR0p_4k1Ih>lH&=FfS$%lS=(DQPdkm%H`DUnC;>HlsmD>r)=};VTl#*I+Ei) z9$(`7P(`vljH;C|VOFanY4*8~ki$8!&?esIG0Qq8ECv&QRNsxyMmtX(L8Y1>V#RFE z1h;!_cU)iGiIV$3Gg=cG&L|bceeS;9iF!rWT6?s$s;ae_0=Xp=Zi{cMOfl+{3jZHz zZy8nP*7pl5B^}aTN|%&$cXvvQ0@B@Gf`CX#gEUBYx0Hm^-6`G8I~RNJ`@NqJXPk5P z8G{deVsWi&&VT*_!wLt=twAG+pUUIb&kIlQ0ThZ9A?jkFPa26E(EJ{2d&flisr^jyBMBsW5c;**A0Sws zgsq}9f!F_Rp}r^jF{VTG5~e6tZ|;R&(u6XL!EpTH{ASqh??!oY-0hIW=gsbQ14^2- zXy+HQ(P3Z0eR`sZb9>N8FYiX?=JGWkGS{dUnDw}*XBV4{iplw)XoTCZIq0{>jEtM&SH!BZ8n>qs#(UFve?yu1vxR6p%I>N$%@XNHSxpJ`rqC7_z zGPVt#SI>zBTw@nnyePesJ)Yi3TkFpXHaowN{t}9a#UQl(J1=XqqjS9d?wL986FMDV z@)@0CyBp$rf=bBAu-=~LW>k?O_n>K5Y-FZtb$WBK~k z%buZtW+Or-fmR%s`AxP2O7fI?2vYY)OvzAOd*vUW@I!-;H;2;mvO=PMPgm;uTuje@ zrpb3fjy(0Nczmyo2wV;aSMw&~K4gc~n1)gHw}iCWTE3m;cMT{ip4(fmR+F4#@%ka} zrY#*Zth;j{GJ}DoRmsVuNf-3`CW|{f%6nwX zbg%-OPW8u6ZM_;9LFbe@K%V_j1h=nh-k0bnk-fn46Vfv0Onl-H-*S@=-`0TLs5 zQKaTmZ42*ifC5$L@}FnAL|(;aIYP&=1qBv^4UT91raF8+@o~@3_W+JrK!N6QQwtu( zhv4Z;8h9KEE)MIt&mtkHj1To8_PA(DqDmuV?fC}j-Xd>owMiN@0L#M;x==MQ9t+BW z3dx_l+5IfcLaj)=)Sxv!9eO8x;aQt_ICf@Qv%3~{bmho5t3S?;*Hzx+`35JB5=yqq zx3Cs-`2~8SJHILkRh^1F&}VE3G{u-p67_25 z6$*H-b-d82GmPG@Y$mMB-Fq2i4|yHvt{}^1_>@3LWMqg=E?{YN zaeCcukq;*Ev|ElVe9|f}ush*ACZD_K=QW>nzA;YQ=_zS_7t}vaYjynzpdh<2f9$$P zB!dx0W1;PW@>3Me2@>%if3%d)XZW$=PH5=w zH4tP4TOKk7aG6!%FVJHp>)NBx$)Cfbk;EpkTSzF1yVAd;IXpeZDw@&lZ8ZR5sj|<| zh_dVKR(sX2Zqd(yb)#CYTKy9gtzqb;+`%LzEAon^)1y^t9raWIrV#QlbYarazee#|*yOHS+Ds{Z-CY@Y=ir8AJH(`Eq$}2r=ZtmdFo({Lje zA(qMuuJ82EB=hOPdbo2cX@&67O7B$~rx#V&?W95O38nL#tNoDc!eXljeKIm8XUbZt z&>KP0F3|z{1g73UA>9~!!{Dj9u;f&7FgCxqZr$9^^EP<>3Fb@izHP7`)7slMh+B7A z(t@ZOwP$iztI}U&NYAv{amiEHj{;Jst zV1J(*_!(cVD3-b$ksD|CV#(IEcmegVAb1=#JZ6zFhhH}?$voCgkf8ebbIAzwYuEbX z!dHGo(RV);g+sw?y=W=g1{~$sJCio86hpWFr=EoQlOA;UwbN3B+7E8q|H=zi6`=ME?*!sGEEz|HBA< zqQpQxQzYmc8pWE%ua0gMjQh56fB#$9E8CIeEf0C*8j&w zom_5vt~^}3r5Fv8p9Ahdw0fH8n{|=q>-imz7alJ{s4Eo1{MVNttXIY`S8p2JD&yHL zPT^M;T|p0GRl`C8DI4MI9;;**KM^IRdUq?CM4n>ysiAa^L2Df%($t8l<&KaGjm>P9 z3LCB3uqFlv;7=SB&7RM496`V%6s$U;vBPg$=UMjJQphHT-h-oLfZ`U4kZ8KCP=2=7 z5`87G*$U63 zI^-(iz+ER#RIIi5i-)PE-3B$SpIBViv*k&ZqSL7opM1;;p|$({_BY;u8xTm#u}Xd& z`Yg}Lv==ZHa^Q>*#t!VvJu7gsQGnqwI_hzMxt5 zbWRv{XcgtV<*T!aN-;_M^WGSCCcB){6tiZ-bo!f{J>SmPDJ^0OF?d=}Wv`PP@Vw^t zyW2B*8nwjyi@Z(;vYA2luA>d(YT07uSLj~|H_FHvK8F%AKOMIo=}K;#cIeHYPt!mx1(EzP9VlcB%lh#m zrY922n?7{)kRH#`F?VE_v6$R`U0#5J6_<_83GI+-r}!Kt0t2QQxDri&7glWt6m1X% z@j`gzJiGntT$1@#R ziCp{L`ksU zIOp5|+MY^%DlY@c*kPM7$SD<4dE~(cjRlj+Hm6^mFNaWn$b*89?ClM2@*!%pYE54{ zcQ?j2d24!)$Xyl7pJ^|06;i1N2B2E?Ju$Jcn3X>PJA@a3E0W3fGik&%86aK-vr zNr%YfFu?r%S9Q^(`9OTJQWVqgK1Q~hD0 z&p}Wm5Pof0IqewtC-wc1x8!Wi9+1*{c+j2suI%|ZTcL*MazC*9Mz01LYm=2pF&xVR zmoKfkv!I>H4>W13i`m7quSJy%+Yw0r8b72!T6b@6aE05Jk&S;ut`3H75^|c7dEabQ zBL}phak}OR5{7b16tF@SIiDgT*4-B;Pi}8zLfgZ7*X-73XU0baQo@~Kqjd|Qm(D1} zzQAAa(^M)cY&}1~HecI(rU&X>716`laRwfEHm^~ zEop+Kv8dXzAFrevz8Oy8vmP&k-aMi^LX0aq%4K;=k~xqt6kbN0v(^q``*JjCJcFLwNt?7&3vna>@zdJV2jSL}K= zHrAocQB7*Yz+KaIYQ(Xiw`X1xETXIl-9;x9TD7r0{-XMWX9{q8eePut?Kwuox=8u# zLV9BN7um-{)a7K?EaSMHSSmdUn@w%NhoA)ou>B_nnGyHkt>2Y`_2KF&CX%SpX|KjE ztNfvKPwWBzq~1b*9E_DdHFoo{>7F;VpY)mkYSMO;cXdCc<#unO4`?y&^QwFwG)^Cn zXajSQFI#&5I~i{HsDxN|t2KeSYmO?HsQx7B)2PIo`4`w6Vq|>gj&FcyP$sk!|v2_fQnXo+Uv{P4R){JS}}Q0fP_ul za2CIUJ#diQ>aa%T9Mt46OU2`<6dFC}uasBP+|`oKZnMEozVG(-SP7j^%a%6n@_G-c z_)SBou~?Ksd5~tPYELsCW3TWE?B6A-P+JZRQ1cWfSs&>0ILq)02wI;0^Sa_vxZ^=} zOUVd0+>0N(h>4>qUSDowj$<(0{dt|w90apI5Rbcx3CjTi*NrvE)0?|8YE%VMQ5#zE zSd2|mcs~TV6XS>yLROz z9gSi6QJPod+cSc3i{Hh%wbk;8RtIy3y;j znZWLRWt6+)f%$Wf!!S`!ES7|4Xe3e?!8NEzG}jlzLIWBMukP+Lj_Zr9^_uTd)o%V; z2@E~AJzZF}^vMSTxnR1)a7)DM$Wm?bD~aUjgg%;#=2DQ<5<&|G6fDRh^wi<8BBq&V z(AcXm8cvHnJ4jKh_#VRU8ihAEc{&pCr@}5;GyVkeG85W8aqgPlq$-O9kwnl_NR|5D zgdn~#G^_uImVyO#L%-$kic~COORY*3JeH{Zd5uLkY=@$AeI|P9(DA+|f4!IIFeCbS z1Xtu3jeV^?2a!KlK0iGpc%87neO2crtLK68S;9p>#~ZXdl`B>}&IwGn(_G-xyi3dj z-W(Wugc3r$3;3!(l10dDyFZi97pO+H91DLrpZYNV;YAS6F1N3?x#}Gi;~JeC=Taqk zdd$RS3!qvVXEn*}-Z#tlSReaMv@PfjZtxXrDL)*<$+EKh)7e~=XcT|weq!y<+<5UG zS}?EZTLdV52dvVd1zvN{b$q_(Ul-sIup&%p_lLouDzozjO=-nh4X1M9)F8@~OQKaJ_}i|g zWUhp%vX*!2Dm+C9s~8MgEISN=xVIVcQNnHrhXp>mJ=>T)1Wp7}%kbf{I76xC6Jpv& zPXx2jarnGXKj$jone@}YAo;zCLy=yj$rSFEYC1DaxXT^TN6mP|cny$>wj&tngT>lzKf`nnq@5eA*p=4BkecOoMg-XIM<|??F zF23TDbxG|baPOGqM5r;aC~T!$n^gn^f`ETlf!emp%EgUWp?YOJUUq#38N^J|ID68j z($ftj2eLO~0a+5McOr6q`ngl44^NjH7NgZ5aDrbI^|!o+ch@LY-h1vCJajzO2O|n4 z`#vWdDA>$8zsItlW6>DxeIP&fX5hngJeUy;6he|l!e#z!dT}tTINNP;jU~dRQlTcj z-I3r^dD2wI;u`}lY3bai`hAK5ksz(cx(z1W!-$%AD7JBT@K$78nu-2<_tY5nP%EwPHjfQUVaC1Q#sQIy8g+*l{i%9%>eXvAf&%NWO zor5X(QODa`r0thSRJvoB1nA2xA&wbT1aJRp5Vl@`q^n^24Up5Z91nQ41OjJiM6k+= zygZ&aVs6$Q5S4mQo--~K(uiKC;8PH_6(_SAlx8gD+xoPKuimE+eweI(78HdZ?R+pL zbJJyk5eL-!4iV43b&R*<7z$UbH#EPLAA6o^!4H8$m=Io3nQ-=JhNYNW-5J?bJPD z`EXkHw1V5zvv$LZOf2+s*AIP#-GwxMHm)yIhx1vB=vQqef+y(oR#TNv2@9t^pa>JD zrv&RtCuIoqi}iCoUoLYmg&mSDnYL-Hj#2`zvnQAj_(q&-#}uBT*Pjx%L5s)kP&gUD zTM5-Fu*JO?C+xG`QGa|{wKtJJszl^rzg=zIITJU-P+u(KO9Qm9V-5qvx+Qg`-Fys7 zVTCo&Ah}!_w0LJ4 ziH7K6V|~|e6u~Q)H}5LLsM7u3Pr}p%<@0_(LbK#nb})$@JBt+;>xFFmr*{v}C9mI! zIk%HvX~#t3IZgQv23soZ_6ZkTRK90nC|jt0AA(GrtCu?Ll*lXC`_AYO#7MKxxU|&( zct-}o5K%0}91>;9d)=I2kdIi85*fj0(i(NZP-Q+1Az2!~NC6nR^ZiA}8@)<*Mig9! zQu(5wx)fNnzXy(Hl|O6v={-~$&#l%j5jU7EHG`<0AXz69xkg_Eu96DmI zDn-Oq?zJx9Q#)1>Lv7YN95`atL3S?k;jO1DX z5T50^d-0cF&K<_kIK*>Jb`cxHNmP}O_r?+j-q!O*S+tpt&TLlG%5Exv{H{r3iC);R z+GIn066kt~k}{<5iq6K)Y4ntckkCL2ysvn=z*-)zi25-Dn{SGBs;B`asVbZ6Xk{SE za?YEsgM6;pLl;q2!22>IY})gE6uKo*I=|HyQ8<8&hu1wd*N`;8C7&nbR z@~cP5l09S@fc8|qH$cs}y6HWKzR`OxCV=%O<2Nz`o`qwrmc9MqjFC-A5v2wS0oRUf z9+w44$`qkK63Cox6NmCZCPk1HX&F8}#Hb?}JL+bB?E)@DZiF6`Im%q^CTGXp8ZF7* zDlzeUrghPvUmhu^d?p?xSP%ifjxH7`XsAdGuprOL2|JX=37oboT`!x>+8LHj*OOg+ zQ-V}-rNN>o$@ZVgNSh6rQkCng{ugg%ZeGx6Rlf^z6c<$Q`fAW<4K0rqyvV+iW+kiC zwr{-o^Xxc9jm&@?Kji#1QCPama;P%3QO5(}AAYgA@6;W-zA`$s4;G}Y4s}rXJxte| zj9=+Bdv#B?Se$PKS)1Abp7&$3m@N>CLNzGU|M{`mJQ=+(1O+!f7!_aP&qPVgI6y)H z{TZ%856|uOuvZxho$%@7{vUOab1lGB@@$Y#={Nr#~7Pt#}Ky zMSDb%I)+ezRNx7*+hq3rjPkgN0fuGph(r?a3ejm`U{R85zD;$cz9yXHEHyCUaZTrJ zIK#2-3%YUoP*hs450u4e-tBU+>R(3|C%;vdz{DE+J{$U+TApgYN7o&C=_xK&k;L&D z^9zzX{%^Fak^?466i=K*4|ID2EV=EKKmK0to3Ze*W{6)Jm9qU^vI9b;k}_YNObkBwd;?}6kOZ_OmE%yBQ>HF$=)ExAEbBJbVvbTz+|HB{mS6gbKVi^P`WWRGgxr5v zdam12ne5|y;bZndGSgy8S^g_Iq6a!Cn#aJeBUbZPm4rN2*b`8ijk_ZfwAv>wE%7_* zeRQ3;hV=n>>O?PMG3jwEzG7s~)wc_FI(%4_*)XvEqJBIHb)OX-`snv@eS3sv;@r|6bd9^$)_M>*u~k`8Kx9NYt%+xaeXfvJ-q zw`*x|EpxYCnf%U#_6U3yPz+k9x53sV5R>(QE!WbvELk&uXkAgR!Z^a*9dv1=c&?&V%HZz_ftF+qPg_rwINYp zGy~i%3B#8Yfzo^&9kzTrxB5NYdlN??c}NH!cv7mf+4aMgGpwkq^+5Yc#&e$y@Ter% z{i@U$68L0v2^m;KVL$tXdti)^^vbk}0~Je-Pb&~UP<682oW5(~EEpf`ggeEd7i*g1xPJTQ0(gG(*A+VzloG4rN6Ey} z4lFuucW~F+C!T;{{zB^O*By3CI!$gg;t|=|syT%uzL)Bydg)awFzJ!n2t=-^@8pxW ziuq*$B3kLqvyUuL3`B>FS8qLQzYm-wbD7)sGm@+v)tqxN3=|IAtx{(I5+HhMwgJtX zLFcWRffrLs)^`scSN^#Qmmv-3Buj&h0mVnttbq=#H9NLx0F=hR*{BHT^|Efd-m21Z zaM>`u)tyxb7e;>cb_pR2gF}GH;wFb;+ejYr$K>a z)2y_@el{eC)(H-nq%Pjt^Za%S}Dy>%-tjk=HH*xkqQezOJh-#GV;VASxvX3#AU z1iV1X&5%tREpQY+C9SIL&4|IxcBA3mP7LV+PCkR z^sDOdGHCLp<&!vbXFvn%^KiF0sNR(Ob@??hIN|}9`+AK9k}e0v@15FaU959hR$hZ9 zc5OI43J#4}%tjoq)>vF7-&mjp6gy_WD!9k&KAp749&B}D+#Zci8J zDor&Ed;4}+6;GCX;|82S^INl0^?^5<_*-rdRUb{dMOze`bO~^# z+j_TM5D};9ro{2eri=3?@&{LYzrIXnH+#4|3YhXOYN7&N*pjm=hd^ond(Bga_wqTU zi>)Wt_|$2Mm9NtD#@JL9`faU1k%}hM7^Z~Dw-441Bf-`5ro`UTX{;RT#oC(Q8sun~ z(8Id-BI4TsFT`%zVTLh#AIH#ncPwKaX*66^hPFS;cyaUAQ!$z@f@txs(ZvkxPIIx> z`zxQ6G7xkZO)j>^SWUZ|Pkpa`gD^~jGPT6-yk_YBl4Q$XCD=Kx_H8@Sa`64P0$SbG zlRk9oBGlIwr5Qqy3DMyM@->lhplF0`1u~(EN?>en5`W%LRiIfIfGGd%vhpZRH82#T zyYPnTSoj*~*KIEc+}O7&-VH!$=zFew*x?NPo$$O2; z+rg_a`&}3P4LKRFD_rUd2|FQ^Pr&P*=3=qwoY`u&NqB~gYfZSR&W_e(!m`S=)4lZk z@Go2`NY_jDP!JRyV#lm6_%CLc=D2lg-!&&@WH|kqP|G$W2joZH#z%|qY>oN0syb=hNDqv_xkEhjo~%O;nWHNmm(fI|AKIF&qU#^Fqrm;HxKHU$rD-d$;oEuL2*0H_`(0>^Li zmCFt46*D%c@N9G=x;oqId){KByC06ggB>2R%C`*E-iGi{kpRu{$_yC_=H3v*{oD4K zaM4G1NFRuEq4%Mmgc3T3j-$oY_c+^jJeA+Z0ZfFql;ZaTVu~MJH&U_1ZwJ}8n@Grx z!p_l17gQa~zb*2s(Ok8e|5&r5TBS-*gzQ75PB;ZW8+TGS+98vYQyhHh(*`4%-V-`+ z{W!;?4(*wSU-b96JEAuwp9Y%__L3(l;MN_&$bMu+dNgW@LkeqEY%qbJQy6egT@T1) zHV_z%k&L3L(^~G3P*ebkaX*4q4!|Gni)lr-+k#dg74*yiPQGE-Vn!b$t`~!} z{JP%J5ps;Z*jM8F?nYx+d&BXE90e4+~z=R?|x|n$-0AO zX#XAQTq}J^`l0>48)>+TR?4?8Hg`q#GcM^|$Ms_+s%QYa(ey@~s+m0WDvEsQB?)tQ zv;^v&4UUdz`KCk6a5V&Vk*G?or1fh5T+hAVWciN>{v9Tj0>!|gQ|IOsa1k@R|8Cyp zb#c268?bq?a>Z8V6l2vX5Mn2ts&O*^LX2tGDv)&SxW8N57&(gM=<3D?z`sJH3!Lw$ zPWNs!+b;-<4XWR;Ziq+7D4`3eh&4E`8!)n3{%74^_xTAD;_r`jXMpXQJCZ5->$HFk zI7ZK|!0k%_(0S%UvxjVXJD_2kZGSOUQ6j4_+xVUstLFN8N&QScDC02oGPPUUje5yy zSVp~TkrK^~O^AwLBGsxx_05#6QIOU(=26%!rDSAMBtP)!WY-UExjJA|00r`_Y@lR= zt1;6)eCE4m9+bCU3#82YZvb?r1*@jU@>h~VDqnYFjuBrKdYJS6R1hi=7tKXM!Zur; z^3GVn76ja%>&RWLi}*wfzOC;yI6=xrm|A$sMem45i2(F69boP0d)9P&p{+y2u?935 z;#y@77Mdj)lWJp4R{8Ed3N+Kx)Z_x^m)>q`xBYsRt(YE3rI`BSA^30Hf>zDI-6tS= z0ANC-I!y3xWJgP21Jnj!RC6B4?4HQ5F!x-Li)W`A1^~+-EBQdUMEA7t?EX*^UGxz} zlLd-)D?bv@)UY@?cZsJO!_W6;N}Lmc;Gd^HM(r0;|NJhv)~m|AL=ocryW1hqU(pnG z!EJ+lrQBCRQh@?)4qq-mZ*9Rwwq2#pU;|Zj2iOn(?x<&zyPDwq@ zHGRVGAcyy3Ojjju8e1{Zs3j3r3;1aP+CxniZ)JL`^f~G4(v5`<<7YJ%_cEYNtA<6XbZ!cc^C8atJH8q7(f02YrYO7w%=qWHe) zeBNTJKcdd*zPp(&BY21y1~3zrtGnAClq~U$CewSzm3nECptz>z!25L?lr4XqtvR)A zUmrE?6(dO-?+T+kSOrc(&rN$%#vPd=0g8eoS8AqlY>#H9Z`=}2c&*Mlk z;mW1R#ubg{X7{OnRd00JtV!`%cM>zL0I=Pd_~WKEFV;7b4{5B)uo8R;p5BFB9g*9{ zBo<>?<(faU{ zOUl6%zJ;PR5MVp_v(W|T)H}O*|1&!cM<~l!>Zv_Y%T$3~UZzJ3Ld2H|eQ4>saT?24 zrg1I%+`&7cYcZBljztL^Gwweo(V5Duj4$mjhxff{lV&{*o{;ughms?L)gi6IQ=8#Ap?kSg>}F z(_ztcYb|3s{CB4xa(_L1`eI^Y)Z2v+V?ICQ)YWr5tX0~onLTy&%Y^#^45;G$-==wZ z04C&Ti3mcKd3UF^qgT)*latH_-HUwDaz46mnp~yR-sc8j5xW0ivA)&n|H4se8QhJ2 z5O~NDkG>WByj8gVV4`^DcONFTsQ?VD&de0>jAem(%6~yZ`H9fviJxFlTM0j}T=?h9 zuVZW+_bBbHA!-(rH38CF1?SoxJsegMi06<6qRMAV#a1KHR8*z4u7aFIxs&>>zl8yu4r{2ElrAKnoAe(IUmC! zXk)&4-!8&{v3Uld*+3A$gpJ&<^DZ>RZFk+*hid_o9KJx|)c7AQfUZ$$gJeS!{)-1a zzQDMm0k2}C#wUd4+D(v6vK>QIHuaO)oQEbN$sw1;$TXC--K&*ic=EQ*H2#mnIaB4U zh?C!$#p~c5YAesjTxvcg`LqO+hJE^6hZ?TdAsH&NEe&!gUhnsbGn`xyZolvYUN> z2iNcQ^h*2yda3o>t@vuUg{ywwu$-E)$$eG9=tq=$>6n)}1**Bf=D1JPYUX<2JUK6m zx>o#8Hiu*>xsc-3kENB`Ox;g+6kf{4vz!gL)}QY#P~N0)xqU;Y6U#N}iBz4P*n1np z7T8l5EApaab=+N{H&zSBo`B;kY` zgNcd`8$Z>>2N%vhWt!xnsx4%tNPllbsR+$%cD)>4)dW4X@HT5szDJbxip^O91(vwB zx_ArPUk$Z9Sb$|Pr8Xq3FGEA_E|;j#L32-{fHLrYU3!2)CFVYSKohX6wi-=~B<9}` zMJQ!>Gy2bLAKvj1I=1eop_D<2{}&}i8KDf~aGf=T`r{uAa6GV|UD|K<=(yaG5DtLJ z0ZM{WoyT$Xnp-_Ceow+Ek14J?ySdEOSdL(}+Ug1nU$d`r(;m7|- zr~LGf|8u(?CE3d;0bp ziyV4c3?Q!j^Y>sVAQOyq%m2yk039U@WqUy5z~!J$LI+%c|MEY*@c=@89k62dey$I@ zixvmufA$L6p$#7yM38@Zi2(3p>K^Gu4-~#1W?KKYX=h=A01k#x{+p}Sb^t`Dkx2aK z=0yqrCocv#ac9^V>^YPI4XnMZj(`34F|f+s`;TOH;_puVhjzn)>IaJNne_s2a%LTZ z{~zct@Y^I3fjscmWhOoUq1kZ3w0Pgiqzg7*I0^mV(rdst;*=Ei@n{PfQXPU&Z`2_{ z_WE^g8!|!9Kb%j2=a*L})XhE@Gd-*+Ky~E*npN{3y5A+gzkk^>1;K9J|Nq^P__^2^ zT=CEVw`IzI`?Z7f373riHx-Bs9l~I%@9Tj!+`P73ekX=TLUyPhg+pb>tmrdJ8&~kaN9>`oHF!b%9T_wLU(2GR5tk|MzZ%3ox#T-UkzqK}e>#5q!LOgpf;j ziS`JW3HfifBzP=C%zy3$j4}8$uGd$94M!w6_UOb8A*b&1N3w~cptG<7>ZL>)@h21r zoar_Md_&ju0HgoEqSn0vpO%vB322Iuq!xd54O|L*`tGj%7tz~ZMV#{bkse#W44b(dqU?}y|tuz1e|3(B4 z{avV?>7Q(h3v~{U2v$`R27*30AV@2HCKK+Hzr}qag>H{TQ8PCe>h0cql6(7;kiw4J z8yogAOODmRtL;Bk;Xl~we*)KQsEB@?0HCFhz32i?5ieydByIaW0p<$+Pgs@l{F?{?p^(oWMAl_&+(EEw9@|{RGazi~HL--cSgfM?6~fHDue+nf*1tN8CWk5Nkw)1@e%5Fk}F8`enz^g&#B*#O2 zthj~9AjO|UOw_Zsp(9bNzus35!qUPj7u(pAr<9m&99C=7?Ng8)L7NYR&yvpj-(eq| z$9sNqNb9@x>)WqiSv}%&n=VZFz}M*Gc2CrSJcKd>6lX?jZ5BWA zsr_|-;K7q9K>gdx0Tr1+CLXpH%P+|(lS=o}>*hXnAGD}IIwb4i-oun7HxlLj-po1{ zog>Z8e32kAxBbuZe&<+)I6BxnHs@>x?Hqe~(L*4!h;2HU^id_O{`U5YEmhFP50z9v z=HfuGY&DdKzQSqN-QK|=YiE3CTYszvZ|O4#AVwixJwzc<^i39;-wUNI;ck_1D<*4Va|9CSl#a@@;LEzV@$@$08N6ZNiIF|*&ce&o2P(V}^4rNDHyVCR(@#wc8S+k)O*xcc%5y`eZhXtK* zu(rAMOcgMBE*?Q3?%m^wtFP=2izET$eksGfyrm&G(`@BmrZhuKVZRVbZJ=9J&b}3a z&z4qWx$y3X&2g+RGlnoZYnpyy=Hqap9|!Ee*MIEcrffn&`Yg zXQe@{nu{Du@1nrtvd_0SUum#m_vw^Mo?s-(U>TDjd=Kok;q5v;@RU8USj|+46SQ}R zph@P)CS=dK+5f(AIWWK2Z>F#*(!Pm2AB^*Qjs-N?!T^?^tdrk1J)!hg*5Tc79^eZm zT{EiYzA)|mng$kzFE93{%4LK3xZIAhh)Hl z@>T^A4QCe8`$P&WKv~89wMW2`)-lkc$$<hpeBf#Xv=lbES+O5L5*>4i=!r4UC_{hcknwU_+b@qE`!r@=7@-@tk{?Y=&xI+jh- zd1tnk+Uxc(ntiPRH6w|9RF^worHP&Z0g)7dd=`7SyO1e~ zWmaM##l|*yABE;AaB}qk8hKR@Z#VrS32iLpf-fOh;$mS~(bjWy(xA!Bjaj)KqZ%sG zF5+o^ZjvhK6U`a^Efo77nm3JqlJi80Rb9vSTGy?-TQ`mq!qyNceNL%8ir8 z>ur~xqY(0hZTw6HEhrqv0I%yI%h?~^-m2kWE%o0Rh1-|N?`UP?<#KDr;ldFJIL)Yf z`foJ8zma2bE|c4R>MJU27FDYCi?!nGbBi*JB$Tb0SO#qsu0<%^zO=F7bWs3&`1Cl%QuU0 zdf5OT+@0yHQkJUpjPKfPs;&3UayO>XD?y!xWtYAY&GG*J3aK*)uY}3f$4>7R;9v7N zZ;24;i@sdE)?EMI3?A~+@6gYv9?l0@?ExX9B6gm;5Y}%RMTN_gU(l8?!-6wuSni-m4Yly(V4{eFu+^&tGOlX9f2=UsZA*IgPX~ z8mcZb?BMagt7Gp?U{V*>RZAQ7wD!5Z{Ma8?{I(wu0(>5XW4I(tb%HsL_EI#@7#8;c zHheNhz{^7^FLHjnFNV4TAD{!g2WRbfFNq*T+NHTS|F%^yd;|6$!KAM`2BZp*m(SZA z#_~&%{pL6uUmG-A6thqWWF4=|4yYeBrAJ(nb|Id08;f&z$kC`b)M@3AMpx!*k51U< zaN6+Byq;7J9$RR>9*w5#am7_H)eoAIeG>IPoMkFqz$w^%y{n3$*5%fcyzQHu3cE7bP97#%G`rsJ8KNG7JM`jlwNDW<81~20v=X z&93ek1ko723PcRgz$-UO?0!l#v$7qNH>QYJZqVc^3}zw;*J1-flm0gsBvOjc zf{<`oJ_-S{3bwxA>}-W8q18f_ygL_IR?{BsxXYp;07xzJ&;qK??ozq+Op`=prd<|} zeU8W7wNt(Yhobx04z~LF_wC}Oop83P@E_#>S!5P1606`EymWr~X3fPZEuK+RrX+Xs z7zvjlv)%#sFxPy+ZFc%3X;!P!IT0(CB^hWdkFNG8(nt=q<~&0o84klP%IQI3`tvEn z_fKX1(qU#+tYXT6cA!>Z5TA}d2pDt0)o)8P+H~{)KH<$Iv#Ty4^f@f*W4|{1Z~HYo z03DU+d^bp_tGB+3DJB_l4fbV(Bh#NtzUasg1#cd&^Q{+J#N{C`$_5hNYqK@aO@X6O zn}gg7lmb8%*o}B#1f-1FjnNS3%6omg;TBtc@}74O6wDv%MfCiRYvB9E6h|a$$gVcAZcP^J#uQHG(}^RJtQURN$aDzWU`&Ev7RTQnYE4-( zp+_No70UWnO7TIzUZz;5x>j9oUz3k(u4AQp;OBYy=M0InhId8;SeTqE8iiVVk*ZFg z^#aAW1T$)H^XtlvJnn+yy2y#R)}RSH)Q$IxCK=+sMbN6g8!3$Y@HU_qgT?;Q~DWpe~_fpqG`ST&d1h^wqm;9 zgpbAc4w=@{$PbB{{I-4bEo>CsF@c?g zQk(x*&?mTYFzJt9JUKA5c}5g0^ip@TslV3qK@YfAxamd`rbFXCMtz(Ahp2BhmQQjd zb3B|bsG9g2dv9YSU)ca(zZ%YETzivg&lK4sQr94-;>zN9+96kYcdA^9@VpJgbW&5H z2}DG-hxh}dj=*R*n}y+(CnS|JHJ^%VB5gn++F|AWR;R`CrQI7>1%QalUhry2ewEH+ z1qGBb+bm&u5K+HJ_@v|{hQE^5{Qy$PBc1q?$bK9&{KZa5pO}S92(-+kZylzmlMW01|t*9^^ z5P^Pn7MC85Lu&;XCRSo!qf{t<_6#IEd>lcoew$Y8wkan${D)SxC;am>gqI%06uce&FMEhd03_1wfh?1@UvAmP96pNAB3 zu}`N}l+Xd^rckXfKqW^(8c_YT-BFf~5uSH#zRrV%l__gCLgpfRk_RNsvegPyzT$6c zmgq2a@_AyBlPXbKkaLXZ$q7GamQ*-TMA-fS0WT>b30GLC5QK$>%4*#VwbfONR(4z=2LY z4ClE%{7j;o$l<_=PAYUvV9zIx6)lEQ|Da0KUU<|XmJbtefbettg$_9Z%Z#jN|ksz9(*X1cg(% z+{h@|ZVu@IRr7jn;>a`oDl?-7*Q4jvA7-^Tu5y;gf3>(hnLzH{{gSSC(uzs))K#6c zbXU`S*11&uW(cf0_)X#UtL;(rn%z?yod3|=d|z5NwcTU|m3 zZd!ALjIhX+eOhjP1@Ov4vF&}Tup8&!tZG~FL+V{9t`l-mcmGwNF>JGG1r}C*8R}0B zkCgbcs&ua%16_qi{txGBK**KTuI^I^8mUF)8m9-1Au}BKJx8GV+1F#Mv-Na;C@0jP z$&H_J7_=-2ie|KGJfDhx!i&z8OBD8G$^k8wL=?U?$9J)KhD5W&&-cefODy&Hg zXj>$RWHd^ZpIkgZU1x~)a@G`T0NN1sSA-~cq1nCQOFY|@3 zDs5WRV%gq1CmHNWl zk+$;;$iJ?87P3y@6*MhV!YKzMZ*O07U?^nPyK%u5(})N0g<{cCFzVF^g%K8N6ud;a zFJ$z750_H4faAGifK%gY6pa{yu(WEuSW=1J^rnJFc0r}RzSB!fX?icXCgbr;>FoH}Tbh4dPneKVGDF+QXz z$d#30&>(OD2CNMm$VAT<1GZ_*%9b3je!t|Q2$TWJ=@^qaxE<+h8`XECA0)y252*S= ztu!b|GVAl@LEoVLZt=R2rzr77UPye_X4K{40t9DhfMo|3v-cbP!i~9lhbrSMnJeB- zsW*k=`E)G~y1!$n75lR09uCL_BFa66ts$!I4K!k3BM3N;3i7o{!dJDLK9ifkA<_pT zd;0LXufeDCdklR~;U_(fY)`9EhI<^)hx@W!kUS8uUBmhbMn8ENd;>I>@H;+7*)+pv z_O8fEV*YP*-+tg=y&Z@Tf5u!cc|v)PoSM5U51&is-1pB zq)HKTTE?GEfBq?76D7-Cd$1f1E2UJIMQA|l{ zUzshj#K8NZ7#c43 z2c$vikPhi?kZu9#P60tcI;1(LH%mZm}trv6hID|!z5nYGi6u~zck+5 z1Bo*U!WGfhWO=$pAtS|-n_RjOQ={kg7p;oSFPNQnuc8gaMB4nZn1#K%UWDPXFvG$% zivZa05Pky#3}~kL2O~0z6>w$)KLfhr2rsZ9Mp{1+Dagpx~wppggN zPQaSMbC)WZyw)XU%k3P9MruId@jpOw-$~)z=tx;eU6NKZm8hK67GpjVTeSL~|b~XAoj45IsgHkHGdl&RG z#jzrA{6iZ(F8Uq%(C-fBJ&vzw1`~ynxvl5uVeyPCK$B1fy@dj{Kf8_L$XhO}l)gYC z?{w2_IITafWFSV6y7V(BWJ#!3>wmo6*Z=iwdbJi6^93z99!_!c0J!zH?eTYC)it}j z(w@$=`FbB-LJ7|?kI0=LAP?g(IZ`J z0-ev{MeX5SK@a$7}f;A2!!}Y`P}=5ucE`{eAtox63dn_`I__{lY-E zRczFb0ElPXZmRATt`GNuoe|H)-BXup_r_{zQu!P;HctC9TJJ*IKie61p^*s0u3x7t zLwel~+-rWurfx(1&k7q#wO)w&U!A0^vuRV`KU+Qx#0qy$td+g>4Z|WWsIqZct_;{5 z&fP^NN5htE_$A(AAS!Bpsidah%7?_zB<$n)Aez8p@E!etJTQcwM-q`V)E@y&R-S+h zXL?uFUi#=nX=!^~rbwqcdeLzYxG?+zRu=FT3;Tv;T08iL7Sl~-<0{P(KQd))LfehM zlh1Qb)j3JLs^31#S3P_6+l3<>o#|F7sToB}O{wv{e4WpOANi*{Fsa!XN|%?3p^oeB zZyPK(8wyz@IiyqHQH!OJbf`^l+>2#cHLA`7&zyLQ5I!sz@sMJTI36Cal4tOtBTm5b zVo&%>o~}FM;QoBTe$aY>EGn8I#AJ5_851q#LT0j2SpPngZMpJ?f$u8#wL4wH^mInY z7mZZtOTh-{hGx#o10e(^LoNc6cx6JKF9&EN&SKd(yd znC5e{ZX(6Kq+T}Q{*K8ImY8D~Z<5fXt z6|COBU+6S@$1o~^kSinfeDa7_1|NsPV?KK879R3YW6=06UtUzSSEVz*Xe)jE#FW9J z4xK_vZvR&`^+u+|bG?s|iUQOZ*@m_!XN6?lz1?~8U@yvP4fu#rKUw{{&&~>X3Q6FA z^6Pbe&}VTfZqP>Oh=xbqqwFpeBgykj%Ow}TLHR5tQ7H#90AEBn=m!FmB_hJ&A093; z?pUL*m-*;WbDsOo0UtkvZbo+N{FHF}YFfa;ZEihVrw~u4lU-5uoL;Yn?8CvBK{0Fb zp0?^nzI`e5Zii z$J&DA@{6^Ii=>qdp9{5t8Oxt?Pfd_Ldbd;VOj2dNnBjbLwNPZq^3v_3!eZg>OLY`6 z8ZxMOj2Idwz&@lK?osA zXUpvf^g1;)vv;k{S2a3H(aj=41Og_}0u9f{&BhA9ZZtn-Hyx6Ah#;owNNwHrMgQ(} zFw@D54b&4sNI{@7gTaT`Z=m;%SoP3ZIic?d>+O!kYOhx6uj=cx#{p$(0P&g;30DzO-Bjuv zZ;G{vTnd8jTyx)?5la?2D5k!oYD70cX4b1&>!zHT)&qL2EtcithmKHH6{yS-oG%Bp zDlC7rj(dNvY^Pjswby6ljxwfq|mC!1RYX7FPeE zrX0wX$JDIJ;I8(?-yg6-Mh3LUgO-2G7t*q@6w92Bz(cZOCM;CKJqF>HXEU^YJGb+c zgCjSr1Rls5p5rj6=pk}6dGI?MepQ|$^Bo=&s@HGU^ znMt=Y`cC1iK%7pc1>M2w^Q}t6Uu9;)LOSK|impx;qr~HXAX35s`41Kev&RhUe3vUbna5^qYCoAAfKn*_0ZM^jj?csc|6Tb3 z;baH2w*OP}qlh#EAns}GaBi_IG=VU}L1qc$Am>~|3H_xSzD}LzXVj-^`TjIs=r*^z zhza-SgcAwH+x-cqQM6)i88YfWG`<71V6WZF&al{#HP}LV>ByIlM$1^Q~ zEoHV*j!LPfF^P%-HLk_)tFjIX1Z(3Gen6(d&NTn|2h`>E3;!U~jDl`O#ouHacP-Fn zf?+bKk=WRN9)K#z>E{2{j1C+$8$E((QVghv(f8E-pTZ5SgXz3jAcizf+##d?)?#&Y z4SYOum+0V0O;NGFd*XgO0z?~N7Y`_LBxX0_UZC=Mz%pFkj5Z3$R}a@65Rp2hk|^u@j%yIb^?IhScim{+ z(*je(6p)WOs=i#7X~fuI#ba(1FEV*z@KhE}mJNna^FL zm{w5a$opB@>HQtTvbu3Gc0}wYElr!R#0ujN)q=DmZ##LLRiLv6(jX*yG5UaIq`;I)Isl+!H=cak~ z^muFZZ9Q7#{K4T|d4MZdv-1Zbo}~klFID?96oTjxg#2moj0W_-)cs*_Fl^S@=9mO_ThInx!@cnthKKj_DzARNJJ%s#-Y`hkDAJ}ABa_Gt z$75E>`Y2za{q9#<9D_1oS#(|rDYxDR4W2LxzfR;e2&C;X-#7=R1x|CV^s7bbWtlA6 z;8gTwWHoyAI@t5AS#f0gFg&KeaTdB2-$CCsf2G2GpPp{VFbY)?1ute@eZx=uMxrN* zjDo1sGfBYW$6Tb#<13QnOL<9>%P;-}>|RX}@Qda@^B2j$`a=Z!oemrp;NiI;N+~i! zAgLoW943_lm?u!89noNb>#kHGq1+cso)zWqKPjfP1WrWY2V_<5PK|fStkTIRadN}K z?J+wKHE3g+`gsPK5Y74aOk!kxn$kK{E~Wr9;SQ%BfJpeBY8=pxb0q9MDs0=TS1TrD zYja3K-1Ui+vK@s8OnhhLU}>mm@!3P#@vNe6_S}r@#b!#4EViPTD{S^(YIi1OkZBYq zRv1q@d`+j(6pG<_G8v3Kyp)`gp?ylNR^ZGO3=0R2@tN<{-$$ph4WtSOf1#GA_{vJy z-_iC|D52i@Kx(g16j;8-19Gl%T!3AqLBbxGzJx(YT!gl2UouP^Nup6JWMvU113vO@ zv^sGt$W?>HQR0d8{4KqMh~A!2azJuF|3>Mfj{xl;`iL3&D#D{$`^pg!tlB+Hdaav7 zaWPHEE{Ed5sHdaiqQV$*_gkZ@oOX6TeKGt|PUj0XMsJ}9ev6C#n8-K(6OlhQ=yj0d z_JmPMI^rdm@8;YgT=u;+ealPOsg6t{P=gI+E__;ri4BR$NPX!NJ4;m6!fu}k!|gBZ zc@;vheiS<^tF)x*8q^kqqU`4n;n>k)zf?2VW-++EVrP8fk)>7NRh5yEaiqs)Hv&Zm z-7G?oCl-MfTtX&}ZY0swIRe1h*uF_nE1<-G-o(W$J!LWvkE*1iuyf;s06`(h_t)` zXNw~|>hK^Cs}TbC74q?=5Qy-tLt8xkFR7v!4fF#dvctxZBu-yK)}e6Icyy~c6EgCY zwH8yv2u8m3Zk5yFy*S7X<(MqgR_#i%RVr!nH3NH__=T^ij|}BcDnKn8shZ5o`hAM_ zTp$og7EC@Q_Qf?}VprIVhb2{;Q}_E|wLP=k{&Su@@l9LKZH`6MuRF{%mRH8Oh;G4e zm`;!Pu=YewNvYnMX=k*c9+gKQ*Yc#-_6s9kqQgB zxfW(9Q%c1Mdd)Pt@**p_|D5g|=B~mHA6y#}8?IB2=WSgNyY)grlM^kjn`L+r|pHSYz38;vkHR z`WQAB%-}}qs}CC^huV$?sy1JQ#*D>UVC7_F=)~=u4es(!7ORE>fy|5FGd|zL))^4n zzWe)E?awL2e2?5-mvhFkttWa)0 z?{*%Gep4=G?S9f>b_H`m(6aD^mktfiYRODo*aIVvUT@dKy@|6GqF1`Up6DIdX|nZ) zsYF@)!tafP*}@_UjY6Vz)zT{v_+&E@{~8SkH(F$;=ctQEw`%{#9MEz1cif&3wjwJ zyo>0tR$dqQ-^RCK5d$G&=D?NS&JoCCMHUEo@Pu6-0}sUV%i z>J_jE#$?C2z}ze4It#jAEoBb4bl`bJywt6>rN+av2i)VQ)m{B67IQzWE{jA8@`daUTs9%+K`J3@6Z zFqxmgu9ayc%SHydu88*FF3bo6lhMrokalN0=8QtY7$y4pz`+SOH1srT$cLqqk?=`7 z;~G6}Lc$Qm#uyeN;ggJb4PL#RDP!qNa633b+VjBIAi3M)wKZ&I0^4+y)emP|%ws*o z3bfBI_Gabo0>eF|6)x~UAY=C^K71l#*1P2I%{={d16;#jRA1158OTSIb8wuGiAKp#oR;~^XYxu){-9?`l`L+$v23)xv*x#2~S2z#}#WJYtg;UwNdCOahu^foCVj(QH_Gnt8rg z4*yskU?f^hy&o12)$$$S_W#^c0y>4q8W)Xx+ACn8%>;rYWu8&y+~>gj`+eZ6iCg1l zAY^|BhqoZRj+<^L=KhZl5Gu>$d-Xe<6W?9C6(!h!U{v7y2^9a zw!(K8mZW!dL=gLfh%e&I%^uQ-r1EoE5fMr|uvzTSR0n|HI|BI0UJMk&M)EhIh;Wa~ z)c|A`dr!xco#8uAzA+HjzM&jPs}a`Z^PsR3g?2ys&2u)4yE*{*vD!$4+@b+D@shu* z4N7QTP@f*oV|7j2t-OKlOQFkBLI})d&}0tPx)2j1vs&q62B|)*<#x;7A@di^u{5?M z&li^dobP7Bn;PCirSQqUbNC?t>gJM|>_THHy+aB#d>qE-`CWos{B-a0jmuthVz`qh zBbs9HshG_9EM+A2KR8cn7cR-Y1I9C2`J@S_qb1QlN6T3(RChw1_4f{I1ES18Cm$M< zTcL#PJz0^9_Pn!k;8rpHr94P9yx7I$eLMz`E0D3K36cvTI)OD?gwmI*D6<9nQLo>k z2w6yc81Pk;Sj`p~x1GnPjBuFrULzxK45o|ctK@zg+{-jPV%1F+b%QKCc1qy$yjvZa zzaWf_@zM&AL2x8VaeAwX%dF}h6$y6r4v6%5qbEmK&}{~TO9OJGU27~H9( zcDs7~-x-C2RnW+?iB0FPx`*=dv{N2H>ieYY9|jgH8eg-h{l5(?kJg2zM_XzS_|G)U^Ocf=iVoz-_ zl_E(Mu>ZpRrs>#ZDS+y#?=V2>*uR%c3_osy1W94SU6(^9y zmzN*jtAduq_Rgf`TG?;$j?spqR370Fd^QRYB=Y5CyD6VE zI8DEWoIj5dPRa(OHBbr>d*M(fs}#tRMXaHgeLbX{H5TCE0@`CN@Y`|rb)N+!WsymR1m>GQ zaP+)1wP1pq?G&q7#$U0mt2tg7-_qEcyP^mhuZ}Y4$Du z-?kKp(=5Xlav{;#!Dma;Jrc38Y4yMsnG3qKNfO=)SsS9g0@9$_vCL& z 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

    uuqUcW}(iw4{^_P`8Z7ga}8H*Wu( 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 z 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 jx*a~y%<5cy+#(lbOZpx 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

    U0 z+FJ~95FkfSDDUu1&)D;40Kz{9gXgO>l8!mk4fo3W7X{x?qQ?gpLyHa`l>h&L_Zv`! zbi=R659Du+#AxbA$HZJz4yQwc29P|2mJ^dxz>HEdzA;4u=G02_`CFZ{4sACu}JQ-7R`V~i! zl7Z$%HN`DdrBg0(rME^nS=DWK`y^K!l-8ZYia@r=VYUR?x@ctvHw79U{%R8rBpu|U z7}SGqz*M?J%2R;2jiH=Nz>DO`gwseT7^33@GPx71%=JOFig<+HWT$nn@a5~0gO~F@ zIFoekRt^4|_9N{AML;o8A?(yf{1J3sc&E1rWX@TFFc&e*d;*cZH7iARb6|j?`+(}G zJ%Sx+pkGQjWN}|eCPheciVLFfA`4B?h@AK$`{AdOlQni2*E;5=YlkTP1gp}#Hr2;r z-Qj8lj1+#%v;%g}j3^Ns8ODen`6wSDd~n?C%|HEs#?M!j?-zf<>fa*n&cM!}IuHt1sVer@;Re z3jNvZ$g3}O;LI$Ue2&4hqJf?FgnS&gCdZ1QZSTrykMxs#7CtbaBD#ISuQ{aLK%VVe z`{~7rfSLyWk(rnqS2Cv{M0{V?ZE0IODD8Q{U$4RBR?@G1h?`7AAKZW!-Z^XXeN}1ACm#hjLenu z?e9BnwS=H@6jJvk+FC?HuxDq!#q&$fcZK7&#r6T1%_;(X!`85^k0JIZzWTS%M=oGO zTf%V%?;o;sk5mv$-I`rDu2?FOtMW4RCZOUiNM6X=GgZc>yt@+biV20`Zp<{5r{psj zf@j&!ygwsy+g~*$vCJ2jK}w)JV6B3U8daS=-}l;hLf&!nt0vt*9->BR=5x^4{Q81Y zxW8Wu0t8o|1pLuMH2zy(J5j;3PCUsU9?`L*bY>&1yl@P#`xH2WY75BDy1q$TG%EJZ z#HTF|T$*Q9l(Co#2km+}#!0d#*u2Xa$mpUR(JWF=m4ot)GdPdmsJ_=g&k zy6_(MA9SZ5Zp!O{XNpxoq+~rOtVOCwtHY$P7>!Gy&opk`%+-&=Sdz9m@CEWI+*Lr- z3QqJ340?t7`*py_<6sOLgFxVQs_EYp;|lQ_ga1? zm@`fVP?qJc#8j9uJ?H&hz9(24`6%HbHNk*^9liWx5u#GWHP5D^&jrqU&AWwG`|s$( zWUC~`t@1?>Zf4F{65xk;)KoYzw8UPWz5@Chs4vMm%w8#BM-V z5&ipt60wj@j%Q**dDb3=5Q{g39aSyR%rq!+CihJr0jWjxz-T9Fk{>jg{T!B?)4_pe zx4R-2B%fts#2pz^((Yh~Q3V50V3XACO(G-oJ2v-Haj!$8V}9MDls0HcxPK$irozfA z0h-g{c=etKh8_i`R~$E6if~b>jvCD>1G2MX46igcv41}h?uSMy4i`nO-lNfaS{`c$ z7djsWU)&xnVYXK#a>=BmhqVQ8>v63qX36cD9#Qylz+eY^v(=vxyo%BN=D;pY3Sw_d zPlgA7y20um8KCcgk>6r3fagN;^&^0_W$C+H&u?F7hZ)l+tvl3hWb(MRe8DZ@fvR;l zYxJ(TKQEm13W+dYHyh0Zkw#tggRzF_mw_v(42mU1i}c)J#4UD=O3bcJnT`R2@pD?dGG;}R9sd1;u?Lg1ii zYX5k|IeK8Hw_tYjhfe`58i_yOVl`NO8B8ND+6yk=>q;Zg>E8#eAd>8{JQZxS33rL= zy(iWwtNU6O-IzkjzyNJDebb$_*L9tx*uh}P{y z5@DmQpBx9X>#Xf9<{Q>Lwt32)UtoNlCoW}u<`rYYKE6_XMRog3#v8(Ruk)|R(({92 z)eBu7OV=W1KZq48g0e*dZLt&4Nq|u0rVPr`tplrxQvu0vxv`Y$9-D8UeyTBQYqCAhpL)x|UyoiOAKa z=0{og?Hl}t*^U>s-~CNvfmx3rI7ek-jOzF=*z@_~FQkatY_t8|s{|z?D}3*?{A?Qc zM({pFU*Iz;i1sO;9R-AHKsDNi7IuxDGcpR&2+C`WgLjfJMWty8hyTWPpbnVBuoW@W zZ@=gQfy}IcF6rDt!PLJ<>kIf}BRd7b zH=#Mwo#rz2=U+46kNh-j#@;Dg$9{Eg7CStIIai>yJUKuqp5A((loVRF4htpK6IHt3 zabT_?(QJrhn>*cSLqZ}ExenBGbT1oB*sP(%%UhU$&J{-*#qUBz1`K?(#^BP%lr1C&acoCkU^10?nodmH5@Vtbp8<(6D`8QqwxEmCn-$4mRW{5>YgXS-> z7JbceW^*C#vdpi@B#E-_4j1pJD)u9=Dzsv&uN#iF2;z&)eO;hCu9wSuhozC{aE`p@ zdz`n2O^Sra)sLd!{=&Yu`Muov=DMa}?I0VE`th3q$}Acx|NBFrw!g1-B7hL-BZF6f zuG9G#g%~@FS5|33Iue_Jz(A>V-$4|qWV>u%B@}br&|BU=*!>y)kuO=Vni$`o_O!7Q z)wjKegV=+qnrEy=-9vwdcerv?6UtMDwxy}7@2I@6I z1+x`G1j|e=B0F+ZjzGRuU*U37zwGNJhC29Kkp0fvn|7 z+}6@q1vhkvEMf`4mdw-Li_5#R8bHiSEU&Mt-FEwVm(zglweVxdfP7`DFkXwe^C)z0 z57niNP^EZ^Cm5>}(F-IS6WB^QV}C&LBRtAood~%39Z2Qmg7V$VE`UA6v^pObe>)!vhYieEy&?RP-d#*{9sVKCx@;m`%ffYqhUmm+LYUkYY4xF-UycPyPJ5u{ zTkfZydlJQNKyEf4=yGBK!@EwrmEgr)1Q1M#ylneoo_21+N%&LtIMsr!_i+6wuG%;C^1 zbjIo$<$hd-e6Dj86zPRX&Hbg`qiR<8*ZLG6WQ+aHzbuvXK6(f2Cf%ayZv?hFQE7;s zE+j2U71Vl*v4=9Oik*ZNbj78Wq{iWJ)QJt^syES zig54Arhq8wKRA3a_5yQP9jL*_XO2Kf^W>RL9EFG$W6Rd7USDy$*Y8C%<0(@rZpwWA z)Z~P-gPU!YipJ`Ta8(-7w?iu@Q%U=3=^%-}uj{^i;sB++v)BC$%zjZ-3R(wRlq}nu zfIm=3QKXTi-YxQdQwqc5J?IYS5r7pQhc1LSw{=~KCPWfH<+TQkVxWgDA5Tlg{306e zbkqkarD{>_GMBPdYIyLktHV*)l%Sp&IzV7&q^Gg-!YwNl9kuPX@ixBn^K86YOs#;G zW_Gn1zV_Qah35W%mo#YFD!QlvzABZse3dsoWL#K%Lm2a{b6hB*(*fHfOX9+DsWO1b z1Ud-yV#gD=9R0HLY+|L&e-tLZH+>a<*XjziXa+>?@DP9PaYVV7 zNMEqt6}@rHuBgMKtE1ZS{}A>b;8^zW|9F{M30b$5>{-N6O0HD zDTQ2=VmyDvAEf!Iv*d4CS-$hZZPEG7m)So7;E@+|e-YLoT5NEa96j+jOr0~4#}KSy{oJ-+?1}C++Hr_ zl?Q~&F`|4UWleD%L+T%^>&hh8j6UDoUN{iD+qq=4-Oi#_YfE4k<+8b`9mGp7#%+ox zHNi6BZfvfGAnqbG1opNeGVf2vk>x`R==pVq@sIcw{LeJj6OVD^2m&t^z>&ZiHKRS2 z_<7zrhx79k0=dEBGf(rrTo^qUm~B6eY@=l-_#OwM)HpxghfE~@w1HWCmT8*|IvyjLfVnQjIk1|RTY5De+O9Y z4V3TFJaeOb^UvvkL`0M>)0!%6u{n`WtB?Z!Qmg#$H(3nDhEk?eri?)t)Jsh_i6DFeQ>4PLEWP5Dq` zI<{V$)?$uMRw8-p8mHDidrOBgJ|}&qH}@?8+ z)<$vcgol5=gl$jjk<{rLHAvWq1gw-dqno}w~tW z{Qr7%&ji9}6JVZwsr|oQlK;Z@QQSri?Adi+S z0AYMa<;nuSAQZh6(FSwP^`EC=;b;(H1tTM)`HuVaYJ&=DYI;$}FXxctso}>#y!mD} z$QJt9S*~=GqBHU!2WC}I5jXM-0}|sb5TqY$&ndF#A=y(x$<8>54 zb&KGQ<_3CcHYh>Q%OVys{>~jwC_9+9ugB@K+Dz5yRXUolKfu+i?41!GGOPy-EB+4k z9$S>KBS~m*aDNy}q#$IfX9Aym)boB&3;>fpL+;K@N|a$$qtI*6#33|(PtgB`jIy~1jS~QE(J~VqkL<_+Uw4wK zIb7olb-{PLIemj#cjJ59(DIZ&GD(n^k=4l|^c(V#`3IYxT z&A|Fg*P3&^Alg_=(PZ~cA&b5RKgVeW0+t>w*77DkvHa{p#4EQglZ8_Rn;IM>A z+tnLCBA`Uj*r{nipWf!9fA$p?B-%p807-7PQ!09*`J8{CBE5B6&@@>n>gh!DSwTzO zLG1Zv9c)i?i|YxtsUcGsMthX?cvI~l@WYDK>9{@HEL$dtr9e$6sx4N$~d##g#of!$Z1w{cH`EzdgKazj>Wrls&py zEmg?O14+3-w&6mV=3nZ3bWJ`>kfgkNOoqSWVD0$L@>5k#cQl~45iQac8Rx?kfD`~g zXLZGLIjeya4n~5;3CE}j!9K^Teq*1rl2gs!rW72U)qqvX{#f=M8O_-F9Y>2L-l22c z$)$}CVpQ>?M)4M-+ePda=`-cNF9s>nUTY|gS{&*Vvse8rAhp{oReGK~xh!Ha)mJ1~ z4;a7C+kLvDDTTT^%-=5HzY5;%Brseqc?m}JpdXPYF*kT)D&bnVv)9_Q*YV{5y;@?` z%j;+7F?&W41u~ZM5GE;85P{_ozd`7=3GI_JZr4-1mGxQY@y9f4=N%7SyPRw7#M+=^ z%946KP*mb<-zo_{{~AId*Y$QlEr%4no!*i9^Z5tp_ zJ+lPFiQP$-7Z6g;xZ9XL!W{?_WO#Azbdwz{i%V?=*_S~-vAg+2svx9Sp$)s`pObV- z3eNAJt&#G73Nwbc)JpL*G&BYV>2}x(XMvqnnED%UtW^*;0TnA6^om2kHyvX=(FDBa zN%Cld-FO*NzKH{Nd!+|g|8qsQ!~nnYmG8j*b2Ia(i~yMge^V8oOat?8X|35Sa|58H z7eEp+1bg|`t3OA0(ZEdW%+<`815rgZn3Hlfb>3m*s>Y1}J8%C4YD1h9=Qhos>&2P7 zzr~-|!Wp|pbW^3##Yz%h>4gY>a+OMtz}>^b{88f;(#;4|Lu_6TkRhF;t;=FmBF9(MQ6cPjvL6Al9qwljT zVBs&s!I5C|k4E*W1zi7h;T>AhKTggr6i=T&j{=Dm!UM?!OCWRn+W_WZHLW6d6gWZ# zm>edjOd&RknTk=rQ@)Un1yJuSxZTv$uMGZUt9ix}>2wSOFB|{)Z8&m3j-!ChKxXjI z@3Y~EICuX|pM!9uy`6qfVRbAbDjp4q8iY5z3_-XnzjLg6yTAV%Jd2Ye{j4?e&@Lnz z#5bA77?<|h#E|2O8c*jAP=5$a*3TxIS<{QUaI(23El1DI-63_|JhrGFBDkUrj^s-| z*nD>Dw(-TH0A6d-w_P0+PW_!(t=9*Sm5>D`aVV&(J30R&Lj{5!I4Qg}{M;|>IQ8fS zUPlzv0byWKxY750s<2Na%Qv%z#p4&wu%TNiw5=yYp`P38^(in6G(6Si7Xcy4g(obO9j!RQlAYSYQfJC z1`s;=!O9Sqy&eGp0T|0KA<01Xa&j8g5IIRO{hkP zxwfb@1HFp1t?7R4puW7}2^fk*Aq>4K-^Z(uH~d#mZ-}rv;UJ|Bx)mmVusx~dSmN!I zW`G=PenAa)*mSzmz_mepzumwh8Tz4Oke1?*4x&_TA&vb(lQZ}!94ZFWw8J;Bdu0H- zxSR=M)$Bf#GeLQHqr?IO^%67Syrb^9(|y%MvHo(gl#nsL+m90@Z|UNTJ8~})?jzxJ zInZBzP-T`ar~a6M-zE1 z0j0mMQ{yK%T(1dFFKLEwUtRE(HffOS$jL1R?T;&HCY{fc_{4e|WT}}zu3K+#6H-|@ zXt2%?JsWEF79U>*dyg^7ZQaq%S#2bPdk;r{!^k#EddyN;BKUXM=a_t%+)B4DxVVyO z=&232fnUv3R`sXg$0#osCnTHNQtn*&Ha90n_6T>>gLxeiV{b>&p<2_=@EwQy*GkXl zcNOV=4_h>IF?|D!#$Il>A~rWcm5oGUNuh_y(|&&HdWZX1r4OjM#q60XO%sfj*Q~$W zHYo~G%)tl|gB%?f-;JlI5IJ6XY3%M}JG<|Gi`uuLoWDVDoe+MwtY&VS2kdahvHuwJdc$UWMmz{#}N^;`c@uT^D`HEz`f?D1=h_N^%2{2Db&OKFJ zgl+kdvFR6|{p8NA*D#ATH@8ava~LEcn#{88$9aEbaGgU(P)MtD?r!*NlJ#^ZyH9e# z@fC$6VLQ{9Cw@b6l4(ts=3QaRCent3F2fW|^~(N# zI!j1i?BC-f^8HHMbBSE~n zYY8bYWD@i3ZqM`unx~YgNFt@>Nd!!qXBu+^|5RsA5C|vK0|%82a^m8UKtiCB&CX>W zs*HgqtQMQ~!|pFTEe(CwUk_m>ly zla(K~^bOpwT|D^>zpCXNz`oFX*dI5$b#F#gFc@HcR+o5Kg1X6eL@v^4Moa0)qY5u?v-TZ{&yvX*-+RTW(T9Ww1F?V_w zhRYxJxHOmqG}_F{?_VgbtS$udKTQinWs}C-tZj_s}L#aIp)7SE2vY5zYn5{NBZu!zz;fq zeWNe!@jb{4OE3YJ+Owze=Os=N+nj15;_IRdD)j*S3`IZ=5KE93jFPj1=OP?=HB*=b zuD|?ZAZ;YrmQx~ccIDu6|H^(()bNuD%TcZo$vrAHmBJVJtIA~BR3$FM}`yKgP>&xo%kGz6TRTup@^^u&1F zLni$!((jxua&akcHA-SUPm>5Pq)EOm(_kqs*t!?wjlS;-4r_!xu2Ep7uyKrO8kNQ# zku~;n>7*3eHB4K_cGaKwS?|iQhZhCdM<7@?%}Cb*nDDdc!5-|1l>lap7TJAu{F7sX zt^I9sTcRB1u~)&?yA~w;5H5nwU42-0#TbE8E0U)7uw zr(1!T?ZA~$;rvF9x>PcPT3zt;bR(5D35^3gwfbOUDFX!|wRMzIBm)V@OB>Ed9yER3 zq+;1-aslEQ%7)OUG{`=F(k}DFhCVg{k7R-{*MtPvEelvsr@K|foD5K$`l8QGNVGGE zNJiNY(88%?){i;+Q2bBLPU8xIf;OJU#JWbB@gk)Jyht~<{gi;Z;YKW`O)?k2K+zE_7Y8kpoX{nQwc^qYhn2*P;=-<`ua<-` zTR-nvd_wkbO3|ET8rmB2*gGDE*&_f{4QnLE2a(j)!mf3tkTc6LCu6$qF~eg{uxqm% zQ3LloM+bS6vb$N$Oh(MAD=n2)hJ8|-ib9wL7;Z)P9m(hqM`@Nn&YN=?oNM_6%a6n| zMQ=w=(4NwoSpRHI{~;Y@@3b?x-W{->m$s-TC&nF35%s`2$5>P54Rxq4RRYtwY3~y4 zB9%|)aY1BD`jP66<%=zd`>3NeycrQA+qf@gcyRZQ{WU!*f-jqQ<`Z9(%cdGme>YHB z5pWy0K@#wJ@s)KCX@&BV)Yw7Puneh0rk6LQC32`9?B>Y5#IF8D!5NB3X%TM$Bm_2u zK`eINRD);I( z3YMxIB9j{#|6p~8KZsYwz0N71t$5m@b2gbNveZ(Ei@ren2QMY9i95XSI?@jp|9px< z>mfb#(1f1^5dzB*hk?C~4d@D^f!#}D2|VTxPlGSM#QwUrt_!e-P!5!!hYRF}I6uu@ z3XR+quI1@hhu8}*_3s(J?*AZyxyKT+#Bebq-}v(Y8G{wSe?~tgamUaf(eQKVQ>?|_ z`}dJZ5CIG#-g_E+rs+|I&7d6r;vnL<32H|&3OZ~up&KPa&C@WU<_8)$K;DR1ybR4d znwPQ49u#e$NN`&br4{o@_Sbl$N1Fgru#4veG55@$zf87vIpE6&Mt(S3_#fRqrLi>S z%|OY76?MY-yb#3XrO#~kX9OW)v;+t-dKaGiiKgp4PQj!p4TgN4cE>YK1)^oNz#`#b zGw|oxD>$XLE+#&mI*2&$8Fk>u?mHtwFSmqm+v)w3S7g~)34k3Uwf4W^A?RGzE%4Ur zMC>%db3P81$~Vqp6L)?G|3hSZXbBeiWR!G|71cq6rI}EH)H%eU*I%R@co^A%%QrSZ zfW=kzmtZ@3`FbE?bQOmEqP~zp#2yFxlan_W^zSwdE_H;QexK1l|6TyLCVo7gtbeZZ zPmQp^_cl(*?&GPzC!N5Jyx|lNst9qglR+$95wIi^*z07JOpn{+>mdPt9!%I`;rlue zdk0u=>o>W61cS1@9?x-s1?txhSmucMXHz3^qqaui`3pJyyDr}uLV1s40KYl9-Olo7 zDT}lYMSYDP@H>#0+Z*&jfD5%D1px6sK(e~`wu39r(MG6a!G@T3uv6f@g@uK&L|xx1 z5xW5>-5xSNr^5-8J{MXv`CD^DGg|Dv_&(@r7bp2Yrl*K8$omKX`<1YTb|fVR-lFn< z<^{4=tgj7gUT_(7dwHP|zK#Wgtk>`2EFb=Y_8uXDS9O8K0kphA*Kl7v%Igm>C%B}N zR&Lc%st%ulyTxjsy&-q{b^S1LRiEkmjN;}Z**}xvLW2Qf;>Ic$0 zBmEa3GO(!uZC#HFr#2-y7OeDnXW>EsT0a0b3kSMyt@|S~`A|1hLyCakUbQe;>Sfcv z^ej+|{E!A72R>4GF#i5butq4E0kviup{pZNoS;t#RbY>QLvVKlI&9!`z+iIwMoW9@ z&)-4cygNje_;?1uhcI3kL8RS4V#_+1XBtnpb4laSZ#^Oc_2_$V=RzYt1&jBaJn%R~ zlZmTjL&s_PtaV8l(Q8)zk+}^@r$?tx?k;(O9|=PC(8|+dOEzh|p9o|HOE*+^jeo?u*hFu+D+BUQxqm)O@_)x-z2GDE#(2?sY)j$}58K z!bnIaCtgPN9+b)(dP`IAV}fTV@FLH6&PH)s0S)m#HA2r189x{ zusi035%feEQD5$0J0T*?U)!=d#)!kV+uA4dOsB1>YeET}m{>7c?DzCzfE*fwpk=fG z$r5Uh<9l@$SRmYC3jLs2_6PVu{vUD&{%LxIj*gk!D)&*xRPuF91X5v?}c>oR;wgZ&hYow_i^P$ zC0MUb*4~6_o(4u_pua?7KSx0Y3d9h9f?8JtTp4UFzNx=pl_WV$))i zYHA2u#8w-SXKI0M5ar4gCkrqIhp(~0ZcK}>nXv~o^Uq7ONwNf~j81%ye|A45=-fpJRhKG92#0r#}}GKQ3XSL92Wutn_g5s0CA zH;o9Zx1_p?LShSS@3KFi(DOXY-D7za=sshi?vbUlroa1Eq}K+<>J)| z7j3Grm%jR)OC9X(*KC~S7^Jku9z*9)*>2Wf+irGq+|1SC&L>H5IXRIrcoW=(LBgG|}%(r_E1T_Rqb1YR9>uj)9IPBIdrKRn-9V-o7ik zpzXqCtOm@+_0~Dh4{uM0&1$ohB^~XHl@7eo2YBk2_rjf@?ZG45L!V3Hjol^2f)QEK z9(Eq+_v-Doj{3H|%-+Q`^hwX|Kv~F0(Vu*{quQY1Qb(n(S64wQM?ci}gIQ|(LVUrN z41MR%#_DR?K&FYAR%)=lU<$hhn*0^Nc(b~mFJ>*%+!r?%rS*D9TX&b9akDy8C&wbv zOVaK|tN29zo7pM}=b;+vjFCcW-mhY30LmrzNr&)2s~3xeRY7(eJtu)Y{YbKqZ}D>` z*Nb2`^75*~#>lRroPNRp+ww{4$ParRiMJwqmIlNbul^avK#-1CIDJ2Mz$!8l{0rM5 zC1Sz(hvVdl+AsVLBVZH>M=sO=!bQjUZ~V+tpNYBzn){@~aa-an{To28W4ur8l_@(q z!ha9i&yRCF=@tkao`vO897yfTY$EOg7|lHM!T{@Bmt{}U12Bg zKeq$tPA1~;k5hFOfolO#;N_5A+}e@8YNA@kzUt>h1W)`=1a_CJ@a0p}1O~Ng+@o0_ zmFc%=P%xqC7@qi9D(PL+%73h8(D!^DK)6VF%Dq&>^7?h5Lu=^t3FF;&9sFX;bvvg} z+vuYk%?47U7r$-4d^!~4t>x{KfHFb6#$YQ$K&(Q{6>9Drckw1WBC9(11~Rhp3oG`1N%J!NgJHbL%5-|m+yv%F2GEG2P8*I6jCbn zjzeYy*lz&hB1DVXImpGCgrz)$CsYt4-X4DpwCp6>{Xh4}C&~F)!MMYASmT-8XF!8c z8w|dQh{Q9&B;J|iu0DVqjeMuFh0_VlPV3W{#(teY+Bo_=iswvcF=-xemVy_5^|p$; znv7V4xr-_|x+c)@_g(UP`vZ!z`Kz#Bkczz*G_(=xi8RrcUgm5eg&?baCiE(9lz&fs zZ9lm%oVITBm(|ksC`Oa`cOK9e*iOEO{h%yjY>M_Af;d4TdEo`|W_lZbOEb}iJN`DG zAyP}|l?5yyvw#eWC9?=ZCrx&PLZk9I@HL5pmPVI$i^iW61qWahY=SO?5g=L8= zN43Cw?@L{+mjhTon-#S|NcA;Z(>DCBgkPWpBlIc*3`(d>=Jlpo>M%q{cT-P7r~sOb zD2kwo1r`y8zcyFDFIfhrNthRzx2Y{~_LULUa>KLB26|4%%%HCC=i^TVGP_=_AD6m$H~xp12KZ9S*KRL#uO8kj9P|k? zziYpGK+8_zMLXfWS=&)xvX%H-Oh*;#Ro;iy?L%X_mKMClJMoe(am6VARX*XX}Wu|VEjT#86bRv-TQ zN{>0y)L#dU1eS9VOmw#HG{y?6kPe>(sC)wBz^EUv7`4C{p!_1SXeL=nntbe=Sr*kL zT!g)!-QOC{T~I~7I-JjeSO~t{=@P(5{@T^{oI>LdN%p+~kBUP^`rnuEXv+FpTEFFs zwnMSdqJqnFWPh7D1ql!fBa+U&L3Jrb=+6ZA2{*g@`Vb@E{4_f7ejeUB9hk>)QWa~- zH6}Xx&hGU$m!fv9HB3yD{gd9KW^ zKsi;{D+B0q1OYqw;_1CFh%qDn(A=Dxa_8f>rDgmbVu>>TA@jSPu+~o-*aMu#dqQRL zy8^`m+bXPLL<5WZ1Ey(SxY=FXpErb0L>B_(eqW_}xb!mb)-;vCP9fS8=!Pf__m_`GrCEcqRTJMB!b| zurT<08h{)-|7ot0RE`nQm=-Ryyf&^XHHzzJ>Pimqq%*HH%%-pat#E=kgot(2Z@WIM zmZSEy?tg2e9V1A*ZvZ}WmJiZYs>;66WBQorFER>Zc*qU?a{6Oj1I4laywHevMDm+_ z2~2OhUeen#jW4QU0Vqpic`9QSNCs!@JTA(!#|EE28AM)BuK|4Lt(O?bs~Dg%7kX8L z9iFKPci(Eq#KV%?zf%SIpD+h{+ygA*-ULS1>`}v~24e$Jq6NKXa7SFBgAEWUaH2qt zstEti0(On<>32|vl|gxr%gzv})^+bQSau-mi0+brl)G>v3L*)H3%#%SAZTjK6M4fO zr@b5~!H@;Xi93L$!qB)iusJ+YA5(zWAZ(;!?PADUdZd=Yy-Mtf^S|@}?u3EQy?}^y zkC9p2eGKv%0Kzlq&e?$#X_>pe$6Xffbq%cP`z|NB17~HzxrncNz{(f&82K-cZ2??C zOfC`O%+MY-I}H_$ENuA{ugX(<)fw(Q0Md%qr0)-VwBl35oEq^X*LUD47l@Lgp*nMy z*2~|1vc@pW9A>|5L<xjL`4H!8U zaa1r{KK<}Dt>eC>QiVIelI8S2(r%yn+j{W|0i@Yn`(?qjqn~zCXp~Cu`fbi)kejz7 za?vJtSvvd{WvnCCh!_2?U$si_eRdNpr&dSgNavNd=ki!TdrxIX^Tym#qU`0X-hUMh zoNk-QC~hmaJl)#21(S~a-Cp~CE5S9`WO-PNeU>1EA#doy|dn9a$xeuyNkls-;yO2YPPcaI%n-gj55h?7MPR- zLYyMF)N35B7+Et=nGkBylv?%PFYMTrfCLms4_$7+c?DyW85Or4_+V?3B#Bp=X|Sy0 zez|F0(nM(D<;48qgCqb>Jn4ec2$8p^rKh3R;>^Ab~ zSOb&$YT319UQu3vl}0}K-1^~kU5^^bds~CTdi<5hw)u}1$>XWAf&za>xS5Sv zJjq0mX)}_3B82noe${n)^hbmuaTsHJZWiKPfc^kW4b(jTOg*1oVGH)Hktj18Y5ezs zA1~^=&F~M`J5v{>VG1Ish2>Rdp0bjR55nesI$t4gvw?7*%b3n(hrR$vf{UKw?#nIc z)#>9hcSbXW_4wKae_-rjEI(3OT-iw5Y~`f-|EJ zHK9vGGGV3j#?}mnU^4ACIsTz9d2RS*s$aS7ndn)%-UuQp-pGRWviU|m%bg@OGqYsZ z5*x{lWiR7!jbWz_ zFVSzW`xUg4X?VCUp_RQ$Fx#ev19~Z15rL`x$!{0beJz?PvSoTLG2DEd%d3GKe%YfldAv4b`mR>0`nEHog{XP|+k?*7fIp)4^%DkSGQ3ht3;-^L~V zjB!;X@zGNY<&8R2pnA+{IKwZL)@MH7yd)r$1`ARvWGSMia!s2gM=mb!+FY~B<>9UL z{uq_JFR4{?4dQL?Cu+2Pu_xi9Gs(t#LDAHs^H?q}g^Py!aa*vtmF;!-+u6UkD+tOF zFQB4WcrX!sv1yOw^?qgi&%yG->E+W3vNu`!Gq6@)6$l%t zc?7Z<+$H#I^(xOT{Tx{{h&bZgZ#zU^xwxV*wmKOV`jN9pI>YW)HqU{_&@GvippW<4 zBEKbniF4qXyr7CojbnOv%WsO%|%f z$j0KAU>N8EX3 zY}|}vZs6R@Sj{vN($UG@_sL#nw!nnj9D3NC<;R@WJo+15;v8D|3}Wk-1?q3x%({)C z3MbC&)kvC&;e36*Wmp)5(C#d{*c1_IKf;N8B+Uw)di?wLYqN-G|^UI+~v`^3evAsY#IK?s1y`N(-qcbU2KP)SpS8kLN0-SgN=fj=9 z6`vC3Eo4D}@H~O~Q9`zxODN|q0fLHc$S7$;Eb9;hFnQ$;ix-dHow^}_S$H^UQu};0 z=OA%@k?($-Jf2@v>(ZgqBzx8IH@%}&+hK*Mu=SN6$AE##H}D0Vlg`LLv$eghl)=q( z=ID>=Txe>~_+cR#*obHpAS8z4#^x#5)xxi}4_S-H_E7vzioCKmH`|1Q{xq!s{$F10WZbDC0L5Udf@m3C6`4y)eSioy4^3{Iq|ad+pac~8TRayD znx9IWhZcQ_+l+(9Q)&wo*@xEX!q`;zeu7#Z|w?bm^GA!&n0WgZ}l2bx@8O9M|n?Z1!AvSyhhTscXR9@mPSS+IR|>w_=Whq$)pREN>N{_^QduW~N1qn#8Vi#)sMl_8!L9d` z&M0I|0n2=#aK<7GvL=RT3|`TcJX4jGYU#hB%JAXW!LH9 zrL_kiE+x5NI{pRZrclAHVz6TM?6pZX{;n=J;e3AJw&>aB^rjUs_{XYaN0~i$TV)Fc z<`rR&6pTTGcLRhSi>{9in9tw9wr5y0=CeuNIWc18QnXaTo#YLT%}(&?d;{ybg@xBY z*sj7g*tobll$X&>IN}eRqWqm|YP1@CUt3$71`4x3)t75n zmOao{buBCa31?yD=2ljdJh-!NMKI0{d_QHe(>W-PWS2V5Mbu+XCZ! zAXk%R-EICx6KF%AElfA}dicqwd}($_LNdvA>a*Qg#l`K0C*fHR`w!5nLJME6ZWf)R z$l27qE7$dbYsm&H@!h?sk;#YZrnHAoR>B*8nWpcHh%J*|Ssyu_rCGn!D2w-eg8<*g ziEO0S;C!vVkeSkwo55$N)YUF&ar4{#<3Z#Wfk^iD+AaGHtu zOm*U-8waYAYDzTU`&TNS;WGX5J$8 zX3<#CxGMmYtnoo(i;iW$r>Ly(D5oTvny)>Tq=kvc#8ssxPI-EU$BZ=g%toE1p_Z11 z>iC&{UrhTuA`e)FPmYT@e0nQ;w6k|lBtuiCYHjA*N=>JvTJ5tBLKkTAvE<@R-Be`% zVV2oyi6FO41s41=^FC)47`$6Tak4DvT(Wp^%hI3X z4hd)ZvX6WBH7VW+*nTd^=K0CO^3qV?4Gu@K)czx(C=Ji5-E_BsuZ!YA>Npyf7z$v55HmeoVSm%&U-ok^{DSib7c5TxtxZrN z0BdbIB(x+UAwdg*0tY9wulz#TtDgh*-6x<|TUo5x=}|UhBu@JMCZR2~cJX{4W^ny) zeE~iWBAh0b*o}ZATq!}ol721%Q_W*ssR4co`MwyJ<#ggVAW_KSJtL>~`}3JHgil@k zrVtO!Upg&mbAp=P0p)==x1>be*5Uzzcw78AYy1egZNF?`rUU7sr-wl?5j|V~=%065 zqn!GvzufQGS9cUZWhI1#sZxAM0gQ-P|hjorH%u4NEhl0kqCH@zlKy;LZiSDB)stF#mkp%T|FGb}bnfzFioK zacXU13!0{0$*M$%f8trs9-im<`|pGt#ivo$kh+R*mPHptErd8wSH?MAKFxs=4$98T zBIw}|RTcnO%>cBDys5Xf7S#kDLsDy3O*1Ugpe`9ZxU6CqAo{_LOItPB zWvtKfdRQu38$EU2^{5(p>SFr{d&mtJI&(P1f1~(t{dQmKwQa;-Z>M_W7et8B2nG6{ z7>`=6K!nN2rr_4D2% zU%dX+kSoSfQ1glD-sqcTm0u0)zed}Km_imgqkPvrzTx8wVH_`g6mm$SFR1K`x1Ev} zK%!P#u=v@+6 zzFc39y9(E=QfLPLFk!}T8bmEoP;^B7vgfzTG)Lj(LI5v323dEJ>Q6&pUTtS8(&~Q`Ew& zG5~&(p8>jtsT5oH?1Qfl=-C&A-_3l2?)1wRbT(OFdLV-&Q$~nmUlkUKtE7}StIAFD z3u6IOX|;{peY~n+&bGypSiP1Fbz&l$UgajZVpjkyX*lP|@R!r(1OY2H8Zn|l_zP%F z?Kh^icTRB?UAi|`(e2)!OvZS*D{Us_dAug1qxjZYOjm)Z`EKMdJfOh zpX&~OQHWs|gqkKga3Av!qk&)egX9g6p}3leGL|a;(_Kivg~9yU70rczw1xj;T?YRd z!HrhM?W_g^N4pbM%zaP&=oQvcwevhR@u@_}&u zGtd9_b75rtx3hrsmk8(~s<>m*tA0F`M3(xN;1rG6R$nM13e<-=R6F`q(?1paDe^h> zpKt#+q4dAhJOBQHJhmPb`SWm){ia33;E8z>%0fnX1pNVb6Vaw((~o{L4`dY$!&2g@ z4_37QTuN~{kR7#Nc=F-j!uvmq<5N;J5ZjcH3Qgb)s6=bd8LmtW$m%{E&W20H0#y%~ zfdErI06W>7Gq{0DzYC*=0Tf0;<%l2u3Dx_*EW}w!&_Jq!C^yw1L2t-FRexDo!`KES zrD~(%R-ge*0CU zJ@P%LS@^z3!`20(x4HFOm|x$8>b=PBqhXVm}GYfNcV%rP@J8hJ_(ssP*>kyZkfITCio1J;5(3LL$4+X ze*QMiwjdg)3ke~%*L&JzPxAIN@Dr<`%}3~Z2LhKbmm2~Hy;&HFB8XS6Sd>HV!mMzT zH56u>GEs;^;-f;@eJr?SQEu5u^$Pi+FzCVG5p`*!CJF`m0;*)R#n4yg(tgpkAFOuTPgPEMGf8uH7q&(4-`Kdp$M5EBD8jE)N^L_pK#^b;tO)F?kuLCudCUprA?@v!GS{8yA7~?+#zC9 zsBb?v<13iTeJ_HzlUq=|hZdn-e7k}b>>`A9*#$NYS`&8yeyR$ojOp?St{s_C=$WpQ z%8hMn`8gIGCaM0g{k&MP88_wIkhz)U(}Vk?hbUyJ^fd8&{InFi3-u}v+ecjat5vK~ za?qgRNMW7>T-}%P+)Y;R4rTC(@N1h%Zwi74TqXExedFn&LFtooBpH%;2N|5_liiDx z*OiVXUlfqPqU?E|-AkUmX!6E3-gxlL<0#?WH0O^JPLpihrG)a2T2qhq*b@#N``A^A zH1*`u4UPrR!Mzj%maXmZ@G%w{imYt0T^9c^ zuABVA^+^{#J&H? z7My+uGK-N@MilDIvW5lfe;!%?)}d&QKJbFc15PR8zQfhq$bF(jDUR@Y|Q3}%~hv3HVjVA*{vilpR@Rd)Nvn2&S##`&q9lie^U-ww6Ia8J+63DMwK ziiYnp+kT2+XNaC;=$$p7D>LhiQI1*}e%)qC{VwjM(CZH>Biz>oF*RBgJotZkw~rPH z5Q75&s~-CNoreL@Jca{1^Qu``cP%XsNciG!#Sio`F1vm-w8|nUY_TPazw(PN;dl(I zYPTlx!Gmscr{by`Vc#!w%sDvEfAkx#7iB)FPcS#P7PUurrG3}IH@ePeBla+7$Vs=? zE&QbRS+`c)mU!kOxWl>W3A-VibddQFS@&I^Kz7x<8E@vwaSOTM=f zF6{cVUMDvEZ79C+_=L(?8V(PA9hm3SU$E^s1|vGr?T}qj7-ffs0(0L3Z4Q&!ac@@9 zY?(>fa(Hua9uqb{Ye+2eu;y9K!6pyN#Hlb~h`hIJl%+{7B-XrlPdTsN#wAO~^|Ha= zZVYQOgSXZ%fU|y`T_ye;@S%hCD!N)_v8t-7JmtL1Z=^`nGEZ)PU=um@v%)Oxj{U2P z)D;)#MjpWekkYT?*}kVsF)@>Xv{H;x^0F(u);(vdslQ#}0JdV-hl*_0>>z>M0*_kt&>M^G#~{4&~_#>64y zWQ5(lH=2=1PLQ#%?pIKsyU(LI3ct>16@G_R~^Xlx6q#{jMHd&**$YH7NHS zTBhf$racA_3(N(gqr)LIm>%=y=@q_2HufAP`zb4>~8!Q|g@<0`T5s5N1G+Z&4 z*?(x+L3sQjE;)H!Bov&M40g6-wWNew<&B_L*`=3dH!{9%khw7 zg6_Ts#)EBOL@5GMs_}|<4ytl<&|cqk2+3MXCGG4MPS3jp=N7@wJpDH*0yX@W^T6=p z*qIDvQp@?pA4_efBbxz+#f~6K(;!@C{e|4?hY?^j-6JejHp9sRFhR{X#_b zgd_A6GFSyQ+2|gLalV9RfXo?vT@5`Au^AXKcTdhp=R_*v3mbTE_9NW0(rv14w3&y0y(um5NNNhN6eZ!@9!X3+E!*U5 zjF>7nue}cmUN%4MogF%L9R5wXcQkthQO_W81@N8EBu4XLo%ouGQzt9&V-QT;0PS~1 zg!>8ig&FqSLdF>r@ibuD6o8=6Zewq{FN%M;6r<)h{7o!pnhL&SP(>pT#<{LCR+ZmDpCV zSe+i|d()+n5HH96;pbO0^SDh!QvCH;$0fsXt542}(h!lnxn)Nr=4xI{X2Opt9`_sj z?5}A`^VRiu-74QT&DUwAQR7bKcaZ!Ss1v%HdRjD?NGKo% zHE{6+JhsfN5**(=IsYg@;a(HbD})&ippYtEy|J#!rlM9xkouL1Z!9GVH|w`8wTo6;oM!PK;S#U zl(ONsA1lGY9LjrnQf2)j)Swz&CLWT%mL3@8fH&U`vvO8f5dg64s>a04BFMJ#l$_Tu z;Orq3fn26Jyrz8Uv{nX>OiL_e7q4?w(gkKo_Fd_OS!q0_2YC+4!!OL!QWi(#00zl^)HiX@u&jT9ITI{4zg zGy^N4J%#pKZDP4j3T^6al?x|XaD+ItfXjgO;i9p1@Rpd zxYHIfM-cL&QppU~f}X_u@n$d{M*+gUNP7~GVhx&N*K!`yUUAycB18xP>^DBRhxSE% zWBG{Duvu18)j#}nJ3K&9w^9|xF03n;(1Fp!4+Ge!aT4PcS(f{c5Xs z>y4`z4F~>8#8@Asza}+KhkNE-QeT@X{P#&7I3bwC<@+zbU9d3G@OeS*B=*-2CgPD8 z&hI7JQd-a)&=09XM!_fYKG`QQ3I*Akr<5C2+28|>@J-dI-8~rjHo6G zX9Bz2VZnpML%vUDKfU^OvWQg9n0beKQ{&55 zNj~q1DyvtY_;jw3GQBzPa3rRTbiWrA(R+xlLzEhfS=EprD-x7o1XxdMruZJ(2x&P0 z5a@3YkuQZv1U7%89dsrSAQKT0;=b--231)!bT3>izkqnQV}~ei5znodFR<3)Aw_b; z;(##H0mP9k7zb@{Oe5M|u=;sjgMe0ugckVq?PsdyO+qy- z_z(QPPvalJM{NlUTEtl`zdr~T+uu0k48b1xw~4=$?>#?+L;zc=7{8yhO#TMzWR6D+ z|A(*dj;H!>|1YAfRI-bTNMy?>l*%62^BCD=A0i=2l9f$XcJ|0T_FiR=Y?7>u?Cp2G ztIvJkpU?NcfB!T*oO9mib>8Rox~}WF?mctA0X&SHW}wCy%ylPU7cxOWII{q#?Uej5 z0OF^fSM&`kU&t;)3S1BUyT&y?Jr8Q|H{4f+z@)_NK6z!a#jr}>B*bsM&qwesgZ@nQ zH#lPrxSwHHZ3Xa(jjk@34udxHGW}n(9r$^IBvJwh9W$N*KKicd%tt?ViYx34D~h0yyB)Xr^jR1yYAEis8=Y_r&Z|xsG9lF8 zZgA1MT?RWIQV07o8yq89I2^t~$J{Jnh_0wo(|t8KxB41)r_Q^p5N0GhfWUr(;56lw zX6T0K*aMbIrcN6^tUaZHgt_ukQ`8yMidP_JkdgP;q5)A2DS40HCv*uSo8WMWV zd8KaJ)T-_p2SqN7xD->`5mW9~$8HJ6v^45PH2aHAp~Hh^w;6BR?++ou6G=;NjqY>t zq9nW)A-jG1V7q-56{;gq}fk??yr=$8`t5?LRzZHv8xO4F=D^Cy5SSR_`U-)Q~h zVS^Kl_>y;nti~{*rXDfQLBKXoJnXZ>90|nBLwmplJ7M#J%a?QXDybi9&Fk#y23tHA zpuTKE+8T?s{g>r__vu@31ApOmr+%_DlE$6MZ-A}pbx;XFiYm`TGDfO?iSblwz`hs0 zO>lMHsmRhQ?S8GCiInjL>iphyn37!}8W=(Jw_*KtGODni<+e|sdVzwG86HU0pqFj~ zR1Y~bHC|Prh5I?5@om)XE>PzICUQ8{5=_e!C-X7kGd`6GBg0mLi5CNvI5jg-u(Nf&`?fuKz57)Eee4-t z5~6~;j8rCTFdib(>XGKL&c3M!^ozArz)Pg;$$>ne3aksk=XfA_)d~l0tedZS!O}Sb zq7k3TvF?|l$n0-L`lYk*=v6YRlBOmuA3WwB=rktOskinp1hEU!z!!F(Q6f>9-D3wa zCvI#Nn*4TKlL+3~*fjX>HU1CaVepr#;HIEamk4EMq zl7+L(>w*kExVs86YLP|E-cE}h zqT*H2LA5jWQIv5fGmu>jV{L`ZL&9>P)Tso?WX}LFk>Yq- z8;v8mgv`$eFMp4++Ef>P)4{3otp6HK91m%<75J8=%fws66K@{5YEDG)Zy1ipFIqKh z7%%q+xZKlz$~7)ewj*c$GVtpo8Pu%Y;|lUN<4CD_s|$9zyiiRYIk4yXvK{f$Z1IZg z`}r%F=H?hi?DR}M)Aw^-MI=v$_JNg`+}bjKGE#FIyzZ`d8qv<&dc%Y&Ad10p8UqtQ zryyJl}&{%4?y8SlG(>(K3RE$)yWk_`j98$N0#;cR*9uECIfFZiod4QEU* zKLvAE;G^q)h9`D=)EdLh+73zeD%BbjhK@jZww1bDb+jj3*v^UR#e{1=ZHc38C%Q&5 zRJPG^+N{h_dzZCj0_*4yqeC;h=WEXvy>-Ysxc7oU8f6l5iX}E-F`6#Ro--Vf(#ec| z=uE61{Y)(5(|bT9h%r%xc%8sgD-_aMYoYeom-u)iv=gP>4%N(I#p~XXqPz$csO|-j?vIH#U5lWv?*P)qO{(Us&tJ zLEhnxC<_`iA{=}BJ5W6Ar(cI2FB9UbL6`^NF%`76go(G_|!s4wHX^CHbS&SI)i z!BbScJgcn6K7WdZU7%OHlks_%2m<~b9cG9H&}7k$Zo!y1t>m-BC%V#t=K=G!v7a!=&KW1`^nml=p-qv{bLj6D9 zKzJfU{|A23r+i?oK{*!bnRXgmhQvJVR0HdZptk#kHMb5cbj{n^f{^}GN^T0~N-^(5 z&MGoKO0PqfB;>iHTzmzzb;#UQLQ1NQ%U(}+pIy)E(+GabUEN$ojFGmMMhkse%|qhfC3N15_;Gv1l`X;$`Yj^GbG1r!&MioW z0FMh@%8hy@Z%{N2ywm7zA3h{BLJtlHZ2;Rfzn^95f03KTO|bg8gMXPlK&_EAHrxl+ z+%NsTJQ>|h&OXOuhic5d#q){Bv`$dNY^`(Q3JoJmjVKz2N^sJbmEtD5LuT5gweqdj zcVvow&G{+bp90ut$JvwLzu3~ybAq@?LqJyN1(h5JsK|W3<)=iPH^-RWcp((gWk2P| zi!W+2>7uTtdo%tAg(vB@e|Gh@47|~&4tXifAy7M~-8?}QAxm-5SZ3w}#ULFfnhM2d zRacUq5+4G=yLUx?a1Jfc)?xr&lk(Gg>1`y##$p_8^J)Txa#S6JK8K~hpi49{Fp$xY z^&wQE|7$8pKS7B#EAILuuL)n;a5fSv{}TNK2bQ-bT75ZLS#iXEuKU5oEp|tIb2Oq1 zHp9QSP@&O!zvjbL3SD-BtS1jl`*dMqTK{w_+!qK~GL$A2bc%kjYkLDBvgoYu_x!OK z2GER?MW6#ywqBU9CoaG^?#zOVmB-u>D`xhJp{3r-kPZLr4-}}*hGv!sDP(s4Y6M9> z^vyv$tXM0zzlsFRVln!D5_#5tt2jg*#9qQYBFvq$@AzyI-VpQ%KEl7pf>;S56Qf5J zsVo5;X*bRG6S|U*drSO(%D6{T#}q9lD^L-eNIIeh-PK2$BI$w8pPZt{bm0U=v=h^% zu#f7>%KB67yx7v29F?KiLB{?MDx~m1%q1;xDwyHu7G|Ygc&|c>?@2jGOaa~?D{2r`jL>oPIzP7M8HjXciiQy|YCv3+DfzyT_K+g5wM+{+1M?9B#oZ3Ut!SzW zvz+?Z8BvxP2|uF-0pBxqrv?yDJP4ceXbdo=K!~V3_Lo=doyXV>r@*52MB}4GQ9lIz zXhqjL)E~2Sr^D#JL6BARd694KOxN@nzV7?s*uRn2fZMyG`cvH_xsBIp)OxS=YSz6G z5-{h6?ouT5xzgSo|1}-=H&}W{`qYKnjt?t}2`;uFX{pxN>mqbh#j(zvGDKe#bkGXR zkt|NhVrC+mS5XLDY~iPmDq0GB$J3o8+Q&VZYZ&mOz4R>ot6}2=#)s^jlD_>Bx|HV%v@UPvQT2=yb{K#P{}?jIrT{G{VGJA(U6ox{HgF zi^SaC6gBNh@Gq!X5*#$~`-;zv>9=YP3J^Qsp${yi&QEfg*_s~qE|v@y?YoyEbv_X~ zmyx$`5dxk;VP5C|+;HALJ+VR)B}VI_RJrq=dSi@L)-d9!#q+Z#8PBxL&bv;j_n&uu z@a?-fwN%_)t|Z%JPFvGG+{3eA7~o+yJyee{COPK4lmBZ<$Zx=HoA$W0A=J@#5G5v} zgH?crJO8qK2m`#rJMQmRwlj2!$x<^Z3R#krJ4>lVPQKZ4M<2D?Efsn?R-zdS4Rqty z4&3bShtuLzIfB_IE3pc`&;RF+I1^h94ldK+RT+v{Hod?5;#-)eC0-SFanPM}BrDXY z8*SgcZB>o3xr@iTcxKj?=22S0pT}8*-E7Kkb8bhGhz>0F-@<4|-w;$a@rX^;a&WfHX`sg(UXb zJ^k{Q(WyP%-37pr`&wN(D&waHkNw5KEB^otyoI{^h~3cqSa(u87oaMj*&ni@55`U5 ztu4J@yy&3}R#_*uhy)1KO0#SrkgVnNXP!6MTN4Nc-=8iLfh<1EKP+yq!M8ZEl?cBU zX@=PJ#H8BuycI@wlG#s*8xmdc;%h2xKysx#*2>awv!fh~`qZOM-s@m>45fW=cV^ML zWxoKCt?i|bLhM~%fJvp4qm9}d3#IBZ-00V|Vyat!(PB7acz=dDZAaghy ztc@=7nDusMuPODj14|r;a@O6nKkWT*2*@S+HwSI?C=$)5homES>I5kHOM*wNw-}v# zS$XUyHTA~2lFiWVHM94X$5P6VFW zFJoe+xL-6EuQ}6MeXlC}@}x2mI(CS$V}g4v+y0zbI>a>e+$2B`ld9F^_VCcda!425 z4JmebarD5Cq*32mz-b_14QmD$-96u5YU;w*_1ydQ9!|lHm<9r>9ZP4WJQ5Cn-Ex_! zJB(MCxTJ?dNr=!|k!aZ|jJGT)N*~AO;l1&fA~ShW8}6qaBF-^foB$*&eGQ0_F=p?j zF^!V>Ce;^e1K?iDwM}q0zEW^+bQfY6>XU*6Re-=bPsJ=d11P7L;ci))Ihk59}4(*#3@&vC*!G_Kov zb6{p&gy-qZJi=Q>2{V9wk{1$Q8So%@IWpco`QQh21+=7EG7EGMu|-uk{g;#P2_>2r z3nrM`KH)EPC2jtYymsW9y_YGkg`I@}0f!eGXElmzsJb==wx**3tU?+5uK3NihPVb; z-w*%%E^dj$aV5`qI(cSK^8oF(Iq=1$9dm?^F>xux@ntQ;7B8kF>ho}s?$H;9Owt}j z>=RemGS`|DH6On*m=;uFn8E2y3|=GU`9XJSKb1+d-|O(_eHBk*!?>y!g^!9*E|t)Z z)%eHnFGvr2n?8*t*%-d8?&L!{BtRDIEY&jwHrMvDDhA1?n@?2*O;S9Ak!1*(c| z{A!Mn9i_+y8++pq30rC3?BdKc0$R7ERAE}z%g2jB1}dx9QK=W5xSsqs{LR zs5^=cd>hU@iwZr!P;}W3;t+is8*np0p*d7^FZH;bu;k7Kbu zyL)@x%pnLX&dViqI?K(tXZHG?SIi^yXFko^Ds~V!0YgFLMlRvME=Hd5PB8Plc;w~( z82aA9B8gzv^Pn2FhhZ<%)B;S{WhPA2(C1FcT?*+UbH1($7M z?wP_ufEyc)oYck@oY#MQA#srYb)|Rk&%Lh+^$2Z$`=2Dops+heMk%+~K5?yrR_24e zHWc_0Lu!<2^Jmp|_Y~9*#^-DoA52eC?d$1~n%`Fq<4N#IWSr7C%S0a=S|O(W%rJz| zIol2Y!HwD{eO|k#`c#A_k0zpaStYW-DLu;5P4P=@QX(l6Zg2 z9Vl&-heIY#NzM<_lq%KS7xOd%Lp9|aU1C9Ws8XFqH{KD+DCMTZ>atWJm}~-O*J<-c zxqm*{GqK0~vR0mzg#O1ufqFHt8n|bMK*C0>7!XVFWUKMY777M^Ne(Q<)X#4le8QWP zEhNQb-Ze~}JD8jzo$iS&wbdM`YPeG+PRM<2QW=Zid8-w(5oIv6KDat@@T4`3Xx^#t zLv{%0T$$A(nf@#=Jy0mMyp?r88uy0<`m4?^xvRUoK4*qTe2sc%vmuhKyHkBXU$ekxqE#|vQ#XXwjN4wMbox>P8a9%*|C;?J}~ zxpe;^fZM^xh_Z#%SE&E?YHy!6L%IDcM;MszZO@Nm_ijP|a_%p5%`xnbk}oSdh?MDT zHk~Zd!Oi=yZOGjbzB){*K1b3i*W!@e(drj6L0eLvAcVCsvfIu#a)mnTnYvrvWM;-W zpWXMbEG=HY{p*(>sO+9tSIkFUJ(&S+4b3nOHG~m<>k0;XJQ3VR0b=izYTW$m&*{J6 z=i~q5->>dJQm&pI0!}1nR=P@7x`j53Xcc5{EpjudNG~_I=5>An$H41yNE!3>PBNG+ zwO;#8X$(`86I71s1J-1+zC+z(=}B#B_0xf`GnDz>eJwt_5rmgGGkiIw6A=yeWKHp>Gq6vdKDBflkf6lR*VVbLW3z$L zBEUAE+xq!)==wUEA0V1Sgi&Cx4NN2~-lH0o35++B8~SLEa=D@T(CQ`1V|DTwuoxfzU!PMk``11Kd{B!*Pggb%yI&A^ox9(8g{eGgCCo&oi@2- zInp%8g3Pq#r@Jjw5hmq{b^?seCER+fN{kISTd*vRf}-=iMf{DY64)IMC6@Dz?l(Qx zyd{9Z;zAgkj3zUg*!Q=40cn;erz#axv77j^i?w?{=u}ls45}F4y-;#gvvDV!6v!p} zAHW)%b!n>ngS!y+y74T_YwWEhkgE?Ec~)Lq&zUuw5b!Z($}xpF6p@VwbB%$4ftP2^ zs|6!1%dTfOg3%~Y{q!m5%E97J>%9g+hWw?vOU#I)98`E1hnOj$^9L@oQ)r*iaGq+( zVz-8+j0U?vR_2_|lZpG7gCSsV8pUz#MZbu~TFZPCXICRM1N?t!LKX}oPZEyWC<$YC zlO*;yxl!;f#&j4Ms+k4R<**M|_nfle6%p(sIPRr!bGRy=i_2o{< z;sT>}D)vO)EQ`YrhQ&8jyYO=(&mzO8ZjXl?(&F8sZ|ND@YTr5R?c`sGr7#pl=%3H$ zKHdztdth#tpId8poUF$@tEDuCYIpJa`3!*Olo1rRbfuPH8tADZ5KFW}?6$v_o~`Z` zBVxMEMYwuZom;xYTUJf}-f~<|=O?INo%&O7_hw#1x8rBl+O#_;ACu}NjaMUO$9OD# z4*l1;iFfx{%tftQl1qvIXOk5-^hu#Txl##W*ZF%CnfW=V)&J8B^5_Xy<}-WPbDLHg~#`~>jC zFH!o&8@#@JJnFR1UlP0DS0>N+e2$PKe*vJ0FxZ-8K}Oj;1?7IB7{~z?xxaK^Vt9UQ=NmWqJXOk zPI6-Z`!b1N!$KU~s0Nk6x6}!M$RvPs@RVK2ehWYTA&zrDf936|M)@ltdF(O_gHz0e z)Jsx-n`O%4A(8feD-b;6hYZ)UD|gLO)oq0TTz)h17HKZ*|5X%y6{~K;^$Bkat7<%# zmbuf`UiF_fj`*cPJVII_E!fW)0IUmxf&j?>s31Xu#@{*$(7t1d4gfJU!~l47h%K#@ zE3gKT`2rKr`c^lA)jx;=+|bfhW+E1x&C-GlL`&!F^5v;R*_z%z#Z7QPDY+ zwYIbbg6X@t`2~nY0KoA>yiN2iLuD9&F+t+4O3XbvE-uACYP!uIfk3G?Ge>0VfX;r1 zm!HuMjfuGd%*UJQ0dPv;xuUaaWw{?R6fmLuKrw(n1lwm3E*c$XV)~NHI3f8gYpgES zWb4avL>%{ew-fAv?CgIv=%N0iy8Ho%M$SQ0la9U8pr`t0yxk{{(UMzam8J>Gqd8}|AzrT*$Qy7nGSruF`0xrqX8UU#*NP%NH31UM|*XcxvT;@i-_ zz};0{xscg*otIbDI>4|N)LM>0fKpnD7K8R{OE=}&93ZtvFw46={4d#nBO zmSjl3R^#0*rlVy%QAQ`+$88;7BhmDdRDf4TU>pviD7j&l&Mdon_mk?Q{`<8ivku>G zbya&d3e8R2K5Ob7iYrZw&YbP{3g!d(V_l>L8O%*&^+(%HbIdMT)&qqTNc*zV0`_a> zC#ZO8{7KQ;6C=9m?)q8-EV(?=0*z-t&mnGeV%1uT?k$(U`bcm@{+sgvw_3;PDbPaD zBKBFZd!ceX)4gc0m5!VJd3ME`>ol9$`!(uU?h?iyK*QEo?Q->NKZxt<1JkM4ORL+G z>iR-L!NzJF4Wc?K$D+EzOYpX6YIa7GK)HAqdy9b~rYEnHeR0qF9EdA*Z-3pXP7;zv zRyFpP{VjVNwv+l}-{LsVp5$3S#G~1YFIg6Ik$%T5!QN^Pm5kZT0c_&i@7p=tw|Zpf z>m+DXO=D6qxV}!Ku6U^jH7PEI*8)uAKBm2raAO~0ZTGe`%k7ACY2WDxuQ@E*iyr+! z?C&Z1p>hbM;-jTW&Oun*Kn|qYi(En|f|t%X>BTJgX`PVBU!`FVUh_bCG3-Uej(>Z~=vs#9?!&z=yER_}!bEe+7wvmHg)PC$_s0~&NUG^A z4jE#LUyb;^s;uD9Vzu}zeVaAc@c(F|rE}z4MzW1QMZ^>4fB~vD624aoRc#VfWUd|t zh7Qt^+62dj(6l}4y(_#kxjI2Re8kixg@H|_Wlg0m96lIZ1=^q8*L2Yj%pQ;YR`bHa zbmk(~=4W%XEmzxB<-*U`IC%bEz2C{i+XrVL&PVm9ex+`M#zL#>E{SEJbNA2Cg zf>SW`PH02IZ!i$3V~&(EKRf-rj94@z^BYMC9R40o;4TiGh7M~^JUz@`ahPK+|8Cdn1MZZ63RIhKRA`fsd0O#I_R&|N-zUPKKi_7a zKq}mvip_VvG=dre=-Kz8jwrj&JS|kLe}FmbJHWESHW~5!(~n8x)wgMRds?z^U-`Ky zLU|=LaQJVV^z#$ZBnS%_0h|!yQMjWNU#Y@29An%p`1?15UV+RbDNPdhH}Ex~jP;XU zZ=@f6>qyt0lK8Xk^n}3Q&bLeM+vgl1b}?kq9`wnEj`qND1)AHLaS{37Y|TrSaDF!s z33~p1eg)4vnM72@>m#kaxfkn2=pF`)|Kk$Rg;xV`V}RsEI{tjLL6cK;bg*m-N`89F zJ1qRaKFsHIK=-?#HzoULsoslS3TyP!)bI|=(f)j&F;w$$f}+6pze9IvcPF4;2?jgK zRs`b%4bDcCHt@T|iH`XOA?v3A!oTeER>uhAeywIT3M-FYWTe}gPKS53H?78TZa&2C zpX8cA+EsL*}9 zU@}H$_xo#^gD9?USAVyORy~k(=uVPn(|gxjOoYroGCrOc#ok$%jWGGL6Zu0w zoUXTUu$@adpw{GNE7v=!oi+T8CwgB`g&H4j^ft@Uua6s$zLPn;VGtT8K3mmtojYn@ zv-!GkV5eKKvdPVz;}G`L@f0{Mr^z=2aC9m-dfZp~b|?5HK3oym?E4Y(J0L=;`@4H12S| zN_pZ>CyzSan10hHKwTXLe3dIYd;B$mOrg;rrOxZy?s&w zKahu~twO%f1Lo7*zR>8jrKQHEUqnRjw8E@Fz2tbK4+dfiwYDF?i8QkTp9(~hp-|$O zeFV-CfMQ8tQa@xffd#B%fkeLd$Y3Ahf`Z7HO~B_yo1L*>>E~I3Uk3irvKLMvntLQ= z3g$97V2lGs^>n{1Z>E(IS)l}2rNHk%jsVi1BE2kQuk-Jo z@Nir2$IE({ej%pZ)b6a_0S{P#Asf&lJUc}cGY$MPNxE|x)%llCn@mvPk%_sYOeWsx zQ=QCqm*v4~i>kW4Ij-yJd@foJJyq?}2+hx9C0eK-1h2F&3)o!9J#;>MBmo57iCj7L6L})*PE%XScbZbJwr26 zw!i|1F}Nz4Lggqk`OIT2z_QE(&TPl9ZuRnX_Zi(0=D9}5+@+~;xd)2|Trljd9Y@!G zbub(NN1Q3?uXn~z#x5eZM@tztF8vm&oz-^MK=8DGn6`#VYXl&ucda}dH(Smz3{fiL z##-1^CA9&qZMOKHTR1E8Nbq~%I(nF%%<9x0WUzur6Gm-)XD@tkU%>msx{tUNAIfX1 zYT0<2Wps7E?wyU->kfFsmpc*pAe?k4RDzaqY0$=vSVdrK=URX&Pj&Os)HApJs_EJI z(e5-En>2Nql(@67MiEYAb(q=h)1Ln6mEajGU_A)#>hUVbnQ& z0z%e@^<1a33o!>ZvrW|pv6jN=syv-JFAuRsg=Dq3x=!kL2T(~Or5S#Gg7eq=8qfQ( zxRU}xab-VY7>!eH9%6sH!uG)q#PfJe&5|ALjLd6m*#rJ}Bd|@DQwE5G`C!>79+7&r z6!Q0$(uXkVx8l#)9Ee3e1apXMeh&>rVu4kp9gh~ts}-sVduVe)$~?!%=z>G+jxe;` z2iCRt8*BXF9BJfp-U`n}O3&EotM))sAHG^3y!zQe9?`$jNNp7Y9PY%|8a|*u4Y+GI zJ3jLwbksQ4Wmv_@t+r`Zd}~$1eoiH!PqVePfdAyTJg=uES8JZ37;+hna|oU0WSsKH z4;13d$AotU_}dqYGN@1UtZqJlMjd^Z^Iw|%J0@%NLytQrHNGV0I-PfLE8FjCZEEj0 zL^JE$a&!F$gNUBd9gt`k`vT2648Cs?u%+N6ma}6;Nq%Um3n@(ME~h*X?(@ap23)}%mP=u+kj`Z?;n{sphQ62)vf6fxtz-GAT2 zo(dH|Xie~^zIu7}3_(vqE|u)o6O7I!_MC5L)lzDo1&H4E?3$_kTV(_I1>N(lAK-F4 zdSutmKeH{914ERC>`O|v_jN&b6jU*Fvh-5B=s*f8tSea*-8E~g6i73OCpxfWp(*i^ z0jT~8S8?9lP0ToUF8hyC^td3FB{i+*=kb<9*-gA8(&Yo}wsYGRxzqTceEwNsDEQm~ zICgyH9f$raKqN=4o}wU5G7X3BZo&p2&e49eyB2e@lsvB9Z;F&ZzUwa2v=a-os(sB$ zh4TO6WXec|(oXlAFpTdajV2iQ^J(9?k7fCe(ev{#+O22Z-TG^xRYB{S2;!>0&E}Eu zJRg?hVV>Ai7vPQC0`OWj=gD*$_}e6wPb_`Ty4O;no(SDkblr3DDlk)#a$$`b88#G=2^0WVScK?O0>6q(G4476`;@G8s#?MGF`-EocW@$%?mX6}7Zr5U0H?|Tnn)J*6T@=b1B0S zgfTi|EWdH8=O<5<7(TyGrxSczx_jtLMR@?KQ8!Mu^&$&x_Ww!YP(+}%m4J1RpM8*1 z{Yx7PoW=Py_%gA74w@r6we826N{7h?K3$BXvFdX6=g^&G-|XzOzO0prZSVWbqe4W( zpDZ-8Qu?t*oe=(00$w_CoR=`zAe{$;lqxNn- zvAHzLj0jVXkofZJDw!V$L4CY!3g*|}d?Q4nj-{}EV*S+X$&SH9C#Nu%4}-sWCg9|= zKN)?qwZpnR?Z1rOs$KWoyoK2nax8WjjO=ti(OA9~2+T5-XiTTG@)X-yh||OeT=MrP zHgO`sLi;|Qa1SifLQ0=ZcwG9NYs%c(0{_7+ZH#PN+g}5}f7x1iReRtN>^G82=SD|I z-=?e7bq!@v=d{6ERg;hz>+;;P93&X4^W3tH$udPhcq%vG{RF)TY>x+tZAQ_rh*p7Z%3w;LZ82>sx;Y843j^@>%PhcgDbx!d?dZh{=65!sN$L zp%k3kDHkE3S>O|rE1gf(@P-tz9yIAI1*e0{*R;z^iV$0ftBCg!AS5Wn@3|1l1Sa`} zml+$!iAL5#0jtPB0VnT7;`M$5JE;v!g5d`5P8QF?_ilfplUg2HM4` z91a~Wd>|g>yJC9cyM-N0=5;z19hy%bLS^9I8+m!4v)^kOb3P;JD)#;t3zjs zwKlgNDKpW?i>b(m#y00p#?JhFY@Fb3F3_HcS#0&8;+y#@)c%>TJY8>y9DD_(UppTg z72pM$Jl-zVhqF840i?_$M`fc;-X@9hc@B#jhR^g0$bEAVHxaOg>=Vxc>qjXdM=H6A z8ep!ZSn#SG)O0-}eREe=XVLpCO1Kq=YI)Wp&5$kYU0+BZoBb|iZ%F5q?YYtE>y%52 z%BiIXZD2N73QyBvu27+1RyZ@h7~Hh&&q{40;`(U5*1kzie2THa({Z zDj@>lKSQcFQ7WUcL$pZEKZcNi^KWXOm{=;P~JWmG!voGi1P z;ihTV#k}kF0vQEsa62!f&3P5m%iN0hZ4kQh1h>=F`%SSaU2vz`_UC&aSS2LV@Z6;u ze@g|kF-d>gq*}UX(fYxK5=JgPqu^IPKm$WexVN zpW%*)7sq_^#G$Tv4)7F@a$I=ap3IHcgMMQZ8V`l3YZd* z6#0Pi)~EMzRX0XWW$tbJRhQRdahd-dK;1|*FW2zuLVXc(P!mdAaNAq&b`l%NtmrP5 z3wXbq!fZ1#OT(4o#N}dwrQhgEzc^GBVkC1VU{>VfWaa3$*yApQj@dnn)V?r{>+{%{ ze0gP>-rocrm9UQ)E_zLT4IYef6pG660!TO2ZSe%}OiaEgkp$7K+1N)dBWhV^2{ zSffMoxNLbdzG3YnTb)N#CwV>%om#lZ)AG9NOZJ!SD>u(EyN7qEIyS!eiBq=#p>it1 z+hQ1yawviY6g|RtK60*jy5ZZ=GZ8F3$GO1p7+QT(bz)0m|QtU!e#p9J2_!)HSK8Nq-6+im=mj3fp~uJ zYgU=Wws)`2v_%A90W%zx@!gFImDqG-H7{a*J{+VRy`GGl1f;_$@Fsz*U#k?xUL+bo za{~Zw#X({a4#-IDKrFpyke!PQw8%=OU}-XsAv@t=V}1R$N#`Z|$K_xT)~G%KYc^ES z4Rp3>{wJ^Tp|X*$X_o#Ccm;XiDfoOQbtiHuHCUUGXr5C6BR-5h{K8UW6z%SG(v|JU zp}W(ZYk*gZ)uXd}LZQPT$UwD<6Imcy|HG1=Sv8H*5_N#^J82ILPL)k2gf~ zSd56<5i|JkAQ&Tqtl;l5M2^I|u7v$_kKa1RNmP>DvnR`2yRp6j5EhN+WD2T1+ zAHC4qJLPy2G0sIlN%_tZE~KmGWP|cnCpFsk4M-~!s{`hG%`BVBfJ@;1^W5W|p4m71 z{@KpEZsw61jG{7rJF`#J`4&~$X5YQ`=)e{uSPR|tz+(|yomQ-f zH{kTTVOvMU`$7JNV-@Qd@fOTS#9!bNoiI8t8tDSEOpjGu>U0H2$_<7JOz-kf#MrV`tOq><4vojn&J-DHgj~jLHKs*+1fwa1<-W!;p{4*@ zHpIW<`f#TD$6g1DGP&D7U!oz2La79&zv|#LQaNQDqae-#_s#fLUHRX)<5#I_qTo7i zIo|GtZNDxZXKE=;j<;>a&fkuP*pUx8^N}xN^CYfEw2# zAACJFu=R1q5mqUTcyK=D=)R)pFBN?7wbqkh8i7j@VMV*p-VZF&T$7*YT8dIwACF%t z@AAB;XIA)Fb`rs3D>q#r5O=WfK4K;`pbnAy)Zhgtw5y>SMsdkMwWrVQt_)Y+T zsFY6uN(^&5SkQTMvShNt{#p}=3_^}?f{zkPqZr~&aAfzkmQ|(CvbAQGl^-lsP4C~l zk&GvXp1b1XBtV7Y5R<+8`zytE&brN-y=8#@28F03t*LY7YVN`ahyWfI0(-M%tY_H zvEw(7y(-wYboF__(B7N`ZEUflPa9Wtdv&AfCIBX@wtz>!zA&4?#CbmN8m zuTN|@wm6pEV<|6%<5QJv)~TQ7KG02sEN{Z*v+l=g;3=;_k#@okPm$u$Twg{wIK>JE zbZr12pZ>&Xa9EFU@Kpzl?vfGz1fx$BFuL*KOw~Q%0!+K>RRFxU;*e`yf?23?W1t4* zfNu&;H$7*yfr(W#|Wt9kt)#RsBUCYtxN|?QDm-?;h{tucG6tP4 z{y!~#`dRRm>(GB$bF8kc4w%$x6DJkB^fVf(JND;vTfg8^_;L>KUx(I%D(l7ByB)XJ zd}-I>6v;(zV)k#9t|YTVZQHd0H{`WCf(HafXcw>*>;^jtWn154b+51Oe<2vF*aYHq zn?>QLE_yY9R%h2ZOkn;0zqYIH-vtEz*|C^JQHv&?v>U;`@j?rhX8L-gX{M@G5G zx8U~zMsz$uL~c=##Vc*nz<9$id)qqo`tOAjJ5^%pF#A0#>U1-@TU3%{dC{Ry?7Ej_ zxr1wskUh7@;*0@`r7$`qVDCS9d%x(4S4d#wEq?qSAzdtJDVW1i4v}sKB##PGS#KXj zH!G53S`2(P{8@X_2;^xfZc~`zylA573U!+o@qJ!WlPHq6=cTav7I!I+abh+pD-sE8 zzTkEsb{(R(^-%1I1k0nfXcx6wh;0XdW-UO=5Yu%^Fawed(21};N0-m8AZ6^{)t4$q zi#UZz`fq7hKsru(IfacE&MT6!sX~L6b4aGT2KhX>FJt);gaBw<#}jp&9Mwn62&lZn z;;@V2Y+IRDYYEtz54Og0Hfy*&*(=b#tmPzxbJFDHi3FmmiZI(akNVUNCpV=T{_k?n z(eJsY(JP5cj455Ron2X!)3C*rpjR=c;}}e_x0rua?yS9O9QX9TO11mxFRsZS%Fy!@ z=K_zV2-NpFQly=KoF|4Zv^sl~Mo?8S*0s@z{REfUsM($(5DnHRZQve4k0{xYvvR3o zOPlA$1Y&joj#Kk7D(sjaXHjxOJ4sYsp7N+ok0;4UgqV!#>$58CUP#0z50)ih0<8re z^4s7MFjV&PpuVhAR~C{qr00;>OuvNMW>)E}2;jRRJ`T}N-y_XJQ~*({{k{d#l@>_m zV?xgDryW#d892d&Zd*SF6<6&{zz!am;c^-UCYKSN8m9mUhES2Vwz~FO30SgfE^dJk zb*4)+Qtz$a0T8-0t1o;G<{PIydb;dJhdJ!NHcoapM~a2e+v~0>&=C?I+lxqPI!u8- zQ$=-ecpkP35WCe9(Tf3P?F)^F%M5>4W=#Fsh$U^0yS-@+*NyO)u`yxxj{R}_?h{Kd z*0=L`u!<+0bN8`&P7YhnoGrOw9rthtcPU)BqT;y@KaQbt=dN{Q%vgDbRUD*z$!}%6<@)Wo>a3P(d=6a> ze$`vvQB?SL^*WivANNd)GG5C_Uezs=+;{NY+fR7lGp}3{`o=zX+g>}ud@-TH=c;ql z1^%PxZ7P&zH^_R8M9HZz7N2x6HCadFW2H?RDt%9$eJ1&S5PO%>=)?AeJdSj0omrvG zyX_B3J{HFty3=`7-lQCM12vH>CUMd$VyJ7ZU7{wIR20n58C14AA5TVqi-m3@?+9laUY z>$`z=`OX!G$MP(h471XbFaX=K){O{xWBJ#q`Rm+d7BX{S_K`t0=6LQ$pcqYBWy3}_ zHnGyU*c2XXH{!8xiJ42uv-05CnX(Vz9kISw0#eJSUN!b9XY*%1e&^S!J;;3QSUhSz zLtUvO_}PdY<0$!~{nqk@H3|3SwD zWiv&FiAahbSt~JKk`ST>zrh$%AXIcca7f3(J(&Wr)~AVZNnR-b2;$p*eT8GDv5V|Q zz;#yje0m?|)4NsM4Q%OK@4x$>40zlQ9MxI&FFPxa<`Ne^8h4xqwp#nwH^k(S+S&7f z0us;DgdCi%=vp6}suHj*vZK-a9#df)>twX)2ykVoz$F=bLfK0Y$wBUzYI9ok!h2q@ zt`ro70!r>Yp)6**nW^eRHpFOZ#eDb~$5*PgLH**uHd>Nnn~k&aEuSqL1`JNsEZjb2 zX=`ZyReO#zil<){`f+5kd>7{|c{DsxAH>&7vyjo=^pgMkijHX-M}W(j zlY1lQRr7>wte<_i$7dqk5G$%bj=M~{%tQ0#+{qbEeu~<8Qm^%1M!jm~mh!LBFMZrc z_#B@I*bw5s2#{E#b*T^RVRY1`ZFMrSyb$bJ!z@3MPJdeH{imNdn_dxcXxGVmUdgs%W2&7K6kebZ$q+gBJ%!nXk4T*j&#dq5VC!xLAV4@dCxkgpZ zHDL&U6-+5G*Dxl;R1iD-vJ-J2RgZ0)@e>XUo+*>-%{)9uXc zlG(J3*e|A728yoQtR#uFxZtsu3_P@zTfAR05lc1xZO;C5w#CWp60cBaIij+b+KDmU zr5%o$*U@$1^)(T7%6PaxXU3@S7oUG&=TNk)SEs8}do!Yq)aHHL#;E=R4Kbaj*F>M^ zFxe}s(JIDg^B7_d?gnocd^?sWaWMqdBh#@lMe4DckIJO4es2W*zP9%q@fP~)+JpAN zlI*Y!IAZy3gEJ6Qxbhwt)1h{17+oYSq&SGXjWaz5P8qz^vg+9y(WgpzmblRUNtHa` zYHIg|zQxkWv=Hu0R_T_!7bUi(-Etylwia=ib%V>*?2r1sHUy}*_ggQX0RPaIm+x2z z8O&Q=T9A0@vtvJHY#b?_|4c&Ft~};ZYNuQ|zF}d#f3w+JK3cN)?lWCQ+mZWmy$ck{ zhj?^C{gO0IcVhH4%swsrc-eJc>@j2Z{E9`?kC*c2yx3nqaLrsUxuE~;OEsy@78S7` zUZOYi+;uCTvvybA?00e>RS&!`we?*(GRTOcEvV_qwN>UE7;c=TNQ>+mZLh2^o&Qd+ zY?r+nmu{UMozd%%wAu2dc;Q0%dU=vT+$@FRz?!dHi(~FXb=!~QP5QZ0@))bQ%%7e1 zE3+8{P6-)%)F?55fhpmG9shP=#rD(Yaym+juQq=Op1)~1Mxw$RM;^u&L)|Z2%=mcR z=}y^)>v24G8r#zYS%d+H2Ii_|S?Sr?o;r@_D~{i!62 zXI*i{SH>g-jM)rR)~%(IdwoOuU@VkF_QcHdUhnpk;?cex(E;i@r^p=E#~)oxmcGAQ zq!=9@D)G$Lx`OJUw8o7-Zd^?nF;8fHcQin0o>9#0ihxX!g#lBP(yi#5E%i=pG1|5} z^4jTaw^qHsXb5XN{C>or2mbks?~pJ_8&%>mbGVYRTq^h}>K5~D+htnMNUjvGoRMAe z?Wke5^FkY4Qnj>IN3|=1Y=RU^<$KwYdJ){tF1g>bC}zoxHa&S zKNT&!(Uw85?DT%08l`_pn*twKQU}F%K1QfTV3GjEIQZPTr2RS91R)=G6UA)PS5a!( zipNh|ye}mOn_1$3e zecn5}J%eD%3cbjO>GXt=jjj52=$agHmD4nD-K%y*Ef%y((#Ot?(sq%7kJMtdSvpU* zIK1TNA~)zJ7iqWmthZF%c%u*Irvum3LOrvW9mp_3HjA`0=Ih-d`V(O}qslIc3*~m& zT+_R*`RFg?7}>DEO}-f9Be2G8bv z?(fVj6Z?>V#8$Q)v4 zhp2`4zvZw><4$;6XIc$pgOM=c62Q#2M47N z#S2_r5OZ!7Be7&t_rGv4IYmgEv3>YUy^zAj-CbF|r)9rBx_`WnY7Sf)&0<#H$4(|A zyqJPc`{D5Mi`fV3TeW**_Ofb42C~~ZUIPJerf;?pzj8iYOk3IgsOr!E>|W}=F>Qro zX0~UxmD`5PWHgN&dUWleodiX@#fWKaj`F~9OEBL)`I#K^%FVaj>(A?A>*^->oK4>3 z-$mBE+hLX^FRdrbyoa4ggkfC9rC8wV)4Z5@85{8?yI-HtuW!r0?|t`4{fRFmD7!L& zV*P z(4#o*C;x4up&-N#5bSrdpX~Rljbi_g zngh{+8$@t9Mh8n~@e7*8a5q1-@8QMx3w2HBuwIyYdY#OYAJb_c%Z4UeT!BmNJni@7 z)9*`tKTf!Ao|jNB=WiJ-D|xedQ((N*!dE>eyD>j2GkpBQQFmHf)UI;scuvuj=Wxzp z8SQ_$L0$#AcQImMMKJH3<9)2q2SdvvG>1D2RkYfLMlEUsIfwOKp4k}!1Snpi^Rds& zG)pGg#%?mCuB3B?y)^9+jdDy_K+%>nD-ocKlgTkR7q!kTIZb$4kH%?nna#ST(qk8o zxvqO>f7Ic+y647;9)ca^mHZ~fpB;sYTt{-22^BG$JT4lW&tw|+!7|1LMLm)-#CWAA zf@depfAt*fD9;i$`@_TkJm&9rIBwH(ZPa$kY@g??TdkJ@jMObKjF0WpYgIwVqgkIN{2!Cr;{C06xosl{eO%yi=yf_%0`!(p)( zs$sEn{e8FE{w%f?;kuoBLcJ>6Xwj-b8Rq7xO!FM`w!WCxSrJ_`~0+J<}p>PqbBQ?2J%;S z2j1D0t3z_ePK%Z^pcODGRB@uby-OBx z_GNp>$NZ83bCq^C<1G>zfajXp#k|o>-DCFwZ|e#RmB6-s+`XOq)pNA7Y+4bax@2Qjqu`o$w)HBjoJCLIu$PT;X_;N@U1X>*hAWdy^lL=S@r-y6_J(;yB1gJ5H zs6heyp8L@&r$oqe#>gu^aNhE9XS`=t5MOQ!ti$MvxgqW$gCxJb%GXTwY9HO7xS=m%ewyD@0Vad& zITdkv{d(Z)>S{bnVp1QZ&}CEZ3O4RPx3^uLY^?Ex_eTf4J{Q!K6bZ@G8Xp#YPmTOX z-g@R^E@VG--Ek=RfHzG0E4YQd>QfsFi%%OL%Z+(yNmls{qIqFj6aN7+aj@A|M{ubd z3Tr;b4dxUdP4(&+wauS@;Xo1{W{*x>`v>a{pN8xUXxH9rpHC+W66Y^oE={jivitD*Ou6s1 zohHyQ<~?ULX(;whYvOWo z$gz!$kfl2uHADNLNIS-=avg#JO2rW2m z9%WGCZk|@B(_b)J{2DO@e1o13p1ca0y$oTlj5Vf|67IY$v&_QhYI;Nk#(a3X<9&Y_ zaXRF8k*~2!1meD#>KOUi^jPZ|jA3+WMCHSbt;Noo=0UpIDOrP+{HzM$lZb~w#KN~# za}5&jP&b2WZN7Y2&;7F_#_|4zQzC(=1vZrxW!_b&)yW^NyN+@BIL`uq>fDW#&Cegs zov~s>I6ri3nat`c&&zR%cwD^*_&^J`(X1t(1(mq2%}H9GRo1jcZ7^k$AGZz=oRsR~ z+6(_tuJKE0(++sl=D6Ug+smp5{>4wX^ElmGIa3D`!SelpXPEv6S-NKbGkL6m8nIQtry~R>)1}g6J1}8cJ<*_Q@ z{t=vf8zTM%eM&g=ZF{~TR-Wp`AHP}XS?{!v`Iz2NNFrUUu73CGVU_)F1H&&1#}Ftl z_k7QBig+qc5cD^Db6!js#G?Ka_X}#I-UPcOG4P=znYQvwViCqn6$}ab4$bVYU1R_YJa_&7Qk!(R=$(gK3TQq$Z#3ZTgif zZqle1RoG)B0`>91!M_Cs-ylN7R|lZMG-$_v2H}B0)EuLZeymC3_dg{i%|-B)7mk1I zS#z#FR;{ki-hh$jWVyxfNNJNMHOjUPP9ySf6jwj~Uu^nq%`_YR1V(5>>I`dr8=}z& zxJcJs)-^XWAH(OEG)k{>vZvKd$n*f-I@IiG+H^?nfNrszIhRz>`ozq1oU+Dk2~z#L zm;aZ`l@~(*%c|Gd;Q82Jvk1HnoG^C6u64~1h)T2Eyc&er`;ObkRE0Hlsh;3128T{B z`Kj~QU|C0BI);?^FKS}TO{Nx}ED^fN_0j+TK#tHaar9j^*xqkA*wNT1EiT4o@av6~ zG&q}->AzPF$=~{Rd$Ds_$qo;fzfXT-gjkK^?WQDxH}NZy`{^(<`T(x zUg2TbWbn6G``ajfUCniI1|QmU5Tx@py&#Kcdb-fc5;J0)SDwceF7j$yJQv$nHC&@{ zt`v-Eh`)-8OP zb;mgJ+S*CB7s+j(CPL@bZ5|1xty(=P$!uKM1p!8Qun%b`WA?M|4ggDgXztV_N1Amh zVOXxMi?%qK6+Dhz?(^oPu4xRix^xTCR*bh0@rq#3J|ZmHQ99&1J<>KmH&namHQdSB zSO2sM6b)SAj{qieH`ZlIpM}B{i2m;Yr8IWceQ|Kge5(>ke1Qsxs{`CTf!1mtyZDQK zD)9vfh5q0S>IIAl9m&wf@>GK+Kwx{eQ3+s}@rA5`gZgsUP|MV?QqYd#M&3pZ6ZEoa zQGhYQ3#bC`dA2L81bPL4xl0&8={7znykd$xuVz(uzUrcrk5>MDu?Sg`%WDCmbOiT? zh|oDCL5b4@8qbV?u9Q*0@bdxV_V^O9Hnru>yZbBm#W$&Iza|v9&x&1#pZ@+18qcl` zuhfwLiac97J!Uhz1!dy6`9$>dKP#)mm1>;$?+vi|AnW5LldgG?i(QpAL9t>h5OitP z#jWvp32erGvuJN!DTwpN0~&fa@;$aU1j#s)~-Kh%JgZIP8Y?+R8-z}oF{dg0I&h{TWz^tgy zRY*zjo{ofBlfMe7dVyq+TcLg8La`!9JLhNUgI?%??0f#Z z5r{RU=nnN z7jXCt`~#Iu&^3l$yftUh!6^5)ILg51)r$*3waz0H%!F|H2~Ff{A&xm-x$$8CCD~yG zx*|Tg9()JJUImBG!TS4Pkh-|?`d9;N!I6E$nc3(Y4XM%63pU^3usiKNqIFIz%0pI? z+INahrG!OoEkyQR+?&A8roUF+UWb3?MqD5T6U9X~uz6Pbmx>)e#2ZwR{v^k&X?kxH z`xab)fed_MGpSZTBsjfr2o1-|&se~(y0$8=+ZaKEKW?|)Yuy``M?Es})@gi{+QKp? z|C<^{6tfAon0G@boGa(Is~?~_8qdqqZ`dq4UJ`Szz^pl1!fs1gl3^~gH{8fx2qv!5 zB>bb?T{CjPq1D&IrMIP$$?CxNdhCN+N;&g`NPN_C+r-^xfqU1{xG!y}Ag?pDd7olg z+HU#DPXktZjrb>FnV|tcBtvoal|It`&*{N*2IWUBzCev&?rSmKfrXB>`r^Km6BSXG z6XEnayS?b?;Jodq)l0{&=r;<}=~023X^~X&FV2Y~-&bkBfBG@NacYw9v|ukfVDRuu|a>a;4yWdCK9!n^N>sq8jGXe&&(S)leLr4%AoZmxJ{veQyt zvz*&Z0IP=K)Pk!tGw0brEhcL4%F;=3kEJvChG^Br$*4|HftwC&P->0flsNDNyt=7U zoJqh+Z|Jf$M-ZIf#0Z5DJz#hA%!N0)l!Y>Pj8`8rHeh+IZ5UT%?fAlhJk-OYwU}D1 zT0c%9l2YNRzF5&z!TumYQnbHKKmH73CL!uz@0}x8=ECo_b=4H1awiPd%aLkY=dd4C zk~!)%)uEqEgJ)^RkKzn|wmsO{f9t_+2+P~pAw7ej&I+384YM;D9P6D{d*}R%tW>LM zAuGLH)v})#4|4ReiU@5bI30Rs$0JD@mZDo`zuA3%1q#nXQU>swPt%0R*i%ijTW21u zFq@e9?5E@IC|R77GbGU_XgqNdy5Oh1;=iodn4jd%V@TN)Z(Yk7G-9EcQWn)7@yK8A zY&M*q#t}~|nUw&J&)ptTqbBb&Mt(K?K>5qK_iNI^Z-j_s4^=&)RZ2>h}B~^3DXU*A1{7S zO4qF=tD#j{$f~(ak(kNc;NHYp#U|i#@lkV(?lk>z_pXjOtc+be#?vTsu8c69e`iQa z>U(MEvnzD%pQp$tQQ|QKx0A;=5h`)s+QienA7M;o8cJ3yBX4TK?BR?Og0WwA0dX9S zNPp?MQ0E~TJ0x*%$*WXq%nz7~LA5F8n?Co>|30;;#W zLfd1a`Qx?UeUjeXI7uIpWThDO1cW$*LbW#+a??5DN9dpPt(o~!wc2`SL6!rWJW7R= zPj*R8;2bEW0n6S=^rhy5ziSD0q@{dX4NG%VX%q2fF=rrM?@Ew7jcv zjl#-^$`iCov75)D?Xnq5;^Q-=%cjH`ntQcJ^k}pxVVMjUSUPCT5$Mo1&Rh2Xc`E17 zY29MWm9HyI=~`)@^SbU>rCWcHpO5%9$fTEICQWW@4~G}HOUWmprVRwbFDorw#FBb4C@ zfg-GgM`&u*vfl^a+)I_7x6UL*Yo9_3uDeEEqnVfA9XGrESz&yZIqsmde-$i1xJ4HnO89a zEv)Ytn&$4iYS1XWRWaLR7}bA>H5-dEci2c=esC)O09IfFmS{FEB+Jh=GMSc2bknq_ z6=pdYgY%o24i9DAgl}{0uZ$Xi z&ImIYnIy1Ic%3WnBu~fd0v?q|i%0E8;(Rx@VZz4V->&q2D4wg12^qHuO@gmBeK#e& zIY_eBw|iVx_ZZHbrjGF{aQ(M9i##xhB~KVP#Cwc2OV7yYVLZaiUNB~x(SPO%ak5fO y#6}Tv<_ljb>3EL!dht(lOnASJ(t-L-#iJIg0f*mYUH=F8Ih=5|rT=o_`hNjF8Bp*5 literal 0 HcmV?d00001 diff --git a/website/static/img/blog/authors/jordan.jpeg b/website/static/img/blog/authors/jordan.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..16252e3161f7cb3e98e0a69fb9367ac1d76e7f72 GIT binary patch literal 180802 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 NHZahZ*u*$%*5OL#J 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

    Dk04|ZKk*}ASelz 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 Jbf4aT|JihP+)Mxf literal 0 HcmV?d00001 From ce25eae750f37869fb07f8bf28f8048cd753e898 Mon Sep 17 00:00:00 2001 From: Joel Labes Date: Tue, 12 Dec 2023 17:52:51 +1300 Subject: [PATCH 100/165] Remove unnecessary step from dbx orch guide --- ...w-to-use-databricks-workflows-to-run-dbt-cloud-jobs.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/website/docs/guides/how-to-use-databricks-workflows-to-run-dbt-cloud-jobs.md b/website/docs/guides/how-to-use-databricks-workflows-to-run-dbt-cloud-jobs.md index 30221332355..cb3a6804247 100644 --- a/website/docs/guides/how-to-use-databricks-workflows-to-run-dbt-cloud-jobs.md +++ b/website/docs/guides/how-to-use-databricks-workflows-to-run-dbt-cloud-jobs.md @@ -29,14 +29,6 @@ Using Databricks workflows to call the dbt Cloud job API can be useful for sever - [Databricks CLI](https://docs.databricks.com/dev-tools/cli/index.html) - **Note**: You only need to set up your authentication. Once you have set up your Host and Token and are able to run `databricks workspace ls /Users/`, you can proceed with the rest of this guide. -## Configure Databricks workflows for dbt Cloud jobs - -To use Databricks workflows for running dbt Cloud jobs, you need to perform the following steps: - -- [Set up a Databricks secret scope](#set-up-a-databricks-secret-scope) -- [Create a Databricks Python notebook](#create-a-databricks-python-notebook) -- [Configure the workflows to run the dbt Cloud jobs](#configure-the-workflows-to-run-the-dbt-cloud-jobs) - ## Set up a Databricks secret scope 1. Retrieve **[User API Token](https://docs.getdbt.com/docs/dbt-cloud-apis/user-tokens#user-api-tokens) **or **[Service Account Token](https://docs.getdbt.com/docs/dbt-cloud-apis/service-tokens#generating-service-account-tokens) **from dbt Cloud From a080863bb7bbe1b5695947be4aea5933bb0403d1 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Tue, 12 Dec 2023 06:55:34 -0500 Subject: [PATCH 101/165] add more node operator examples --- website/docs/reference/node-selection/syntax.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/website/docs/reference/node-selection/syntax.md b/website/docs/reference/node-selection/syntax.md index 969db486c0e..22946903b7d 100644 --- a/website/docs/reference/node-selection/syntax.md +++ b/website/docs/reference/node-selection/syntax.md @@ -43,7 +43,6 @@ Select resources to build (run, test, seed, snapshot) or check freshness: `--sel By default, `dbt run` will execute _all_ of the models in the dependency graph. During development (and deployment), it is useful to specify only a subset of models to run. Use the `--select` flag with `dbt run` to select a subset of models to run. Note that the following arguments (`--select`, `--exclude`, and `--selector`) also apply to other dbt tasks, such as `test` and `build`. - @@ -81,7 +80,13 @@ Examples: ```bash # multiple arguments can be provided to --select - dbt run --select "my_first_model my_second_model" +dbt run --select "my_first_model my_second_model" + +# select my_model and all of its children +dbt run --select "my_model+" + +# select my_model, its children, and the parents of its children +dbt run --models @my_model # these arguments can be projects, models, directory paths, tags, or sources dbt run --select "tag:nightly my_model finance.base.*" From eda9ad9438f6776358661dc41b0c80b3e84fd65f Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Tue, 12 Dec 2023 07:41:51 -0500 Subject: [PATCH 102/165] add notice --- website/docs/docs/dbt-cloud-apis/sl-api-overview.md | 8 +++----- website/docs/docs/dbt-cloud-apis/sl-graphql.md | 6 +++--- website/docs/docs/dbt-cloud-apis/sl-jdbc.md | 6 +++--- website/docs/docs/dbt-cloud-apis/sl-manifest.md | 7 +++---- .../docs/use-dbt-semantic-layer/avail-sl-integrations.md | 8 ++++++++ website/docs/docs/use-dbt-semantic-layer/dbt-sl.md | 7 +++++++ website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md | 7 +++++++ website/docs/docs/use-dbt-semantic-layer/setup-sl.md | 8 ++++++++ .../docs/docs/use-dbt-semantic-layer/sl-architecture.md | 8 ++++++++ website/snippets/_sl-deprecation-notice.md | 6 ++---- 10 files changed, 52 insertions(+), 19 deletions(-) diff --git a/website/docs/docs/dbt-cloud-apis/sl-api-overview.md b/website/docs/docs/dbt-cloud-apis/sl-api-overview.md index 3ddbf76d152..6644d3e4b8b 100644 --- a/website/docs/docs/dbt-cloud-apis/sl-api-overview.md +++ b/website/docs/docs/dbt-cloud-apis/sl-api-overview.md @@ -9,10 +9,10 @@ pagination_next: "docs/dbt-cloud-apis/sl-jdbc" -import LegacyInfo from '/snippets/_legacy-sl-callout.md'; - - +import DeprecationNotice from '/snippets/_sl-deprecation-notice.md'; + + The rapid growth of different tools in the modern data stack has helped data professionals address the diverse needs of different teams. The downside of this growth is the fragmentation of business logic across teams, tools, and workloads. @@ -57,5 +57,3 @@ plan="dbt Cloud Team or Enterprise" icon="dbt-bit"/> - - diff --git a/website/docs/docs/dbt-cloud-apis/sl-graphql.md b/website/docs/docs/dbt-cloud-apis/sl-graphql.md index b7d13d0d453..3555b211f4f 100644 --- a/website/docs/docs/dbt-cloud-apis/sl-graphql.md +++ b/website/docs/docs/dbt-cloud-apis/sl-graphql.md @@ -7,10 +7,10 @@ tags: [Semantic Layer, APIs] -import LegacyInfo from '/snippets/_legacy-sl-callout.md'; - - +import DeprecationNotice from '/snippets/_sl-deprecation-notice.md'; + + diff --git a/website/docs/docs/dbt-cloud-apis/sl-jdbc.md b/website/docs/docs/dbt-cloud-apis/sl-jdbc.md index aba309566f8..45b012c67c6 100644 --- a/website/docs/docs/dbt-cloud-apis/sl-jdbc.md +++ b/website/docs/docs/dbt-cloud-apis/sl-jdbc.md @@ -7,10 +7,10 @@ tags: [Semantic Layer, API] -import LegacyInfo from '/snippets/_legacy-sl-callout.md'; - - +import DeprecationNotice from '/snippets/_sl-deprecation-notice.md'; + + The dbt Semantic Layer Java Database Connectivity (JDBC) API enables users to query metrics and dimensions using the JDBC protocol, while also providing standard metadata functionality. diff --git a/website/docs/docs/dbt-cloud-apis/sl-manifest.md b/website/docs/docs/dbt-cloud-apis/sl-manifest.md index 6ecac495869..eefa0bfc15e 100644 --- a/website/docs/docs/dbt-cloud-apis/sl-manifest.md +++ b/website/docs/docs/dbt-cloud-apis/sl-manifest.md @@ -9,10 +9,10 @@ pagination_next: null -import LegacyInfo from '/snippets/_legacy-sl-callout.md'; - - +import DeprecationNotice from '/snippets/_sl-deprecation-notice.md'; + + dbt creates an [artifact](/reference/artifacts/dbt-artifacts) file called the _Semantic Manifest_ (`semantic_manifest.json`), which MetricFlow requires to build and run metric queries properly for the dbt Semantic Layer. This artifact contains comprehensive information about your dbt Semantic Layer. It is an internal file that acts as the integration point with MetricFlow. @@ -97,4 +97,3 @@ Top-level keys for the semantic manifest are: - [dbt Semantic Layer API](/docs/dbt-cloud-apis/sl-api-overview) - [About dbt artifacts](/reference/artifacts/dbt-artifacts) - diff --git a/website/docs/docs/use-dbt-semantic-layer/avail-sl-integrations.md b/website/docs/docs/use-dbt-semantic-layer/avail-sl-integrations.md index 045838602a9..eb05fc75649 100644 --- a/website/docs/docs/use-dbt-semantic-layer/avail-sl-integrations.md +++ b/website/docs/docs/use-dbt-semantic-layer/avail-sl-integrations.md @@ -9,6 +9,14 @@ meta: api_name: dbt Semantic Layer APIs --- + + +import DeprecationNotice from '/snippets/_sl-deprecation-notice.md'; + + + + + There are a number of data applications that seamlessly integrate with the dbt Semantic Layer, powered by MetricFlow, from business intelligence tools to notebooks, spreadsheets, data catalogs, and more. These integrations allow you to query and unlock valuable insights from your data ecosystem. Use the [dbt Semantic Layer APIs](/docs/dbt-cloud-apis/sl-api-overview) to simplify metric queries, optimize your development workflow, and reduce coding. This approach also ensures data governance and consistency for data consumers. diff --git a/website/docs/docs/use-dbt-semantic-layer/dbt-sl.md b/website/docs/docs/use-dbt-semantic-layer/dbt-sl.md index cde9ae4afbb..ccbef5a6639 100644 --- a/website/docs/docs/use-dbt-semantic-layer/dbt-sl.md +++ b/website/docs/docs/use-dbt-semantic-layer/dbt-sl.md @@ -9,6 +9,13 @@ pagination_next: "docs/use-dbt-semantic-layer/quickstart-sl" pagination_prev: null --- + + +import DeprecationNotice from '/snippets/_sl-deprecation-notice.md'; + + + + The dbt Semantic Layer, powered by [MetricFlow](/docs/build/about-metricflow), simplifies the process of defining and using critical business metrics, like `revenue` in the modeling layer (your dbt project). By centralizing metric definitions, data teams can ensure consistent self-service access to these metrics in downstream data tools and applications. The dbt Semantic Layer eliminates duplicate coding by allowing data teams to define metrics on top of existing models and automatically handles data joins. diff --git a/website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md b/website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md index 9625621562e..3d8cdb5a56b 100644 --- a/website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md +++ b/website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md @@ -8,6 +8,13 @@ meta: api_name: dbt Semantic Layer APIs --- + + +import DeprecationNotice from '/snippets/_sl-deprecation-notice.md'; + + + + import CreateModel from '/snippets/_sl-create-semanticmodel.md'; import DefineMetrics from '/snippets/_sl-define-metrics.md'; diff --git a/website/docs/docs/use-dbt-semantic-layer/setup-sl.md b/website/docs/docs/use-dbt-semantic-layer/setup-sl.md index 0944e5ce1e1..1016de1830a 100644 --- a/website/docs/docs/use-dbt-semantic-layer/setup-sl.md +++ b/website/docs/docs/use-dbt-semantic-layer/setup-sl.md @@ -6,6 +6,14 @@ sidebar_label: "Set up your Semantic Layer" tags: [Semantic Layer] --- + + +import DeprecationNotice from '/snippets/_sl-deprecation-notice.md'; + + + + + With the dbt Semantic Layer, you can centrally define business metrics, reduce code duplication and inconsistency, create self-service in downstream tools, and more. Configure the dbt Semantic Layer in dbt Cloud to connect with your integrated partner tool. ## Prerequisites diff --git a/website/docs/docs/use-dbt-semantic-layer/sl-architecture.md b/website/docs/docs/use-dbt-semantic-layer/sl-architecture.md index f1fd13944e9..459fcfc487f 100644 --- a/website/docs/docs/use-dbt-semantic-layer/sl-architecture.md +++ b/website/docs/docs/use-dbt-semantic-layer/sl-architecture.md @@ -7,6 +7,14 @@ tags: [Semantic Layer] pagination_next: null --- + + +import DeprecationNotice from '/snippets/_sl-deprecation-notice.md'; + + + + + The dbt Semantic Layer allows you to define metrics and use various interfaces to query them. The Semantic Layer does the heavy lifting to find where the queried data exists in your data platform and generates the SQL to make the request (including performing joins). diff --git a/website/snippets/_sl-deprecation-notice.md b/website/snippets/_sl-deprecation-notice.md index 19bf19c2d90..d19dd78ca15 100644 --- a/website/snippets/_sl-deprecation-notice.md +++ b/website/snippets/_sl-deprecation-notice.md @@ -1,7 +1,5 @@ :::info Deprecation of dbt Metrics and the legacy dbt Semantic Layer -For users of the dbt Semantic Layer on version 1.5 or lower — Support for dbt Metrics and the legacy dbt Semantic Layer ends on December 15th, 2023. To access the latest features, migrate to the updated version using the [dbt Semantic Layer migration guide](/guides/sl-migration). - - -After December 15th, dbt Labs will no longer support these deprecated features, they will be removed from the dbt Cloud user interface, and their documentation removed from the docs site. +dbt Labs has deprecated dbt Metrics and the legacy dbt Semantic Layer, both supported on dbt version 1.5 or lower. These changes went into effect on December 15th, 2023. +To switch over and access [MetricFlow](/docs/build/build-metrics-intro) or the re-released dbt Semantic Layer, use the [dbt Semantic Layer migration guide](/guides/sl-migration) and [upgrade your version](/docs/dbt-versions/upgrade-core-in-cloud) in dbt Cloud. ::: From a7612764497537d23987f148a4d7e52b2cbfff7b Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Tue, 12 Dec 2023 07:44:25 -0500 Subject: [PATCH 103/165] update notice --- .../docs/use-dbt-semantic-layer/quickstart-sl.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md b/website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md index 3d8cdb5a56b..665260ed9f4 100644 --- a/website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md +++ b/website/docs/docs/use-dbt-semantic-layer/quickstart-sl.md @@ -8,6 +8,13 @@ meta: api_name: dbt Semantic Layer APIs --- +import CreateModel from '/snippets/_sl-create-semanticmodel.md'; +import DefineMetrics from '/snippets/_sl-define-metrics.md'; +import ConfigMetric from '/snippets/_sl-configure-metricflow.md'; +import TestQuery from '/snippets/_sl-test-and-query-metrics.md'; +import ConnectQueryAPI from '/snippets/_sl-connect-and-query-api.md'; +import RunProdJob from '/snippets/_sl-run-prod-job.md'; + import DeprecationNotice from '/snippets/_sl-deprecation-notice.md'; @@ -16,13 +23,6 @@ import DeprecationNotice from '/snippets/_sl-deprecation-notice.md'; -import CreateModel from '/snippets/_sl-create-semanticmodel.md'; -import DefineMetrics from '/snippets/_sl-define-metrics.md'; -import ConfigMetric from '/snippets/_sl-configure-metricflow.md'; -import TestQuery from '/snippets/_sl-test-and-query-metrics.md'; -import ConnectQueryAPI from '/snippets/_sl-connect-and-query-api.md'; -import RunProdJob from '/snippets/_sl-run-prod-job.md'; - The dbt Semantic Layer, powered by [MetricFlow](/docs/build/about-metricflow), simplifies defining and using critical business metrics. It centralizes metric definitions, eliminates duplicate coding, and ensures consistent self-service access to metrics in downstream tools. From 4cdfdf65ad5f6dec6d890f397f03c28db0bba5e3 Mon Sep 17 00:00:00 2001 From: Amy Chen <46451573+amychen1776@users.noreply.github.com> Date: Tue, 12 Dec 2023 08:12:38 -0500 Subject: [PATCH 104/165] Update databricks-configs.md --- .../resource-configs/databricks-configs.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/website/docs/reference/resource-configs/databricks-configs.md b/website/docs/reference/resource-configs/databricks-configs.md index 8426846997c..fb3c9e7f5c3 100644 --- a/website/docs/reference/resource-configs/databricks-configs.md +++ b/website/docs/reference/resource-configs/databricks-configs.md @@ -365,9 +365,18 @@ insert into analytics.replace_where_incremental ## Selecting compute per model -Beginning in version 1.7.2, you can assign which compute resource to use on a per-model basis. +Beginning in version 1.7.2, you can assign which compute resource to use on a per-model basis. For SQL models, you can select a SQL Warehouse (serverless or provisioned) or an all purpose cluster. For details on how this feature interacts with python models, see [Specifying compute for Python models](#specifying-compute-for-python-models). + +:::note + +This is an optional setting. If you do not configure this as shown below, we will default to the compute specified by http_path in the top level of the output section in your profile. +This is also the compute that will be used for tasks not associated with a particular model, such as gathering metadata for all tables in a schema. + +::: + + To take advantage of this capability, you will need to add compute blocks to your profile: @@ -500,12 +509,6 @@ select * from {{ ref('seed') }} -:::note - -In the absence of a specified compute, we will default to the compute specified by http_path in the top level of the output section in your profile. -This is also the compute that will be used for tasks not associated with a particular model, such as gathering metadata for all tables in a schema. - -::: To validate that the specified compute is being used, look for lines in your dbt.log like: @@ -525,7 +528,7 @@ Materializing a python model requires execution of SQL as well as python. Specifically, if your python model is incremental, the current execution pattern involves executing python to create a staging table that is then merged into your target table using SQL. The python code needs to run on an all purpose cluster, while the SQL code can run on an all purpose cluster or a SQL Warehouse. When you specify your `databricks_compute` for a python model, you are currently only specifying which compute to use when running the model-specific SQL. -If you wish to use a different compute for executing the python itself, you must specify an alternate `http_path` in the config for the model: +If you wish to use a different compute for executing the python itself, you must specify an alternate `http_path` in the config for the model. Please note that declaring a separate SQL compute and a python compute for your python dbt models is optional. If you wish to do this: From 52c289c47c2467f09dea2a917dd530b4d4ef889a Mon Sep 17 00:00:00 2001 From: Thomas Lento Date: Tue, 12 Dec 2023 09:05:49 -0800 Subject: [PATCH 105/165] Switch SCD example to entity type `natural` We recommend using the `natural` type for what is normally the `primary` entity in an SCD semantic model layout. The distinction is that `primary` indicates one row per entity value, while `natural` does not, and in an SCD context there is one row per entity value/time window set, rather than one row per entity value as in standard conformed dimension tables. --- website/docs/docs/build/dimensions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/docs/build/dimensions.md b/website/docs/docs/build/dimensions.md index 683ff730d3c..97e2fdd502e 100644 --- a/website/docs/docs/build/dimensions.md +++ b/website/docs/docs/build/dimensions.md @@ -252,7 +252,7 @@ This example shows how to create slowly changing dimensions (SCD) using a semant | 333 | 2 | 2020-08-19 | 2021-10-22| | 333 | 3 | 2021-10-22 | 2048-01-01| -Take note of the extra arguments under `validity_params`: `is_start` and `is_end`. These arguments indicate the columns in the SCD table that contain the start and end dates for each tier (or beginning or ending timestamp column for a dimensional value). +Take note of the extra arguments under `validity_params`: `is_start` and `is_end`. These arguments indicate the columns in the SCD table that contain the start and end dates for each tier (or beginning or ending timestamp column for a dimensional value). Note also the entity is tagged as `natural` - this is to distinguish it from a `primary` entity, where we expect one row per entity value. Here, we expect one row per entity value/validity window combination. ```yaml semantic_models: @@ -282,7 +282,7 @@ semantic_models: entities: - name: sales_person - type: primary + type: natural expr: sales_person_id ``` From 62def67a0d548d3bca1609acdfe62f61bf023876 Mon Sep 17 00:00:00 2001 From: Thomas Lento Date: Tue, 12 Dec 2023 09:34:06 -0800 Subject: [PATCH 106/165] Apply suggestions from code review Co-authored-by: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> --- website/docs/docs/build/dimensions.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/website/docs/docs/build/dimensions.md b/website/docs/docs/build/dimensions.md index 97e2fdd502e..3c4edd9aef0 100644 --- a/website/docs/docs/build/dimensions.md +++ b/website/docs/docs/build/dimensions.md @@ -252,7 +252,8 @@ This example shows how to create slowly changing dimensions (SCD) using a semant | 333 | 2 | 2020-08-19 | 2021-10-22| | 333 | 3 | 2021-10-22 | 2048-01-01| -Take note of the extra arguments under `validity_params`: `is_start` and `is_end`. These arguments indicate the columns in the SCD table that contain the start and end dates for each tier (or beginning or ending timestamp column for a dimensional value). Note also the entity is tagged as `natural` - this is to distinguish it from a `primary` entity, where we expect one row per entity value. Here, we expect one row per entity value/validity window combination. + +The `validity_params` include two important arguments — `is_start` and `is_end`. These specify the columns in the SCD table that mark the start and end dates (or timestamps) for each tier or dimension. Additionally, the entity is tagged as `natural` to differentiate it from a `primary` entity. In a `primary` entity, each entity value has one row. In contrast, a `natural` entity has one row for each combination of entity value and its validity period. ```yaml semantic_models: @@ -280,6 +281,8 @@ semantic_models: - name: tier type: categorical + primary_entity: sales_person + entities: - name: sales_person type: natural From 7166bb7314a80c18a584965e5d67ced6f9444dae Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Tue, 12 Dec 2023 13:03:00 -0500 Subject: [PATCH 107/165] tweak --- .../release-notes/74-Dec-2023/legacy-sl.md | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md index 11bd25a7020..c1949f8dfdc 100644 --- a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md +++ b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md @@ -8,23 +8,34 @@ date: 2023-12-15 dbt Labs has deprecated dbt Metrics and the legacy dbt Semantic Layer, both supported on dbt version 1.5 or lower. These changes will be in effect on _December 15th, 2023_. -This deprecation means dbt Metrics and the legacy Semantic Layer will no longer be supported. We will also remove the product from the dbt Cloud user interface and documentation site. +This deprecation means dbt Metrics and the legacy Semantic Layer will no longer be supported. We will also remove the feature from the dbt Cloud user interface and documentation site. ### Why this change? -We understand that changes of this nature can be disruptive and we believe in the potential of the new direction. The [re-released dbt Semantic Layer](/docs/use-dbt-semantic-layer/dbt-sl), powered by MetricFlow, is a significantly improved foundation that enables more flexible query generation, faster performance, and a more dynamic consumption experience. It’s a step towards a brighter future for dbt and its community. +The [re-released dbt Semantic Layer](/docs/use-dbt-semantic-layer/dbt-sl), powered by MetricFlow, offers enhanced flexibility, performance, and user experience, marking a significant advancement for the dbt community. -### Key changes +### Key changes and impact -- Legacy Semantic Layer and dbt Metrics will officially be deprecated on December 15th, 2023. -- MetricFlow has replaced dbt Metrics for the construction of semantic logic. The `dbt_metrics` package will no longer be supported. -- Exports replaces Materializations. Exports will be available in December or January in dbt Cloud and replaces the previous materializations functionality. +- **Deprecation date** — The legacy Semantic Layer and dbt Metrics will be officially deprecated on December 15th, 2023. +- **Replacement** — [MetricFlow](/docs/build/build-metrics-intro) replaces dbt Metrics for defining semantic logic. The `dbt_metrics` package will no longer be supported post-deprecation. +- **New feature** — Exports replaces the materializations functionality and will be available in dbt Cloud in December or January. -### Actions -- If you're using the legacy dbt Semantic Layer or dbt Metrics, use the [dbt Semantic Layer migration guide](/guides/sl-migration?step=1) to migrate over to the re-released dbt Semantic Layer. -- Engage and share feedback with the dbt Labs team and dbt Community slack using channels like [#dbt-cloud-semantic-layer](https://getdbt.slack.com/archives/C046L0VTVR6) and [#dbt-metricflow](https://getdbt.slack.com/archives/C02CCBBBR1D). Or reach out to your dbt Cloud account representative. -- Refer to some additional info and resources to help you upgrade your dbt version: +### Breaking changes and recommendations + +- For users on dbt version 1.6 and lower with dbt Metrics and Snowflake proxy: + - **Impact**: Post-deprecation, queries using the proxy _will not_ run. + - **Action required:** _Immediate_ migration is necessary. Refer to the [dbt Semantic Layer migration guide](/guides/sl-migration?step=1) + +- For users on dbt version 1.6 and lower using dbt Metrics without Snowflake proxy: + - **Impact**: No immediate disruption, but the package will not receive updates or support after deprecation + - **Recommendation**: Plan migration to the new Semantic Layer for compatibility with dbt version 1.6 and higher. + +### Engage and support + +- Feedback and community support — Engage and share feedback with the dbt Labs team and dbt Community slack using channels like [#dbt-cloud-semantic-layer](https://getdbt.slack.com/archives/C046L0VTVR6) and [#dbt-metricflow](https://getdbt.slack.com/archives/C02CCBBBR1D). Or reach out to your dbt Cloud account representative. + +- Resources for upgrading —Refer to some additional info and resources to help you upgrade your dbt version: - [Upgrade version in dbt Cloud](/docs/dbt-versions/upgrade-core-in-cloud) - [Version migration guides](/docs/dbt-versions/core-upgrade) From c84a378eba2a16cb041c0443c7c8e44fcdea6a40 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Tue, 12 Dec 2023 13:03:46 -0500 Subject: [PATCH 108/165] change --- .../docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md index c1949f8dfdc..4c8d4278ef5 100644 --- a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md +++ b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md @@ -29,7 +29,7 @@ The [re-released dbt Semantic Layer](/docs/use-dbt-semantic-layer/dbt-sl), power - For users on dbt version 1.6 and lower using dbt Metrics without Snowflake proxy: - **Impact**: No immediate disruption, but the package will not receive updates or support after deprecation - - **Recommendation**: Plan migration to the new Semantic Layer for compatibility with dbt version 1.6 and higher. + - **Recommendation**: Plan migration to the re-released Semantic Layer for compatibility with dbt version 1.6 and higher. ### Engage and support From b8095bc6fa033d64101659808eca3b4641a853d7 Mon Sep 17 00:00:00 2001 From: Jordan Date: Tue, 12 Dec 2023 10:08:16 -0800 Subject: [PATCH 109/165] Update website/blog/2023-12-11-semantic-layer-on-semantic-layer.md Co-authored-by: Jason Ganz --- website/blog/2023-12-11-semantic-layer-on-semantic-layer.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md b/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md index b321f0cd78d..1bc07d71e58 100644 --- a/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md +++ b/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md @@ -8,7 +8,7 @@ authors: [jordan_stein] tags: [dbt Cloud] hide_table_of_contents: false -date: 2023-12-11 +date: 2023-12-12 is_featured: false --- There’s nothing quite like the feeling of launching a new product. From a0b2d9d4262c2e300c6c384048be75b922bb6ea7 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Tue, 12 Dec 2023 13:09:02 -0500 Subject: [PATCH 110/165] fi bullets --- .../docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md index 4c8d4278ef5..e940583c602 100644 --- a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md +++ b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md @@ -34,8 +34,6 @@ The [re-released dbt Semantic Layer](/docs/use-dbt-semantic-layer/dbt-sl), power ### Engage and support - Feedback and community support — Engage and share feedback with the dbt Labs team and dbt Community slack using channels like [#dbt-cloud-semantic-layer](https://getdbt.slack.com/archives/C046L0VTVR6) and [#dbt-metricflow](https://getdbt.slack.com/archives/C02CCBBBR1D). Or reach out to your dbt Cloud account representative. - - Resources for upgrading —Refer to some additional info and resources to help you upgrade your dbt version: - - [Upgrade version in dbt Cloud](/docs/dbt-versions/upgrade-core-in-cloud) - [Version migration guides](/docs/dbt-versions/core-upgrade) From dc5320b82f97f8a866004e34eaa76ca461e1e747 Mon Sep 17 00:00:00 2001 From: Jordan Date: Tue, 12 Dec 2023 10:13:31 -0800 Subject: [PATCH 111/165] Update website/blog/2023-12-11-semantic-layer-on-semantic-layer.md Co-authored-by: Jason Ganz --- website/blog/2023-12-11-semantic-layer-on-semantic-layer.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md b/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md index 1bc07d71e58..1b93981287c 100644 --- a/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md +++ b/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md @@ -18,7 +18,7 @@ How many users do we have? How is performance looking? What features are custome At dbt we recently made the [Semantic Layer Generally Available](https://www.getdbt.com/blog/new-dbt-cloud-features-announced-at-coalesce-2023). The Semantic Layer lets teams define business metrics centrally, in dbt, and access them in multiple analytics tools through our semantic layer APIs. I’m a Product Manager on the Semantic Layer team, and the launch of the Semantic Layer put our team in an interesting, somewhat “meta,” position: we need to understand how a product launch is doing, and the product we just launched is designed to make defining and consuming metrics much more efficient. It’s the perfect opportunity to put the semantic layer through its paces for product analytics. This blog post walks through the end-to-end process we used to set up product analytics for the dbt Semantic Layer using the dbt Semantic Layer. - + ## Getting your data ready for metrics The first steps to building a product analytics pipeline with the Semantic Layer look the same as just using dbt - it’s all about data transformation. The steps we followed were broadly: From c90a2815cc2ca0f44a92adce1103683732059226 Mon Sep 17 00:00:00 2001 From: Jordan Date: Tue, 12 Dec 2023 10:14:20 -0800 Subject: [PATCH 112/165] Update 2023-12-11-semantic-layer-on-semantic-layer.md --- website/blog/2023-12-11-semantic-layer-on-semantic-layer.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md b/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md index 1b93981287c..4537f25ead1 100644 --- a/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md +++ b/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md @@ -37,7 +37,7 @@ There are [plenty of other great resources](https://docs.getdbt.com/docs/build/p Let’s walk through the DAG from left to right: First, we have raw tables from the Semantic Layer Server loaded into our warehouse, next we have staging models where we apply business logic and finally a clean, normalized `fct_semantic_layer_queries` model. Finally, we built a semantic model named `semantic_layer_queries` on top of our normalized fact model. This is a typical DAG for a dbt project that contains semantic objects. Now let’s zoom in to the section of the DAG that contains our semantic layer objects and look in more detail at how we defined our semantic layer product metrics. -## How we build semantic models and metrics +## [How we build semantic models and metrics](https://docs.getdbt.com/best-practices/how-we-build-our-metrics/semantic-layer-1-intro) What [is a semantic model](https://docs.getdbt.com/docs/build/semantic-models)? Put simply, semantic models contain the components we need to build metrics. Semantic models are YAML files that live in your dbt project. They contain metadata about your dbt models in a format that MetricFlow, the query builder that powers the semantic layer, can understand. The DAG below in [dbt Explorer](https://docs.getdbt.com/docs/collaborate/explore-projects) shows the metrics we’ve built off of `semantic_layer_queries`. @@ -95,4 +95,4 @@ As a former data scientist and data engineer, I personally think this is a huge And just like that, we have an end-to-end pipeline for product analytics on the dbt Semantic Layer using the dbt Semantic Layer 🤯. Part of the foundational work to build this pipeline will be familiar to you, like building out a normalized fact table using dbt. Hopefully walking through the next step of adding semantic models and metrics on top of those dbt models helped give you some ideas about how you can use the semantic layer for your team. Having launch metrics defined in dbt made keeping the entire organization up to date on product adoption and performance much easier. Instead of a rollup table or static materialized cubes, we added flexible metrics without rewriting logic in SQL, or adding additional tables to the end of our DAG. -The result is access to consistent and governed metrics in the tool our stakeholders are already using to do their jobs. We are able to keep the entire organization aligned and give them access to consistent, accurate data they need to do their part to make the semantic layer product successful. Thanks for reading! If you’re thinking of using the semantic layer, or have questions we’re always happy to keep the conversation going in the [dbt community slack.](https://www.getdbt.com/community/join-the-community) Drop us a note in #dbt-cloud-semantic-layer. We’d love to hear from you! \ No newline at end of file +The result is access to consistent and governed metrics in the tool our stakeholders are already using to do their jobs. We are able to keep the entire organization aligned and give them access to consistent, accurate data they need to do their part to make the semantic layer product successful. Thanks for reading! If you’re thinking of using the semantic layer, or have questions we’re always happy to keep the conversation going in the [dbt community slack.](https://www.getdbt.com/community/join-the-community) Drop us a note in #dbt-cloud-semantic-layer. We’d love to hear from you! From 4ddba3212e6d29a2d123d914f061d29a652a85ee Mon Sep 17 00:00:00 2001 From: Jordan Stein Date: Mon, 11 Dec 2023 20:12:48 -0800 Subject: [PATCH 113/165] update images --- ...023-12-11-semantic-layer-on-semantic-layer.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md b/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md index 4537f25ead1..18e8ca96a81 100644 --- a/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md +++ b/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md @@ -29,9 +29,10 @@ The first steps to building a product analytics pipeline with the Semantic Layer There are [plenty of other great resources](https://docs.getdbt.com/docs/build/projects) on how to accomplish the above steps, I’m going to skip that in this post and focus on how we built business metrics using the Semantic Layer. Once the data is loaded and modeling is complete, our DAG for the Semantic Layer data looks like the following: -![Screenshot 2023-09-28 at 4.05.25 PM.png](../static/img/blog/2023-12-11-semantic-layer-on-semantic-layer/Screenshot-dag.png) -*Good old-fashioned debt DAG, with an extra node at the end* + + + @@ -41,9 +42,8 @@ Let’s walk through the DAG from left to right: First, we have raw tables from What [is a semantic model](https://docs.getdbt.com/docs/build/semantic-models)? Put simply, semantic models contain the components we need to build metrics. Semantic models are YAML files that live in your dbt project. They contain metadata about your dbt models in a format that MetricFlow, the query builder that powers the semantic layer, can understand. The DAG below in [dbt Explorer](https://docs.getdbt.com/docs/collaborate/explore-projects) shows the metrics we’ve built off of `semantic_layer_queries`. -![Screenshot 2023-10-11 at 4.41.13 PM.png](../static/img/blog/2023-12-11-semantic-layer-on-semantic-layer/Screenshot-metrics-dag.png) + - *Semantic Layer DAG in dbt Explorer* Let’s dig into semantic models and metrics a bit more, and explain some of the data modeling decisions we made. First, we needed to decide what model to use as a base for our semantic model. We decide to use`fct_semantic_layer`queries as our base model because defining a semantic model on top of a normalized fact table gives us maximum flexibility to join to other tables. This increased the number of dimensions available, which means we can answer more questions. @@ -79,15 +79,15 @@ To query to Semantic Layer you have two paths: you can query metrics directly th The leg work of building our pipeline and defining metrics is all done, which makes last-mile consumption much easier. First, we set up a launch dashboard in Hex as the source of truth for semantic layer product metrics. This tool is used by cross-functional partners like marketing, sales, and the executive team to easily check product and usage metrics like total semantic layer queries, or weekly active semantic layer users. To set up our Hex connection, we simply enter a few details from our dbt Cloud environment and then we can work with metrics directly in Hex notebooks. We can use the JDBC interface, or use Hex’s GUI metric builder to build reports. We run all our WBRs off this dashboard, which allows us to spot trends in consumption and react quickly to changes in our business. -![Screenshot 2023-12-06 at 2.52.03 PM.png](../static/img/blog/2023-12-11-semantic-layer-on-semantic-layer/Screenshot-hex.png) -*Semantic Layer query builder in Hex* + + On the finance and operations side, product usage data is crucial to making informed pricing decisions. All our pricing models are created in spreadsheets, so we leverage the Google Sheets integration to give those teams access to consistent data sets without the need to download CSVs from the Hex dashboard. This lets the Pricing team add dimensional slices, like tier and company size, to the data in a self-serve manner without having to request data team resources to generate those insights. This allows our finance team to iteratively build financial models and be more self-sufficient in pulling data, instead of relying on data team resources. -![Screenshot 2023-12-06 at 2.56.18 PM.png](../static/img/blog/2023-12-11-semantic-layer-on-semantic-layer/Screenshot-gsheets.png) - *Semantic Layer query builder in Google Sheets* + + As a former data scientist and data engineer, I personally think this is a huge improvement over the approach I would have used without the semantic layer. My old approach would have been to materialize One Big Table with all the numeric and categorical columns I needed for analysis. Then write a ton of SQL in Hex or various notebooks to create reports for stakeholders. Inevitably I’m signing up for more development cycles to update the pipeline whenever a new dimension needs to be added or the data needs to be aggregated in a slightly different way. From a data team management perspective, using a central semantic layer saves data analysts cycles since users can more easily self-serve. At every company I’ve ever worked at, data analysts are always in high demand, with more requests than they can reasonably accomplish. This means any time a stakeholder can self-serve their data without pulling us in is a huge win. From 4ab9c07dd03cbefbf3bb3a498f23d5d44fb73078 Mon Sep 17 00:00:00 2001 From: Jordan Stein Date: Tue, 12 Dec 2023 10:19:41 -0800 Subject: [PATCH 114/165] update caption for metric config --- website/blog/2023-12-11-semantic-layer-on-semantic-layer.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md b/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md index 18e8ca96a81..1b80297bb44 100644 --- a/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md +++ b/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md @@ -58,6 +58,7 @@ Next, we had to decide what we wanted to put into our semantic models. Semantic Finally, we reference the measures defined in our semantic model to create metrics. Our initial set of usage metrics are all relatively simple aggregations. For example, the total number of queries run. ```yaml +## Example of a metric definition metrics: - name: queries description: The total number of queries run @@ -67,8 +68,6 @@ metrics: measure: queries ``` -*Queries metric configuration** - Having our metrics in the semantic layer is powerful in a few ways. Firstly, metric definitions and the generated SQL are centralized, and live in our dbt project, instead of being scattered across BI tools or sql clients. Secondly, the types of queries I can run are dynamic and flexible. Traditionally, I would materialize a cube or rollup table which needs to contain all the different dimensional slices my users might be curious about. Now, users can join tables and add dimensionality to their metrics queries on the fly at query time, saving our data team cycles of updating and adding new fields to rollup tables. Thirdly, we can expose these metrics to a variety of downstream BI tools so stakeholders in product, finance, or GTM can understand product performance regardless of their technical skills. Now that we’ve done the pipeline work to set up our metrics for the semantic layer launch we’re ready to analyze how the launch went! From 3d38463b2ea1a0267a5f82b0de765d4d00171c59 Mon Sep 17 00:00:00 2001 From: Jordan Stein Date: Tue, 12 Dec 2023 10:22:34 -0800 Subject: [PATCH 115/165] remove beta flag --- .../how-we-build-our-metrics/semantic-layer-1-intro.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/website/docs/best-practices/how-we-build-our-metrics/semantic-layer-1-intro.md b/website/docs/best-practices/how-we-build-our-metrics/semantic-layer-1-intro.md index 19c6717063c..ee3d4262882 100644 --- a/website/docs/best-practices/how-we-build-our-metrics/semantic-layer-1-intro.md +++ b/website/docs/best-practices/how-we-build-our-metrics/semantic-layer-1-intro.md @@ -4,10 +4,6 @@ description: Getting started with the dbt and MetricFlow hoverSnippet: Learn how to get started with the dbt and MetricFlow --- -:::tip -**This is a guide for a beta product.** We anticipate this guide will evolve alongside the Semantic Layer through community collaboration. We welcome discussions, ideas, issues, and contributions to refining best practices. -::: - Flying cars, hoverboards, and true self-service analytics: this is the future we were promised. The first two might still be a few years out, but real self-service analytics is here today. With dbt Cloud's Semantic Layer, you can resolve the tension between accuracy and flexibility that has hampered analytics tools for years, empowering everybody in your organization to explore a shared reality of metrics. Best of all for analytics engineers, building with these new tools will significantly [DRY](https://docs.getdbt.com/terms/dry) up and simplify your codebase. As you'll see, the deep interaction between your dbt models and the Semantic Layer make your dbt project the ideal place to craft your metrics. ## Learning goals From 279238f500dbdef1a30ea098a4d48318757aa0a7 Mon Sep 17 00:00:00 2001 From: Mike Alfare <13974384+mikealfare@users.noreply.github.com> Date: Tue, 12 Dec 2023 18:06:04 -0500 Subject: [PATCH 116/165] Update website/docs/reference/resource-configs/bigquery-configs.md Co-authored-by: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> --- website/docs/reference/resource-configs/bigquery-configs.md | 1 - 1 file changed, 1 deletion(-) diff --git a/website/docs/reference/resource-configs/bigquery-configs.md b/website/docs/reference/resource-configs/bigquery-configs.md index ea20be4fb41..9e61a8d5265 100644 --- a/website/docs/reference/resource-configs/bigquery-configs.md +++ b/website/docs/reference/resource-configs/bigquery-configs.md @@ -752,7 +752,6 @@ with the following configuration parameters: -directly to the materialized view in place. ```yaml models: From 06e7ad826d952b54c466779f742bcb60e65b7f5d Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Tue, 12 Dec 2023 16:41:34 -0700 Subject: [PATCH 117/165] Fix missing end backtick for config name --- .../core-upgrade/11-Older versions/upgrading-to-0-14-0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/dbt-versions/core-upgrade/11-Older versions/upgrading-to-0-14-0.md b/website/docs/docs/dbt-versions/core-upgrade/11-Older versions/upgrading-to-0-14-0.md index 036a9a2aedf..48aa14a42e5 100644 --- a/website/docs/docs/dbt-versions/core-upgrade/11-Older versions/upgrading-to-0-14-0.md +++ b/website/docs/docs/dbt-versions/core-upgrade/11-Older versions/upgrading-to-0-14-0.md @@ -189,7 +189,7 @@ models: -**Configuring the `incremental_strategy for a single model:** +**Configuring the `incremental_strategy` for a single model:** From 219dfcc92ad84dea5df5380128dfb845904f1b12 Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Tue, 12 Dec 2023 17:09:21 -0700 Subject: [PATCH 118/165] OSS expectations for testing in pull requests --- website/docs/community/resources/oss-expectations.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/docs/community/resources/oss-expectations.md b/website/docs/community/resources/oss-expectations.md index 9c916de1240..762e87d97fb 100644 --- a/website/docs/community/resources/oss-expectations.md +++ b/website/docs/community/resources/oss-expectations.md @@ -94,6 +94,8 @@ PRs are your surest way to make the change you want to see in dbt / packages / d **Every PR should be associated with an issue.** Why? Before you spend a lot of time working on a contribution, we want to make sure that your proposal will be accepted. You should open an issue first, describing your desired outcome and outlining your planned change. If you've found an older issue that's already open, comment on it with an outline for your planned implementation. Exception to this rule: If you're just opening a PR for a cosmetic fix, such as a typo in documentation, an issue isn't needed. +**PRs should include robust testing.** With the goal to substantially cut down the number and impact of regressions, we are taking a more meticulous approach to the tests that we require to merge a pull request. We recognize that robust testing can often take significantly more effort than the main portion of the code. Thank you for your help in contributing to this goal! + **Our goal is to review most new PRs within 7 days.** The first review will include some high-level comments about the implementation, including (at a high level) whether it’s something we think suitable to merge. Depending on the scope of the PR, the first review may include line-level code suggestions, or we may delay specific code review until the PR is more finalized / until we have more time. **Automation that can help us:** Many repositories have a template for pull request descriptions, which will include a checklist that must be completed before the PR can be merged. You don’t have to do all of these things to get an initial PR, but they definitely help. Those many include things like: From 254c514b590bd96575883b66566ab5bc83dd9f75 Mon Sep 17 00:00:00 2001 From: Joel Labes Date: Wed, 13 Dec 2023 16:45:05 +1300 Subject: [PATCH 119/165] Fix typos in blog name and description --- website/blog/2023-12-11-semantic-layer-on-semantic-layer.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md b/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md index 1b80297bb44..ea77072a6dd 100644 --- a/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md +++ b/website/blog/2023-12-11-semantic-layer-on-semantic-layer.md @@ -1,6 +1,6 @@ --- -title: "How we built consitent product launch metrics with the dbt Semantic Layer." -description: "We built and end-to-end data pipeline for measuring the launch of the dbt Semantic Layer using the dbt Semantic Layer." +title: "How we built consistent product launch metrics with the dbt Semantic Layer." +description: "We built an end-to-end data pipeline for measuring the launch of the dbt Semantic Layer using the dbt Semantic Layer." slug: product-analytics-pipeline-with-dbt-semantic-layer authors: [jordan_stein] From 99a3ed283f118aba1463bf99a330669991108793 Mon Sep 17 00:00:00 2001 From: Erik Mathiesen Date: Wed, 13 Dec 2023 09:50:05 +0100 Subject: [PATCH 120/165] Update infer-dbt documentation to fix broken links and add configuration page. --- .../core/connect-data-platform/infer-setup.md | 25 +++++++++--- .../resource-configs/infer-configs.md | 39 +++++++++++++++++++ website/sidebars.js | 1 + 3 files changed, 59 insertions(+), 6 deletions(-) create mode 100644 website/docs/reference/resource-configs/infer-configs.md diff --git a/website/docs/docs/core/connect-data-platform/infer-setup.md b/website/docs/docs/core/connect-data-platform/infer-setup.md index 7642c553cc4..c04fba59a56 100644 --- a/website/docs/docs/core/connect-data-platform/infer-setup.md +++ b/website/docs/docs/core/connect-data-platform/infer-setup.md @@ -12,16 +12,21 @@ meta: slack_channel_name: n/a slack_channel_link: platform_name: 'Infer' - config_page: '/reference/resource-configs/no-configs' + config_page: '/reference/resource-configs/infer-configs' min_supported_version: n/a --- +:::info Vendor-supported plugin + +Certain core functionality may vary. If you would like to report a bug, request a feature, or contribute, you can check out the linked repository and open an issue. + +::: + import SetUpPages from '/snippets/_setup-pages-intro.md'; - ## Connecting to Infer with **dbt-infer** Infer allows you to perform advanced ML Analytics within SQL as if native to your data warehouse. @@ -30,10 +35,18 @@ you can build advanced analysis for any business use case. Read more about SQL-inf and Infer in the [Infer documentation](https://docs.getinfer.io/). The `dbt-infer` package allow you to use SQL-inf easily within your DBT models. -You can read more about the `dbt-infer` package itself and how it connecst to Infer in the [dbt-infer documentation](https://dbt.getinfer.io/). +You can read more about the `dbt-infer` package itself and how it connects to Infer in the [dbt-infer documentation](https://dbt.getinfer.io/). + +The dbt-infer adapter is maintained via PyPi and installed with pip. +To install the latest dbt-infer package simply run the following within the same shell as you run dbt. +```python +pip install dbt-infer +``` + +Versioning of dbt-infer follows the standard dbt versioning scheme - meaning if you are using dbt 1.2 the corresponding dbt-infer will be named 1.2.x where is the latest minor version number. Before using SQL-inf in your DBT models you need to setup an Infer account and generate an API-key for the connection. -You can read how to do that in the [Getting Started Guide](https://dbt.getinfer.io/docs/getting_started#sign-up-to-infer). +You can read how to do that in the [Getting Started Guide](https://docs.getinfer.io/docs/reference/integrations/dbt). The profile configuration in `profiles.yml` for `dbt-infer` should look something like this: @@ -101,10 +114,10 @@ as native SQL functions. Infer supports a number of SQL-inf commands, including `PREDICT`, `EXPLAIN`, `CLUSTER`, `SIMILAR_TO`, `TOPICS`, `SENTIMENT`. -You can read more about SQL-inf and the commands it supports in the [SQL-inf Reference Guide](https://docs.getinfer.io/docs/reference). +You can read more about SQL-inf and the commands it supports in the [SQL-inf Reference Guide](https://docs.getinfer.io/docs/category/commands). To get you started we will give a brief example here of what such a model might look like. -You can find other more complex examples on the [dbt-infer examples page](https://dbt.getinfer.io/docs/examples). +You can find other more complex examples in the [dbt-infer examples repo](https://github.com/inferlabs/dbt-infer-examples). In our simple example, we will show how to use a previous model 'user_features' to predict churn by predicting the column `has_churned`. diff --git a/website/docs/reference/resource-configs/infer-configs.md b/website/docs/reference/resource-configs/infer-configs.md new file mode 100644 index 00000000000..c4837806935 --- /dev/null +++ b/website/docs/reference/resource-configs/infer-configs.md @@ -0,0 +1,39 @@ +--- +title: "Infer configurations" +description: "Read this guide to understand how to configure Infer with dbt." +id: "infer-configs" +--- + + +## Authentication + +To connect to Infer from your dbt instance you need to set up a correct profile in your `profiles.yml`. + +The format of this should look like this: + + + +```yaml +: + target: + outputs: + : + type: infer + url: "" + username: "" + apikey: "" + data_config: + [configuration for your underlying data warehouse] +``` + + + +### Description of Infer Profile Fields + +| Field | Required | Description | +|------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------| +| `type` | Yes | Must be set to `infer`. This must be included either in `profiles.yml` or in the `dbt_project.yml` file. | +| `url` | Yes | The host name of the Infer server to connect to. Typically this is `https://app.getinfer.io`. | +| `username` | Yes | Your Infer username - the one you use to login. | +| `apikey` | Yes | Your Infer api key. | +| `data_config` | Yes | The configuration for your underlying data warehouse. The format of this follows the format of the configuration for your data warehouse adapter. | diff --git a/website/sidebars.js b/website/sidebars.js index 598fffc7f0d..ba00ba582b2 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -723,6 +723,7 @@ const sidebarSettings = { "reference/resource-configs/oracle-configs", "reference/resource-configs/upsolver-configs", "reference/resource-configs/starrocks-configs", + "reference/resource-configs/infer-configs", ], }, { From a4e83e41016851832a7107bfcd246724eabb877a Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 13 Dec 2023 07:17:50 -0500 Subject: [PATCH 121/165] Update website/snippets/_sl-deprecation-notice.md Co-authored-by: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> --- website/snippets/_sl-deprecation-notice.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/snippets/_sl-deprecation-notice.md b/website/snippets/_sl-deprecation-notice.md index d19dd78ca15..610b1574b7d 100644 --- a/website/snippets/_sl-deprecation-notice.md +++ b/website/snippets/_sl-deprecation-notice.md @@ -1,5 +1,5 @@ :::info Deprecation of dbt Metrics and the legacy dbt Semantic Layer dbt Labs has deprecated dbt Metrics and the legacy dbt Semantic Layer, both supported on dbt version 1.5 or lower. These changes went into effect on December 15th, 2023. -To switch over and access [MetricFlow](/docs/build/build-metrics-intro) or the re-released dbt Semantic Layer, use the [dbt Semantic Layer migration guide](/guides/sl-migration) and [upgrade your version](/docs/dbt-versions/upgrade-core-in-cloud) in dbt Cloud. +To migrate and access [MetricFlow](/docs/build/build-metrics-intro) or the re-released dbt Semantic Layer, use the [dbt Semantic Layer migration guide](/guides/sl-migration) and [upgrade your version](/docs/dbt-versions/upgrade-core-in-cloud) in dbt Cloud. ::: From 735edf3eada82d5628b523ff265f7cead70155fc Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 13 Dec 2023 07:18:14 -0500 Subject: [PATCH 122/165] Update website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md Co-authored-by: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> --- .../docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md index e940583c602..efb13132506 100644 --- a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md +++ b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md @@ -8,7 +8,7 @@ date: 2023-12-15 dbt Labs has deprecated dbt Metrics and the legacy dbt Semantic Layer, both supported on dbt version 1.5 or lower. These changes will be in effect on _December 15th, 2023_. -This deprecation means dbt Metrics and the legacy Semantic Layer will no longer be supported. We will also remove the feature from the dbt Cloud user interface and documentation site. +This deprecation means dbt Metrics and the legacy Semantic Layer are no longer supported. We also removed the feature from the dbt Cloud user interface and documentation site. ### Why this change? From 5a2b28ecac45fb4e347ea31bbf2aae39684e5bae Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 13 Dec 2023 07:19:24 -0500 Subject: [PATCH 123/165] Update website/snippets/_new-sl-setup.md Co-authored-by: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> --- website/snippets/_new-sl-setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/snippets/_new-sl-setup.md b/website/snippets/_new-sl-setup.md index c69cb23f425..a02481db33d 100644 --- a/website/snippets/_new-sl-setup.md +++ b/website/snippets/_new-sl-setup.md @@ -8,7 +8,7 @@ You can set up the dbt Semantic Layer in dbt Cloud at the environment and projec - You must have a successful run in your new environment. :::tip -If you've configured the legacy Semantic Layer, dbt Labs strongly recommends that you [upgrade your dbt version](/docs/dbt-versions/upgrade-core-in-cloud) to dbt version 1.6 or higher to use the latest dbt Semantic Layer. Refer to the dedicated [migration guide](/guides/sl-migration) for details. +If you've configured the legacy Semantic Layer, it has been deprecated, and dbt Labs strongly recommends that you [upgrade your dbt version](/docs/dbt-versions/upgrade-core-in-cloud) to dbt version 1.6 or higher to use the latest dbt Semantic Layer. Refer to the dedicated [migration guide](/guides/sl-migration) for details. ::: 1. In dbt Cloud, create a new [deployment environment](/docs/deploy/deploy-environments#create-a-deployment-environment) or use an existing environment on dbt 1.6 or higher. From 1d66dfd2e538d6c84e3f1c1d076cf717b0145fbe Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 13 Dec 2023 07:32:16 -0500 Subject: [PATCH 124/165] Update website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md --- .../docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md index efb13132506..bc761d35e82 100644 --- a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md +++ b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md @@ -6,7 +6,7 @@ sidebar_position: 09 date: 2023-12-15 --- -dbt Labs has deprecated dbt Metrics and the legacy dbt Semantic Layer, both supported on dbt version 1.5 or lower. These changes will be in effect on _December 15th, 2023_. +dbt Labs has deprecated dbt Metrics and the legacy dbt Semantic Layer, both supported on dbt version 1.5 or lower. This change starts on December 15th, 2023. This deprecation means dbt Metrics and the legacy Semantic Layer are no longer supported. We also removed the feature from the dbt Cloud user interface and documentation site. From 0a73352bfa3de4ffa59190c83cbaa22005103857 Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Wed, 13 Dec 2023 08:41:17 -0700 Subject: [PATCH 125/165] Correct default incremental strategy for dbt-databricks `merge` has been the default since dbt-databricks 1.0.0: https://github.com/databricks/dbt-databricks/blob/7ad5507a8a38bde682bb28eb37466bbfc341ac94/CHANGELOG.md?plain=1#L404 --- website/docs/docs/build/incremental-models.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/docs/build/incremental-models.md b/website/docs/docs/build/incremental-models.md index 3a597499f04..afff3950c44 100644 --- a/website/docs/docs/build/incremental-models.md +++ b/website/docs/docs/build/incremental-models.md @@ -256,7 +256,7 @@ The `merge` strategy is available in dbt-postgres and dbt-redshift beginning in | [dbt-redshift](/reference/resource-configs/redshift-configs#incremental-materialization-strategies) | `append` | `delete+insert` | | [dbt-bigquery](/reference/resource-configs/bigquery-configs#merge-behavior-incremental-models) | `merge` | `insert_overwrite` | | [dbt-spark](/reference/resource-configs/spark-configs#incremental-models) | `append` | `merge` (Delta only) `insert_overwrite` | -| [dbt-databricks](/reference/resource-configs/databricks-configs#incremental-models) | `append` | `merge` (Delta only) `insert_overwrite` | +| [dbt-databricks](/reference/resource-configs/databricks-configs#incremental-models) | `merge` | `append`, `insert_overwrite` | | [dbt-snowflake](/reference/resource-configs/snowflake-configs#merge-behavior-incremental-models) | `merge` | `append`, `delete+insert` | | [dbt-trino](/reference/resource-configs/trino-configs#incremental) | `append` | `merge` `delete+insert` | @@ -271,7 +271,7 @@ The `merge` strategy is available in dbt-postgres and dbt-redshift beginning in | [dbt-redshift](/reference/resource-configs/redshift-configs#incremental-materialization-strategies) | `append` | `merge`, `delete+insert` | | [dbt-bigquery](/reference/resource-configs/bigquery-configs#merge-behavior-incremental-models) | `merge` | `insert_overwrite` | | [dbt-spark](/reference/resource-configs/spark-configs#incremental-models) | `append` | `merge` (Delta only) `insert_overwrite` | -| [dbt-databricks](/reference/resource-configs/databricks-configs#incremental-models) | `append` | `merge` (Delta only) `insert_overwrite` | +| [dbt-databricks](/reference/resource-configs/databricks-configs#incremental-models) | `merge` | `append`, `insert_overwrite` | | [dbt-snowflake](/reference/resource-configs/snowflake-configs#merge-behavior-incremental-models) | `merge` | `append`, `delete+insert` | | [dbt-trino](/reference/resource-configs/trino-configs#incremental) | `append` | `merge` `delete+insert` | From 7d56df5d580e7954718292f2945354d2fada5307 Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Wed, 13 Dec 2023 09:18:09 -0700 Subject: [PATCH 126/165] Commas for consistency --- website/docs/docs/build/incremental-models.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/docs/build/incremental-models.md b/website/docs/docs/build/incremental-models.md index afff3950c44..fc9a8313d60 100644 --- a/website/docs/docs/build/incremental-models.md +++ b/website/docs/docs/build/incremental-models.md @@ -258,7 +258,7 @@ The `merge` strategy is available in dbt-postgres and dbt-redshift beginning in | [dbt-spark](/reference/resource-configs/spark-configs#incremental-models) | `append` | `merge` (Delta only) `insert_overwrite` | | [dbt-databricks](/reference/resource-configs/databricks-configs#incremental-models) | `merge` | `append`, `insert_overwrite` | | [dbt-snowflake](/reference/resource-configs/snowflake-configs#merge-behavior-incremental-models) | `merge` | `append`, `delete+insert` | -| [dbt-trino](/reference/resource-configs/trino-configs#incremental) | `append` | `merge` `delete+insert` | +| [dbt-trino](/reference/resource-configs/trino-configs#incremental) | `append` | `merge`, `delete+insert` | @@ -273,7 +273,7 @@ The `merge` strategy is available in dbt-postgres and dbt-redshift beginning in | [dbt-spark](/reference/resource-configs/spark-configs#incremental-models) | `append` | `merge` (Delta only) `insert_overwrite` | | [dbt-databricks](/reference/resource-configs/databricks-configs#incremental-models) | `merge` | `append`, `insert_overwrite` | | [dbt-snowflake](/reference/resource-configs/snowflake-configs#merge-behavior-incremental-models) | `merge` | `append`, `delete+insert` | -| [dbt-trino](/reference/resource-configs/trino-configs#incremental) | `append` | `merge` `delete+insert` | +| [dbt-trino](/reference/resource-configs/trino-configs#incremental) | `append` | `merge`, `delete+insert` | From 55f9664e864cf5f580b36762aaa0388f049d93f0 Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Wed, 13 Dec 2023 09:24:18 -0700 Subject: [PATCH 127/165] Remove out-dated references to Delta --- website/docs/docs/build/incremental-models.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/docs/build/incremental-models.md b/website/docs/docs/build/incremental-models.md index fc9a8313d60..f55870a3425 100644 --- a/website/docs/docs/build/incremental-models.md +++ b/website/docs/docs/build/incremental-models.md @@ -255,7 +255,7 @@ The `merge` strategy is available in dbt-postgres and dbt-redshift beginning in | [dbt-postgres](/reference/resource-configs/postgres-configs#incremental-materialization-strategies) | `append` | `delete+insert` | | [dbt-redshift](/reference/resource-configs/redshift-configs#incremental-materialization-strategies) | `append` | `delete+insert` | | [dbt-bigquery](/reference/resource-configs/bigquery-configs#merge-behavior-incremental-models) | `merge` | `insert_overwrite` | -| [dbt-spark](/reference/resource-configs/spark-configs#incremental-models) | `append` | `merge` (Delta only) `insert_overwrite` | +| [dbt-spark](/reference/resource-configs/spark-configs#incremental-models) | `append` | `merge`, `insert_overwrite` | | [dbt-databricks](/reference/resource-configs/databricks-configs#incremental-models) | `merge` | `append`, `insert_overwrite` | | [dbt-snowflake](/reference/resource-configs/snowflake-configs#merge-behavior-incremental-models) | `merge` | `append`, `delete+insert` | | [dbt-trino](/reference/resource-configs/trino-configs#incremental) | `append` | `merge`, `delete+insert` | @@ -270,7 +270,7 @@ The `merge` strategy is available in dbt-postgres and dbt-redshift beginning in | [dbt-postgres](/reference/resource-configs/postgres-configs#incremental-materialization-strategies) | `append` | `merge` , `delete+insert` | | [dbt-redshift](/reference/resource-configs/redshift-configs#incremental-materialization-strategies) | `append` | `merge`, `delete+insert` | | [dbt-bigquery](/reference/resource-configs/bigquery-configs#merge-behavior-incremental-models) | `merge` | `insert_overwrite` | -| [dbt-spark](/reference/resource-configs/spark-configs#incremental-models) | `append` | `merge` (Delta only) `insert_overwrite` | +| [dbt-spark](/reference/resource-configs/spark-configs#incremental-models) | `append` | `merge`, `insert_overwrite` | | [dbt-databricks](/reference/resource-configs/databricks-configs#incremental-models) | `merge` | `append`, `insert_overwrite` | | [dbt-snowflake](/reference/resource-configs/snowflake-configs#merge-behavior-incremental-models) | `merge` | `append`, `delete+insert` | | [dbt-trino](/reference/resource-configs/trino-configs#incremental) | `append` | `merge`, `delete+insert` | From 69ca5bab37fa9f6ef10a36007bb476e2c85bc3f5 Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Wed, 13 Dec 2023 09:26:28 -0700 Subject: [PATCH 128/165] Standardize width of markdown table --- website/docs/docs/build/incremental-models.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/docs/docs/build/incremental-models.md b/website/docs/docs/build/incremental-models.md index f55870a3425..01a392c12fe 100644 --- a/website/docs/docs/build/incremental-models.md +++ b/website/docs/docs/build/incremental-models.md @@ -258,7 +258,7 @@ The `merge` strategy is available in dbt-postgres and dbt-redshift beginning in | [dbt-spark](/reference/resource-configs/spark-configs#incremental-models) | `append` | `merge`, `insert_overwrite` | | [dbt-databricks](/reference/resource-configs/databricks-configs#incremental-models) | `merge` | `append`, `insert_overwrite` | | [dbt-snowflake](/reference/resource-configs/snowflake-configs#merge-behavior-incremental-models) | `merge` | `append`, `delete+insert` | -| [dbt-trino](/reference/resource-configs/trino-configs#incremental) | `append` | `merge`, `delete+insert` | +| [dbt-trino](/reference/resource-configs/trino-configs#incremental) | `append` | `merge`, `delete+insert` | @@ -267,13 +267,13 @@ The `merge` strategy is available in dbt-postgres and dbt-redshift beginning in | data platform adapter | default strategy | additional supported strategies | | :----------------- | :----------------| : ---------------------------------- | -| [dbt-postgres](/reference/resource-configs/postgres-configs#incremental-materialization-strategies) | `append` | `merge` , `delete+insert` | -| [dbt-redshift](/reference/resource-configs/redshift-configs#incremental-materialization-strategies) | `append` | `merge`, `delete+insert` | +| [dbt-postgres](/reference/resource-configs/postgres-configs#incremental-materialization-strategies) | `append` | `merge` , `delete+insert` | +| [dbt-redshift](/reference/resource-configs/redshift-configs#incremental-materialization-strategies) | `append` | `merge`, `delete+insert` | | [dbt-bigquery](/reference/resource-configs/bigquery-configs#merge-behavior-incremental-models) | `merge` | `insert_overwrite` | | [dbt-spark](/reference/resource-configs/spark-configs#incremental-models) | `append` | `merge`, `insert_overwrite` | | [dbt-databricks](/reference/resource-configs/databricks-configs#incremental-models) | `merge` | `append`, `insert_overwrite` | | [dbt-snowflake](/reference/resource-configs/snowflake-configs#merge-behavior-incremental-models) | `merge` | `append`, `delete+insert` | -| [dbt-trino](/reference/resource-configs/trino-configs#incremental) | `append` | `merge`, `delete+insert` | +| [dbt-trino](/reference/resource-configs/trino-configs#incremental) | `append` | `merge`, `delete+insert` | From 808336651e2b733db9ece174a06f7a277ee84a7c Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 13 Dec 2023 11:28:33 -0500 Subject: [PATCH 129/165] Update website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md --- .../docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md index bc761d35e82..df4616f4d43 100644 --- a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md +++ b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md @@ -18,7 +18,7 @@ The [re-released dbt Semantic Layer](/docs/use-dbt-semantic-layer/dbt-sl), power - **Deprecation date** — The legacy Semantic Layer and dbt Metrics will be officially deprecated on December 15th, 2023. - **Replacement** — [MetricFlow](/docs/build/build-metrics-intro) replaces dbt Metrics for defining semantic logic. The `dbt_metrics` package will no longer be supported post-deprecation. -- **New feature** — Exports replaces the materializations functionality and will be available in dbt Cloud in December or January. +- **New feature** — Exports replaces the materializing data with `metrics.calculate` functionality and will be available in dbt Cloud in December or January. ### Breaking changes and recommendations From 1fc78210e06413cc8722b6d323298cdd92735ffe Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Wed, 13 Dec 2023 12:04:45 -0500 Subject: [PATCH 130/165] add link to description docs --- .../resource-configs/bigquery-configs.md | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/website/docs/reference/resource-configs/bigquery-configs.md b/website/docs/reference/resource-configs/bigquery-configs.md index 9e61a8d5265..d47562ec2bb 100644 --- a/website/docs/reference/resource-configs/bigquery-configs.md +++ b/website/docs/reference/resource-configs/bigquery-configs.md @@ -725,18 +725,18 @@ The `grant_access_to` config is not thread-safe when multiple views need to be a The BigQuery adapter supports [materialized views](https://cloud.google.com/bigquery/docs/materialized-views-intro) with the following configuration parameters: -| Parameter | Type | Required | Default | Change Monitoring Support | -|--------------------------------------------------------|------------------------|----------|---------|---------------------------| -| `on_configuration_change` | `` | no | `apply` | n/a | -| [`cluster_by`](#clustering-clause) | `[]` | no | `none` | drop/create | -| [`partition_by`](#partition-clause) | `{}` | no | `none` | drop/create | -| [`enable_refresh`](#auto-refresh) | `` | no | `true` | alter | -| [`refresh_interval_minutes`](#auto-refresh) | `` | no | `30` | alter | -| [`max_staleness`](#auto-refresh) (in Preview) | `` | no | `none` | alter | -| `description` | `` | no | `none` | alter | -| [`labels`](#specifying-labels) | `{: }` | no | `none` | alter | -| [`hours_to_expiration`](#controlling-table-expiration) | `` | no | `none` | alter | -| [`kms_key_name`](#using-kms-encryption) | `` | no | `none` | alter | +| Parameter | Type | Required | Default | Change Monitoring Support | +|-------------------------------------------------------------|------------------------|----------|---------|---------------------------| +| `on_configuration_change` | `` | no | `apply` | n/a | +| [`cluster_by`](#clustering-clause) | `[]` | no | `none` | drop/create | +| [`partition_by`](#partition-clause) | `{}` | no | `none` | drop/create | +| [`enable_refresh`](#auto-refresh) | `` | no | `true` | alter | +| [`refresh_interval_minutes`](#auto-refresh) | `` | no | `30` | alter | +| [`max_staleness`](#auto-refresh) (in Preview) | `` | no | `none` | alter | +| [`description`](/reference/resource-properties/description) | `` | no | `none` | alter | +| [`labels`](#specifying-labels) | `{: }` | no | `none` | alter | +| [`hours_to_expiration`](#controlling-table-expiration) | `` | no | `none` | alter | +| [`kms_key_name`](#using-kms-encryption) | `` | no | `none` | alter | [+](/reference/resource-configs/plus-prefix)[max_staleness](#auto-refresh): - [+](/reference/resource-configs/plus-prefix)description: + [+](/reference/resource-configs/plus-prefix)[description](/reference/resource-properties/description): [+](/reference/resource-configs/plus-prefix)[labels](#specifying-labels): {: } [+](/reference/resource-configs/plus-prefix)[hours_to_expiration](#acontrolling-table-expiration): [+](/reference/resource-configs/plus-prefix)[kms_key_name](##using-kms-encryption): @@ -809,7 +809,7 @@ models: [enable_refresh](#auto-refresh): true | false [refresh_interval_minutes](#auto-refresh): [max_staleness](#auto-refresh): - description: + [description](/reference/resource-properties/description): [labels](#specifying-labels): {: } [hours_to_expiration](#acontrolling-table-expiration): [kms_key_name](##using-kms-encryption): @@ -850,7 +850,7 @@ models: [max_staleness](#auto-refresh)="", # additional options - description="", + [description](/reference/resource-properties/description)="", [labels](#specifying-labels)={ "": "", }, From 8f1268241aad643772c0e9308eff5a2c7ada5ac8 Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Wed, 13 Dec 2023 10:13:54 -0700 Subject: [PATCH 131/165] Update description of robust testing --- website/docs/community/resources/oss-expectations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/community/resources/oss-expectations.md b/website/docs/community/resources/oss-expectations.md index 762e87d97fb..a57df7fe67f 100644 --- a/website/docs/community/resources/oss-expectations.md +++ b/website/docs/community/resources/oss-expectations.md @@ -94,7 +94,7 @@ PRs are your surest way to make the change you want to see in dbt / packages / d **Every PR should be associated with an issue.** Why? Before you spend a lot of time working on a contribution, we want to make sure that your proposal will be accepted. You should open an issue first, describing your desired outcome and outlining your planned change. If you've found an older issue that's already open, comment on it with an outline for your planned implementation. Exception to this rule: If you're just opening a PR for a cosmetic fix, such as a typo in documentation, an issue isn't needed. -**PRs should include robust testing.** With the goal to substantially cut down the number and impact of regressions, we are taking a more meticulous approach to the tests that we require to merge a pull request. We recognize that robust testing can often take significantly more effort than the main portion of the code. Thank you for your help in contributing to this goal! +**PRs should include robust testing.** Comprehensive testing within pull requests is crucial for the stability of our project. By prioritizing robust testing, we ensure the reliability of our codebase, minimize unforeseen issues and safeguard against potential regressions. We understand that creating thorough tests often requires significant effort, and your dedication to this process greatly contributes to the project's overall reliability. Thank you for your commitment to maintaining the integrity of our codebase!" **Our goal is to review most new PRs within 7 days.** The first review will include some high-level comments about the implementation, including (at a high level) whether it’s something we think suitable to merge. Depending on the scope of the PR, the first review may include line-level code suggestions, or we may delay specific code review until the PR is more finalized / until we have more time. From 776e159ed5fc67e138965b071253ac44eaee54b2 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 13 Dec 2023 12:36:52 -0500 Subject: [PATCH 132/165] Apply suggestions from code review --- .../resource-configs/bigquery-configs.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/website/docs/reference/resource-configs/bigquery-configs.md b/website/docs/reference/resource-configs/bigquery-configs.md index d47562ec2bb..d3497a02caf 100644 --- a/website/docs/reference/resource-configs/bigquery-configs.md +++ b/website/docs/reference/resource-configs/bigquery-configs.md @@ -866,7 +866,7 @@ models: Many of these parameters correspond to their table counterparts and have been linked above. -The set of parameters which are unique to materialized views covers auto-refresh functionality, which is covered [below](#auto-refresh). +The set of parameters unique to materialized views covers [auto-refresh functionality](#auto-refresh). Find more information about these parameters in the BigQuery docs: - [CREATE MATERIALIZED VIEW statement](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_materialized_view_statement) @@ -881,9 +881,9 @@ Find more information about these parameters in the BigQuery docs: | `max_staleness` (in Preview) | `` | no | `none` | alter | BigQuery supports [automatic refresh](https://cloud.google.com/bigquery/docs/materialized-views-manage#automatic_refresh) configuration for materialized views. -By default, a materialized view will automatically refresh within 5 minutes of changes in the base table, but no more frequently than every 30 minutes. -BigQuery only officially supports configuration of the frequency (the "30 minutes" part); -however, there is a feature in preview that allows for configuration of the staleness (the "5 minutes" part). +By default, a materialized view will automatically refresh within 5 minutes of changes in the base table, but not more frequently than once every 30 minutes. +BigQuery only officially supports the configuration of the frequency (the "once every 30 minutes" frequency); +however, there is a feature in preview that allows for the configuration of the staleness (the "5 minutes" refresh). dbt will monitor these parameters for changes and apply them using an `ALTER` statement. Find more information about these parameters in the BigQuery docs: @@ -894,11 +894,11 @@ Find more information about these parameters in the BigQuery docs: As with most data platforms, there are limitations associated with materialized views. Some worth noting include: -- Materialized view SQL has a [limited feature set](https://cloud.google.com/bigquery/docs/materialized-views-create#supported-mvs) -- Materialized view SQL cannot be updated; the materialized view must go through a `--full-refresh` (DROP/CREATE) -- The `partition_by` clause on a materialized view must match that of the underlying base table -- While materialized views can have descriptions, materialized view *columns* cannot -- Recreating/dropping the base table requires recreating/dropping the materialized view +- Materialized view SQL has a [limited feature set](https://cloud.google.com/bigquery/docs/materialized-views-create#supported-mvs). +- Materialized view SQL cannot be updated; the materialized view must go through a `--full-refresh` (DROP/CREATE). +- The `partition_by` clause on a materialized view must match that of the underlying base table. +- While materialized views can have descriptions, materialized view *columns* cannot. +- Recreating/dropping the base table requires recreating/dropping the materialized view. Find more information about materialized view limitations in Google's BigQuery [docs](https://cloud.google.com/bigquery/docs/materialized-views-intro#limitations). From 5d2fd560124e5cf89797a484f52abe3307da736d Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 13 Dec 2023 13:16:18 -0500 Subject: [PATCH 133/165] Update snowflake-configs.md --- .../resource-configs/snowflake-configs.md | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/website/docs/reference/resource-configs/snowflake-configs.md b/website/docs/reference/resource-configs/snowflake-configs.md index a5c2e6f57d9..a24b072d39c 100644 --- a/website/docs/reference/resource-configs/snowflake-configs.md +++ b/website/docs/reference/resource-configs/snowflake-configs.md @@ -435,21 +435,18 @@ Find more information about these parameters in the Snowflake docs: ### Target lag -Snowflake allows two configuration scenarios for scheduling automatic refreshes: time-based and dependency-based. -For time-based automatic refreshes, provide a value of the form ` { seconds | minutes | hours | days }`. -For example, if the dynamic table needs to be updated every 30 minutes, use `target_lag='30 minutes'`. -However, for scenarios where the referenced objects are themselves dynamic tables, it might be desirable to refresh -the dynamic table whenever the underlying dynamic table is refreshed. In this scenario, use `target_lag='downstream'`. -This allows for refresh schedules to be controlled once, at the source, instead of at each layer. +Snowflake allows two configuration scenarios for scheduling automatic refreshes: +- **Time-based** — Provide a value of the form ` { seconds | minutes | hours | days }`. For example, if the dynamic table needs to be updated every 30 minutes, use `target_lag='30 minutes'`. +- **Downstream** — For scenarios where the referenced objects are themselves dynamic tables, it might be desirable to refresh the dynamic table whenever the underlying dynamic table is refreshed. In this scenario, use `target_lag='downstream'`. This allows for refresh schedules to be controlled once, at the source, instead of at each layer. ### Limitations As with materialized views on most data platforms, there are limitations associated with dynamic tables. Some worth noting include: -- Dynamic table SQL has a [limited feature set](https://docs.snowflake.com/en/user-guide/dynamic-tables-tasks-create#query-constructs-not-currently-supported-in-dynamic-tables) -- Dynamic table SQL cannot be updated; the dynamic table must go through a `--full-refresh` (DROP/CREATE) -- Dynamic tables cannot be downstream from: materialized views, external tables, streams -- Dynamic tables cannot reference a view that is downstream from another dynamic table +- Dynamic table SQL has a [limited feature set](https://docs.snowflake.com/en/user-guide/dynamic-tables-tasks-create#query-constructs-not-currently-supported-in-dynamic-tables). +- Dynamic table SQL cannot be updated; the dynamic table must go through a `--full-refresh` (DROP/CREATE). +- Dynamic tables cannot be downstream from: materialized views, external tables, streams. +- Dynamic tables cannot reference a view that is downstream from another dynamic table. Find more information about dynamic table limitations in Snowflake's [docs](https://docs.snowflake.com/en/user-guide/dynamic-tables-tasks-create#dynamic-table-limitations-and-supported-functions). From 9923e29b4820d489aaaad4957e010d5639bcc93b Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 13 Dec 2023 13:24:38 -0500 Subject: [PATCH 134/165] Apply suggestions from code review --- website/docs/reference/resource-configs/redshift-configs.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/docs/reference/resource-configs/redshift-configs.md b/website/docs/reference/resource-configs/redshift-configs.md index f610d19a346..b559c0451b0 100644 --- a/website/docs/reference/resource-configs/redshift-configs.md +++ b/website/docs/reference/resource-configs/redshift-configs.md @@ -202,7 +202,7 @@ models: Many of these parameters correspond to their table counterparts and have been linked above. -The parameters unique to materialized views are the auto-refresh and backup functionality, which are covered below. +The parameters unique to materialized views are the [auto-refresh](#auto-refresh) and [backup](#backup) functionality, which are covered below. Find more information about the [CREATE MATERIALIZED VIEW](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-create-sql-command.html) parameters in the Redshift docs. @@ -216,7 +216,7 @@ Redshift supports [automatic refresh](https://docs.aws.amazon.com/redshift/lates By default, a materialized view does not automatically refresh. dbt monitors this parameter for changes and applies them using an `ALTER` statement. -Find more information about the [parameters](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-create-sql-command.html#mv_CREATE_MATERIALIZED_VIEW-parameters) in the Redshift docs. +Learn more information about the [parameters](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-create-sql-command.html#mv_CREATE_MATERIALIZED_VIEW-parameters) in the Redshift docs. #### Backup @@ -230,7 +230,7 @@ By default, a materialized view will be backed up during a cluster snapshot. dbt cannot monitor this parameter as it is not queryable within Redshift. If the value is changed, the materialized view will need to go through a `--full-refresh` in order to set it. -Find more information about the [parameters](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-create-sql-command.html#mv_CREATE_MATERIALIZED_VIEW-parameters) in the Redshift docs. +Learn more about the [parameters](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-create-sql-command.html#mv_CREATE_MATERIALIZED_VIEW-parameters) in the Redshift docs. ### Limitations From b84b59eba4b990ef6ca4c1c883b658f0a3f34bd7 Mon Sep 17 00:00:00 2001 From: Mike Alfare Date: Wed, 13 Dec 2023 14:11:45 -0500 Subject: [PATCH 135/165] update downstream option for target_lag, fix external docs reference to be consistent --- .../docs/reference/resource-configs/snowflake-configs.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/website/docs/reference/resource-configs/snowflake-configs.md b/website/docs/reference/resource-configs/snowflake-configs.md index a24b072d39c..aa2bf370df6 100644 --- a/website/docs/reference/resource-configs/snowflake-configs.md +++ b/website/docs/reference/resource-configs/snowflake-configs.md @@ -430,14 +430,15 @@ models: -Find more information about these parameters in the Snowflake docs: -- [CREATE DYNAMIC TABLE](https://docs.snowflake.com/en/sql-reference/sql/create-dynamic-table) +Find more information about these parameters in Snowflake's [docs](https://docs.snowflake.com/en/sql-reference/sql/create-dynamic-table): ### Target lag Snowflake allows two configuration scenarios for scheduling automatic refreshes: - **Time-based** — Provide a value of the form ` { seconds | minutes | hours | days }`. For example, if the dynamic table needs to be updated every 30 minutes, use `target_lag='30 minutes'`. -- **Downstream** — For scenarios where the referenced objects are themselves dynamic tables, it might be desirable to refresh the dynamic table whenever the underlying dynamic table is refreshed. In this scenario, use `target_lag='downstream'`. This allows for refresh schedules to be controlled once, at the source, instead of at each layer. +- **Downstream** — Applicable when the dynamic table is referenced by other dynamic tables. In this scenario, `target_lag='downstream'` allows for refreshes to be controlled at the target, instead of at each layer. + +Find more information about `target_lag` in Snowflake's [docs](https://docs.snowflake.com/en/user-guide/dynamic-tables-refresh#understanding-target-lag). ### Limitations From 6ac9d633d37c75762bfff7a349a13ffbb72bf4fd Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 13 Dec 2023 14:14:16 -0500 Subject: [PATCH 136/165] Apply suggestions from code review --- website/docs/reference/resource-configs/postgres-configs.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/docs/reference/resource-configs/postgres-configs.md b/website/docs/reference/resource-configs/postgres-configs.md index c904802d598..c01ea9ea718 100644 --- a/website/docs/reference/resource-configs/postgres-configs.md +++ b/website/docs/reference/resource-configs/postgres-configs.md @@ -194,9 +194,9 @@ models: -The `indexes` parameter corresponds to that of a table, as linked above. -It's worth noting that, unlike with tables, dbt will monitor this parameter for changes and apply the changes without dropping the materialized view. -This happens via a `DROP/CREATE` of the indexes, which could be thought of as a `ALTER` of the materialized view. +The [`indexes`](#indexes) parameter corresponds to that of a table, as explained above. +It's worth noting that, unlike with tables, dbt monitors this parameter for changes and applies the changes without dropping the materialized view. +This happens via a `DROP/CREATE` of the indexes, which can be thought of as an `ALTER` of the materialized view. Find more information about materialized view parameters in the Postgres docs: - [CREATE MATERIALIZED VIEW](https://www.postgresql.org/docs/current/sql-creatematerializedview.html) From e4b780cefa4fd7852ca593488faed5c150beb7d3 Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Wed, 13 Dec 2023 14:14:42 -0500 Subject: [PATCH 137/165] Update website/docs/reference/resource-configs/postgres-configs.md --- website/docs/reference/resource-configs/postgres-configs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/resource-configs/postgres-configs.md b/website/docs/reference/resource-configs/postgres-configs.md index c01ea9ea718..8465a5cbb31 100644 --- a/website/docs/reference/resource-configs/postgres-configs.md +++ b/website/docs/reference/resource-configs/postgres-configs.md @@ -195,7 +195,7 @@ models: The [`indexes`](#indexes) parameter corresponds to that of a table, as explained above. -It's worth noting that, unlike with tables, dbt monitors this parameter for changes and applies the changes without dropping the materialized view. +It's worth noting that, unlike tables, dbt monitors this parameter for changes and applies the changes without dropping the materialized view. This happens via a `DROP/CREATE` of the indexes, which can be thought of as an `ALTER` of the materialized view. Find more information about materialized view parameters in the Postgres docs: From 0c9243f0ecc3075597b3ee06b794e810ecb36df3 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:15:27 -0500 Subject: [PATCH 138/165] Create index.js add javascript --- website/src/components/detailsToggle/index.js | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 website/src/components/detailsToggle/index.js diff --git a/website/src/components/detailsToggle/index.js b/website/src/components/detailsToggle/index.js new file mode 100644 index 00000000000..1c571d6d033 --- /dev/null +++ b/website/src/components/detailsToggle/index.js @@ -0,0 +1,56 @@ +import React, { useState, useEffect } from 'react'; +import styles from './styles.module.css'; + +function DetailsToggle({ children, alt_header = null }) { + const [isOn, setOn] = useState(false); + const [hoverActive, setHoverActive] = useState(true); + const [hoverTimeout, setHoverTimeout] = useState(null); + + const handleToggleClick = () => { + setOn(!isOn); + setHoverActive(isOn); // Toggle hover activation based on current state + }; + + const handleMouseEnter = () => { + if (!hoverActive) return; // Ignore hover if disabled + const timeout = setTimeout(() => { + setOn(true); + }, 500); // 500ms delay + setHoverTimeout(timeout); + }; + + const handleMouseLeave = () => { + if (hoverActive) { + clearTimeout(hoverTimeout); + setOn(false); // Collapse content only if it was opened by hover + } + }; + + useEffect(() => { + return () => clearTimeout(hoverTimeout); + }, [hoverTimeout]); + + return ( +

    + ); +} + +export default DetailsToggle; From b43e0c9a15026df6353dc4634ffb001b1a8dcf05 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:15:58 -0500 Subject: [PATCH 139/165] Create styles.module.css add css for hover --- .../detailsToggle/styles.module.css | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 website/src/components/detailsToggle/styles.module.css diff --git a/website/src/components/detailsToggle/styles.module.css b/website/src/components/detailsToggle/styles.module.css new file mode 100644 index 00000000000..446d3197128 --- /dev/null +++ b/website/src/components/detailsToggle/styles.module.css @@ -0,0 +1,51 @@ +:local(.link) { + color: var(--ifm-link-color); + transition: background-color 0.3s; /* Smooth transition for background color */ +} + +:local(.link:hover), :local(.link:focus) { + text-decoration: underline; + cursor: pointer; +} + +:local(.disclaimer) { + font-size: 0.8em; + color: #666; + margin-left: 10px; /* Adjust as needed */ +} + +:local(.toggle) { + background-image: var(--ifm-menu-link-sublist-icon); + background-size: 1.25rem 1.25rem; + background-position: center; + content: ' '; + display: inline-block; + height: 1.25rem; + width: 1.25rem; + vertical-align: middle; + transition: transform 0.3s; /* Smooth transition for toggle icon */ +} + +:local(.toggleUpsideDown) { + transform: rotateX(180deg) +} + +/* hack for unswizzled FAQ arrows */ +:local(html[data-theme='dark'] .toggle) { + filter: invert(1); +} + +:local(.body) { + margin-left: 2em; + margin-bottom: 10px; + padding: 20px; + background-color: #e3f8f8; +} + +:local(html[data-theme='dark'] .body) { + background: #333b47; +} + +:local(.body > p:last-child) { + margin-bottom: 0px; +} From 290059d9b7bce2ca5043eec28de153ff22d8250d Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:16:45 -0500 Subject: [PATCH 140/165] Update index.js adding to the mdx them file so script runs --- website/src/theme/MDXComponents/index.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/src/theme/MDXComponents/index.js b/website/src/theme/MDXComponents/index.js index dead3375489..2a412e198f1 100644 --- a/website/src/theme/MDXComponents/index.js +++ b/website/src/theme/MDXComponents/index.js @@ -43,6 +43,7 @@ import CommunitySpotlightList from '@site/src/components/communitySpotlightList' import dbtEditor from '@site/src/components/dbt-editor'; import Icon from '@site/src/components/icon'; import Lifecycle from '@site/src/components/lifeCycle'; +import detailsToggle from '@site/src/components/detailsToggle'; const MDXComponents = { head: MDXHead, @@ -92,5 +93,6 @@ const MDXComponents = { dbtEditor: dbtEditor, Icon: Icon, Lifecycle: Lifecycle, + detailsToggle: detailsToggle, }; export default MDXComponents; From 86520bbea8cb0ec8e113b27a0a8a54e5890a0161 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Wed, 13 Dec 2023 15:39:26 -0500 Subject: [PATCH 141/165] add detailsToggle to Sl docs --- website/snippets/_sl-faqs.md | 66 ++++++++++++++++++++++++------------ 1 file changed, 45 insertions(+), 21 deletions(-) diff --git a/website/snippets/_sl-faqs.md b/website/snippets/_sl-faqs.md index def8f3837f6..092929e1066 100644 --- a/website/snippets/_sl-faqs.md +++ b/website/snippets/_sl-faqs.md @@ -1,33 +1,57 @@ -- **Is the dbt Semantic Layer open source?** - - The dbt Semantic Layer is proprietary; however, some components of the dbt Semantic Layer are open source, such as dbt-core and MetricFlow. + - dbt Cloud Developer or dbt Core users can define metrics in their project, including a local dbt Core project, using the dbt Cloud IDE, dbt Cloud CLI, or dbt Core CLI. However, to experience the universal dbt Semantic Layer and access those metrics using the API or downstream tools, users must be on a dbt Cloud [Team or Enterprise](https://www.getdbt.com/pricing/) plan. +The dbt Semantic Layer is proprietary; however, some components of the dbt Semantic Layer are open source, such as dbt-core and MetricFlow. - Refer to [Billing](https://docs.getdbt.com/docs/cloud/billing) for more information. +dbt Cloud Developer or dbt Core users can define metrics in their project, including a local dbt Core project, using the dbt Cloud IDE, dbt Cloud CLI, or dbt Core CLI. However, to experience the universal dbt Semantic Layer and access those metrics using the API or downstream tools, users must be on a dbt Cloud [Team or Enterprise](https://www.getdbt.com/pricing/) plan. -- **How can open-source users use the dbt Semantic Layer?** - - The dbt Semantic Layer requires the use of the dbt Cloud-provided service for coordinating query requests. Open source users who don’t use dbt Cloud can currently work around the lack of a service layer. They can do this by running `mf query --explain` in the command line. This command generates SQL code, which they can then use in their current systems for running and managing queries. +Refer to Billing for more information. + + + + + +The dbt Semantic Layer requires the use of the dbt Cloud-provided service for coordinating query requests. Open source users who don’t use dbt Cloud can currently work around the lack of a service layer. They can do this by running `mf query --explain` in the command line. This command generates SQL code, which they can then use in their current systems for running and managing queries. - As we refine MetricFlow’s API layers, some users may find it easier to set up their own custom service layers for managing query requests. This is not currently recommended, as the API boundaries around MetricFlow are not sufficiently well-defined for broad-based community use +As we refine MetricFlow’s API layers, some users may find it easier to set up their own custom service layers for managing query requests. This is not currently recommended, as the API boundaries around MetricFlow are not sufficiently well-defined for broad-based community use + + -- **Why is my query limited to 100 rows in the dbt Cloud CLI?** -- The default `limit` for query issues from the dbt Cloud CLI is 100 rows. We set this default to prevent returning unnecessarily large data sets as the dbt Cloud CLI is typically used to query the dbt Semantic Layer during the development process, not for production reporting or to access large data sets. For most workflows, you only need to return a subset of the data. + + +The default `limit` for query issues from the dbt Cloud CLI is 100 rows. We set this default to prevent returning unnecessarily large data sets as the dbt Cloud CLI is typically used to query the dbt Semantic Layer during the development process, not for production reporting or to access large data sets. For most workflows, you only need to return a subset of the data. - However, you can change this limit if needed by setting the `--limit` option in your query. For example, to return 1000 rows, you can run `dbt sl list metrics --limit 1000`. +However, you can change this limit if needed by setting the `--limit` option in your query. For example, to return 1000 rows, you can run `dbt sl list metrics --limit 1000`. + + -- **Can I reference MetricFlow queries inside dbt models?** - - dbt relies on Jinja macros to compile SQL, while MetricFlow is Python-based and does direct SQL rendering targeting at a specific dialect. MetricFlow does not support pass-through rendering of Jinja macros, so we can’t easily reference MetricFlow queries inside of dbt models. + + +dbt relies on Jinja macros to compile SQL, while MetricFlow is Python-based and does direct SQL rendering targeting at a specific dialect. MetricFlow does not support pass-through rendering of Jinja macros, so we can’t easily reference MetricFlow queries inside of dbt models. - Beyond the technical challenges that could be overcome, we see Metrics as the leaf node of your DAG, and a place for users to consume metrics. If you need to do additional transformation on top of a metric, this is usually a sign that there is more modeling that needs to be done. +Beyond the technical challenges that could be overcome, we see Metrics as the leaf node of your DAG, and a place for users to consume metrics. If you need to do additional transformation on top of a metric, this is usually a sign that there is more modeling that needs to be done. + + + + + +You can use the upcoming feature, Exports, which will allow you to create a [pre-defined](/docs/build/saved-queries) MetricFlow query as a table in your data platform. This feature will be available to dbt Cloud customers only. This is because MetricFlow is primarily for query rendering while dispatching the relevant query and performing any DDL is the domain of the service layer on top of MetricFlow. + + + + + +If you're using the legacy Semantic Layer, we highly recommend you [upgrade your dbt version](/docs/dbt-versions/upgrade-core-in-cloud) to dbt v1.6 or higher to use the new dbt Semantic Layer. Refer to the dedicated [migration guide](/guides/sl-migration) for more info. + + + + + +User data passes through the Semantic Layer on its way back from the warehouse. dbt Labs ensures security by authenticating through the customer's data warehouse. Currently, we don't cache data for the long term, but it might temporarily stay in the system for up to 10 minutes, usually less. In the future, we'll introduce a caching feature that allows us to cache data on our infrastructure for up to 24 hours. -- **Can I create tables in my data platform using MetricFlow?** - - You can use the upcoming feature, Exports, which will allow you to create a [pre-defined](/docs/build/saved-queries) MetricFlow query as a table in your data platform. This feature will be available to dbt Cloud customers only. This is because MetricFlow is primarily for query rendering while dispatching the relevant query and performing any DDL is the domain of the service layer on top of MetricFlow. + -- **How do I migrate from the legacy Semantic Layer to the new one?** - - If you're using the legacy Semantic Layer, we highly recommend you [upgrade your dbt version](/docs/dbt-versions/upgrade-core-in-cloud) to dbt v1.6 or higher to use the new dbt Semantic Layer. Refer to the dedicated [migration guide](/guides/sl-migration) for more info. + -- **How are you storing my data?** - - User data passes through the Semantic Layer on its way back from the warehouse. dbt Labs ensures security by authenticating through the customer's data warehouse. Currently, we don't cache data for the long term, but it might temporarily stay in the system for up to 10 minutes, usually less. In the future, we'll introduce a caching feature that allows us to cache data on our infrastructure for up to 24 hours. +Yes absolutely! Join the [dbt Slack community](https://getdbt.slack.com) and [#dbt-cloud-semantic-layer slack channel](https://getdbt.slack.com/archives/C046L0VTVR6) for all things related to the dbt Semantic Layer. -- **Is there a dbt Semantic Layer discussion hub?** - - Yes absolutely! Join the [dbt Slack community](https://getdbt.slack.com) and [#dbt-cloud-semantic-layer slack channel](https://getdbt.slack.com/archives/C046L0VTVR6) for all things related to the dbt Semantic Layer. + From 726240a001a5f817b898c28ed74c66fe278a92f0 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Wed, 13 Dec 2023 15:43:57 -0500 Subject: [PATCH 142/165] add to cloud cli --- .../docs/docs/cloud/cloud-cli-installation.md | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/website/docs/docs/cloud/cloud-cli-installation.md b/website/docs/docs/cloud/cloud-cli-installation.md index 8d2196696aa..6dad5a105ad 100644 --- a/website/docs/docs/cloud/cloud-cli-installation.md +++ b/website/docs/docs/cloud/cloud-cli-installation.md @@ -258,16 +258,17 @@ To use these extensions, such as dbt-power-user, with the dbt Cloud CLI, you can ## FAQs -
    + -What's the difference between the dbt Cloud CLI and dbt Core? -The dbt Cloud CLI and dbt Core, an open-source project, are both command line tools that enable you to run dbt commands. The key distinction is the dbt Cloud CLI is tailored for dbt Cloud's infrastructure and integrates with all its features. +The dbt Cloud CLI and dbt Core, an open-source project, are both command line tools that enable you to run dbt commands. -
    +The key distinction is the dbt Cloud CLI is tailored for dbt Cloud's infrastructure and integrates with all its features. -
    -How do I run both the dbt Cloud CLI and dbt Core? -For compatibility, both the dbt Cloud CLI and dbt Core are invoked by running dbt. This can create path conflicts if your operating system selects one over the other based on your $PATH environment variable (settings).
    + + + + +For compatibility, both the dbt Cloud CLI and dbt Core are invoked by running `dbt`. This can create path conflicts if your operating system selects one over the other based on your $PATH environment variable (settings). If you have dbt Core installed locally, either: @@ -276,10 +277,11 @@ If you have dbt Core installed locally, either: 3. (Advanced users) Install natively, but modify the $PATH environment variable to correctly point to the dbt Cloud CLI binary to use both dbt Cloud CLI and dbt Core together. You can always uninstall the dbt Cloud CLI to return to using dbt Core. -
    -
    -How to create an alias? + + + + To create an alias for the dbt Cloud CLI:
    1. Open your shell's profile configuration file. Depending on your shell and system, this could be ~/.bashrc, ~/.bash_profile, ~/.zshrc, or another file.
    @@ -297,9 +299,12 @@ As an example, in bash you would run: source ~/.bashrc
    This alias will allow you to use the dbt-cloud command to invoke the dbt Cloud CLI while having dbt Core installed natively. -
    -
    -Why am I receiving a Session occupied error? + + + + + If you've ran a dbt command and receive a Session occupied error, you can reattach to your existing session with dbt reattach and then press Control-C and choose to cancel the invocation. -
    + + From d81f7cd3ca07a5f7e4d8950b8fd2c9e79ae55550 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Wed, 13 Dec 2023 15:44:28 -0500 Subject: [PATCH 143/165] remove h --- website/docs/docs/cloud/cloud-cli-installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/cloud/cloud-cli-installation.md b/website/docs/docs/cloud/cloud-cli-installation.md index 6dad5a105ad..7d459cdd91d 100644 --- a/website/docs/docs/cloud/cloud-cli-installation.md +++ b/website/docs/docs/cloud/cloud-cli-installation.md @@ -280,7 +280,7 @@ You can always uninstall the dbt Cloud CLI to return to using dbt Core. - + To create an alias for the dbt Cloud CLI:
    From 09c7e5023f71ad8fe888ee00fca191eed3d4c25b Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:19:24 -0700 Subject: [PATCH 144/165] Too many backticks --- website/docs/reference/resource-configs/access.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/resource-configs/access.md b/website/docs/reference/resource-configs/access.md index da50e48d2f0..fcde93647a1 100644 --- a/website/docs/reference/resource-configs/access.md +++ b/website/docs/reference/resource-configs/access.md @@ -27,7 +27,7 @@ You can apply access modifiers in config files, including `the dbt_project.yml`, There are multiple approaches to configuring access: -In the model configs of `dbt_project.yml``: +In the model configs of `dbt_project.yml`: ```yaml models: From a216a24c20cd299d8ffd91dcb267cc410e37ce0c Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Wed, 13 Dec 2023 16:09:12 -0700 Subject: [PATCH 145/165] Remove rogue hyperlink --- website/docs/reference/dbt-jinja-functions/config.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/docs/reference/dbt-jinja-functions/config.md b/website/docs/reference/dbt-jinja-functions/config.md index c2fc8f96e5b..3903c82eef7 100644 --- a/website/docs/reference/dbt-jinja-functions/config.md +++ b/website/docs/reference/dbt-jinja-functions/config.md @@ -25,8 +25,6 @@ is responsible for handling model code that looks like this: ``` Review [Model configurations](/reference/model-configs) for examples and more information on valid arguments. -https://docs.getdbt.com/reference/model-configs - ## config.get __Args__: From e2e5630f0b51520addc95d5c5f3415d5f22da89c Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 13 Dec 2023 19:53:06 -0500 Subject: [PATCH 146/165] remove callout multi hop joins are supported now for the SL and MF so this pr removes callout that states multi hop joins aren't supported --- website/docs/docs/build/join-logic.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/website/docs/docs/build/join-logic.md b/website/docs/docs/build/join-logic.md index 9039822c9fd..29b9d101a59 100644 --- a/website/docs/docs/build/join-logic.md +++ b/website/docs/docs/build/join-logic.md @@ -84,10 +84,6 @@ mf query --metrics average_purchase_price --dimensions metric_time,user_id__type ## Multi-hop joins -:::info -This feature is currently in development and not currently available. -::: - MetricFlow allows users to join measures and dimensions across a graph of entities, which we refer to as a 'multi-hop join.' This is because users can move from one table to another like a 'hop' within a graph. Here's an example schema for reference: @@ -134,9 +130,6 @@ semantic_models: ### Query multi-hop joins -:::info -This feature is currently in development and not currently available. -::: To query dimensions _without_ a multi-hop join involved, you can use the fully qualified dimension name with the syntax entity double underscore (dunder) dimension, like `entity__dimension`. From ade6d8a78752ba23c2d674652cd612dd6b317e4f Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Wed, 13 Dec 2023 22:10:38 -0500 Subject: [PATCH 147/165] add !isOn --- website/src/components/detailsToggle/index.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/src/components/detailsToggle/index.js b/website/src/components/detailsToggle/index.js index 1c571d6d033..e264a75939c 100644 --- a/website/src/components/detailsToggle/index.js +++ b/website/src/components/detailsToggle/index.js @@ -1,7 +1,7 @@ import React, { useState, useEffect } from 'react'; import styles from './styles.module.css'; -function DetailsToggle({ children, alt_header = null }) { +function detailsToggle({ children, alt_header = null }) { const [isOn, setOn] = useState(false); const [hoverActive, setHoverActive] = useState(true); const [hoverTimeout, setHoverTimeout] = useState(null); @@ -20,9 +20,9 @@ function DetailsToggle({ children, alt_header = null }) { }; const handleMouseLeave = () => { - if (hoverActive) { + if (hoverActive && isOn) { clearTimeout(hoverTimeout); - setOn(false); // Collapse content only if it was opened by hover + } }; @@ -53,4 +53,4 @@ function DetailsToggle({ children, alt_header = null }) { ); } -export default DetailsToggle; +export default detailsToggle; From bd100327d88e1b9e8fd3909c41dc13251f60c5be Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Wed, 13 Dec 2023 22:19:05 -0500 Subject: [PATCH 148/165] adjust click with setOnfalse --- website/src/components/detailsToggle/index.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/website/src/components/detailsToggle/index.js b/website/src/components/detailsToggle/index.js index e264a75939c..90464328f8b 100644 --- a/website/src/components/detailsToggle/index.js +++ b/website/src/components/detailsToggle/index.js @@ -7,7 +7,7 @@ function detailsToggle({ children, alt_header = null }) { const [hoverTimeout, setHoverTimeout] = useState(null); const handleToggleClick = () => { - setOn(!isOn); + setOn(false); setHoverActive(isOn); // Toggle hover activation based on current state }; @@ -20,9 +20,10 @@ function detailsToggle({ children, alt_header = null }) { }; const handleMouseLeave = () => { - if (hoverActive && isOn) { + if (hoverActive && !isOn) { clearTimeout(hoverTimeout); - + setOn(false); + // isOn (false); can't be used here but setOn triggers a re-render } }; From b5274a89e6e5a53fea4559208283fa0c9390bbe8 Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Thu, 14 Dec 2023 08:00:17 -0700 Subject: [PATCH 149/165] Dynamic default `incremental_strategy` for dbt-postgres --- .../docs/reference/resource-configs/postgres-configs.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/docs/reference/resource-configs/postgres-configs.md b/website/docs/reference/resource-configs/postgres-configs.md index 8465a5cbb31..fcc0d91a47c 100644 --- a/website/docs/reference/resource-configs/postgres-configs.md +++ b/website/docs/reference/resource-configs/postgres-configs.md @@ -10,16 +10,16 @@ In dbt-postgres, the following incremental materialization strategies are suppor -- `append` (default) -- `delete+insert` +- `append` (default when `unique_key` is not defined) +- `delete+insert` (default when `unique_key` is defined) -- `append` (default) +- `append` (default when `unique_key` is not defined) - `merge` -- `delete+insert` +- `delete+insert` (default when `unique_key` is defined) From c5261be89222a50c2b50c636a8fe2d87ca4e9770 Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Thu, 14 Dec 2023 08:02:37 -0700 Subject: [PATCH 150/165] Dynamic default `incremental_strategy` for dbt-redshift --- .../reference/resource-configs/redshift-configs.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/docs/reference/resource-configs/redshift-configs.md b/website/docs/reference/resource-configs/redshift-configs.md index b559c0451b0..85b2af0c552 100644 --- a/website/docs/reference/resource-configs/redshift-configs.md +++ b/website/docs/reference/resource-configs/redshift-configs.md @@ -16,16 +16,16 @@ In dbt-redshift, the following incremental materialization strategies are suppor -- `append` (default) -- `delete+insert` - +- `append` (default when `unique_key` is not defined) +- `delete+insert` (default when `unique_key` is defined) + -- `append` (default) +- `append` (default when `unique_key` is not defined) - `merge` -- `delete+insert` +- `delete+insert` (default when `unique_key` is defined) From 3b5db5cca2f31756b61b49d3cdf579b8592f13f9 Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Thu, 14 Dec 2023 12:32:05 -0700 Subject: [PATCH 151/165] `merge` is the default `incremental_strategy` since dbt-databricks 1.0.0 (#4653) ### Previews - [Incremental strategies](https://docs-getdbt-com-git-dbeatty-dbt-databricks-merg-0a4e67-dbt-labs.vercel.app/reference/resource-configs/databricks-configs#incremental-models) - [`merge` strategy](https://docs-getdbt-com-git-dbeatty-dbt-databricks-merg-0a4e67-dbt-labs.vercel.app//reference/resource-configs/databricks-configs#the-merge-strategy) - [`append` strategy](https://docs-getdbt-com-git-dbeatty-dbt-databricks-merg-0a4e67-dbt-labs.vercel.app/reference/resource-configs/databricks-configs#the-append-strategy) ## What are you changing in this pull request and why? `merge` has been the default incremental strategy for dbt-databricks since [1.0.0](https://github.com/databricks/dbt-databricks/blob/7ad5507a8a38bde682bb28eb37466bbfc341ac94/CHANGELOG.md?plain=1#L404) ## Checklist - [x] Review the [Content style guide](https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/content-style-guide.md) so my content adheres to these guidelines. --------- Co-authored-by: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> --- .../docs/reference/resource-configs/databricks-configs.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/docs/reference/resource-configs/databricks-configs.md b/website/docs/reference/resource-configs/databricks-configs.md index fb3c9e7f5c3..677cad57ce6 100644 --- a/website/docs/reference/resource-configs/databricks-configs.md +++ b/website/docs/reference/resource-configs/databricks-configs.md @@ -38,9 +38,9 @@ When materializing a model as `table`, you may include several optional configs ## Incremental models dbt-databricks plugin leans heavily on the [`incremental_strategy` config](/docs/build/incremental-models#about-incremental_strategy). This config tells the incremental materialization how to build models in runs beyond their first. It can be set to one of four values: - - **`append`** (default): Insert new records without updating or overwriting any existing data. + - **`append`**: Insert new records without updating or overwriting any existing data. - **`insert_overwrite`**: If `partition_by` is specified, overwrite partitions in the with new data. If no `partition_by` is specified, overwrite the entire table with new data. - - **`merge`** (Delta and Hudi file format only): Match records based on a `unique_key`, updating old records, and inserting new ones. (If no `unique_key` is specified, all new data is inserted, similar to `append`.) + - **`merge`** (default; Delta and Hudi file format only): Match records based on a `unique_key`, updating old records, and inserting new ones. (If no `unique_key` is specified, all new data is inserted, similar to `append`.) - **`replace_where`** (Delta file format only): Match records based on `incremental_predicates`, replacing all records that match the predicates from the existing table with records matching the predicates from the new data. (If no `incremental_predicates` are specified, all new data is inserted, similar to `append`.) Each of these strategies has its pros and cons, which we'll discuss below. As with any model config, `incremental_strategy` may be specified in `dbt_project.yml` or within a model file's `config()` block. @@ -49,8 +49,6 @@ Each of these strategies has its pros and cons, which we'll discuss below. As wi Following the `append` strategy, dbt will perform an `insert into` statement with all new data. The appeal of this strategy is that it is straightforward and functional across all platforms, file types, connection methods, and Apache Spark versions. However, this strategy _cannot_ update, overwrite, or delete existing data, so it is likely to insert duplicate records for many data sources. -Specifying `append` as the incremental strategy is optional, since it's the default strategy used when none is specified. - Date: Thu, 14 Dec 2023 13:17:06 -0700 Subject: [PATCH 152/165] Display supported incremental strategies in a tabular format (#4649) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [Preview](https://docs-getdbt-com-git-dbeatty-tabular-incremental-326e95-dbt-labs.vercel.app/docs/build/incremental-models#supported-incremental-strategies-by-adapter) resolves #4634 ## What are you changing in this pull request and why? The main aim is to be able to easily answer each of these questions: - which adapters support the `delete+insert` strategy? - what are the names of the standard incremental strategies that are supported in at least one adapter? - what are the names of the standard incremental strategies that are supported most frequently? - what are the names of the standard incremental strategies that are supported least frequently? A tabular representation with one column per strategy is the easiest way to answer all of the above. ## Design decisions to be made 1. Style of the icons 1. Number of tables ### Style of the icons Any of these could work: ✅ - Green check mark ✔️ - Heavy check mark 🟢 - Green circle We probably wouldn't choose any of these: ☑️ - Ballot box with check 🆗 - OK button 👍 - Thumbs up etc. ### Number of tables We have several options: 1. Keep the status quo 1. Split into two tables: one for the available strategies, and another for the defaults 1. Keep a single table, keeping the "default strategy" column, but replacing the "additional supported strategies" with one column per strategy 1. Defer the default strategy information to each adapter-specific config page instead (see [dbt-bigquery](https://docs.getdbt.com/reference/resource-configs/bigquery-configs#merge-behavior-incremental-models) or [dbt-redshift](https://docs.getdbt.com/reference/resource-configs/redshift-configs#incremental-materialization-strategies) for examples) ### Trade-offs I strongly prefer not staying with the status quo, or I wouldn't have opened this issue 🤣 Splitting into two separate tables would solve the key problem, but at the cost of taking up more vertical space on the page. Keeping a single table but refactoring it would work for me. Completely moving the default strategy information into the adapter-specific pages might be the best of all worlds. It would solve the problem at hand while preserving documentation about the default strategy that is relevant for a particular adapter. dbt-postgres and dbt-redshift in particular have caveats related to the default -- it will change [depending if a `unique_key` is defined ](https://github.com/dbt-labs/docs.getdbt.com/issues/4651)or not. ## 🎩 [Preview](https://docs-getdbt-com-git-dbeatty-tabular-incremental-326e95-dbt-labs.vercel.app/docs/build/incremental-models#supported-incremental-strategies-by-adapter) ### v3 (final) image image ### v2 image ### v1 **Note:** I've since removed the 2nd table that has the defaults, but here's what it looked like with them: image image ## Checklist - [x] Review the [Content style guide](https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/content-style-guide.md) so my content adheres to these guidelines. --------- Co-authored-by: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> --- website/docs/docs/build/incremental-models.md | 38 +++++++++---------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/website/docs/docs/build/incremental-models.md b/website/docs/docs/build/incremental-models.md index 01a392c12fe..46788758ee6 100644 --- a/website/docs/docs/build/incremental-models.md +++ b/website/docs/docs/build/incremental-models.md @@ -249,31 +249,29 @@ The `merge` strategy is available in dbt-postgres and dbt-redshift beginning in - -| data platform adapter | default strategy | additional supported strategies | -| :-------------------| ---------------- | -------------------- | -| [dbt-postgres](/reference/resource-configs/postgres-configs#incremental-materialization-strategies) | `append` | `delete+insert` | -| [dbt-redshift](/reference/resource-configs/redshift-configs#incremental-materialization-strategies) | `append` | `delete+insert` | -| [dbt-bigquery](/reference/resource-configs/bigquery-configs#merge-behavior-incremental-models) | `merge` | `insert_overwrite` | -| [dbt-spark](/reference/resource-configs/spark-configs#incremental-models) | `append` | `merge`, `insert_overwrite` | -| [dbt-databricks](/reference/resource-configs/databricks-configs#incremental-models) | `merge` | `append`, `insert_overwrite` | -| [dbt-snowflake](/reference/resource-configs/snowflake-configs#merge-behavior-incremental-models) | `merge` | `append`, `delete+insert` | -| [dbt-trino](/reference/resource-configs/trino-configs#incremental) | `append` | `merge`, `delete+insert` | +| data platform adapter | `append` | `merge` | `delete+insert` | `insert_overwrite` | +|-----------------------------------------------------------------------------------------------------|:--------:|:-------:|:---------------:|:------------------:| +| [dbt-postgres](/reference/resource-configs/postgres-configs#incremental-materialization-strategies) | ✅ | | ✅ | | +| [dbt-redshift](/reference/resource-configs/redshift-configs#incremental-materialization-strategies) | ✅ | | ✅ | | +| [dbt-bigquery](/reference/resource-configs/bigquery-configs#merge-behavior-incremental-models) | | ✅ | | ✅ | +| [dbt-spark](/reference/resource-configs/spark-configs#incremental-models) | ✅ | ✅ | | ✅ | +| [dbt-databricks](/reference/resource-configs/databricks-configs#incremental-models) | ✅ | ✅ | | ✅ | +| [dbt-snowflake](/reference/resource-configs/snowflake-configs#merge-behavior-incremental-models) | ✅ | ✅ | ✅ | | +| [dbt-trino](/reference/resource-configs/trino-configs#incremental) | ✅ | ✅ | ✅ | | - -| data platform adapter | default strategy | additional supported strategies | -| :----------------- | :----------------| : ---------------------------------- | -| [dbt-postgres](/reference/resource-configs/postgres-configs#incremental-materialization-strategies) | `append` | `merge` , `delete+insert` | -| [dbt-redshift](/reference/resource-configs/redshift-configs#incremental-materialization-strategies) | `append` | `merge`, `delete+insert` | -| [dbt-bigquery](/reference/resource-configs/bigquery-configs#merge-behavior-incremental-models) | `merge` | `insert_overwrite` | -| [dbt-spark](/reference/resource-configs/spark-configs#incremental-models) | `append` | `merge`, `insert_overwrite` | -| [dbt-databricks](/reference/resource-configs/databricks-configs#incremental-models) | `merge` | `append`, `insert_overwrite` | -| [dbt-snowflake](/reference/resource-configs/snowflake-configs#merge-behavior-incremental-models) | `merge` | `append`, `delete+insert` | -| [dbt-trino](/reference/resource-configs/trino-configs#incremental) | `append` | `merge`, `delete+insert` | +| data platform adapter | `append` | `merge` | `delete+insert` | `insert_overwrite` | +|-----------------------------------------------------------------------------------------------------|:--------:|:-------:|:---------------:|:------------------:| +| [dbt-postgres](/reference/resource-configs/postgres-configs#incremental-materialization-strategies) | ✅ | ✅ | ✅ | | +| [dbt-redshift](/reference/resource-configs/redshift-configs#incremental-materialization-strategies) | ✅ | ✅ | ✅ | | +| [dbt-bigquery](/reference/resource-configs/bigquery-configs#merge-behavior-incremental-models) | | ✅ | | ✅ | +| [dbt-spark](/reference/resource-configs/spark-configs#incremental-models) | ✅ | ✅ | | ✅ | +| [dbt-databricks](/reference/resource-configs/databricks-configs#incremental-models) | ✅ | ✅ | | ✅ | +| [dbt-snowflake](/reference/resource-configs/snowflake-configs#merge-behavior-incremental-models) | ✅ | ✅ | ✅ | | +| [dbt-trino](/reference/resource-configs/trino-configs#incremental) | ✅ | ✅ | ✅ | | From ead19cd468b7a448487b6eb3c6a19e34f8ea7b5c Mon Sep 17 00:00:00 2001 From: David Birks Date: Fri, 15 Dec 2023 00:05:06 -0500 Subject: [PATCH 153/165] Fix customers spelling --- website/docs/guides/snowflake-qs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/guides/snowflake-qs.md b/website/docs/guides/snowflake-qs.md index abb18276b97..5b4f9e3e2be 100644 --- a/website/docs/guides/snowflake-qs.md +++ b/website/docs/guides/snowflake-qs.md @@ -462,7 +462,7 @@ Sources make it possible to name and describe the data loaded into your warehous 5. Execute `dbt run`. - The results of your `dbt run` will be exactly the same as the previous step. Your `stg_cusutomers` and `stg_orders` + The results of your `dbt run` will be exactly the same as the previous step. Your `stg_customers` and `stg_orders` models will still query from the same raw data source in Snowflake. By using `source`, you can test and document your raw data and also understand the lineage of your sources. From 96cf752987ebfdb5542fe2133779f0da3e21c6ce Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 15 Dec 2023 11:14:22 -0500 Subject: [PATCH 154/165] Update legacy-sl.md fix spacing --- .../docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md index df4616f4d43..0eecfea623e 100644 --- a/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md +++ b/website/docs/docs/dbt-versions/release-notes/74-Dec-2023/legacy-sl.md @@ -34,6 +34,6 @@ The [re-released dbt Semantic Layer](/docs/use-dbt-semantic-layer/dbt-sl), power ### Engage and support - Feedback and community support — Engage and share feedback with the dbt Labs team and dbt Community slack using channels like [#dbt-cloud-semantic-layer](https://getdbt.slack.com/archives/C046L0VTVR6) and [#dbt-metricflow](https://getdbt.slack.com/archives/C02CCBBBR1D). Or reach out to your dbt Cloud account representative. -- Resources for upgrading —Refer to some additional info and resources to help you upgrade your dbt version: +- Resources for upgrading — Refer to some additional info and resources to help you upgrade your dbt version: - [Upgrade version in dbt Cloud](/docs/dbt-versions/upgrade-core-in-cloud) - [Version migration guides](/docs/dbt-versions/core-upgrade) From 203cb05ac1f1974f4233a9d6ec864aeda0d46532 Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Fri, 15 Dec 2023 09:31:14 -0700 Subject: [PATCH 155/165] Explain how transactions (and rollbacks) are handled for incremental strategies (#4655) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [Preview](https://docs-getdbt-com-git-dbeatty-explain-incremental-957f61-dbt-labs.vercel.app/docs/build/incremental-models#how-do-incremental-models-work-behind-the-scenes) ## What are you changing in this pull request and why? resolves #4635 The goal of this issue is to document the answer to this question from https://github.com/dbt-labs/dbt-core/issues/7011#issuecomment-1443698015: > For the DML, we know that only the delete+insert strategy will work, and not merge. With delete+insert incremental strategy, does Dbt wrap both in a single transaction? If not, and they are treated as 2 separate transactions that would be bad. For example, the delete could succeed, and the subsequent insert could fail. The table would then be left with deleted records = Not Good. Can you elaborate on how Dbt already handles that. I cannot find it anywhere in the doc. ### 🎩 image ## Checklist - [x] Review the [Content style guide](https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/content-style-guide.md) so my content adheres to these guidelines. --------- Co-authored-by: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> --- website/docs/docs/build/incremental-models.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/incremental-models.md b/website/docs/docs/build/incremental-models.md index 46788758ee6..2a247263159 100644 --- a/website/docs/docs/build/incremental-models.md +++ b/website/docs/docs/build/incremental-models.md @@ -174,7 +174,7 @@ dbt's incremental materialization works differently on different databases. Wher On warehouses that do not support `merge` statements, a merge is implemented by first using a `delete` statement to delete records in the target table that are to be updated, and then an `insert` statement. -Transaction management is used to ensure this is executed as a single unit of work. +Transaction management, a process used in certain data platforms, ensures that a set of actions is treated as a single unit of work (or task). If any part of the unit of work fails, dbt will roll back open transactions and restore the database to a good state. ## What if the columns of my incremental model change? From c9ce5465bd5464326830ad61fbd13beae48b3c53 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Fri, 15 Dec 2023 15:24:18 -0500 Subject: [PATCH 156/165] update behavior adn code --- website/src/components/detailsToggle/index.js | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/website/src/components/detailsToggle/index.js b/website/src/components/detailsToggle/index.js index 90464328f8b..ba53192e54b 100644 --- a/website/src/components/detailsToggle/index.js +++ b/website/src/components/detailsToggle/index.js @@ -7,29 +7,29 @@ function detailsToggle({ children, alt_header = null }) { const [hoverTimeout, setHoverTimeout] = useState(null); const handleToggleClick = () => { - setOn(false); - setHoverActive(isOn); // Toggle hover activation based on current state - }; + setHoverActive(true); // Disable hover when clicked + setOn(current => !current); // Toggle the current state +}; - const handleMouseEnter = () => { - if (!hoverActive) return; // Ignore hover if disabled - const timeout = setTimeout(() => { - setOn(true); - }, 500); // 500ms delay - setHoverTimeout(timeout); - }; +const handleMouseEnter = () => { + if (isOn) return; // Ignore hover if already open + setHoverActive(true); // Enable hover + const timeout = setTimeout(() => { + if (hoverActive) setOn(true); + }, 500); + setHoverTimeout(timeout); +}; - const handleMouseLeave = () => { - if (hoverActive && !isOn) { +const handleMouseLeave = () => { + if (!isOn) { clearTimeout(hoverTimeout); setOn(false); - // isOn (false); can't be used here but setOn triggers a re-render - } - }; + } +}; - useEffect(() => { - return () => clearTimeout(hoverTimeout); - }, [hoverTimeout]); +useEffect(() => { + return () => clearTimeout(hoverTimeout); +}, [hoverTimeout]); return (
    From 8c7913dee94d5ee88ad589de25b698b1d6780d86 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 15 Dec 2023 15:38:53 -0500 Subject: [PATCH 157/165] Update _sl-faqs.md --- website/snippets/_sl-faqs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/snippets/_sl-faqs.md b/website/snippets/_sl-faqs.md index 092929e1066..75583bfa2f6 100644 --- a/website/snippets/_sl-faqs.md +++ b/website/snippets/_sl-faqs.md @@ -44,7 +44,7 @@ If you're using the legacy Semantic Layer, we highly recommend you [upgrade your - + User data passes through the Semantic Layer on its way back from the warehouse. dbt Labs ensures security by authenticating through the customer's data warehouse. Currently, we don't cache data for the long term, but it might temporarily stay in the system for up to 10 minutes, usually less. In the future, we'll introduce a caching feature that allows us to cache data on our infrastructure for up to 24 hours. From 05523d4c34078676212d6186f11aab10f86b7113 Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Fri, 15 Dec 2023 15:49:08 -0700 Subject: [PATCH 158/165] Only display intro (rather than entire article) during listing of blog posts --- .../blog/2023-05-02-modeling-ragged-time-varying-hierarchies.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/blog/2023-05-02-modeling-ragged-time-varying-hierarchies.md b/website/blog/2023-05-02-modeling-ragged-time-varying-hierarchies.md index d436df2628a..f719bdb40cb 100644 --- a/website/blog/2023-05-02-modeling-ragged-time-varying-hierarchies.md +++ b/website/blog/2023-05-02-modeling-ragged-time-varying-hierarchies.md @@ -16,6 +16,8 @@ This article covers an approach to handling time-varying ragged hierarchies in a To help visualize this data, we're going to pretend we are a company that manufactures and rents out eBikes in a ride share application. When we build a bike, we keep track of the serial numbers of the components that make up the bike. Any time something breaks and needs to be replaced, we track the old parts that were removed and the new parts that were installed. We also precisely track the mileage accumulated on each of our bikes. Our primary analytical goal is to be able to report on the expected lifetime of each component, so we can prioritize improving that component and reduce costly maintenance. + + ## Data model Obviously, a real bike could have a hundred or more separate components. To keep things simple for this article, let's just consider the bike, the frame, a wheel, the wheel rim, tire, and tube. Our component hierarchy looks like: From 7ad36fdb848d35009f57c1939b24032e9f67861a Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Sun, 17 Dec 2023 11:15:58 -0700 Subject: [PATCH 159/165] Update dbt_project.yml.md Remove duplicated content --- website/docs/reference/dbt_project.yml.md | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/website/docs/reference/dbt_project.yml.md b/website/docs/reference/dbt_project.yml.md index d130b5cf1f5..9252d13681f 100644 --- a/website/docs/reference/dbt_project.yml.md +++ b/website/docs/reference/dbt_project.yml.md @@ -25,28 +25,6 @@ Something to note, you can't set up a "property" in the `dbt_project.yml` file i The following example is a list of all available configurations in the `dbt_project.yml` file: - - - -By default, dbt will look for `dbt_project.yml` in your current working directory and its parents, but you can set a different directory using the `--project-dir` flag. - - - - - -By default, dbt will look for `dbt_project.yml` in your current working directory and its parents, but you can set a different directory using the `--project-dir` flag or the `DBT_PROJECT_DIR` environment variable. - -Starting from dbt v1.5 and higher, you can specify your dbt Cloud project ID in the `dbt_project.yml` file using `project-id` under the `dbt-cloud` config. To find your project ID, check your dbt Cloud project URL, such as `https://cloud.getdbt.com/11/projects/123456`, where the project ID is `123456`. - - - -The following is a list of all available configurations in the `dbt_project.yml` file. - -:::info YAML syntax -dbt uses YAML in a few different places. If you're new to YAML, it would be worth taking the time to learn how arrays, dictionaries and strings are represented. -::: - - From c26bc3965a4bfb0c72eb8f128ddc21a28cded1b5 Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Sun, 17 Dec 2023 11:27:13 -0700 Subject: [PATCH 160/165] Remove extra newline --- website/docs/reference/dbt_project.yml.md | 1 - 1 file changed, 1 deletion(-) diff --git a/website/docs/reference/dbt_project.yml.md b/website/docs/reference/dbt_project.yml.md index 9252d13681f..a5ad601f78b 100644 --- a/website/docs/reference/dbt_project.yml.md +++ b/website/docs/reference/dbt_project.yml.md @@ -16,7 +16,6 @@ Starting from dbt v1.5 and higher, you can specify your dbt Cloud project ID in :::info YAML syntax - dbt uses YAML in a few different places. If you're new to YAML, it would be worth taking the time to learn how arrays, dictionaries, and strings are represented. ::: From eca769c4c039407207a33bf9f554e438489fbe4f Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Mon, 18 Dec 2023 06:01:18 -0500 Subject: [PATCH 161/165] link to clone in ci job best practices this pr adds a link to the clone in a ci job best practices guide as a callout per slack request https://dbt-labs.slack.com/archives/C02NCQ9483C/p1702655617781059 --- website/blog/2023-10-31-to-defer-or-to-clone.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/website/blog/2023-10-31-to-defer-or-to-clone.md b/website/blog/2023-10-31-to-defer-or-to-clone.md index a39fc3ac0b7..2d72eee3297 100755 --- a/website/blog/2023-10-31-to-defer-or-to-clone.md +++ b/website/blog/2023-10-31-to-defer-or-to-clone.md @@ -91,6 +91,10 @@ Using the cheat sheet above, let’s explore a few common scenarios and explore 2. **[Slim CI](https://discourse.getdbt.com/t/how-we-sped-up-our-ci-runs-by-10x-using-slim-ci/2603)** + :::tip Use `dbt clone` in CI jobs + Learn how to [use `dbt clone` in CI jobs](/best-practices/clone-incremental-models) to efficiently test modified incremental models, simulating post-merge behavior while avoiding full-refresh costs. + ::: + In this scenario, we want to: 1. Refer to production models wherever possible to speed up continuous integration (CI) runs 2. Only run and test models in the CI staging environment that have changed from the production environment @@ -98,7 +102,7 @@ Using the cheat sheet above, let’s explore a few common scenarios and explore Therefore, we should use **defer** in this scenario -3. **[Blue/Green Deployments](https://discourse.getdbt.com/t/performing-a-blue-green-deploy-of-your-dbt-project-on-snowflake/1349)** +4. **[Blue/Green Deployments](https://discourse.getdbt.com/t/performing-a-blue-green-deploy-of-your-dbt-project-on-snowflake/1349)** In this scenario, we want to: 1. Ensure that all tests are always passing on the production dataset, even if that dataset is slightly stale From c1a6d9c9e3e5e50595deb09e8060044e290a1b1d Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Mon, 18 Dec 2023 06:02:12 -0500 Subject: [PATCH 162/165] Update website/blog/2023-10-31-to-defer-or-to-clone.md --- website/blog/2023-10-31-to-defer-or-to-clone.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/2023-10-31-to-defer-or-to-clone.md b/website/blog/2023-10-31-to-defer-or-to-clone.md index 2d72eee3297..4777022e5cd 100755 --- a/website/blog/2023-10-31-to-defer-or-to-clone.md +++ b/website/blog/2023-10-31-to-defer-or-to-clone.md @@ -102,7 +102,7 @@ Using the cheat sheet above, let’s explore a few common scenarios and explore Therefore, we should use **defer** in this scenario -4. **[Blue/Green Deployments](https://discourse.getdbt.com/t/performing-a-blue-green-deploy-of-your-dbt-project-on-snowflake/1349)** +3. **[Blue/Green Deployments](https://discourse.getdbt.com/t/performing-a-blue-green-deploy-of-your-dbt-project-on-snowflake/1349)** In this scenario, we want to: 1. Ensure that all tests are always passing on the production dataset, even if that dataset is slightly stale From 301c8a9e04d559bacf80e0e7591d6e094064267f Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Mon, 18 Dec 2023 06:03:30 -0500 Subject: [PATCH 163/165] Update website/blog/2023-10-31-to-defer-or-to-clone.md --- website/blog/2023-10-31-to-defer-or-to-clone.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/blog/2023-10-31-to-defer-or-to-clone.md b/website/blog/2023-10-31-to-defer-or-to-clone.md index 4777022e5cd..53b40f244dd 100755 --- a/website/blog/2023-10-31-to-defer-or-to-clone.md +++ b/website/blog/2023-10-31-to-defer-or-to-clone.md @@ -91,7 +91,7 @@ Using the cheat sheet above, let’s explore a few common scenarios and explore 2. **[Slim CI](https://discourse.getdbt.com/t/how-we-sped-up-our-ci-runs-by-10x-using-slim-ci/2603)** - :::tip Use `dbt clone` in CI jobs + :::tip Use `dbt clone` in CI jobs to test incremental models Learn how to [use `dbt clone` in CI jobs](/best-practices/clone-incremental-models) to efficiently test modified incremental models, simulating post-merge behavior while avoiding full-refresh costs. ::: From 7d81a535342e01891f2d5837ded9975ef338e639 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Mon, 18 Dec 2023 06:13:53 -0500 Subject: [PATCH 164/165] Update 2023-10-31-to-defer-or-to-clone.md --- website/blog/2023-10-31-to-defer-or-to-clone.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/blog/2023-10-31-to-defer-or-to-clone.md b/website/blog/2023-10-31-to-defer-or-to-clone.md index 53b40f244dd..9454ad11281 100755 --- a/website/blog/2023-10-31-to-defer-or-to-clone.md +++ b/website/blog/2023-10-31-to-defer-or-to-clone.md @@ -91,18 +91,18 @@ Using the cheat sheet above, let’s explore a few common scenarios and explore 2. **[Slim CI](https://discourse.getdbt.com/t/how-we-sped-up-our-ci-runs-by-10x-using-slim-ci/2603)** - :::tip Use `dbt clone` in CI jobs to test incremental models - Learn how to [use `dbt clone` in CI jobs](/best-practices/clone-incremental-models) to efficiently test modified incremental models, simulating post-merge behavior while avoiding full-refresh costs. - ::: - In this scenario, we want to: 1. Refer to production models wherever possible to speed up continuous integration (CI) runs 2. Only run and test models in the CI staging environment that have changed from the production environment 3. Reference models from different environments – prod for unchanged models, and staging for modified models Therefore, we should use **defer** in this scenario + + :::tip Use `dbt clone` in CI jobs to test incremental models + Learn how to [use `dbt clone` in CI jobs](/best-practices/clone-incremental-models) to efficiently test modified incremental models, simulating post-merge behavior while avoiding full-refresh costs. + ::: -3. **[Blue/Green Deployments](https://discourse.getdbt.com/t/performing-a-blue-green-deploy-of-your-dbt-project-on-snowflake/1349)** +4. **[Blue/Green Deployments](https://discourse.getdbt.com/t/performing-a-blue-green-deploy-of-your-dbt-project-on-snowflake/1349)** In this scenario, we want to: 1. Ensure that all tests are always passing on the production dataset, even if that dataset is slightly stale From 25c2af99bde23bfe607004b9eb29188d67015b8b Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Mon, 18 Dec 2023 06:48:37 -0500 Subject: [PATCH 165/165] Update 2023-10-31-to-defer-or-to-clone.md --- website/blog/2023-10-31-to-defer-or-to-clone.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/blog/2023-10-31-to-defer-or-to-clone.md b/website/blog/2023-10-31-to-defer-or-to-clone.md index 9454ad11281..00aa8c7f7e5 100755 --- a/website/blog/2023-10-31-to-defer-or-to-clone.md +++ b/website/blog/2023-10-31-to-defer-or-to-clone.md @@ -87,7 +87,7 @@ Using the cheat sheet above, let’s explore a few common scenarios and explore 1. Make a copy of our production dataset available in our downstream BI tool 2. To safely iterate on this copy without breaking production datasets - Therefore, we should use **clone** in this scenario + Therefore, we should use **clone** in this scenario. 2. **[Slim CI](https://discourse.getdbt.com/t/how-we-sped-up-our-ci-runs-by-10x-using-slim-ci/2603)** @@ -96,13 +96,13 @@ Using the cheat sheet above, let’s explore a few common scenarios and explore 2. Only run and test models in the CI staging environment that have changed from the production environment 3. Reference models from different environments – prod for unchanged models, and staging for modified models - Therefore, we should use **defer** in this scenario + Therefore, we should use **defer** in this scenario. - :::tip Use `dbt clone` in CI jobs to test incremental models - Learn how to [use `dbt clone` in CI jobs](/best-practices/clone-incremental-models) to efficiently test modified incremental models, simulating post-merge behavior while avoiding full-refresh costs. - ::: +:::tip Use `dbt clone` in CI jobs to test incremental models +Learn how to [use `dbt clone` in CI jobs](/best-practices/clone-incremental-models) to efficiently test modified incremental models, simulating post-merge behavior while avoiding full-refresh costs. +::: -4. **[Blue/Green Deployments](https://discourse.getdbt.com/t/performing-a-blue-green-deploy-of-your-dbt-project-on-snowflake/1349)** +3. **[Blue/Green Deployments](https://discourse.getdbt.com/t/performing-a-blue-green-deploy-of-your-dbt-project-on-snowflake/1349)** In this scenario, we want to: 1. Ensure that all tests are always passing on the production dataset, even if that dataset is slightly stale